The present invention relates generally to the field of data analysis and more particularly to techniques for generating graphical output from qualitative input reviews.
It may be important for every business to assess strengths and weaknesses. An objective analysis of these strengths and weaknesses allows the business to succeed by improving processes that require change. It may be easier to address weaknesses in areas of the business that have concrete measurements. For example, the need to replace a particular machine or improve on the overall efficiency of a process may be easier to compare against a target measurement. However, it may be more difficult to measure customer satisfaction and reasons behind a successful or unsuccessful engagement with a particular customer.
When it comes to customer satisfaction, many businesses rely on customer input or satisfaction surveys. With the advent of technology, an online presence for a business has become common. In the past, many customers would interact face-to-face with the business and provide their feedback. However, business processes have evolved such that most transactions occur without a face-to-face interaction. This has increased the need for businesses to stay connected with consumers in a way that the business can understand customer's needs and their expectation and view of the business both before and after the transaction has been completed. One important way to stay connected may be by taking feedback and reviews from customers digitally, and then acting on them. The feedback from customers can be made in the form of a qualitative review or quantitative review or involve elements of both functions. Once any feedback has been taken and provided, however, the business has to use the information given in a manner that improvements can be made. This can be a very challenging area for many businesses, especially as they grow and the amount of feedback and the channels through which these feedbacks may be provided increase quickly.
Embodiments of the present invention disclose a method, computer system, and a computer program product for providing an automatic review summary of user submissions. In one embodiment this comprises obtaining a plurality of user submissions relating to a particular subject matter and related information relating to this subject matter; and extracting at least one feature and at least one feature review relating from the user submissions. Subsequently, statistical insights relating to the extracted features and features reviews and other related information is generated. A summary review will then also be generated. The summary review includes information about each feature, feature review and statistical insights. In one embodiment, a summary review graph may then be generated from the summary review. In another embodiment, the extraction of the feature and feature review may be conducted by accessing an intelligent dictionary database. In another embodiment, an automated textual summary is generated by traversing the summary review graph.
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which may be to be read in connection with the accompanying drawings. The various features of the drawings are not to scale as the illustrations are for clarity in facilitating one skilled in the art in understanding the invention in conjunction with the detailed description. In the drawings:
Detailed embodiments of the claimed structures and methods may be disclosed herein; however, it can be understood that the disclosed embodiments may be merely illustrative of the claimed structures and methods that may be embodied in various forms. This invention may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments may be provided so that this disclosure will be thorough and complete and will fully convey the scope of this invention to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but may not be limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, may not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions 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). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to customize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention may be described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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 readable program instructions.
These computer readable 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 readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart 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 invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks 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 carry out combinations of special purpose hardware and computer instructions.
The following described exemplary embodiments provide a system, method, and computer program product for providing an automatic review summary of user submissions has been provided. In one embodiment this comprises obtaining a plurality of user submissions relating to a particular subject matter and having information relating to this subject matter and extracting least one feature and feature review relating to each of the plurality of user submissions from the information. Subsequently, generating statistical insights relating to said plurality of features and features reviews and other information relating to the user submissions; and ultimately generating a summary review pertaining to said plurality of user submissions. The summary review includes information about each feature, feature review and statistical insights. In one embodiment, a summary review graph may then be generated from the summary review. In another embodiment, the extracting of the feature and feature review may be conducted by accessing an intelligent dictionary database.
The client computer 102 may communicate with the server computer 112 via the communications network 116. The communications network 116 may include connections, such as wire, wireless communication links, or fiber optic cables. As will be discussed with reference to
According to the present embodiment, a user using a client computer 102 or a server computer 112 may use the program/application 110a, 110b (respectively) to provide a user review submission and feature extraction technique. This technique will be provided in more detail below with respect to
Referring now to
In Step 210, a series of reviews may be obtained from a plurality of platforms. There may be several ways to obtain these reviews as known to those skilled in the art. The manner to obtain these reviews range from simple (the business sets up the platforms and these set up platforms may be periodically looked at automatically or otherwise to see if new reviews have been provided) to sophisticated and complex (an automatic system may be set up that searches many platforms online and may be alerted wherever and whenever a subject matter of interest or the business itself has been mentioned).
In Step 220, once these reviews have been obtained an analysis process commences. In other words, unstructured text from each of the reviews may be examined and relevant information is extracted. In one embodiment, as shown at Step 222, the analysis may involve using an Intelligent Dictionary residing in a database.
The dictionary often includes rules and policies that will be useful in analyzing the responses that may be obtained. The process of creating the dictionary, in most situations has already started prior to current analysis and obtaining of the responses. However, new entries can be added any time for use with the current or future analysis. For example, in a particular instance, a new rule can be added that will be useful for a current analysis. The dictionary can then be either static or dynamic accordingly.
In one embodiment, the intelligent dictionary may be generated for every domain. The dictionary can have any type of information stored as per customer needs. This list can be exhaustive, but some examples can be provided for ease of understanding:
Once the dictionary has been consulted, the process (Step 220) may then be able to analyze any unstructured texts from each of the reviews in order to extract “features” and the “feature reviews” as part of the analysis and extraction process. In one embodiment, this may entail using a rule based NLP model that can analyze the reviews and perform the extracting. As mentioned earlier, the NLP model will use the dictionary that has all domain specific rules and information to complete this process. In addition, the model may use multiple rules or POS chunk grammar from the dictionary for the domain to capture these features and feature reviews. For example:
In another example, the extracted information may include information about a particular feature of the business. In
In the above sentence, the model may extract:
The first two nouns (NN) may be concatenated to generate a feature and describe it with an adjective (JJ) as good. Similarly, the other sub-features may be extracted with combinations of other parts of speech (NN|NNS for sub-feature and CD for “feature review”).
In another example, the response may include “The leg room is good. The boot space is adequate for two large suitcases.” This may lead to the following extraction:
In this example, two features may be detected. The first one is the leg room (NN+NN) and the second one is boot or trunk space (NN+NN) and the corresponding adjectives (JJ) describing the feature. Also, we can use the cardinal digit (CD) to identify the feature name—i.e. if the CD is two digits, then the feature is mileage/fuel efficiency, if the CD is 4 to 5 digits, then the feature could be tires.
In Step 230 the mapping of the features and feature reviews may be performed. In the example used above the “feature review” value can be used to map the “feature” based on dictionary input. The mapping involves the calculation of a score based on worthiness of the feature or feature review. In addition, the score calculation also includes the filtering out of the less important features or incorrectly identified features (using the “feature worthiness” score). The “feature worthiness” may be determined based on any factors as will be later discussed in detail. For example, it may depend upon the frequency of occurrence, rules specified for the feature in the dictionary and other customized parameters. In one embodiment, for example, if the feature/feature review may be a unique feature with less than two comments, then that feature may be included in the “Dictionary” for the feedback & self-learning process. Such features have a high “feature worthiness” score once entered in the Dictionary.
Another aspect of calculating worthiness, as mentioned may involve the need to identify features that may be the same or similar but worded differently. (i.e.—Out of 10 reviews, 4 people would have mentioned about car mileage, 2 would have said fuel efficiency, 1 would have said fuel consumption etc. but they all convey same concept). In this case, the feature name would be mileage given the higher count of mentions. The other synonymous words may be maintained in a “Dictionary” for the domain.
In one embodiment, the sentiment of the reviews may need to be extracted. For example, in a scenario, two reviews have been obtained:
In the above example, the system may extract features like mileage, pickup & build quality. The insights would be stating that mileage and pickup may be good (positive sentiment) however build quality may not be good which may be a negative sentiment.
In Step 240, an Intelligent Summary may be generated. This summary may be generated using qualitative user reviews(s) and statistical insights as well as other text features. The qualitative user reviews provides information about different features of each review (for example if each review was positive or negative). The statistical insights can include information about all the reviews or even information from outside to give more relevance to the issues (such as general reviews of all 1999 BWMs are 54 percent positive but these reviews are 34 percent positive).
In one embodiment, this may be a summary that can be visual based such as a graph. The features of the summary can be customized to include a list of different items such as reviews and statistical insights. In one embodiment, output from the previous step of mapping (a map of “feature” and “feature review”, sentiments, etc.) may be used to compute statistics. Then the visual effect, such as the graph may be built with all this information. In one embodiment, this can also be audio-visual and interactive so that other information can be requested and added dynamically as per user request.
In Step 250, an automated Review Summary may be generated. In one embodiment, this may be generated with insights based on the summary and/or summary graph and user requested information. As indicated, when this may be interactive, an audio or audio visual includes the new requested information as well.
In Step 260, in one embodiment, artificial intelligence or machine learning or other self-learning process may be included that also includes feedback. This can provide, for example, new context or interpretations of certain text when processing so better future processing can be conducted. In Step 265, the dictionary may also be updated based on the user or business's feedback. This ensures more accurate results during the subsequent runs in the future.
In this scenario, some of the information provided below as an example may be used to generate a summary report and a graph. As summary objective text may be first provided as below:
At least part of the information provided by the users above can go into making the graphical illustration 300 of
To understand some of the concepts that will be used in one embodiment to develop a summary that can be used visually if preferred such as in a graphical presentation, some of the concepts can be described below for ease of understanding. It should be understood, however that the summary can be used in several different and alternate manners besides being visually available and that the terminology below may only be to assist understanding and variations of it may be possible as can be appreciated to those skilled in the art.
The first terminology to discuss has to do with the term “review text” which indicates text that contains review of the product or service from a source such as a user. The “review text” can contain many sentences and paragraphs. For example, in one scenario the sentence “The mileage is 12 kmpl.” may be designated as a “review text” which may provide certain “feature(s)” and “feature review(s)”. In this example—“Mileage” is a “feature” and “12 kmpl” is a “feature review.” A “feature review” in this context may be a qualitative or quantitative opinion about the feature. In one embodiment, the review text may be used as one component to build an intelligent summary visual aid (like a graph). This summary may then be further utilized to generate automation text in some embodiments.
Once a plurality of reviews has been provided to one or more platforms that collect them, the features can be extracted. In one embodiment, the extraction of the “feature” or “feature review” can be performed from every sentence in the reviews submitted to the platforms. Rules can be set up to provide this extraction easier. For example, a set of rules may be set up that defines these policies:
In one embodiment, the “features” may also have a particular hierarchy. For example, in the scenario of
In one embodiment, to provide the feature in the summary the “features” value or worthiness may be evaluated. In one scenario, the features worthiness may rise if many reviews may be submitted that include the feature. Also, a feature worthiness may be given more weight and flagged as more worthy provided depending on the source. For example, a certain platform or an expert may provide more weight. In one embodiment, the “feature” worthiness may be provided with a score that may be later used to determine if the feature should be part of the summary.
In the same manner, the “feature review” can also be provided with a weight or worthiness score. A “feature review” may be given more weight, for example, in a scenario where it may be provided from an expert or a particular platform. The weight may also be provided as part of a customization or according to a particular value calculation. For example, a particular platform or experts belonging to an organization may be given a score that may be a multiple (e.g., 100 times) of the weight given by a regular user. There may be a hierarchy of scores (such that another platform has a weight of only 50 instead of 100) in this calculation.
In one embodiment, similar or same features provided by the reviews can also be merged for the summary. For example, in a scenario that includes “fuel efficiency” and “mileage”, both phrases may be used to indicate similar thoughts as relating to a car. In this situation, both of these phrases may be considered as the same during analysis process and be merged. In a different example, the words used such as “good” and “nice” may mean the same given the context for a “feature review” and consequently they will also be merged into one category for generating the summary.
In one embodiment, the feature and feature reviews may be mapped to one another. In on embodiment, there may be several rules or policies that govern this mapping. For example, in one embodiment, the “feature review” may be mapped to the feature that occurs immediately before it. Also, domain specific rules may exist that map a “feature review” to a “feature” based on the value. For example, using the scenario of
In one embodiment, during the calculation and scoring of each feature, statistics and features may be computed for each feature and feature reviews submitted. In at least one embodiment, some statistics may be readily available (such as number of reviews, number of reviews that have a “feature review” for a “feature” etc.).
This information may then be used according to at least one embodiment to construct and generate an intelligent summary, such as one that includes visual aids like graphical representations, with all the extracted features and feature reviews selected using the statistics and other computational and analysis procedures. In one embodiment, a lot of different types of information can be selected, and the statistics used can be customized to build the intelligent summary (graph). With the advent of availability and access to big data lakes these features can be further expanded and even used in conjunction with machine learning. The list of these items selected for analysis and statistical use may be exhaustive, but a few examples will be provided below only for ease of understanding of some of their nature:
Referring back to
In one embodiment, one or more algorithms may be used to read the summary and/or graphical illustrations to also generate further information such as additional sentences for providing an automated summary (traverse graph to generate sentences.)
To ease understanding, the embodiment provided in
As illustrated at 410 and 420, once the user reviews 405 may be obtained the features and reviews may be extracted. In one embodiment an NLP model may be used for this extraction. This may include NLP extracting the features from every sentence of the review text based on the feature extraction chunk grammar (specified for the domain in the self-learning Dictionary at 440). An NLP model will extract the “feature review” from every sentence of the review text based on the “feature review” extraction chunk grammar (specified for the domain in the Dictionary 440), and other domain specific rules based on value of the “feature review”.
In this scenario, a Machine Learning Model illustrated at 430 (hereinafter ML model) may determine the feature worthiness score (between 0 and 1) of extracted features based on various parameters like frequency of occurrence of the features in reviews, uniqueness, reviewer rating (expert reviewer gets higher rating) and other parameters specified in the Dictionary. Here, the features that have a “feature worthiness score” less than, for example, 0.6, can be removed from the list for accuracy. The corresponding “feature reviews” may be also removed from the list. In this example, the ML model may identify sub-features in the features extracted from a sentence. The sub-features may be first extracted based on the values in the dictionary. Otherwise, if there are two features in a sentence, the second feature may be taken as a sub-feature of the first feature. It will then create a map of a feature, sub-feature (if any) and “feature review”.
The model will merge the features that are the same but are worded differently. This may be done based on text similarity and synonymous words specified in the Dictionary 440. For example, “boot” and “trunk” are different ways that regional/countries define the same space. In another example, “car mileage,” “mileage,” and “fuel efficiency” are talking about the same feature.
During this process the Dictionary 440 may be used. In one embodiment, the dictionary defines domain categories. It also defines POS chunk grammar rules for “feature” and “feature review” extraction for each domain ((Example—{<JJ|JJR|JJS>*?<NN|NNS|NNPS|NNP>*}, {<JJ|JJR|JJS>}—or {<CD>NN|NNS>}, {<CD><JJ>}). As stated above and in the example of boot/trunk, the dictionary can also extract and define synonymous feature words and “feature review” words for a domain. The input for this can include “meta-data” about the product. In one embodiment, a list of reviewers and reviewer ratings may also be created. This created list may be unique but may include an important feature list for the domain. The input for this may include “meta-data” about the product. From this information a list of sub-features for a domain may also be created.
It should be noted that the feedback module 450 can provide additional information iteratively using the reviews and statistical insights (box 300) to update the dictionary 440 as was discussed in
The Output of this process may be used by custom ML model 430 to ultimately generate an intelligent summary review 437 (graph when appropriate) that has the features, reviews and statistical insights as discussed earlier. Custom ML may also provide and generate of a map between “feature” and “feature review”. In some embodiments, custom ML also generates statistics on percentage of reviews for a feature, review sentiment (positive or negative) and more. This may also lead to building an intelligent summary graph which will have a brief description of the product, features, “feature reviews” and other insights. In some embodiments, the custom machine language model 435 (which can include one or more custom Toolkits) as shown at 435 may be used (i.e., Python NLTK).
This ultimately may lead to construction of an intelligent summary review (graph) 437, as described previously with respect to Step 240 above, and an automated review summary that incorporates an algorithm that may traverse the “intelligent summary graph” to generate a summary of the reviews with insights. In one embodiment, when a summary graph is generated an automated text summary 490 can also be generated as discussed.
The feedback module and self-learning 450 may be an iterative process as discussed earlier. In one embodiment, the feedback may be provided based on the extracted features and “feature review”. This feedback may be incorporated at every step:
The end result may provide:
Data processing system 902, 904 may be representative of any electronic device capable of executing machine-readable program instructions. Data processing system 902, 904 may be representative of a smart phone, a computer system, PDA, or other electronic devices. Examples of computing systems, environments, and/or configurations that may represented by data processing system 902, 904 include, but may not be limited to, individual computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above systems or devices.
User client computer 102 and network server 112 may include respective sets of internal components 902 a, b and external components 904 a, b illustrated in
Each set of internal components 902 a, b also includes a R/W drive or interface 918 to read from and write to one or more portable computer-readable tangible storage devices 920 such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device. A software program, such as the software program 108, the review submission management program 110a and the extraction application 110b can be stored on one or more of the respective portable computer-readable tangible storage devices 920, read via the respective R/W drive or interface 918 and loaded into the respective hard drive 916.
Each set of internal components 902 a, b may also include network adapters (or switch port cards) or interfaces 922 such as a TCP/IP adapter cards, wireless wi-fi interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links. The software program 108 and the review submission management program 110a in client computer 102 and the feature extraction application 110b in network server computer 112 can be downloaded from an external computer (e.g., server) via a network (for example, the Internet, a local area network or other, wide area network) and respective network adapters or interfaces 922. From the network adapters (or switch port adaptors) or interfaces 922, the software program 108 and the review submission management program 110a in client computer 102 and the extraction application 110b in network server computer 112 may be loaded into the respective hard drive 916. The network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
Each of the sets of external components 904 a, b can include a computer display monitor 924, a keyboard 926, and a computer mouse 928. External components 904 a, b can also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each of the sets of internal components 902 a, b also includes device drivers 930 to interface to computer display monitor 924, keyboard 926 and computer mouse 928. The device drivers 930, R/W drive or interface 918 and network adapter or interface 922 comprise hardware and software (stored in storage device 916 and/or ROM 910).
It should be understood in advance that although this disclosure includes a detailed description on cloud computing, implementation of the teachings recited herein may not be limited to a cloud computing environment. Rather, embodiments of the present invention may be capable of being implemented in conjunction with any other type of computing environment now known or later developed.
Cloud computing provides a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
Characteristics may be as follows:
Service Models may be as follows:
Deployment Models may be as follows:
A cloud computing environment may be a service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing may be an infrastructure comprising a network of interconnected nodes.
Referring now to
Referring now to
Hardware and software layer 1102 includes hardware and software components. Examples of hardware components include: mainframes 1104; RISC (Reduced Instruction Set Computer) architecture based servers 1106; servers 1108; blade servers 1110; storage devices 1112; and networks and networking components 1114. In some embodiments, software components include network application server software 1116 and database software 1118.
Virtualization layer 1120 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 1122; virtual storage 1124; virtual networks 1126, including virtual exclusive networks; virtual applications and operating systems 1128; and virtual clients 1130.
In one example, management layer 1132 may provide the functions described below. Resource provisioning 1134 provides dynamic procurement of computing resources and other resources that may be utilized to perform tasks within the cloud computing environment. Metering and Pricing 1136 provide cost tracking as resources may be utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 1138 provides access to the cloud computing environment for consumers and system administrators. Service level management 1140 provides cloud computing resource allocation and management such that required service levels may be met. Service Level Agreement (SLA) planning and fulfillment 1142 provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement may be anticipated in accordance with an SLA.
Workloads layer 1144 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation 1146; software development and lifecycle management 1148; virtual classroom education delivery 1150; data analytics processing 1152; transaction processing 1154; and data management 1156.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration but may be not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.