System, method of real-time processing under resource constraint at edge
AssigneeHitachi, Ltd.
InventorsHiroaki Shikano, Yukinori Sakashita
Life of this patent
Estimating the term…
Abstract
Example implementations described herein are directed to systems and methods for managing a relationship between real-time analysis processes and applications, where each of the applications are configured to utilize output from one or more of the corresponding real-time analysis processes. In an example implementation, resource adjustment is applied to the real-time analysis process based on a determined priority.
Claims11
A computer system comprising:
- a memory configured to manage a relationship between a plurality of real-time analysis processes and a plurality of applications, wherein each of the plurality of applications are configured to utilize output from one or more of the corresponding plurality of real-time analysis processes;
- and
- a processor, configured to:
- determine a priority for each of the real-time analysis processes based the relationship in the memory;
- select a real-time analysis process from the plurality of real-time analysis processes for computation resource adjustment based on the priority;
- and
- apply the computation resource adjustment to the selected real-time analysis process and reduce the computation resources allocated to the selected real-time analysis,
- wherein to apply the computation resource adjustment to the selected real-time analysis process, the processor is further configured to:
- obtain output data throughput information for each of the real-time analysis processes that are adjustable, wherein each of the real-time analysis processes is determined to be adjustable based on a flag in the memory;
- calculate a memory reduction size;
- obtain time resolution information from CQL (continuous query language) of the selected real-time analysis process, wherein time resolution information includes a time resolution or window size of the selected real-time analysis process, and required memory for each CQL;
- adjust the time resolution or window size of the selected real-time analysis process so that memory size allocated to the selected real-time analysis process is reduced based on the calculated memory reduction size;
- and
- based on reducing the memory size allocated to the selected real-time analysis process, free up and allocate computation resources to another real-time analysis process, of the plurality of real-time analysis processes, having a higher priority than the selected real-time analysis process,
- wherein the memory reduction size is calculated based on a current usage of output data throughput divided by the total throughput usage multiplied by the difference between an estimated memory usage and a maximum memory size available.
A computer system comprising:
- a memory configured to manage a relationship between a plurality of real-time analysis processes and a plurality of applications, wherein each of the plurality of applications are configured to utilize output from one or more of the corresponding plurality of real-time analysis processes;
- and
- a processor, configured to:
- determine a priority for each of the real-time analysis processes based the relationship in the memory;
- select a real-time analysis process from the plurality of real-time analysis processes for computation resource adjustment based on the priority;
- and
- apply the computation resource adjustment to the selected real-time analysis process and reduce the computation resources allocated to the selected real-time analysis,
- wherein to apply the computation resource adjustment to the selected real-time analysis process, the processor is further configured to:
- obtain output data throughput information of the selected real-time analysis process;
- obtain sensor input data throughput information of the one or more sensors;
- calculate a memory reduction size;
- and
- adjust the selected real-time analysis process based on the calculated memory reduction size,
- wherein to reduce the computation resources allocated to the selected real-time analysis, the processor is configured to:
- reduce the computation resources allocated to the selected real-time analysis based on said adjusting of the selected real-time analysis process, and
- based on reducing the computation resources, free up and allocate computation resources to another real-time analysis process, of the plurality of real-time analysis processes, having a higher priority than the selected real-time analysis process, and
- wherein to calculate the memory reduction size, the processor is configured to:
- determine a selected reduction ratio for the selected real-time analysis process, wherein the selected reduction ratio is the output data throughput divided by an input data rate for the selected real-time analysis process;
- determine a total reduction ratio, wherein the total reduction ratio is a sum of reduction ratios for each real-time analytic processes of which reduction allowed, where the reduction ratio is the output data throughput divided by an input data rate for each real-time analytic processes of which reduction allowed;
- calculate the memory reduction size based on the selected reduction ratio divided by the total reduction ratio multiplied by multiplied by the difference between an estimated memory usage and a maximum memory size available.
A non-transitory computer readable medium, storing instructions for managing a relationship between a plurality of real-time analysis processes and a plurality of applications, wherein each of the plurality of applications are configured to utilize output from one or more of the corresponding plurality of real-time analysis processes, the instructions comprising:
- determining a priority for each of the real-time analysis processes based the relationship in a memory;
- selecting a real-time analysis process from the plurality of real-time analysis processes for computation resource adjustment based on the priority;
- obtaining output data throughput information for each of the real-time analysis processes that are adjustable, wherein each of the real-time analysis processes is determined to be adjustable based on a flag in the memory;
- calculating a memory reduction size;
- obtaining time resolution information from CQL (continuous query language) of the selected real-time analysis process, wherein time resolution information includes a time resolution or window size of the selected real-time analysis process, and required memory for each CQL;
- and
- adjusting the time resolution or window size of the selected real-time analysis process so that the memory size the selected real-time analysis process is reduced based on the calculated memory reduction size, wherein the memory reduction size is calculated based on a current usage of output data throughput divided by the total throughput usage multiplied by the difference between an estimated memory usage and a maximum memory size available;
- applying the computation resource adjustment to the selected real-time analysis process and reducing the computation resources allocated to the selected real-time analysis;
- and
- based on reducing the memory size allocated to the selected real-time analysis process, freeing up and allocating computation resources to another real-time analysis process, of the plurality of real-time analysis processes, having a higher priority than the selected real-time analysis process.
A non-transitory computer readable medium, storing instructions for managing a relationship between a plurality of real-time analysis processes and a plurality of applications, wherein each of the plurality of applications are configured to utilize output from one or more of the corresponding plurality of real-time analysis processes, the instructions comprising:
- determining a priority for each of the real-time analysis processes based the relationship in a memory;
- selecting a real-time analysis process from the plurality of real-time analysis processes for computation resource adjustment based on the priority;
- obtaining output data throughput information of the selected real-time analysis process;
- obtaining sensor input data throughput information of the one or more sensors;
- calculating a memory reduction size;
- and
- adjusting the selected real-time analysis process based on the calculated memory reduction size;
- and
- applying the computation resource adjustment to the selected real-time analysis process and reducing the computation resources allocated to the selected real-time analysis,
- wherein calculating the memory reduction size comprises:
- determining a selected reduction ratio for the selected real-time analysis process, wherein the selected reduction ratio is the output data throughput divided by an input data rate for the selected real-time analysis process;
- determining a total reduction ratio, wherein the total reduction ratio is a sum of reduction ratios for each real-time analytic processes of which reduction allowed, where the reduction ratio is the output data throughput divided by an input data rate for each real-time analytic processes of which reduction allowed;
- and
- calculating the memory reduction size based on the selected reduction ratio divided by the total reduction ratio multiplied by multiplied by the difference between an estimated memory usage and a maximum memory size available, and
- wherein reducing the computation resources allocated to the selected real-time analysis comprises:
- reducing the computation resources allocated to the selected real-time analysis based on said adjusting of the selected real-time analysis process, and
- based on reducing the computation resources, freeing up and allocating computation resources to another real-time analysis process, of the plurality of real-time analysis processes, having a higher priority than the selected real-time analysis process.
Dependencies are inferred from the claim text.