IP Library Granted Patent US 10,362,041
Granted Patent B2
US 10,362,041 · App. 15/872,837 · Granted Jul 23, 2019

Optimizing resource allocation for projects executing in a cloud-based environment

Inventors: Robin Kumar Das (Healdsburg, CA); Ledio Ago (San Leandro, CA); Declan Gerard Shanaghy (Benicia, CA); Gaurav Gupta (San Francisco, CA)
Assignee: SPLUNK INC.
H04L63/105G06F9/4887G06F9/5088G06F16/13G06F16/134G06F16/162G06F16/21G06F16/2228G06F16/2272G06F16/901G06F16/951G06F16/955G06F16/9537G06F16/986G06F21/6218G06Q20/145H04L12/1435H04L63/10H04L67/1097
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 10,362,041
App. No.
15/872,837
Filed
Jan 16, 2018
Granted
Jul 23, 2019
Kind
B2
Art Unit
2154
USPC
726/4
Abstract

Embodiments are directed towards a system and method for a cloud-based front end that may abstract and enable access to the underlying cloud-hosted elements and objects that may be part of a multi-tenant application, such as a search application. Search objects may be employed to access indexed objects. An amount of indexed data accessible to a user may be based on an index storage limit selected by the user, such that data that exceeds the index storage limit may continue to be indexed. Also, one or more projects can be elastically scaled for a user to provide resources that may meet the specific needs of each project.

Claims (58)

1. A method comprising:

identifying a resource allocation associated with a project, wherein the resource allocation identifies a plurality of computing resources assigned to the project for indexing data corresponding to the project, and the project is associated with a dynamically scalable index store for storing the data;

determining based on one or more performance rules associated with the project that the resource allocation is suboptimal;

determining, via a processor, an optimal resource allocation for the project based on one or more characteristics of the project; and

adjusting the plurality of computing resources based on the optimal resource allocation.

2. The method of claim 1 , wherein the project is associated with an index store for storing the data corresponding to the project, the index store is accessible by at least one indexer server, and the at least one indexer server is associated with at least one virtual machine.

3. The method of claim 1 , wherein the one or more performance rules specifies an optimal speed for indexing data corresponding to the project.

4. The method of claim 1 , wherein the one or more performance rules includes a rule-based trigger that is triggered when a speed for indexing the data corresponding to the project falls below a threshold.

5. The method of claim 1 , wherein the one or more performance rules indicates a scheduled trigger for changing the plurality of computing resources assigned to the project.

6. The method of claim 1 , wherein determining the optimal resource allocation comprises determining a change in a first subset of the plurality of computing resources associated with a first processing dimension based on a performance characteristic of the project.

7. The method of claim 1 , wherein determining the optimal resource allocation comprises:

determining a first change in a first subset of the plurality of computing resources associated with a first processing dimension based on a performance characteristic of the project; and

determining, based on the first change, a second change in a second subset of the plurality of computing resources associated with a second processing dimension.

8. The method of claim 1 , wherein adjusting the plurality of computing resources comprises placing a request to adjust the plurality of computing resources in a request queue until the request can be fulfilled.

9. The method of claim 1 , further comprising:

determining an impact of the optimal resource allocation on an overall performance of an indexing system that indexes data corresponding to a plurality of projects including the project; and

delaying a request to adjust the plurality of computing resources until the request based on the impact.

10. The method of claim 1 , further comprising causing a user interface to display at least one user interface control to adjust at least one parameter related to the project, and determining the optimal resource allocation in response to input from the at least one user interface control.

11. A computer readable storing medium comprising instructions that, when executed by a processor, cause the processor to:

identify a resource allocation associated with a project, wherein the resource allocation identifies a plurality of computing resources assigned to the project for indexing data corresponding to the project, and the project is associated with a dynamically scalable index store for storing the data;

determine based on one or more performance rules associated with the project that the resource allocation is suboptimal;

determine an optimal resource allocation for the project based on one or more characteristics of the project; and

adjust the plurality of computing resources based on the optimal resource allocation.

12. The computer readable storing medium of claim 11 , wherein the project is associated with an index store for storing the data corresponding to the project, the index store is accessible by at least one indexer server, and the at least one indexer server is associated with at least one virtual machine.

13. The computer readable storing medium of claim 11 , wherein the one or more performance rules specifies an optimal speed for indexing data corresponding to the project.

14. The computer readable storing medium of claim 11 , wherein the one or more performance rules includes a rule-based trigger that is triggered when a speed for indexing the data corresponding to the project falls below a threshold.

15. The computer readable storing medium of claim 11 , wherein the one or more performance rules indicates a scheduled trigger for changing the plurality of computing resources assigned to the project.

16. The computer readable storing medium of claim 11 , wherein determining the optimal resource allocation comprises determining a change in a first subset of the plurality of computing resources associated with a first processing dimension based on a performance characteristic of the project.

17. The computer readable storing medium of claim 11 , wherein determining the optimal resource allocation comprises:

determining a first change in a first subset of the plurality of computing resources associated with a first processing dimension based on a performance characteristic of the project; and

determining, based on the first change, a second change in a second subset of the plurality of computing resources associated with a second processing dimension.

18. The computer readable storing medium of claim 11 , wherein adjusting the plurality of computing resources comprises placing a request to adjust the plurality of computing resources in a request queue until the request can be fulfilled.

19. The computer readable storing medium of claim 11 , wherein the instructions, when executed by the processor, further cause the processor to:

determine an impact of the optimal resource allocation on an overall performance of an indexing system that indexes data corresponding to a plurality of projects including the project; and

delay a request to adjust the plurality of computing resources until the request based on the impact.

20. The computer readable storing medium of claim 11 , wherein the instructions, when executed by the processor, further cause the processor to cause a user interface to display at least one user interface control to adjust at least one parameter related to the project, and determining the optimal resource allocation in response to input from the at least one user interface control.

21. A computer system comprising:

a memory storing instructions; and

a processor for executing the instructions to perform the steps of:

identifying a resource allocation associated with a project, wherein the resource allocation identifies a plurality of computing resources assigned to the project for indexing data corresponding to the project, and the project is associated with a dynamically scalable index store for storing the data;

determining based on one or more performance rules associated with the project that the resource allocation is suboptimal;

determining an optimal resource allocation for the project based on one or more characteristics of the project; and

adjusting the plurality of computing resources based on the optimal resource allocation.

22. The computer system of claim 21 , wherein the project is associated with an index store for storing the data corresponding to the project, the index store is accessible by at least one indexer server, and the at least one indexer server is associated with at least one virtual machine.

23. The computer system of claim 21 , wherein the one or more performance rules specifies an optimal speed for indexing data corresponding to the project.

24. The computer system of claim 21 , wherein the one or more performance rules includes a rule-based trigger that is triggered when a speed for indexing the data corresponding to the project falls below a threshold.

25. The computer system of claim 21 , wherein the one or more performance rules indicates a scheduled trigger for changing the plurality of computing resources assigned to the project.

26. The computer system of claim 21 , wherein determining the optimal resource allocation comprises determining a change in a first subset of the plurality of computing resources associated with a first processing dimension based on a performance characteristic of the project.

27. The computer system of claim 21 , wherein determining the optimal resource allocation comprises:

determining a first change in a first subset of the plurality of computing resources associated with a first processing dimension based on a performance characteristic of the project; and

determining, based on the first change, a second change in a second subset of the plurality of computing resources associated with a second processing dimension.

28. The computer system of claim 21 , wherein adjusting the plurality of computing resources comprises placing a request to adjust the plurality of computing resources in a request queue until the request can be fulfilled.

29. The computer system of claim 21 , wherein the processor further performs the steps of:

determining an impact of the optimal resource allocation on an overall performance of an indexing system that indexes data corresponding to a plurality of projects including the project; and

delaying a request to adjust the plurality of computing resources until the request based on the impact.

30. The computer system of claim 21 , wherein the processor further performs the step of causing a user interface to display at least one user interface control to adjust at least one parameter related to the project, and determining the optimal resource allocation in response to input from the at least one user interface control.

31. The method of claim 1 , wherein the one or more performance rules are based on at least one of a scheduled time, a pattern prediction that indicates a potential change in utilization requirements, and a determination that a performance metric threshold has been exceeded.

32. The method of claim 1 , wherein adjusting the plurality of computing resources comprises adjusting an allocation associated with the dynamically scalable index store.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2018
From: DAS, ROBIN KUMAR; AGO, LEDIO; SHANAGHY, DECLAN GERARD; GUPTA, GAURAV
To: SPLUNK INC.
Reel/Frame 044631/0712 →
Continuity (10)
Continuation 15339884 · Oct 31, 2016
Continuation 15336834 · Oct 28, 2016
Continuation 15007184 · Jan 26, 2016
Continuation 14735120 · Jun 9, 2015
Continuation 14449135 · Jul 31, 2014
Continuation 14068445 · Oct 31, 2013
Continuation 13662356 · Oct 26, 2012
Continuation 13572434 · Aug 10, 2012
Provisional Application 61523063 · Aug 12, 2011
Related Publication 20180145989A1 · May 24, 2018