IP Library Granted Patent US 11,070,595
Granted Patent B1
US 11,070,595 · App. 17/023,521 · Granted Jul 20, 2021

Methods and apparatus for efficient load balancing among microservices and/or processing entities

Inventors: Tolga Asveren (Bordentown, NJ); Nagesh Kumar Bollapolli (Bangalore, IN); Aby Kuriakose (Howell, NJ)
Assignee: Ribbon Communications Operating Company, Inc.
H04L65/1006H04L29/06197H04L29/06319H04L47/125H04L65/104H04L65/1069H04W28/08H04W28/0808
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 11,070,595
App. No.
17/023,521
Granted
Jul 20, 2021
Kind
B1
Abstract

The present invention is directed to communications methods and apparatus for efficiently distributing traffic to processing entities. An exemplary method includes the steps of: receiving, at a first Session Initiation Protocol (SIP) load balancer (SLB), a first SIP INVITE message; selecting, at the first SLB, which Session Border Controller (SBC) in a first cluster of SBCs to send the first SIP invite message based on a message allocation weight determined based on message loss information corresponding to different SBCs in the first cluster of SBCs, the selecting including allocating a portion of incoming received SIP INVITE messages to an individual SBC based on a message loss rate corresponding to the individual SBC and the message allocation rate, said selecting including selecting a first SBC from the first cluster of SBCs to send said first SIP INVITE message, and sending the first SIP INVITE message to the first SBC.

Claims (64)

1. A communications method, the method comprising:

receiving, at a first Session Initiation Protocol (SIP) load balancer (SLB), a first SIP INVITE message;

selecting, at the first SLB, which Session Border Controller (SBC) in a first cluster of SBCs to send the first SIP INVITE message based on a message allocation weight determined based on message loss information corresponding to different SBCs in the first cluster of SBCs, said selecting including allocating a portion of incoming received SIP INVITE messages to an individual SBC based on a message loss rate corresponding to the individual SBC and said message allocation weight, said selecting including selecting a first SBC from the first cluster of SBCs to send said first SIP INVITE message;

sending the first SIP INVITE message to the first SBC; and

receiving a first SIP response message from the first SBC in response to the first SIP INVITE message.

2. The communications method of claim 1 , further comprising:

updating the message allocation weight at the first SLB based on the first SIP response message to generate a first updated message allocation weight.

3. The communications method of claim 2 , further comprising:

receiving, at the first SIP load balancer (SLB), a second SIP INVITE message;

selecting, at the first SLB, which one of the SBCs in the first cluster of SBCs to send the second SIP INVITE message based on the first updated message allocation weight, a second SBC in said cluster of SBCs being selected to process the second SIP INVITE message.

4. The communications method of claim 3 , further comprising:

receiving, at the first SLB, a second SIP response message including a second message loss rate value indicating a message loss rate at the second SBC; and

updating the first updated message allocation weight at the first SLB based on the second SIP response message to generate a second updated message allocation weight.

5. The method of claim 2 , further comprising:

maintaining a first global message loss rate (GLR) value at the first SLB, said maintaining the first global message loss rate value including updating the first GLR value based on the message loss rate value indicating a message loss rate at the first SBC.

6. The communications method of claim 1 , wherein the first SIP response message is a service unavailable response message that includes a first message loss rate value indicating a message loss rate at the first SBC, the method further comprising:

making, at the first SLB, a decision whether or not to send the first SIP INVITE message to another SBC in the first cluster of SBCs based on a first global message loss rate (GLR) value maintained at the first SLB and the first message loss rate value included in the first SIP response message.

7. The communications method of claim 6 ,

wherein said first message loss rate value included in the first SIP response message is greater than the first GLR value; and wherein said decision is a decision to send the first SIP INVITE message to another SBC in the first cluster of SBCs, the method further comprising:

sending, from the first SLB, the first SIP INVITE message and the first message loss rate value to a second SBC in said first cluster of SBCs.

8. The method of claim 7 , further comprising:

receiving a second SIP response message from the second SBC in response to the first SIP invite message, said second SIP response message being a service unavailable message; and

maintaining a first global message loss rate (GLR) value at the first SLB, said maintaining the first global message loss rate value including updating the first GLR value based on the first message loss rate corresponding to the first SBC indicated in said first SIP response message.

9. The communications method of claim 8 , further comprising:

receiving, at the first SIP load balancer (SLB), a second SIP INVITE message;

sending the second SIP INVITE message to the second SBC in the first cluster of SBCs;

receiving from the second SBC a response to the second SIP INVITE message, said response to the second SIP INVITE message including an additional message loss rate value indicating a message loss rate at the second SBC; and

wherein maintaining the first global message loss rate (GLR) value at the first SLB includes updating the first GLR value based on the additional message loss rate value indicating a message loss rate at the second SBC.

10. The communications method of claim 8 , wherein the second SIP response message is a service unavailable response message that includes a second message loss rate value indicating a message loss rate at the second SBC, the method further comprising:

making, at the first SLB, a second decision whether or not to send the first SIP INVITE message to an additional SBC in the first cluster of SBCs based on the first global message loss rate (GLR) value maintained at the first SLB, the first message loss rate value and the second message loss rate value.

11. The method of claim 10 , further comprising:

when the decision at the first SLB is not to send the first SIP INVITE message to an additional SBC, sending a response from the SLB in response to the first SIP INVITE message indicating service is unavailable.

12. A communications system comprising:

a first Session Initiation Protocol (SIP) load balancer (SLB) including:

a first processor configured to:

operate the first SLB to receive a first SIP INVITE message;

select, at the first SLB, which Session Border Controller (SBC) in a first cluster of SBCs to send the first SIP INVITE message based on a message allocation weight determined based on message loss information corresponding to different SBCs in the first cluster of SBCs, said selecting including allocating a portion of incoming received SIP INVITE messages to an individual SBC based on a message loss rate corresponding to the individual SBC and said message allocation weight, said selecting including selecting a first SBC from the first cluster of SBCs to send said first SIP INVITE message;

operate the first SLB to send the first SIP INVITE message to the first SBC; and

operate the first SLB to receive a first SIP response message from the first SBC in response to the first SIP INVITE message.

13. The communications system of claim 12 , wherein said first processor is further configured to:

update the message allocation weight at the first SLB based on the first SIP response message to generate a first updated message allocation weight.

14. The communications system of claim 13 , wherein said first processor is further configured to:

operate the first SLB to receive, at the first SIP load balancer (SLB), a second SIP INVITE message; and

select, at the first SLB, which one of the SBCs in the first cluster of SBCs to send the second SIP INVITE message based on the first updated message allocation weight, a second SBC in said cluster of SBCs being selected to process the second SIP INVITE message.

15. The communications system of claim 14 , wherein the first processor is further configured to:

operate the first SLB to receive a second SIP response message including a second message loss rate (LR) value indicating a message loss rate at the second SBC; and

update the first updated message allocation weight at the first SLB based on the second SIP response message to generate a second updated message allocation weight.

16. The communications system of claim 13 , wherein said first processor is further configured to:

maintain a first global message loss rate (GLR) value at the first SLB, maintaining the first global message loss rate value including updating the first GLR value based on the message loss rate value indicating a message loss rate at the first SBC.

17. The communications system of claim 12 , wherein the first SIP response message is a service unavailable response message that includes a first message loss rate value indicating a message loss rate at the first SBC; and

wherein said first processor is further configured to:

make, at the first SLB, a decision whether or not to send the first SIP INVITE message to another SBC in the first cluster of SBCs based on a first global message loss rate (GLR) value maintained at the first SLB and the first message loss rate value included in the first SIP response message.

18. The communications system of claim 17 ,

wherein said first message loss rate value included in the first SIP response message is greater than the first GLR value; and wherein said decision is a decision to send the first SIP INVITE message to another SBC in the first cluster of SBCs; and

wherein said first processor is further configured to:

operate the first SLB to send, from the first SLB, the first SIP INVITE message and the first message loss rate value to a second SBC in said first cluster of SBCs.

19. The communications system of claim 18 , wherein said first processor is further configured to:

operate the first SLB to receive a second SIP response message from the second SBC in response to the first SIP INVITE message, said second SIP response message being a service unavailable message; and

maintain a first global message loss rate (GLR) value at the first SLB, said maintaining the first global message loss rate value including updating the first GLR value based on the first message loss rate corresponding to the first SBC indicated in said first SIP response message.

20. A non-transitory computer readable medium including a first set of computer executable instructions which when executed by a processor of a first Session Initiation Protocol (SIP) load balancer (SLB) cause the first SLB to:

receive a first SIP INVITE message;

select, at the first SLB, which Session Border Controller (SBC) in a first cluster of SBCs to send the first SIP INVITE message based on a message allocation weight determined based on message loss information corresponding to different SBCs in the first cluster of SBCs, said selecting including allocating a portion of incoming received SIP INVITE messages to an individual SBC based on a message loss rate corresponding to the individual SBC and said message allocation weight, said selecting including selecting a first SBC from the first cluster of SBCs to send said first SIP INVITE message;

send the first SIP INVITE message to the first SBC; and

receive a first SIP response message from the first SBC in response to the first SIP INVITE message.

Assignments (4)
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/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2020
From: ASVEREN, TOLGA
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 053964/0084 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2020
From: BOLLAPOLLI, NAGESH KUMAR
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 053889/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: KURIAKOSE, ABY
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 053868/0816 →