IP Library Granted Patent US 8,244,891
Granted Patent B2
US 8,244,891 · App. 10/795,923 · Granted Aug 14, 2012

Simulating a large number of users

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,244,891
App. No.
10/795,923
Granted
Aug 14, 2012
Kind
B2
Abstract

Simulating a large number of users is described. A method may include receiving a test script including a plurality of commands and invoking a script interpreter. An application thread may be launched to execute the test script. A protocol engine may be invoked for each of the commands in the test script such that each protocol engine has an associated command. Each protocol engine may execute its associated command. A system on which the method may be executed may include one or more chassis or computing devices having one or more network cards. The chassis and/or computing devices may be connected to one or more networks.

Claims (68)

1. A method of creating network traffic replicating activities of a large number of users comprising:

receiving a test script including a plurality of commands specifying extended operations of an operating system

invoking a script interpreter

launching an application thread to execute the test script, wherein the application thread is a light weight thread capable of invoking the extended operations, the application thread requiring a smaller amount of memory, less processor power, and less communication with the operating system when compared to traditional threads

invoking a protocol engine for each of the commands in the test script such that each protocol engine has an associated command,

each protocol engine executing its associated command.

2. The method of claim 1 wherein the commands in the test script simulate actions taken by a network user.

3. The method of claim 1 wherein the extended operations include “fetch,” “verify,” “fetch and verify,” “fetch and ignore,” “monitor,” and “count.”

4. The method of claim 1 wherein the test script causes network traffic to be produced.

5. The method of claim 1 wherein each protocol engine executing its associated command comprises:

checking whether a maximum number of protocol engines has been exceeded

performing the executing when the maximum number of protocol engines has not been exceeded.

6. The method of claim 5 wherein the checking further comprises:

waiting a system defined amount of time until attempting to execute again.

7. The method of claim 5 wherein the checking further comprises:

sleeping until system resources sufficient for the executing of the protocol engine are available until attempting to execute again.

8. The method of claim 1 wherein the network traffic is comprised of a plurality of data units adhering to a plurality of communications protocols.

9. The method of claim 8 wherein the plurality of communication protocols includes at least one of Ethernet, User Datagram Protocol (UDP), Transmission Control Protocol (TCP), Internet Protocol (IP), File Transfer Protocol (FTP), or Hypertext Transfer Protocol (HTTP).

10. A non-transitory computer readable medium having instructions stored thereon which when executed cause a processor to perform operations comprising:

receiving a test script including a plurality of commands specifying extended operations of an operating system

invoking a script interpreter

launching an application thread to execute the test script, wherein the application thread is a light weight thread capable of invoking the extended operations, the application thread requiring a smaller amount of memory, less processor power, and less communication with the operating system when compared to traditional threads

invoking a protocol engine for each of the commands in the test script such that each protocol engine has an associated command,

each protocol engine executing its associated command.

11. The non-transitory computer readable medium of claim 10 wherein the commands in the test script simulate actions taken by a network user.

12. The non-transitory computer readable medium of claim 10 wherein the extended operations include “fetch,” “verify,” “fetch and verify,” “fetch and ignore,” “monitor,” and “count.”

13. The non-transitory computer readable medium of claim 10 wherein the test script causes network traffic to be produced.

14. The non-transitory computer readable medium of claim 10 wherein each protocol engine executing its associated command comprises:

checking whether a maximum number of protocol engines has been exceeded

performing the executing when the maximum number of protocol engines has not been exceeded.

15. The non-transitory computer readable medium of claim 14 wherein the checking further comprises:

waiting a system defined amount of time before attempting to execute again.

16. The non-transitory computer readable medium of claim 10 coupled with a network testing system.

17. The non-transitory computer readable medium of claim 16 wherein the network testing system is coupled to a production network.

18. The non-transitory computer readable medium of claim 17 wherein the network testing system is coupled to a test network.

19. A system to create network traffic simulating activities of a large number of users, the system comprising:

a plurality of script interpreter units in user space, each script interpreter unit to interpret a script including a plurality of commands, the commands specifying extended operations of an operating system

an application thread in user space for each script interpreter unit, wherein each application thread is a light weight thread capable of invoking the extended operations, each application thread requiring a smaller amount of memory, less processor power, and less communication with the operating system when compared to traditional threads

a plurality of protocol engines in user space for each application thread, each protocol engine to execute a command included in one of the scripts

an operating system in operating system space

an I/O multiplexor between the operating system in operating system space and the protocol engines in user space, the I/O multiplexor operating in user space and operating system space and configured so that the protocol engines do not have to wait for or block on the operating system, the I/O multiplexor configured to

receive calls to the operating system from the protocol engines and direct the calls to the operating system

receive responses from the calls placed with the operating system from the operating system and pass the responses an appropriate protocol engine.

20. The system of claim 19 wherein the system supports a plurality of communications protocols.

21. The system of claim 20 wherein the plurality of communications protocols includes at least Ethernet, User Datagram Protocol (UDP), Transmission Control Protocol (TCP), Internet Protocol (IP), and Hypertext Transfer Protocol (HTTP).

22. The system of claim 19 wherein the extended operations include “fetch and verify” and “fetch and ignore.”

23. A system to create network traffic simulating activities of a large number of users, the system comprising:

a plurality of script interpreter units in user space, each script interpreter unit to interpret a script including a plurality of commands, the commands specifying extended operations of an operating system

an application thread in user space for each script interpreter unit, wherein each application thread is a light weight thread capable of invoking the extended operations, each application thread requiring a smaller amount of memory, less processor power, and less communication with the operating system when compared to traditional threads

a plurality of protocol engines in operating system space for each application thread, each protocol engine to execute a command included in one of the scripts

an operating system in operating system space

an I/O multiplexor between the operating system and the protocol engines, the I/O multiplexor configured so that the protocol engines do not have to wait for or block on the operating system, the I/O multiplexor configured to

receive calls to the operating system from the protocol engines and direct the calls to the operating system

receive responses from the calls placed with the operating system from the operating system and pass the responses an appropriate protocol engine.

24. The system of claim 23 wherein the system supports a plurality of communications protocols.

25. The system of claim 24 wherein the plurality of communications protocols include one or more of Ethernet, User Datagram Protocol (UDP), Transmission Control Protocol (TCP), Internet Protocol (IP), and Hypertext Transfer Protocol (HTTP).

26. The system of claim 23 wherein the extended operations include “fetch and verify” and “fetch and ignore.”

27. A system to create network traffic simulating activities of a large number of users, the system comprising:

a plurality of script interpreter units in user space, each script interpreter unit to interpret a script including a plurality of commands, the commands specifying extended operations of an operating system

an application thread in operating system space for each script interpreter unit, wherein each application thread is a light weight thread capable of invoking the extended operations, each application thread requiring a smaller amount of memory, less processor power, and less communication with the operating system when compared to traditional threads

a plurality of protocol engines in operating system space for each application thread, each protocol engine to execute a command included in one of the scripts

an operating system in operating system space

an I/O multiplexor between the operating system and the protocol engines, the I/O multiplexor configured so that the protocol engines do not have to wait for or block on the operating system, the I/O multiplexor configured to

receive calls to the operating system from the protocol engines and direct the calls to the operating system

receive responses from the calls placed with the operating system from the operating system and pass the responses an appropriate protocol engine.

28. The system of claim 27 wherein the system supports a plurality of communications protocols.

29. The system of claim 28 wherein the plurality of communications protocols includes at least one of the following: Ethernet, User Datagram Protocol (UDP), Transmission Control Protocol (TCP), Internet Protocol (IP), and Hypertext Transfer Protocol (HTTP).

30. The system of claim 27 wherein the extended operations include “fetch and verify” and “fetch and ignore.”

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: IXIA
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2004
From: KEGEL, DANIEL
To: IXIA
Reel/Frame 014703/0876 →