PRIORITY CLAIM

This application claims the priority benefit of Romanian Patent Application Serial No. a 2019 00814, filed Nov. 28, 2019, the disclosure of which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The subject matter described herein relates to network equipment testing. More particularly, the subject matter described herein relates to methods, systems, and computer readable media for implementing a generalized model for defining application state machines.

BACKGROUND

While state machines have been utilized for the purpose conducting network traffic testing at a device under test, the use of these state machines has generally been confined to specific communication protocols that are directly incorporated into the application state machines. More specifically, the entirety of a specific communication protocol to be used for testing is typically embedded into a test engine in an attempt to minimize the consumption of resources. However, a test system that is tasked to simulate diverse network behaviors corresponding to a large number of emulated users is notably restricted when such testing is limited to the communications protocols integrated into the test engine. Namely, accurate testing necessitates a test system that can produce realistic and complex mixes of network traffic that is not constrained to a specific protocol. Other challenges associated with test systems restricted in this manner include extensive resource requirement costs as well as the significant time requirements that are associated with the provisioning and supporting of new testing scenarios.

Accordingly, there exists a need for methods, systems, and computer readable media for implementing a generalized model for defining application state machines.

SUMMARY

According to one aspect, the subject matter described herein includes a method for implementing a generalized model for defining application state machines that includes utilizing a user behavioral state machine construct layer of a generalized application emulation model (GAEM) system to emulate a plurality of high level user behaviors originating from a plurality of emulated network users and utilizing a business application logic state machine construct layer in the GAEM system to emulate access rules and policies of an application to be defined. The method further includes utilizing a message parsing state machine construct layer in the GAEM system to emulate input/output (IO) events and network messaging events originating from emulated network entities and utilizing at least one network traffic processing agent in the GAEM system that is configured to establish an execution environment for facilitating the interactions among the user behavioral state machine construct layer, business application logic state machine construct layer, and the message parsing state machine construct layer such that when executed in the execution environment, the interactions establish a definition for a state machine that is representative of the application.

In one example of the method, the high level user behaviors are represented as parallel tracks, wherein each of the parallel tracks is a sequence of operations that is exposed by one or more applications.

In one example of the method, two or more of the parallel tracks are synchronized together at synchronization points.

In one example of the method, an output of one or more of the construct layers is provided to the at least one network traffic processing agent for execution.

In one example of the method, emulated network packet traffic is generated by the at least one network traffic processing agent.

In one example of the method, the user behavioral state machine construct layer, the business application logic state machine construct layer, and the message parsing state machine construct layer are configured to communicate data via filing of events.

In one example of the method, service access rules associated with the business application logic state machine construct layer are defined by an operator of a network under test.

According to one aspect, the subject matter described herein includes a system for implementing a generalized model for defining application state machines that comprises a user behavioral state machine construct layer configured to emulate a plurality of high level user behaviors originating from a plurality of emulated network users and a business application logic state machine construct layer configured to emulate access rules and policies of an application to be defined. The system further includes a message parsing state machine construct layer configured to emulate input/output (IO) events and network messaging events originating from emulated network entities and at least one network traffic processing agent that is configured to establish an execution environment for facilitating the interactions among the user behavioral state machine construct layer, the business application logic state machine construct layer, and the message parsing state machine construct layer such that when executed in the execution environment, the interactions establish a definition for a state machine that is representative of the application.

In one example of the system, the high level user behaviors are represented as parallel tracks, wherein each of the parallel tracks is a sequence of operations that is exposed by one or more applications.

In one example of the system, two or more of the parallel tracks are synchronized together at synchronization points.

In one example of the system, an output of one or more of the construct layers is provided to the at least one network traffic processing agent for execution.

In one example of the system, emulated network packet traffic is generated by the at least one network traffic processing agent.

In one example of the system, the user behavioral state machine construct layer, the business application logic state machine construct layer, and the message parsing state machine construct layer are configured to communicate data via filing of events.

In one example of the system, service access rules associated with the business application logic state machine construct layer are defined by an operator of a network under test.

The subject matter described herein can be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein can be implemented in software executed by a processor. In one exemplary implementation, the subject matter described herein can be implemented using a non-transitory computer readable medium having stored thereon computer executable instructions that when executed by a processor of a computer control the computer to perform steps. Exemplary computer readable media suitable for implementing the subject matter described herein include non-transitory computer-readable media, such as disk memory devices, chip memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer readable medium that implements the subject matter described herein may be located on a single device or computing platform or may be distributed across multiple devices or computing platforms.

