IP Library Granted Patent US 11,711,432
Granted Patent B1
US 11,711,432 · App. 17/574,925 · Granted Jul 25, 2023

Remote management of application settings

Inventors: Ioannis Vlachogiannis (San Francisco, CA); Nikolaos Maroulis (Oakland, CA); Panagiotis Papadomitsos (San Francisco, CA)
Assignee: Splunk Inc.
H04L67/133G06F8/60H04L41/0873H04L41/5012H04L67/34
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,711,432
App. No.
17/574,925
Granted
Jul 25, 2023
Kind
B1
Abstract

In various implementations, a computer-implemented method for remotely managing settings of applications includes receiving a network communication from a managed device, the received network communication including a client-side hash value. The method further includes identifying settings for an application on the managed device in response to the receiving of the network communication, where the identified settings include configuration instructions for the application. Based on a comparison between the received client-side hash value and a server-side hash value that corresponds to the identified settings, at least some of the identified settings are transmitted to the managed device. The transmitting of at least some of the identified settings can be based on the comparison indicating a mismatch between the received client-side hash value and the server-side hash value. The method may also include completing processing of the received network communication after the transmitting of the at least some of the identified settings.

Claims (31)

1. A computer-implemented method for remotely managing settings of applications, the method comprising:

receiving a communication from an application on a managed device, the received communication comprising an application identifier of the application and a client-side hash value of a first set of settings of the application;

identifying a server-side hash value of a second set of settings for the application using the application identifier in response to the receiving of the communication, the second set of settings comprising configuration instructions specific to the application identifier and were modified, prior to receiving the communication, in response to input provided via a device associated with the application to debug the application in association with the second set of settings, wherein the device is separate from the managed device; and

based on a difference of the received client-side hash value and the server-side hash value, transmitting, to the application on the managed device, a key-value pair representing a setting associated with the second set of settings to replace a first setting associated with the first set of settings causing the application to apply the configuration instructions to modify a configuration of the application.

2. The computer-implemented method of claim 1 , further comprising generating the server-side hash value prior to the receiving of the communication.

3. The computer-implemented method of claim 1 , wherein the configuration instructions comprise a plurality of key-value pairs.

4. The computer-implemented method of claim 1 , further comprising completing processing of the received communication after the transmitting of the key-value pair representing the setting associated with the second set of settings.

5. The computer-implemented method of claim 1 , further comprising completing decoding of encoded payload data of the received communication after the transmitting of the key-value pair representing the setting associated with the second set of settings.

6. The computer-implemented method of claim 1 , further comprising determining to use the server-side hash value in a comparison of the received client-side hash value and the server-side hash value based on the application identifier in the received communication.

7. The computer-implemented method of claim 1 , wherein the server-side hash value was generated based on the modification.

8. The computer-implemented method of claim 1 , wherein at least some of the configuration instructions correspond to a logging routine of the application.

9. The computer-implemented method of claim 1 , wherein one or more settings of the second set of settings comprise attributes that define whether or not the managed device is to apply the one or more settings to the application.

10. The computer-implemented method of claim 1 , further comprising assigning attributes to one or more settings of the second set of settings, wherein the attributes define whether or not the managed device is to apply the one or more settings to the application.

11. The computer-implemented method of claim 1 , wherein one or more settings of the second set of settings comprise attributes that define that the managed device is not to apply the one or more settings to the application.

12. The computer-implemented method of claim 1 , further comprising the managed device sending the communication as part of a startup routine of the application.

13. The computer-implemented method of claim 1 , wherein the second set of settings includes a setting that disables or enables a routine of the application or includes a setting that changes a routine of the application.

14. The computer-implemented method of claim 1 , wherein the second set of settings includes a setting that changes a level of detail for logging in the application or includes a setting that disables or enables a logging routine of the application.

15. The computer-implemented method of claim 1 , wherein the key-value pair is used by the application having preexisting code to identify how to apply a value of the key-value pair to the application based on a corresponding key of the key-value pair.

16. The computer-implemented method of claim 1 , wherein the configuration instructions for a setting of the second set of settings comprises one or more variables for one or more functions of the application.

17. The computer-implemented method of claim 1 , further comprising the managed device sending the communication as part of a routine of a software development kit (SDK).

18. The computer-implemented method of claim 1 , wherein the second set of settings includes a setting that disables or enables at least one paid feature, function, or routine of the application.

19. A system for remotely managing settings of applications, the system comprising:

one or more data processors; and

one or more computer-readable storage media containing instructions which when executed on the one or more data processors, cause the one or more processors to perform operations including:

receiving a communication from an application on a managed device, the received communication comprising an application identifier of the application and a client-side hash value of a first set of settings of the application;

identifying a server-side hash value of a second set of settings for the application using the application identifier in response to the receiving of the communication, the second set of settings comprising configuration instructions specific to the application identifier and were modified, prior to receiving the communication, in response to input provided via a device associated with the application to debug the application in association with the second set of settings, wherein the device is separate from the managed device; and

based on a difference of the received client-side hash value and the server-side hash value, transmitting, to the application on the managed device, a key-value pair representing a setting associated with the second set of settings to replace a first setting associated with the first set of settings causing the application to apply the configuration instructions to modify a configuration of the application.

20. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for remotely managing settings of applications, the method comprising:

receiving a communication from an application on a managed device, the received communication comprising an application identifier of the application and a client-side hash value of a first set of settings of the application;

identifying a server-side hash value of a second set of settings for the application using the application identifier in response to the receiving of the communication, the second set of settings comprising configuration instructions specific to the application identifier and were modified, prior to receiving the communication, in response to input provided via a device associated with the application debug the application in association with the second set of settings, wherein the device is separate from the managed device; and

based on a difference of the received client-side hash value and the server-side hash value, transmitting, to the application on the managed device, a key-value pair representing a setting associated with the second set of settings to replace a first setting associated with the first set of settings causing the application to apply the configuration instructions to modify a configuration of the application.

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 Jan 13, 2022
From: VLACHOGIANNIS, IOANNIS; MAROULIS, NIKOLAOS; PAPADOMITSOS, PANAGIOTIS
To: SPLUNK INC.
Reel/Frame 058644/0780 →
Continuity (3)
Continuation 16775700 · Jan 29, 2020
Continuation 14528526 · Oct 30, 2014
Provisional Application 62053102 · Sep 19, 2014