IP Library Granted Patent US 10,397,316
Granted Patent B2
US 10,397,316 · App. 15/821,475 · Granted Aug 27, 2019

Methods and apparatus for load balancing in SDN networks

Inventors: Shaun Jaikarran Bharrat (Manalapan, NJ); Tolga Asveren (Bordentown, NJ); Justin Hart (Purton, GB)
Assignee: Ribbon Communications Operating Company, Inc.
H04L67/1027H04L65/1006H04L65/1069
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 10,397,316
App. No.
15/821,475
Granted
Aug 27, 2019
Kind
B2
Abstract

Methods and apparatus for providing load balancing in a Software Defined Network (SDN). An exemplary embodiment includes the steps of: receiving by a Session Border Controller (SBC) cluster leader a first SIP invite message including a source IP address, assigning responsibility for processing the received message to a first SBC in a cluster of SBCs, and initiating by the first SBC installation of a first flow table entry into SDN switches used to control packet routing in an SDN network, the first flow table entry controlling SDN switches into which the first flow table entry is installed to replace a destination IP address in received packets which satisfy matching criteria of the first flow table entry with a first SBC IP ingress address of the first SBC and to route received packets matching the criteria of the first flow table entry based on the first SBC IP ingress address.

Claims (43)

1. A method of assigning responsibility for processing of Session Initiation Protocol (SIP) messages addressed to a shared Session Border Controller (SBC) IP ingress address, the method comprising:

operating a SBC cluster leader to receive a first SIP invite message and assign responsibility for processing the first SIP invite message to a first SBC in a plurality of SBCs, said plurality of SBCs being a cluster of SBCs, said SBC cluster leader being the leader of the cluster of SBCs, said first SIP invite message including a first SIP packet header including a first source IP address; and

operating the first SBC to initiate installation of a first flow table entry into Software Defined Networking (SDN) switches used to control packet routing in an SDN network, said SDN switches including at least a first SDN switch, said first flow table entry controlling SDN switches into which the first flow table entry is installed to replace a destination IP address in received packets which satisfy matching criteria of the first flow table entry with a first SBC IP ingress address of the first SBC and to route received packets matching the criteria of the first flow table entry based on the first SBC IP ingress address.

2. The method of claim 1 , wherein said matching criteria of the first flow table entry includes:

a packet header source IP address which matches the first source IP address and a packet header destination IP address which matches the shared SBC IP ingress address.

3. The method of claim 1 , further comprising:

operating the SBC cluster leader to notify the first SBC of responsibility for handling packets sent from the first source IP address and addressed to the shared SBC IP ingress address.

4. The method of claim 3 , wherein operating the SBC cluster leader to notify the first SBC of responsibility for handling packets sent from the first source IP address and addressed to the shared SBC IP ingress address includes:

forwarding the first SIP invite message to the first SBC.

5. The method of claim 4 , further comprising:

operating the SBC cluster leader to receive a second SIP invite message and assign responsibility for processing the second SIP invite message to a second SBC in the plurality of SBCs, said second SIP invite message including a second SIP packet header including a second source IP address which is different from said first source IP address; and

operating the SBC cluster leader to send a notification to the second SBC of responsibility for handling packets sent from the second source IP address and addressed to the shared SBC IP ingress address.

6. The method of claim 5 , further comprising:

operating the second SBC to receive the notification of responsibility for handling packets sent from the second source IP address and addressed to the shared SBC IP ingress address;

operating the second SBC to respond to the received notification of responsibility for handling packets sent from the second source IP address and addressed to the shared SBC ingress address by:

i) sending an acknowledgement to said SBC cluster leader, and

ii) initiating installation of a second flow table entry into SDN switches used to control packet routing in the SDN network, said second flow table entry controlling SDN switches into which the second flow table entry is installed to replace a destination IP address in received packets which satisfy matching criteria of the second flow table entry with a second SBC IP ingress address of the second SBC and to route received packets satisfying the matching criteria of the second flow table entry based on the second SBC IP ingress address.

7. The method of claim 6 , wherein said matching criteria of the second flow table entry includes:

a packet header source IP address which matches the second source IP address and a packet header destination IP address which matches the shared SBC IP ingress address.

8. The method of claim 1 , further comprising:

prior to operating the SBC cluster leader to receive the first SIP invite message, operating the SBC cluster leader to initiate installation of a default flow table entry that controls SDN switches that include the default flow table entry to replace a destination IP address in received packets which satisfy matching criteria of the default flow table entry with an IP ingress address of the SBC cluster leader and to route received packets satisfying the matching criteria of the default flow table entry based on the IP ingress address of the SBC cluster leader.

9. The method of claim 8 , wherein the default flow table entry has a lower priority than the first flow table entry.

10. The method of claim 9 , wherein the matching criteria of the default flow table entry is an IP destination address in a received packet header matching the shared SBC IP ingress address and a destination port number that matches a specified port number.

11. The method of claim 1 , further comprising:

prior to the SBC cluster leader receiving the first SIP invite message, initiating installation of a third flow table entry into said SDN switches, said third flow table entry controlling SDN switches into which the third flow table entry is installed to replace a source IP address in received packets which satisfy matching criteria of the third flow table entry with the shared SBC IP ingress address and to route received packets satisfying the matching criteria of the third flow table entry based on a destination address and port number included in the packet header of the received packet satisfying the matching criteria of the third flow table entry.

12. The method of claim 11 , wherein the matching criteria of the third flow table entry includes a source IP address in the received packet matching the first SBC IP ingress address.

13. A communications system comprising:

a Session Border Controller (SBC) cluster leader including a first processor configured to control the operation of the SBC cluster leader to receive a first SIP invite message and assign responsibility for processing the first SIP invite message to a first SBC in a plurality of SBCs, said plurality of SBCs being a cluster of SBCs, said SBC cluster leader being the leader of the cluster of SBCs, said first SIP invite message including a first SIP packet header including a first source IP address; and

the first SBC including a second processor configured to control the operation of the first SBC to initiate installation of a first flow table entry into Software Defined Networking (SDN) switches used to control packet routing in an SDN network, said SDN switches including at least a first SDN switch, said first flow table entry controlling SDN switches into which the first flow table entry is installed to replace a destination IP address in received packets which satisfy matching criteria of the first flow table entry with a first SBC IP ingress address of the first SBC and to route received packets matching the criteria of the first flow table entry based on the first SBC IP ingress address.

14. The communications system of claim 13 , wherein said matching criteria of the first flow table entry includes:

a packet header source IP address which matches the first source IP address and a packet header destination IP address which matches a shared SBC IP ingress address.

15. The communications system of claim 13 ,

wherein said first processor is further configured to control the operation of the SBC cluster leader to notify the first SBC of responsibility for handling packets sent from the first source IP address and addressed to the shared SBC IP ingress address.

16. The communications system of claim 15 , wherein said control the operation of the SBC cluster leader to notify the first SBC of responsibility for handling packets sent from the first source IP address and addressed to the shared SBC IP ingress address includes the SBC cluster leader forwarding the first SIP invite message to the first SBC.

17. The communications system of claim 16 , wherein said first processor is further configured to control the operation of the SBC cluster leader to:

receive a second SIP invite message and assign responsibility for processing the second SIP invite message to a second SBC in the plurality of SBCs, said second SIP invite message including a second SIP packet header including a second source IP address which is different from said first source IP address; and

send a notification to the second SBC of responsibility for handling packets sent from the second source IP address and addressed to the shared SBC IP ingress address.

18. The communications system of claim 13 , wherein said first processor is further configured to control the operation of the SBC cluster leader to:

to initiate installation of a default flow table entry that controls SDN switches that include the default flow table entry to replace a destination IP address in received packets which satisfy matching criteria of the default flow table entry with an ingress address of the SBC cluster leader and to route received packets satisfying the matching criteria of the default flow table entry based on the ingress address of the SBC cluster leader prior to the SBC cluster leader being operated to receive the first SIP invite message.

19. The communications system of claim 18 , wherein the matching criteria of the default flow table entry is a destination address in a received packet header matching the shared SBC IP ingress address and a destination port number that matches a specified port number.

20. A non-transitory computer readable medium including a set of computer executable instructions which when executed by a processor of a session border controller cluster leader cause the session border controller cluster leader to perform the steps of:

receiving a first SIP invite message and assigning responsibility for processing the first SIP invite message to a first Session Border Controller (SBC) in a plurality of SBCs, said plurality of SBCs being a cluster of SBCs, said SBC cluster leader being the leader of the cluster of SBCs, said first SIP invite message including a first SIP packet header including a first source IP address; and

initiating installation of a first flow table entry into Software Defined Networking (SDN) switches used to control packet routing in an SDN network, said SDN switches including at least a first SDN switch, said first flow table entry controlling SDN switches into which the first flow table entry is installed to replace a destination IP address in the IP destination address field of a packet header in received packets which satisfy matching criteria of the first flow table entry with a first SBC IP ingress address of the first SBC and to route received packets matching the criteria of the first flow table entry based on the first SBC IP ingress address.

Assignments (13)
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 →
TERMINATION AND RELEASE OF FIRST SUPPLEMENT OT PATENT SECURITY AGREEMENT AT R/F 049035/0939 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 058740/0265 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE PREVIOUSLY RECORDED ON REEL 049035 FRAME 0939. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST SUPPLEMENT TO PATENT SECURITY AGREEMENT. Recorded Aug 22, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050705/0001 →
FIRST SUPPLEMENT TO SECURITY AGREEMENT Recorded Apr 30, 2019
From: GENBAND US LLC; RIBBON COMMUNICATIONS OPERATING COMPANY, INC., FORMERLY KNOWN AS SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 049035/0939 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
CHANGE OF NAME Recorded Dec 24, 2017
From: SONUS, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044957/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2017
From: BHARRAT, SHAUN JAIKARRAN
To: SONUS, INC.
Reel/Frame 044342/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2017
From: ASVEREN, TOLGA
To: SONUS, INC.
Reel/Frame 044342/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2017
From: HART, JUSTIN
To: SONUS, INC.
Reel/Frame 044342/0641 →
Continuity (3)
Continuation In Part 15168841 · May 31, 2016
Provisional Application 62507171 · May 16, 2017
Related Publication 20180077229A1 · Mar 15, 2018