IP Library Granted Patent US 11,533,369
Granted Patent B2
US 11,533,369 · App. 16/853,842 · Granted Dec 20, 2022

Computer-implemented method and system for managing tenants on a multi-tenant SIP server system

Inventors: Karl Klaghofer (Munich, DE); Johannes Ruetschi (Boca Raton, FL); Stefan Ried (Ladenburg, DE)
Assignee: RingCentral, Inc.
H04L67/14G06F9/5072G06F9/5083H04L41/0806H04L43/08H04L65/1073H04L65/1083H04L65/1093H04L65/1104H04M7/006G06F11/3433
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,533,369
App. No.
16/853,842
Granted
Dec 20, 2022
Kind
B2
Abstract

A computer-implemented method of managing tenants on a multi-tenant SIP server system has at least two multi-tenant enabled SIP server instances in an SIP server cloud or private datacenter environment. Each SIP server instance of the plurality of SIP server instances is configured as a virtual application. The method contains the steps of initially configuring a first tenant on a first SIP server instance, monitoring the capacity of the first SIP server instance, and monitoring the capacity of a second SIP server instance. The monitoring of the first and second SIP server instances is carried out by monitoring at least one predetermined capacity-relevant value. When the at least one predetermined capacity-relevant value exceeds a predetermined threshold value indicating that capacity resources are low on the first SIP server instance, then the first tenant is moved from the first SIP server instance to the second SIP server instance.

Claims (46)

1. A computer-implemented method, comprising:

configuring a plurality of tenants on a first server instance, wherein each tenant is configured to provide services to a plurality of users;

determining that a capacity value of the first server instance exceeds a predetermined threshold value, wherein the capacity value is associated with a number of users currently assigned to the first server instance;

in response to determining that the capacity value of the first server instance exceeds the predetermined threshold value, determining to move a first tenant from the plurality of tenants to a second server instance; and

moving all users associated with the first tenant from the first server instance to the second server instance.

2. The computer-implemented method of claim 1 , further comprising:

in response to moving all users associated with the first tenant, deleting the users associated with the first tenant from the first server instance.

3. The computer-implemented method of claim 1 , further comprising:

in response to moving all users associated with the first tenant, registering users associated with the first tenant at the second server instance using a register message.

4. The computer-implemented method of claim 1 , wherein moving all users associated with the first tenant further comprises moving registration data with the first tenant from the first server instance to the second server instance.

5. The computer-implemented method of claim 1 , further comprising:

authenticating all users users associated with the first tenant using a central authentication instance.

6. The computer-implemented method of claim 1 , further comprising:

upon receiving an incoming message directed to one of the users associated with the first tenant, determining that the first server instance is provisioned; and

routing the incoming message to the first server instance.

7. The computer-implemented method of claim 1 , further comprising:

upon receiving an incoming message directed to one of the users associated with the first tenant, determining that the second server instance is provisioned; and

routing the incoming message to the second server instance.

8. The computer-implemented method of claim 1 , further comprising:

determining a move time based on at least one of: a number of tenants on the first server instance; a number of users per tenant, or a threshold value for triggering moving the tenant from a second server instance.

9. The computer-implemented method of claim 1 , wherein the determined capacity value indicates that a number of users associated with the first tenant has grown.

10. The computer-implemented method of claim 1 , wherein the capacity value is associated with a number of tenants currently assigned to the first server instance.

11. A non-transitory, computer-readable medium, storing instructions that, when executed by a processor, cause:

configuring a plurality of tenants on a first server instance, wherein each tenant is configured to provide services to a plurality of users;

determining that a capacity value of the first server instance exceeds a predetermined threshold value, wherein the capacity value is associated with a number of users currently assigned to the first server instance;

in response to determining that the capacity value of the first server instance exceeds the predetermined threshold value, determining to move a first tenant from the plurality of tenants to a second server instance; and

moving all users associated with the first tenant from the first server instance to the second server instance.

12. The non-transitory, computer-readable medium of claim 11 , storing further instructions that, when executed by the processor, further cause:

in response to moving all users associated with the first tenant, deleting all users associated with the first tenant from the first server instance.

13. The non-transitory, computer-readable medium of claim 11 , storing further instructions that, when executed by the processor, further cause:

in response to moving all users associated with the first tenant, registering all users associated with the first tenant at the second server instance using a register message.

14. The non-transitory, computer-readable medium of claim 11 , wherein moving all users associated with the first tenant further comprises moving registration data with the first tenant from the first server instance to the second server instance.

15. The non-transitory, computer-readable medium of claim 11 , storing further instructions that, when executed by the processor, further cause:

authenticating all users associated with the first tenant using a central authentication instance.

16. A system, comprising:

a processor;

a memory operatively connected to the processor and storing instructions that, when executed by the processor, cause:

configuring a plurality of tenants on a first server instance, wherein each tenant is configured to provide services to a plurality of users;

determining that a capacity value of the first server instance exceeds a predetermined threshold value, wherein the capacity value is associated with a number of users currently assigned to the first server instance;

in response to determining that the capacity value of the first server instance exceeds the predetermined threshold value, determining to move a first tenant from the plurality of tenants to a second server instance; and

moving all users associated with the first tenant from the first server instance to the second server instance.

17. The system of claim 16 , wherein the memory stores further instructions that, when executed by the processor, cause:

in response to moving all users associated with the first tenant, deleting all users associated with the first tenant from the first server instance.

18. The system of claim 16 , wherein moving all users associated with the first tenant further comprises moving registration data with the first tenant from the first server instance to the second server instance.

19. The system of claim 16 , wherein the memory stores further instructions that, when executed by the processor, cause:

authenticating all users associated with the first tenant using a central authentication instance.

Assignments (2)
SECURITY INTEREST Recorded Feb 14, 2023
From: RINGCENTRAL, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062973/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: KLAGHOFER, KARL; RUETSCHI, JOHANNES; RIED, STEFAN
To: UNIFY PATENTE GMBH & CO. KG
Reel/Frame 052484/0321 →
Continuity (3)
Continuation 15865635 · Jan 9, 2018
Provisional Application 62444512 · Jan 10, 2017
Related Publication 20200252463A1 · Aug 6, 2020