US20060287967A1 - Methods and apparatus for agreement-based automated service provisioning - Google Patents

Methods and apparatus for agreement-based automated service provisioning Download PDF

Info

Publication number
US20060287967A1
US20060287967A1 US11/155,218 US15521805A US2006287967A1 US 20060287967 A1 US20060287967 A1 US 20060287967A1 US 15521805 A US15521805 A US 15521805A US 2006287967 A1 US2006287967 A1 US 2006287967A1
Authority
US
United States
Prior art keywords
service
agreement
provisioning
resources
description
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/155,218
Inventor
Asit Dan
Henner Gimpel
Heiko Ludwig
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US11/155,218 priority Critical patent/US20060287967A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DAN, ASIT, GIMPEL, HENNER, LUDWIG, HEIKO
Priority to CN2006100652087A priority patent/CN1881976B/en
Priority to JP2006166993A priority patent/JP2006351019A/en
Publication of US20060287967A1 publication Critical patent/US20060287967A1/en
Priority to US12/132,790 priority patent/US8775228B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents
    • G06Q50/188Electronic negotiation

Definitions

  • This present invention generally relates to service environments and, more particularly, to techniques for automated provisioning of resources to fulfill a service agreement.
  • IT information technology
  • service agreements When a prospective service client submits an agreement offer, a service provider must assess whether it can comply with the agreement offer and, if so, provision the necessary IT resources for the service to be delivered.
  • IT resources include, for example, storage, computing and networking elements.
  • U.S. Pat. No. 6,148,290 to Dan et al. teaches the use of service agreements to automate the delivery of services between autonomous entities.
  • a service agreement may define penalties and rewards associated with breaking or achieving service level objectives related to the service.
  • the IT resource configuration of a provider set up for the delivery of an agreement must implement the service in the way that it trades off rewards received and penalties incurred with the costs of IT resource usage.
  • WS-Agreement (see, e.g., A. Andrieux et al, “Web Services Agreement Specification,” version 1.1, draft 18, May 2004, the disclosure of which is incorporated by reference herein) is a draft for a standard representation of service agreements and can be used in combination with service type specific representations, e.g., the Web Service Description Language (see, e.g., E. Christensen et al., “Web Services Description Language (WSDL) 1.1,” World Wide Web Consortium Technical 5 Report, the disclosure of which is incorporated by reference herein).
  • Web Services Offer Language is another representation to the same end (see, e.g., V.
  • Deriving the set of resources, or alternative sets of resources necessary for implementing a service agreement, and subsequently provisioning this set, is essential for automating the process of automatically fulfilling service agreements.
  • A. Dan et al, “Connecting Client Objectives with Resource Capabilities: An Essential Component for Grid Service Management Infrastructures,” International Conference on Service Oriented Computing (ICSOC) 2004, pp. 57-64, the disclosure of which is incorporated by reference herein, teaches an approach how to translate performance objectives in multiple steps into resource requirements.
  • the proposed approach per se does not automate the derivation.
  • a specific resource derivation model has to be defined and implemented by a programmer. The approach gives guidance how to do this, though it does not automate the resource requirement derivation by itself. Furthermore, it does not solve the provisioning problem.
  • the present invention provides techniques for automated provisioning of resources to fulfill a service agreement.
  • a technique for use by a service provider for automatically provisioning one or more resources based on at least one service agreement offer of a service client comprises the following steps/operations.
  • the at least one service agreement offer is obtained.
  • At least one implementation plan template is obtained.
  • a provisioning description is then automatically derived in accordance with the service agreement offer and the implementation plan template, wherein the provisioning description is usable for configuring one or more resources such that a service may be provided to the service client.
  • FIG. 1 shows components and interactions of a system in which a client establishes an agreement with a service provider on a service, the provider provisions the service, and the client subsequently consumes the service according to the agreement, according to an embodiment of the present invention
  • FIG. 2 outlines an algorithm executed by a provider's service management, according to an embodiment of the present invention
  • FIG. 3 decomposes the service management function of a service provider and outlines the use of agreement implementation plan templates, according to an embodiment of the present invention
  • FIG. 4 shows the structure of an agreement implementation plan template, according to an embodiment of the present invention
  • FIG. 5 illustrates how an agreement implementation plan template relates to parts of an agreement offer submitted by a client, according to an embodiment of the present invention
  • FIG. 6 shows how a fill-in mechanism of variable fields of a provisioning description is described in an agreement implementation plan template, according to an embodiment of the present invention
  • FIG. 7 shows a full algorithm executed by a service management function, according to an embodiment of the present invention.
  • FIG. 8 depicts an example provisioning description, according to an embodiment of the present invention.
  • FIG. 9 illustrates how agreement implementation plan templates are associated with agreement templates and their life-cycle is consistently managed by a life-cycle manager and editor, according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a computing system in accordance with which one or more components/steps of an agreement-based automated service provisioning system may be implemented, according to an embodiment of the present invention.
  • IT information technology
  • illustrative principles of the invention provide for automated provisioning of IT resources to fulfill a service agreement. It is to be understood that the term “automated” and the term “automatically” generally describe steps or operations that are not performed manually (e.g., by a human operator) but rather are performed via one or more processing systems or devices (e.g., by a computer system).
  • illustrative principles of the invention relate to service agreements that contain formalized quality of service guarantees and the automated derivation of IT resource requirements to fulfill the service guarantees. More specifically, illustrative principles of the invention relate to the creation of an automatically executable deployment plan for IT computing and other resources based on a formal representation of a deployment plan template associated with a formal representation of an agreement template, and finally executing the deployment plan using a provisioning system.
  • illustrative principles of the invention provide techniques for automatically deriving an executable “provisioning description” for a service agreement between a service provider and a service client.
  • the provisioning description comprises a formal, machine-interpretable description of the set of resources to be configured to implement the plan, the configuration information, and the process steps and their sequence to configure the resources according to the configuration information.
  • the provisioning description is executed by a provisioning engine that acquires resources and configures according to the description.
  • Illustrative principles of the invention associate each agreement offer submitted thereto with an agreement implementation plan template describing how a provisioning description will be derived from contents of an agreement offer adhering to a know structure.
  • the agreement implementation plan template contains a template of a provisioning description having open fields that are filled in for each created instance of the provisioning description.
  • the provisioning description is a text or Extensible Markup Language (XML) document into which more text is inserted.
  • XML Extensible Markup Language
  • agreement templates published to potential service clients greatly enhances service clients' ability to create agreement offers that can be processed by agreement implementation plan templates.
  • life-cycle management for agreement templates and their associated agreement implementation plan template increases the effectiveness of the inventive techniques.
  • services can be provisioned according to agreements without the provisioning description mechanism understanding the semantics of the provisioned system domain and hence can be applied to any environment where provisioning systems accepting a formal input language are available.
  • this process of deriving a provisioning description is mainly conducted by hand if service clients are given substantial flexibility in creating agreement offers.
  • FIG. 1 shows components and interactions of a system in which a client establishes an agreement with a service provider on a service, the provider provisions the service, and the client subsequently consumes the service according to the agreement, according to an embodiment of the present invention.
  • a service provider domain 150 offers services 130 to one or more service clients 100 in service client domains 160 , which can be either external companies or other organizational units within the same company.
  • Services 130 may include web services accessed using the Simple Object Access Protocol (SOAP) or a Representational State Transfer (REST) over the Hypertext Transfer Protocol (HTTP), job execution services, for example, in a computational grid, web hosting services, and networking services.
  • Services are provided using resources 140 a-c out of a pool of resources 140 .
  • Resources may include computers, network elements and communication connections.
  • Agreement offers can be represented in various ways, for example, using the WS-Agreement format for agreement offers.
  • the service management 120 Upon acceptance of the agreement offer 110 , the service management 120 will provision resources out of the resource pool 140 such that a service's behavior complies with the terms defined in the accepted agreement offer or within a margin of deviation acceptable to the service provider domain 150 .
  • Service management 120 has to determine the number of resources devoted to the service and the resources' configuration. Resources can be exclusively used for one service of one service client, for a service shared by multiple service clients or by multiple services sharing the same resource. Also, the service client that presented the service offer is informed via an agreement response 112 from the service management that an agreement has been created. When the service 130 is provisioned, the service client 100 can access the service.
  • FIG. 2 outlines an algorithm executed by a provider's service management, according to an embodiment of the present invention. More particularly, FIG. 2 outlines a high-level algorithm according to which the service management 120 component works.
  • the service management algorithm receives the agreement offer.
  • an agreement submission interface is exposed, for example, the agreement factory interface as defined in the WS-Agreement specification.
  • the feasibility of the agreement is checked, in step 220 . Feasibility refers to the syntactic verification, the successful derivation of resource configurations and the availability of resources at the desired time of service.
  • the agreement offer is not considered feasible (step 230 )
  • the failure of the agreement establishment is returned to the service client through a message, in step 260 .
  • the service management provisions resources in step 240 , to implement the service.
  • the service client that presented the service offer is informed via an agreement response from the service management, in step 242 , that an agreement has been created.
  • the service management then starts the service, in step 250 , by making it available to the service client.
  • the service management component ( 120 in FIG. 1 ) comprises two sub-components, as outlined in FIG. 3 . More particularly, FIG. 3 decomposes the service management function of a service provider and outlines the use of agreement implementation plan templates, according to an embodiment of the present invention.
  • the first sub-component is the Agreement Provisioning Planner 310 , which analyzes an agreement offer 110 , checks its syntactic feasibility and devises a Provisioning Description 320 .
  • the service management component uses one or more Agreement Implementation Plan (IP) Templates, 350 a , 350 b , . . . , from its Agreement Implementation Plan Template repository 350 .
  • IP templates contain a description how to create a Provisioning Description 350 from a given agreement offer.
  • the second sub-component is a Provisioning Engine 330 .
  • the Provisioning Engine executes the Provisioning Description 320 by acquiring the required resources and configuring them.
  • the Provisioning Engine 330 reports the Provisioning Process Result 340 , i.e., success or failure of the resource configuration back to the Agreement Provisioning Planner 310 .
  • the Agreement Provisioning Planner 310 can devise an alternate Provisioning Description.
  • the Agreement Provisioning Planner 310 also communicates the “created agreement” message ( 112 in FIG. 1 ) back to the service client.
  • IP Template An example of an Agreement Implementation Plan (IP) Template ( 350 a , 350 b , in FIG. 3 ) is illustrated in FIG. 4 .
  • the IP Template and the process that uses it, is agnostic to the semantics of Agreement Offers 110 and Provisioning Descriptions 320 .
  • the template describes the derivation of a Provisioning Description 320 from a template provisioning description, referred to as a Partial Provisioning Description 420 , containing fields to be filled in based on Agreement Offer parts identified in the Agreement Parameter Identifiers 410 section according to the Instance Completion Description 430 .
  • the IP Template 350 contains a template of a provisioning description (Partial Provisioning Description 420 ) having open fields that are filled in for each created instance of the provisioning description.
  • the resulting end product (filled-in results) is one or more Provisioning Specification Instances.
  • the one or more Provisioning Specification Instances serve as the Provisioning Description 320 ( FIG. 3 ) that is provided to Provisioning Engine 330 .
  • Provisioning Engine Invocation Details 415 are also shown as part of an IP Template. It is to be appreciated that principles of the invention take into account environments with multiple provisioning engines. This is done by defining the Address or Endpoint to which the Provisioning Specification Instance (Provisioning Description 320 ) is sent. In one illustrative embodiment, the system may use an Endpoint Reference according to the WS-Addressing specification.
  • IP Template can be represented in a convenient format, for example, in an XML structure: ⁇ ImplementationPlanTemplate> ⁇ AgreementParameterIdentifiers> ... ⁇ /AgreementParameterIdentifiers> ⁇ ProvisioningEngineInvocationDetails> ... ⁇ /ProvisioningEngineInvocationDetails> ⁇ ProvisioningProcessDescription> ... ⁇ /ProvisioningProcessDescription> ⁇ InstanceCompletionDescription> ... ⁇ /InstanceCompletionDescription> ⁇ /ImplementationPlanTemplate >
  • Each Parameter Identifier, 520 a , 520 b , . . . , in this section is comprised of a unique Name, 530 a , 530 b , . . . , and a Location Pointer, 540 a , 540 b , . . . .
  • the Location Pointer points to exactly one location in an agreement, referred to as Agreement Part, 510 a , 510 b , . . . .
  • Agreement parts can be any clearly identified substructure of an agreement.
  • substructures can be elements or attributes of elements.
  • the XPath format (see, e.g., Clark, James; DeRose, Steve 1999: “XML Path Language (XPath),” Version 1.0, W3C Recommendation, November 1999, the disclosure of which is incorporated by reference herein) can be employed to represent this Location Pointer information.
  • XPath expressions can point to a set of locations at a time
  • the use of XPath in this context requires that the author of an XPath expression makes sure it resolves to one and only one single location in an agreement document.
  • the name of the parameter is AverageResponseTime and it's location in an agreement to which the IP Template is applied is defined as the XPath expression in the LocationPointer element.
  • the parameter refers to the content of the element Value of a guarantee term specified in the WS-Agreement format whose name is responseTimeGuarantee.
  • the Instance Completion Description 430 section of the agreement defines what parts will be filled in and substituted in the Partial Provisioning Description 420 and how the value to be filled in is determined.
  • FIG. 6 illustratively explains the structure of the Instance Completion Description and the way in which it relates to the Provisioning Description.
  • a Provisioning Description Part, 610 a , 610 b , . . . is a clearly identifiable part of a Partial Provisioning Description 420 whose value will be created for each instance of an Agreement Implementation Plan dependent on the specific agreement offer to which it is applied.
  • the Instance Completion Description comprises a set of Field Descriptions, 630 a , 630 b , . . . , each of which explains how to create a value for a Provisioning Description Part, 610 a , 610 b , . . . .
  • a Field Description comprises a Location Pointer, 640 a , 640 b , . . . , and a Field Value Algorithm Description, 650 a , 650 b , . . . .
  • the Location Pointer of the Instance Completion Description 430 is designed along the same principles as the Location Pointer of the Parameter Identifiers, 530 a , 530 b , . . . .
  • XPath can be used to point to a specific XML element or attribute.
  • the Field Value Algorithm Description, 650 a , 650 b , . . . contains a representation of an algorithm in a format that can be interpreted by the Agreement Provisioning Planner.
  • Agreement Parts, 510 a , 510 b , . . . can be referred to as constants or variables, as suitable for the chosen format.
  • the PMAC Expression Language (see, e.g., IBM Corporation: “PMAC Expression Language Users Guide,” Alphaworks PMAC distribution, 2005, www.alphaworks.ibm.com) is one suitable representation, as the following example illustrates: ...
  • the Location Pointer refers to an XML element NumberOfServers in the Provisioning Description. It will get assigned the value of the Field Value Algorithm Description, represented in the PMAC expression language, 2+1/AverageResponseTime. In this example, the number of servers to be provisioned increases the shorter the average response time is chosen.
  • AverageResponseTime refers to an Agreement Part, 510 a , 510 b , . . . , identified by a Parameter identifier, 520 a , 520 b , . . . , as shown in the example above.
  • the Provisioning Description 320 has a format that is interpreted by the Provisioning Engine 330 . Skipping now to FIG. 8 , the main elements of the Provisioning Description 320 are outlined.
  • a Provisioning Description comprises a Definition of Resource Types 810 and one or more Definitions of Resource Assembly 820 a , 820 b , . . . , which are alternatives and among which can be chosen depending on resource availability and cost considerations.
  • the Definition of Resource Assembly 820 a , 820 b , . . . , comprises a Resource Quantity Definition, 830 a , 830 b , . . . , indicating how many resources of which type are needed for this assembly.
  • the Assembly Provisioning Definition, 840 a , 840 b , . . . contains a workflow description or a script that defines how the resources will be provisioned and in which order. This definition is typically written in a script language such as a Unix shell script or Perl, or in a workflow language such as the Business Process Execution Language For Web Services (BPEL4WS).
  • BPEL4WS Business Process Execution Language For Web Services
  • FIG. 7 shows a full algorithm executed by a service management function, according to an embodiment of the present invention. More particularly, FIG. 7 describes an algorithm that Agreement Provisioning Planner 310 and Provisioning Engine 330 execute.
  • the Agreement Provisioning Planner 310 executes the steps up to and including step 740 to create a complete instance of a Provisioning Description 320 and makes use of the IP Template 250 a , 250 b , . . . , to do so.
  • the subsequent steps are executed by the Provisioning Engine 330 based on the generated Provisioning Description 320 and include the acquisition of resources and their configuration.
  • the Agreement Provisioning Planner retrieves the set of IP Templates from their repository, in step 715 .
  • the Agreement Provisioning Planner chooses the first template.
  • the Planner verifies in step 720 the Location Pointer of each Parameter Identifier, if it points to one and only one location in the received agreement offer.
  • step 725 If all Location Pointers have one match (step 725 ), the algorithm proceeds to step 730 . Otherwise, it is checked if there are more IP Templates left in step 780 . If not, failure is returned in step 260 . Otherwise, the algorithm goes back to step 715 and tries the next IP Template. If all Location Pointers have a match, all Agreement Part values are stored indexed by their name given in the Parameter Identifiers of the IP Template in step 730 .
  • an instance of the Provisioning Description is written in memory in step 735 .
  • the algorithm executes the Field Value Algorithm Description ( 650 ) and inserts the value returned by the algorithm in the Provisioning Description instance at the location indicated by the Location Pointer ( 640 ) of the Field Description ( 630 ), in step 740 .
  • the algorithm yields a complete and executable instance of the Provisioning Description 320 , advantageously, without a need to understand the semantics of the Provisioning Description 320 .
  • This Provisioning Description 320 instance is sent to the Provisioning Engine 330 specified in the Provisioning Engine Invocation Details 415 given in the IP Template 350 a . That is, to determine the particular provisioning engine, the process retrieves the provisioning engine's endpoint from the IP template.
  • the next steps are executed by the Provisioning Engine 330 , executing the Provisioning Description 320 .
  • the algorithm proceeds as follows. First, it selects the first Definition of Resource Assembly and checks whether the resources can be acquired from the resource pool in the quantity indicated by the Resource Quantity Definition of the respective Definition of the Resource Assembly, in step 745 . If not (step 750 ), the algorithm checks (step 765 ) if more alternative Definitions of Resource Assemblies are in the Provisioning Description. If so, it continues with step 745 , otherwise, it signals failure (block 260 ) to the Agreement Provisioning Planner 310 .
  • step 750 the algorithm acquires those resources in the defined quantities, in step 755 . Then, the Assembly Provisioning Description is executed to configure the assembly, in step 760 . If this step completes, the provisioning is complete and the service can be used (block 250 ).
  • a service provider using the mechanism of the present invention should carefully manage which Agreement Implementation Plan Templates it uses for which types of agreement. As a service provider's resource pool changes over time, for example, by acquiring more modem and powerful host computers, the Agreement Implementation Plan Templates should change. Furthermore, the type of services for which a service provider accepts agreement offers changes over time and must be managed corresponding. In addition, to facilitate the creation of acceptable agreement offers by service clients, service providers should provide agreement templates to clients.
  • service providers use a Life-Cycle Manager and Template Editor 920 to create Agreement Templates, 910 a , 910 b , . . . , and one or more associated IP Templates, 350 a , 350 b , . . . .
  • Agreement Templates enable service providers to write IP Templates more efficiently as they know the structure of agreement offers to expect and hence can effectively write Agreement Parameter Identifiers.
  • the life-cycle manager/editor can be used as an automated agreement provisioning system that is able to create a service offer, create an associated agreement template, create an associated IP template, and remove and change the artifacts of such offers and templates.
  • FIG. 10 depicts a computing system in accordance with which one or more components/steps of an agreement-based automated service provisioning system (e.g., components and methodologies described in the context of FIGS. 1 through 9 ) may be implemented, according to an embodiment of the present invention.
  • the individual components/steps may be implemented on one such computer system or on more than one such computer system.
  • the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web.
  • the system may be realized via private or local networks. In any case, the invention is not limited to any particular network.
  • the computing system shown in FIG. 10 represents an illustrative computing system architecture for implementing, among other things, one or more functional components/steps of an agreement-based automated service provisioning system, e.g., implementation plan templates, agreement templates, provisioning planner, provisioning engine, life cycle manager/editor, etc., as may be maintained by a service provider.
  • the computing system architecture may also represent an implementation of one or more of the actual resources provided by the service provider.
  • the computing system architecture may also represent an implementation of one or more service clients.
  • the computing system architecture may comprise a processor 1010 , a memory 1020 , I/O devices 1030 , and a network interface 1040 , coupled via a computer bus 1050 or alternate connection arrangement.
  • processor as used herein is intended to include any processing device, such as, for example, one that includes a central processing unit (CPU) and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
  • CPU central processing unit
  • processor may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
  • memory as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
  • input/output devices or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., display, etc.) for presenting results associated with the processing unit.
  • input devices e.g., keyboard, mouse, etc.
  • output devices e.g., display, etc.
  • network interface as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
  • software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
  • ROM read-only memory
  • RAM random access memory
  • principles of the invention provide a formal resource provisioning specification comprising a method to extract information from an agreement, a method to derive new parameters, a method to create resource assembly alternatives, and a method to compare alternatives.
  • a mechanism for executing the specification is also provided.
  • the mechanism may be operative to: automatically extract agreement offer elements for offers based on agreement templates; automatically derive implementation plan allocation parameters from agreement offer elements based on, potentially external, functions; automatically parameterize the implementation plan template with derived values; and automatically choose allocation alternatives based on the business value of allocation alternatives in a business plan.
  • principles of the invention provide implementation plan templates and an engine for automatically processing such templates.
  • a template comprises information on four major aspects: identification of agreement parameters; a method to determine the respective amounts of different types of resources based on agreement parameters; configuration and assembly of resource types; and definition of resource types.

Abstract

Techniques are disclosed for automated provisioning of resources to fulfill a service agreement. For example, a technique for use by a service provider for automatically provisioning one or more resources based on at least one service agreement offer of a service client comprises the following steps/operations. The at least one service agreement offer is obtained. At least one implementation plan template is obtained. A provisioning description is then automatically derived in accordance with the service agreement offer and the implementation plan template, wherein the provisioning description is usable for configuring one or more resources such that a service may be provided to the service client.

Description

    FIELD OF THE INVENTION
  • This present invention generally relates to service environments and, more particularly, to techniques for automated provisioning of resources to fulfill a service agreement.
  • BACKGROUND OF THE INVENTION
  • In the field of information technology (IT) services, services between entities are acquired by means of service agreements. When a prospective service client submits an agreement offer, a service provider must assess whether it can comply with the agreement offer and, if so, provision the necessary IT resources for the service to be delivered. IT resources include, for example, storage, computing and networking elements.
  • U.S. Pat. No. 6,148,290 to Dan et al., the disclosure of which is incorporated by reference herein, teaches the use of service agreements to automate the delivery of services between autonomous entities. A service agreement may define penalties and rewards associated with breaking or achieving service level objectives related to the service. In this case, the IT resource configuration of a provider set up for the delivery of an agreement must implement the service in the way that it trades off rewards received and penalties incurred with the costs of IT resource usage.
  • Formal representations of agreements enable the automatic interpretation of service agreements. WS-Agreement (see, e.g., A. Andrieux et al, “Web Services Agreement Specification,” version 1.1, draft 18, May 2004, the disclosure of which is incorporated by reference herein) is a draft for a standard representation of service agreements and can be used in combination with service type specific representations, e.g., the Web Service Description Language (see, e.g., E. Christensen et al., “Web Services Description Language (WSDL) 1.1,” World Wide Web Consortium Technical 5Report, the disclosure of which is incorporated by reference herein). The Web Services Offer Language is another representation to the same end (see, e.g., V. Tosic et al, “WSOL—A Language for the Formal Specification of Classes of Service for Web Services,” Proceedings of 2003 International Conference on Web Services, CSREA Press, pp. 375-381, June 2003, the disclosure of which is incorporated by reference herein).
  • Deriving the set of resources, or alternative sets of resources necessary for implementing a service agreement, and subsequently provisioning this set, is essential for automating the process of automatically fulfilling service agreements. A. Dan et al, “Connecting Client Objectives with Resource Capabilities: An Essential Component for Grid Service Management Infrastructures,” International Conference on Service Oriented Computing (ICSOC) 2004, pp. 57-64, the disclosure of which is incorporated by reference herein, teaches an approach how to translate performance objectives in multiple steps into resource requirements. However, the proposed approach per se does not automate the derivation. For each particular domain, e.g., computing job scheduling, a specific resource derivation model has to be defined and implemented by a programmer. The approach gives guidance how to do this, though it does not automate the resource requirement derivation by itself. Furthermore, it does not solve the provisioning problem.
  • Lastly, while there are template-based provisioning approaches available from such companies as AdventNet (Pleasanton, Calif.), Cisco (San Jose, Calif.) and Veritas (Mountain View, Calif.), these approaches do not take into account service agreements.
  • SUMMARY OF THE INVENTION
  • The present invention provides techniques for automated provisioning of resources to fulfill a service agreement.
  • For example, in one aspect of the invention, a technique for use by a service provider for automatically provisioning one or more resources based on at least one service agreement offer of a service client comprises the following steps/operations. The at least one service agreement offer is obtained. At least one implementation plan template is obtained. A provisioning description is then automatically derived in accordance with the service agreement offer and the implementation plan template, wherein the provisioning description is usable for configuring one or more resources such that a service may be provided to the service client.
  • Advantageously, techniques are provided for the interpretation and analysis of a service agreement offer submitted by a service client and the provisioning of one or more services in accordance with the service agreement offer.
  • These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows components and interactions of a system in which a client establishes an agreement with a service provider on a service, the provider provisions the service, and the client subsequently consumes the service according to the agreement, according to an embodiment of the present invention;
  • FIG. 2 outlines an algorithm executed by a provider's service management, according to an embodiment of the present invention;
  • FIG. 3 decomposes the service management function of a service provider and outlines the use of agreement implementation plan templates, according to an embodiment of the present invention;
  • FIG. 4 shows the structure of an agreement implementation plan template, according to an embodiment of the present invention;
  • FIG. 5 illustrates how an agreement implementation plan template relates to parts of an agreement offer submitted by a client, according to an embodiment of the present invention;
  • FIG. 6 shows how a fill-in mechanism of variable fields of a provisioning description is described in an agreement implementation plan template, according to an embodiment of the present invention;
  • FIG. 7 shows a full algorithm executed by a service management function, according to an embodiment of the present invention;
  • FIG. 8 depicts an example provisioning description, according to an embodiment of the present invention;
  • FIG. 9 illustrates how agreement implementation plan templates are associated with agreement templates and their life-cycle is consistently managed by a life-cycle manager and editor, according to an embodiment of the present invention; and
  • FIG. 10 is a diagram illustrating a computing system in accordance with which one or more components/steps of an agreement-based automated service provisioning system may be implemented, according to an embodiment of the present invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The present invention will be explained below in the context of an illustrative information technology (IT) service environment. However, it is to be understood that the present invention is not limited to such a service environment. Rather, the invention is more generally applicable to any service environment in which it would be desirable to provide automated provisioning of resources to fulfill a service agreement.
  • Accordingly, as will be explained herein, illustrative principles of the invention provide for automated provisioning of IT resources to fulfill a service agreement. It is to be understood that the term “automated” and the term “automatically” generally describe steps or operations that are not performed manually (e.g., by a human operator) but rather are performed via one or more processing systems or devices (e.g., by a computer system).
  • Furthermore, illustrative principles of the invention relate to service agreements that contain formalized quality of service guarantees and the automated derivation of IT resource requirements to fulfill the service guarantees. More specifically, illustrative principles of the invention relate to the creation of an automatically executable deployment plan for IT computing and other resources based on a formal representation of a deployment plan template associated with a formal representation of an agreement template, and finally executing the deployment plan using a provisioning system.
  • Thus, illustrative principles of the invention provide techniques for automatically deriving an executable “provisioning description” for a service agreement between a service provider and a service client. The provisioning description comprises a formal, machine-interpretable description of the set of resources to be configured to implement the plan, the configuration information, and the process steps and their sequence to configure the resources according to the configuration information. The provisioning description is executed by a provisioning engine that acquires resources and configures according to the description.
  • Illustrative principles of the invention associate each agreement offer submitted thereto with an agreement implementation plan template describing how a provisioning description will be derived from contents of an agreement offer adhering to a know structure. The agreement implementation plan template contains a template of a provisioning description having open fields that are filled in for each created instance of the provisioning description. From the perspective of the fill-in process, the provisioning description is a text or Extensible Markup Language (XML) document into which more text is inserted.
  • The use of agreement templates published to potential service clients greatly enhances service clients' ability to create agreement offers that can be processed by agreement implementation plan templates. Hence, life-cycle management for agreement templates and their associated agreement implementation plan template increases the effectiveness of the inventive techniques.
  • Using the techniques of the invention, services can be provisioned according to agreements without the provisioning description mechanism understanding the semantics of the provisioned system domain and hence can be applied to any environment where provisioning systems accepting a formal input language are available. To date, this process of deriving a provisioning description is mainly conducted by hand if service clients are given substantial flexibility in creating agreement offers.
  • FIG. 1 shows components and interactions of a system in which a client establishes an agreement with a service provider on a service, the provider provisions the service, and the client subsequently consumes the service according to the agreement, according to an embodiment of the present invention.
  • As shown, a service provider domain 150, for example, a company or a data center of a large organization, offers services 130 to one or more service clients 100 in service client domains 160, which can be either external companies or other organizational units within the same company. Services 130 may include web services accessed using the Simple Object Access Protocol (SOAP) or a Representational State Transfer (REST) over the Hypertext Transfer Protocol (HTTP), job execution services, for example, in a computational grid, web hosting services, and networking services. Services are provided using resources 140a-c out of a pool of resources 140. Resources may include computers, network elements and communication connections.
  • Before a service client 100 can access a service 130, an agreement will be established between the service provider domain 150 and the service client domain 160. To establish an agreement, a service client 100 submits an agreement offer 110 to the service management 120 of a service provider domain. Agreement offers can be represented in various ways, for example, using the WS-Agreement format for agreement offers.
  • Upon acceptance of the agreement offer 110, the service management 120 will provision resources out of the resource pool 140 such that a service's behavior complies with the terms defined in the accepted agreement offer or within a margin of deviation acceptable to the service provider domain 150. Service management 120 has to determine the number of resources devoted to the service and the resources' configuration. Resources can be exclusively used for one service of one service client, for a service shared by multiple service clients or by multiple services sharing the same resource. Also, the service client that presented the service offer is informed via an agreement response 112 from the service management that an agreement has been created. When the service 130 is provisioned, the service client 100 can access the service.
  • FIG. 2 outlines an algorithm executed by a provider's service management, according to an embodiment of the present invention. More particularly, FIG. 2 outlines a high-level algorithm according to which the service management 120 component works.
  • First, in step 210, the service management algorithm receives the agreement offer. To this end, an agreement submission interface is exposed, for example, the agreement factory interface as defined in the WS-Agreement specification. Subsequently, the feasibility of the agreement is checked, in step 220. Feasibility refers to the syntactic verification, the successful derivation of resource configurations and the availability of resources at the desired time of service. If the agreement offer is not considered feasible (step 230), the failure of the agreement establishment is returned to the service client through a message, in step 260. If the agreement is feasible (step 230), the service management provisions resources, in step 240, to implement the service. The service client that presented the service offer is informed via an agreement response from the service management, in step 242, that an agreement has been created. The service management then starts the service, in step 250, by making it available to the service client.
  • The service management component (120 in FIG. 1) comprises two sub-components, as outlined in FIG. 3. More particularly, FIG. 3 decomposes the service management function of a service provider and outlines the use of agreement implementation plan templates, according to an embodiment of the present invention.
  • As shown, the first sub-component is the Agreement Provisioning Planner 310, which analyzes an agreement offer 110, checks its syntactic feasibility and devises a Provisioning Description 320. To this end, the service management component uses one or more Agreement Implementation Plan (IP) Templates, 350 a, 350 b, . . . , from its Agreement Implementation Plan Template repository 350. IP templates contain a description how to create a Provisioning Description 350 from a given agreement offer.
  • The second sub-component is a Provisioning Engine 330. The Provisioning Engine executes the Provisioning Description 320 by acquiring the required resources and configuring them. The Provisioning Engine 330 reports the Provisioning Process Result 340, i.e., success or failure of the resource configuration back to the Agreement Provisioning Planner 310. In case of failure, the Agreement Provisioning Planner 310 can devise an alternate Provisioning Description. The Agreement Provisioning Planner 310 also communicates the “created agreement” message (112 in FIG. 1) back to the service client.
  • An example of an Agreement Implementation Plan (IP) Template (350 a, 350 b, in FIG. 3) is illustrated in FIG. 4. The IP Template, and the process that uses it, is agnostic to the semantics of Agreement Offers 110 and Provisioning Descriptions 320. The template describes the derivation of a Provisioning Description 320 from a template provisioning description, referred to as a Partial Provisioning Description 420, containing fields to be filled in based on Agreement Offer parts identified in the Agreement Parameter Identifiers 410 section according to the Instance Completion Description 430.
  • Thus, it is to be understood that the IP Template 350 contains a template of a provisioning description (Partial Provisioning Description 420) having open fields that are filled in for each created instance of the provisioning description. The resulting end product (filled-in results) is one or more Provisioning Specification Instances. The one or more Provisioning Specification Instances serve as the Provisioning Description 320 (FIG. 3) that is provided to Provisioning Engine 330.
  • Also shown as part of an IP Template are the Provisioning Engine Invocation Details 415. It is to be appreciated that principles of the invention take into account environments with multiple provisioning engines. This is done by defining the Address or Endpoint to which the Provisioning Specification Instance (Provisioning Description 320) is sent. In one illustrative embodiment, the system may use an Endpoint Reference according to the WS-Addressing specification. An example in the simplest case is:
    <ProvisioningEngineInvocationDetails>
    <wsa:EndpointReference>
    <wsa:Address>
    http://management.ibm.com:8080/provisioning/
    </wsa:Address>
    </wsa:EndpointReference>
    </ProvisioningEngineInvocationDetails>
  • Furthermore, the IP Template can be represented in a convenient format, for example, in an XML structure:
    <ImplementationPlanTemplate>
    <AgreementParameterIdentifiers>
    ...
    </AgreementParameterIdentifiers>
    <ProvisioningEngineInvocationDetails>
    ...
    </ProvisioningEngineInvocationDetails>
    <ProvisioningProcessDescription>
    ...
    </ProvisioningProcessDescription>
    <InstanceCompletionDescription>
    ...
    </InstanceCompletionDescription>
    </ImplementationPlanTemplate >
  • The purpose of the Agreement Parameter Identifiers section is to relate the IP Template to agreements to which it can be applied, illustrated in FIG. 5. When designing IP Templates, one has to relate them to a class of potential agreements that follow a similar structure, potentially being created according to an agreement template, as, for example, the WS-Agreement draft specification suggests. Each Parameter Identifier, 520 a, 520 b, . . . , in this section is comprised of a unique Name, 530 a, 530 b, . . . , and a Location Pointer, 540 a, 540 b, . . . . The Location Pointer points to exactly one location in an agreement, referred to as Agreement Part, 510 a, 510 b, . . . . Agreement parts can be any clearly identified substructure of an agreement. In an XML representation such as the WS-Agreement draft, substructures can be elements or attributes of elements.
  • If an agreement is represented in an XML data structure, the XPath format (see, e.g., Clark, James; DeRose, Steve 1999: “XML Path Language (XPath),” Version 1.0, W3C Recommendation, November 1999, the disclosure of which is incorporated by reference herein) can be employed to represent this Location Pointer information. However, while XPath expressions can point to a set of locations at a time, the use of XPath in this context requires that the author of an XPath expression makes sure it resolves to one and only one single location in an agreement document.
  • Parameter Identifiers can be represented in XML using XPath as the example below shows:
    ...
    <AgreementParameterIdentifiers>
    <ParameterIdentifier Name=“AverageResponseTime”>
    <LocationPointer>
    //wsag:GuaranteeTerm[@wsag:Name=‘responseTimeGuarantee’]/*Value
    </LocationPointer>
    </Parameter>
    ...
    </AgreementParameterIdentifiers>
    ...
  • The name of the parameter is AverageResponseTime and it's location in an agreement to which the IP Template is applied is defined as the XPath expression in the LocationPointer element. In the example, the parameter refers to the content of the element Value of a guarantee term specified in the WS-Agreement format whose name is responseTimeGuarantee.
  • For agreement representations other than XML, those skilled in the art can use or readily devise a corresponding pointer format.
  • The Instance Completion Description 430 section of the agreement defines what parts will be filled in and substituted in the Partial Provisioning Description 420 and how the value to be filled in is determined.
  • FIG. 6 illustratively explains the structure of the Instance Completion Description and the way in which it relates to the Provisioning Description. A Provisioning Description Part, 610 a, 610 b, . . . , is a clearly identifiable part of a Partial Provisioning Description 420 whose value will be created for each instance of an Agreement Implementation Plan dependent on the specific agreement offer to which it is applied. The Instance Completion Description comprises a set of Field Descriptions, 630 a, 630 b, . . . , each of which explains how to create a value for a Provisioning Description Part, 610 a, 610 b, . . . . A Field Description comprises a Location Pointer, 640 a, 640 b, . . . , and a Field Value Algorithm Description, 650 a, 650 b, . . . .
  • The Location Pointer of the Instance Completion Description 430 is designed along the same principles as the Location Pointer of the Parameter Identifiers, 530 a, 530 b, . . . . In the case of the Provisioning Description being an XML structure, XPath can be used to point to a specific XML element or attribute.
  • The Field Value Algorithm Description, 650 a, 650 b, . . . , contains a representation of an algorithm in a format that can be interpreted by the Agreement Provisioning Planner. In this algorithm, Agreement Parts, 510 a, 510 b, . . . , can be referred to as constants or variables, as suitable for the chosen format. The PMAC Expression Language (see, e.g., IBM Corporation: “PMAC Expression Language Users Guide,” Alphaworks PMAC distribution, 2005, www.alphaworks.ibm.com) is one suitable representation, as the following example illustrates:
    ...
    <InstanceCompletionDescription>
    <FieldDescription>
    <LocationPointer>
    //ProvisioningProcessDescription/*NumberOfServers
    </LocationPointer>
    <FieldValueAlgorithmDescription>
    <exp:Plus>
    <exp:FloatConstant>
    <Value>02.000</Value>
    </exp:FloatConstant>
    <exp:Divide>
    <exp:FloatConstant>
    <Value>01.000</Value>
    </exp:FloatConstant>
    <exp: Variable name=“AverageResponseTime”/>
    </exp:Divide>
    </exp:Plus>
    </FieldValueAlgorithmDescription>
    </FieldDescription>
    ...
    </InstanceCompletionDescription>
    ...
  • The Location Pointer refers to an XML element NumberOfServers in the Provisioning Description. It will get assigned the value of the Field Value Algorithm Description, represented in the PMAC expression language, 2+1/AverageResponseTime. In this example, the number of servers to be provisioned increases the shorter the average response time is chosen. AverageResponseTime refers to an Agreement Part, 510 a, 510 b, . . . , identified by a Parameter identifier, 520 a, 520 b, . . . , as shown in the example above.
  • The Provisioning Description 320 has a format that is interpreted by the Provisioning Engine 330. Skipping now to FIG. 8, the main elements of the Provisioning Description 320 are outlined.
  • A Provisioning Description comprises a Definition of Resource Types 810 and one or more Definitions of Resource Assembly 820 a, 820 b, . . . , which are alternatives and among which can be chosen depending on resource availability and cost considerations.
  • The Definition of Resource Types contains the information to uniquely identify the type of resources to a resource pool, e.g., the cluster management system of a data center (140 in FIG. 1), to query the resources availability. It can be represented in an XML structure as the following example illustrates:
    <ResourceTypeDefinitions>
    <ResourceType name=”P-Series>
    <HostType description=″pSeries550″>
    <HostArchitecture>
    <CPUCount>4</CPUCount>
    </HostArchitecture>
    ...
    </HostType>
    </ResourceType>
    ...
    </ResourceTypeDefinitions>
  • The Definition of Resource Assembly, 820 a, 820 b, . . . , comprises a Resource Quantity Definition, 830 a, 830 b, . . . , indicating how many resources of which type are needed for this assembly. The Assembly Provisioning Definition, 840 a, 840 b, . . . contains a workflow description or a script that defines how the resources will be provisioned and in which order. This definition is typically written in a script language such as a Unix shell script or Perl, or in a workflow language such as the Business Process Execution Language For Web Services (BPEL4WS).
  • FIG. 7 shows a full algorithm executed by a service management function, according to an embodiment of the present invention. More particularly, FIG. 7 describes an algorithm that Agreement Provisioning Planner 310 and Provisioning Engine 330 execute. The Agreement Provisioning Planner 310 executes the steps up to and including step 740 to create a complete instance of a Provisioning Description 320 and makes use of the IP Template 250 a, 250 b, . . . , to do so. The subsequent steps are executed by the Provisioning Engine 330 based on the generated Provisioning Description 320 and include the acquisition of resources and their configuration.
  • When an Agreement Offer 110 is received in the receive agreement step 210, the algorithm starts. The Agreement Provisioning Planner retrieves the set of IP Templates from their repository, in step 715. The Agreement Provisioning Planner chooses the first template. For the first IP template, the Planner verifies in step 720 the Location Pointer of each Parameter Identifier, if it points to one and only one location in the received agreement offer.
  • If all Location Pointers have one match (step 725), the algorithm proceeds to step 730. Otherwise, it is checked if there are more IP Templates left in step 780. If not, failure is returned in step 260. Otherwise, the algorithm goes back to step 715 and tries the next IP Template. If all Location Pointers have a match, all Agreement Part values are stored indexed by their name given in the Parameter Identifiers of the IP Template in step 730.
  • Next, an instance of the Provisioning Description is written in memory in step 735. Then, for all Field Descriptions, the algorithm executes the Field Value Algorithm Description (650) and inserts the value returned by the algorithm in the Provisioning Description instance at the location indicated by the Location Pointer (640) of the Field Description (630), in step 740. With the completion of this step, the algorithm yields a complete and executable instance of the Provisioning Description 320, advantageously, without a need to understand the semantics of the Provisioning Description 320. This Provisioning Description 320 instance is sent to the Provisioning Engine 330 specified in the Provisioning Engine Invocation Details 415 given in the IP Template 350 a. That is, to determine the particular provisioning engine, the process retrieves the provisioning engine's endpoint from the IP template.
  • The next steps are executed by the Provisioning Engine 330, executing the Provisioning Description 320. The algorithm proceeds as follows. First, it selects the first Definition of Resource Assembly and checks whether the resources can be acquired from the resource pool in the quantity indicated by the Resource Quantity Definition of the respective Definition of the Resource Assembly, in step 745. If not (step 750), the algorithm checks (step 765) if more alternative Definitions of Resource Assemblies are in the Provisioning Description. If so, it continues with step 745, otherwise, it signals failure (block 260) to the Agreement Provisioning Planner 310.
  • If all resources of an assembly are available (step 750), the algorithm acquires those resources in the defined quantities, in step 755. Then, the Assembly Provisioning Description is executed to configure the assembly, in step 760. If this step completes, the provisioning is complete and the service can be used (block 250).
  • A service provider using the mechanism of the present invention should carefully manage which Agreement Implementation Plan Templates it uses for which types of agreement. As a service provider's resource pool changes over time, for example, by acquiring more modem and powerful host computers, the Agreement Implementation Plan Templates should change. Furthermore, the type of services for which a service provider accepts agreement offers changes over time and must be managed corresponding. In addition, to facilitate the creation of acceptable agreement offers by service clients, service providers should provide agreement templates to clients.
  • Hence, as outlined in FIG. 9, service providers use a Life-Cycle Manager and Template Editor 920 to create Agreement Templates, 910 a, 910 b, . . . , and one or more associated IP Templates, 350 a, 350 b, . . . . The use of Agreement Templates enables service providers to write IP Templates more efficiently as they know the structure of agreement offers to expect and hence can effectively write Agreement Parameter Identifiers.
  • That is, the life-cycle manager/editor can be used as an automated agreement provisioning system that is able to create a service offer, create an associated agreement template, create an associated IP template, and remove and change the artifacts of such offers and templates.
  • FIG. 10 depicts a computing system in accordance with which one or more components/steps of an agreement-based automated service provisioning system (e.g., components and methodologies described in the context of FIGS. 1 through 9) may be implemented, according to an embodiment of the present invention. It is to be understood that the individual components/steps may be implemented on one such computer system or on more than one such computer system. In the case of an implementation on a distributed computing system, the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web. However, the system may be realized via private or local networks. In any case, the invention is not limited to any particular network.
  • Thus, the computing system shown in FIG. 10 represents an illustrative computing system architecture for implementing, among other things, one or more functional components/steps of an agreement-based automated service provisioning system, e.g., implementation plan templates, agreement templates, provisioning planner, provisioning engine, life cycle manager/editor, etc., as may be maintained by a service provider. Further, the computing system architecture may also represent an implementation of one or more of the actual resources provided by the service provider. Still further, the computing system architecture may also represent an implementation of one or more service clients.
  • As shown, the computing system architecture may comprise a processor 1010, a memory 1020, I/O devices 1030, and a network interface 1040, coupled via a computer bus 1050 or alternate connection arrangement.
  • It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a central processing unit (CPU) and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
  • The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
  • In addition, the phrase “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., display, etc.) for presenting results associated with the processing unit.
  • Still further, the phrase “network interface” as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
  • Accordingly, software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
  • In any case, it is to be appreciated that the techniques of the invention, described herein and shown in the appended figures, may be implemented in various forms of hardware, software, or combinations thereof, e.g., one or more operatively programmed general purpose digital computers with associated memory, implementation-specific integrated circuit(s), functional circuitry, etc. Given the techniques of the invention provided herein, one of ordinary skill in the art will be able to contemplate other implementations of the techniques of the invention.
  • Accordingly, as illustratively explained herein, principles of the invention provide a formal resource provisioning specification comprising a method to extract information from an agreement, a method to derive new parameters, a method to create resource assembly alternatives, and a method to compare alternatives.
  • A mechanism for executing the specification is also provided. By way of example, the mechanism may be operative to: automatically extract agreement offer elements for offers based on agreement templates; automatically derive implementation plan allocation parameters from agreement offer elements based on, potentially external, functions; automatically parameterize the implementation plan template with derived values; and automatically choose allocation alternatives based on the business value of allocation alternatives in a business plan.
  • Using this mechanism: detailed resource requirements (like number and configuration of servers) are derived from services guarantees (such as response time goals); alternatives are chosen; required resources are acquired; the overall decision whether or nor to accept the service request is made based on the business value of alternative allocations; and the activation of service provisioning can be triggered based on the resulting allocation.
  • Advantageously, as described in detail herein, principles of the invention provide implementation plan templates and an engine for automatically processing such templates. Such a template comprises information on four major aspects: identification of agreement parameters; a method to determine the respective amounts of different types of resources based on agreement parameters; configuration and assembly of resource types; and definition of resource types.
  • Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.

Claims (19)

1. A method for use by a service provider for automatically provisioning one or more resources based on at least one service agreement offer of a service client, comprising the steps of:
obtaining the at least one service agreement offer;
obtaining at least one implementation plan template; and
automatically deriving a provisioning description in accordance with the service agreement offer and the implementation plan template, wherein the provisioning description is usable for configuring one or more resources such that a service may be provided to the service client.
2. The method of claim 1, wherein the automated provisioning description derivation step further comprises the step of extracting one or more elements from the agreement offer.
3. The method of claim 2, wherein the automated provisioning description derivation step further comprises the step of determining one or more allocation parameters associated with the implementation plan template based on the one or more extracted agreement offer elements.
4. The method of claim 3, wherein the automated provisioning description derivation step further comprises the step of generating the provisioning description based on the one or more allocation parameters.
5. The method of claim 1, wherein the automated provisioning description derivation step further comprises the step of automatically checking the feasibility of the agreement offer.
6. The method of claim 5, wherein the automatic feasibility checking step further comprises at least one of syntactically verifying the agreement offer, determining success of deriving a resource configuration based on the agreement offer, and determining availability of one or more resources of the resource configuration at a desired time of service.
7. The method of claim 5, wherein the automated provisioning description derivation step further comprises the step of informing the service client of a result of the feasibility check.
8. The method of claim 1, wherein the automated provisioning description derivation step further comprises the step determining a match between one or more elements of the service agreement offer and one or more parameters of the implementation plan template.
9. The method of claim 8, wherein the automated provisioning description derivation step further comprises the step generating an instance of a provisioning description when a match is determined.
10. The method of claim 1, further comprising the step of providing at least one agreement template to the service client for use in generating the service agreement offer.
11. The method of claim 1, wherein the automated provisioning description derivation step further comprises use of the implementation plan template to identify one or more agreement parameters.
12. The method of claim 1, wherein the automated provisioning description derivation step further comprises use of the implementation plan template to determine respective amounts of different types of resources based on one or more agreement parameters.
13. The method of claim 1, wherein the automated provisioning description derivation step further comprises use of the implementation plan template to configure and assemble one or more types of resources.
14. The method of claim 1, wherein the automated provisioning description derivation step further comprises use of the implementation plan template to define one or more types of resources.
15. The method of claim 1, wherein the automated provisioning description derivation step further comprises representation of the implementation plan template as an Extensible Markup Language structure.
16. The method of claim 1, further comprising the step of executing the provisioning description.
17. Apparatus for use by a service provider for automatically provisioning one or more resources based on at least one service agreement offer of a service client, comprising:
a memory; and
at least one processor coupled to the memory and operative to: (i) obtain the at least one service agreement offer; (ii) obtain at least one implementation plan template; and (iii) automatically derive a provisioning description in accordance with the service agreement offer and the implementation plan template, wherein the provisioning description is usable for configuring one or more resources such that a service may be provided to the service client.
18. An article of manufacture for use by a service provider for automatically provisioning one or more resources based on at least one service agreement offer of a service client, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
obtaining the at least one service agreement offer;
obtaining at least one implementation plan template; and
automatically deriving a provisioning description in accordance with the service agreement offer and the implementation plan template, wherein the provisioning description is usable for configuring one or more resources such that a service may be provided to the service client.
19. A method for use in automatically managing the provisioning of one or more resources, comprising the steps of:
generating an agreement template; and
generating an associated agreement implementation plan template.
US11/155,218 2005-06-16 2005-06-16 Methods and apparatus for agreement-based automated service provisioning Abandoned US20060287967A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US11/155,218 US20060287967A1 (en) 2005-06-16 2005-06-16 Methods and apparatus for agreement-based automated service provisioning
CN2006100652087A CN1881976B (en) 2005-06-16 2006-03-16 Methods and apparatus for agreement-based automated service provisioning
JP2006166993A JP2006351019A (en) 2005-06-16 2006-06-16 Automatic service providing method and device based on contract
US12/132,790 US8775228B2 (en) 2005-06-16 2008-06-04 Methods and apparatus for agreement-based automated service provisioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/155,218 US20060287967A1 (en) 2005-06-16 2005-06-16 Methods and apparatus for agreement-based automated service provisioning

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/132,790 Continuation US8775228B2 (en) 2005-06-16 2008-06-04 Methods and apparatus for agreement-based automated service provisioning

Publications (1)

Publication Number Publication Date
US20060287967A1 true US20060287967A1 (en) 2006-12-21

Family

ID=37519938

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/155,218 Abandoned US20060287967A1 (en) 2005-06-16 2005-06-16 Methods and apparatus for agreement-based automated service provisioning
US12/132,790 Expired - Fee Related US8775228B2 (en) 2005-06-16 2008-06-04 Methods and apparatus for agreement-based automated service provisioning

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/132,790 Expired - Fee Related US8775228B2 (en) 2005-06-16 2008-06-04 Methods and apparatus for agreement-based automated service provisioning

Country Status (3)

Country Link
US (2) US20060287967A1 (en)
JP (1) JP2006351019A (en)
CN (1) CN1881976B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007084188A2 (en) 2006-01-19 2007-07-26 International Business Machines Corporation Coordinating and selecting computer protocols for resources acquisition from multiple resource managers
US20080281863A1 (en) * 2007-05-10 2008-11-13 Hewlett-Packard Development Company, L.P. Repository system and method
US20100318454A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Function and Constraint Based Service Agreements
US20110145393A1 (en) * 2009-12-13 2011-06-16 Tami Ben-Zvi Method for dynamic reservation of cloud and on premises computing resources for software execution
US20120110157A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Web browser-based business process management engine
US20170123812A1 (en) * 2014-04-25 2017-05-04 Hewlett Packard Enterprise Developmentt Lp Configuration based on a blueprint
US11270335B2 (en) * 2020-06-17 2022-03-08 Coupang Corp. Systems and methods for maximizing budget utilization through management of limited resources in an online environment

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914469B2 (en) * 2009-12-11 2014-12-16 International Business Machines Corporation Negotiating agreements within a cloud computing environment
US9009294B2 (en) * 2009-12-11 2015-04-14 International Business Machines Corporation Dynamic provisioning of resources within a cloud computing environment
US8549396B2 (en) * 2009-12-31 2013-10-01 International Business Machines Corporation Matching various combinations of XPATH URIs to the same XML node
CN103269282A (en) 2013-04-25 2013-08-28 杭州华三通信技术有限公司 Method and device for automatically deploying network configuration

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632018A (en) * 1993-01-18 1997-05-20 Fujitsu Limited Electronic mail system
US5878230A (en) * 1995-01-05 1999-03-02 International Business Machines Corporation System for email messages wherein the sender designates whether the recipient replies or forwards to addresses also designated by the sender
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US20030023696A1 (en) * 2001-07-16 2003-01-30 Masafumi Aikawa Data communication device, data communication method and data communication program that can send reply to blind carbon copy recipients and computer-readable recording medium storing said program
US20030187970A1 (en) * 2002-03-29 2003-10-02 International Business Machines Corporation Multi-tier service level agreement method and system
US20050021987A1 (en) * 2003-06-27 2005-01-27 Microsoft Corporation Organization-based content rights management and systems, structures, and methods therefor
US7203725B1 (en) * 1998-09-18 2007-04-10 Tacit Software, Inc. Withdrawal of requests of target number of requests responses received
US7293171B2 (en) * 2004-01-21 2007-11-06 Microsoft Corporation Encryption to BCC recipients with S/MIME

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11212201A (en) * 1998-01-27 1999-08-06 Konica Corp Silver halide emulsion, manufacture of this emulsion and silver halide color photographic sensitive material using same
JP2000316025A (en) * 1999-03-03 2000-11-14 Hitachi Ltd Communication quality guarantee-type network system
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6742015B1 (en) * 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7003481B2 (en) * 2000-08-25 2006-02-21 Flatrock Ii, Inc. Method and apparatus for providing network dependent application services
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
JP2003141219A (en) * 2001-10-31 2003-05-16 Toshiba Corp Method and program for service scheduling
US20030158920A1 (en) * 2002-02-05 2003-08-21 Sun Microsystems, Inc. Method, system, and program for supporting a level of service for an application
US7171470B2 (en) * 2003-02-20 2007-01-30 International Business Machines Corporation Grid service scheduling of related services using heuristics
US20050043979A1 (en) * 2003-08-22 2005-02-24 Thomas Soares Process for executing approval workflows and fulfillment workflows
US20050154735A1 (en) * 2003-12-19 2005-07-14 International Business Machines Corporation Resource management

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632018A (en) * 1993-01-18 1997-05-20 Fujitsu Limited Electronic mail system
US5878230A (en) * 1995-01-05 1999-03-02 International Business Machines Corporation System for email messages wherein the sender designates whether the recipient replies or forwards to addresses also designated by the sender
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
US7203725B1 (en) * 1998-09-18 2007-04-10 Tacit Software, Inc. Withdrawal of requests of target number of requests responses received
US20030023696A1 (en) * 2001-07-16 2003-01-30 Masafumi Aikawa Data communication device, data communication method and data communication program that can send reply to blind carbon copy recipients and computer-readable recording medium storing said program
US20030187970A1 (en) * 2002-03-29 2003-10-02 International Business Machines Corporation Multi-tier service level agreement method and system
US20050021987A1 (en) * 2003-06-27 2005-01-27 Microsoft Corporation Organization-based content rights management and systems, structures, and methods therefor
US7293171B2 (en) * 2004-01-21 2007-11-06 Microsoft Corporation Encryption to BCC recipients with S/MIME

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007084188A2 (en) 2006-01-19 2007-07-26 International Business Machines Corporation Coordinating and selecting computer protocols for resources acquisition from multiple resource managers
US20080281863A1 (en) * 2007-05-10 2008-11-13 Hewlett-Packard Development Company, L.P. Repository system and method
US20100318454A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Function and Constraint Based Service Agreements
US20110145393A1 (en) * 2009-12-13 2011-06-16 Tami Ben-Zvi Method for dynamic reservation of cloud and on premises computing resources for software execution
US20120110157A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Web browser-based business process management engine
CN102467389A (en) * 2010-10-29 2012-05-23 国际商业机器公司 Web browser-based business process management engine
US9536212B2 (en) * 2010-10-29 2017-01-03 International Business Machines Corporation Web browser-based business process management engine
US20170123812A1 (en) * 2014-04-25 2017-05-04 Hewlett Packard Enterprise Developmentt Lp Configuration based on a blueprint
US10248429B2 (en) * 2014-04-25 2019-04-02 Hewlett Packard Enterprise Development Lp Configuration based on a blueprint
US11270335B2 (en) * 2020-06-17 2022-03-08 Coupang Corp. Systems and methods for maximizing budget utilization through management of limited resources in an online environment

Also Published As

Publication number Publication date
CN1881976A (en) 2006-12-20
US8775228B2 (en) 2014-07-08
JP2006351019A (en) 2006-12-28
US20080235149A1 (en) 2008-09-25
CN1881976B (en) 2010-06-23

Similar Documents

Publication Publication Date Title
US8775228B2 (en) Methods and apparatus for agreement-based automated service provisioning
CN111078315B (en) Microservice arranging and executing method and system, architecture, equipment and storage medium
Skene et al. Precise service level agreements
Pires et al. Building reliable web services compositions
US8762933B2 (en) Converting business process models to component models in a service oriented architecture domain
US8245129B2 (en) Method and system for providing synchronization of directory data
Emmerich et al. Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component model
US20040015859A1 (en) Systems and methods for modular component deployment
US20140007051A1 (en) Configuring Integration Capabilities for System Integration
US20070250365A1 (en) Grid computing systems and methods thereof
US8650288B2 (en) Runtime usage analysis for a distributed policy enforcement system
Van Der Aalst et al. An SOA-based architecture framework
US20160036858A1 (en) Server validation with dynamic assembly of scripts
Wild et al. Decentralized cross-organizational application deployment automation: an approach for generating deployment choreographies based on declarative deployment models
Brandic et al. Towards a meta-negotiation architecture for SLA-Aware grid services
Novakouski et al. Best practices for artifact versioning in service-oriented systems
Rosenberg et al. Integrating quality of service aspects in top-down business process development using WS-CDL and WS-BPEL
US9892023B2 (en) Systems and methods of analyzing software systems having service components
Ludwig et al. Template-based automated service provisioning–supporting the agreement-driven service life-cycle
Jayashree et al. Web Service Diagnoser Model for managing faults in web services
US8161055B2 (en) Filter extraction in a service registry environment
Ludwig WS-Agreement Concepts and Use–Agreement-Based Service-Oriented Architectures
Challita et al. Model-based cloud resource provisioning with TOSCA and OCCI
Zhu et al. Quality attribute scenario based architectural modeling for self-adaptation supported by architecture-based reflective middleware
Chakraborty et al. Enabling runtime adaptation ofworkflows to external events in enterprise environments

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DAN, ASIT;GIMPEL, HENNER;LUDWIG, HEIKO;REEL/FRAME:016549/0619

Effective date: 20050616

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION