IP Library Granted Patent US 9,787,852
Granted Patent B2
US 9,787,852 · App. 14/296,089 · Granted Oct 10, 2017

Sequence number reuse for CDR transport using GTP'

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,787,852
App. No.
14/296,089
Granted
Oct 10, 2017
Kind
B2
Abstract

Systems and methods that transport Charging Data Records (CDRs) using GTP′ for offline charging. One embodiment comprises a Charging Data Function (CDF) that communicates with a Charging Gateway Function (CGF) of an offline charging system using GTP′. The CDF assembles a GTP′ request for a transaction, assigns a sequence number for the transaction, and assigns a timestamp to the sequence number. The CDF inserts the sequence number in a GTP′ header of the GTP′ request, inserts the timestamp assigned to the sequence number in the GTP′ header of the GTP′ request, and sends the GTP′ request to the CGF.

Claims (51)

1. An apparatus comprising:

a Charging Data Function (CDF) including an interface component configured to communicate with a Charging Gateway Function (CGF) of an offline charging system using GPRS Tunneling Protocol prime (GTP′);

the CDF including a processor that assembles a GTP′ request for a transaction, assigns a sequence number for the transaction, assigns a timestamp to the sequence number for the duration of the transaction, inserts the sequence number in a GTP′ header of the GTP′ request, inserts the timestamp assigned to the sequence number in the GTP′ header of the GTP′ request, sends the GTP′ request to the CGF through the interface component, and stores an entry for the transaction in a send buffer that is referenced by the sequence number and the timestamp;

the processor receives a GTP′ response for the transaction from the CGF through the interface component, processes the GTP′ header of the GTP′ response to identify the sequence number, processes the GTP′ header of the GTP′ response to identify the timestamp assigned to the sequence number, identifies the entry in the send buffer that is referenced by the sequence number and the timestamp, and deletes the entry from the send buffer when the GTP′ response indicates that the GTP′ request was accepted by the CGF.

2. The apparatus of claim 1 wherein:

a timestamp field is defined in the GTP′ header.

3. The apparatus of claim 2 wherein:

the timestamp field comprises a 64-bit UNIX timestamp.

4. The apparatus of claim 2 wherein:

the timestamp field is defined as octets 7-14 of the GTP′ header.

5. The apparatus of claim 1 wherein:

the processor inserts the timestamp in the GTP′ header when the GTP′ request comprises a GTP′ Data Record Transfer Request.

6. The apparatus of claim 1 wherein:

the CGF receives the GTP′ request from the CDF, processes the GTP′ header of the GTP′ request to identify the sequence number, processes the GTP′ header of the GTP′ request to identify the timestamp assigned to the sequence number, and stores another entry for the transaction that is referenced by the sequence number and the timestamp.

7. The apparatus of claim 6 wherein:

the CGF stores the other entry for the transaction that is further referenced by an identifier for the CDF.

8. A method comprising:

assembling a GPRS Tunneling Protocol prime (GTP′) request for a transaction in a Charging Data Function (CDF), wherein the CDF communicates with a Charging Gateway Function (CGF) of an offline charging system using GTP′;

assigning, at the CDF, a sequence number for the transaction;

assigning a timestamp to the sequence number for the duration of the transaction;

inserting the sequence number in a GTP′ header of the GTP′ request;

inserting the timestamp assigned to the sequence number in the GTP′ header of the GTP′ request;

sending the GTP′ request from the CDF to the CGF;

storing an entry for the transaction in a send buffer of the CDF that is referenced by the sequence number and the timestamp;

receiving a GTP′ response for the transaction in the CDF from the CGF;

processing, at the CDF, the GTP′ header of the GTP′ response to identify the sequence number;

processing the GTP′ header of the GTP′ response to identify the timestamp assigned to the sequence number;

identifying the entry in the send buffer that is referenced by the sequence number and the timestamp; and

deleting the entry from the send buffer when the GTP′ response indicates that the GTP′ request was accepted by the CGF.

9. The method of claim 8 wherein:

a timestamp field is defined in the GTP′ header.

10. The method of claim 9 wherein:

the timestamp field comprises a 64-bit UNIX timestamp.

11. The method of claim 9 wherein:

the timestamp field is defined as octets 7-14 of the GTP′ header.

12. The method of claim 8 wherein inserting the timestamp comprises:

inserting the timestamp in the GTP′ header when the GTP′ request comprises a GTP′ Data Record Transfer Request.

13. The method of claim 8 further comprising:

receiving the GTP′ request in the CGF from the CDF;

processing, at the CGF, the GTP′ header of the GTP′ request to identify the sequence number;

processing, at the CGF, the GTP′ header of the GTP′ request to identify the timestamp assigned to the sequence number; and

storing another entry for the transaction in the CGF that is referenced by the sequence number and the timestamp.

14. The method of claim 13 wherein storing another entry for the transaction in the CGF comprises:

storing the other entry for the transaction that is further referenced by the sequence number, the timestamp, and an identifier for the CDF.

15. An apparatus comprising:

a Charging Gateway Function (CGF) of an offline charging system that includes an interface component configured to communicate with a Charging Data Function (CDF) using GPRS Tunneling Protocol prime (GTP′);

the CGF includes a processor that receives a GTP′ request from the CDF for a transaction through the interface component, processes a GTP′ header of the GTP′ request to identify a sequence number assigned to the transaction, processes the GTP′ header of the GTP′ request to identify a timestamp assigned to the sequence number, and stores an entry for the transaction in a receive buffer that is referenced by the sequence number and the timestamp;

the processor assembles a GTP′ response for the transaction, inserts the sequence number in a GTP′ header of the GTP′ response, inserts the timestamp assigned to the sequence number in the GTP′ header of the GTP′ response, and sends the GTP′ response to the CDF through the interface component;

wherein the processor stores the entry for the transaction in the receive buffer that is referenced by the sequence number and the timestamp until the sequence number is discharged by the CDF.

16. The apparatus of claim 15 wherein:

a timestamp field is defined in the GTP′ header.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Sep 3, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033684/0046 →
RELEASE OF SECURITY INTEREST Recorded Aug 24, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA, INC.
Reel/Frame 033596/0898 →
SECURITY INTEREST Recorded Aug 7, 2014
From: ALCATEL LUCENT USA, INC.
To: CREDIT SUISSE AG
Reel/Frame 033500/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2014
From: SHARMA, RANJAN
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033085/0726 →