In CPBM, anything that can be measured and has a unique unit price is modeled as a Product. A Product is associated with a set of mediation rules that allows CPBM to segregate collected usage into appropriate product buckets. Service operators will create products guided by metadata provided by the underlying cloud service connector but based on their unique requirements for how they would like to charge for the service.
Note that Products represent anything that can be charged for. It is NOT REQUIRED that these be resources that are explicitly provisioned by CPBM. For example, in an IaaS service, one may provision one or more virtual machines, but may also get charged for data transfer that is not explicitly provisioned but gets accrued nevertheless. Products are defined specific to a given service instance (i.e., different instances of the service may have different products).
As discussed above, a given product can have one or more mediation rules.
All usage that matches any of the mediation rules will be attributed to that product. The mediation rule determines how usage record matches are done by the mediation strategy. A mediation rule contains among other things the usage type (a unique cloud service specific identifier that distinguishes usage of different types) and a list of discriminator attributes and corresponding values that need to match for usage to be attributed to this product. When CPBM collects usage from the cloud service, the collector will also provide values for all the discriminator attributes. CPBM will then match those values with those specified in the mediation rules to determine a match.
Mediation rules also allow CPBM to determine which products are likely to be used when provisioning resources. Based on the selections during provisioning, one or more products may be applicable. Using the available selections, CPBM will identify the set of products that are applicable and will be able to display appropriate pricing for the same.