# US 10,873,622 B2 · Call chain-based concurrency control method and apparatus, and control node

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,622 B2
- Document ID: US10873622B2
- Status: Granted
- Kind: B2
- Application number: 16/523,480
- Filed: 2019-07-26
- Published: 2019-11-14
- Granted: 2020-12-22
- Earliest claimed: 2017-01-26
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Hua Xin
- Web page: https://patentgrep.com/patent/US10873622B2

## CPC

- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- G06F 9/5072: {Grid computing}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- H04L 67/1029: using data related to the state of servers by a load balancer
- H04L 67/1031: Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
- H04L 67/1034: Reaction to server failures by a load balancer
- H04L 67/1042: using topology management mechanisms
- H04L 67/61: taking into account QoS or priority requirements
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A control node could obtain analysis statistical data of each of the multiple service nodes; determine a target service node with an inappropriate concurrency threshold according to the analysis statistical data of each service node; obtain a concurrency threshold of the target service node, and a concurrency threshold and weight information of a neighboring service node of the target service node; determine an updated concurrency threshold of the target service node according to the concurrency threshold of the target service node, the analysis statistical data, and the concurrency threshold and the weight information of the neighboring service node of the target service node; and send a concurrency threshold adjustment request to the target service node.

## Claims

### Claim 1

A method implemented by a control node, the method comprising:
identifying, based on an analysis of statistical data of a plurality of service nodes communicatively coupled to the control node, a target service node needing adjustment of a concurrency threshold, wherein the target service node has a neighboring service node, and wherein the concurrency threshold indicates a maximum value of service requests that can be processed in parallel by the target service node;
obtaining the concurrency threshold and a weight of the target service node, wherein the weight indicates a number of times that the target service node can process service requests from the neighboring service node;
determining an updated concurrency threshold of the target service node according to the concurrency threshold, the analysis, a neighboring concurrency threshold of the neighboring service node, and a neighboring weight of the neighboring service node; and
sending an adjustment request to the target service node to instruct the target service node to adjust the concurrency threshold to the updated concurrency threshold.

### Claim 2 (depends on 1)

The method of claim 1, wherein the statistical data indicate processing results of processing service requests, and wherein a processing result corresponding to the target service node is a failure to process a service request.

### Claim 3 (depends on 1)

The method of claim 1, wherein the statistical data indicate delays for processing service requests, and wherein a delay corresponding to the target service node is greater than or equal to a preset threshold.

### Claim 4 (depends on 1)

The method of claim 1, wherein when the statistical data comprise a call relationship between a first service node and a second service node, the method further comprises:
obtaining a service call topology relationship in a concurrency control system; and
adjusting the target service node according to the concurrency threshold, the service call topology relationship, the neighboring concurrency threshold, and the neighboring weight to obtain the updated concurrency threshold.

### Claim 5 (depends on 4)

The method of claim 4, further comprising obtaining the service call topology relationship according to the call relationship.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
adjusting the neighboring service node according to the service call topology relationship, the updated concurrency threshold, the neighboring concurrency threshold, and the neighboring weight to obtain an updated neighboring concurrency threshold of the neighboring service node; and
sending the updated neighboring concurrency threshold to the neighboring service node.

### Claim 7 (depends on 1)

The method of claim 1, further comprising further identifying the target service node based on a service request failing on the target service node.

### Claim 8 (depends on 1)

The method of claim 1, further comprising further identifying the target service node based on a delay for processing a service request by the target service node exceeding a preset threshold.

### Claim 9

A control node comprising:
a memory; and
a processor coupled to the memory and configured to:
identify, based on an analysis of statistical data of a plurality of service nodes communicatively coupled to the control node, a target service node needing adjustment of a concurrency threshold, wherein the target service node has a neighboring service node, and wherein the concurrency threshold indicates a maximum value of service requests that can be processed in parallel by the target service node;
obtain the concurrency threshold and a weight of the target service node, wherein the weight indicates a number of times that the target service node can process service requests from the neighboring service node;
determine an updated concurrency threshold of the target service node according to the concurrency threshold, the analysis, a neighboring concurrency threshold, and a neighboring weight of the neighboring service node; and
send an adjustment request to the target service node to instruct the target service node to adjust the concurrency threshold to the updated concurrency threshold.

### Claim 10 (depends on 9)

The control node according to claim 9, wherein the statistical data indicate processing results of processing service requests, and wherein a processing result corresponding to the target service node is a failure to process a service request.

### Claim 11 (depends on 9)

The control node of claim 9, wherein the statistical data indicate delays for processing service requests, and wherein a delay corresponding to the target service node is greater than or equal to a preset threshold.

### Claim 12 (depends on 9)

The control node of claim 9, wherein when the statistical data comprise a call relationship between a first service node and a second service node, the processor is further configured to:
obtain a service call topology relationship in a concurrency control system; and
adjust the target service node according to the concurrency threshold, the service call topology relationship, the neighboring concurrency threshold, and the neighboring weight to obtain the updated concurrency threshold.

### Claim 13 (depends on 12)

The control node of claim 12, wherein the processor is further configured to obtain the service call topology relationship according to the call relationship.

### Claim 14 (depends on 13)

The control node of claim 13, wherein the processor is further configured to:
adjust the neighboring service node according to the service call topology relationship, the updated concurrency threshold, the neighboring concurrency threshold, and the neighboring weight to obtain an updated neighboring concurrency threshold of the neighboring service node; and
send the updated neighboring concurrency threshold to the neighboring service node.

### Claim 15 (depends on 9)

The control node of claim 9, wherein the processor is further configured to further identify the target service node based on a service request failing.

### Claim 16 (depends on 9)

The control node of claim 9, wherein the processor is further configured to further identify the target service node based on a delay for processing a service request by the target service node exceeding a preset threshold.

### Claim 17

A computer program product comprising computer-executable instructions stored on a non-transitory computer-readable medium that, when executed by a processor, cause a control node to:
identify, based on an analysis of statistical data of a plurality of service nodes communicatively coupled to the control node, a target service node needing adjustment of a concurrency threshold, wherein the target service node has a neighboring service node, and wherein the concurrency threshold indicates a maximum value of service requests that can be processed in parallel by the target service node;
obtain the concurrency threshold and a weight of the target service node, wherein the weight indicates a number of times that the target service node can process service requests from the neighboring service node;
determine an updated concurrency threshold of the target service node according to the concurrency threshold, the analysis, a neighboring concurrency threshold, and a neighboring weight of the neighboring service node; and
send an adjustment request to the target service node to instruct the target service node to adjust the concurrency threshold to the updated concurrency threshold.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the statistical data indicate processing results of processing service requests, and wherein a processing result corresponding to the target service node is a failure to process a service request.

### Claim 19 (depends on 17)

The computer program product of claim 17, wherein the statistical data indicate delays for processing service requests, and wherein a delay corresponding to the target service node is greater than or equal to a preset threshold.

### Claim 20 (depends on 17)

The computer program product of claim 17, wherein when the statistical data comprise a call relationship between a first service node and a second service node, the instructions further cause the control node to:
obtain a service call topology relationship in a concurrency control system; and
adjust the target service node according to the concurrency threshold, the service call topology relationship, the neighboring concurrency threshold, and the neighboring weight to obtain the updated concurrency threshold.
