IP Library Granted Patent US 11,513,737
Granted Patent B2
US 11,513,737 · App. 17/232,755 · Granted Nov 29, 2022

Preventing data overflow in edge computing systems

Inventors: Yehuda Sadeh-Weinraub (Culver City, CA); Huamin Chen (Westboro, MA); Ricardo Noriega De Soto (Madrid, ES)
Assignee: RED HAT, INC.
G06F3/0659G06F3/067G06F3/0619G06F3/0634G06F3/0644G06F3/0656
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,513,737
App. No.
17/232,755
Granted
Nov 29, 2022
Kind
B2
Abstract

Data overflows can be prevented in edge computing systems. For example, an edge computing system (ECS) can include a memory buffer for storing incoming data from client devices. The ECS can also include a local storage device. The ECS can determine that an amount of available storage space in the local storage device is less than a predefined threshold amount. Based on determining that the amount of available storage space is less than the predefined threshold amount, the ECS can prevent the incoming data from being retrieved from the memory buffer. And based on determining that the amount of available storage space is greater than or equal to the predefined threshold amount, the ECS can retrieve the incoming data from the memory buffer and store the incoming data in the local storage device. This may prevent data overflows associated with the local storage device.

Claims (73)

1. A non-transitory computer-readable medium comprising program code that is executable by a processor of a computing system for causing the processor to:

determine that an amount of available storage space in a local storage device of the computing system is less than a predefined threshold amount;

based on determining that the amount of available storage space is less than the predefined threshold amount, prevent incoming data from client devices from being retrieved from a memory buffer until the amount of available storage space is greater than or equal to the predefined threshold amount, wherein the memory buffer is separate from the local storage device;

based on determining that the amount of available storage space is greater than or equal to the predefined threshold amount, retrieve the incoming data from the memory buffer and store the incoming data in the local storage device;

determine a removal rate at which stored data is deleted from the local storage device subsequent to the stored data being transmitted by the computing system over a network to a remote storage device that is external to the computing system; and

adjust the removal rate by switching from a first mode in which the stored data is asynchronously transmitted to the remote storage device to a second mode in which the stored data is synchronously transmitted to the remote storage device.

2. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the processor for causing the processor to:

determine a storage rate at which the incoming data is stored in the local storage device by the computing system;

determine whether the storage rate is greater than or equal to the removal rate; and

based on determining that the storage rate is greater than or equal to the removal rate, adjust the storage rate or the removal rate such that the storage rate is less than the removal rate.

3. The non-transitory computer-readable medium of claim 2 , further comprising program code that is executable by the processor for causing the processor to decrease the storage rate by transmitting a communication to a client device among the client devices for causing the client device to slow down data transmission to the computing system.

4. The non-transitory computer-readable medium of claim 2 , further comprising program code that is executable by the processor for causing the processor to:

predict that the amount of available storage space in the local storage device will be less than the predefined threshold amount at a future point in time based on historical information about prior data received from the client devices in the past; and

preemptively adjust the storage rate or the removal rate to prevent the amount of available storage space in the local storage device from being less than the predefined threshold amount at the future point in time.

5. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the processor for causing the processor to repeatedly:

retrieve stored data from the local storage device;

transmit the stored data over the network to the remote storage device that is external to the computing system; and

subsequent to transmitting the stored data to the remote storage device, remove the stored data from the local storage device.

6. The non-transitory computer-readable medium of claim 1 , wherein the incoming data includes first incoming data from a first client device and second incoming data from a second client device, and further comprising program code that is executable by the processor for causing the processor to:

in response determining that the amount of available storage space in the local storage device is less than the predefined threshold amount:

based on a first priority level associated with the first client device, prevent the first incoming data from being retrieved from the memory buffer until the amount of available storage space is greater than or equal to the predefined threshold amount; and

based on a second priority level associated with the second client device, retrieve the second incoming data from the memory buffer and store the second incoming data in the local storage device, the second priority level being higher than the first priority level.

7. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the processor for causing the processor to:

based on determining that the amount of available storage space is less than the predefined threshold amount, forego transmitting one or more acknowledgement communications associated with the incoming data to the client devices, the one or more acknowledgement communications being configured to acknowledge receipt of the incoming data; and

based on determining that the amount of available storage space is greater than or equal to the predefined threshold amount, transmit the one or more acknowledgement communications associated with the incoming data to the client devices.

8. The non-transitory computer-readable medium of claim 1 , wherein the computing system is an edge computing system.

9. A computing system, comprising:

a memory buffer configured to store first incoming data from a first client device and second incoming data from a second client device;

a local storage device that is separate from the memory buffer;

a processor communicatively coupled to the memory buffer and the local storage device; and

a memory including instructions that are executable by the processor for causing the processor to:

determine that an amount of available storage space in the local storage device is less than a predefined threshold amount; and

based on determining that the amount of available storage space is less than the predefined threshold amount:

based on a first priority level associated with the first client device, prevent the first incoming data from being retrieved from the memory buffer until the amount of available storage space is greater than or equal to the predefined threshold amount; and

based on a second priority level associated with the second client device, retrieve the second incoming data from the memory buffer and store the second incoming data in the local storage device, the second priority level being higher than the first priority level.

10. The computing system of claim 9 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

determine a storage rate at which incoming data from client devices is stored in the local storage device by the computing system;

determine a removal rate at which stored data is deleted from the local storage device subsequent to the stored data being transmitted by the computing system over a network to a remote storage device that is external to the computing system;

determine whether the storage rate is greater than or equal to the removal rate; and

based on determining that the storage rate is greater than or equal to the removal rate, adjust the storage rate or the removal rate such that the storage rate is less than the removal rate.

11. The computing system of claim 10 , wherein the memory further includes instructions that are executable by the processor for causing the processor to increase the removal rate by switching from (i) a first mode in which the stored data is asynchronously transmitted to the remote storage device, to (ii) a second mode in which the stored data is synchronously transmitted to the remote storage device.

12. The computing system of claim 10 , wherein the memory further includes instructions that are executable by the processor for causing the processor to decrease the storage rate by transmitting a communication to a client device among the client devices for causing the client device to slow down data transmission to the computing system.

13. The computing system of claim 10 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

predict that the amount of available storage space in the local storage device will be less than the predefined threshold amount at a future point in time based on historical information about prior data received from client devices in the past; and

preemptively adjust the storage rate or the removal rate to prevent the amount of available storage space in the local storage device from being less than the predefined threshold amount at the future point in time.

14. The computing system of claim 9 , wherein the memory further includes instructions that are executable by the processor for causing the processor to repeatedly:

retrieve stored data from the local storage device;

transmit the stored data over a network to a remote storage device that is external to the computing system; and

subsequent to transmitting the stored data to the remote storage device, remove the stored data from the local storage device.

15. The computing system of claim 9 , wherein the computing system is an edge computing system.

16. The computing system of claim 9 , wherein the memory further includes instructions that are executable by the processor for causing the processor to:

based on determining that the amount of available storage space is less than the predefined threshold amount, forego transmitting an acknowledgement communication associated with the first incoming data to the first client device, the acknowledgement communication being configured to acknowledge receipt of the first incoming data; and

based on determining that the amount of available storage space is greater than or equal to the predefined threshold amount, transmit the acknowledgement communication associated with the first incoming data to the first client device.

17. A method comprising:

determining, by a processor of a computing system, that an amount of available storage space in a local storage device of the computing system is less than a predefined threshold amount;

based on determining that the amount of available storage space is less than the predefined threshold amount:

preventing, by the processor, incoming data from client devices from being retrieved from a memory buffer until the amount of available storage space is greater than or equal to the predefined threshold amount, wherein the memory buffer is separate from the local storage device; and

foregoing, by the processor, transmitting one or more acknowledgement communications associated with the incoming data to the client devices, the one or more acknowledgement communications being configured to acknowledge receipt of the incoming data; and

based on determining that the amount of available storage space is greater than or equal to the predefined threshold amount:

retrieving, by the processor, the incoming data from the memory buffer and store the incoming data in the local storage device; and

transmitting, by the processor, the one or more acknowledgement communications associated with the incoming data to the client devices.

18. The method of claim 17 , further comprising:

determining a storage rate at which the incoming data is stored in the local storage device by the computing system;

determining a removal rate at which stored data is deleted from the local storage device subsequent to the stored data being transmitted by the computing system over a network to a remote storage device that is external to the computing system;

determining whether the storage rate is greater than or equal to the removal rate; and

based on determining that the storage rate is greater than or equal to the removal rate, adjusting the storage rate or the removal rate such that the storage rate is less than the removal rate.

19. The method of claim 18 , further comprising:

predicting that the amount of available storage space in the local storage device will be less than the predefined threshold amount at a future point in time based on historical information about prior data received from the client devices in the past; and

preemptively adjusting the storage rate or the removal rate to prevent the amount of available storage space in the local storage device from being less than the predefined threshold amount at the future point in time.

20. The method of claim 17 , wherein the incoming data includes first incoming data from a first client device and second incoming data from a second client device, and further comprising:

in response determining that the amount of available storage space in the local storage device is less than the predefined threshold amount:

based on a first priority level associated with the first client device, preventing the first incoming data from being retrieved from the memory buffer until the amount of available storage space is greater than or equal to the predefined threshold amount; and

based on a second priority level associated with the second client device, retrieving the second incoming data from the memory buffer and store the second incoming data in the local storage device, the second priority level being higher than the first priority level.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2021
From: SADEH-WEINRAUB, YEHUDA; CHEN, HUAMIN; DE SOTO, RICARDO NORIEGA
To: RED HAT, INC.
Reel/Frame 055945/0268 →
Continuity (1)
Related Publication 20220334764A1 · Oct 20, 2022