IP Library Granted Patent US 11,907,104
Granted Patent B1
US 11,907,104 · App. 17/804,418 · Granted Feb 20, 2024

Service virtualization

Inventors: Saraf Uddin Talukder (New Hyde Park, NY); Jalil Vaidya (Little Falls, NJ)
Assignee: Wells Fargo Bank, N.A.
G06F11/3664G06F9/45508G06F9/547G06F11/3688H04L43/04H04L43/14H04L43/50H04L67/75G06F11/3414G06F11/3672G06F11/3684H04L43/0805
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,907,104
App. No.
17/804,418
Granted
Feb 20, 2024
Kind
B1
Abstract

An application in production may communicate with one or more heterogeneous services, including requesting and receiving data from a one or more data sources. The communication between the application and the services can include complicated scenarios making facilitating end-to-end testing of the application difficult. The disclosed service virtualization solution works in two stages of ‘record and replay’ to simulate a backend service. During the recording stage, the disclosed tool intercepts the data flow between the client and the service and records the data and during the replay stage, the disclosed tool creates a proxy service that simulates the responses of service application by reading the recorded session file, allowing for the client application to be tested without having to connect to the actual service application.

Claims (36)

1. A method for conducting a testing scenario, the method comprising:

during a recording phase of the testing scenario:

intercepting data transmissions between a client application and a service application, wherein each of the data transmissions includes one or more data packets;

recording the one or more data packets associated with each of the data transmissions and time interval data associated with each of the one or more data packets as a recording, wherein the time interval data defines an amount of time between each subsequent data packet in the data transmissions; and

adding one or more markers to the recording to indicate that timing of a subsequent data transmission from the client application is variable; and

during a replaying phase of the testing scenario:

creating a proxy service to simulate the service application;

facilitating the data transmissions to continue between the client application and the proxy service, wherein the proxy service mimics the service application by transmitting the one or more data packets associated with the data transmissions as recorded at time intervals that match the time interval data; and

upon encountering each of the one or more markers on the recording, pausing replaying of the data transmission until the subsequent data transmission is received from the client application.

2. The method of claim 1 , further comprising: allowing each of the data transmissions to continue when the service application is unavailable.

3. The method of claim 1 , further comprising:

storing origin data associated with each of the one or more data packets, the origin data defining whether each of the one or more data packets originated from the client application or from the service application.

4. The method of claim 3 , further comprising: mimicking the service application by selecting the data transmissions based upon the origin data associated with each of the one or more data packets.

5. The method of claim 1 , further comprising: one or more scripts that automatically pause and un-pause the replaying of the data transmissions.

6. The method of claim 1 , wherein the data transmissions between the client application and the service application use a Transmission Control Protocol (TCP) protocol.

7. The method of claim 1 , wherein the data transmissions are a serialized stream of bytes.

8. The method of claim 1 , wherein at least one of the client application and the service application is associated with a financial institution.

9. The method of claim 1 , further comprising: record the one or more data packets associated with each of the data transmissions without decrypting the one or more data packets.

10. A system for conducting a testing scenario, the system comprising:

a processing unit; and

system memory, the system memory including instructions which, when executed by the processing unit, cause the system to:

during a recording phase of the testing scenario:

intercept data transmissions between a client application and a service application, wherein each of the data transmissions includes one or more data packets; and

record the one or more data packets associated with each of the data transmissions and time interval data associated with each of the one or more data packets as a recording, wherein the time interval data defines an amount of time between each subsequent data packet in the data transmissions;

add one more markers to the recording to indicate that timing of a subsequent data transmission from the client application is variable; and

during a replaying phase of the testing scenario:

create a proxy service to simulate the service application;

facilitate the data transmissions to continue between the client application and the proxy service, wherein the proxy service mimics the service application by transmitting the one or more data packets associated with the data transmissions as recorded at time intervals that match the time interval data, and

upon encountering each of the one or more markers on the recording, pause the replaying of the data transmission until the subsequent data transmission is received from the client application.

11. The system of claim 10 , wherein the instructions, when executed by the processing unit, further cause the system to allow each of the data transmissions to continue when the service application is unavailable.

12. The system of claim 10 , wherein the instructions, when executed by the processing unit, further cause the system to:

store origin data associated with each of the one or more data packets, the origin data defining whether each of the one or more data packets originated from the client application or from the service application.

13. The system of claim 12 , wherein the instructions, when executed by the processing unit, further cause the system to mimic the service application by selecting the data transmissions based upon the origin data associated with each of the one or more data packets.

14. The system of claim 10 , wherein an application is used to automatically add the one or more markers.

15. The system of claim 10 , wherein the data transmissions between the client application and the service application use a Transmission Control Protocol (TCP) protocol.

16. The system of claim 10 , wherein the data transmissions are a serialized stream of bytes.

Assignments (2)
STATEMENT OF CHANGE OF ADDRESS OF ASSIGNEE Recorded Jun 17, 2025
From: WELLS FARGO BANK, N.A.
To: WELLS FARGO BANK, N.A.
Reel/Frame 071679/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2022
From: TALUKDER, SARAF UDDIN; VAIDYA, JALIL
To: WELLS FARGO BANK, N.A.
Reel/Frame 060040/0230 →
Continuity (1)
Continuation 17145785 · Jan 11, 2021