IP Library Granted Patent US 11,836,528
Granted Patent B2
US 11,836,528 · App. 17/949,644 · Granted Dec 5, 2023

Throttling thread resources of service computing platform

Inventors: Jeremiah David Brazeau (Hudson, NH); Sumanth Kondakindi (Burlington, MA); Dmitriy Ryabkov (Burlington, MA); Adam Elliott (Burnaby, CA); Stefan Piesche (Burlington, MA); Metin Kilic (Burlington, MA); Yan Huang (Burlington, MA); Christopher David Boran (Burlington, MA)
Assignee: Salesforce, Inc.
G06F9/5027G06F11/3409G06F2209/504G06F2209/5018
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,836,528
App. No.
17/949,644
Granted
Dec 5, 2023
Kind
B2
Abstract

Systems and techniques are provided for monitoring and managing the performance of services accessed by sites on a computing platform. When a performance issue is identified, a service is monitored to determine if calls to the service exceed a threshold completion time. If so, a resource available to call the service is adaptively throttled by the platform.

Claims (25)

1. A method comprising:

calculating a plurality of performance levels for a first service of a plurality of services accessed by a plurality of sites on a computing platform that manages access to the plurality of services by the plurality of sites, each performance level indicating a response time below which the majority of calls to the service are completed;

determining a maximum service call completion threshold based upon the plurality of performance levels;

determining that a predefined percentage of calls to a first service within a predefined period of time exceed the maximum service call completion threshold and, in response, applying a throttle to a maximum number of threads available for calling the service by sites on the platform.

2. The method of claim 1 , wherein the performance level is a response time below which 95% of calls to the first service within a predefined period of time are completed.

3. The method of claim 1 , wherein the first service is a resource that is external to the computing platform.

4. The method of claim 3 , wherein the first service is identified by the computing platform based on a plurality of direct calls made to the external resource by the plurality of sites on the platform.

5. The method of claim 4 , further comprising identifying a sub-service within the first service that is provided by a separate portion of the external resource based upon common portions of a uniform resource locator (URL) used to access the first service and the sub-service by the plurality of sites.

6. A computing platform that provides computing resources to a plurality of sites that are accessed by a plurality of users and that manages access by the sites to a first service, the computing platform comprising:

a processor; and

a computer-readable memory storing instructions for execution by the processor which, when executed by the processor, cause the processor to:

calculate a plurality of performance levels for a first service of a plurality of services accessed by a plurality of sites on a computing platform that manages access to the plurality of services by the plurality of sites, each performance level indicating a response time below which the majority of calls to the service are completed;

determine a maximum service call completion threshold based upon the plurality of performance levels;

determine that a predefined percentage of calls to a first service within a predefined period of time exceed the maximum service call completion threshold and, in response, applying a throttle to a maximum number of threads available for calling the service by sites on the platform.

7. The computing platform of claim 6 , wherein the performance level is a response time below which 95% of calls to the first service within a predefined period of time are completed.

8. The computing platform of claim 6 , wherein the first service is a resource that is external to the computing platform.

9. The computing platform of claim 8 , wherein the first service is identified by the computing platform based on a plurality of direct calls made to the external resource by the plurality of sites on the platform.

10. The computing platform of claim 9 , the instructions further causing the processor to identify a sub-service within the first service that is provided by a separate portion of the external resource based upon common portions of a uniform resource locator (URL) used to access the first service and the sub-service by the plurality of sites.

11. A non-transitory computer-readable medium storing a plurality of instructions which, when executed by a computer processor, cause the computer to:

calculate a plurality of performance levels for a first service of a plurality of services accessed by a plurality of sites on a computing platform that manages access to the plurality of services by the plurality of sites, each performance level indicating a response time below which the majority of calls to the service are completed;

determine a maximum service call completion threshold based upon the plurality of performance levels;

determine that a predefined percentage of calls to a first service within a predefined period of time exceed the maximum service call completion threshold and, in response, applying a throttle to a maximum number of threads available for calling the service by sites on the platform.

12. The medium of claim 11 , wherein the performance level is a response time below which 95% of calls to the first service within a predefined period of time are completed.

13. The medium of claim 11 , wherein the first service is a resource that is external to the computing platform and the first service is identified by the computing platform based on a plurality of direct calls made to the external resource by the plurality of sites on the platform.

14. The medium of claim 13 , wherein the instructions further cause the computer to identify a sub-service within the first service that is provided by a separate portion of the external resource based upon common portions of a uniform resource locator (URL) used to access the first service and the sub-service by the plurality of sites.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2022
From: BRAZEAU, JEREMIAH DAVID; KONDAKINDI, SUMANTH; RYABKOV, DMITRIY; ELLIOTT, ADAM; PIESCHE, STEFAN; KILIC, METIN; HUANG, YAN; BORAN, CHRISTOPHER DAVID
To: SALESFORCE.COM, INC.
Reel/Frame 061169/0583 →
Continuity (3)
Division 16865848 · May 4, 2020
Provisional Application 62968329 · Jan 31, 2020
Related Publication 20230021746A1 · Jan 26, 2023