IP Library Granted Patent US 8,612,530
Granted Patent B1
US 8,612,530 · App. 13/279,983 · Granted Dec 17, 2013

Pass-through testing using message exchange identifiers

Inventors: Dmitrijs F. Sapovalovs (Menlo Park, CA); Sundar Vasan (San Francisco, CA); Kowsik Guruswamy (Sunnyvale, CA)
Assignee: Mu Dynamics, Inc.
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 8,612,530
App. No.
13/279,983
Granted
Dec 17, 2013
Kind
B1
Abstract

Various embodiments are directed to testing a pass-through device under test. For example, a computer system may receive a scenario describing a model of a message exchange involving the device under test, which specifies, for at least one message a source address location, a destination address location, and an identifier location. The computer system may also execute a plurality of instances of the scenario. Executing each instance may comprise generating a first outgoing message based on the model of the message exchange; and transmitting the first outgoing message to the device under test. Additionally, the computer system may receive and apply a filter to the first forwarded message from the device under test. Applying the filter may extract a second message exchange identifier value from the identifier location of the first forwarded message. Using the second message exchange identifier, the first forwarded message may be matched to at least one outgoing message.

Claims (57)

1. A computer-implemented method for testing a pass-through device under test, the method comprising:

receiving, by a computer system, a scenario describing a model of a message exchange involving the device under test, wherein the message exchange specifies, for at least one message, a source address location, a destination address location, and an identifier location, and wherein the computer system comprises at least one processor and operatively associated memory;

executing, by the computer system, a plurality of instances of the scenario, wherein executing each instance of the plurality of instances comprises:

generating a first outgoing message based on the model of the message exchange, wherein the generating comprises populating the source and destination address locations, and populating the identifier location with a FIRST message exchange identifier value; and

transmitting the first outgoing message to the device under test;

receiving, by the computer system, a first forwarded message from the device under test;

applying, by the computer system, a filter to the first forwarded message to extract a second message exchange identifier value from the identifier location of the first forwarded message;

matching, by the computer system, the first forwarded message to at least one outgoing message generated by execution of one of the plurality of instances by matching the second message exchange identifier value to a FIRST message exchange identifier value of at least one outgoing message; and

storing, by the computer system and at the memory, an indication of a mapping between the first forwarded message and the at least one outgoing message.

2. The method of claim 1 , wherein the first message exchange identifier value is equal to the second message exchange identifier value and wherein the at least one outgoing message comprises the first outgoing message.

3. The method of claim 1 , wherein, for each of the plurality of instances of the scenario, the message exchange identifier value for the first outgoing message is specific to the instance.

4. The method of claim 3 , further comprising generating a message exchange map, wherein the message exchange map identifies a plurality of message exchanges including the message exchange and, for each of the plurality of message exchanges, a corresponding message exchange identifier value.

5. The method of claim 4 , further comprising identifying a first message exchange selected from the plurality of message exchanges that corresponds to the first forwarded message based on the second message exchange identifier value, wherein the identifying comprises searching a message exchange map.

6. The method of claim 1 , wherein executing each instance of the plurality of instances comprises:

generating a second outgoing message based on the model of the message exchange, wherein the generating comprises populating the source and destination addresses, and populating the identifier location with the first message exchange identifier value; and

transmitting the second outgoing message to the device under test.

7. The method of claim 1 , wherein applying the filter to the first forwarded message comprises applying a regular expression to the first forwarded message.

8. The method of claim 1 , wherein applying the filter to the first forwarded message comprises applying an offset and length filter to the first forwarded message.

9. The method of claim 1 , wherein the first forwarded message is a data packet.

10. The method of claim 1 , wherein the first forwarded message is a data stream comprising a plurality of packets.

11. The method of claim 10 , wherein applying the filter to the first forwarded message comprises applying the filter to a first packet of the first forwarded message.

12. The method of claim 10 , wherein storing the indication of the mapping between the first forwarded message and the first instance comprises:

storing, by the computer system and at the memory, an indication of a mapping between each successive packet of the first forwarded message and the first instance; and

receiving, by the computer system, a time out indication.

13. The method of claim 12 , further comprising, after receiving the time out indication, applying the filter to a second forwarded message to extract from the identifier location of the second received message a second message exchange identifier identifying a second instance selected from the plurality of instances.

14. The method of claim 1 , wherein the identifier location corresponds to a Hypertext Transfer Protocol (HTTP) cookie.

15. The method of claim 1 , wherein the identifier location corresponds to a transport step of the scenario.

16. The method of claim 1 , wherein the identifier location corresponds to a client sent step of the scenario.

17. A computer-implemented system for testing a pass-through device under test, the system comprising:

a computer system comprising at least one processor and operatively associated memory, the computer system programmed to:

receive a scenario describing a model of a message exchange involving the device under test, wherein the message exchange specifies, for at least one message, a source address location, a destination address location, and an identifier location;

execute a plurality of instances of the scenario, wherein executing each instance of the plurality of instances comprises:

generating a first outgoing message based on the model of the message exchange, wherein the generating comprises populating the source and destination address locations, and populating the identifier location with a FIRST message exchange identifier value; and

transmitting the first outgoing message to the device under test;

receive a first forwarded message from the device under test;

apply a filter to the first forwarded message to extract a second message exchange identifier value from the identifier location of the first forwarded message;

match the first forwarded message to at least one outgoing message generated by execution of one of the plurality of instances by matching the second message exchange identifier value to a FIRST message exchange identifier value of at least one outgoing message; and

store at the memory, an indication of a mapping between the first forwarded message and the at least one outgoing message.

18. The system of claim 17 , wherein the first message exchange identifier value is equal to the second message exchange identifier value and wherein the at least one outgoing message comprises the first outgoing message.

19. The system of claim 17 , wherein, for each of the plurality of instances of the scenario, the message exchange identifier value for the first outgoing message is specific to the instance.

20. The system of claim 19 , wherein the computer system is further programmed to generate a message exchange map, wherein the message exchange map identifies the plurality of message exchanges and, for each of the plurality of instances, a corresponding message exchange identifier value.

21. The system of claim 20 , wherein the computer system is further programmed to identify a first message exchange corresponding to the first forwarded message based on the second message exchange identifier value, wherein the identifying comprises searching a message exchange map.

22. The system of claim 17 , wherein executing each instance of the plurality of instances comprises:

generating a second outgoing message based on the model of the message exchange, wherein the generating comprises populating the source and destination addresses, and populating the identifier location with the first message exchange identifier value; and

transmitting the second outgoing message to the device under test.

23. The system of claim 17 , wherein applying the filter to the first forwarded message comprises applying a regular expression to the first forwarded message.

24. The system of claim 17 , wherein applying the filter to the first forwarded message comprises applying an offset and length filter to the first forwarded message.

25. The system of claim 17 , wherein the first forwarded message is a data packet.

26. The system of claim 17 , wherein the first forwarded message is a data stream comprising a plurality of packets.

27. The system of claim 26 , wherein applying the filter to the first forwarded message comprises applying the filter to a first packet of the first forwarded message.

28. The system of claim 26 , wherein storing the indication of the mapping between the first forwarded message and the first instance comprises:

storing, by the computer system and at the memory, an indication of a mapping between each successive packet of the first forwarded message and the first instance; and

receiving, by the computer system, a time out indication.

29. The system of claim 28 , wherein the computer system is further programmed to, after receiving the time out indication, apply the filter to a second forwarded message to extract from the identifier location of the second received message a second message exchange identifier identifying a second instance selected from the plurality of instances.

30. The system of claim 17 , wherein the identifier location corresponds to a Hypertext Transfer Protocol (HTTP) cookie.

31. The system of claim 17 , wherein the identifier location corresponds to a transport step of the scenario.

32. The system of claim 17 , wherein the identifier location corresponds to a client sent step of the scenario.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2025
From: SPIRENT COMMUNICATIONS, INC.
To: VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 073121/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2012
From: SAPOVALOVS, DMITRIJS F.; GURUSWAMY, KOWSIK; SUNDAR, VASAN R.
To: MU DYNAMICS, INC.
Reel/Frame 027495/0297 →
Continuity (1)
Continuation In Part 13118155 · May 27, 2011