IP Library › Granted Patent US 11,418,550
Granted Patent B1
US 11,418,550 · App. 17/372,682 · Granted Aug 16, 2022

Service-mesh session prioritization

Inventors: Peter Eberlein (Malsch, DE); Volker Driesen (Heidelberg, DE)
Assignee: SAP SE
H04L65/1086H04L65/1013H04L65/1096H04L67/40
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,418,550
App. No.
17/372,682
Granted
Aug 16, 2022
Kind
B1
Abstract

Methods, systems, and computer-readable storage media for determining a sub-set of services, each service in the sub-set of services being in an overload status and having a SSF associated therewith, providing statistics associated with each service in the sub-set of services and relating service call statistics to each API group of a set of API groups, determining a set of sessions based on the service call statistics, each session in the set of sessions associated with at least one service in the sub-set of services having a service call statistic that exceeds a threshold service call statistic, defining an execution group and a waiting group, determining that a session is in the waiting group, and in response, blocking a request of the session from being processed by a service in the sub-set of services, and providing a wait indication to a user associated with the session.

Claims (64)

1. A computer-implemented method for session prioritization of sessions with services in a service-based software system comprising a set of services, the method being executed by one or more processors and comprising:

determining a sub-set of services from the set of services, each service in the sub-set of services being in an overload status and having a stable service factor (SSF) associated therewith;

providing a set of service call statistics comprising statistics associated with each service in the sub-set of services and relating service call statistics to each application programming interface (API) group of a set of API groups;

determining a set of sessions based on the service call statistics, each session in the set of sessions being associated with at least one service in the sub-set of services having a service call statistic that exceeds a threshold service call statistic;

defining a first sub-set of sessions of the set of sessions as an execution group and a second sub-set of sessions of the set of sessions as a waiting group;

receiving a first request from a first session; and

determining that the first session is in the waiting group, and in response:

blocking the first request from being processed by a respective service in the sub-set of services, and

providing a wait indication to a user associated with the first session.

2. The method of claim 1 , wherein defining a first sub-set of sessions of the set of sessions as an execution group and a second sub-set of sessions of the set of sessions as a waiting group comprises:

for each session in the set of sessions, determining a priority value based on a progress parameter and a time since last activity parameter; and

providing a cutoff parameter between priority values, the cutoff parameter separating sessions into the first sub-set of sessions and the second sub-set of sessions.

3. The method of claim 1 , further comprising, in response to determining that the first session is in the waiting group, advancing a time since last request timestamp associated with the first session.

4. The method of claim 1 , wherein an initial SSF is set for each service in the sub-set of services.

5. The method of claim 1 , further comprising:

changing a SSF of a service in the sub-set of services; and

selectively removing the service from the sub-set of services based on the SSF after being changed.

6. The method of claim 1 , wherein each service call statistic indicates a probability that a service will be called for a respective API group.

7. The method of claim 1 , further comprising:

receiving a second request from a second session; and

determining that the second session is in the execution group, and in response:

allowing the second request to be processed by a respective service in the sub-set of services.

8. 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 for session prioritization of sessions with services in a service-based software system comprising a set of services, the operations comprising:

determining a sub-set of services from the set of services, each service in the sub-set of services being in an overload status and having a stable service factor (SSF) associated therewith;

providing a set of service call statistics comprising statistics associated with each service in the sub-set of services and relating service call statistics to each application programming interface (API) group of a set of API groups;

determining a set of sessions based on the service call statistics, each session in the set of sessions being associated with at least one service in the sub-set of services having a service call statistic that exceeds a threshold service call statistic;

defining a first sub-set of sessions of the set of sessions as an execution group and a second sub-set of sessions of the set of sessions as a waiting group;

receiving a first request from a first session; and

determining that the first session is in the waiting group, and in response:

blocking the first request from being processed by a respective service in the sub-set of services, and

providing a wait indication to a user associated with the first session.

9. The non-transitory computer-readable storage medium of claim 8 , wherein defining a first sub-set of sessions of the set of sessions as an execution group and a second sub-set of sessions of the set of sessions as a waiting group comprises:

for each session in the set of sessions, determining a priority value based on a progress parameter and a time since last activity parameter; and

providing a cutoff parameter between priority values, the cutoff parameter separating sessions into the first sub-set of sessions and the second sub-set of sessions.

10. The non-transitory computer-readable storage medium of claim 8 , wherein operations further comprise, in response to determining that the first session is in the waiting group, advancing a time since last request timestamp associated with the first session.

11. The non-transitory computer-readable storage medium of claim 8 , wherein an initial SSF is set for each service in the sub-set of services.

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

changing a SSF of a service in the sub-set of services; and

selectively removing the service from the sub-set of services based on the SSF after being changed.

13. The non-transitory computer-readable storage medium of claim 8 , wherein each service call statistic indicates a probability that a service will be called for a respective API group.

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

receiving a second request from a second session; and

determining that the second session is in the execution group, and in response:

allowing the second request to be processed by a respective service in the sub-set of services.

15. 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 for session prioritization of sessions with services in a service-based software system comprising a set of services, the operations comprising:

determining a sub-set of services from the set of services, each service in the sub-set of services being in an overload status and having a stable service factor (SSF) associated therewith;

providing a set of service call statistics comprising statistics associated with each service in the sub-set of services and relating service call statistics to each application programming interface (API) group of a set of API groups;

determining a set of sessions based on the service call statistics, each session in the set of sessions being associated with at least one service in the sub-set of services having a service call statistic that exceeds a threshold service call statistic;

defining a first sub-set of sessions of the set of sessions as an execution group and a second sub-set of sessions of the set of sessions as a waiting group;

receiving a first request from a first session; and

determining that the first session is in the waiting group, and in response:

blocking the first request from being processed by a respective service in the sub-set of services, and

providing a wait indication to a user associated with the first session.

16. The system of claim 15 , wherein defining a first sub-set of sessions of the set of sessions as an execution group and a second sub-set of sessions of the set of sessions as a waiting group comprises:

for each session in the set of sessions, determining a priority value based on a progress parameter and a time since last activity parameter; and

providing a cutoff parameter between priority values, the cutoff parameter separating sessions into the first sub-set of sessions and the second sub-set of sessions.

17. The system of claim 15 , wherein operations further comprise, in response to determining that the first session is in the waiting group, advancing a time since last request timestamp associated with the first session.

18. The system of claim 15 , wherein an initial SSF is set for each service in the sub-set of services.

19. The system of claim 15 , wherein operations further comprise:

changing a SSF of a service in the sub-set of services; and

selectively removing the service from the sub-set of services based on the SSF after being changed.

20. The system of claim 15 , wherein each service call statistic indicates a probability that a service will be called for a respective API group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: EBERLEIN, PETER; DRIESEN, VOLKER
To: SAP SE
Reel/Frame 056821/0608 →
Cited By (4)
US 12,499,116 US 12,541,616 US 12,561,225 US 12,689,626