IP Library Granted Patent US 10,778,559
Granted Patent B2
US 10,778,559 · App. 15/592,984 · Granted Sep 15, 2020

Facilitating simulation of network conditions in a hybrid application environment

Inventors: Kevin Venkiteswaran (Alameda, CA); Jinal Kathiara (Walnut Creek, CA)
Assignee: salesforce.com, inc.
H04L43/50G06F9/547H04L41/145H04L67/02H04L67/10
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,778,559
App. No.
15/592,984
Granted
Sep 15, 2020
Kind
B2
Abstract

Disclosed are some implementations of systems, apparatus, methods and computer program products for facilitating the simulation of a variety of network conditions for the testing of network-connected applications in a hybrid application environment. A test system in communication with a web browser intercepts and overrides a network communication to the application and then substitutes an altered or degraded communication.

Claims (52)

1. A system comprising:

a test system implemented using a network device, the test system configurable to cause:

intercepting a network communication sent via a network from a first computing device to a second computing device executing a hybrid application, the test system in communication with a web browser of the second computing device, the hybrid application including a native code portion and a web application portion, wherein the test system is integral with the second computing device;

determining one or more characteristics of the network communication, the characteristics including a size of a payload of the network communication;

capturing a state of the hybrid application;

transforming the intercepted network communication into a modulated network communication that simulates an effect of a network condition on the hybrid application, wherein transforming the intercepted network communication includes overriding a network communication application programming interface (API) by applying a simulator library based, at least in part, on the characteristics of the network communication and the state of the hybrid application; and

transmitting the modulated network communication to the web browser of the second computing device in place of the intercepted network communication without transmitting the modulated network communication via the network.

2. The system as recited in claim 1 , the test system further configurable to cause:

loading test logic of the test system into the web browser.

3. The system as recited in claim 1 , wherein the first computing device comprises a web server.

4. The system as recited in claim 1 , wherein transforming the intercepted network communication into a modulated network communication comprises:

applying a logic component of the simulator library using XML HTTP Request (XHR).

5. The system as recited in claim 1 , the test system further configurable to cause:

intercepting a second network communication sent from the second computing device executing the hybrid application;

transforming, the second intercepted network communication into a second modulated network communication, wherein the second modulated network communication simulates the effect of the network condition on the second network communication; and

transmitting the second modulated network communication to the web browser in place of the second intercepted network communication.

6. The system as recited in claim 1 , wherein transmitting the modulated network communication to the second computing device in place of the intercepted network communication comprises:

calling an application programming interface (API) of the web browser.

7. A computer program product comprising computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause:

intercepting a network communication sent via a network from a first computing device to a second computing device executing a hybrid application, the test system in communication with a web browser of the second computing device, the hybrid application including a native code portion and a web application portion, wherein the test system is integral with the second computing device;

determining one or more characteristics of the network communication, the characteristics including a size of a payload of the network communication;

capturing a state of the hybrid application;

transforming the intercepted network communication into a modulated network communication that simulates an effect of a network condition on the hybrid application, wherein transforming the intercepted network communication includes overriding a network communication application programming interface (API) by applying a simulator library based, at least in part, on the characteristics of the network communication and the state of the hybrid application; and

transmitting the modulated network communication to the web browser of the second computing device in place of the intercepted network communication without transmitting the modulated network communication via the network.

8. The computer program product as recited in claim 7 , the program code comprising instructions further configured to cause:

loading test logic of the test system into the web browser.

9. The computer program product as recited in claim 7 , wherein the first computing device comprises a web server.

10. The computer program product as recited in claim 7 , wherein transforming the intercepted network communication into a modulated network communication comprises:

applying a logic component of the simulator library using XML HTTP Request (XHR).

11. The computer program product as recited in claim 7 , the program code comprising instructions further configured to cause:

intercepting a second network communication sent from the second computing device executing the hybrid application;

transforming the second intercepted network communication into a second modulated network communication, wherein the second modulated network communication simulates the effect of the network condition on the second network communication; and

transmitting the second modulated network communication to the web browser in place of the second intercepted network communication.

12. The computer program product as recited in claim 7 , wherein transmitting the modulated network communication to the second computing device in place of the intercepted network communication comprises:

calling an application programming interface (API) of the web browser.

13. A method for simulating the effect of a network condition on a hybrid application, comprising:

intercepting, by a test system, a network communication sent via a network from a first computing device to a second computing device executing the hybrid application, the test system in communication with a web browser of the second computing device, the hybrid application including a native code portion and a web application portion, wherein the test system is integral with the second computing device;

determining one or more characteristics of the network communication, the characteristics including a size of a payload of the network communication;

capturing a state of the hybrid application;

transforming, by the test system, the intercepted network communication into a modulated network communication that simulates the effect of the network condition on the hybrid application, wherein transforming the intercepted network communication includes overriding a network communication application programming interface (API) by applying a simulator library based, at least in part, on the characteristics of the network communication and the state of the hybrid application; and

transmitting, by the test system, the modulated network communication to the web browser of the second computing device in place of the intercepted network communication without transmitting the modulated network communication via the network.

14. The method as recited in claim 13 , further comprising:

loading test logic of the test system into the web browser.

15. The method as recited in claim 13 , wherein the first computing device comprises a web server.

16. The method as recited in claim 13 , wherein transforming the intercepted network communication into a modulated network communication comprises:

applying a logic component of the simulator library using XML HTTP Request (XHR).

17. The method as recited in claim 13 , further comprising:

intercepting, by the test system, a second network communication sent from the second computing device executing the hybrid application;

transforming, by the test system, the second intercepted network communication into a second modulated network communication, wherein the second modulated network communication simulates the effect of the network condition on the second network communication; and

transmitting, by the test system, the second modulated network communication to the web browser in place of the second intercepted network communication.

18. The method as recited in claim 13 , wherein transmitting the modulated network communication to the second computing device in place of the intercepted network communication comprises:

calling an application programming interface (API) of the web browser.

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 May 11, 2017
From: VENKITESWARAN, KEVIN; KATHIARA, JINAL
To: SALESFORCE.COM, INC.
Reel/Frame 042347/0175 →
Continuity (2)
Provisional Application 62409239 · Oct 17, 2016
Related Publication 20180109434A1 · Apr 19, 2018