IP Library › Granted Patent US 12,739,227
Granted Patent B2
US 12,739,227 · App. 18/965,635 · Granted Sep 15, 2026

Methods, systems and apparatus for handling maintenance events in public cloud deployments

Inventors: Tolga Asveren (Bordentown, NJ); Amol Sudhir Gogate (Pune, IN); Shivakumar Venkataraman (Bengaluru, IN)
Assignee: Ribbon Communications Operating Company, Inc.
H04L61/5076G06F9/45558H04L41/082H04L61/5007H04L61/5038H04L65/1013H04L65/1059H04L65/1104G06F2009/45595
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 12,739,227
App. No.
18/965,635
Granted
Sep 15, 2026
Kind
B2
Abstract

An exemplary embodiment of implementing a communications service in a Public Cloud system comprises the steps of: (i) registering, by a Maintenance Management application of the communications service, to receive notifications for maintenance events scheduled for virtual machines and/or servers of the Public Cloud system being used to implement the communications service; (ii) receiving, by the Maintenance Management application, a maintenance notification indicating a first virtual machine is to undergo a maintenance event; (iii) determining, by the Maintenance Management application, public IP addresses being hosted by a first Packet Front End application executing on the first virtual machine; and (iv) notifying session control applications of the communications service to drain the determined public IP addresses being hosted by the first Packet Front End application.

Claims (87)

1 . A method of implementing a real time communications service comprising:

receiving, by a maintenance management application of a real time communications service, a first maintenance notification indicating a first virtual machine is to undergo a first maintenance event;

determining, by the maintenance management application, a first Packet Front End application of the real time communications service executing on the first virtual machine;

determining, by the maintenance management application, public Internet Protocol (IP) addresses being hosted by the first Packet Front End application;

notifying, by the maintenance management application, session control applications of the real time communications service to drain the determined public IP addresses being hosted by the first Packet Front End application;

in response to receiving a notification to drain a public IP address corresponding to a media IP address, each session control application of the real time communications service stops using the public IP address in Session Description Protocol offer and answer messages for new dialogs; and

in response to receiving a notification to drain a public IP address corresponding to a signaling IP address, each session control application of the real time communications service upon receiving an initial dialog request from a signaling IP address for which a drain notification was received, populates a Contact header of a reply message with a signaling IP address for which no draining notification has been received.

2 . The method of claim 1 , further comprising:

determining, by each session control application of the real time communications service, when a public IP address for which a drain notification has been received is no longer being used by the session control application; and

in response to determining that a public IP address for which a drain notification has been received is no longer in use at the session control application, sending a notification to the maintenance management application that the public IP address is no longer in use at the session control application.

3 . The method of claim 2 , further comprising:

determining, by the maintenance management application, when all public IP addresses hosted by the first Packet Front End application are no longer being used based on notifications from the session control applications of the real time communications service; and

in response to determining that all public IP addresses hosted by the first Packet Front End application are no longer being used, sending a terminate notification to the first Packet Front End application.

4 . The method of claim 3 , further comprising:

receiving, by the first Packet Front End application, the terminate notification from the maintenance management application; and

terminating operation by the first Packet Front End application.

5 . The method of claim 4 ,

wherein the first maintenance notification is received a first amount of time before the first maintenance event;

wherein the public IP addresses hosted by the first Packet Front End application are drained prior to the first maintenance event; and

wherein draining the public IP addresses hosted by the first Packet Front End application prior to the first maintenance event includes each of the session control applications of the real time communications service ceasing to use the public IP addresses hosted by the first Packet Front End application.

6 . The method of claim 5 , wherein the first amount of time is at least 20 minutes before the first maintenance event.

7 . The method of claim 5 , further comprising:

prior to receiving the first maintenance notification, creating the real time communications service by:

(i) instantiating the first Packet Front End application on the first virtual machine, said first Packet Front End application being assigned a first set of public IP addresses to host;

(ii) instantiating a second Packet Front End application on a second virtual machine, said second Packet Front End application being assigned a second set of public IP addresses to host, said first set of public IP addresses not including any of the public IP addresses in the second set of public IP addresses;

(iii) instantiating a plurality of session control applications, at least some of said session control applications not being located on the first virtual machine;

(iv) instantiating a session load balancer application, said session load balancer application not being located on the first virtual machine; and

(v) instantiating said maintenance management application, said maintenance management application not being located on the first virtual machine; and

wherein said first Packet Front End application and said second Packet Front End application host all public IP addresses used by the real time communications service to communicate with external entities; and

wherein the session load balancer application distributes Session Initiation Protocol (SIP) messages received by the first Packet Front End application and the second Packet Front End application to the session control applications of the real time communications service; and

wherein each of the session control applications of the real time communications service performs session processing operations on SIP messages received from the session load balancer application; and

wherein each of the session control applications of the real time communications service performs media processing operations on media streams.

8 . The method of claim 1 , further comprising:

in response to receiving the first maintenance notification indicating a first virtual machine is to undergo a first maintenance event, monitoring by the maintenance management application the status of the first virtual machine; and

upon detecting that the first virtual machine has terminated, notifying all session control applications of the real time communications service that notifications pertaining to the public IP addresses hosted by the first Packet Front End application are no longer valid.

9 . The method of claim 1 , wherein the first maintenance event is one of the following: (i) a guest operating system update for a guest operating system executing on the first virtual machine, (ii) a host operating system update for an operating system executing on a first server on which the first virtual machine is located, (iii) an update to hypervisor software on the first server on which the first virtual machine is located, (iv) a hardware update which will cause the first Packet Front End application to terminate, (v) an update to software for the first server on which the first virtual machine is located, (vi) a driver update for the first server on which the first virtual machine is located, and (vii) an anticipated hardware failure.

10 . The method of claim 1 , wherein the first maintenance event is maintenance to be performed on one or more of the following: software or hardware which will cause the first Packet Front End application to terminate.

11 . A method of implementing a real time communications service comprising:

receiving, by a maintenance management application of a real time communications service, a first maintenance notification indicating a first virtual machine is to undergo a first maintenance event;

determining, by the maintenance management application, a first Packet Front End application of the real time communications service executing on the first virtual machine;

determining, by the maintenance management application, public Internet Protocol (IP) addresses being hosted by the first Packet Front End application;

notifying, by the maintenance management application, session control applications of the real time communications service to drain the determined public IP addresses being hosted by the first Packet Front End application;

in response to receiving the first maintenance notification indicating the first virtual machine is to undergo a first maintenance event, monitoring by the maintenance management application, the status of the first Packet Front End application determined to being executing on the first virtual machine; and

upon detecting that the first Packet Front end application has terminated operation, notifying all session control applications of the real time communications service that notifications pertaining to the public IP addresses hosted by the first Packet Front End application are no longer valid.

12 . A Public Cloud system comprising:

a plurality of servers, said plurality of servers including a first server on which a first virtual machine is implemented, a maintenance management application of a real time communications service executing on the first virtual machine, said maintenance management application performing the following operations:

receiving, from a Public Cloud maintenance and management entity of the Public Cloud system, a first maintenance notification indicating a second virtual machine located on a second server of the plurality of servers is to undergo a first maintenance event, said Public Cloud system being used to implement the real time communications service, said Public Cloud maintenance and management entity managing the maintenance of applications, virtual machines, and servers in the Public Cloud system;

determining a first Packet Front End application of the real time communications service is executing on the second virtual machine;

determining public Internet Protocol (IP) addresses being hosted by the first Packet Front End application; and

notifying session control applications of the real time communications service to drain the determined public IP addresses being hosted by the first Packet Front End application;

wherein in response to receiving a notification to drain a public IP address corresponding to a media IP address, each session control application of the real time communications service stops using the public IP address in Session Description Protocol offer and answer messages for new dialogs; and

wherein in response to receiving a notification to drain a public IP address corresponding to a signaling IP address, each session control application of the real time communications service upon receiving an initial dialog request from a signaling IP address for which a drain notification was received, populates a Contact header of a reply message with a signaling IP address for which no draining notification has been received.

13 . The Public Cloud system of claim 12 , wherein the session control applications of the real time communications service are located on one or more servers of the plurality of servers which are different from the second server.

14 . The Public Cloud system of claim 12 ,

wherein each session control application of the real time communications service determines when a public IP address for which a drain notification has been received is no longer being used by the session control application; and

in response to determining that a public IP address for which a drain notification has been received is no longer in use at the session control application, the session control application sends a notification to the maintenance management application that the public IP address is no longer in use at the session control application.

15 . The Public Cloud system of claim 14 ,

wherein the maintenance management application determines when all public IP addresses hosted by the first Packet Front End application are no longer being used based on notifications received from the session control applications of the real time communications service; and

in response to determining that all public IP addresses hosted by the first Packet Front End application are no longer being used, the maintenance management application sends a terminate notification to the first Packet Front End application.

16 . The Public Cloud system of claim 15 , wherein the first Packet Front End application in response to receiving the terminate notification from the maintenance management application terminates operation.

17 . The Public Cloud system of claim 16 , wherein

prior to receiving the first maintenance notification, the Public Cloud system creates the real time communications service by performing the following operations:

(i) instantiating the first Packet Front End application on the second virtual machine of the second server, said first Packet Front End application being assigned a first set of public IP addresses to host;

(ii) instantiating a second Packet Front End application on a third virtual machine on a third server of the plurality of servers, said second Packet Front End application being assigned a second set of public IP addresses to host, said first set of public IP addresses not including any of the public IP addresses in the second set of public IP addresses;

(iii) instantiating a plurality of session control applications, at least some of said session control applications not being located on the second server;

(iv) instantiating a session load balancer application, said session load balancer application not being located on the second server; and

(v) instantiating said maintenance manager application on said first virtual machine of said first server; and

wherein said first Packet Front End application and said second Packet Front End application host all public IP addresses used by the real time communications service to communicate with external entities;

wherein the session load balancer application distributes Session Initiation Protocol (SIP) messages received by the first Packet Front End application and the second Packet Front End application to the session control applications of the real time communications service of the Public Cloud system; and

wherein each of the session control applications of the real time communications service performs session processing operations on SIP messages received from the session load balancer application; and

wherein each of the session control applications of the real time communications service performs media processing operations on media streams.

18 . The Public Cloud system of claim 12 , wherein the first maintenance event is one of the following: (i) a guest operating system update for a guest operating system executing on the second virtual machine, (ii) a host operating system update for an operating system executing on the second server on which the second virtual machine is located, (iii) an update to hypervisor software on the second server on which the second virtual machine is located, (iv) a hardware update which will cause the first Packet Front End application to terminate, (v) an update to software for the second server on which the second virtual machine is located, (vi) a driver update for the second server on which the second virtual machine is located, and (vii) an anticipated hardware failure.

19 . A non-transitory machine readable medium including a first set of executable instructions forming a maintenance management application of a real time communications service which when executed by a processor of a first server in a Public Cloud system cause the first server to perform the following operations:

receiving, from a Public Cloud maintenance and management entity of the Public Cloud system, a first maintenance notification indicating a first virtual machine located on a second server in the Public Cloud system is to undergo a first maintenance event, said Public Cloud system being used to implement the real time communications service, said Public Cloud maintenance and management entity managing the maintenance of applications, virtual machines, and servers of the Public Cloud system;

determining a first Packet Front End application of the real time communications service is executing on the first virtual machine;

determining public Internet Protocol (IP) addresses being hosted by the first Packet Front End application;

notifying session control applications of the real time communications service to drain the determined public IP addresses being hosted by the first Packet Front End application;

in response to receiving the first maintenance notification indicating the first virtual machine is to undergo a first maintenance event, monitoring by the maintenance management application, the status of the first Packet Front End application determined to being executing on the first virtual machine; and

upon detecting that the first Packet Front end application has terminated operation, notifying all session control applications of the real time communications service that notifications pertaining to the public IP addresses hosted by the first Packet Front End application are no longer valid.

20 . A Public Cloud system comprising:

a plurality of servers, said plurality of servers including a first server on which a first virtual machine is implemented, a maintenance management application of a real time communications service executing on the first virtual machine, said maintenance management application performing the following operations:

receiving, from a Public Cloud maintenance and management entity of the Public Cloud system, a first maintenance notification indicating a second virtual machine located on a second server of the plurality of servers is to undergo a first maintenance event, said Public Cloud system being used to implement the real time communications service, said Public Cloud maintenance and management entity managing the maintenance of applications, virtual machines, and servers in the Public Cloud system;

determining a first Packet Front End application of the real time communications service is executing on the second virtual machine;

determining public Internet Protocol (IP) addresses being hosted by the first Packet Front End application;

notifying session control applications of the real time communications service to drain the determined public IP addresses being hosted by the first Packet Front End application;

in response to receiving the first maintenance notification indicating the second virtual machine is to undergo a first maintenance event, monitoring by the maintenance management application, the status of the first Packet Front End application determined to being executing on the second virtual machine; and

upon detecting that the first Packet Front end application has terminated operation, notifying all session control applications of the real time communications service that notifications pertaining to the public IP addresses hosted by the first Packet Front End application are no longer valid.

Priority Claims (1)
IN 202241039806 · Jul 11, 2022 · national
Continuity (2)
Continuation 18213371 · Jun 23, 2023
Related Publication 20250097194A1 · Mar 20, 2025
References Cited (6)
US 7743137B2 · Sarwono · 2010 [cited by examiner]
US 8516047B2 · Castanho · 2013 [cited by examiner]
US 11113158B2 · Alluboyina · 2021 [cited by examiner]
US 11526405B1 · Fisher · 2022 [cited by examiner]
US 20230393927A1 · Karr · 2023 [cited by examiner]
WO WO2021262058A1 · 2021 [cited by examiner]