| CPC G06Q 30/0283 (2013.01) [G06F 3/0482 (2013.01); G06Q 10/0631 (2013.01); H04L 67/10 (2013.01); H04L 67/306 (2013.01)] | 18 Claims |

|
1. A multi-tenant computing system comprising:
one or more processors; and
memory storing pre-existing charge models for selection by tenants in the multi-tenant computing system, each of the tenants providing at least one subscription service to its customers, each pre-existing charge model being a model for calculating subscription charges based on customer use of a respective subscription service of a respective pre-existing type, the memory further storing instructions that, when executed by the one or more processors, cause the multi-tenant computing system to perform:
receiving, by a price calculation microservice, tenant user input from a particular tenant of the tenants of the multi-tenant computing system, the particular tenant providing at least one particular subscription service to its customers, the at least one particular subscription service being of a new type different than the pre-existing types, the tenant user input comprising a custom data definition and a custom logic definition, the custom data definition defining custom data requirements for calculating a usage charge for a subscription period of the at least one particular subscription service of the new type, and the custom logic definition defining a custom set of one or more operations capable of being performed on data corresponding to the data requirements when calculating the usage charge for the subscription period of the at least one particular subscription service of the new type;
generating, by the price calculation microservice, a particular custom charge model based on the tenant user input received from the particular tenant of the multi-tenant system, the particular custom charge model being different than each of the pre-existing charge models;
making the particular custom charge model available to the tenants of the multi-tenant system;
receiving, by a usage microservice, a usage event associated with the particular subscription service and associated with a particular customer of the particular tenant of the multi-tenant computing system;
receiving, by a rating microservice, a rating request, the rating request being associated with the particular customer of the particular tenant of the multi-tenant computing system;
calculating, by the price calculation microservice, the usage charge for the usage event based on the particular custom charge model;
storing, by the rating microservice, the usage charge;
generating an invoice for a particular subscription period and based on the usage charge;
providing the invoice for the particular subscription period to the particular customer of the particular tenant of the multi-tenant computing system; and
dynamically modifying any of the price calculating microservice, the usage microservice or the rating microservice based on resource demands to fulfill the rating request.
|