IP Library Granted Patent US 6,956,820
Granted Patent B2
US 6,956,820 · App. 10/943,275 · Granted Oct 18, 2005

Methods, systems, and computer program products for voice over IP (VoIP) traffic engineering and path resilience using network-aware media gateway

Assignee: Santera Systems, Inc.
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 6,956,820
App. No.
10/943,275
Granted
Oct 18, 2005
Kind
B2
Abstract

Methods and systems for providing voice over IP traffic engineering and path resilience using a network-aware media gateway are provided. In a media gateway, voice over IP hosts are assigned a first set of IP addresses. Network interfaces in the media gateway are assigned a second set of IP addresses that differ from the first set of IP addresses. Per-interface routers advertise reachability information from at least one of the voice over IP hosts via multiple interfaces and participate in network routing protocols to generate per interface routing tables. Voice over IP path lists may be generated based on the per interface routing tables. Internal costs may be assigned to the associations between the voice over IP hosts and the interfaces based on traffic engineering criteria.

Claims (78)

1. A method for providing a network-aware media gateway having voice over IP (VoIP) hosts, the method comprising:

in a media gateway:

(a) providing a plurality of voice over IP hosts containing media processing modules for processing media streams associated with media sessions between media gateways;

(b) assigning a first set of IP addresses to the voice over IP hosts;

(c) providing a plurality of network interfaces for connecting the voice over IP hosts to a network;

(d) assigning a second set of IP addresses to the network interfaces, wherein addresses in the second set of IP addresses differ from addresses in the first set of IP addresses; and

(e) providing a plurality of per interface routers corresponding to the plurality of network interfaces, wherein the per interface routers advertise reachability information regarding at least one of the voice over IP hosts to the network via at least two of the interfaces and wherein the per interface routers receive network routing information from the network and generate per interface routing tables based on the network routing information.

2. The method of claim 1 comprising assigning costs to internal associations between the per-interface routers and voice over IP hosts reachable via the per interface routers.

3. The method of claim 2 wherein assigning costs to internal associations between the per-interface routers and voice over IP hosts reachable via the per interface routers includes assigning costs that are substantially equal to network route costs to remote voice over IP hosts.

4. The method of claim 2 wherein assigning costs to internal associations between the per-interface routers and voice over IP hosts reachable via the per interface routers includes assigning costs that are at least one order of magnitude greater than network route costs to remote voice over IP hosts.

5. The method of claim 2 wherein assigning costs to internal associations between the per-interface routers and voice over IP hosts reachable via the per interface routers includes assigning costs to the links that are at least one order of magnitude less than network route costs to remote voice over IP hosts.

6. The method of claim 1 comprising executing a path selection algorithm to determine a list of voice over IP paths to a remote voice over IP host based on the per interface routing tables.

7. The method of claim 6 wherein executing a path selection algorithm includes executing a destination-fixed path selection algorithm where lowest cost paths from each of the voice over IP hosts in the media gateway are selected to a fixed destination voice over IP host.

8. The method of claim 6 wherein executing a path selection algorithm includes executing a matrix-walk path selection algorithm including:

(a) computing an end-to-end cost matrix indicating routing costs between the voice over IP hosts in the media gateway and voice over IP hosts in a destination media gateway; and

(b) selecting a predetermined number of lowest cost paths from the end-to-end cost matrix.

9. The method of claim 6 wherein executing a path selection algorithm includes executing a paired path selection algorithm including:

(a) computing an end-to-end cost matrix indicating total costs of routes between the voice over IP hosts in the media gateway and a plurality of destination voice over IP hosts in a destination media gateway;

(b) selecting a lowest cost path from the cost matrix and adding the lowest cost path to the path list;

(c) removing voice over IP hosts associated with the lowest cost path from the matrix; and

(d) repeating the lowest cost path selection and voice over IP host removal steps until a predetermined number of lowest cost paths are present in the path list.

10. The method of claim 6 comprising assigning voice over IP sessions to paths in the path list.

11. The method of claim 10 wherein assigning voice over IP sessions to the paths in the path list includes the assigning voice over IP sessions to the paths using traffic engineering criteria.

12. The method of claim 11 wherein assigning voice over IP sessions to the paths based on traffic engineering criteria includes assigning voice over IP sessions to the paths based on load balancing criteria.

13. The method of claim 11 wherein assigning voice over IP sessions to the paths based on traffic engineering criteria includes assigning voice over IP sessions to the paths based on financial cost criteria.

14. The method of claim 11 wherein assigning voice over IP sessions to the paths based on traffic engineering criteria includes assigning voice over IP sessions to the paths based on time related criteria.

15. The method of claim 10 comprising measuring path traffic and dynamically updating cost information associated with the path list and wherein assigning voice over IP sessions to the paths in the path list based on traffic engineering criteria includes assigning voice over IP sessions to the paths based on dynamically updated cost information.

16. The method of claim 10 wherein assigning sessions to the voice over IP paths includes assigning sessions to the voice over IP paths from the media gateway.

17. The method of claim 16 wherein assigning sessions to the voice over IP paths includes:

(a) assigning a first session to a first path associated with a first interface in the media gateway and sending and receiving media stream packets associated with the first session through the first interface;

(b) receiving packets associated with the first session over a second interface of the media gateway;

(c) determining whether the media gateway is configured to allow dynamic path re-assignment for existing sessions;

(d) in response to determining that the media gateway is configured to allow dynamic path reassignment for existing sessions, assigning the session to a new path associated with the second interface; and

(e) in response to determining that the media gateway is not configured to allow dynamic path reassignment for existing sessions, dropping the first session.

18. The method of claim 10 wherein assigning sessions to the voice over IP paths includes assigning sessions from a softswitch associated with the media gateway.

19. The method of claim 10 wherein assigning sessions to the voice over IP paths includes assigning sessions from a voice over IP traffic engineering server associated with the media gateway.

20. The method of claim 10 comprising updating the path list and wherein assigning sessions to the voice over IP paths includes assigning new sessions to voice over IP paths in the updated path list.

21. The method of claim 10 comprising updating the path list and wherein assigning sessions to the voice over IP paths includes reassigning existing sessions to the paths in the updated path list.

22. The method of claim 1 wherein the per interface routers refrain from advertising routing information received by other per interface routers.

23. The method of claim 1 wherein the per interface routers refrain from routing data traffic that is not associated with a VoIP session.

24. A network-aware media gateway with multi-appearing voice over IP (VoIP) hosts, the media gateway comprising:

(a) a plurality voice over IP hosts containing voice processing resources for processing media streams associated with media communication sessions between media gateways, the voice over IP hosts being assigned a first set of IP addresses;

(b) a plurality of network interfaces for connecting the voice over IP hosts to an external network, the network interfaces being assigned a second set of IP addresses, wherein IP addresses in the second set are different from IP addresses in the first set; and

(c) a plurality of per interface routers associated with the network interfaces, wherein the per interface routers advertise reachability information regarding at least one of the voice over IP hosts to the network via at least two of the interfaces and wherein the per interface routers receive network routing information from the network and dynamically generate and maintain per interface routing tables.

25. The media gateway of claim 24 comprising a plurality of internal links for connecting the voice over IP hosts to the network interfaces and a cost matrix including costs associated with each of the internal links.

26. The media gateway of claim 25 wherein at least one of the costs in the cost matrix is substantially equal to a network route cost to a remote voice over IP host.

27. The media gateway of claim 25 wherein at least one of the costs in the cost matrix is at least one order of magnitude greater than a network route cost to a remote voice over IP host.

28. The media gateway of claim 25 wherein at least one of the cost in the cost matrix is at least one order of magnitude of less than a network route cost to a remote voice over IP host.

29. The media gateway of claim 24 comprising a resource manager for managing resources of the media gateway, wherein the resource manager is adapted to execute a VoIP path selection algorithm for generating a list of voice over IP paths to a remote voice over IP destination based on the per interface routing tables.

30. The media gateway of claim 29 wherein the resource manager is adapted to execute a destination-fixed path selection algorithm wherein the path list is generated by selecting a predetermined number of lowest-cost paths from the voice over IP hosts in the media gateway to a fixed destination voice over IP host.

31. The media gateway of claim 29 wherein the resource manager is adapted to execute a matrix walk path selection algorithm wherein the resource manager generates an end to end cost matrix including costs between voice over IP hosts in the media gateway and remote voice over IP hosts and selects best voice over IP paths for the path list based on the end to end cost matrix.

32. The media gateway of claim 29 wherein the resource manager is adapted to execute a paired path selection algorithm wherein the resource manager generates a cost matrix and selects the best voice over IP paths for the path list by selecting paths from the cost matrix and successively removing voice over IP hosts associated with each selected path from the cost matrix.

33. The media gateway of claim 29 for wherein the resource manager is adapted to assign media sessions to voice over IP paths in the path list.

34. The media gateway of claim 33 wherein the resource manager is adapted to assign voice over IP sessions to the voice over IP paths based on traffic engineering criteria.

35. The media gateway of claim 34 wherein the traffic engineering criteria includes path routing costs.

36. The media gateway of claim 34 wherein the traffic engineering criteria includes relative loading of the voice over IP paths.

37. The media gateway of claim 34 wherein the traffic engineering criteria include time based criteria.

38. The media gateway of claim 33 wherein the resource manager is adapted to dynamically measure traffic conditions on each of the voice over IP paths and assign the sessions to the voice over IP paths based on the dynamically measured traffic conditions.

39. The media gateway of claim 33 wherein the resource manager is adapted to detect whether packets associated with an existing session arrive on a new interface, and, in response, to dynamically assign the existing session to a new path.

40. A computer program product comprising computer executable instructions embodied in a computer readable medium for performing steps comprising:

(a) assigning a first set of voice over IP addresses to a plurality of voice over IP addresses to a plurality of voice over IP hosts in a media gateway;

(b) assigning a second set of voice over IP addresses to a plurality of network interfaces in the media gateway, wherein IP addresses in the second set differ from IP addresses in the first set;

(c) advertising reachability information regarding at least one of the voice over IP hosts to the network via at least two of the network interfaces; and

(d) dynamically generating per-interface routing tables associated with each of the network interfaces based on routing information received from a network.

41. The computer program product of claim 40 comprising assigning costs to internal associations between the voice over IP hosts and the network interfaces.

42. The computer program of claim 41 wherein assigning costs includes assigning costs that are substantially equal to network routing costs to remote voice over IP hosts.

43. The computer program product of claim 41 wherein assigning costs includes assigning costs that are at least one order of magnitude greater than network routing costs to remote voice over IP hosts.

44. The computer program product of claim 41 wherein assigning costs includes assigning costs that are at least one order of magnitude of less than network routing costs to remote voice over IP hosts.

45. The computer program product of claim 40 comprising generating a voice over IP path list including voice over IP paths to a remote media gateway based on the per-interface routing tables.

46. The computer program product of claim 45 wherein generating a voice over IP path list includes generating a voice over IP path list using a destination-fixed path selection algorithm that includes selecting a predetermined number of best paths from the voice over IP host to a fixed voice over IP destination associated with the remote media gateway.

47. The computer program product of claim 45 wherein generating a voice over IP path list includes generating the voice over IP path list using a matrix walk algorithm that includes generating an end-to-end cost matrix between the voice over IP hosts and voice IP hosts associated with the remote media gateway and selecting a predetermined number of lowest cost paths from the end-to-end cost matrix.

48. The computer program product of claim 45 wherein generating a voice over IP path list includes generating a voice over IP path list using a paired selection algorithm that includes generating a cost matrix indicating costs of paths between the voice over IP hosts and voice over IP hosts associated with the remote media gateway, iteratively selecting lowest cost paths from the cost matrix, and removing voice over IP hosts associated with each selected path from the matrix.

49. The computer program product of claim 45 comprising assigning voice over IP sessions to the voice over IP paths in the path list.

50. The computer program product of claim 49 wherein assigning voice over IP sessions to the voice over IP paths includes assigning the voice over IP sessions to the voice over IP paths based on traffic engineering criteria.

51. The computer program product of claim 50 wherein the traffic engineering criteria include load-based traffic engineering criteria.

52. The computer program product of claim 50 wherein the traffic engineering criteria include cost-based traffic engineering criteria.

53. The computer program product of claim 50 wherein the traffic engineering criteria include time-based traffic engineering criteria.

54. The computer program product of claim 50 comprising dynamically measuring traffic conditions on the voice over IP paths and wherein assigning sessions to the voice over IP paths based on traffic engineering criteria includes assigning the sessions to the voice over IP paths based on the dynamically measured traffic conditions on the paths.

Assignments (15)
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 →
RELEASE AND REASSIGNMENT OF PATENTS Recorded Jul 7, 2016
From: COMERICA BANK, AS AGENT
To: GENBAND US LLC
Reel/Frame 039280/0467 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2014
From: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
To: GENBAND US LLC
Reel/Frame 031968/0955 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: GENBAND US LLC
To: COMERICA BANK
Reel/Frame 025333/0054 →
PATENT SECURITY AGREEMENT Recorded Jun 18, 2010
From: GENBAND US LLC
To: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
Reel/Frame 024555/0809 →
CHANGE OF NAME Recorded Jun 2, 2010
From: GENBAND INC.
To: GENBAND US LLC
Reel/Frame 024468/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2009
From: SANTERA SYSTEMS, LLC
To: GENBAND, INC.
Reel/Frame 023471/0754 →
MERGER Recorded Jan 22, 2009
From: SANTERA SYSTEMS, INC.
To: SANTERA SYSTEMS, LLC
Reel/Frame 022151/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2004
From: ZHU, RUPERT; LU, DAVID Z.; LI, SAN-QI; QIAN, EDWARD Y.
To: SANTERA SYSTEMS, INC.
Reel/Frame 015493/0635 →
Continuity (4)
Continuation In Part 1067623300 · Oct 1, 2003
Provisional Application 6052612600 · Dec 1, 2003
Provisional Application 6055181400 · Mar 10, 2004
Related Publication 20050083844A1 · Apr 21, 2005