IP Library › Granted Patent US 12,353,961
Granted Patent B2
US 12,353,961 · App. 17/108,196 · Granted Jul 8, 2025

Method and apparatus for determining storage load of application

Inventor: Wei Xia (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06N20/00G06F11/302G06F11/3433
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,353,961
App. No.
17/108,196
Granted
Jul 8, 2025
Kind
B2
Abstract

A method includes acquiring statistic data of a storage load, inputting the statistic data, and determining read/write request tracking data of the storage load. The acquired statistic data of a storage load may be generated by an application in a predetermined time period. The determined read/write request tracking data of the storage load may be during the predetermined time period through the pre-trained machine learning model. The statistic data may include global statistic information corresponding to read/write requests generated by the application in a predetermined time period. The read/write request tracking data may be information of each read/write request generated by the application in a predetermined time period.

Claims (41)

1. A method for determining a storage load of an application occupying resources of a computer apparatus, comprising:

acquiring statistic data of the storage load, wherein the statistic data comprises global statistic information for a plurality of read/write requests generated by the application executing on the computer apparatus over a predetermined time period;

inputting the statistic data to a machine learning model;

determining, using the machine learning model, predicted read/write request tracking data of the storage load, wherein the machine learning model comprises an input layer that takes as input the global statistics information including a number of the plurality of read/write requests and an output layer that generates as output the predicted read/write request tracking data including individual information for each of the plurality of read/write requests for the predetermined time period,

wherein the predicted read/write request tracking data comprises descriptive information corresponding to data obtained by parsing the plurality of read/write requests generated by the application in the predetermined time period; and

reducing, in a subsequent period following the predetermined time period, the storage load of the application occupying the resources of the computer apparatus using the predicted read/write request tracking data,

wherein the reducing of the storage load of the application executing on and occupying resources of the computer apparatus is performed using the machine learning model to determine additional predicted read/write request tracking data of the storage load in the subsequent period without recording and storing descriptive data of read/write requests.

2. The method of claim 1 , wherein the global statistic information comprises a statistic characteristic value based on statistic processing of first descriptive data obtained by the parsing of the plurality of read/write requests, and the descriptive information comprises second descriptive data obtained by the parsing of the plurality of read/write requests.

3. The method of claim 1 , further comprising:

acquiring historical statistic data and historical read/write request tracking data of the storage load generated by the application in at least one service processing cycle, wherein the historical statistic data and the historical read/write request tracking data maintain correspondence in a time sequence, and the at least one service processing cycle comprises a time period that the application takes to process historical read/write requests generated in a historical predetermined time period; and

training the machine learning model using the historical statistic data and the historical read/write request tracking data.

4. The method of claim 3 , wherein the training the machine learning model using the historical statistic data and the historical read/write request tracking data comprises:

inputting the historical statistic data to the machine learning model;

determining a similarity between output read/write request tracking data output by the machine learning model and the historical read/write request tracking data corresponding to the historical statistic data input to the machine learning model;

comparing the similarity with a predetermined threshold value;

adjusting a hyper-parameter or a weight of the machine learning model based on the similarity being less than the predetermined threshold value; and

determining the machine learning model is trained when the similarity is greater than or equal to the predetermined threshold value.

5. The method of claim 1 , wherein the statistic data comprises at least one of: a number of read requests generated in the predetermined time period, a number of write requests generated in the predetermined time period, an overall number of the plurality of read/write requests generated in the predetermined time period, a first percentage of the number of read requests generated in the predetermined time period compared to the overall number of the plurality of read/write requests, a second percentage of the number of write requests generated in the predetermined time period compared to in the overall number of the plurality of read/write requests, an overall storage capacity requested by the plurality of read/write requests generated in the predetermined time period, a distribution of storage capacities requested by the plurality of read/write

requests generated in the predetermined time period, a distribution of request time stamps of the plurality of read/write requests generated in the predetermined time period, a distribution of logical addresses requested by the plurality of read/write requests generated in the predetermined time period, and a distribution of processes to which the plurality of read/write requests generated in the predetermined time period belong; and

wherein the read/write request tracking data comprises at least one of: a storage capacity requested by each of the plurality of read/write request generated in the predetermined time period, a type of each of the plurality of read/write request generated in the predetermined time period, a process to which each of the plurality of read/write request generated in the predetermined time period belongs, a request time stamp of each of the plurality of read/write request generated in the predetermined time period, and a logical address requested by each of the plurality of read/write request generated in the predetermined time period.

6. An apparatus for determining a storage load of an application occupying resources of the apparatus, comprising:

an acquiring unit configured to acquire statistic data of the storage load, wherein the statistic data comprises global statistic information for a plurality of read/write requests generated by the application in a predetermined time period and acquired at a monitoring point of the apparatus disposed on a path to a storage apparatus; and

a processing unit configured to input the statistic data to a machine learning model, determine, using the machine learning model, predicted read/write request tracking data of the storage load, and reduce, in a subsequent period following the predetermined time period, the storage load of the application occupying the resources of the apparatus using the predicted read/write request tracking data, wherein the machine learning model comprises an input layer that takes as input the global statistics information including a number of the plurality of read/write requests and an output layer that generates as output the predicted read/write request tracking data including individual information for each of the plurality of read/write requests in the predetermined time period,

wherein the predicted read/write request tracking data comprises descriptive information corresponding to data obtained by parsing the plurality of read/write requests generated by the application in the predetermined time period, and

wherein the processing unit is further configured to reduce the storage load of the application executing on and occupying resources of the apparatus using the machine learning model to determine additional predicted read/write request tracking data of the storage load in the subsequent period without recording and storing descriptive data of read/write requests.

7. The apparatus of claim 6 , wherein the global statistic information comprises a statistic characteristic value based on statistic processing of first descriptive data obtained by parsing the plurality of read/write requests, and the descriptive information comprises second descriptive data obtained by parsing the plurality of read/write requests.

8. The apparatus of claim 6 , wherein the processing unit is further configured to:

acquire historical statistic data and historical read/write request tracking data of the storage load generated by the application in at least one service processing cycle; and

train the machine learning model using the historical statistic data and the historical read/write request tracking data, wherein the historical statistic data and the historical read/write request tracking data maintain correspondence in a time sequence, and the at least one service processing cycle comprises a time that period the application takes to process historical read/write requests generated in a historical predetermined time period.

9. The apparatus of claim 8 , wherein the processing unit is configured to train the machine learning model using the historical statistic data and the historical read/write request tracking data by being configured to:

input the historical statistic data to the machine learning model;

determine a similarity between output read/write request tracking data output by the machine learning model and the historical read/write request tracking data corresponding to the historical statistic data input to the machine learning model;

compare the similarity with a predetermined threshold value;

adjust a hyper-parameter or a weight of the machine learning model based on the similarity being less than the predetermined threshold value; and

determine the machine learning model is trained when the similarity is greater than or equal to the predetermined threshold value.

10. The apparatus of claim 6 , wherein the statistic data comprises at least one of:

a number of read requests generated in the predetermined time period, a number of write requests generated in the predetermined time period, an overall number of read and write requests generated in the predetermined time period, a first percentage of the number of read requests generated in the predetermined time period compared to the overall number of the read and write requests, a second percentage of the number of write requests generated in the predetermined time period compared to in the overall number of the plurality of read/write requests, an overall storage capacity requested by the plurality of read/write requests generated in the predetermined time period, a distribution of storage capacities requested by the plurality of read/write requests generated in the predetermined time period, a distribution of request time stamps of the plurality of read/write requests generated in the predetermined time period, a distribution of logical addresses requested by the plurality of read/write requests generated in the predetermined time period, and a distribution of processes to which the plurality of read/write requests generated in the predetermined time period belong; and

wherein the read/write request tracking data comprises at least one of: a storage capacity requested by each of the plurality of read/write request generated in the predetermined time period, a type of each of the plurality of read/write request generated in the predetermined time period, a process to which each of the plurality of read/write request generated in the predetermined time period belongs, a request time stamp each of the plurality of read/write request generated in the predetermined time period, and a logical address requested by each of the plurality of read/write request generated in the predetermined time period.

11. The method of claim 1 , further comprising adjusting, in the second subsequent period, the storage load of the application executing on and occupying resources of the computer apparatus using the additional predicted read/write request tracking data.

12. The method of claim 1 , wherein acquiring the statistic data of the storage load further comprises acquiring the plurality of read/write requests of the application that flow through a monitoring point of the computer apparatus disposed on a path to a storage apparatus in the predetermined time period.

13. The method of claim 1 , further comprising storing the predicted read/write request tracking data to provide referable data for adjusting the storage load of the application, wherein the referable data corresponds to a storage load that is less than a storage load corresponding to the plurality of read/write requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2021
From: XIA, WEI
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 057075/0392 →
Priority Claims (1)
CN 201911355595.1 · Dec 25, 2019 · national
Continuity (1)
Related Publication 20210201201A1 · Jul 1, 2021
References Cited (23)
US 6845456B1 · Menezes et al. · 2005 [cited by applicant]
US 7506216B2 · Bose et al. · 2009 [cited by applicant]
US 7644192B2 · Dudley et al. · 2010 [cited by applicant]
US 7945657B1 · McDougall et al. · 2011 [cited by applicant]
US 8898096B2 · Caves et al. · 2014 [cited by applicant]
US 9298633B1 · Zhao · 2016 [cited by examiner]
US 9846627B2 · Solihin et al. · 2017 [cited by applicant]
US 9921866B2 · Ganguli et al. · 2018 [cited by applicant]
US 11087826B2 · Yang et al. · 2021 [cited by applicant]
US 11250308B2 · Lee et al. · 2022 [cited by applicant]
US 20150347040A1 · Mathur · 2015 [cited by examiner]
US 20170168729A1 · Faulkner · 2017 [cited by examiner]
US 20180121366A1 · Tian · 2018 [cited by applicant]
US 20180300060A1 · Kesavan et al. · 2018 [cited by applicant]
US 20200097810A1 · Hetherington · 2020 [cited by examiner]
US 20220155970A1 · Lu · 2022 [cited by examiner]
CN 109491616 · 2019 [cited by applicant]
CN 109885469 · 2019 [cited by applicant]
CN 110286948 · 2019 [cited by applicant]
KR 1020170136357A · 2017 [cited by applicant]
KR 1020190076693A · 2019 [cited by applicant]
Qi, Y., et al. “A Self-adaptive and Prediction-based I/O Performance Optimization Method”, in China Academic Journal Electronic Publishing House, vol. 34, No. 9, 2007, 5 pages. [cited by applicant]
Examination report dated Feb. 19, 2025, in corresponding Korean Patent Application No. 10-2020-0160095, 6 pages. [cited by applicant]