IP Library Granted Patent US 9,071,633
Granted Patent B2
US 9,071,633 · App. 14/171,500 · Granted Jun 30, 2015

Methods, systems, and computer program products for storing communication session data at a network interface module

Inventors: David Z. Lu (Dallas, TX); San-Qi Li (Plano, TX)
Assignee: GENBAND US LLC
H04L67/1097H04L45/7453H04L65/605H04L65/608H04L65/103H04L67/06
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,071,633
App. No.
14/171,500
Granted
Jun 30, 2015
Kind
B2
Abstract

The subject matter described herein includes methods, systems, and computer program products for storing communication session information at a network interface module. One method described herein includes receiving a plurality of RTCP packets associated with a communication session at a network interface module. RTCP information is extracted from at least one of the packets. The extracted RTCP information is stored in memory local to the network interface module.

Claims (47)

1. A method for storing communication session information at a network interface module, the method comprising:

receiving, at a network interface module of a network node, a plurality of real time transport control protocol (RTCP) packets associated with a communication session;

extracting, using a network processor at the network interface module, RTCP information from at least one of the RTCP packets;

storing, using the network processor at the network interface module, the extracted RTCP information in memory located at the network interface module; and

using the network processor to forward incoming packets to an appropriate voice server module of a plurality of voice server modules and to forward outbound media packets over a communications network.

2. The method of claim 1 wherein receiving a plurality of RTCP packets associated with a communication session includes receiving the plurality of RTCP packets associated with the communication session at a media gateway.

3. The method of claim 2 wherein receiving the plurality of RTCP packets associated with the communication session at the media gateway includes receiving the plurality of RTCP packets associated with the communication session at an Internet protocol (IP) network interface module of the media gateway.

4. The method of claim 1 wherein receiving the plurality of RTCP packets associated with the communication session includes receiving the plurality of RTCP packets associated with the communication session at a session border controller (SBC).

5. The method of claim 1 wherein receiving the plurality of RTCP packets associated with the communication session includes receiving RTCP packets associated with a voice over Internet protocol (VoIP)-to-VoIP call session, and further comprising routing the RTCP packets from the network interface module to another network interface module in the network node in a manner that bypasses a voice server module in the network node.

6. The method of claim 1 wherein receiving the plurality of RTCP packets associated with the communication session includes receiving packets associated with a voice over Internet protocol (VoIP)-to-time division multiplexing (TDM) call session and further comprising forwarding the packets to a voice server module in the network node.

7. The method of claim 1 wherein storing the extracted RTCP information comprises:

allocating memory associated with the network interface module for the communication session; and

writing the extracted RTCP information to the allocated memory.

8. The method of claim 1 wherein storing the extracted RTCP information includes allocating storage space in random access memory (RAM) of the network interface module.

9. The method of claim 1 wherein storing the extracted RTCP information includes allocating storage space in content addressable memory (CAM) of the network interface module.

10. The method of claim 1 wherein storing the extracted RTCP information comprises:

extracting session identification information from the at least one RTCP packet for use as a search key for locating a record in the memory allocated to store RTCP information from the RTCP packet;

searching the memory using the search key; and

in response to locating a record corresponding to the search key, updating RTCP information stored in the record with the extracted RTCP information.

11. The method of claim 10 wherein extracting session identification information from the at least one RTCP packet includes extracting an Internet protocol (IP) address and a user datagram protocol (UDP) port number.

12. The method of claim 1 wherein storing the extracted RTCP information comprises storing at least one of a sender's packet count, the sender's octet count, a fraction of packets lost, a cumulative number of packets lost, and packet interarrival jitter.

13. A system for storing communication session information, the system comprising:

a network node including:

a plurality of voice processing resources for processing voice packets associated with communications sessions and for sending real time transport control protocol (RTCP) packets to and receiving RTCP packets from a network; and

a plurality of network interface modules for sending the voice and RTCP packets to and receiving the voice and RTCP packets from the network, wherein at least one of the network interface modules includes an RTCP caching module for extracting, using a network processor at the network interface module, RTCP information from at least one of the RTCP packets, for storing, using the network processor at the network interface module, the extracted RTCP information in memory located at the network interface module, wherein the network processor is configured to forward incoming packets to an appropriate voice server module of the plurality of voice server modules and to forward outbound media packets over a communications network and an RTCP cache for caching RTCP information from the received RTCP packets, wherein the RTCP cache includes the memory located at the network interface module.

14. The system of claim 13 wherein the network node comprises a media gateway.

15. The system of claim 13 wherein the network node comprises a session border controller (SBC).

16. The system of claim 13 wherein the at least one of the network interfaces comprises an Internet protocol (IP) network interface.

17. The system of claim 13 wherein the at least one of the network interfaces is adapted to receive and route packets associated with a voice over Internet protocol (VoIP)-to-VoIP call session that does not require transcoding to another of the network interfaces in a manner that bypasses the voice processing resources.

18. The system of claim 13 wherein the at least one of the network interfaces is adapted to route packets associated with a voice over Internet protocol (VoIP)-to-time division multiplexing (TDM) call session that requires transcoding to one of the voice processing resources.

19. The system of claim 13 wherein the RTCP caching module is adapted to:

allocate memory in the RTCP cache for at least one of the communication sessions; and

write the RTCP information from at least one of the RTCP packets to the allocated memory.

20. The system of claim 13 wherein the RTCP cache comprises a random access memory (RAM).

21. The system of claim 13 wherein the RTCP cache comprises a content addressable memory (CAM).

22. The system of claim 13 wherein the RTCP caching module is adapted to:

extract session identification information from one of the received RTCP packets for use as a search key for locating a record in the RTCP cache for storing RTCP information for a session; and

in response to locating a record using the search key, to update RTCP information stored in the record with RTCP information extracted from the one received RTCP packet.

23. The system of claim 22 wherein the RTCP caching module is adapted to extract an Internet protocol (IP) address and a user datagram protocol (UDP) port number from the one received RTCP packet for use as the session key.

24. The system of claim 22 wherein the RTCP caching module is adapted to, in response to failing to locate the stored RTCP information, allocate space in the RTCP cache and store the RTCP information extracted from the one RTCP received packet in the allocated space.

25. The system of claim 13 wherein the RTCP caching module is adapted to store at least one of a packet sender's packet count, the packet sender's octet count, and a fraction of packets lost, a cumulative number of packets lost, and packet interarrival jitter for the RTCP packets in the RTCP cache.

26. The system of claim 13 comprising a central processing unit (CPU) for controlling overall operation of the network node, wherein the RTCP caching module and the RTCP cache are located at the at least one of the network interfaces and separate from the CPU.

27. A non-transitory computer program product comprising computer executable instructions embodied in a non-transitory computer readable medium for performing steps comprising:

receiving, at a network interface module of a network node, a plurality of real time transport control protocol (RTCP) packets associated with a communication session;

extracting, using a network processor at the network interface module, RTCP information from at least one of the RTCP packets;

storing, using the network processor at the network interface module, the extracted RTCP information in memory located at the network interface module; and

using the network processor to forward incoming packets to an appropriate voice server module of a plurality of voice server modules and to forward outbound media packets over a communications network.

Assignments (8)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
Continuity (2)
Continuation 11580224 · Oct 12, 2006
Related Publication 20140215002A1 · Jul 31, 2014