Processing communication sessions
A virtualized computing environment of a telecommunications network comprises a cluster of virtual machines with a one-to-one ratio of active and backup virtual machines. One or more additional clusters of virtual machines have a N-to-K ratio of active and backup virtual machines where N>K. The backup virtual machines are configured to provide failover capacity for processing communications sessions in an event of a failure of one of the active virtual machines. A cluster redundancy capability indicates the ratio of the active and backup virtual machines for that cluster. A predetermined type associated with a requested communication session is determined. A cluster having a cluster redundancy capability corresponding to the predetermined type is selected. Data for the requested communication session is sent to an active virtual machine in the selected cluster.
1. A method of processing communications data in a virtualized computing environment of a telecommunications network, the virtualized computing environment comprising a cluster of virtual machines or containers with a one-to-one ratio of active and backup virtual machines or containers, and one or more additional clusters of virtual machines or containers having a N-to-K ratio of active and backup virtual machines or containers where N indicates a relative number of active virtual machines or containers in the N-to-K ratio and K indicates a relative number of backup virtual machines or containers in the N-to-K ratio and where N>K, the backup virtual machines or containers configured to provide failover capacity for processing communications sessions in an event of a failure of one of the active virtual machines or containers, the method comprising:
for each of the clusters, determining a cluster redundancy capability indicative of the ratio of the active and backup virtual machines or containers for that cluster;
receiving data indicative of a requested communication session of the telecommunications network;
determining a predetermined type associated with the requested communication session, the predetermined type indicative of a priority of the requested communication session;
selecting a cluster of the virtualized computing environment having a cluster redundancy capability corresponding to the predetermined type; and
sending data for the requested communication session to an active virtual machine or container in the selected cluster.
2. The method according to claim 1 , wherein communication sessions of the predetermined type comprise emergency calls.
3. The method according to claim 1 , wherein the method is performed by a communication session classifier located in a load balancer.
4. The method according to claim 1 , wherein one or more of the active virtual machines or containers are configured to provide a signaling plane processing function for communication sessions.
5. The method according to claim 1 , wherein the method is performed by a communication session classifier located in a signaling plane processing function.
6. The method according to claim 1 , wherein one or more of the active virtual machines or containers are configured to provide a media plane processing function for communication sessions.
7. The method according to claim 6 , wherein the method is performed by a communication session classifier located in the media plane processing function.
8. The method according to claim 1 , wherein at least one of the active virtual machines or containers provide a session border controller (SBC) function in the telecommunications network.
9. The method according to claim 1 , further comprising, in response to determining that a first process performed by an active virtual machine or container of the selected cluster has failed, performing a first failover procedure comprising configuring the first process to be performed by a backup virtual machine or container of the selected cluster.
10. The method according to claim 1 , wherein the determination is based on one or more of a telephone number associated with the requested communication session, one or more dialing digits, a communication session source priority, a communication session destination priority, or a billing history.
11. The method according to claim 1 , wherein at least one of the active virtual machines or containers is configured to run on a dedicated physical server.
12. The method according to claim 1 , wherein the N-to-K ratio is determined based on one or more of an expected risk of virtual machine or container failure, a speed of recovery from the virtual machine or container failure, or data center reliability.
13. The method according to claim 1 , wherein the N-to-K ratio is dynamically updated based on redundancy capabilities reported by the virtual machines or containers.
14. A system for use in processing communication sessions in a virtualized environment in a telecommunications network, the virtualized computing environment comprising a cluster of virtual machines with a one-to-one ratio of active and backup virtual machines, and one or more additional clusters of virtual machines having a N-to-K ratio of active and backup virtual machines where N indicates a relative number of active virtual machines or containers in the N-to-K ratio and K indicates a relative number of backup virtual machines or containers in the N-to-K ratio and where N>K, the backup virtual machines configured to provide failover capacity for processing communications sessions in an event of a failure of one of the active virtual machines, the system comprising:
one or more processors; and
a memory in communication with the one or more processors, the memory having computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:
for each of the clusters, determining a cluster redundancy capability indicative of the ratio of the active and backup virtual machines for that cluster;
receiving data indicative of a requested communication session of the telecommunications network;
determining a predetermined type associated with the requested communication session, the predetermined type indicative of a priority of the requested communication session;
selecting a cluster of the virtualized computing environment having a cluster redundancy capability corresponding to the predetermined type; and
sending data for the requested communication session to an active virtual machine in the selected cluster.
15. A non-transitory computer-readable medium comprising a set of instructions, which, when executed by a computing device, cause the computing device to perform operations in a virtualized computing environment of a telecommunications network, the virtualized computing environment comprising a cluster of virtual machines with a one-to-one ratio of active and backup virtual machines, and one or more additional clusters of virtual machines having a N-to-K ratio of active and backup virtual machines where N indicates a relative number of active virtual machines or containers in the N-to-K ratio and K indicates a relative number of backup virtual machines or containers in the N-to-K ratio and where N>K, the backup virtual machines configured to provide failover capacity for processing communications sessions in an event of a failure of one of the active virtual machines, the operations comprising:
for each of the clusters, determining a cluster redundancy capability indicative of the ratio of the active and backup virtual machines for that cluster;
receiving data indicative of a requested communication session of the telecommunications network;
determining a predetermined type associated with the requested communication session, the predetermined type indicative of a priority of the requested communication session;
selecting a cluster of the virtualized computing environment having a cluster redundancy capability corresponding to the predetermined type; and
sending data for the requested communication session to an active virtual machine in the selected cluster.
16. The non-transitory computer-readable medium according to claim 15 , wherein communication sessions of the predetermined type comprise emergency calls.
17. The non-transitory computer-readable medium according to claim 15 , wherein the N-to-K ratio is determined based on one or more of an expected risk of virtual machine or container failure, a speed of recovery from the virtual machine or container failure, or data center reliability.
18. The non-transitory computer-readable medium according to claim 15 , wherein one or more of the active virtual machines or containers are configured to provide a signaling plane processing function for communication sessions.
19. The non-transitory computer-readable medium according to claim 15 , wherein the N-to-K ratio is dynamically updated based on redundancy capabilities reported by the virtual machines or containers.
20. The non-transitory computer-readable medium according to claim 15 , wherein one or more of the active virtual machines or containers are configured to provide a media plane processing function for communication sessions.