IP Library Granted Patent US 12,086,451
Granted Patent B1
US 12,086,451 · App. 17/661,464 · Granted Sep 10, 2024

Automated downscaling of data stores

Inventors: Maurice Stanley Barnum (Los Gatos, CA); Prashant Kumar (Milpitas, CA); Pradeep Baliganapalli Nagaraju (Sunnyvale, CA)
Assignee: Splunk Inc.
G06F3/065G06F3/0611G06F3/0626G06F3/0679
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,086,451
App. No.
17/661,464
Granted
Sep 10, 2024
Kind
B1
Abstract

A process for facilitating downscaling of datastores (e.g., in a stateful system) is described herein. In embodiments, a set of metrics associated with a set of data stores of a stateful service is obtained. The set of metrics may indicate a utilization of each of the data stores of the set of data stores. Based on the set of metrics indicating underutilization associated with at least a portion of the set of data stores, a determination is made to initiate a downscaling of the set of data stores. Thereafter, a downscaler is deployed to perform downscaling operations to downscale the set of data stores. The downscaler communicates with a first data store to replicate data of the first data store onto a second data store. Based on identifying that the downscaler has completed the downscaling operations to downscale the set of data stores, the downscaler is terminated.

Claims (41)

1. A computer-implemented method comprising:

obtaining a set of metrics associated with a set of data stores of a stateful service, the set of metrics indicating a utilization of each of the data stores of the set of data stores;

based on the set of metrics indicating underutilization associated with at least a portion of the set of data stores, determining, via a controller, to initiate a downscaling of the set of data stores;

in accordance with determining to initiate the downscaling of the set of data stores, deploying a downscaler, via a scaling of a pod separate from the controller, to perform downscaling operations to downscale the set of data stores, the downscaler communicating with a first data store to replicate data of the first data store onto a second data store of the set of data stores of the stateful service;

identifying that the downscaler has completed the downscaling operations to downscale the set of data stores, wherein identifying that the downscaler has completed the downscaling operations comprises identifying a lack of obtaining downscaling metrics within a predetermined period of time; and

based on the completion of the downscaling operations, terminating the downscaler.

2. The computer-implemented method of claim 1 , wherein the set of metrics comprise memory utilization and/or utilization rates.

3. The computer-implemented method of claim 1 , wherein the set of metrics indicate underutilization associated with at least a portion of the set of data stores when metrics associated with at least one data store fall below a utilization threshold.

4. The computer-implemented method of claim 1 further comprising identifying the first data store as a data store to terminate.

5. The computer-implemented method of claim 1 , wherein the downscaler comprises the pod in a container orchestration environment.

6. The computer-implemented method of claim 1 , wherein the downscaler is deployed by modifying a replica value associated with the downscaler from zero to one.

7. The computer-implemented method of claim 1 , wherein the downscaler is terminated by modifying a replica value associated with the downscaler from one to zero.

8. The computer-implemented method of claim 1 , wherein when the downscaling operations are being performed, a draining state is configured to indicate the first data store is to maintain a read-only state.

9. The computer-implemented method of claim 1 further comprising:

identifying completion of replicating data of the first data store onto a second data store; and

based on the completion of replicating data, removing the first data store.

10. The computer-implemented method of claim 1 further comprising:

identifying completion of replicating data of the first data store onto a second data store, wherein completion of replicating data of the first data store is identified based on communicating with the downscaler; and

based on the completion of replicating data, removing the first data store.

11. The computer-implemented method of claim 1 , wherein upon deployment of the downscaler, the downscaler communicates downscaling metrics to indicate performance of downscaling operations, and wherein upon completion of performing the downscaling operations, the downscaler terminates communication of downscaling metrics.

12. A system comprising:

a data store including computer-executable instructions; and

one or more processors configured to execute the computer-executable instructions, wherein execution of the computer-executable instructions causes the system to:

obtain a set of metrics associated with a set of data stores of a stateful service, the set of metrics indicating a utilization of each of the data stores of the set of data stores;

based on the set of metrics indicating underutilization associated with at least a portion of the set of data stores, determine, via a controller, to initiate a downscaling of the set of data stores;

in accordance with determining to initiate the downscaling of the set of data stores, deploy a downscaler, via a scaling of a pod separate from the controller, to perform downscaling operations to downscale the set of data stores, the downscaler communicating with a first data store to replicate data of the first data store onto a second data store of the set of data stores of the stateful service;

identify that the downscaler has completed the downscaling operations to downscale the set of data stores, wherein identifying that the downscaler has completed the downscaling operations comprises identifying a lack of obtaining downscaling metrics within a predetermined period of time; and

based on the completion of the downscaling operations, terminate the downscaler.

13. The system of claim 12 , wherein the set of metrics comprise memory utilization and/or utilization rates.

14. The system of claim 12 , wherein the set of metrics indicate underutilization associated with at least a portion of the set of data stores when metrics associated with at least one data store fall below a utilization threshold.

15. The system of claim 12 , wherein the downscaler comprises a pod in the container orchestration environment.

16. The system of claim 12 , wherein the downscaler is deployed by modifying a replica value associated with the downscaler from zero to one.

17. Non-transitory computer-readable media including computer-executable instructions that, when executed by a computing system, cause the computing system to:

obtain a set of metrics associated with a set of data stores of a stateful service, the set of metrics indicating a utilization of each of the data stores of the set of data stores;

based on the set of metrics indicating underutilization associated with at least a portion of the set of data stores, determine, via a controller, to initiate a downscaling of the set of data stores;

in accordance with determining to initiate the downscaling of the set of data stores, deploy a downscaler, via a scaling of a pod separate from the controller, to perform downscaling operations to downscale the set of data stores, the downscaler communicating with a first data store to replicate data of the first data store onto a second data store of the set of data stores of the stateful service;

identify that the downscaler has completed the downscaling operations to downscale the set of data stores, wherein identifying that the downscaler has completed the downscaling operations comprises identifying a lack of obtaining downscaling metrics within a predetermined period of time; and

based on the completion of the downscaling operations, terminate the downscaler.

18. The non-transitory computer-readable media of claim 17 , further comprising:

identifying completion of replicating data of the first data store onto a second data store, wherein completion of replicating data of the first data store is identified based on communicating with the downscaler; and

based on the completion of replicating data, removing the first data store.

Assignments (4)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2022
From: BARNUM, MAURICE STANLEY; KUMAR, PRASHANT; NAGARAJU, PRADEEP BALIGANAPALLI
To: SPLUNK INC.
Reel/Frame 060023/0814 →