1. Technical Field
The present disclosure relates to service deployment into data centers, and more particularly, to a graph based system and method for semi-automated service creation and optimized service mapping between a business support system (BSS) and an operations support system (OSS).
2. Discussion of Related Art
The emergence of cloud based networking has provided for improvements in the automation and scalability of data centers for service providers. However, the deployment of services into data centers prior to subscription to the services by customers is still accomplished manually. In addition, information relating to the location of customers and the service costs of deploying services from various data centers—which can be used to improve the deployment of services into data centers by reducing costs through flexible sourcing and targeting only cost-effective customers for new services—has not been utilized during the deployment of new services prior to customer subscriptions.
Therefore, a need exists for a system and method for a semi-automated service deployment into data centers that utilizes customer models of service subscriptions and data centers' models of resource types prior to the subscription of new services by a customer.
According to an exemplary embodiment of the present disclosure, a non-transitory computer readable medium embodying instructions executed by a processor to perform a method for service creation and mapping between at least two support systems includes receiving a request for a new service, wherein the request includes resource requirement information and quality of service (QOS) requirement information corresponding to the new service, determining a location that the request originated from, identifying at least one data center within a communication range of the location, identifying at least one data center having resources complying with the resource requirement information, identifying at least one data center complying with the QOS requirement information, and deploying the new service into each data center that is within the communication range of the location, that has resources complying with the resource requirement information, and that complies with the QOS requirement information.
Preferred embodiments of the present disclosure will be described below in more detail, with reference to the accompanying drawings:
Exemplary embodiments of the present disclosure now will be described more fully hereinafter with reference to the accompanying drawings. This disclosure, may however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Exemplary embodiments of the present disclosure are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
In an exemplary embodiment, services are created in a semi-automated fashion, and the mapping of services between a business support system (BSS) and an operations support system (OSS) is improved using a cloud services creation and deployment system based on graph-mapping. Various deployable end-to-end services are described and listed in a services catalog in the BSS. The BSS and OSS are linked to support these various end-to-end services. An exemplary embodiment of a services framework including a BSS 101 and an OSS 102 is illustrated in
A BSS 101 provides business services that aid in the basic operations involved in running a business. For example, tasks such as customer management, order management, revenue management and product management are implemented using a BSS.
An OSS 102 provides operational services that process requests from a BSS 101 for a data center. Requests may include, for example, virtual machine creation and deletion, network and storage reservation and image management. The OSS 102 utilizes the configuration and current state of the data center when deploying these operational services. The OSS 102 allows a service provider to monitor, control, analyze and manage a communications network.
When a new service is deployed, potential operational environments are assigned based on the requirements of the service, a customer model and the resource types of potential data centers. The hardware requirements populated during the new service creation are subjected to the data centers' constraints. If a data center does not meet the hardware requirements, the new service is not assigned to that data center. If a data center meets the hardware requirements, the new service is assignable to that data center. Once all of the hardware requirements have been validated as supported by a data center by the OSS 102, the new service is considered deployable and the new service is listed in the services catalog in the BSS 101.
Referring to
Services may be assigned to different data centers based on the particular requirements of the services. In an exemplary embodiment, at least two different classes of services may be supported, and each class of services may be placed using different methods. For example, a first class of services may include application critical services and a second class of services may include best effort services.
Application critical services may include services such as, for example, desktop services, storage services and communication services, however, application critical services are not limited thereto. As a result of high quality of service (QOS) requirements such as, for example, transmission delay and jitter per customer, application critical services model the service requirements per customer type at the time of deployment to identify potential customer locations based on the locations of the data centers.
Best effort services may include services such as, for example, bulk processing services (e.g., billing services, usage log processing and analysis services) and componential intensive grid-like services. Best effort services may utilize a point of deployment (POD) data center deployment approach, however, the deployment of best effort services is not limited thereto. In a POD data center deployment approach, potential POD locations are identified based on the local distribution of potential customers. For example, best effort services that are highly data intensive and/or retrieve data from outside the cloud (e.g., receive data at the customer's premises) may utilize a POD data center deployment approach in order to reduce the cost and/or time of accessing data. Best effort services that are not highly data intensive and/or retrieve data from the cloud may be deployed in the data center having the most unused resources.
The assignment of new services to data centers is subject to the hardware constraints of the data centers. For example, if a service utilizes certain hardware in order to function properly, the service will not be assigned to a data center that does not include that hardware. If a data center does not include the necessary hardware, or the necessary hardware is not properly configured, the OSS 102 may acquire or configure additional hardware to satisfy the new service. For example, a data center may power on or configure additional resources such as, for example, additional hardware, software, or network resources in order to satisfy the new service. Once the OSS 102 finds a data center having the hardware utilized by the new service, the new service is considered deployable and is added to the BSS services catalog of the OSS 102.
In an exemplary embodiment, complementary information such as, for example, information relating to customer location, service costs and QOS requirements can be utilized when deploying new services. For example, customer location information, service cost information and QOS requirement information may be used to calculate the cost of a potential customer based on the location of the customer. Thus, a service provider may use this information to determine whether to target customers in certain locations when deploying new services. As a result, new services may not be deployed in certain locations, and customers in those locations will not be able to subscribe to the new services. Further, a service provider may use this information to determine which data center is utilized to deploy a new service to a customer, based on the location of the customer.
Once a service is published in the BSS services catalog, the service is available for subscription. Resource allocation and provisioning occur when the service is subscribed to by a customer. Upon subscription of the service by a customer, customer requirements are collected and the costs of providing the customer with the subscribed service are calculated. This information is used to determine which data center is utilized to provide the customer with the service. For example, a valid data center(s) is selected by matching the customer requirements with the data center's available resources. If more than one valid data center is found, the data center with the minimum cost is selected for service provisioning.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
More particularly, referring to
The computer platform 501 also includes an operating system and micro-instruction code. The various processes and functions described herein may either be part of the micro-instruction code or part of the application program (or a combination thereof) which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
Having described embodiments for semi-automated service creation and optimized service mapping between a BSS and an OSS, it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in exemplary embodiments of the disclosure, which are within the scope and spirit of the invention as defined by the appended claims. Having thus described the invention with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.