IP Library › Granted Patent US 11,245,591
Granted Patent B1
US 11,245,591 · App. 17/024,502 · Granted Feb 8, 2022

Implementation of a mock server for discovery applications

Inventors: Tom Bar Oz (Petah Tikva, IL); Robert Bitterfeld (Petah Tikva, IL); Venkatesh Ainalli (Bangalore, IN); Aviya Aron (Petah Tikva, IL); Naveen Kumar HR (Bangalore, IN)
Assignee: ServiceNow, Inc.
H04L41/12H04L9/3236H04L41/0213H04L43/50H04L67/40
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,245,591
App. No.
17/024,502
Granted
Feb 8, 2022
Kind
B1
Abstract

A mock server implementation for discovery applications is provided. A computing system includes a mock server, which receives a client request from a mock client on a discovery server. The client request corresponds to a user query associated with a discovery of resources on a remote computing system. The mock server determines a first response from a mock response dataset. The first response to the client request is determined based on the received client request. The mock response dataset includes a set of responses associated with a sequence of operations executed in the past for the discovery of resources on the remote computing system. The mock server transmits the determined first response to the mock client on the discovery server. The mock client receives the transmitted first response and sends the received first response to a discovery application interface on a user device.

Claims (75)

1. A computing system, comprising:

a mock server configured to:

receive, from a mock client on a discovery server, a client request corresponding to a user query associated with a discovery of resources on a remote computing system;

determine a first response from a mock response dataset, wherein the first response is determined based on the received client request, and the mock response dataset comprises a set of responses associated with a sequence of operations executed in the past for the discovery of resources on the remote computing system; and

transmit the determined first response to the mock client on the discovery server, wherein the mock client is configured to:

receive the transmitted first response; and

send the received first response to a discovery application interface on a user device; and

wherein the discovery server is further configured to:

receive, via the discovery application interface on the user device, an input comprising a selection of a test mode;

determine a mock class which is required for activation of the mock client in the test mode based on the received input; and

activate the mock client in the test mode based on a dependency injection of the determined mock class, wherein the mock client is configured to receive the user query via the discovery application interface on the user device based on the activation.

2. The computing system according to claim 1 , wherein the discovery server comprises a session recorder configured to:

record session data associated with the sequence of operations for the discovery of resources on the remote computing system; and

populate the mock response dataset through a scriptable Representation State Transfer (REST) endpoint based on the recorded session data.

3. The computing system according to claim 1 , wherein the mock response dataset comprises a set of records, each of which comprises:

a request associated with one of the sequence of operations,

a response which is paired with the request, and

a hash key which uniquely identifies the request and the response.

4. The computing system according to claim 1 , wherein the mock server is configured to execute a scriptable Representational State Transfer (REST) Application Programming Interface (API) to respond to the client request received from the mock client.

5. The computing system according to claim 1 , wherein the mock client is further configured to:

determine a communication protocol associated with the user query;

transform the received first response based on the determined communication protocol; and

send the transformed first response to the discovery application interface on the user device.

6. The computing system according to claim 5 , wherein the determined communication protocol is one of a Representational State Transfer (REST) protocol, a Windows Management Instrumentation (WMI) protocol, a Secure Shell (SSH) protocol, or a Simple Network Management Protocol (SNMP) protocol.

7. The computing system according to claim 1 , wherein the mock client is further configured to:

receive, via the discovery application interface on the user device, the user query and query parameters associated with the user query; and

generate a hash key based on the received user query and the query parameters.

8. The computing system according to claim 7 , wherein the client request from the mock client comprises the generated hash key.

9. The computing system according to claim 8 , wherein the mock server is further configured to retrieve the generated hash key from the client request, wherein the first response is determined further based on the retrieved hash key.

10. The computing system according to claim 1 , wherein the mock server is further configured to:

duplicate a record of the mock response dataset;

generate a random value of an attribute of the duplicated record;

update the duplicated record based on the generated random value; and

update the mock response dataset to include the updated record.

11. The computing system according to claim 10 , wherein the mock server is further configured to:

receive, as part of a scale test, a plurality of client requests from the mock client;

determine, from the updated mock response dataset, a plurality of responses corresponding to the received plurality of client requests; and

transmit the determined plurality of responses to the mock client, wherein the discovery server is configured to:

monitor a set of scale test parameters associated with the reception of the plurality of client requests by the mock server and the transmission of the determined plurality of responses to the mock client; and

determine a performance metric associated with the scale test based on the monitored set of scale test parameters.

12. A computer-implemented method, comprising:

receiving, by a discovery server, an input comprising a selection of a test mode via a discovery application interface on a user device;

determining, by the discovery server, a mock class which is required for activation of a mock client in the test mode based on the received input;

activating, by the discovery server, the mock client in the test mode based on a dependency injection of the determined mock class; and

receiving, by the mock client, a user query via the discovery application interface on the user device, wherein the user query is associated with a discovery of resources on a remote computing system;

receiving, by a mock server on a computing system, a client request from the mock client on the discovery server, wherein the client request corresponds to the user query;

determining, by the mock server, a first response from a mock response dataset based on the received client request, wherein the first response is determined based on the received client request, and the mock response dataset comprises a set of responses associated with a sequence of operations executed in the past for the discovery of resources on the remote computing system;

transmitting, by the mock server, the determined first response to the mock client on the discovery server; and

sending, by the mock client, the transmitted first response to the discovery application interface on the user device.

13. The computer-implemented method according to claim 12 , further comprising:

determining, by the mock client, a communication protocol associated with the user query;

receiving, by the mock client, the transmitted first response from the mock server;

transforming, by the mock client, the received first response based on the determined communication protocol; and

sending the transformed first response to the discovery application interface on the user device.

14. The computer-implemented method according to claim 12 , further comprising:

recording, by a session recorder on the discovery server, session data associated with the sequence of operations for the discovery of resources on the remote computing system; and

populating, by the session recorder, the mock response dataset based on the recorded session data,

wherein the populated mock response dataset comprises a set of records, each of which comprises:

a request associated with one of the sequence of operations,

a response which is paired with the request, and

a hash key which uniquely identifies the request and the response.

15. The computer-implemented method according to claim 12 , further comprising:

receiving, by the mock client, the user query and query parameters associated with the user query via the discovery application interface on the user device; and

generating, by the mock client, a hash key based on the received user query and the query parameters.

16. The computer-implemented method according to claim 15 , wherein the client request from the mock client comprises the generated hash key.

17. The computer-implemented method according to claim 16 , further comprising retrieving, by the mock server, the generated hash key from the client request, wherein the first response is determined further based on the retrieved hash key.

18. A non-transitory computer-readable medium having stored thereon, computer-executable instructions which, when executed by a computing system, causes the computing system to execute operations, the operations comprising:

receiving, by a discovery server, an input comprising a selection of a test mode via a discovery application interface on a user device;

determining, by the discovery server, a mock class which is required for activation of a mock client in the test mode based on the received input;

activating, by the discovery server, the mock client in the test mode based on a dependency injection of the determined mock class; and

receiving, by the mock client, a user query via the discovery application interface on the user device, wherein the user query is associated with a discovery of resources on a remote computing system;

receiving, by a mock server on the computing system, a client request from the mock client on the discovery server, wherein the client request corresponds to the user query;

determining, by the mock server, a first response from a mock response dataset, wherein the first response is determined based on the received client request, and the mock response dataset comprises a set of responses associated with a sequence of operations executed in the past for the discovery of resources on the remote computing system;

transmitting, by the mock server, the determined first response to the mock client on the discovery server; and

sending, by the mock client, the transmitted first response to the discovery application interface on the user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2020
From: BAR OZ, TOM; BITTERFELD, ROBERT; AINALLI, VENKATESH; ARON, AVIYA; KUMAR HR, NAVEEN
To: SERVICENOW, INC.
Reel/Frame 053817/0410 →
Cited By (1)
US 12,737,270