IP Library Granted Patent US 12,373,320
Granted Patent B1
US 12,373,320 · App. 18/769,172 · Granted Jul 29, 2025

Predicate evaluation based on CPU utilization of shared storage

Inventors: Wei Ding (Los Angeles, CA); Jianfeng Qian (Los Angeles, CA); Shicai Zeng (Beijing, CN); Li Zhang (Los Angeles, CA); Jianjun Chen (Los Angeles, CA)
Assignees: Lemon Inc.; Douyin Vision Co., Ltd.
G06F11/3024G06F16/283G06F2201/80G06F2201/81
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,373,320
App. No.
18/769,172
Granted
Jul 29, 2025
Kind
B1
Abstract

A hybrid transactional/analytical processing (HTAP) database includes an online transaction processing (OLTP) engine, an online analytical processing (OLAP) engine provided separately from the OLTP engine, and a shared storage holding data of multiple tenants. The shared storage is configured to receive a request from the OLAP engine for evaluation of a predicate against the data stored on the shared storage. The shared storage is further configured to determine that a CPU utilization of the shared storage exceeds a predicate refusal threshold. Upon determining that the CPU utilization of the shared storage exceeds the predicate refusal threshold, the shared storage is further configured to refrain from evaluating at least a portion of the predicate.

Claims (100)

1. A hybrid transactional/analytical processing (HTAP) database, comprising:

an online transaction processing (OLTP) engine;

an online analytical processing (OLAP) engine provided separately from the OLTP engine; and

a shared storage holding data of multiple tenants, wherein the shared storage is configured to:

receive a request from the OLAP engine for evaluation of a predicate against the data stored on the shared storage;

determine that a CPU utilization of the shared storage exceeds a predicate refusal threshold; and

upon determining that the CPU utilization of the shared storage exceeds the predicate refusal threshold, refrain from evaluating at least a portion of the predicate.

2. The HTAP database of claim 1 , wherein the shared storage is further configured to:

return a response to the request including partial or full unprocessed results from the data for predicate evaluation; and

attach partial or full predicate refusal metadata to the response indicating the partial or full unprocessed results have not been evaluated.

3. The HTAP database of claim 2 , wherein the OLAP engine is configured to:

receive the response including the partial or full unprocessed results from the data for predicate evaluation and the partial or full predicate refusal metadata;

determine that at least the portion of the predicate has not been evaluated based on the partial or full predicate refusal metadata; and

evaluate the predicate using the partial or full unprocessed results received in the response.

4. The HTAP database of claim 1 , wherein

the predicate refusal threshold is a partial predicate refusal threshold,

the share storage further determines a full predicate refusal threshold that is higher than the partial predicate refusal threshold, and

the shared storage is further configured to:

determine that the CPU utilization of the shared storage exceeds the partial predicate refusal threshold but does not reach the full predicate refusal threshold;

upon determining that the CPU utilization of the shared storage exceeds the partial predicate refusal threshold but does not reach the full predicate refusal threshold, refrain from evaluating a portion of the predicate;

return a response to the request including partial unprocessed results from the data for predicate evaluation; and

attach partial predicate refusal metadata to the response indicating the portion of the predicate has not been evaluated.

5. The HTAP database of claim 4 , wherein the OLAP engine is configured to:

receive the response including the partial unprocessed results from the data for predicate evaluation and the partial predicate refusal metadata;

determine that the portion of the predicate has not been evaluated based on the partial predicate refusal metadata; and

evaluate the predicate using the partial unprocessed results received in the response.

6. The HTAP database of claim 1 , wherein

the predicate refusal threshold is a partial predicate refusal threshold,

the share storage further determines a full predicate refusal threshold that is higher than the partial predicate refusal threshold, and

the shared storage is further configured to:

determine that the CPU utilization of the shared storage reaches the full predicate refusal threshold;

upon determining that the CPU utilization of the shared storage reaches the full predicate refusal threshold, refrain from evaluating the predicate;

return a response to the request including full unprocessed results from the data for predicate evaluation; and

attach full predicate refusal metadata to the response indicating the predicate has not been evaluated.

7. The HTAP database of claim 6 , wherein the OLAP engine is configured to:

receive the response including the full unprocessed results from the data for predicate evaluation and the full predicate refusal metadata;

determine that the predicate has not been evaluated based on the full predicate refusal metadata; and

evaluate the predicate using the full unprocessed results received in the response.

8. The HTAP database of claim 1 , wherein the shared storage is further configured to:

determine that the CPU utilization of the shared storage does not exceed the predicate refusal threshold;

upon determining that the CPU utilization of the shared storage does not exceed the predicate refusal threshold, evaluate the predicate at the shared storage; and

return a response to the request including full processed results from the data for predicate evaluation.

9. A data processing method for a hybrid transactional/analytical processing (HTAP) database including an online transaction processing (OLTP) engine, an online analytical processing (OLAP) engine provided separately from the OLTP engine, and a shared storage holding data of multiple tenants, the method comprising, at the shared storage:

receiving a request from the OLAP engine for evaluation of a predicate against the data stored on the shared storage;

determining that a CPU utilization of the shared storage exceeds a predicate refusal threshold; and

upon determining that the CPU utilization of the shared storage exceeds the predicate refusal threshold, refraining from evaluating at least a portion of the predicate.

10. The data processing method of claim 9 , further comprising, at the shared storage:

returning a response to the request including partial or full unprocessed results from the data for predicate evaluation; and

attaching partial or full predicate refusal metadata to the response indicating the partial or full unprocessed results have not been evaluated.

11. The data processing method of claim 10 , further comprising, at the OLAP engine:

receiving the response including the partial or full unprocessed results from the data for predicate evaluation and the partial or full predicate refusal metadata;

determining that at least the portion of the predicate has not been evaluated based on the partial or full predicate refusal metadata; and

evaluating the predicate using the partial or full unprocessed results received in the response.

12. The data processing method of claim 9 , wherein

the predicate refusal threshold is a partial predicate refusal threshold,

the share storage further determines a full predicate refusal threshold that is higher than the partial predicate refusal threshold, and

the method further comprises, at the shared storage:

determining that the CPU utilization of the shared storage exceeds the partial predicate refusal threshold but does not reach the full predicate refusal threshold;

upon determining that the CPU utilization of the shared storage exceeds the partial predicate refusal threshold but does not reach the full predicate refusal threshold, refraining from evaluating a portion of the predicate;

returning a response to the request including partial unprocessed results from the data for predicate evaluation; and

attaching partial predicate refusal metadata to the response indicating the portion of the predicate has not been evaluated.

13. The data processing method of claim 12 , further comprising, at the OLAP engine:

receiving the response including the partial unprocessed results from the data for predicate evaluation and the partial predicate refusal metadata;

determining that the portion of the predicate has not been evaluated based on the partial predicate refusal metadata; and

evaluating the predicate using the partial unprocessed results received in the response.

14. The data processing method of claim 9 , wherein

the predicate refusal threshold is a partial predicate refusal threshold,

the share storage further determines a full predicate refusal threshold that is higher than the partial predicate refusal threshold, and

the method further comprises, at the shared storage:

determining that the CPU utilization of the shared storage reaches the full predicate refusal threshold;

upon determining that the CPU utilization of the shared storage reaches the full predicate refusal threshold, refraining from evaluating the predicate;

returning a response to the request including full unprocessed results from the data for predicate evaluation; and

attaching full predicate refusal metadata to the response indicating the predicate has not been evaluated.

15. The data processing method of claim 14 , further comprising, at the OLAP engine:

receiving the response including the full unprocessed results from the data for predicate evaluation and the full predicate refusal metadata;

determining that the predicate has not been evaluated based on the full predicate refusal metadata; and

evaluating the predicate using the full unprocessed results received in the response.

16. The data processing method of claim 9 , further comprising, at the shared storage:

determining that the CPU utilization of the shared storage does not exceed the predicate refusal threshold;

upon determining that the CPU utilization of the shared storage does not exceed the predicate refusal threshold, evaluating the predicate at the shared storage; and

returning a response to the request including full processed results from the data for predicate evaluation.

17. A hybrid transactional/analytical processing (HTAP) database, comprising:

an online transaction processing (OLTP) engine;

an online analytical processing (OLAP) engine provided separately from the OLTP engine; and

a shared storage holding data of multiple tenants, wherein the shared storage is configured to:

receive a first request from the OLAP engine for evaluation of a first predicate against the data stored on the shared storage;

determine that the CPU utilization of the shared storage exceeds the predicate refusal threshold but does not reach full predicate refusal threshold for the first request; and

upon determining that the CPU utilization of the shared storage exceeds the predicate refusal threshold but does not reach the full predicate refusal threshold, refrain from evaluating a portion of the first predicate, wherein,

the shared storage is further configured to:

receive a second request from the OLAP engine for evaluation of a second predicate against the data stored on the shared storage;

determine that the CPU utilization of the shared storage reaches the full predicate refusal threshold; and

upon determining that the CPU utilization of the shared storage reaches the full predicate refusal threshold, refrain from evaluating the second predicate.

18. The HTAP database of claim 17 , wherein the shared storage is further configured to:

upon determining that the CPU utilization of the shared storage does not exceed the predicate refusal threshold, evaluate the first predicate at the shared storage.

19. The HTAP database of claim 17 , wherein the shared storage is further configured to:

upon determining that the CPU utilization of the shared storage exceeds the predicate refusal threshold but does not reach the full predicate refusal threshold for the first request, return a first response to the first request including the partial unprocessed results from the data for predicate evaluation, and attach a first metadata to the first response indicating the portion of the predicate has not been evaluated; and

upon determining that the CPU utilization of the shared storage reaches the full predicate refusal threshold, return a second response to the second request including full unprocessed results from the data for predicate evaluation, and attach a second metadata to the second response indicating the predicate has not been evaluated.

20. The HTAP database of claim 19 , wherein the OLAP engine is configured to:

receive the first or second response including the partial unprocessed results or the full unprocessed results from the data for predicate evaluation and the first or second metadata; and

evaluate the first or second predicate using the partial unprocessed results or the full unprocessed results received in the first or second response.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2025
From: BYTEDANCE INC.; CHENGDU OCEAN ENGINE INFORMATION TECHNOLOGY CO., LTD.
To: LEMON INC.; DOUYIN VISION CO., LTD.
Reel/Frame 071576/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2025
From: ZENG, SHICAI
To: CHENGDU OCEAN ENGINE INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 071576/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2025
From: DING, WEI; QIAN, JIANFENG; ZHANG, LI; CHEN, JIANJUN
To: BYTEDANCE INC.
Reel/Frame 071576/0377 →
References Cited (12)
US 11048701B2 · Brodt · 2021 [cited by examiner]
US 11061899B2 · Brodt · 2021 [cited by examiner]
US 11789936B2 · Chen et al. · 2023 [cited by applicant]
US 20160292167A1 · Tran · 2016 [cited by examiner]
US 20160292226A1 · Konik · 2016 [cited by examiner]
US 20170364307A1 · Lomelino · 2017 [cited by examiner]
US 20190171650A1 · Botev · 2019 [cited by examiner]
US 20230401236A1 · Katsipoulakis · 2023 [cited by examiner]
US 20240004897A1 · Pandis · 2024 [cited by examiner]
US 20240078237A1 · Ma · 2024 [cited by examiner]
US 20240220499A1 · Marathe · 2024 [cited by examiner]
Chen, J. et al., “ByteHTAP: ByteDance's HTAP System with High Data Freshness and Strong Data Consistency,” Proceedings of the VLDB Endowment, vol. 15, No. 12, Aug. 2022, 14 pages. [cited by applicant]