WO2015084140A1 - A system and method for emulating multiple independent wireless client devices in the cloud - Google Patents

A system and method for emulating multiple independent wireless client devices in the cloud Download PDF

Info

Publication number
WO2015084140A1
WO2015084140A1 PCT/MY2014/000147 MY2014000147W WO2015084140A1 WO 2015084140 A1 WO2015084140 A1 WO 2015084140A1 MY 2014000147 W MY2014000147 W MY 2014000147W WO 2015084140 A1 WO2015084140 A1 WO 2015084140A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machines
test
usb
cloud platform
device agent
Prior art date
Application number
PCT/MY2014/000147
Other languages
French (fr)
Inventor
Fairul Rizal Bin FAHRURAZI
Fook Ann LOO
Original Assignee
Mimos Berhad
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimos Berhad filed Critical Mimos Berhad
Publication of WO2015084140A1 publication Critical patent/WO2015084140A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Definitions

  • the present invention relates to a system and method for emulating multiple independent wireless client devices in the cloud.
  • the invention initiates wireless network performance test and gathers test results from multiple independent wireless client devices which simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
  • US 395 Patent One example which provides a method and system for emulating a user population for wireless local area network access point performance, optimization and configuration testing is proposed in United States Patent No. US 7,277,395 B2 entitled “Method and Apparatus for Wireless Network Load Emulation" (hereinafter referred to as the US 395 Patent).
  • all emulated client devices is provided in a load emulator which shares the same wireless interface in the Input Output Controller to connect to the SUT.
  • each emulated wireless client device is attached to one physical USB wireless adapter. All emulated client devices have exclusive access to its own USB wireless adapter to connect to the SUT.
  • the invention as disclosed in the US 395 Patent does not emulate independent wireless client devices as compared to the present invention which provides emulation of independent wireless client devices in the cloud.
  • All emulated wireless client devices in the invention as disclosed in the US 395 Patent shares the same physical wireless interface and sends network traffic to and from the SUT in Round-Robin fashion as compared to the present invention in which all emulated wireless client devices are able to use its own USB adapter to send network traffic to and from the SUT in parallel (i.e. concurrent).
  • US 486 Publication Another example that provides a system that introduces virtual Ethernet and virtual Wireless Ethernet interfaces for client using a single host device is disclosed in United States Patent Publication No. US 20030202486 A1 entitled "Method and System for Simulating Multiple Independent Client Devices in a Wired or Wireless Network" (hereinafter referred to as the US 486 Publication).
  • all emulated client devices shares two physical wireless network cards in the host machine to connect to the SUT as compared to the present invention wherein each emulated wireless client device is attached to one physical USB wireless adapter.
  • only one host system is utilized as compared to m the present invention which utilizes cloud platform and USB adapter to emulate multiple independent wireless client devices.
  • the invention as disclosed in the US 486 Publication is not scalable as it utilizes only one host system as compared to the present invention which is scalable (i.e. by adding more commodity hardware if required).
  • the present invention relates to a system and method for emulating multiple independent wireless client devices in the cloud.
  • the invention initiates wireless network performance test and gathers test results from multiple independent wireless client devices which simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
  • One aspect of the present invention provides a system (100) for emulating multiple independent wireless client devices in the cloud comprising.
  • the system comprising a cloud platform (104) consisting a plurality of virtual machines (110a-110n); a plurality of USB wireless adapters (106); and a device agent (102).
  • the device agent (102) having means for reading configuration files sent by users; scanning and discovering the plurality of USB wireless adapters attached to the cloud platform; launching virtual machines in the cloud platform based on settings in configuration files and number of available USB wireless adapters; mapping USB wireless adapters to virtual machines by attaching USB wireless adapters to virtual machines in the cloud platform to create multiple independent wireless client devices; injecting test automation scripts into all virtual machines; initiating test execution in all virtual machines; gathering test results from all virtual machines; and generating report of test results.
  • configuration files sent by user further comprising vendor ID and product ID of the USB wireless adapters to be used in the system; list of base virtual machine images selected to be used in the system; list of test automation scripts selected to be used in the system; mapping of USB wireless adapters to virtual machine images; and number of emulated devices for each combination of virtual machine images and test automation scripts and USB wireless adapters.
  • a further aspect of the invention provides a method (200) for emulating multiple independent wireless client devices in the cloud.
  • the method comprising steps of setting up test environment by user (202); reading files by Device Agent and providing list of USB devices in cloud platform which can be used (204); specifying number of wireless client to be created by user (206); launching different virtual machines in the cloud platform by the Device Agent by using virtual machine images provided by the user based on settings in the configuration files (208); mapping and attaching physical USB devices to virtual machines in the cloud platform to create multiple independent wireless client device by the Device Agent (210); injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machine in the cloud platform based on settings in the configuration files (212); and gathering results from all virtual machines by the Device Agent upon completion of test execution based on the settings in the configuration files (214); and analyzing test results received from all virtual machines and generating test report (216).
  • the step for setting up test environment by user further comprises setting vendor ID and product ID in Device Agent's configuration files.
  • step for specifying the number of wireless client to be created by user which further comprises the step for providing automated test scripts and base virtual machine image to be used by the user.
  • the step for injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machines in the cloud platform based on settings in the configuration files further comprises monitoring test execution status in all virtual machines in the cloud platform based on the settings in the configuration files.
  • said automated test scripts will be tagged with one unique ID and generated test report includes total number of clients SUCCESSFULLY completed GUI automation script; total number of clients FAILED to run GUI automation script; response time on each client; and throughput on each client.
  • FIG. 1 illustrates the general architecture of the present invention.
  • FIG. 2 is a flowchart illustrating the general methodology of an embodiment of the present invention.
  • the present invention relates to a system and method for emulating multiple independent wireless client devices in the cloud.
  • the invention initiates wireless network performance test and gathers test results from multiple independent wireless client devices which simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
  • the system (100) for emulating multiple independent wireless client devices in the cloud according to the present invention is illustrated.
  • the system (100) comprising a cloud platform (104) consisting a plurality of virtual machines (110a-110n); a plurality of USB wireless adapters (106); and a device agent (102).
  • Servers in a cloud platform which can host virtual machines are known as "node” or "node controller”.
  • Device agent (102) will read configuration files sent by users; scans and discover the plurality of USB wireless adapters attached to the cloud platform; launch virtual machines in the cloud platform based on settings in configuration files and number of available USB wireless adapters; map USB wireless adapters to virtual machines by attaching USB wireless adapters to virtual machines in the cloud platform to create multiple independent wireless client devices; injects test automation scripts into all virtual machines; initiates test execution in all virtual machines; gathers test results from all virtual machines; and generates report of test results.
  • the virtual machines (110a-110n) have exclusive access to its own USB wireless adapter (106) and the configuration files sent by user further comprising vendor ID and product ID of the USB wireless adapters to be used in the system; list of base virtual machine images selected to be used in the system; list of test automation scripts selected to be used in the system; mapping of USB wireless adapters to virtual machine images; and number of emulated devices for each combination of virtual machine images and test automation scripts and USB wireless adapters.
  • the general methodology (200) of an embodiment of the present invention is as illustrated in FIG. 2.0. As illustrated in FIG. 2.0, the test environment is first set up by the user (202). Device Agent will read files (204) wherein device agent will find all nodes in a cloud platform using the cloud platform's API.
  • Device agent will tag all nodes with a unique node ID.
  • An example of cloud platform API's output (taken from PQRE cloud) is as follows.
  • Device agent will login to all nodes in the cloud platform 1-by-1. Device agent will scan the USB devices attached to a node in the cloud platform and said step is repeated for all nodes in the cloud. Thereafter, device agent will provide a list of USB devices in the cloud platform which can be used (204).
  • An example of USB devices in 1 node is provided as follows.
  • Device agent will create an array (a list) to represent the USB in which the number of wireless client to be created by the user will be specified (206) by providing automated test scripts and base virtual machine image to be used by the user.
  • ArrayElement[0] ⁇ 0, 001 , 001 , 1d6d, 5370 ⁇
  • ArrayElement[2] ⁇ 1 , 002, 001, 1d6d, 5370 ⁇
  • USB Bus ID + USB Device ID represents the "address” that uniquely
  • USB Vendor ID + USB Product ID uniquely identify 1 type of USB
  • Node ID + USB Bus ID + USB Device ID uniquely identify a USB device attached to a node in the cloud platform.
  • the device agent will read the configuration file and obtain the types of USB adapters selected by the user.
  • Device agent will tag all USB adapter types with a unique ID. For example, if a user intends to use the following USB devices in the cloud, it will be tag as follows.
  • the device agent will generate an array which represents the USB devices in the cloud platform which matches the Vendor ID and Product ID set in the configuration file.
  • the length of this array will be less than or equals to the first set of array generated because the USB devices which do not match the Vendor ID and Product ID will be filtered out.
  • ArrayElement[0] ⁇ 0, 001 , 001, 1d6d, 5370 ⁇
  • device agent will calculate and generate an array which represents the number of "each type of USB device” attached to "each of the nodes" in the cloud.
  • Each element in the array represents the data for 1 node.
  • the length of the array is equals to the number of nodes in the cloud.
  • arrayElement[0] ⁇ Node ID 0, number of USB adapter ID0 attached to Node 0, number of USB adapter ID1 attached to Node 0, ... ⁇
  • ArrayElement[6] ⁇ 6, 0, 6, 2, ... ⁇
  • device agent will locate the available resources in all nodes in the cloud using the cloud platform's API.
  • Device agent will create an array to represent the available resources of all nodes in the cloud platform. Each element in the array represents the specification of 1 node in the cloud.
  • arrayElementfO] ⁇ Node ID, number of CPU Core, amount of RAM in MB, size of harddisk storage in GB ⁇
  • ArrayElementfO] ⁇ 0, 8, 16000, 500 ⁇
  • ArrayElement[1] ⁇ 1 , 8, 16000, 500 ⁇
  • ArrayElement[6] ⁇ 6, 8, 16000, 500 ⁇ rv (4)
  • Device agent will combine the array in (3) and (4).
  • arrayElement[n] ⁇ Node ID, number of CPU Core, amount of RAM in MB, size of harddisk storage in GB, number of USB adapter IDO attached to Node n, number of USB adapter ID1 attached to Node n, ... ⁇
  • ArrayElement[0] ⁇ 0, 8, 16000, 500, 6, 6, 0, ... ⁇
  • ArrayElement[1] ⁇ 1, 8, 16000, 500, 4, 10, 0, ... ⁇
  • ArrayElement[6] ⁇ 6, 8, 16000, 500, 0, 6, 2, ... ⁇
  • Base virtual machine image CentOS-6.4-x86_64_ID1
  • USB wireless adapter TP-LINK TL-WN727N
  • Base virtual machine image ubuntu-13.04-desktop-i386_ID2
  • USB wireless adapter TP-LINK TL-WN822N
  • the device agent For each type of virtual machine requested by the user, the device agent will display
  • the VM will be tagged with a unique VM ID.
  • Each element in the array represents 1 VM launched by the device agent and the mapping to its designated USB adapter.
  • arrayElement[n] ⁇ Node ID, VM ID, USB Bus ID, USB Device ID ⁇
  • the device agent will launch different virtual machine images in the cloud platform by using virtual machine images provided by the user based on settings in the configuration files (208).
  • the device agent will generate an error message if there are not enough resources in the cloud.
  • the error message will be saved in a variable which will be shown to the user at the end of the system task.
  • the device agent will perform "USB passthrough" to attach the USB adapters directly to the designated VM in the cloud.
  • the method used to perform "USB passthrough” depends on the types of hypervisor used in the cloud. Different hypervisor will use different methods to perform USB passthrough.
  • Device agent will check the array in (6) to locate the USB Bus ID and USB Device ID of a USB device which needs to be attached to a virtual machine.
  • Device agent will prepare a XML file with the following format:
  • the device agent will perform "USB passthrough" to attach the USB adapter directly to the designated virtual machine.
  • device agent will utilize the libvirt tool's API and the XML file in (7).
  • Device agent will repeat the step to perform USB passthrough in a node for all virtual machines in array (6).
  • the device agent will update the array in (6) with the mapping to the designated test script.
  • Each element in the array represents one virtual machine, its designated USB adapter and its designated test automation script.
  • arrayElement[n] ⁇ Node ID, VM ID, USB Bus ID, USB Device ID, Test Script Tag ID ⁇
  • ArrayElement[0] ⁇ 0, 1 , 1d6d, 5370, 0 ⁇
  • ArrayElement[1] ⁇ 0, 2, 0951 , 1607, 0 ⁇
  • ArrayElement[6] ⁇ 6, 30, 1d6d, 5370, 0 ⁇
  • Physical USB devices are mapped and attached to virtual machines in the cloud platform to create multiple independent wireless client devices by the device agent (210).
  • device agent will inject the selected graphical user interface (GUI) test automation script into all virtual machines in the cloud platform based on settings in the configuration files (212).
  • the protocol that can be used includes SCP, FTP, TFTP, SFTP, etc.
  • Device agent will repeat said step of injecting test automation scripts for all virtual machines in array (8). Subsequently, device agent will initiate test execution in all virtual machines in array (8) (212).
  • the Device agent will check and monitor the test execution status in all virtual machines and upon completion or occurrence of timeout error in all virtual machines, the device agent will gather the test results from all virtual machines in array (8) based on the settings in the configuration files (214). Subsequently, the device agent will analyze the test results received from all virtual machines and generate a test report (216).
  • the generated test report includes total number of clients SUCCESSFULLY completed GUI automation script; total number of clients FAILED to run GUI automation script; response time on each client; and throughput on each client.
  • the present invention simplifies and assists the process of running / initiating wireless network performance test and gathers the test results from multiple independent wireless client devices which further simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
  • Each wireless client device is attached to one separate physical USB wireless adapter (106) and the said wireless client devices is provided with exclusive access to its own USB wireless adapter to connect to the System Under Test (SUT) directly and is able to run its own operating system and applications in parallel (i.e. concurrently).
  • SUT System Under Test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Wireless network performance test is initiated and test results are gathered from multiple independent wireless client devices which simplify and assist in the process of analysis and generation of test reports. The system for emulating multiple independent wireless client device in the cloud comprising a cloud platform (104) consisting a plurality of virtual machines (110a-110n); a plurality of USB wireless adapters (106); and a device agent (102). The method for emulating multiple independent wireless client devices in the cloud comprising steps of setting up test environment by user (202); reading files by Device Agent and providing list of USB devices in cloud platform which can be used (204); specifying number of wireless client to be created by user (206); launching different virtual machines in the cloud platform by the Device Agent by using virtual machine images provided by the user based on settings in the configuration files (208); mapping and attaching physical USB devices to virtual machines in the cloud platform to create multiple independent wireless client device by the Device Agent (210); injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machine in the cloud platform based on settings in the configuration files (212); and gathering results from all virtual machines by the Device Agent upon completion of test execution based on the settings in the configuration files (214); and analyzing test results received from all virtual machines and generating test report (216).

Description

A SYSTEM AND METHOD FOR EMULATING MULTIPLE INDEPENDENT WIRELESS
CLIENT DEVICES IN THE CLOUD FIELD OF INVENTION
The present invention relates to a system and method for emulating multiple independent wireless client devices in the cloud. In particular, the invention initiates wireless network performance test and gathers test results from multiple independent wireless client devices which simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
BACKGROUND ART Currently available wireless network performance testing is expensive and test environment used in the performance tests need to be as close as possible to the real environment in order to generate a meaningful result. Further, the testing environment requires multiple wireless client devices to be set up such as computers and personnel are required during the test to generate user load that closely resembles the real environment (e.g. if we need to generate a user load of 100 wireless client devices, it is a waste of resources to call up 100 computers and personnel). The drawback of the current available situation is resolved in the present invention which proposes a system and method for emulating multiple independent wireless client devices in the cloud that can be used for wireless network testing that are able to reduce time and cost.
One example which provides a method and system for emulating a user population for wireless local area network access point performance, optimization and configuration testing is proposed in United States Patent No. US 7,277,395 B2 entitled "Method and Apparatus for Wireless Network Load Emulation" (hereinafter referred to as the US 395 Patent). In the US 395 Patent, all emulated client devices is provided in a load emulator which shares the same wireless interface in the Input Output Controller to connect to the SUT. In contrast, in the present invention, each emulated wireless client device is attached to one physical USB wireless adapter. All emulated client devices have exclusive access to its own USB wireless adapter to connect to the SUT. Further, the invention as disclosed in the US 395 Patent does not emulate independent wireless client devices as compared to the present invention which provides emulation of independent wireless client devices in the cloud.. All emulated wireless client devices in the invention as disclosed in the US 395 Patent shares the same physical wireless interface and sends network traffic to and from the SUT in Round-Robin fashion as compared to the present invention in which all emulated wireless client devices are able to use its own USB adapter to send network traffic to and from the SUT in parallel (i.e. concurrent).
Another example that provides a system that introduces virtual Ethernet and virtual Wireless Ethernet interfaces for client using a single host device is disclosed in United States Patent Publication No. US 20030202486 A1 entitled "Method and System for Simulating Multiple Independent Client Devices in a Wired or Wireless Network" (hereinafter referred to as the US 486 Publication). In the invention as disclosed in US 486 Publication, all emulated client devices shares two physical wireless network cards in the host machine to connect to the SUT as compared to the present invention wherein each emulated wireless client device is attached to one physical USB wireless adapter. Further, in the US 486 Publication, only one host system is utilized as compared to m the present invention which utilizes cloud platform and USB adapter to emulate multiple independent wireless client devices. The invention as disclosed in the US 486 Publication is not scalable as it utilizes only one host system as compared to the present invention which is scalable (i.e. by adding more commodity hardware if required).
Another mechanism which provides emulation of wireless application through a scalable network architecture is disclosed in an IEEE paper entitled "Scalable Emulation of Dynamic Multi-Hop Topologies" by Anders Nickelsen, Morten N. Jensen, Erling V. Matthiesen, Hans-Peter Schwefel; IEEE, 2008. In the said paper, emulation testbed is provided for wireless application wherein wireless link is replaced with wired links and a topology emulator is provided in which all end-nodes connected to a central network switch by wired links is provided. In contrast, in the present invention, each emulated wireless client device is attached to one separate physical USB wireless adapter. Further, in the said paper, all emulated wireless client devices is not provided to use its own USB adapter to send network traffic to and from the SUT in parallel (i.e. concurrently) as proposed in the present invention. SUMMARY OF INVENTION
The present invention relates to a system and method for emulating multiple independent wireless client devices in the cloud. In particular, the invention initiates wireless network performance test and gathers test results from multiple independent wireless client devices which simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
One aspect of the present invention provides a system (100) for emulating multiple independent wireless client devices in the cloud comprising. The system comprising a cloud platform (104) consisting a plurality of virtual machines (110a-110n); a plurality of USB wireless adapters (106); and a device agent (102). The device agent (102) having means for reading configuration files sent by users; scanning and discovering the plurality of USB wireless adapters attached to the cloud platform; launching virtual machines in the cloud platform based on settings in configuration files and number of available USB wireless adapters; mapping USB wireless adapters to virtual machines by attaching USB wireless adapters to virtual machines in the cloud platform to create multiple independent wireless client devices; injecting test automation scripts into all virtual machines; initiating test execution in all virtual machines; gathering test results from all virtual machines; and generating report of test results.
Another aspect of the invention provides that configuration files sent by user further comprising vendor ID and product ID of the USB wireless adapters to be used in the system; list of base virtual machine images selected to be used in the system; list of test automation scripts selected to be used in the system; mapping of USB wireless adapters to virtual machine images; and number of emulated devices for each combination of virtual machine images and test automation scripts and USB wireless adapters.
A further aspect of the invention provides a method (200) for emulating multiple independent wireless client devices in the cloud. The method comprising steps of setting up test environment by user (202); reading files by Device Agent and providing list of USB devices in cloud platform which can be used (204); specifying number of wireless client to be created by user (206); launching different virtual machines in the cloud platform by the Device Agent by using virtual machine images provided by the user based on settings in the configuration files (208); mapping and attaching physical USB devices to virtual machines in the cloud platform to create multiple independent wireless client device by the Device Agent (210); injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machine in the cloud platform based on settings in the configuration files (212); and gathering results from all virtual machines by the Device Agent upon completion of test execution based on the settings in the configuration files (214); and analyzing test results received from all virtual machines and generating test report (216). The step for mapping and attaching physical USB devices to virtual machines in the cloud platform to create multiple independent wireless client device by the Device Agent (210); each wireless client device of the multiple independent wireless client device is attached to one separate physical USB wireless adapter (106).
In another aspect of the invention there is provided that the step for setting up test environment by user further comprises setting vendor ID and product ID in Device Agent's configuration files.
In yet another aspect of the invention is the step for specifying the number of wireless client to be created by user which further comprises the step for providing automated test scripts and base virtual machine image to be used by the user.
In a further aspect of the invention there is provided that the step for injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machines in the cloud platform based on settings in the configuration files further comprises monitoring test execution status in all virtual machines in the cloud platform based on the settings in the configuration files.
In still another aspect of the invention there is provided that said automated test scripts will be tagged with one unique ID and generated test report includes total number of clients SUCCESSFULLY completed GUI automation script; total number of clients FAILED to run GUI automation script; response time on each client; and throughput on each client. The present invention consists of features and a combination of parts hereinafter fully described and illustrated in the accompanying drawings, it being understood that various changes in the details may be made without departing from the scope of the invention or sacrificing any of the advantages of the present invention.
BRIEF DESCRIPTION OF ACCOMPANYING DRAWINGS
To further clarify various aspects of some embodiments of the present invention, a more particular description of the invention will be rendered by references to specific embodiments thereof, which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the accompanying drawings in which: FIG. 1 illustrates the general architecture of the present invention.
FIG. 2 is a flowchart illustrating the general methodology of an embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention relates to a system and method for emulating multiple independent wireless client devices in the cloud. In particular, the invention initiates wireless network performance test and gathers test results from multiple independent wireless client devices which simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices.
Hereinafter, this specification will describe the present invention according to the preferred embodiments. It is to be understood that limiting the description to the preferred embodiments of the invention is merely to facilitate discussion of the present invention and it is envisioned without departing from the scope of the appended claims.
Referring to FIG. 1.0, the system (100) for emulating multiple independent wireless client devices in the cloud according to the present invention is illustrated. The system (100) comprising a cloud platform (104) consisting a plurality of virtual machines (110a-110n); a plurality of USB wireless adapters (106); and a device agent (102). Servers in a cloud platform which can host virtual machines are known as "node" or "node controller". Device agent (102) will read configuration files sent by users; scans and discover the plurality of USB wireless adapters attached to the cloud platform; launch virtual machines in the cloud platform based on settings in configuration files and number of available USB wireless adapters; map USB wireless adapters to virtual machines by attaching USB wireless adapters to virtual machines in the cloud platform to create multiple independent wireless client devices; injects test automation scripts into all virtual machines; initiates test execution in all virtual machines; gathers test results from all virtual machines; and generates report of test results. The virtual machines (110a-110n) have exclusive access to its own USB wireless adapter (106) and the configuration files sent by user further comprising vendor ID and product ID of the USB wireless adapters to be used in the system; list of base virtual machine images selected to be used in the system; list of test automation scripts selected to be used in the system; mapping of USB wireless adapters to virtual machine images; and number of emulated devices for each combination of virtual machine images and test automation scripts and USB wireless adapters. The general methodology (200) of an embodiment of the present invention is as illustrated in FIG. 2.0. As illustrated in FIG. 2.0, the test environment is first set up by the user (202). Device Agent will read files (204) wherein device agent will find all nodes in a cloud platform using the cloud platform's API. Device agent will tag all nodes with a unique node ID. Example of node ID ((Node ID="0" - nodel , IP=10.1.2.101 ) and (Node ID="1" - node2, IP=10.1.2.102)). An example of cloud platform API's output (taken from PQRE cloud) is as follows.
Figure imgf000010_0001
Device agent will login to all nodes in the cloud platform 1-by-1. Device agent will scan the USB devices attached to a node in the cloud platform and said step is repeated for all nodes in the cloud. Thereafter, device agent will provide a list of USB devices in the cloud platform which can be used (204). An example of USB devices in 1 node is provided as follows.
Figure imgf000010_0002
Based on the results obtained, Device agent will create an array (a list) to represent the USB in which the number of wireless client to be created by the user will be specified (206) by providing automated test scripts and base virtual machine image to be used by the user. Each element in the created array contains the following data: arrayElementfn] = {Node ID, USB Bus ID, USB Device ID, USB Vendor ID, USB Product ID}
ArrayElement[0] = {0, 001 , 001 , 1d6d, 5370}
ArrayElement[1] = {0, 002, 003, 0951 , 1607}
ArrayElement[2] = {1 , 002, 001, 1d6d, 5370}
ArrayElement[50] = {6, 002, 004, 1d6d, 5370} a. "USB Bus ID + USB Device ID" represents the "address" that uniquely
identify a USB device in a host system b. "USB Vendor ID + USB Product ID" uniquely identify 1 type of USB
device. c. "Node ID + USB Bus ID + USB Device ID" uniquely identify a USB device attached to a node in the cloud platform.
The device agent will read the configuration file and obtain the types of USB adapters selected by the user. Device agent will tag all USB adapter types with a unique ID. For example, if a user intends to use the following USB devices in the cloud, it will be tag as follows.
a. TP-LINK TL-WN727N, tag ID=ID0
b. TP-LINK TL-WN722N, tag ID=ID1
c. TP-LINK TL-WN822N, tag ID=ID2
Accordingly, the device agent will generate an array which represents the USB devices in the cloud platform which matches the Vendor ID and Product ID set in the configuration file. The length of this array will be less than or equals to the first set of array generated because the USB devices which do not match the Vendor ID and Product ID will be filtered out.
ArrayElement[0] = {0, 001 , 001, 1d6d, 5370}
ArrayElement[1] = {0, 002, 003, 0951 , 1607}
(2) ArrayElement[2] = {1 , 002, 001 , 1d6d, 5370}
ArrayElement[30] = {6, 002, 004, 1d6d, 5370}
Based on the the second set of array obtained above, device agent will calculate and generate an array which represents the number of "each type of USB device" attached to "each of the nodes" in the cloud. Each element in the array represents the data for 1 node. The length of the array is equals to the number of nodes in the cloud.
arrayElement[0] = {Node ID 0, number of USB adapter ID0 attached to Node 0, number of USB adapter ID1 attached to Node 0, ...}
ArrayElement[0] = {0, 6, 6, 0, ...}
ArrayElement[1] = {1 , 4, 10, 0, ...} (3)
ArrayElement[6] = {6, 0, 6, 2, ...}
Thereafter, device agent will locate the available resources in all nodes in the cloud using the cloud platform's API. Device agent will create an array to represent the available resources of all nodes in the cloud platform. Each element in the array represents the specification of 1 node in the cloud.
arrayElementfO] = {Node ID, number of CPU Core, amount of RAM in MB, size of harddisk storage in GB}
ArrayElementfO] = {0, 8, 16000, 500}
ArrayElement[1] = {1 , 8, 16000, 500}
ArrayElement[6] = {6, 8, 16000, 500} rv (4) Device agent will combine the array in (3) and (4).
arrayElement[n] = {Node ID, number of CPU Core, amount of RAM in MB, size of harddisk storage in GB, number of USB adapter IDO attached to Node n, number of USB adapter ID1 attached to Node n, ...}
ArrayElement[0] = {0, 8, 16000, 500, 6, 6, 0, ...}
ArrayElement[1] = {1, 8, 16000, 500, 4, 10, 0, ...}
ArrayElement[6] = {6, 8, 16000, 500, 0, 6, 2, ...}
Device agent will read the configuration file and obtain
a. all combinations of "base virtual machine image type + USB wireless adapter type" that the user wants to use, and
b. the number of virtual machine for each combination type.
For example:
a. Combination 1 :
i. Base virtual machine image = CentOS-6.4-x86_64_ID1 ii. USB wireless adapter = TP-LINK TL-WN727N
iii. Number of virtual machine = 20 b. Combination 2:
iv. Base virtual machine image = ubuntu-13.04-desktop-i386_ID2 v. USB wireless adapter = TP-LINK TL-WN822N
vi. Number of virtual machine = 10
For each type of virtual machine requested by the user, the device agent will
a. check the array in (5) and locate a node which has the required
resources (USB adapter + CPU + RAM + hard disk)
b. Launch the selected VM type in the selected node. The VM will be tagged with a unique VM ID.
c. Device agent will check the array in [2] and create an array with the following format. Each element in the array represents 1 VM launched by the device agent and the mapping to its designated USB adapter. arrayElement[n] = {Node ID, VM ID, USB Bus ID, USB Device ID}
ArrayElement[0] = = {0, 1 , 1d6d, 5370}
ArrayElement[1] = = {0, 2, 0951 , 1607}
(6)
ArrayElement[2] = = {1. 3, 1d6d, 5370}
ArrayElement[6] = = {6, 30, 1d6d, 5370} d. Update the array in [5]. Hardware resources (USB adapter + CPU + RAM + harddisk) which have been used in .b] will be removed from the array.
Thereafter, the device agent will launch different virtual machine images in the cloud platform by using virtual machine images provided by the user based on settings in the configuration files (208). The device agent will generate an error message if there are not enough resources in the cloud. The error message will be saved in a variable which will be shown to the user at the end of the system task. After launching all virtual machines, the device agent will perform "USB passthrough" to attach the USB adapters directly to the designated VM in the cloud. The method used to perform "USB passthrough" depends on the types of hypervisor used in the cloud. Different hypervisor will use different methods to perform USB passthrough.
The following is an example to perform USB passthrough in a node which utilizes KVM hypervisor and is managed by libvirt. Device agent will check the array in (6) to locate the USB Bus ID and USB Device ID of a USB device which needs to be attached to a virtual machine. Device agent will prepare a XML file with the following format:
<hostdev mode- subsystem' type='usb'>
<source>
(7) oddress bus="001" device="0027>
</source>
</hostdev> By referring to the array in (6), the device agent will perform "USB passthrough" to attach the USB adapter directly to the designated virtual machine. In this example, device agent will utilize the libvirt tool's API and the XML file in (7). Device agent will repeat the step to perform USB passthrough in a node for all virtual machines in array (6). The device agent will login to all virtual machines in array (6) and the device agent will verify that all virtual machines have been attached with one USB adapter. Thereafter, the device agent will read the configuration file to obtain the list of test automation script selected by the users. All test automation scripts will be tagged with one unique ID. For example: Script 1 , tag ID=0 and Script 2, tag ID=1.
The device agent will update the array in (6) with the mapping to the designated test script. Each element in the array represents one virtual machine, its designated USB adapter and its designated test automation script.
The format of the array is as below:
arrayElement[n] = {Node ID, VM ID, USB Bus ID, USB Device ID, Test Script Tag ID}
ArrayElement[0] = {0, 1 , 1d6d, 5370, 0}
ArrayElement[1] = {0, 2, 0951 , 1607, 0}
ArrayElement[2] = {1 , 3, 1d6d, 5370, 1} (8)
ArrayElement[6] = {6, 30, 1d6d, 5370, 0}
Physical USB devices are mapped and attached to virtual machines in the cloud platform to create multiple independent wireless client devices by the device agent (210). By referring to the array in (8), device agent will inject the selected graphical user interface (GUI) test automation script into all virtual machines in the cloud platform based on settings in the configuration files (212). The protocol that can be used includes SCP, FTP, TFTP, SFTP, etc. Device agent will repeat said step of injecting test automation scripts for all virtual machines in array (8). Subsequently, device agent will initiate test execution in all virtual machines in array (8) (212). Device agent will check and monitor the test execution status in all virtual machines and upon completion or occurrence of timeout error in all virtual machines, the device agent will gather the test results from all virtual machines in array (8) based on the settings in the configuration files (214). Subsequently, the device agent will analyze the test results received from all virtual machines and generate a test report (216). The generated test report includes total number of clients SUCCESSFULLY completed GUI automation script; total number of clients FAILED to run GUI automation script; response time on each client; and throughput on each client.
The present invention simplifies and assists the process of running / initiating wireless network performance test and gathers the test results from multiple independent wireless client devices which further simplifies and assists in the process of analyzing and reporting test results received from multiple independent wireless client devices. Each wireless client device is attached to one separate physical USB wireless adapter (106) and the said wireless client devices is provided with exclusive access to its own USB wireless adapter to connect to the System Under Test (SUT) directly and is able to run its own operating system and applications in parallel (i.e. concurrently).
The present invention may be embodied in other specific forms without departing from its essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore indicated by the appended claims rather than by the foregoing description. All changes, which come within the meaning and range of equivalency of the claims, are to be embraced within their scope.

Claims

1. A system (100) for emulating multiple independent wireless client devices in the cloud comprising:
a cloud platform (104) consisting a plurality of virtual machines (1 10a- 11 On);
a plurality of USB wireless adapters (106); and
a device agent (102)
characterized in that
the device agent (102) having means for:
reading configuration files sent by users;
scanning and discovering the plurality of USB wireless adapters attached to the cloud platform;
launching virtual machines in the cloud platform based on settings in configuration files and number of available USB wireless adapters;
mapping USB wireless adapters to virtual machines by attaching USB wireless adapters to virtual machines in the cloud platform to create multiple independent wireless client devices;
injecting test automation scripts into all virtual machines;
initiating test execution in all virtual machines;
gathering test results from all virtual machines; and
generating report of test results.
2. A system (100) according to Claim 1 , wherein the plurality of virtual machines (1 10a-1 10n) have exclusive access to its own USB wireless adapter (106).
3. A system (100) according to Claim 1 , wherein configuration files sent by user further comprising:
vendor ID and product ID of the USB wireless adapters to be used in the system;
list of base virtual machine images selected to be used in the system; list of test automation scripts selected to be used in the system; mapping of USB wireless adapters to virtual machine images; and number of emulated devices for each combination of virtual machine images and test automation scripts and USB wireless adapters.
A method (200) for emulating multiple independent wireless client devices in the cloud comprising steps of:
setting up test environment by user (202);
reading files by Device Agent and providing list of USB devices in cloud platform which can be used (204);
specifying number of wireless client to be created by user (206);
launching different virtual machines in the cloud platform by the Device Agent by using virtual machine images provided by the user based on settings in the configuration files (208);
mapping and attaching physical USB devices to virtual machines in the cloud platform to create multiple independent wireless client device by the Device Agent (210);
injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machine in the cloud platform based on settings in the configuration files (212); and
gathering results from all virtual machines by the Device Agent upon completion of test execution based on the settings in the configuration files (214); and
analyzing test results received from all virtual machines and generating test report (216)
characterized in that
mapping and attaching physical USB devices to virtual machines in the cloud platform to create multiple independent wireless client device by the Device Agent (210); each wireless client device of the multiple independent wireless client device is attached to one separate physical USB wireless adapter.
A method (200) according to Claim 4, wherein setting up test environment by user further comprises setting vendor ID and product ID in Device Agent's configuration files.
6. A method (200) according to Claim 4, wherein specifying number of wireless client to be created by user further comprises providing automated test scripts and base virtual machine image to be used by the user.
7. A method (200) according to Claim 4, wherein injecting test automation scripts into all virtual machines by the Device Agent and initiating test execution in all virtual machines in the cloud platform based on settings in the configuration files further comprises monitoring test execution status in all virtual machines in the cloud platform based on the settings in the configuration files.
8. A method (200) according to Claim 6, wherein said automated test scripts will be tagged with one unique ID.
9. A method (200) according to Claim 4, wherein generated test report includes:
total number of clients SUCCESSFULLY completed GUI automation script;
total number of clients FAILED to run GUI automation script;
response time on each client; and
throughput on each client.
PCT/MY2014/000147 2013-12-03 2014-06-03 A system and method for emulating multiple independent wireless client devices in the cloud WO2015084140A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2013004361 2013-12-03
MYPI2013004361A MY167175A (en) 2013-12-03 2013-12-03 A system and method for emulating multiple independent wireless client devices in the cloud

Publications (1)

Publication Number Publication Date
WO2015084140A1 true WO2015084140A1 (en) 2015-06-11

Family

ID=51752158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2014/000147 WO2015084140A1 (en) 2013-12-03 2014-06-03 A system and method for emulating multiple independent wireless client devices in the cloud

Country Status (2)

Country Link
MY (1) MY167175A (en)
WO (1) WO2015084140A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101205A (en) * 2016-06-07 2016-11-09 山东有人信息技术有限公司 A kind of transparent transmission cloud system for remote data transparent transmission and transmitting method thereof
CN107665171A (en) * 2017-10-11 2018-02-06 中国民生银行股份有限公司 Automatic regression test method and device
CN107797912A (en) * 2016-09-05 2018-03-13 百度在线网络技术(北京)有限公司 Application testing method and device
WO2019019975A1 (en) * 2017-07-24 2019-01-31 华为技术有限公司 Method and device for cloud platform performance testing
CN109857643A (en) * 2018-12-29 2019-06-07 北京奇安信科技有限公司 A kind of method and device of virtual platform performance automatic test
CN112596859A (en) * 2020-12-25 2021-04-02 创新科技术有限公司 USB transparent transmission method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202486A1 (en) 2002-04-29 2003-10-30 Hereuare Communications, Inc. Method and system for simulating multiple independent client devices in a wired or wireless network
US7277395B2 (en) 2002-04-25 2007-10-02 Ixia Method and apparatus for wireless network load emulation
US20110010691A1 (en) * 2009-07-08 2011-01-13 Vmware, Inc. Distributed Software Testing Using Cloud Computing Resources
US20120311128A1 (en) * 2011-05-31 2012-12-06 Pechanec Jiri Performance testing in a cloud environment
US20130272162A1 (en) * 2012-03-31 2013-10-17 International Business Machines Corporation Virtualized Wireless Communication System and Establishing Method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277395B2 (en) 2002-04-25 2007-10-02 Ixia Method and apparatus for wireless network load emulation
US20030202486A1 (en) 2002-04-29 2003-10-30 Hereuare Communications, Inc. Method and system for simulating multiple independent client devices in a wired or wireless network
US20110010691A1 (en) * 2009-07-08 2011-01-13 Vmware, Inc. Distributed Software Testing Using Cloud Computing Resources
US20120311128A1 (en) * 2011-05-31 2012-12-06 Pechanec Jiri Performance testing in a cloud environment
US20130272162A1 (en) * 2012-03-31 2013-10-17 International Business Machines Corporation Virtualized Wireless Communication System and Establishing Method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101205A (en) * 2016-06-07 2016-11-09 山东有人信息技术有限公司 A kind of transparent transmission cloud system for remote data transparent transmission and transmitting method thereof
CN107797912A (en) * 2016-09-05 2018-03-13 百度在线网络技术(北京)有限公司 Application testing method and device
WO2019019975A1 (en) * 2017-07-24 2019-01-31 华为技术有限公司 Method and device for cloud platform performance testing
CN107665171A (en) * 2017-10-11 2018-02-06 中国民生银行股份有限公司 Automatic regression test method and device
CN109857643A (en) * 2018-12-29 2019-06-07 北京奇安信科技有限公司 A kind of method and device of virtual platform performance automatic test
CN112596859A (en) * 2020-12-25 2021-04-02 创新科技术有限公司 USB transparent transmission method and device

Also Published As

Publication number Publication date
MY167175A (en) 2018-08-13

Similar Documents

Publication Publication Date Title
WO2015084140A1 (en) A system and method for emulating multiple independent wireless client devices in the cloud
US10057136B2 (en) Method and apparatus for visualized network operation and maintenance
Ahrenholz et al. Integration of the CORE and EMANE Network Emulators
Ahrenholz Comparison of CORE network emulation platforms
US6549882B1 (en) Mechanisms for providing and using a scripting language for flexibly simulationg a plurality of different network protocols
CN105450476B (en) A kind of regression test system and test method
US20110282642A1 (en) Network emulation in manual and automated testing tools
US10958616B2 (en) Methods, systems, and computer readable media for network test configuration using virtual local area network (VLAN) scanning
Al-Somaidai et al. Survey of software components to emulate OpenFlow protocol as an SDN implementation
US20170060720A1 (en) Methods, systems, and computer readable media for vendor-neutral testing and scoring of systems under test
CN110502224B (en) Interface simulation method and device based on HTTP request and computer equipment
CN111104321A (en) Docker-based cloud platform stability testing method and system
CN110876155B (en) Simulation system and method for wireless mesh network
Berger et al. Does my bft protocol implementation scale?
US8244891B2 (en) Simulating a large number of users
US10289762B2 (en) Interconnection network simulator and method for simulating interconnection networks
Dayanand et al. A survey on the use of GNS3 for virtualizing computer networks
Hine et al. Scalable emulation of enterprise systems
US10932148B2 (en) Apparatus, system and method for testing of communication networks with prescribed communication traffic
CN111294250B (en) Pressure testing method, device and system
Catal et al. Visualization of traffic flows in a simulated network environment to investigate abnormal network behavior in complex network infrastructures
CN108628683B (en) Data transmission method and device
Autefage et al. NEmu: A distributed testbed for the virtualization of dynamic, fixed and mobile networks
US11943110B2 (en) Automated network generation, validation and implementation in a production environment
Berger et al. Simulating BFT Protocol Implementations at Scale

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14786546

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14786546

Country of ref document: EP

Kind code of ref document: A1