# US 10,504,128 B2 · Systems and methods for improved billing and ordering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,504,128 B2
- Document ID: US10504128B2
- Status: Granted
- Kind: B2
- Application number: 15/082,732
- Filed: 2016-03-28
- Published: 2017-02-23
- Granted: 2019-12-10
- Earliest claimed: 2011-03-31
- Assignees: Netcracker Technology Corp.
- Applicants: NetCracker Technology Corporation
- Inventors: Denis Ryzhikov; Andrey Verbitskiy
- Web page: https://patentgrep.com/patent/US10504128B2

## CPC

- G06Q 30/0206: {Price or cost determination based on market factors}
- G06Q 10/00: Administration; Management
- G06Q 30/00: Commerce
- G06Q 30/04: Billing or invoicing
- G06Q: INFORMATION 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

## Abstract

A price-generation system exemplary of the present invention reduces reliance on synchronization of rating and billing information, simplifies and speeds up commercial implementation of such systems, and reduces computational costs associated with real-time cost calculations by pre-computing rating data that can be automatically applied to subscriber usage. In one embodiment, a price-generation system comprises an analysis component configured to automatically generate at least one rate cube, wherein the at least one rate cube is configured to store rate plan information, an order entry component configured to pre-compute recurring charge information associated with at least one service based on at least a first set of rules, and a billing component configured to calculate total charges based on at least the pre-computed recurring charge information and usage charge information, wherein the usage charge information is calculated using the at least one rate cube.

## Claims

### Claim 1

A computer-implemented price-generation system, comprising:
one or more processors; and
a memory, the memory storing instructions, which when executed by the one or more processors, causes the one or more processors to
identify, from the request to perform the billing event, a subscriber and a rate plan associated with the billing event;
determine that a rate cube for the subscriber or the rate plan does not exist;
automatically generate at least one rate cube responsive to determining that the rate cube for the subscriber or the rate plan does not exist, wherein the at least one rate cube has a plurality of dimensions and is configured to store rate plan information, wherein the at least one rate cube comprises at least one value of pre-computed rate cube data at a dimensional location in the at least one rate cube based on the plurality of dimensions, a first dimension of the plurality of dimensions corresponding to a duration, a second dimension of the plurality of dimensions corresponding to a time period, wherein at least part of the at least one rate cube is pre-filled using statistical information related to at least one of the subscriber or the rate plan, wherein the rate cube includes a hash table corresponding to a hash function that utilizes a service identifier associated with a service to which the subscriber has subscribed to generate a key value used to identify the rate cube;
pre-compute recurring charge information associated with at least one service based on at least a first set of rules;
calculate total charges based on at least the pre-computed recurring charge information and usage charge information, wherein the at least one value of pre-computed rate cube data from the dimensional location is retrieved for at least one usage charge of the usage charge information, wherein retrieving the at least one usage charge comprises using a duration associated with the at least one usage charge as a first index for the first dimension of the plurality of dimensions and using a time period associated with the at least one usage charge as a second index for the second dimension of the plurality of dimensions; and
generate a bill responsive to the request to perform the billing event.

### Claim 2 (depends on 1)

The computer-implemented price-generation system of claim 1, wherein the first set of rules and a second set of rules for the billing component are not synchronized.

### Claim 3 (depends on 1)

The computer-implemented price-generation system of claim 1, wherein the memory storing further instructions, which when executed by the one or more processors, further causes the one or more processors to determine whether rate data may be pre-calculated.

### Claim 4 (depends on 1)

The computer-implemented price-generation system of claim 1, wherein the memory storing further instructions, which when executed by the one or more processors, further causes the one or more processors to transform at least one rate plan into an optimized form.

### Claim 5 (depends on 4)

The computer-implemented price-generation system of claim 4, wherein the memory storing further instructions, which when executed by the one or more processors, further causes the one or more processors to transmit the optimized form of the at least one rate plan to the billing component.

### Claim 6 (depends on 1)

The computer-implemented price-generation system of claim 1, wherein the memory storing further instructions, which when executed by the one or more processors, further causes the one or more to locate at least one stored rate cube.

### Claim 7 (depends on 1)

The computer-implemented price-generation system of claim 1, wherein the at least one service is at least one of television, home phone, Internet, or wireless phone service.

### Claim 8 (depends on 1)

The computer-implemented price-generation system of claim 1, wherein the at least one rate cube comprises at least one OLAP cube.

### Claim 9

A computer-implemented price-generation method, comprising:
receiving, by one or more processors, a request to perform a billing event;
identifying, by the one or more processors, from the request to perform the billing event, a subscriber and a rate plan associated with the billing event;
determining, by the one or more processors, that a rate cube for the subscriber or the rate plan does not exist;
analyzing, by the one or more processors, whether rate data may be pre-calculated;
generating, by one or more processors, responsive to determining that the rate cube for the subscriber or the rate plan does not exist and that rate data may be pre-calculated, at least one rate cube for storing rate plan information with at least one value as pre-computed rate cube data at a dimensional location, wherein the at least one rate cube includes a plurality of dimensions for identifying the dimensional location of the rate cube data, wherein at least part of the at least one rate cube is pre-filled using statistical information related to at least one of the subscriber or the rate plan, wherein the rate cube includes a hash table corresponding to a hash function that utilizes a service identifier associated with a service to which the subscriber has subscribed to generate a key value used to identify the rate cube;
transforming at least one rate model into an optimized form;
generating a usage charge by retrieving the at least one value of pre-computed rate cube data of the at least one rate cube based on a dimensional location for the usage charge, wherein retrieving the at least one value comprises using a first value associated with the at least one usage charge for a first dimension of the dimensional location for the usage charge and using a second value associated with the at least one usage charge for a second dimension of the dimensional location for the usage charge;
combining non-usage charges and the usage charge, wherein the non-usage charges and the usage charge are computed independently; and
generating, by the one or more processors, a bill responsive to the request to perform the billing event.

### Claim 10 (depends on 9)

The computer-implemented price-generation method of claim 9, wherein analyzing whether rate data may be pre-calculated further comprises identifying a rate and subscriber pair that can be pre-calculated.

### Claim 11 (depends on 10)

The computer-implemented price-generation method of claim 10, further comprising pre-calculating the at least one value based at least in part on test data or historical data.

### Claim 12 (depends on 9)

The computer-implemented price-generation method of claim 9, wherein the statistical information comprises subscriber usage information.

### Claim 13 (depends on 9)

The computer-implemented price-generation method of claim 9, further comprising locating the at least one rate cube using a hash value.

### Claim 14 (depends on 9)

The computer-implemented price-generation method of claim 9, wherein combining recurring charges and the usage charge further comprises receiving pre-calculated recurring charge information.

### Claim 15 (depends on 9)

The computer-implemented price-generation method of claim 9, further comprising computing in real-time total charge information based at least in part on estimated usage charge data.

### Claim 16 (depends on 9)

The computer-implemented price-generation method of claim 9, wherein the at least one rate cube comprises at least one multi-dimensional OLAP cube associated with at least one of a service or subscriber.

### Claim 17

A non-transitory computer-readable medium having computer-readable instructions stored thereon to cause a computer to execute a process comprising:
receiving a request to perform a billing event;
identifying, from the request to perform the billing event, a subscriber and a rate plan associated with the billing event;
determining that a rate cube for the subscriber or the rate plan does not exist;
analyzing whether rate data may be pre-calculated;
generating, responsive to determining that the rate cube for the subscriber or the rate plan does not exist and that rate data may be pre-calculated, at least one rate cube for storing rate plan information with at least one value as pre-calculated rate cube data at a dimensional location, wherein the at least one rate cube includes a plurality of dimensions for identifying the dimensional location of the rate cube data, wherein at least part of the at least one rate cube is pre-filled using statistical information related to at least one of the subscriber or the rate plan, wherein the rate cube includes a hash table corresponding to a hash function that utilizes a service identifier associated with a service to which the subscriber has subscribed to generate a key value used to identify the rate cube;
transforming at least one rate model into an optimized form;
generating a usage charge by retrieving the at least one value of pre-computed rate cube data of the at least one rate cube based on a dimensional location for the usage charge, wherein retrieving the at least one value comprises using a first value associated with the at least one usage charge for a first dimension of the dimensional location for the usage charge and using a second value associated with the at least one usage charge for a second dimension of the dimensional location for the usage charge;
combining recurring charges and the usage charge, wherein the recurring charges and the usage charge are computed independently; and
generating, by the one or more processors, a bill responsive to the request to perform the billing event.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the first set of rules and a second set of rules for the billing component are not synchronized.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the process further comprises pre-calculating the at least one value based at least in part on test data or historical data.

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the process further comprises analyzing whether rate data may be pre-calculated further comprises identifying a rate and subscriber pair that can be pre-calculated.
