# US 9,438,748 B2 · CDF tracking for offline charging

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

- Number: US 9,438,748 B2
- Document ID: US9438748B2
- Status: Granted
- Kind: B2
- Application number: 14/499,030
- Filed: 2014-09-26
- Published: 2016-03-31
- Granted: 2016-09-06
- Earliest claimed: 2014-09-26
- Assignees: Alcatel Lucent
- Applicants: Alcatel-Lucent USA Inc.
- Inventors: Ranjan Sharma
- Web page: https://patentgrep.com/patent/US9438748B2

## CPC

- H04M 15/65: {Off-line charging system}
- H04L 12/1403: {Architecture for metering, charging or billing}
- H04L 12/1407: {Policy-and-charging control [PCC] architecture}
- H04L 12/1425: {involving dedicated fields in the data packet for billing purposes}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1027: Persistence of sessions during load balancing
- H04M 15/31: {Distributed metering or calculation of charges}
- H04M 15/41: {Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]}
- H04M 15/57: {for integrated multimedia messaging subsystem [IMS]}
- H04M 15/62: {based on trigger specification}
- H04M 15/70: {Administration or customization aspects; Counter-checking correct charges}
- H04M 15/8228: {Session based}
- H04W 4/24: Accounting or billing
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Systems and methods that track Charging Data Functions (CDFs) that handle accounting requests for a session. One embodiment comprises a distributor unit that receives an interim accounting request for a session. The interim accounting request includes a tracking parameter that includes one or more CDF identifiers (ID) indicating one or more CDFs that handled accounting requests for the session. The distributor unit processes the tracking parameter to identify a first CDF ID for a first destination CDF that handled accounting requests for the session. When the first destination CDF is not available to receive the interim accounting request, the distributor unit selects a second destination CDF for the interim accounting request based on a distribution algorithm. The distributor unit adds a second CDF ID for the second destination CDF in the tracking parameter of the interim accounting request, and transmits the interim accounting request to the second destination CDF.

## Claims

### Claim 1

An apparatus comprising:
a distributor unit configured to connect to a plurality of Charging Data Functions (CDFs) for offline charging;
the distributor unit comprising a processor configured to receive an interim accounting request from a Charging Trigger Function (CTF) for a session, wherein the interim accounting request includes a tracking parameter populated with at least one CDF identifier (ID) indicating at least one destination CDF that handled accounting requests for the session;
the distributor unit is configured to process the tracking parameter in the interim accounting request to identify a first CDF ID for a first destination CDF that handled accounting requests for the session;
when the first destination CDF is available to receive the interim accounting request, the distributor unit is configured to transmit the interim accounting request to the first destination CDF;
when the first destination CDF is not available to receive the interim accounting request, the distributor unit is configured to select a second destination CDF for the interim accounting request based on a distribution algorithm,
to add a second CDF ID for the second destination CDF in the tracking parameter of the interim accounting request, and to transmit the interim accounting request to the second destination CDF.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein:
the distributor unit is configured to scan the tracking parameter for an appearance of the second CDF ID, and to add the second CDF ID in the tracking parameter when the second CDF ID does not already appear in the tracking parameter.

### Claim 3 (depends on 1)

The apparatus of claim 1 wherein:
the distributor unit is configured to add the second CDF ID in the tracking parameter responsive to selecting the second destination CDF based on the distribution algorithm so that the tracking parameter indicates a sequence of destination CDFs that handled accounting requests for the session.

### Claim 4 (depends on 1)

The apparatus of claim 1 wherein:
the interim accounting request comprises a Diameter Accounting Request (ACR); and
the tracking parameter comprises a Diameter Attribute Value Pair (AVP) defined for the CDF IDs indicating the CDFs that handled accounting requests for the session.

### Claim 5 (depends on 1)

The apparatus of claim 1 wherein:
the distributor unit is configured to receive an interim accounting answer from the second destination CDF that includes the tracking parameter, and to send the interim accounting answer to the CTF.

### Claim 6 (depends on 1)

The apparatus of claim 1 wherein:
the distribution algorithm comprises a consistent hashing algorithm that selects the second destination CDF based on a session identifier in the interim accounting request.

### Claim 7 (depends on 1)

The apparatus of claim 1 further comprising:
the second destination CDF configured to receive a stop accounting request from the CTF indicating an end to the session, wherein the stop accounting request includes the tracking parameter;
the second destination CDF is configured to determine a total number of the accounting requests for the session, to determine a number of accounting requests handled by the second destination CDF, and to calculate a percentage of accounting requests handled by the second destination CDF;
when the percentage of accounting requests handled by the second destination CDF is greater than 50%, the second destination CDF is configured to select itself as a reconciliation host to generate a Charging Data Record (CDR) for the session;
when the percentage of accounting requests handled by the second destination CDF is less than 50%, the second destination CDF is configured to query other destination CDFs indicated in the tracking parameter for a number of accounting requests handled by each destination CDF, and to select the reconciliation host based on the destination CDF that handled the highest number of accounting requests.

### Claim 8

A method comprising:
receiving an interim accounting request in a distributor unit from a Charging Trigger Function (CTF) for a session, wherein the distributor unit connects to a plurality of Charging Data Functions (CDFs) for offline charging;
wherein the interim accounting request includes a tracking parameter populated with at least one CDF identifier (ID) indicating at least one destination CDF that handled accounting requests for the session;
processing the tracking parameter in the interim accounting request to identify a first CDF ID for a first destination CDF that handled accounting requests for the session;
when the first destination CDF is available to receive the interim accounting request, transmitting the interim accounting request to the first destination CDF;
when the first destination CDF is not available to receive the interim accounting request:
selecting a second destination CDF for the interim accounting request based on a distribution algorithm;
adding a second CDF ID for the second destination CDF in the tracking parameter of the interim accounting request; and
transmitting the interim accounting request to the second destination CDF.

### Claim 9 (depends on 8)

The method of claim 8 wherein adding a second CDF ID for the second destination CDF in the tracking parameter of the interim accounting request comprises:
scanning the tracking parameter for an appearance of the second CDF ID; and
adding the second CDF ID in the tracking parameter when the second CDF ID does not already appear in the tracking parameter.

### Claim 10 (depends on 8)

The method of claim 8 wherein adding a second CDF ID for the second destination CDF in the tracking parameter of the interim accounting request comprises:
adding the second CDF ID in the tracking parameter responsive to selecting the second destination CDF based on the distribution algorithm so that the tracking parameter indicates a sequence of destination CDFs that handled accounting requests for the session.

### Claim 11 (depends on 8)

The method of claim 8 wherein:
the interim accounting request comprises a Diameter Accounting Request (ACR); and
the tracking parameter comprises a Diameter Attribute Value Pair (AVP) defined for the CDF IDs indicating the CDFs that handled accounting requests for the session.

### Claim 12 (depends on 8)

The method of claim 8 further comprising:
receiving an interim accounting answer from the second destination CDF that includes the tracking parameter; and
sending the interim accounting answer to the CTF.

### Claim 13 (depends on 8)

The method of claim 8 wherein:
the distribution algorithm comprises a consistent hashing algorithm that selects the second destination CDF based on a session identifier in the interim accounting request.

### Claim 14 (depends on 8)

The method of claim 8 further comprising:
receiving a stop accounting request in the second destination CDF from the CTF indicating an end to the session, wherein the stop accounting request includes the tracking parameter;
determining, in the second destination CDF, a total number of the accounting requests for the session;
determining a number of accounting requests handled by the second destination CDF;
calculating a percentage of accounting requests handled by the second destination CDF;
when the percentage of accounting requests handled by the second destination CDF is greater than 50%, selecting the second destination CDF as a reconciliation host to generate a Charging Data Record (CDR) for the session;
when the percentage of accounting requests handled by the second destination CDF is less than 50%, querying other destination CDFs indicated in the tracking parameter for a number of accounting requests handled by each destination CDF, and selecting the reconciliation host based on the destination CDF that handled the highest number of accounting requests.

### Claim 15

An apparatus comprising:
a plurality of Charging Data Functions (CDFs) for offline charging for a session;
a first one of the CDFs comprising a selection unit configured to receive a stop accounting request for the session indicating an end to the session, wherein the stop accounting request includes a tracking parameter populated with CDF identifiers (IDs) indicating the CDFs that handled accounting requests for the session;
the selection unit is configured to select a reconciliation host to generate a Charging Data Record (CDR) for the session from the CDFs indicated in the tracking parameter.

### Claim 16 (depends on 15)

The apparatus of claim 15 wherein:
the stop accounting request comprises a Diameter Accounting Request (ACR); and
the tracking parameter comprises a Diameter Attribute Value Pair (AVP) defined for the CDF IDs indicating the CDFs that handled the accounting requests for the session.

### Claim 17 (depends on 15)

The apparatus of claim 15 wherein:
the selection unit is configured to determine a total number of the accounting requests for the session, to determine a number of accounting requests handled by the first CDF, and to calculate a percentage of accounting requests handled by the first CDF;
when the percentage of accounting requests handled by the first CDF is greater than 50%, the selection unit is configured to select the first CDF as the reconciliation host to generate the CDR for the session.

### Claim 18 (depends on 15)

The apparatus of claim 15 wherein:
the selection unit is configured to query other CDFs indicated in the tracking parameter for a number of accounting requests handled by each of the other CDFs, and to select the reconciliation host based on the CDF that handled the highest number of accounting requests for the session.

### Claim 19 (depends on 18)

The apparatus of claim 18 wherein:
when a second one of the CDFs is selected as the reconciliation host, the first CDF is configured to send a notification message to the reconciliation host, wherein the notification message indicates the other CDFs that handled accounting requests for the session.

### Claim 20 (depends on 15)

The apparatus of claim 15 wherein:
the first CDF further comprises:
a CDF generator configured to identify the other CDFs that handled accounting requests for the session, to query the other CDFs for the accounting requests for the session, to process the accounting requests to generate the CDR, and to forward the CDR to a Charging Gateway Function (CGF).
