IP Library Granted Patent US 10,595,204
Granted Patent B2
US 10,595,204 · App. 15/668,520 · Granted Mar 17, 2020

Flexible remote server validation

Inventor: Steven Alan Greer (Plainfield, IN)
Assignee: salesforce.com, inc.
H04W12/08G06F11/2289G06F11/2294H04L63/08
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,595,204
App. No.
15/668,520
Granted
Mar 17, 2020
Kind
B2
Abstract

In some database systems, multiple servers may be deployed with different configurations based on stacks, applications, or services associated with the servers. Such systems may perform server validations to determine whether the servers are deployed with the correct configurations. A testing server may validate one or more target servers using metadata and parameters of the target servers. The testing server may receive parameters corresponding to a configuration file, and the testing server may select a subset of validation routines to perform for each target server based on metadata in the configuration file. In this way, the testing server may perform the same validation process for each target server, but may perform a different subset of validation routines. The testing server may execute code containing the selected subset of validation routines remotely against the target server, and may determine whether the server was configured correctly.

Claims (47)

1. A method for validating a plurality of target servers in a cloud platform, comprising:

initiating first and second validation processes of respective first and second target servers of the plurality of target servers based at least in part on respective first and second new or modified target server configurations of the respective first and second target servers;

receiving, at a testing server and in response to initiating the first and second validation processes, respective first and second parameters of the respective first and second new or modified target server configurations, the respective first and second parameters corresponding to respective first and second configuration files, the respective first and second configuration files comprising respective first and second sets of server-deployment configuration parameters corresponding to respective first and second intended configurations of the respective first and second target servers;

comparing the respective first and second sets of server-deployment configuration parameters to a set of possible server-deployment configuration parameters for the plurality of target servers;

inputting the respective first and second configuration files into code executable by the testing server;

selecting respective first and second subsets of validation routines that test for successful server deployment from a set of possible validation routines for the plurality of target servers, wherein the respective first and second subsets of validation routines correspond to the respective first and second intended configurations and are configured to compare the respective first and second intended configurations to the respective first and second new or modified target server configurations, and wherein the second subset of validation routines is different from the first subset of validation routines, and wherein selecting the respective first and second subsets of validation routines further comprises executing the code with the respective first and second configuration files at the testing server; and

transmitting respective first and second validation instruction messages to the respective first and second target servers, wherein the respective first and second validation instruction messages comprise the respective first and second subsets of validation routines.

2. The method of claim 1 , wherein the first target server and the second target server are configured for different applications.

3. The method of claim 1 , further comprising:

receiving, from the first target server, a first validation result message in response to the first validation instruction message.

4. The method of claim 3 , further comprising:

transmitting, to a user interface, an indication of the first validation result message.

5. The method of claim 1 , wherein the first configuration file comprises a stack configuration file, an application type configuration file, a server type configuration file, a service configuration file, a JavaScript object notation (JSON) file, or a combination thereof.

6. The method of claim 1 , wherein the first validation instruction message comprises a behavior-driven development (BDD) test runner, a Pester test runner, or a combination thereof.

7. An apparatus for validating a plurality of target servers in a cloud platform, comprising:

a processor;

memory in electronic communication with the processor; and

instructions stored in the memory and operable, when executed by the processor, to cause the apparatus to:

initiate first and second validation processes of respective first and second target servers of the plurality of target servers based at least in part on respective first and second new or modified target server configurations of the respective first and second target servers;

receive, at a testing server and in response to initiating the first and second validation processes, respective first and second parameters of the respective first and second new or modified target server configurations, the respective first and second parameters corresponding to respective first and second configuration files, the respective first and second configuration files comprising respective first and second sets of server-deployment configuration parameters corresponding to respective first and second intended configurations of the respective first and second target servers;

compare the respective first and second sets of server-deployment configuration parameters to a set of possible server-deployment configuration parameters for the plurality of target servers;

input the respective first and second configuration files into code executable by the testing server;

select respective first and second subsets of validation routines that test for successful server deployment from a set of possible validation routines for the plurality of target servers, wherein the respective first and second subsets of validation routines correspond to the respective first and second intended configurations and are configured to compare the respective first and second intended configurations to the respective first and second new or modified target server configurations, and wherein the second subset of validation routines is different from the first subset of validation routines, and wherein selecting the respective first and second subsets of validation routines further comprises executing the code with the respective first and second configuration files at the testing server; and

transmit respective first and second validation instruction messages to the respective first and second target servers, wherein the respective first and second validation instruction messages comprise the respective first and second subsets of validation routines.

8. The apparatus of claim 7 , wherein the first target server and the second target server are configured for different applications.

9. The apparatus of claim 7 , wherein the instructions are further executable by the processor to:

receive, from the first target server, a first validation result message in response to the first validation instruction message.

10. The apparatus of claim 9 , wherein the instructions are further executable by the processor to:

transmit, to a user interface, an indication of the first validation result message.

11. A non-transitory computer-readable medium storing first code for validating a plurality of target servers in a cloud platform, the first code comprising instructions executable by a processor to:

initiate first and second validation processes of respective first and second target servers of the plurality of target servers based at least in part on respective first and second new or modified target server configurations of the respective first and second target servers;

receive, at a testing server and in response to initiating the first and second validation processes, respective first and second parameters of the respective first and second new or modified target server configurations, the respective first and second parameters corresponding to respective first and second configuration files, the respective first and second configuration files comprising respective first and second sets of server-deployment configuration parameters corresponding to respective first and second intended configurations of the respective first and second target servers;

compare the respective first and second sets of server-deployment configuration parameters to a set of possible server-deployment configuration parameters for the plurality of target servers;

input the respective first and second configuration files into second code executable by the testing server;

select respective first and second subsets of validation routines that test for successful server deployment from a set of possible validation routines for the plurality of target servers, wherein the respective first and second subsets of validation routines correspond to the respective first and second intended configurations and are configured to compare the respective first and second intended configurations to the respective first and second new or modified target server configurations, and wherein the second subset of validation routines is different from the first subset of validation routines, and wherein selecting the respective first and second subsets of validation routines further comprises executing the second code with the respective first and second configuration files at the testing server; and

transmit respective first and second validation instruction messages to the respective first and second target servers, wherein the respective first and second validation instruction messages comprise the respective first and second subsets of validation routines.

12. The non-transitory computer-readable medium of claim 11 , wherein the first target server and the second target server are configured for different applications.

13. The non-transitory computer-readable medium of claim 11 , wherein the instructions are further executable by the processor to:

receive, from the first target server, a first validation result message in response to the first validation instruction message.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions are further executable by the processor to:

transmit, to a user interface, an indication of the first validation result message.

15. The method of claim 1 , wherein:

executing the code with the first configuration file at the testing server comprises executing a first set of lines of the code to perform the first subset of validation routines; and

executing the code with the second configuration file at the testing server comprises executing a second set of lines of the code different from the first set of lines of the code to perform the second subset of validation routines.

16. The method of claim 4 , further comprising:

receiving, from the second target server, a second validation result message in response to the second validation instruction message; and

transmitting, to the user interface, an indication of the second validation result message.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2018
From: GREER, STEVEN
To: SALESFORCE.COM, INC.
Reel/Frame 044535/0784 →
Continuity (1)
Related Publication 20190045360A1 · Feb 7, 2019
Cited By (1)
US 12,717,688