IP Library Granted Patent US 12,579,002
Granted Patent B2
US 12,579,002 · App. 18/332,860 · Granted Mar 17, 2026

Proactive adaptation in handling service requests in cloud computing systems

Inventor: Hui Li (Shanghai, CN)
Assignee: SAP SE
G06F9/505
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,579,002
App. No.
18/332,860
Granted
Mar 17, 2026
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for receiving a first request parameter for each of the plurality of tenants, receiving a second request parameter for each of the plurality of tenants, assigning the plurality of tenants to an N plurality of tenant groups based on the first request parameter for each of the plurality of tenants, assigning each tenant in the N plurality of tenant groups to a server group in an M plurality of server groups based on the second request parameter for each of the plurality of tenants, and directing, by a load balancer, tenant requests of tenants in the plurality of tenants to servers based on the M plurality of server groups.

Claims (123)

1 . A computer-implemented method executed by one or more processors and comprising:

receiving a first request parameter for each of a plurality of tenants;

receiving a second request parameter for each of the plurality of tenants;

and

load balancing tenant requests of tenants in the plurality of tenants to servers of a plurality of servers based on M plurality of server groups, wherein:

the plurality of tenants is associated with N plurality of tenant groups based on the first request parameter for each of the plurality of tenants,

each tenant in the N plurality of tenant groups is associated with a server group in the M plurality of server groups based on the second request parameter for each of the plurality of tenants, and

each tenant group (i) for each tenant (p) in the association of the plurality of tenants with the N plurality of tenant groups comprises:

i

=

MIN

{

R

N

D

down

(

tReqCn

t

p

*

N

T

C

)

N

-

1

,

wherein tReqCnt p is the first request parameter for the tenant (p) and T C is a largest (MAX) tenant request count for all tenants in the plurality of tenants.

2 . The computer-implemented method of claim 1 , wherein the first request parameter is a request count for each of the plurality of tenants over a period of time.

3 . The computer-implemented method of claim 1 , wherein the second request parameter is a peak time of requests for each tenant over a period of time.

4 . The computer-implemented method of claim 1 , wherein the association of the plurality of tenants of the N plurality of tenant groups with the M plurality of server groups comprises, for each tenant (j) within a tenant group (i), a server group (k) being based on j modulo M.

5 . The computer-implemented method of claim 1 , wherein a value of N is based on no tenant group X having more associated tenants than any other tenant group.

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

receiving a request from a first tenant of the plurality of tenants;

and

distributing the request from the first tenant to a first server group of the M plurality of server groups to which the first tenant is associated.

7 . A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a first request parameter for each of a plurality of tenants;

receiving a second request parameter for each of the plurality of tenants;

and

load balancing tenant requests of tenants in the plurality of tenants to servers of a plurality of servers based on the M plurality of server groups, wherein:

the plurality of tenants is associated with N plurality of tenant groups based on the first request parameter for each of the plurality of tenants,

each tenant in the N plurality of tenant groups is associated with a server group in the M plurality of server groups based on the second request parameter for each of the plurality of tenants, and

each tenant group (i) for each tenant (p) in the association of the plurality of tenants with the N plurality of tenant groups comprises:

i

=

MIN

{

R

N

D

down

(

tReqCnt

p

*

N

T

C

)

N

-

1

,

wherein tReqCnt p is the first request parameter for the tenant (p) and To is a largest (MAX) tenant request count for all tenants in the plurality of tenants.

8 . The non-transitory computer-readable storage medium of claim 7 , wherein the first request parameter is a request count for each of the plurality of tenants over a period of time.

9 . The non-transitory computer-readable storage medium of claim 7 , wherein the second request parameter is a peak time of requests for each tenant over a period of time.

10 . The non-transitory computer-readable storage medium of claim 7 , wherein the association of the plurality of tenants of the N plurality of tenant groups with the M plurality of server groups comprises, for each tenant (j) within a tenant group (i), a server group (k) being based on j modulo M.

11 . The non-transitory computer-readable storage medium of claim 7 , wherein a value of N is based on no tenant group X having more associated tenants than any other tenant group.

12 . The non-transitory computer-readable storage medium of claim 7 , wherein operations further comprise:

receiving a request from a first tenant of the plurality of tenants;

and

distributing the request from the first tenant to a first server group of the M plurality of server groups to which the first tenant is associated.

13 . A system, comprising:

a computing device; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations comprising:

receiving a first request parameter for each of a plurality of tenants;

receiving a second request parameter for each of the plurality of tenants;

and

load balancing tenant requests of tenants in the plurality of tenants to servers of a plurality of servers based on M plurality of server groups, wherein:

the plurality of tenants is associated with N plurality of tenant groups based on the first request parameter for each of the plurality of tenants,

each tenant in the N plurality of tenant groups is associated with a server group in the M plurality of server groups based on the second request parameter for each of the plurality of tenants, and

each tenant group (i) for each tenant (p) in the association of the plurality of tenants with the N plurality of tenant groups comprises:

i

=

MIN

{

R

N

D

down

(

tReqCnt

p

*

N

T

C

)

N

-

1

,

wherein tReqCnt p is the first request parameter for the tenant (p) and T C is a largest (MAX) tenant request count for all tenants in the plurality of tenants.

14 . The system of claim 13 , wherein the first request parameter is a request count for each of the plurality of tenants over a period of time.

15 . The system of claim 13 , wherein the second request parameter is a peak time of requests for each tenant over a period of time.

16 . The system of claim 13 , wherein the association of the plurality of tenants of the N plurality of tenant groups with the M plurality of server groups comprises, for each tenant (j) within a tenant group (i), a server group (k) being based on j modulo M.

17 . The system of claim 13 , wherein a value of N is based on no tenant group X having more associated tenants than any other tenant group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2023
From: LI, HUI
To: SAP SE
Reel/Frame 063919/0952 →
Continuity (1)
Related Publication 20240411608A1 · Dec 12, 2024
References Cited (26)
US 11153374B1 · Yu · 2021 [cited by examiner]
US 20100049570A1 · Li et al. · 2010 [cited by applicant]
US 20100235495A1 · Petersen · 2010 [cited by examiner]
US 20110131336A1 · Wang · 2011 [cited by examiner]
US 20110264482A1 · Rahmouni et al. · 2011 [cited by applicant]
US 20120158945A1 · Goldbach · 2012 [cited by examiner]
US 20130297798A1 · Arisoylu · 2013 [cited by examiner]
US 20140331126A1 · Hunter · 2014 [cited by examiner]
US 20150309780A1 · Ruehl · 2015 [cited by examiner]
US 20160198453A1 · Hu · 2016 [cited by examiner]
US 20190102157A1 · Caldato et al. · 2019 [cited by applicant]
US 20200287964A1 · Capper · 2020 [cited by examiner]
US 20220060431A1 · Vadayadiyil et al. · 2022 [cited by applicant]
US 20220091897A1 · Butterworth et al. · 2022 [cited by applicant]
US 20240045732A1 · Butterworth et al. · 2024 [cited by applicant]
US 20240394035A1 · Verma · 2024 [cited by examiner]
US 20250190266A1 · Li · 2025 [cited by applicant]
Sampaio Jr. et al., “Improving Microservice-based Applications with Runtime Placement Adaptation” Journal of Internet Services and Applications 10.1, Dec. 2019, 30 pages. [cited by applicant]
Wikipedia.org [online], “Hungarian algorithm” created on Sep. 2005, retrieved on Dec. 8, 2023, retrieved from URL <https://en.wikipedia.org/wiki/Hungarian_algorithm>, 14 pages. [cited by applicant]
Wikipedia.org [online], “Jaccard index” created on Jul. 2005, retrieved on Dec. 8, 2023, retrieved from URL <https://en.wikipedia.org/wiki/Jaccard_index#Tanimoto_similarity_and_distance>, 10 pages. [cited by applicant]
U.S. Appl. No. 18/534,877, Reserving Computing Resources in Cloud Computing Environments, filed Dec. 11, 2023, 37 pages. [cited by applicant]
U.S. Appl. No. 19/422,557, Li, filed Dec. 17, 2025. [cited by applicant]
Wikipedia.org [online], “Gale-Shapley algorithm” created on Apr. 2010, retrieved on Jul. 26, 2024, retrieved from URL <https://en.wikipedia.org/wiki/Gale%E2%80%93Shapley_algorithm>, 6 pages. [cited by applicant]
Wikipedia.org [online], “Simulated annealing” created on Jan. 2003, retrieved on Oct. 13, 2025, retrieved from URL <https://en.wikipedia.org/wiki/Simulated_annealing>, 11 pages. [cited by applicant]
Wikipedia.org [online], “Stable marriage problem” created on May 2004, retrieved on Jul. 26, 2024, retrieved from URL <https://en.wikipedia.org/wiki/Stable_marriage_problem>, 6 pages. [cited by applicant]
Xu et al., “Anchor: A Stable Matching Framework for Managing Cloud Resources” Computer Science, 2011, 14 pages. [cited by applicant]