US20220116303A1 - Methods, systems, and computer readable media for network testing using switch emulation - Google Patents

Methods, systems, and computer readable media for network testing using switch emulation Download PDF

Info

Publication number
US20220116303A1
US20220116303A1 US17/067,627 US202017067627A US2022116303A1 US 20220116303 A1 US20220116303 A1 US 20220116303A1 US 202017067627 A US202017067627 A US 202017067627A US 2022116303 A1 US2022116303 A1 US 2022116303A1
Authority
US
United States
Prior art keywords
emulated
switch
physical
network
switching environment
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US17/067,627
Other versions
US11323354B1 (en
Inventor
Christian Paul Sommers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keysight Technologies Inc
Original Assignee
Keysight Technologies Inc
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 Keysight Technologies Inc filed Critical Keysight Technologies Inc
Priority to US17/067,627 priority Critical patent/US11323354B1/en
Assigned to KEYSIGHT TECHNOLOGIES, INC. reassignment KEYSIGHT TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SOMMERS, CHRISTIAN PAUL
Publication of US20220116303A1 publication Critical patent/US20220116303A1/en
Application granted granted Critical
Publication of US11323354B1 publication Critical patent/US11323354B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • H04L67/40

Definitions

  • the subject matter described herein relates to network testing. More specifically, the subject matter relates to methods, systems, and computer readable media for network testing using switch emulation.
  • Data center environments typically provide high reliability and security and typically include networked resources (e.g., virtual or physical servers connected via network switches) sharable by multiple clients of the data center operator.
  • Large data centers are industrial scale operations using as much electricity as a small town.
  • Various data centers may utilize virtualization.
  • a data center may implement multiple virtual machines (VMs) that communicate via a virtual switch (vSwitch), e.g., virtual servers, using a physical CPU-based server or node in the data center.
  • vSwitch virtual machines
  • each VM may execute an operating system and other software, where each VM may appear as a physical server to end users.
  • an emulated switch of the type described in this disclosure is distinctly different from the entity referred to commonly in the industry as a virtual switch. More particularly, a virtual switch is a software application that runs on top of central processing unit (CPU), which allows communication between virtual machines, where the virtual machines are administered by a virtual machine hypervisor.
  • CPU central processing unit
  • a vSwitch does not subdivide and allocate resources of an underlying physical switch ASIC chip into multiple emulated switches, but instead creates a software representation of a completely virtual switch (i.e., there is no mapping to underlying physical switch ASIC hardware).
  • testing data center equipment it is important to make sure that testing mimics real world scenarios and conditions. For example, when testing a data center server or related applications, it may be necessary to mimic or emulate resources in the data center.
  • the method occurs at a network test system implemented using at least one processor.
  • the method includes receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment; configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
  • ASIC application-specific integrated circuit
  • the system includes a network test system implemented using at least one processor.
  • the network test system is configured for: receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment; configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
  • ASIC application-specific integrated circuit
  • the subject matter described herein may be implemented in software in combination with hardware and/or firmware.
  • the subject matter described herein may be implemented in software executed by a processor.
  • the subject matter described herein may be implemented using a non-transitory computer readable medium having stored therein computer executable instructions that when executed by the processor of a computer control the computer to perform steps.
  • Example computer readable media suitable for implementing the subject matter described herein include non-transitory devices, such as disk memory devices, chip memory devices, programmable logic devices, field-programmable gate arrays, and application specific integrated circuits.
  • a computer readable medium that implements the subject matter described herein may be located on a single device or computer platform or may be distributed across multiple devices or computer platforms.
  • node refers to a physical computer platform including one or more processors, network interfaces, and memory.
  • each of the terms ‘function’, ‘engine’, and ‘module’ refers to hardware, which may also include software and/or firmware, for implementing the feature(s) being described.
  • FIG. 1 is a diagram illustrating an environment for network testing using switch emulation
  • FIG. 2 is a diagram illustrating an example emulated switching environment usable for network testing
  • FIG. 3 is a diagram illustrating example switching topology configuration information
  • FIG. 4 is a diagram illustrating example port mapping data for mapping emulated switch ports to physical switch ports.
  • FIG. 5 is a diagram illustrating an example process for network testing using switch emulation.
  • the subject matter described herein includes methods, systems, and computer readable media for network testing using switch emulation.
  • a test system e.g., one or more computing platforms, devices, or nodes
  • a switching environment such as virtual networking resources and/or other data center related resources
  • a switch ASIC resource and/or one or more physical switches.
  • some embodiments include one or more emulated switches, where an emulated switch is a logically allocated portion of a physical switch ASIC that is made to look like an independent logical switch device to the environment (e.g., a DUT, SUT, or controller) by using a switch ASIC resource allocator.
  • the SARA is adapted to facilitate collection and reporting of emulated logical switch performance metric information (e.g., emulated logical switch queue depth, emulated logical switch latency, etc.) during a test run or session by a visibility module.
  • emulated logical switch performance metric information e.g., emulated logical switch queue depth, emulated logical switch latency, etc.
  • a test system or a switch ASIC resource allocator in accordance with the disclosure herein may be configured to maintain state information and/or port mapping information associated with at least one or more emulated switches.
  • a network management system NMS
  • NOS network operating system
  • SDN software-defined network controller
  • control entity may send, to a test system, a configuration request for configuring a set of available switches or other aspects of an emulated switching environment or a data center environment.
  • a switch ASIC resource allocator of the test system may receive the configuration request and may generate and send, to a physical application-specific integrated circuit (ASIC) switch or a related controller, a corresponding physical switch configuration request for configuring a corresponding physical port ‘34’ on the physical ASIC switch.
  • ASIC application-specific integrated circuit
  • a test system may be configured to efficiently test network configurations by monitoring and/or analyzing various performance aspects of a SUT associated with an emulated switching environment.
  • an example test system described herein may be configured to emulate a data center environment comprising a multi-stage switching network comprising top-of-rack (TOR) switches, fabric or pod switches, and spine switches.
  • the computing platform may utilize a switch ASIC resource allocator and/or a logical emulation layer to allocate physical switch ports and/or other physical resources to one or more emulated switches.
  • the test system or a switch ASIC resource allocator may store related emulation information in one or more data structures for translating communications (e.g., configuration commands or usage report requests) involving virtual and physical resources.
  • a data structure for switch ASIC emulation may include emulated switch port to physical switch port mappings, emulated topology settings involving emulated switches (e.g., their relative locations (e.g., tiers or stages) and related connectivity), emulated switch telemetry and/or visibility characteristics, emulated link and/or port speeds, etc.
  • emulating a data center or switching environment using a test system may involve allocating (e.g., statically, semi-statically, or dynamically) to each virtual or emulated switch a subset of “front-panel” traffic ports of the test system for links to a SUT (e.g., servers or hosts that utilize switching fabric services) and for links connecting emulated switches.
  • a SUT e.g., servers or hosts that utilize switching fabric services
  • external cables may not be required to realize switch-to-switch links because internal loopback interfaces and related ASIC pipeline configuration can obviate the need for external cabling.
  • emulating a data center or switching environment can allow a SUT (e.g., a NMS, a software defined network controller, or other entity) to access the emulated environment as if it consisted of multiple separate devices, each with their own resources such as traffic ports, buffers/queues, lookup tables, etc.
  • a SUT e.g., a NMS, a software defined network controller, or other entity
  • such emulation can eliminate or reduce the need for the SUT or a testing application to understand the details of the implementation and without requiring the SUT or the testing application to translate emulated switch information to resources of an underlying physical switch and without requiring the SUT or the testing application to monitor control-plane information of emulated switch by using knowledge of an underlying physical switch's resources.
  • an example test system can provide switch ASIC emulation using resources of one or more physical ASIC switches.
  • a test system may emulate a data center environment or a switching environment comprising multiple emulated switches and having different topologies and characteristics.
  • a test system in accordance with the present disclosure can test a NOS, an NMS, and/or another entity or group of entities (e.g., application servers) that interact with the emulated switching or data center environment.
  • a test system is adapted to include a traffic generator module for generating test traffic that is directed to flow through emulated logical switches or an emulated data center fabric.
  • the emulated logical switch fabric may be configured so as to emulate a particular data center switching fabric.
  • the traffic generator module may include one or more test traffic receivers (e.g., test Rx ports) that are adapted to receive the test traffic and generate test metric information, which may be accessible to a visibility module of the test system.
  • the test traffic may transit the emulated data center switch fabric without being received or transiting the DUT/SUT. In such embodiments, generated test traffic may effectively serve as background traffic within the emulated data center switch fabric.
  • the test traffic may transit the emulated data center fabric and may be received and/or processed by the DUT/SUT.
  • a visibility module is adapted to obtain emulated logical switch performance metric information associated with a DUT/SUT test by polling the SARA.
  • the test system allows a test system user to observe how the operation of a DUT/SUT impacts the emulated data center fabric during a test.
  • the test also allows a test system user to observe how conditions (e.g., background traffic levels) in the emulated data center fabric impact the DUT/SUT during a test.
  • a visibility module is adapted to obtain or generate telemetry or operational performance data associated with the emulated switches during the execution of a DUT/SUT test.
  • the visibility module may correlate this data with DUT/SUT endpoint operational activities and events (e.g., DUT/SUT operational actions defined in a test case) and may report performance data and/or correlated DUT/SUT endpoint information to the test system user.
  • FIG. 1 is a diagram illustrating a computing environment 100 for network testing using switch emulation.
  • Computing environment 100 may include one or more networks and/or one or more computer platforms, nodes, or devices.
  • computing environment 100 may include a test system 102 and/or a SUT 118 .
  • Test system 102 may represent any suitable entity or entities (e.g., one or more computing platforms, nodes, or devices) associated with testing SUT 118 (e.g., one or more application servers, a network controller, or a NMS). For example, test system 102 may generate and send traffic to SUT 118 and/or receive traffic from SUT 118 and may analyze one or more performance aspects associated with SUT 118 .
  • entity or entities e.g., one or more computing platforms, nodes, or devices
  • test system 102 may generate and send traffic to SUT 118 and/or receive traffic from SUT 118 and may analyze one or more performance aspects associated with SUT 118 .
  • SUT 118 may be any suitable entity or entities (e.g., devices, systems, or platforms) for receiving, processing, forwarding, and/or sending one or more messages (e.g., packets).
  • SUT 118 may include one or more portions.
  • each portion of SUT 118 may include a network node, a network switch, a network router, a network interface card, a packet forwarding device, or one or more virtual network functions (VNF).
  • VNF virtual network functions
  • each portion of SUT 118 or a VNF thereof may be software in a virtual container or machine (VC/M) executing on shared resources (e.g., compute, storage, and network resources in a cloud computing environment).
  • each portion of SUT 118 or a VNF thereof may include processing logic (e.g., rules associated with packet forwarding/processing) that is independent or separate from another portion of SUT 118 or another VNF.
  • test system 102 may include a stand-alone tool, a testing device, a network equipment test device or platform, or software executing on one or more processor(s). In some embodiments, test system 102 may be a single device or node or may be distributed across multiple devices or nodes. In some embodiments, test system 102 may include one or more modules for performing various test related functions. For example, test system 102 may include a traffic (e.g., packet) generator for generating test traffic and/or testing related applications (e.g., a test analyzer or test configuration manager) for testing SUT 118 .
  • traffic e.g., packet
  • testing related applications e.g., a test analyzer or test configuration manager
  • Test system 102 may include a test controller (TC) 104 , switch ASIC resource allocator (SARA) 106 , physical ASIC switch(es) 108 , ports 110 , testing applications 114 , and data storage 116 .
  • TC 104 may be any suitable entity or entities (e.g., software executing on a processor, a field-programmable gateway array (FPGA), and/or an ASIC, or a combination of software, an FPGA, and/or an ASIC) for performing one or more aspects associated with testing SUT 118 and/or various aspects thereof.
  • TC 104 may be implemented using one or more processors and/or memory.
  • TC 104 may utilize one or more processors (e.g., executing software stored in memory) to generate traffic patterns or scenarios for various message streams (e.g., flows or sessions).
  • processors e.g., executing software stored in memory
  • TC 104 may also utilize one or more processors to perform or initiate various tests and/or analyses involving test packets and/or related responses from SUT 118 .
  • TC 104 may send instructions to various modules or entities, e.g., testing applications 114 , in test system 102 for controlling (e.g., to pause, (re)start, or stop) a test session.
  • TC 104 may utilize out-of-band and/or in-band ports and/or interfaces for communicating with entities of test system 102 .
  • TC 104 may communicate with SARA 106 via a management port or related interface.
  • TC 104 may interact with one or more testing applications 114 .
  • Testing applications 114 may represent software for configuring test system 102 or portions thereof.
  • testing applications 114 can include, but are not limited to, visibility applications, SDN controller applications, GUI and CLI applications, and test traffic generation applications for communicating with SUT 118 and/or an emulated switching environment implemented using ASIC switch(es) 108 .
  • test system 102 or aspects thereof may be controlled or defined using one or more user-definable data models.
  • test system 102 may provide a GUI to allow a user to configure or modify a switch ASIC resource allocator model, a switching model, a data center emulation or switching topology model, a traffic generator model, a network visibility model, etc.
  • high-level or user-definable data models may be converted into lower-level data models or into computer readable instructions for implementing the user-definable data models, e.g., implementing a data center emulation model on ASIC switch(es) 108 .
  • testing applications 114 may include or utilize one or more user interfaces for receiving settings and/or configuration information for setting up a testing scenario or a related test session.
  • a user interface may include any interface usable by one or more types of user (e.g., a human or another entity like an application, a machine, or a device) to interact with test system 102 or related entities.
  • one or more user interfaces may support automation e.g., via one or more programming languages (e.g., python), a representation state transfer (REST) API, a remote procedure call API (e.g., gRPC API), a command line interface (CLI), a machine-to-machine (M2M) automation interface, and/or a web based GUI.
  • a programming languages e.g., python
  • REST representation state transfer
  • gRPC API remote procedure call API
  • CLI command line interface
  • M2M machine-to-machine
  • a web based GUI e.g., a test operator may use a web browser to interact with a web based GUI associated with TC 104 and/or testing applications 114 for programming or configuring one or more aspects for testing SUT 118 .
  • a network controller may utilize a M2M automation interface for programming or configuring one or more aspects for testing SUT 118 .
  • testing applications 114 may include or utilize a GUI or other user interface for selecting and/or configuring emulated switching environments and/or other related settings (e.g., test reporting and/or network visibility settings).
  • testing applications 114 may include a web based GUI for obtaining a test operator or another entity's intent for setting up or configuring testing scenarios and/or related emulated switching environments.
  • the GUI can be used to visually describe a topology comprising one or more emulated switches and/or to indicate particular physical resources to allocate to each emulated switch.
  • the GUI can be used to gather test session settings and/or other information.
  • a test system related user interface may provide and/or receive configuration settings for emulated switches associated with an emulated data center environment.
  • a user can use the user interface to configure a specific data center environment in which SUT 118 will operate or interact with and can monitor performance of both SUT 118 and the performance of the emulated switches that comprise the emulated data center environment.
  • testing applications 114 may include or utilize a traffic generator.
  • a traffic generator may be any suitable entity or entities (e.g., software executing on a processor, an ASIC, an FPGA, or a combination of software, an ASIC, or an FPGA) for performing one or more aspects associated with generating or synthesizing test sessions, test cases, or related test packets.
  • the traffic generator may be configured to utilize user input and predefined test case templates or related data to generate one or more test cases and/or test sessions.
  • testing applications 114 may include or utilize a network visibility analyzer and may be configurable by TC 104 and/or based on an emulated switching environment or topology.
  • a network visibility analyzer may be any suitable entity or entities (e.g., software executing on a processor, an ASIC, an FPGA, or a combination of software, an ASIC, or an FPGA) for maintaining network visibility (e.g., using virtual or physical probes or network taps).
  • virtual taps or software may be configured to emulate and/or provide switch metrics or other information (e.g., network telemetry, switch and/or link status information, etc.) associated with one or more elements (e.g., emulated switches) of an emulated switching environment.
  • the network visibility analyzer may generate performance reports or test analysis reports associated with SUT 118 , e.g., by utilizing the switch metrics or other information associated with packets that pass through or are generated by SUT 118 .
  • ASIC switch(es) 108 may be any suitable entity or entities comprising one or more ASICs (and hardware, firmware, and/or software) for performing one or more functions associated with network switching.
  • ASIC switch(es) 108 may utilize an ASIC pipeline for performing frame or packet forwarding, e.g., sending a packet received from one port out another port of the switch.
  • various resources e.g., lookup tables or match-action tables used for forwarding decisions, traffic manager buffer memory, traffic manager logical queues, etc.
  • SARA 106 may be any suitable entity or entities comprising one or more ASICs (and hardware, firmware, and/or software) for performing one or more functions associated with network switching.
  • various resources e.g., lookup tables or match-action tables used for forwarding decisions, traffic manager buffer memory, traffic manager logical queues, etc.
  • Ports 110 may include or utilize any suitable entity or entities (e.g., one or more network interface cards (NICs), pluggable jacks, physical processors, transceiver modules, direct-attach cables (DACs) and/or other hardware) for sending or receiving communications.
  • NICs network interface cards
  • DACs direct-attach cables
  • test system 102 may use one or more multiple ports 110 (e.g., physical connection ports) for receiving and sending various types of test packets or related data units; such as IP messages, Ethernet frames, Ethernet messages, packet data units (PDUs), datagrams, user datagram protocol (UDP) messages, TCP messages, IP version 4 (v4) messages, IP version 6 (v6) messages, stream control transmission protocol (SCTP) messages, real-time transport protocol (RTP) messages, or reliable data protocol (RDP) messages, messages using a tunneling protocol, and/or other data units.
  • PDUs packet data units
  • UDP user datagram protocol
  • TCP IP version 4
  • v6 IP version 6
  • SCTP stream control transmission protocol
  • RTP real-time transport protocol
  • RDP reliable data protocol
  • ports 110 may include user traffic ports and management ports.
  • user traffic ports may be associated with processing, sending, and/or receiving test traffic, non-test traffic, and/or in-band management related communications and management ports may be associated with processing, sending, and/or receiving out-of-band management related communications.
  • ports 110 may include multiple port modules or groups of ports for interacting with SUT 118 .
  • SARA 106 may allocate a portion of physical resources to each switch that is emulated, where the emulated switches are collectively used to mimic a data center switching fabric.
  • each emulated switch may be allocated or associated with one or more of ports 110 and the port association may be static or semi-static (e.g., particular ports may be assigned to an emulated switch for a given test session).
  • SARA 106 may be any suitable entity or entities (e.g., software executing on a processor, an FPGA, an ASIC, or a combination of software, an FPGA, and/or an ASIC) for performing one or more aspects associated with allocating and managing emulated switches.
  • SARA 106 may allocate and manage resources of ASIC switch(es) 108 for providing emulated switches without requiring a custom ASIC pipeline.
  • SARA 106 can be external or internal to ASIC switch(es) 108 .
  • SARA 106 may utilize one or more management ports or related interfaces for communicating with a controller or related applications (e.g., TC 104 and/or testing applications 114 ) and/or for communicating with ASIC switch(es) 108 .
  • a controller or related applications e.g., TC 104 and/or testing applications 114
  • ASIC switch(es) 108 may communicate with TC 104 or a related application via an out-of-band management port or related interface.
  • SARA 106 may send instructions or other communications to ASIC switch(es) 108 via another management port or related interface.
  • SARA 106 may include a virtual to physical adapter 112 .
  • Virtual to physical adapter 112 may be any suitable entity or entities (e.g., software executing on a processor, an FPGA, a ASIC, or a combination of software, an FPGA, and/or an ASIC) for converting and/or translating communications to refer to virtual or physical resources depending on the destination. For example, when requesting information about available switching resources via SARA 106 , testing applications 114 and/or SUT 118 may “see” a set of emulated switches each with a subset of resources instead of ASIC switch(es) 108 .
  • virtual to physical adapter 112 may translate information about virtual resources into information physical resources of a single ASIC switch (e.g., Tomahawk 3 ) and vice versa so that interacting nodes may remain unaware of the underlying ASIC switch(es) 108 or related switch resources.
  • a single ASIC switch e.g., Tomahawk 3
  • SARA 106 and/or virtual to physical adapter 112 may reside between a native device interface and interacting entities (e.g., SUT 118 , testing applications 114 , or external devices) and may act as a communications proxy or agent using a virtual interface.
  • SUT 118 may include a network switch controller that configures switching resources by sending, via a virtual interface associated with SARA 106 , configuration requests for requesting and/or configuring one or more switches.
  • SARA 106 and/or virtual to physical adapter 112 may translate the configuration requests received via the virtual interface into one or more corresponding requests for transmission via a native switch interface, where the corresponding requests include commands for configuring appropriate physical resources of underlying ASIC switch(es) 108 .
  • SARA 106 and/or virtual to physical adapter 112 may translate switch performance results coming from a native switch interface into virtualized results (e.g., link status or counter values for a physical port ‘60’ may be changed to values for a virtual port ‘v1’ on an emulated switch TORSW1) before sending the virtualized results to the network switch controller via the virtual interface.
  • virtualized results e.g., link status or counter values for a physical port ‘60’ may be changed to values for a virtual port ‘v1’ on an emulated switch TORSW1
  • SARA 106 and/or virtual to physical adapter 112 may create, store, and/or use switch ASIC emulation data (e.g., physical to virtual port mapping, physical buffers to virtual buffers mapping and resource allocation, etc.) and related policies (e.g., virtual and real port speed, virtual and real throughput, topologies, forwarding rules, classes of service, etc.) for sharing physical switch resources amongst the emulated switches.
  • switch ASIC emulation data e.g., physical to virtual port mapping, physical buffers to virtual buffers mapping and resource allocation, etc.
  • related policies e.g., virtual and real port speed, virtual and real throughput, topologies, forwarding rules, classes of service, etc.
  • virtual ports ‘v1, ‘v2’, ‘v3’ on an emulated switch ‘TORSW1’ may be translated into physical ports ‘60’, ‘61’, ‘62’, respectively.
  • configuration commands for setting speed of port ‘v1’ can be translated so that the speed of corresponding physical port ‘60’ is set.
  • the statistical counters for virtual port ‘v1’ the statistical counters for physical port ‘60’ may be queried.
  • SARA 106 and/or virtual to physical adapter 112 may utilize a modified proprietary (e.g., vendor) API (e.g., a vendor's software development kit (SDK) or by utilizing a wrapper API that interacts with a vendor API.
  • a modified proprietary (e.g., vendor) API e.g., a vendor's software development kit (SDK)
  • SDK software development kit
  • SARA 106 can manage a virtualized or emulated fleet of switches using off-the-shelf or commodity ASICs with NOSes that utilize a proprietary or vendor API.
  • SARA 106 and/or virtual to physical adapter 112 may utilize a custom adaptor that handles certain applications or functions which may involve a subset of resource management and mapping requirements than a standard switching API. For example, by using a custom adaptor, SARA 106 can manage a virtualized or emulated fleet of switches for certain use cases using off-the-shelf or commodity ASICs.
  • test system 102 or entities thereof may include functionality for accessing data storage 116 .
  • Data storage 116 may be any suitable entity or entities (e.g., a storage device, a non-transitory computer readable medium, or a storage system) for maintaining or storing information related to switch ASIC emulation, network testing, or related test analysis.
  • data storage 116 may include switch ASIC emulation data (e.g., physical to virtual port mapping, physical buffers to virtual buffers mapping, etc.) and related policies (e.g., virtual and real port speed, virtual and real throughput, topologies, forwarding rules, classes of service, etc.) for sharing physical switch resources amongst the emulated switches.
  • Data storage 116 may also include test traffic models, test cases, test session data, topology information for emulated switching environments and/or for SUT 118 , and/or other information usable for generating performance metrics (e.g., statistics) associated with one or more aspects of SUT 118 .
  • data storage 116 may be located at test system 102 , another node, or distributed across multiple platforms or devices.
  • FIG. 1 is for illustrative purposes and that various depicted entities, their locations, and/or their functions described above in relation to FIG. 1 may be changed, altered, added, or removed.
  • a device e.g., a computer including at least one processor coupled to a memory
  • FIG. 2 is a diagram illustrating an example emulated switching environment 200 usable for network testing.
  • Emulated switching environment 200 may represent an emulated data center environment or a network of switches for forwarding packets from or to SUT 118 or other entities.
  • emulated switching environment 200 may be based on user input and/or predetermined environment templates or data models, e.g., stored in data storage 116 .
  • emulated switching environment 200 may represent a 3-stage Clos switching network comprising different stages of emulated switches, e.g., stage one may include top of rack switches (TORSWs) 202 - 208 , stage two may include cluster or pod switches (PODSWs) 210 - 212 , and stage three may include a spine switch (SPSW) 214 and may be implemented using SARA 106 and physical resources of one or more ASIC switch(es) 108 .
  • stage one may include top of rack switches (TORSWs) 202 - 208
  • stage two may include cluster or pod switches (PODSWs) 210 - 212
  • stage three may include a spine switch (SPSW) 214 and may be implemented using SARA 106 and physical resources of one or more ASIC switch(es) 108 .
  • SPSW spine switch
  • TORSWs 202 - 208 may represent or emulate switches that are connected to multiple servers (e.g., located within a rack or nearby rack), PODSWs 210 - 212 may represent or emulate aggregation switches that are connected to multiple TORSWs, and SPSW 214 may represent or emulate a higher-level aggregation switch that is connected to multiple PODSWs.
  • some physical ports of ASIC switch(es) 108 may be associated with different emulated switches and may utilize loopback interfaces or internal interfaces for emulating communications between some emulated switches, while other emulated switches (e.g., TORSWs 202 - 208 ) may utilize physical interfaces and/or physical cabling to communicate with SUT 118 or portions thereof.
  • SUT 118 may represent or include a set of application server groups 216 - 222 , each representing one or more servers and/or applications.
  • application server group 1 216 may include multiple servers (e.g., 16 or more servers in a single rack), each having one or more connections to a TOR switch.
  • a server of application server groups 216 - 222 may includes multiple applications or perform different services (e.g., machine learning (M/L), storage offload, search engines, webpages, video streaming, email, etc.) for users or may perform similar services for different sets of users.
  • a server of application server groups 216 - 222 may act as a client to another server.
  • each of application server groups 216 - 222 may be connected (e.g., physically cabled) to a different set of physical ports 110 of test system 102 , where each set of physical ports 110 is assigned or allocated to a particular emulated switch.
  • SARA 106 may assign physical ports ‘60’, ‘61’, and 62’ to an emulated switch ‘TORSW1’ and may virtualize those physical ports as ‘v1, ‘v2’, and ‘v3’, respectively.
  • applications and/or servers in application server group 1 216 may be communicatively coupled to one or more of the virtual ports of the emulated switch ‘TORSW1’.
  • FIG. 2 is for illustrative purposes and that various depicted entities, their locations, and/or their functions described above in relation to FIG. 2 may be changed, altered, added, or removed.
  • FIG. 3 is a diagram illustrating example switching configuration information 300 .
  • configuration information 300 may be accessed and/or stored by TC 104 and/or SARA 106 using one or more data structures.
  • configuration information 300 may include any suitable information for mapping virtual ports associated with emulated switching environment 200 to physical ports of physical ASIC switch(es) 108 .
  • configuration information 300 may be stored or maintained in data storage 116 and may be usable for translating port information or related information in switch configuration commands, performance metrics, and/or other communications.
  • configuration information 300 may be depicted using a table representing associations between a topology identifier (TID) and a corresponding topology description.
  • a TID may include any suitable identifier, such as one or more numbers or values, usable for identifying a switching topology or emulated switching environment.
  • each switching topology or emulated switching environment provided by a test operator or stored for testing may have a different, unique TID, e.g., 1, 2, 3, and 4, respectively.
  • a topology description may include information for describing or defining an emulated switching environment, e.g., emulated switching environment 200 .
  • a topology description may indicate the type of switching environment including the number of stages, the types and number of emulated switches and ports at each stage, along with various characteristics (e.g., port speeds, link speeds, forwarding rules, throughput limits, etc.) that can be used to emulate or virtualize the switching environment described.
  • configuration information 300 in FIG. 3 is for illustrative purposes and that different and/or additional information may also be stored or maintained. Further, it will be appreciated that configuration information 300 may be stored in various data structures, memories, media, and/or in one or more locations.
  • FIG. 4 is a diagram illustrating example port mapping data 400 for mapping virtual ports of emulated switches (e.g., TORSWs 202 - 208 ) to physical ports of physical ASIC switch(es) 108 .
  • port mapping data 400 may be accessed and/or stored by TC 104 and/or SARA 106 using one or more data structures.
  • port mapping data 400 may include any suitable information for mapping virtual ports associated with emulated switching environment 200 to physical ports of physical ASIC switch(es) 108 .
  • port mapping data 400 may be stored or maintained in data storage 116 and may be usable for translating port information or related information in switch configuration commands, performance metrics, and/or other communications.
  • port mapping data 400 may be depicted using a table representing associations between virtual port information and physical port information.
  • each row or association may include a TID, an emulated switch identifier (ESID), a virtual port number, and a corresponding physical switch identifier (PSID) and a physical port number.
  • ESID emulated switch identifier
  • PSID physical switch identifier
  • a TID may include any suitable identifier, such as one or more numbers or values, usable for identifying a switching topology or emulated switching environment.
  • a test operator may select a 3-stage Clos network environment with particular characteristics to emulate for a first test session, a 3-stage Clos network environment with different characteristics to emulate for a second test session, a 5-stage Clos network environment with particular characteristics to emulate for a third test session, and a 7-stage Clos network environment with particular characteristics to emulate for a fourth test session.
  • each switching topology or emulated switching environment may have a different, unique TID, e.g., 1, 2, 3, and 4, respectively.
  • an ESID may include any suitable identifier, such as one or more numbers or values, usable for identifying an emulated switch.
  • emulated switching environment 200 may have seven emulated switches, each switch having a unique name and/or number, e.g., ‘TORSW1’, ‘A’, ‘234553242’, etc.
  • ESIDs may be unique within a topology or an emulated switching environment. In some embodiments, ESID may be unique amongst multiple (or even all) defined topologies or emulated switching environments.
  • a virtual port number may include any suitable identifier, such as one or more numbers or values, usable for identifying a port of an emulated switch.
  • an emulated switch ‘PODSW1’ of emulated switching environment 200 may have multiple virtual ports, each having a unique name and/or number at least within that emulated switch, e.g., ‘v1, ‘v2’, ‘v3’, etc.
  • virtual port numbers may be unique within a topology or an emulated switching environment.
  • virtual port numbers may be unique amongst multiple (or even all) defined topologies or emulated switching environments.
  • an ESID may include any suitable identifier, such as one or more numbers or values, usable for identifying a physical switch, e.g., physical ASIC switch(es) 108 .
  • test system 102 may have one or two physical ASIC switch(es) 108 , each switch having a unique name and/or number, e.g., ‘SW1, ‘A’, ‘234553242’, etc.
  • PSIDs may be unique within a test system or network.
  • ESID may be unique amongst multiple (or even all) networks controlled by an operator or service provider.
  • a physical port number may include any suitable identifier, such as one or more numbers or values, usable for identifying a port of physical ASIC switch(es) 108 .
  • physical ASIC switch(es) 108 may have multiple physical traffic ports, each having a unique name and/or number at least within each physical switch, e.g., ‘60’, ‘61’, ‘62’, etc.
  • physical port numbers may be unique within each of physical ASIC switch(es) 108 .
  • physical port numbers may be unique amongst multiple (or even all) physical ASIC switch(es) 108 .
  • a TID, an ESID, and a virtual port number may be used as a combination key or value for identifying a corresponding physical switch and port.
  • an ESID and a virtual port number may be used as a combination key or value for identifying a corresponding physical switch and port.
  • a virtual port number may be used as a combination key or value for identifying a corresponding physical switch and port.
  • port mapping data 400 in FIG. 4 is for illustrative purposes and that different and/or additional information may also be stored or maintained. Further, it will be appreciated that port mapping data 400 may be stored in various data structures, memories, media, and/or in one or more locations.
  • FIG. 5 is a diagram illustrating an example process 500 for network testing using switch emulation.
  • process 500 may be performed by or at test system 102 , TC 104 , SARA 106 , ASIC switch(es) 108 , and/or another node or module (e.g., a network test controller).
  • process 500 may include steps 502 - 506 .
  • configuration information may be received for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment.
  • receiving configuration information may include providing a user interface for defining emulated switching environment 200 involving the emulated switches.
  • the emulated switching environment including allocating, using a switch ASIC resource allocator, resources of at least one physical ASIC switch to multiple emulated switches may be configured using the configuration information.
  • a test session for testing a SUT using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session may be configured using the configuration information.
  • the test session may be initiated.
  • initiating the test session may include generating and sending, using a traffic generator, test traffic via the emulated switching environment.
  • the test traffic may include background test traffic that traverses or impacts the emulated switching environment but does not traverse the SUT.
  • test traffic may traverse the emulated switching environment on it way to or from the SUT.
  • a performance query for accessing performance information about emulated switching environment 200 may be received from a requester (e.g., a test operator or a related system).
  • a requester e.g., a test operator or a related system.
  • emulated switching environment 200 may be implemented using at least one physical ASIC switch.
  • emulated switching environment 200 may include a first emulated switch for communications involving a first set of physical ports connecting a first portion of SUT 118 and the network test system and a second emulated switch for communications involving a second set of physical ports connecting a second portion of SUT 118 and the network test system.
  • a first emulated switch or a second emulated switch appear as a rack switch to SUT 118 .
  • a first portion of SUT 118 may include a first network node, a first server, a first network interface card, a first application server, or a first group of servers and wherein a second portion of SUT 118 may include a second network node, a second server, a second network interface card, a second application server, or a second group of servers.
  • a performance query from a requester may be translated using physical to virtual resource mapping information into at least one corresponding information request that refers to physical resources of the at least one physical ASIC switch associated with emulated switching environment 200 .
  • the at least one corresponding information request may be sent to the at least one physical ASIC switch or a related controller.
  • a response to an information request may be received from a physical ASIC switch or a related controller and may contain switch performance information associated with the at least one corresponding information request.
  • switch performance information from a physical ASIC switch or a related controller may be translated using the physical to virtual resource mapping information to the performance information about emulated switching environment 200 .
  • the performance information about emulated switching environment 200 may be provided to the requester.
  • a requester may a network controller, an NMS, an NOS, SUT 118 , an SDN controller, a test operator, or another entity.
  • the network test system may configure and initiate a test session for testing SUT 118 .
  • configuring the test session may include configuring emulated switching environment 200 including accessing topology information describing an emulated network, an emulated device, an emulated host, a traffic generator, one or more physical or virtual connections, emulated switching environment 200 , or SUT 118 .
  • configuring the test session may include accessing topology information describing an emulated network, an emulated device, an emulated host, a traffic generator, one or more physical or virtual connections, emulated switching environment 200 , or SUT 118 .
  • configuring the test session may include configuring a traffic generator for generating test traffic based on predetermined or learned traffic patterns.
  • configuring the test session may include configuring a network visibility analyzer for collecting, analyzing, or reporting emulated switching environment information, e.g., emulated switch status information or telemetry information.
  • emulated switching environment 200 may include a Clos network environment, a multi-stage network environment, or a multi-tier network environment.
  • a test session involving SARA 106 and a first portion of SUT 118 and a second portion of SUT 118 may comprise receiving, by SARA 106 and from the first portion, a communication addressed to the second portion; and emulating, using SARA 106 , forwarding of the communication to the second portion via emulated switching environment 200 , wherein emulating includes translating a virtual port of the second emulated switch to a physical port of the at least one physical ASIC switch connected to the second portion and sending, via the physical port of the at least one physical ASIC switch, the communication to the second portion.
  • forwarding a communication to the second portion via emulated switching environment 200 may be emulated using SARA 106 , wherein emulating may include translating a virtual port of the second emulated switch to a physical port of the at least one physical ASIC switch connected to the second portion and sending, via the physical port of the at least one physical ASIC switch, the communication to the second portion.
  • emulating forwarding may include using one or more loopback interfaces on at least one physical ASIC switch.
  • TC 104 may communicate via a test system API or a related server.
  • the test system API or the related server may convert or translate higher-level instructions (e.g., a gRPC API request for performance information) or data models into lower level instructions (e.g., an ASIC register query) or data models for the physical ASIC switch.
  • process 500 is for illustrative purposes and that different and/or additional actions may be used. It will also be appreciated that various actions described herein may occur in a different order or sequence.
  • test system 102 , TC 104 , SARA 106 , computing environment 100 , and/or functionality described herein may constitute one or more special purpose computing devices. Further, test system 102 , TC 104 , SARA 106 , computing environment 100 , and/or functionality described herein can improve the technological field of testing networks and related nodes by providing mechanisms for switch ASIC emulation, e.g., emulating emulated switches using one or more physical ASIC switches and a switch ASIC resource allocator.
  • switch ASIC emulation e.g., emulating emulated switches using one or more physical ASIC switches and a switch ASIC resource allocator.

Abstract

One method occurs at a network test system implemented using at least one processor. The method includes receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment; configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.

Description

    TECHNICAL FIELD
  • The subject matter described herein relates to network testing. More specifically, the subject matter relates to methods, systems, and computer readable media for network testing using switch emulation.
  • BACKGROUND
  • Data center environments typically provide high reliability and security and typically include networked resources (e.g., virtual or physical servers connected via network switches) sharable by multiple clients of the data center operator. Large data centers are industrial scale operations using as much electricity as a small town. Various data centers may utilize virtualization. For example, a data center may implement multiple virtual machines (VMs) that communicate via a virtual switch (vSwitch), e.g., virtual servers, using a physical CPU-based server or node in the data center. In this example, each VM may execute an operating system and other software, where each VM may appear as a physical server to end users.
  • It will be appreciated that an emulated switch of the type described in this disclosure is distinctly different from the entity referred to commonly in the industry as a virtual switch. More particularly, a virtual switch is a software application that runs on top of central processing unit (CPU), which allows communication between virtual machines, where the virtual machines are administered by a virtual machine hypervisor. A vSwitch does not subdivide and allocate resources of an underlying physical switch ASIC chip into multiple emulated switches, but instead creates a software representation of a completely virtual switch (i.e., there is no mapping to underlying physical switch ASIC hardware).
  • When testing data center equipment, it is important to make sure that testing mimics real world scenarios and conditions. For example, when testing a data center server or related applications, it may be necessary to mimic or emulate resources in the data center.
  • Accordingly, a need exists for methods, systems, and computer readable media for network testing using switch emulation.
  • SUMMARY
  • Methods, systems, and computer readable media for network testing using switch emulation are disclosed. According to one method, the method occurs at a network test system implemented using at least one processor. The method includes receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment; configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
  • According to one system, the system includes a network test system implemented using at least one processor. The network test system is configured for: receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment; configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
  • The subject matter described herein may be implemented in software in combination with hardware and/or firmware. For example, the subject matter described herein may be implemented in software executed by a processor. In one example implementation, the subject matter described herein may be implemented using a non-transitory computer readable medium having stored therein computer executable instructions that when executed by the processor of a computer control the computer to perform steps. Example computer readable media suitable for implementing the subject matter described herein include non-transitory devices, such as disk memory devices, chip memory devices, programmable logic devices, field-programmable gate arrays, 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 computer platform or may be distributed across multiple devices or computer platforms.
  • As used herein, the term ‘node’ refers to a physical computer platform including one or more processors, network interfaces, and memory.
  • As used herein, each of the terms ‘function’, ‘engine’, and ‘module’ refers to hardware, which may also include software and/or firmware, for implementing the feature(s) being described.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The subject matter described herein will now be explained with reference to the accompanying drawings of which:
  • FIG. 1 is a diagram illustrating an environment for network testing using switch emulation;
  • FIG. 2 is a diagram illustrating an example emulated switching environment usable for network testing;
  • FIG. 3 is a diagram illustrating example switching topology configuration information;
  • FIG. 4 is a diagram illustrating example port mapping data for mapping emulated switch ports to physical switch ports; and
  • FIG. 5 is a diagram illustrating an example process for network testing using switch emulation.
  • DETAILED DESCRIPTION
  • The subject matter described herein includes methods, systems, and computer readable media for network testing using switch emulation.
  • In accordance with some aspects of the subject matter described herein, a test system (e.g., one or more computing platforms, devices, or nodes) may be configured to emulate a switching environment, such as virtual networking resources and/or other data center related resources, by using a switch ASIC resource and/or one or more physical switches. It will be appreciated that some embodiments include one or more emulated switches, where an emulated switch is a logically allocated portion of a physical switch ASIC that is made to look like an independent logical switch device to the environment (e.g., a DUT, SUT, or controller) by using a switch ASIC resource allocator. In some embodiments, the SARA is adapted to facilitate collection and reporting of emulated logical switch performance metric information (e.g., emulated logical switch queue depth, emulated logical switch latency, etc.) during a test run or session by a visibility module.
  • For example, a test system or a switch ASIC resource allocator in accordance with the disclosure herein may be configured to maintain state information and/or port mapping information associated with at least one or more emulated switches. In this example, a network management system (NMS), a network operating system (NOS), a software-defined network (SDN) controller, or other control entity may send, to a test system, a configuration request for configuring a set of available switches or other aspects of an emulated switching environment or a data center environment. Continuing with this example, assuming the configuration request is for configuring a port speed for a virtual port ‘v1’ on an emulated switch ‘TORSW3’ of a test system, a switch ASIC resource allocator of the test system may receive the configuration request and may generate and send, to a physical application-specific integrated circuit (ASIC) switch or a related controller, a corresponding physical switch configuration request for configuring a corresponding physical port ‘34’ on the physical ASIC switch.
  • In accordance with some aspects of the subject matter described herein, a test system may be configured to efficiently test network configurations by monitoring and/or analyzing various performance aspects of a SUT associated with an emulated switching environment. For example, an example test system described herein may be configured to emulate a data center environment comprising a multi-stage switching network comprising top-of-rack (TOR) switches, fabric or pod switches, and spine switches. In this example, the computing platform may utilize a switch ASIC resource allocator and/or a logical emulation layer to allocate physical switch ports and/or other physical resources to one or more emulated switches. Continuing with this example, the test system or a switch ASIC resource allocator may store related emulation information in one or more data structures for translating communications (e.g., configuration commands or usage report requests) involving virtual and physical resources. In some embodiments, a data structure for switch ASIC emulation may include emulated switch port to physical switch port mappings, emulated topology settings involving emulated switches (e.g., their relative locations (e.g., tiers or stages) and related connectivity), emulated switch telemetry and/or visibility characteristics, emulated link and/or port speeds, etc.
  • In accordance with some aspects of the subject matter described herein, emulating a data center or switching environment using a test system (e.g., single computing platform or device) may involve allocating (e.g., statically, semi-statically, or dynamically) to each virtual or emulated switch a subset of “front-panel” traffic ports of the test system for links to a SUT (e.g., servers or hosts that utilize switching fabric services) and for links connecting emulated switches. In some embodiments, depending upon the implementation, external cables may not be required to realize switch-to-switch links because internal loopback interfaces and related ASIC pipeline configuration can obviate the need for external cabling.
  • In accordance with some aspects of the subject matter described herein, emulating a data center or switching environment can allow a SUT (e.g., a NMS, a software defined network controller, or other entity) to access the emulated environment as if it consisted of multiple separate devices, each with their own resources such as traffic ports, buffers/queues, lookup tables, etc. In some embodiments, such emulation can eliminate or reduce the need for the SUT or a testing application to understand the details of the implementation and without requiring the SUT or the testing application to translate emulated switch information to resources of an underlying physical switch and without requiring the SUT or the testing application to monitor control-plane information of emulated switch by using knowledge of an underlying physical switch's resources.
  • By utilizing port mapping and other switch ASIC emulation information, an example test system can provide switch ASIC emulation using resources of one or more physical ASIC switches. For example, a test system may emulate a data center environment or a switching environment comprising multiple emulated switches and having different topologies and characteristics. Hence, a test system in accordance with the present disclosure can test a NOS, an NMS, and/or another entity or group of entities (e.g., application servers) that interact with the emulated switching or data center environment.
  • In some embodiments, a test system is adapted to include a traffic generator module for generating test traffic that is directed to flow through emulated logical switches or an emulated data center fabric. The emulated logical switch fabric may be configured so as to emulate a particular data center switching fabric. In some embodiments, the traffic generator module may include one or more test traffic receivers (e.g., test Rx ports) that are adapted to receive the test traffic and generate test metric information, which may be accessible to a visibility module of the test system. In some embodiments, the test traffic may transit the emulated data center switch fabric without being received or transiting the DUT/SUT. In such embodiments, generated test traffic may effectively serve as background traffic within the emulated data center switch fabric. In other embodiments, the test traffic may transit the emulated data center fabric and may be received and/or processed by the DUT/SUT.
  • In some embodiments, a visibility module is adapted to obtain emulated logical switch performance metric information associated with a DUT/SUT test by polling the SARA. As such, the test system allows a test system user to observe how the operation of a DUT/SUT impacts the emulated data center fabric during a test. The test also allows a test system user to observe how conditions (e.g., background traffic levels) in the emulated data center fabric impact the DUT/SUT during a test.
  • In some embodiments, a visibility module is adapted to obtain or generate telemetry or operational performance data associated with the emulated switches during the execution of a DUT/SUT test. In such embodiments, the visibility module may correlate this data with DUT/SUT endpoint operational activities and events (e.g., DUT/SUT operational actions defined in a test case) and may report performance data and/or correlated DUT/SUT endpoint information to the test system user.
  • Reference will now be made in detail to exemplary embodiments of the subject matter described herein, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
  • FIG. 1 is a diagram illustrating a computing environment 100 for network testing using switch emulation. Computing environment 100 may include one or more networks and/or one or more computer platforms, nodes, or devices. Referring to FIG. 1, computing environment 100 may include a test system 102 and/or a SUT 118.
  • Test system 102 may represent any suitable entity or entities (e.g., one or more computing platforms, nodes, or devices) associated with testing SUT 118 (e.g., one or more application servers, a network controller, or a NMS). For example, test system 102 may generate and send traffic to SUT 118 and/or receive traffic from SUT 118 and may analyze one or more performance aspects associated with SUT 118.
  • SUT 118 may be any suitable entity or entities (e.g., devices, systems, or platforms) for receiving, processing, forwarding, and/or sending one or more messages (e.g., packets). In some embodiments, SUT 118 may include one or more portions. For example, each portion of SUT 118 may include a network node, a network switch, a network router, a network interface card, a packet forwarding device, or one or more virtual network functions (VNF). In this example, each portion of SUT 118 or a VNF thereof may be software in a virtual container or machine (VC/M) executing on shared resources (e.g., compute, storage, and network resources in a cloud computing environment). In some embodiments, each portion of SUT 118 or a VNF thereof may include processing logic (e.g., rules associated with packet forwarding/processing) that is independent or separate from another portion of SUT 118 or another VNF.
  • In some embodiments, test system 102 may include a stand-alone tool, a testing device, a network equipment test device or platform, or software executing on one or more processor(s). In some embodiments, test system 102 may be a single device or node or may be distributed across multiple devices or nodes. In some embodiments, test system 102 may include one or more modules for performing various test related functions. For example, test system 102 may include a traffic (e.g., packet) generator for generating test traffic and/or testing related applications (e.g., a test analyzer or test configuration manager) for testing SUT 118.
  • Test system 102 may include a test controller (TC) 104, switch ASIC resource allocator (SARA) 106, physical ASIC switch(es) 108, ports 110, testing applications 114, and data storage 116. TC 104 may be any suitable entity or entities (e.g., software executing on a processor, a field-programmable gateway array (FPGA), and/or an ASIC, or a combination of software, an FPGA, and/or an ASIC) for performing one or more aspects associated with testing SUT 118 and/or various aspects thereof. In some embodiments, TC 104 may be implemented using one or more processors and/or memory. For example, TC 104 may utilize one or more processors (e.g., executing software stored in memory) to generate traffic patterns or scenarios for various message streams (e.g., flows or sessions). In another example, TC 104 may also utilize one or more processors to perform or initiate various tests and/or analyses involving test packets and/or related responses from SUT 118. In this example, TC 104 may send instructions to various modules or entities, e.g., testing applications 114, in test system 102 for controlling (e.g., to pause, (re)start, or stop) a test session.
  • In some embodiments, TC 104 may utilize out-of-band and/or in-band ports and/or interfaces for communicating with entities of test system 102. For example, in embodiments where TC 104 is external to SARA 106, TC 104 may communicate with SARA 106 via a management port or related interface.
  • In some embodiments, TC 104 may interact with one or more testing applications 114. Testing applications 114 may represent software for configuring test system 102 or portions thereof. In some embodiments, testing applications 114 can include, but are not limited to, visibility applications, SDN controller applications, GUI and CLI applications, and test traffic generation applications for communicating with SUT 118 and/or an emulated switching environment implemented using ASIC switch(es) 108.
  • In some embodiments, test system 102 or aspects thereof may be controlled or defined using one or more user-definable data models. For example, test system 102 may provide a GUI to allow a user to configure or modify a switch ASIC resource allocator model, a switching model, a data center emulation or switching topology model, a traffic generator model, a network visibility model, etc. In this example, high-level or user-definable data models may be converted into lower-level data models or into computer readable instructions for implementing the user-definable data models, e.g., implementing a data center emulation model on ASIC switch(es) 108.
  • In some embodiments, testing applications 114 may include or utilize one or more user interfaces for receiving settings and/or configuration information for setting up a testing scenario or a related test session. For example, a user interface may include any interface usable by one or more types of user (e.g., a human or another entity like an application, a machine, or a device) to interact with test system 102 or related entities. In some embodiments, one or more user interfaces may support automation e.g., via one or more programming languages (e.g., python), a representation state transfer (REST) API, a remote procedure call API (e.g., gRPC API), a command line interface (CLI), a machine-to-machine (M2M) automation interface, and/or a web based GUI. For example, a test operator may use a web browser to interact with a web based GUI associated with TC 104 and/or testing applications 114 for programming or configuring one or more aspects for testing SUT 118. In another example, a network controller may utilize a M2M automation interface for programming or configuring one or more aspects for testing SUT 118.
  • In some embodiments, testing applications 114 may include or utilize a GUI or other user interface for selecting and/or configuring emulated switching environments and/or other related settings (e.g., test reporting and/or network visibility settings). For example, testing applications 114 may include a web based GUI for obtaining a test operator or another entity's intent for setting up or configuring testing scenarios and/or related emulated switching environments. In this example, the GUI can be used to visually describe a topology comprising one or more emulated switches and/or to indicate particular physical resources to allocate to each emulated switch. In another example, the GUI can be used to gather test session settings and/or other information.
  • In some embodiments, from an end user perspective, a test system related user interface may provide and/or receive configuration settings for emulated switches associated with an emulated data center environment. In such embodiments, a user can use the user interface to configure a specific data center environment in which SUT 118 will operate or interact with and can monitor performance of both SUT 118 and the performance of the emulated switches that comprise the emulated data center environment.
  • In some embodiments, testing applications 114 may include or utilize a traffic generator. For example, a traffic generator may be any suitable entity or entities (e.g., software executing on a processor, an ASIC, an FPGA, or a combination of software, an ASIC, or an FPGA) for performing one or more aspects associated with generating or synthesizing test sessions, test cases, or related test packets. In this example, the traffic generator may be configured to utilize user input and predefined test case templates or related data to generate one or more test cases and/or test sessions.
  • In some embodiments, testing applications 114 may include or utilize a network visibility analyzer and may be configurable by TC 104 and/or based on an emulated switching environment or topology. For example, a network visibility analyzer may be any suitable entity or entities (e.g., software executing on a processor, an ASIC, an FPGA, or a combination of software, an ASIC, or an FPGA) for maintaining network visibility (e.g., using virtual or physical probes or network taps). In this example, virtual taps or software may be configured to emulate and/or provide switch metrics or other information (e.g., network telemetry, switch and/or link status information, etc.) associated with one or more elements (e.g., emulated switches) of an emulated switching environment. Continuing with this example, the network visibility analyzer may generate performance reports or test analysis reports associated with SUT 118, e.g., by utilizing the switch metrics or other information associated with packets that pass through or are generated by SUT 118.
  • ASIC switch(es) 108 may be any suitable entity or entities comprising one or more ASICs (and hardware, firmware, and/or software) for performing one or more functions associated with network switching. For example, ASIC switch(es) 108 may utilize an ASIC pipeline for performing frame or packet forwarding, e.g., sending a packet received from one port out another port of the switch. In some embodiments, various resources (e.g., lookup tables or match-action tables used for forwarding decisions, traffic manager buffer memory, traffic manager logical queues, etc.) of ASIC switch(es) 108 may managed and/or allocated to provide virtualized or emulated switches by SARA 106.
  • Ports 110 may include or utilize any suitable entity or entities (e.g., one or more network interface cards (NICs), pluggable jacks, physical processors, transceiver modules, direct-attach cables (DACs) and/or other hardware) for sending or receiving communications. For example, test system 102 may use one or more multiple ports 110 (e.g., physical connection ports) for receiving and sending various types of test packets or related data units; such as IP messages, Ethernet frames, Ethernet messages, packet data units (PDUs), datagrams, user datagram protocol (UDP) messages, TCP messages, IP version 4 (v4) messages, IP version 6 (v6) messages, stream control transmission protocol (SCTP) messages, real-time transport protocol (RTP) messages, or reliable data protocol (RDP) messages, messages using a tunneling protocol, and/or other data units.
  • In some embodiments, ports 110 may include user traffic ports and management ports. For example, user traffic ports may be associated with processing, sending, and/or receiving test traffic, non-test traffic, and/or in-band management related communications and management ports may be associated with processing, sending, and/or receiving out-of-band management related communications.
  • In some embodiments, ports 110 may include multiple port modules or groups of ports for interacting with SUT 118. For example, depending on a test operator's configuration settings or a particular test session setup, SARA 106 may allocate a portion of physical resources to each switch that is emulated, where the emulated switches are collectively used to mimic a data center switching fabric. In some embodiments, each emulated switch may be allocated or associated with one or more of ports 110 and the port association may be static or semi-static (e.g., particular ports may be assigned to an emulated switch for a given test session).
  • SARA 106 may be any suitable entity or entities (e.g., software executing on a processor, an FPGA, an ASIC, or a combination of software, an FPGA, and/or an ASIC) for performing one or more aspects associated with allocating and managing emulated switches. In some embodiments, SARA 106 may allocate and manage resources of ASIC switch(es) 108 for providing emulated switches without requiring a custom ASIC pipeline. In some embodiments, SARA 106 can be external or internal to ASIC switch(es) 108.
  • In some embodiments, SARA 106 may utilize one or more management ports or related interfaces for communicating with a controller or related applications (e.g., TC 104 and/or testing applications 114) and/or for communicating with ASIC switch(es) 108. For example, TC 104 or a related application may communicate with SARA 106 via an out-of-band management port or related interface. In this example, SARA 106 may send instructions or other communications to ASIC switch(es) 108 via another management port or related interface.
  • In some embodiments, SARA 106 may include a virtual to physical adapter 112. Virtual to physical adapter 112 may be any suitable entity or entities (e.g., software executing on a processor, an FPGA, a ASIC, or a combination of software, an FPGA, and/or an ASIC) for converting and/or translating communications to refer to virtual or physical resources depending on the destination. For example, when requesting information about available switching resources via SARA 106, testing applications 114 and/or SUT 118 may “see” a set of emulated switches each with a subset of resources instead of ASIC switch(es) 108. In this example, virtual to physical adapter 112 may translate information about virtual resources into information physical resources of a single ASIC switch (e.g., Tomahawk 3) and vice versa so that interacting nodes may remain unaware of the underlying ASIC switch(es) 108 or related switch resources.
  • In some embodiments, SARA 106 and/or virtual to physical adapter 112 may reside between a native device interface and interacting entities (e.g., SUT 118, testing applications 114, or external devices) and may act as a communications proxy or agent using a virtual interface. For example, SUT 118 may include a network switch controller that configures switching resources by sending, via a virtual interface associated with SARA 106, configuration requests for requesting and/or configuring one or more switches. In this example, SARA 106 and/or virtual to physical adapter 112 may translate the configuration requests received via the virtual interface into one or more corresponding requests for transmission via a native switch interface, where the corresponding requests include commands for configuring appropriate physical resources of underlying ASIC switch(es) 108. Further, SARA 106 and/or virtual to physical adapter 112 may translate switch performance results coming from a native switch interface into virtualized results (e.g., link status or counter values for a physical port ‘60’ may be changed to values for a virtual port ‘v1’ on an emulated switch TORSW1) before sending the virtualized results to the network switch controller via the virtual interface.
  • In some embodiments, SARA 106 and/or virtual to physical adapter 112 may create, store, and/or use switch ASIC emulation data (e.g., physical to virtual port mapping, physical buffers to virtual buffers mapping and resource allocation, etc.) and related policies (e.g., virtual and real port speed, virtual and real throughput, topologies, forwarding rules, classes of service, etc.) for sharing physical switch resources amongst the emulated switches. For example, by using port mapping data and policies stored in data storage 116, virtual ports ‘v1, ‘v2’, ‘v3’ on an emulated switch ‘TORSW1’ may be translated into physical ports ‘60’, ‘61’, ‘62’, respectively. In this example, configuration commands for setting speed of port ‘v1’ can be translated so that the speed of corresponding physical port ‘60’ is set. Continuing with this example, to query the statistical counters for virtual port ‘v1’, the statistical counters for physical port ‘60’ may be queried.
  • In some embodiments, SARA 106 and/or virtual to physical adapter 112 may utilize a modified proprietary (e.g., vendor) API (e.g., a vendor's software development kit (SDK) or by utilizing a wrapper API that interacts with a vendor API. For example, by using a wrapper API, SARA 106 can manage a virtualized or emulated fleet of switches using off-the-shelf or commodity ASICs with NOSes that utilize a proprietary or vendor API.
  • In some embodiments, SARA 106 and/or virtual to physical adapter 112 may utilize a custom adaptor that handles certain applications or functions which may involve a subset of resource management and mapping requirements than a standard switching API. For example, by using a custom adaptor, SARA 106 can manage a virtualized or emulated fleet of switches for certain use cases using off-the-shelf or commodity ASICs.
  • In some embodiments, test system 102 or entities thereof (e.g., TC 104, testing applications 114, and/or SARA 106) may include functionality for accessing data storage 116. Data storage 116 may be any suitable entity or entities (e.g., a storage device, a non-transitory computer readable medium, or a storage system) for maintaining or storing information related to switch ASIC emulation, network testing, or related test analysis. For example, data storage 116 may include switch ASIC emulation data (e.g., physical to virtual port mapping, physical buffers to virtual buffers mapping, etc.) and related policies (e.g., virtual and real port speed, virtual and real throughput, topologies, forwarding rules, classes of service, etc.) for sharing physical switch resources amongst the emulated switches. Data storage 116 may also include test traffic models, test cases, test session data, topology information for emulated switching environments and/or for SUT 118, and/or other information usable for generating performance metrics (e.g., statistics) associated with one or more aspects of SUT 118. In some embodiments, data storage 116 may be located at test system 102, another node, or distributed across multiple platforms or devices.
  • It will be appreciated that FIG. 1 is for illustrative purposes and that various depicted entities, their locations, and/or their functions described above in relation to FIG. 1 may be changed, altered, added, or removed. For example, a device (e.g., a computer including at least one processor coupled to a memory) may include functionality of TC 104, SARA 106, and testing applications 114.
  • FIG. 2 is a diagram illustrating an example emulated switching environment 200 usable for network testing. Emulated switching environment 200 may represent an emulated data center environment or a network of switches for forwarding packets from or to SUT 118 or other entities. For example, emulated switching environment 200 may be based on user input and/or predetermined environment templates or data models, e.g., stored in data storage 116.
  • Referring to FIG. 2, emulated switching environment 200 may represent a 3-stage Clos switching network comprising different stages of emulated switches, e.g., stage one may include top of rack switches (TORSWs) 202-208, stage two may include cluster or pod switches (PODSWs) 210-212, and stage three may include a spine switch (SPSW) 214 and may be implemented using SARA 106 and physical resources of one or more ASIC switch(es) 108. For example, TORSWs 202-208 may represent or emulate switches that are connected to multiple servers (e.g., located within a rack or nearby rack), PODSWs 210-212 may represent or emulate aggregation switches that are connected to multiple TORSWs, and SPSW 214 may represent or emulate a higher-level aggregation switch that is connected to multiple PODSWs.
  • In some embodiments, some physical ports of ASIC switch(es) 108 may be associated with different emulated switches and may utilize loopback interfaces or internal interfaces for emulating communications between some emulated switches, while other emulated switches (e.g., TORSWs 202-208) may utilize physical interfaces and/or physical cabling to communicate with SUT 118 or portions thereof.
  • In some embodiments, SUT 118 may represent or include a set of application server groups 216-222, each representing one or more servers and/or applications. For example, application server group 1 216 may include multiple servers (e.g., 16 or more servers in a single rack), each having one or more connections to a TOR switch. In some examples, a server of application server groups 216-222 may includes multiple applications or perform different services (e.g., machine learning (M/L), storage offload, search engines, webpages, video streaming, email, etc.) for users or may perform similar services for different sets of users. In some examples, a server of application server groups 216-222 may act as a client to another server.
  • In some embodiments, each of application server groups 216-222 may be connected (e.g., physically cabled) to a different set of physical ports 110 of test system 102, where each set of physical ports 110 is assigned or allocated to a particular emulated switch. For example, SARA 106 may assign physical ports ‘60’, ‘61’, and 62’ to an emulated switch ‘TORSW1’ and may virtualize those physical ports as ‘v1, ‘v2’, and ‘v3’, respectively. In this example, applications and/or servers in application server group 1 216 may be communicatively coupled to one or more of the virtual ports of the emulated switch ‘TORSW1’.
  • It will be appreciated that FIG. 2 is for illustrative purposes and that various depicted entities, their locations, and/or their functions described above in relation to FIG. 2 may be changed, altered, added, or removed.
  • FIG. 3 is a diagram illustrating example switching configuration information 300. In some embodiments, configuration information 300 may be accessed and/or stored by TC 104 and/or SARA 106 using one or more data structures. In some embodiments, configuration information 300 may include any suitable information for mapping virtual ports associated with emulated switching environment 200 to physical ports of physical ASIC switch(es) 108. In some embodiments, configuration information 300 may be stored or maintained in data storage 116 and may be usable for translating port information or related information in switch configuration commands, performance metrics, and/or other communications.
  • Referring to FIG. 3, configuration information 300 may be depicted using a table representing associations between a topology identifier (TID) and a corresponding topology description. In some embodiments, a TID may include any suitable identifier, such as one or more numbers or values, usable for identifying a switching topology or emulated switching environment. For example, each switching topology or emulated switching environment provided by a test operator or stored for testing may have a different, unique TID, e.g., 1, 2, 3, and 4, respectively.
  • In some embodiments, a topology description may include information for describing or defining an emulated switching environment, e.g., emulated switching environment 200. For example, a topology description may indicate the type of switching environment including the number of stages, the types and number of emulated switches and ports at each stage, along with various characteristics (e.g., port speeds, link speeds, forwarding rules, throughput limits, etc.) that can be used to emulate or virtualize the switching environment described.
  • It will be appreciated that configuration information 300 in FIG. 3 is for illustrative purposes and that different and/or additional information may also be stored or maintained. Further, it will be appreciated that configuration information 300 may be stored in various data structures, memories, media, and/or in one or more locations.
  • FIG. 4 is a diagram illustrating example port mapping data 400 for mapping virtual ports of emulated switches (e.g., TORSWs 202-208) to physical ports of physical ASIC switch(es) 108. In some embodiments, port mapping data 400 may be accessed and/or stored by TC 104 and/or SARA 106 using one or more data structures. In some embodiments, port mapping data 400 may include any suitable information for mapping virtual ports associated with emulated switching environment 200 to physical ports of physical ASIC switch(es) 108. In some embodiments, port mapping data 400 may be stored or maintained in data storage 116 and may be usable for translating port information or related information in switch configuration commands, performance metrics, and/or other communications.
  • Referring to FIG. 4, port mapping data 400 may be depicted using a table representing associations between virtual port information and physical port information. For example, each row or association may include a TID, an emulated switch identifier (ESID), a virtual port number, and a corresponding physical switch identifier (PSID) and a physical port number.
  • In some embodiments, a TID may include any suitable identifier, such as one or more numbers or values, usable for identifying a switching topology or emulated switching environment. For example, a test operator may select a 3-stage Clos network environment with particular characteristics to emulate for a first test session, a 3-stage Clos network environment with different characteristics to emulate for a second test session, a 5-stage Clos network environment with particular characteristics to emulate for a third test session, and a 7-stage Clos network environment with particular characteristics to emulate for a fourth test session. In this example, each switching topology or emulated switching environment may have a different, unique TID, e.g., 1, 2, 3, and 4, respectively.
  • In some embodiments, an ESID may include any suitable identifier, such as one or more numbers or values, usable for identifying an emulated switch. For example, emulated switching environment 200 may have seven emulated switches, each switch having a unique name and/or number, e.g., ‘TORSW1’, ‘A’, ‘234553242’, etc. In some embodiments, ESIDs may be unique within a topology or an emulated switching environment. In some embodiments, ESID may be unique amongst multiple (or even all) defined topologies or emulated switching environments.
  • In some embodiments, a virtual port number may include any suitable identifier, such as one or more numbers or values, usable for identifying a port of an emulated switch. For example, an emulated switch ‘PODSW1’ of emulated switching environment 200 may have multiple virtual ports, each having a unique name and/or number at least within that emulated switch, e.g., ‘v1, ‘v2’, ‘v3’, etc. In some embodiments, virtual port numbers may be unique within a topology or an emulated switching environment. In some embodiments, virtual port numbers may be unique amongst multiple (or even all) defined topologies or emulated switching environments.
  • In some embodiments, an ESID may include any suitable identifier, such as one or more numbers or values, usable for identifying a physical switch, e.g., physical ASIC switch(es) 108. For example, test system 102 may have one or two physical ASIC switch(es) 108, each switch having a unique name and/or number, e.g., ‘SW1, ‘A’, ‘234553242’, etc. In some embodiments, PSIDs may be unique within a test system or network. In some embodiments, ESID may be unique amongst multiple (or even all) networks controlled by an operator or service provider.
  • In some embodiments, a physical port number may include any suitable identifier, such as one or more numbers or values, usable for identifying a port of physical ASIC switch(es) 108. For example, physical ASIC switch(es) 108 may have multiple physical traffic ports, each having a unique name and/or number at least within each physical switch, e.g., ‘60’, ‘61’, ‘62’, etc. In some embodiments, physical port numbers may be unique within each of physical ASIC switch(es) 108. In some embodiments, physical port numbers may be unique amongst multiple (or even all) physical ASIC switch(es) 108.
  • In some embodiments, e.g., where multiple emulated switching environments (e.g., for different test sessions or network configurations) are stored, a TID, an ESID, and a virtual port number may be used as a combination key or value for identifying a corresponding physical switch and port. In some embodiments, e.g., where one emulated switching environment 200 is stored, an ESID and a virtual port number may be used as a combination key or value for identifying a corresponding physical switch and port. In some embodiments, e.g., where each virtual port number is unique in emulated switching environment 200, a virtual port number may be used as a combination key or value for identifying a corresponding physical switch and port.
  • It will be appreciated that port mapping data 400 in FIG. 4 is for illustrative purposes and that different and/or additional information may also be stored or maintained. Further, it will be appreciated that port mapping data 400 may be stored in various data structures, memories, media, and/or in one or more locations.
  • FIG. 5 is a diagram illustrating an example process 500 for network testing using switch emulation. In some embodiments, process 500, or portions thereof, may be performed by or at test system 102, TC 104, SARA 106, ASIC switch(es) 108, and/or another node or module (e.g., a network test controller). In some embodiments, process 500 may include steps 502-506.
  • Referring to process 500, in step 502, configuration information may be received for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment.
  • In some embodiments, receiving configuration information may include providing a user interface for defining emulated switching environment 200 involving the emulated switches.
  • In step 504, the emulated switching environment including allocating, using a switch ASIC resource allocator, resources of at least one physical ASIC switch to multiple emulated switches may be configured using the configuration information.
  • In step 508, a test session for testing a SUT using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session may be configured using the configuration information.
  • In some embodiments, e.g., after configuring a network test scenario and a related test session, the test session may be initiated. For example, initiating the test session may include generating and sending, using a traffic generator, test traffic via the emulated switching environment. In this example, the test traffic may include background test traffic that traverses or impacts the emulated switching environment but does not traverse the SUT. In another example, test traffic may traverse the emulated switching environment on it way to or from the SUT.
  • In some embodiments, e.g., during or after a test session, a performance query for accessing performance information about emulated switching environment 200 may be received from a requester (e.g., a test operator or a related system). In some embodiments, emulated switching environment 200 may be implemented using at least one physical ASIC switch.
  • In some embodiments, emulated switching environment 200 may include a first emulated switch for communications involving a first set of physical ports connecting a first portion of SUT 118 and the network test system and a second emulated switch for communications involving a second set of physical ports connecting a second portion of SUT 118 and the network test system. In some embodiments, a first emulated switch or a second emulated switch appear as a rack switch to SUT 118.
  • In some embodiments, a first portion of SUT 118 may include a first network node, a first server, a first network interface card, a first application server, or a first group of servers and wherein a second portion of SUT 118 may include a second network node, a second server, a second network interface card, a second application server, or a second group of servers.
  • In some embodiments, a performance query from a requester may be translated using physical to virtual resource mapping information into at least one corresponding information request that refers to physical resources of the at least one physical ASIC switch associated with emulated switching environment 200. In such embodiments, the at least one corresponding information request may be sent to the at least one physical ASIC switch or a related controller.
  • In some embodiments, a response to an information request may be received from a physical ASIC switch or a related controller and may contain switch performance information associated with the at least one corresponding information request.
  • In some embodiments, switch performance information from a physical ASIC switch or a related controller may be translated using the physical to virtual resource mapping information to the performance information about emulated switching environment 200. In such embodiments, the performance information about emulated switching environment 200 may be provided to the requester. For example, a requester may a network controller, an NMS, an NOS, SUT 118, an SDN controller, a test operator, or another entity.
  • In some embodiments, prior to receiving the performance query, the network test system may configure and initiate a test session for testing SUT 118.
  • In some embodiments, configuring the test session may include configuring emulated switching environment 200 including accessing topology information describing an emulated network, an emulated device, an emulated host, a traffic generator, one or more physical or virtual connections, emulated switching environment 200, or SUT 118.
  • In some embodiments, configuring the test session may include accessing topology information describing an emulated network, an emulated device, an emulated host, a traffic generator, one or more physical or virtual connections, emulated switching environment 200, or SUT 118.
  • In some embodiments, configuring the test session may include configuring a traffic generator for generating test traffic based on predetermined or learned traffic patterns.
  • In some embodiments, configuring the test session may include configuring a network visibility analyzer for collecting, analyzing, or reporting emulated switching environment information, e.g., emulated switch status information or telemetry information.
  • In some embodiments, emulated switching environment 200 may include a Clos network environment, a multi-stage network environment, or a multi-tier network environment.
  • In some embodiments a test session involving SARA 106 and a first portion of SUT 118 and a second portion of SUT 118 may comprise receiving, by SARA 106 and from the first portion, a communication addressed to the second portion; and emulating, using SARA 106, forwarding of the communication to the second portion via emulated switching environment 200, wherein emulating includes translating a virtual port of the second emulated switch to a physical port of the at least one physical ASIC switch connected to the second portion and sending, via the physical port of the at least one physical ASIC switch, the communication to the second portion.
  • In some embodiments, forwarding a communication to the second portion via emulated switching environment 200 may be emulated using SARA 106, wherein emulating may include translating a virtual port of the second emulated switch to a physical port of the at least one physical ASIC switch connected to the second portion and sending, via the physical port of the at least one physical ASIC switch, the communication to the second portion.
  • In some embodiments, emulating forwarding may include using one or more loopback interfaces on at least one physical ASIC switch.
  • In some embodiments, TC 104, testing applications 114, SARA 106, and/or other test system entities may communicate via a test system API or a related server. In such embodiments, the test system API or the related server may convert or translate higher-level instructions (e.g., a gRPC API request for performance information) or data models into lower level instructions (e.g., an ASIC register query) or data models for the physical ASIC switch.
  • It will be appreciated that process 500 is for illustrative purposes and that different and/or additional actions may be used. It will also be appreciated that various actions described herein may occur in a different order or sequence.
  • It should be noted that test system 102, TC 104, SARA 106, computing environment 100, and/or functionality described herein may constitute one or more special purpose computing devices. Further, test system 102, TC 104, SARA 106, computing environment 100, and/or functionality described herein can improve the technological field of testing networks and related nodes by providing mechanisms for switch ASIC emulation, e.g., emulating emulated switches using one or more physical ASIC switches and a switch ASIC resource allocator.
  • It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation, as the subject matter described herein is defined by the claims as set forth hereinafter.

Claims (20)

What is claimed is:
1. A method for network testing using switch emulation, the method comprising:
at a network test system implemented using at least one processor:
receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment;
configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and
configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
2. The method of claim 1, the method comprising:
initiating the test session, wherein initiating the test session includes generating and sending, using a traffic generator, test traffic via the emulated switching environment; and
during or after the test session:
receiving, from a requester, a performance query for accessing performance information about the emulated switching environment, wherein the emulated switching environment is implemented using at least one physical ASIC switch, wherein the emulated switching environment includes a first emulated switch for communications involving a first set of physical ports connecting a first portion of the SUT and the network test system and a second emulated switch for communications involving a second set of physical ports connecting a second portion of the SUT and the network test system;
translating, using physical to virtual resource mapping information, the performance query into at least one corresponding information request that refers to physical resources of the at least one physical ASIC switch associated with the emulated switching environment;
sending the at least one corresponding information request to the at least one physical ASIC switch or a related controller;
receiving a response containing switch performance information associated with the at least one corresponding information request;
translating, using the physical to virtual resource mapping information, the switch performance information to the performance information about the emulated switching environment; and
providing the performance information about the emulated switching environment to the requester.
3. The method of claim 2 wherein the test session comprises:
receiving, by the switch ASIC resource allocator and from the first portion, a communication addressed to the second portion; and
emulating, using the switch ASIC resource allocator, forwarding of the communication to the second portion via the emulated switching environment, wherein emulating includes translating a virtual port of the second emulated switch to a physical port of the at least one physical ASIC switch connected to the second portion and sending, via the physical port of the at least one physical ASIC switch, the communication to the second portion.
4. The method of claim 3 wherein emulating the forwarding includes using one or more loopback interfaces on the at least one physical ASIC switch.
5. The method of claim 2 wherein the traffic generator, the switch ASIC resource allocator, or other test system entities communicate via a test system API or a related server.
6. The method of claim 5 wherein the test system API or the related server converts or translates higher-level instructions or data models into lower level instructions or data models for the physical ASIC switch.
7. The method of claim 2 wherein the first portion of the SUT includes a first network node, a first server, a first network interface card, a first application server, or a first group of servers and wherein the second portion of the SUT includes a second network node, a second server, a second network interface card, a second application server, or a second group of servers.
8. The method of claim 1 wherein the emulated switching environment includes a Clos network environment, a multi-stage network environment, or a multi-tier network environment.
9. The method of claim 1 wherein configuring the test session includes configuring a traffic generator for generating test traffic based on predetermined or learned traffic patterns;
wherein configuring the network visibility infrastructure includes configuring a network visibility analyzer for collecting, analyzing, or reporting emulated switching environment information;
wherein the topology information defining the emulated switching environment includes information about the emulated switches, an emulated host, one or more physical or virtual connections associated with the emulated switching environment, or one or more physical or virtual connections associated with the SUT; or
wherein receiving configuration information for configuring the network testing scenario includes providing a user interface for defining the emulated switching environment involving the emulated switches.
10. A system for network testing using switch emulation, the system comprising:
at least one processor;
a network test system implemented using the at least one processor, wherein the test system is configured for:
receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment;
configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and
configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
11. The system of claim 10, wherein the test system is further configured for:
initiating the test session, wherein initiating the test session includes generating and sending, using a traffic generator, test traffic via the emulated switching environment; and
during or after the test session:
receiving, from a requester, a performance query for accessing performance information about the emulated switching environment, wherein the emulated switching environment is implemented using at least one physical ASIC switch, wherein the emulated switching environment includes a first emulated switch for communications involving a first set of physical ports connecting a first portion of the SUT and the network test system and a second emulated switch for communications involving a second set of physical ports connecting a second portion of the SUT and the network test system;
translating, using physical to virtual resource mapping information, the performance query into at least one corresponding information request that refers to physical resources of the at least one physical ASIC switch associated with the emulated switching environment;
sending the at least one corresponding information request to the at least one physical ASIC switch or a related controller;
receiving a response containing switch performance information associated with the at least one corresponding information request;
translating, using the physical to virtual resource mapping information, the switch performance information to the performance information about the emulated switching environment; and
providing the performance information about the emulated switching environment to the requester.
12. The system of claim 11 wherein the test session comprises:
receiving, by the switch ASIC resource allocator and from the first portion, a communication addressed to the second portion; and
emulating, using the switch ASIC resource allocator, forwarding of the communication to the second portion via the emulated switching environment, wherein emulating includes translating a virtual port of the second emulated switch to a physical port of the at least one physical ASIC switch connected to the second portion and sending, via the physical port of the at least one physical ASIC switch, the communication to the second portion.
13. The system of claim 12 wherein emulating the forwarding includes using one or more loopback interfaces on the at least one physical ASIC switch.
14. The system of claim 11 wherein the traffic generator, the switch ASIC resource allocator, or other test system entities communicate via a test system API or a related server.
15. The system of claim 14 wherein the test system API or the related server converts or translates higher-level instructions or data models into lower level instructions or data models for the physical ASIC switch.
16. The system of claim 11 wherein the first portion of the SUT includes a first network node, a first server, a first network interface card, a first application server, or a first group of servers and wherein the second portion of the SUT includes a second network node, a second server, a second network interface card, a second application server, or a second group of servers.
17. The system of claim 10 wherein the emulated switching environment includes a Clos network environment, a multi-stage network environment, or a multi-tier network environment.
18. The system of claim 10 wherein configuring the test session includes configuring a traffic generator for generating test traffic based on predetermined or learned traffic patterns;
wherein configuring the network visibility infrastructure includes configuring a network visibility analyzer for collecting, analyzing, or reporting emulated switching environment information;
wherein the topology information defining the emulated switching environment includes information about the emulated switches, an emulated host, one or more physical or virtual connections associated with the emulated switching environment, or one or more physical or virtual connections associated with the SUT; or
wherein receiving configuration information for configuring the network testing scenario includes providing a user interface for defining the emulated switching environment involving the emulated switches.
19. A non-transitory computer readable medium having stored thereon executable instructions embodied in the computer readable medium that when executed by at least one processor of a network test system cause the network test system to perform steps comprising:
receiving configuration information for configuring a network testing scenario comprising an emulated switching environment, wherein the configuration information includes topology information defining the emulated switching environment;
configuring, using the configuration information, the emulated switching environment including allocating, using a switch application-specific integrated circuit (ASIC) resource allocator, resources of at least one physical ASIC switch to multiple emulated switches; and
configuring, using the configuration information, a test session for testing a system under test (SUT) using the emulated switching environment and a network visibility infrastructure for obtaining performance information associated with the test session.
20. The non-transitory computer readable medium of claim 19, performing additional steps comprising:
initiating the test session, wherein initiating the test session includes generating and sending, using a traffic generator, test traffic via the emulated switching environment; and
during or after the test session:
receiving, from a requester, a performance query for accessing performance information about the emulated switching environment, wherein the emulated switching environment is implemented using at least one physical ASIC switch, wherein the emulated switching environment includes a first emulated switch for communications involving a first set of physical ports connecting a first portion of the SUT and the network test system and a second emulated switch for communications involving a second set of physical ports connecting a second portion of the SUT and the network test system;
translating, using physical to virtual resource mapping information, the performance query into at least one corresponding information request that refers to physical resources of the at least one physical ASIC switch associated with the emulated switching environment;
sending the at least one corresponding information request to the at least one physical ASIC switch or a related controller;
receiving a response containing switch performance information associated with the at least one corresponding information request;
translating, using the physical to virtual resource mapping information, the switch performance information to the performance information about the emulated switching environment; and
providing the performance information about the emulated switching environment to the requester.
US17/067,627 2020-10-09 2020-10-09 Methods, systems, and computer readable media for network testing using switch emulation Active US11323354B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/067,627 US11323354B1 (en) 2020-10-09 2020-10-09 Methods, systems, and computer readable media for network testing using switch emulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/067,627 US11323354B1 (en) 2020-10-09 2020-10-09 Methods, systems, and computer readable media for network testing using switch emulation

Publications (2)

Publication Number Publication Date
US20220116303A1 true US20220116303A1 (en) 2022-04-14
US11323354B1 US11323354B1 (en) 2022-05-03

Family

ID=81077984

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/067,627 Active US11323354B1 (en) 2020-10-09 2020-10-09 Methods, systems, and computer readable media for network testing using switch emulation

Country Status (1)

Country Link
US (1) US11323354B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220247661A1 (en) * 2021-01-29 2022-08-04 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US20220360516A1 (en) * 2020-12-31 2022-11-10 Vmware, Inc. Generation of test traffic configuration based on real-world traffic
US11582290B2 (en) * 2020-01-23 2023-02-14 Hewlett Packard Enterprise Development Lp Switch event ordering
US20230115762A1 (en) * 2021-10-11 2023-04-13 Keysight Technologies, Inc. Methods, systems, and computer readable media for recycling background traffic in a test environment
US20230171177A9 (en) * 2021-07-02 2023-06-01 Keysight Technologies, Inc. Methods, systems, and computer readable media for network traffic generation using machine learning
US11729087B2 (en) 2021-12-03 2023-08-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for providing adaptive background test traffic in a test environment
US11765068B2 (en) 2021-12-22 2023-09-19 Keysight Technologies, Inc. Methods, systems, and computer readable media for programmable data plane processor based traffic impairment
GB2620841A (en) * 2022-06-15 2024-01-24 Keysight Technologies Inc Methods, systems, and computer readable media for processing control plane messages for emulated data center switching fabric
US11962434B2 (en) 2022-07-08 2024-04-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for capturing dropped packets at a switching fabric emulator

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11398968B2 (en) 2018-07-17 2022-07-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure

Family Cites Families (331)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792753A (en) 1986-02-21 1988-12-20 Nippon Board Computer Co., Ltd. Local area network protocol analyzer
US5247517A (en) 1989-10-20 1993-09-21 Novell, Inc. Method and apparatus for analyzing networks
US5657438A (en) 1990-11-27 1997-08-12 Mercury Interactive (Israel) Ltd. Interactive system for developing tests of system under test allowing independent positioning of execution start and stop markers to execute subportion of test script
JPH06508008A (en) 1991-06-12 1994-09-08 ヒューレット・パッカード・カンパニー Method and apparatus for testing packet-based networks
EP0528075A1 (en) 1991-08-19 1993-02-24 ALCATEL BELL Naamloze Vennootschap Performance measurement device for a telecommunication path and method used therein
US5390314A (en) 1992-10-09 1995-02-14 American Airlines, Inc. Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification
ATE211564T1 (en) 1993-07-28 2002-01-15 3Com Corp NETWORK STATION WITH MULTIPLE NETWORK ADDRESSES
US5974457A (en) 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic
US5583792A (en) 1994-05-27 1996-12-10 San-Qi Li Method and apparatus for integration of traffic measurement and queueing performance evaluation in a network system
US5600632A (en) 1995-03-22 1997-02-04 Bell Atlantic Network Services, Inc. Methods and apparatus for performance monitoring using synchronized network analyzers
US5671351A (en) 1995-04-13 1997-09-23 Texas Instruments Incorporated System and method for automated testing and monitoring of software applications
JP3574231B2 (en) 1995-08-21 2004-10-06 富士通株式会社 Computer network simulator
US5568471A (en) 1995-09-06 1996-10-22 International Business Machines Corporation System and method for a workstation monitoring and control of multiple networks having different protocols
US5787147A (en) 1995-12-21 1998-07-28 Ericsson Inc. Test message generator in a telecommunications network
US5822520A (en) 1995-12-26 1998-10-13 Sun Microsystems, Inc. Method and apparatus for building network test packets
US6233256B1 (en) 1996-03-13 2001-05-15 Sarnoff Corporation Method and apparatus for analyzing and monitoring packet streams
JPH09270794A (en) 1996-03-29 1997-10-14 Mitsubishi Electric Corp Network management equipment
US5905713A (en) 1996-04-15 1999-05-18 Hughes Electronics Corporation Method and apparatus for analyzing digital multi-program transmission packet streams
US5812780A (en) 1996-05-24 1998-09-22 Microsoft Corporation Method, system, and product for assessing a server application performance
US5787253A (en) 1996-05-28 1998-07-28 The Ag Group Apparatus and method of analyzing internet activity
US6279124B1 (en) 1996-06-17 2001-08-21 Qwest Communications International Inc. Method and system for testing hardware and/or software applications
US5854889A (en) 1996-06-26 1998-12-29 Mci Worldcom, Inc. Method and system for heterogeneous telecommunications network testing
US5850388A (en) 1996-08-02 1998-12-15 Wandel & Goltermann Technologies, Inc. Protocol analyzer for monitoring digital transmission networks
US5838919A (en) 1996-09-10 1998-11-17 Ganymede Software, Inc. Methods, systems and computer program products for endpoint pair based communications network performance testing
JPH10190705A (en) 1996-10-22 1998-07-21 Sony Corp Transmission device/method and reception device/method
US5850386A (en) 1996-11-01 1998-12-15 Wandel & Goltermann Technologies, Inc. Protocol analyzer for monitoring digital transmission networks
US6031528A (en) 1996-11-25 2000-02-29 Intel Corporation User based graphical computer network diagnostic tool
US5974237A (en) 1996-12-18 1999-10-26 Northern Telecom Limited Communications network monitoring
GB2322258B (en) 1996-12-26 2001-05-30 Daewoo Electronics Co Ltd Method and apparatus for scheduling cells based on pre-synchronized frames
US5982852A (en) 1997-01-31 1999-11-09 3Com Corporation Line performance test system
US6173333B1 (en) 1997-07-18 2001-01-09 Interprophet Corporation TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols
US5978940A (en) 1997-08-20 1999-11-02 Mci Communications Corporation System method and article of manufacture for test operations
US6122670A (en) 1997-10-30 2000-09-19 Tsi Telsys, Inc. Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently
US5878032A (en) 1997-11-07 1999-03-02 Northern Telecom Limited Delay monitoring of telecommunication networks
US6148277A (en) 1997-12-18 2000-11-14 Nortel Networks Corporation Apparatus and method for generating model reference tests
US6108800A (en) 1998-02-10 2000-08-22 Hewlett-Packard Company Method and apparatus for analyzing the performance of an information system
US6408413B1 (en) 1998-02-18 2002-06-18 Texas Instruments Incorporated Hierarchical access of test access ports in embedded core integrated circuits
US6446121B1 (en) 1998-05-26 2002-09-03 Cisco Technology, Inc. System and method for measuring round trip times in a network using a TCP packet
GB2337903B (en) 1998-05-28 2000-06-07 3Com Corp Methods and apparatus for collecting storing processing and using network traffic data
US6295557B1 (en) 1998-06-30 2001-09-25 Cisco Technology, Inc. Apparatus for simulating internet traffic
US6363056B1 (en) 1998-07-15 2002-03-26 International Business Machines Corporation Low overhead continuous monitoring of network performance
US6321264B1 (en) 1998-08-28 2001-11-20 3Com Corporation Network-performance statistics using end-node computer systems
US6189031B1 (en) 1998-10-01 2001-02-13 Mci Communications Corporation Method and system for emulating a signaling point for testing a telecommunications network
US6317788B1 (en) 1998-10-30 2001-11-13 Hewlett-Packard Company Robot policies for monitoring availability and response of network performance as seen from user perspective
RU2001117235A (en) 1998-11-24 2003-05-27 Никсан DEVICE AND METHOD FOR COLLECTING AND ANALYSIS OF COMMUNICATION DATA
US6545979B1 (en) 1998-11-27 2003-04-08 Alcatel Canada Inc. Round trip delay measurement
US6891803B1 (en) 1998-12-18 2005-05-10 Sunrise Telecom, Inc. Telecommunications transmission test set
US6430617B1 (en) 1999-03-22 2002-08-06 Hewlett-Packard Co. Methods and systems for dynamic measurement of a system's ability to support data collection by network management system applications
US6526580B2 (en) 1999-04-16 2003-02-25 Digeo, Inc. Broadband data broadcasting service
US6507923B1 (en) 1999-04-19 2003-01-14 I-Tech Corporation Integrated multi-channel fiber channel analyzer
US6542854B2 (en) 1999-04-30 2003-04-01 Oracle Corporation Method and mechanism for profiling a system
US6526259B1 (en) 1999-05-27 2003-02-25 At&T Corp. Portable self-similar traffic generation models
US6678246B1 (en) 1999-07-07 2004-01-13 Nortel Networks Limited Processing data packets
US7342897B1 (en) 1999-08-07 2008-03-11 Cisco Technology, Inc. Network verification tool
US6621805B1 (en) 1999-10-25 2003-09-16 Hrl Laboratories, Llc Method and apparatus for multicasting real-time variable bit-rate traffic in wireless Ad-Hoc networks
CN1142491C (en) 2000-01-11 2004-03-17 国际商业机器公司 Frame system and method for testing server performance
US6845352B1 (en) 2000-03-22 2005-01-18 Lucent Technologies Inc. Framework for flexible and scalable real-time traffic emulation for packet switched networks
GB0007898D0 (en) 2000-03-31 2000-05-17 British Telecomm Apparatus for optimising configuration parameters of a network
US6601020B1 (en) 2000-05-03 2003-07-29 Eureka Software Solutions, Inc. System load testing coordination over a network
US20030009544A1 (en) 2000-06-05 2003-01-09 Wach Raymond S. Method of performing distributed load testing
US6990663B1 (en) 2000-06-08 2006-01-24 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
US7123616B2 (en) 2000-06-09 2006-10-17 Ixia Determining round-trip time delay
US6717917B1 (en) 2000-06-09 2004-04-06 Ixia Method of determining real-time data latency and apparatus therefor
US20030061506A1 (en) 2001-04-05 2003-03-27 Geoffrey Cooper System and method for security policy
US7587368B2 (en) 2000-07-06 2009-09-08 David Paul Felsher Information record infrastructure, system and method
US8380630B2 (en) 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US7117411B2 (en) 2000-10-27 2006-10-03 Tekelec Methods and systems for testing communications network components
US7304951B2 (en) 2000-11-21 2007-12-04 North Carolina State University Methods and systems for rate-based flow control between a sender and a receiver
EP1217811A1 (en) 2000-12-19 2002-06-26 Tektronix, Inc. Method and device for emulating a terminal in a telecommunications network with function selection using Windows user interface
US6654699B2 (en) 2000-12-29 2003-11-25 Microsoft Corporation Computer network testing system and method using client playback of edited network information
US6769054B1 (en) 2001-02-26 2004-07-27 Emc Corporation System and method for preparation of workload data for replaying in a data storage environment
US7222255B1 (en) 2001-02-28 2007-05-22 3Com Corporation System and method for network performance testing
US7143159B1 (en) 2001-03-12 2006-11-28 3Com Corporation Method for correlating and presenting network management data
US20020138226A1 (en) 2001-03-26 2002-09-26 Donald Doane Software load tester
US7483971B2 (en) 2001-05-04 2009-01-27 Intel Corporation Method and apparatus for managing communicatively coupled components using a virtual local area network (VLAN) reserved for management instructions
AU2002308616A1 (en) 2001-05-07 2002-11-18 Vitesse Semiconductor Corporation A system and a method for processing data packets or frames
US6865731B2 (en) 2001-05-30 2005-03-08 International Business Machines Corporation Method and computer program product for testing application program software
US7730528B2 (en) 2001-06-01 2010-06-01 Symantec Corporation Intelligent secure data manipulation apparatus and method
US7090749B2 (en) 2001-07-31 2006-08-15 International Business Machines Corporation Method and apparatus for simulating application workloads on an e-business application server
EP1289212A1 (en) 2001-08-28 2003-03-05 Lucent Technologies Inc. Electro-optic interface for parallel data transmission
US8914432B2 (en) 2001-10-01 2014-12-16 Ixia Real world traffic
US6792393B1 (en) 2001-12-03 2004-09-14 At&T Corp. System and method for diagnosing computer system operational behavior
US6782515B2 (en) 2002-01-02 2004-08-24 Cadence Design Systems, Inc. Method for identifying test points to optimize the testing of integrated circuits using a genetic algorithm
US20030139919A1 (en) 2002-01-23 2003-07-24 Adc Telecommunications Israel Ltd. Multi-user simulation
US7096264B2 (en) 2002-01-25 2006-08-22 Architecture Technology Corp. Network analyzer having distributed packet replay and triggering
US20030182408A1 (en) 2002-02-15 2003-09-25 Qinglong Hu Load test system for a server and method of use
US20040015600A1 (en) 2002-02-21 2004-01-22 Ashutosh Tiwary Workload post-processing and parameterization for a system for performance testing of N-tiered computer systems using recording and playback of workloads
US7010782B2 (en) 2002-04-04 2006-03-07 Sapphire Infotech, Inc. Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands
US7277395B2 (en) 2002-04-25 2007-10-02 Ixia Method and apparatus for wireless network load emulation
US7099438B2 (en) 2002-06-14 2006-08-29 Ixia Multi-protocol, multi-interface communications device testing system
US7418492B1 (en) 2002-06-20 2008-08-26 P-Cube Ltd. System and a method for testing network communication devices
US7313793B2 (en) 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7159184B2 (en) 2002-07-31 2007-01-02 Hewlett-Packard Development Company, L.P. Method and graphical user interface for creating a configuration file used to allocate computer system resources among workloads
ATE315859T1 (en) 2002-09-17 2006-02-15 Errikos Pitsos METHOD AND DEVICE FOR PROVIDING A LIST OF PUBLIC KEYS IN A PUBLIC KEY SYSTEM
US7743158B2 (en) 2002-12-04 2010-06-22 Ntt Docomo, Inc. Access network dynamic firewall
US7908130B2 (en) 2002-12-12 2011-03-15 Ixia Modelling aggregate transport layer network traffic behaviour with feedback containing packet loss information
US7366174B2 (en) 2002-12-17 2008-04-29 Lucent Technologies Inc. Adaptive classification of network traffic
US7899048B1 (en) 2003-01-15 2011-03-01 Cisco Technology, Inc. Method and apparatus for remotely monitoring network traffic through a generic network
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7840664B2 (en) 2003-05-21 2010-11-23 Ixia Automated characterization of network traffic
US7627669B2 (en) 2003-05-21 2009-12-01 Ixia Automated capturing and characterization of network traffic using feedback
US9020801B2 (en) 2003-08-11 2015-04-28 Scalemp Inc. Cluster-based operating system-agnostic virtual computing system
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7327686B2 (en) 2003-11-12 2008-02-05 Ixia Generating processed traffic
KR20050053447A (en) 2003-12-02 2005-06-08 엘지.필립스 엘시디 주식회사 Liquid crystal display device and the method thereof
KR101000923B1 (en) 2004-01-08 2010-12-13 삼성전자주식회사 Apparatus for setting macro of remote control and method thereof
US7328134B1 (en) 2004-02-26 2008-02-05 Sprint Communications Company L.P. Enterprise integration test tool
US7630862B2 (en) 2004-03-26 2009-12-08 Microsoft Corporation Load test simulator
US7945657B1 (en) 2005-03-30 2011-05-17 Oracle America, Inc. System and method for emulating input/output performance of an application
US7257811B2 (en) 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
KR100643321B1 (en) 2004-06-30 2006-11-10 삼성전자주식회사 Methods and apparatus for controlling the operation of a equalizer
US20060002305A1 (en) 2004-06-30 2006-01-05 International Business Machines Corporation Generation of stressed flow of packets
US7506338B2 (en) 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
WO2006029399A2 (en) 2004-09-09 2006-03-16 Avaya Technology Corp. Methods of and systems for network traffic security
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US7603372B1 (en) 2004-10-29 2009-10-13 Netapp, Inc. Modeling file system operation streams
US7873056B2 (en) 2004-11-18 2011-01-18 Nec Corporation Switch device, switching method and switch control program
DE602004027516D1 (en) 2004-12-03 2010-07-15 St Microelectronics Srl A method for managing virtual machines in a physical processing machine, a corresponding processor system and computer program product therefor
KR100587977B1 (en) 2004-12-14 2006-06-08 한국전자통신연구원 Packet scheduling method for real-time traffic transmission in mobile telecommunication systems
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
TW200629192A (en) 2005-02-03 2006-08-16 Sanyo Electric Co Random number generating circuit
US7818150B2 (en) 2005-03-11 2010-10-19 Hyperformix, Inc. Method for building enterprise scalability models from load test and trace test data
US7865908B2 (en) 2005-03-11 2011-01-04 Microsoft Corporation VM network traffic monitoring and filtering on the host
GB0516554D0 (en) 2005-08-11 2005-09-21 Ibm Method, apparatus and computer program for enabling monitoring of a resource
US7481361B2 (en) 2005-09-29 2009-01-27 International Business Machines Corporation Method and system for identifying unsafe synthetic transactions and modifying parameters for automated playback
US7519527B2 (en) 2005-10-31 2009-04-14 International Business Machines Corporation Method for a database workload simulator
US20070195776A1 (en) 2006-02-23 2007-08-23 Zheng Danyang R System and method for channeling network traffic
US20070213966A1 (en) 2006-03-13 2007-09-13 Finisar Corporation Traffic generator program
JP4849929B2 (en) 2006-03-28 2012-01-11 富士通株式会社 Scenario creation program
US7814495B1 (en) 2006-03-31 2010-10-12 V Mware, Inc. On-line replacement and changing of virtualization software
KR100735565B1 (en) 2006-05-17 2007-07-04 삼성전자주식회사 Method for detecting an object using structured light and robot using the same
US7823152B2 (en) 2006-06-06 2010-10-26 International Business Machines Corporation System and method for collaborative hosting of applications, virtual machines, and data objects
US20080044018A1 (en) 2006-07-31 2008-02-21 Scrimsher John P Method and system to detect and prevent computer network intrusion
US8068602B1 (en) 2006-09-29 2011-11-29 Verint Americas, Inc. Systems and methods for recording using virtual machines
KR100826670B1 (en) 2006-11-16 2008-05-02 한국전자통신연구원 Method of tunneling of mobile terminal for supporting ip mobility
US8381209B2 (en) 2007-01-03 2013-02-19 International Business Machines Corporation Moveable access control list (ACL) mechanisms for hypervisors and virtual machines and virtual port firewalls
US8554981B2 (en) 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8259720B2 (en) * 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
JP4978233B2 (en) 2007-02-22 2012-07-18 富士通セミコンダクター株式会社 Simulator development system and simulator development method
US20080221857A1 (en) 2007-03-05 2008-09-11 Andrea Casotto Method and apparatus for simulating the workload of a compute farm
US8181159B2 (en) 2007-03-29 2012-05-15 Microsoft Corporation Test automation using virtual machines
US8954397B2 (en) 2007-05-03 2015-02-10 Oracle International Corporation Creation and replay of a simulation workload using captured workloads
US7730492B1 (en) 2007-05-03 2010-06-01 Oracle America, Inc. Method and system for running multiple virtual machines in a single process
GB0712199D0 (en) 2007-06-23 2007-08-01 Calnex Solutions Ltd Network tester
US8145470B2 (en) 2007-06-27 2012-03-27 Microsoft Corporation Accelerated access device emulator access scheme in a hypervisor environment with child and root partitions
US8365184B2 (en) 2007-08-31 2013-01-29 Apple Inc. Multi-core resource utilization planning
US8131530B2 (en) 2007-09-28 2012-03-06 Oracle America, Inc. Mechanism for realistic application/network modeling using a workload description
US8191063B2 (en) 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US9294296B2 (en) 2007-10-31 2016-03-22 Hewlett Packard Enterprise Development Lp Automated test execution in a shared virtualized resource pool
US20090119542A1 (en) 2007-11-05 2009-05-07 Advantest Corporation System, method, and program product for simulating test equipment
US8244784B2 (en) 2008-04-09 2012-08-14 International Business Machines Corporation Generating a number based on mask and range constraints
JP5245539B2 (en) 2008-05-27 2013-07-24 富士通株式会社 Virtual machine I / O emulation mechanism
US7827438B2 (en) 2008-06-10 2010-11-02 Microsoft Corporation Distributed testing system and techniques
US7979225B2 (en) 2008-06-17 2011-07-12 Oracle America, Inc. Method and system of testing device sensitivity
US8230155B2 (en) 2008-06-26 2012-07-24 Microsoft Corporation Direct memory access filter for virtualized operating systems
US8086882B2 (en) 2008-06-29 2011-12-27 Microsoft Corporation Energy measurement techniques for computing systems
US9847953B2 (en) 2008-09-11 2017-12-19 Juniper Networks, Inc. Methods and apparatus related to virtualization of data center resources
US20100332212A1 (en) 2008-09-19 2010-12-30 Ori Finkelman Method and apparatus for sleep and wake of computer devices
US8402538B2 (en) 2008-12-03 2013-03-19 Electronics And Telecommunications Research Institute Method and system for detecting and responding to harmful traffic
US8661116B2 (en) 2008-12-15 2014-02-25 Verizon Patent And Licensing Inc. Network testing
US8572226B2 (en) 2008-12-17 2013-10-29 Sap Ag Enhancing network details using network monitoring scripts
US7979619B2 (en) 2008-12-23 2011-07-12 Hewlett-Packard Development Company, L.P. Emulating a line-based interrupt transaction in response to a message signaled interrupt
US8392916B2 (en) 2008-12-31 2013-03-05 International Business Machines Corporation Multiple layers of virtualization in a computing system
US8990801B2 (en) 2009-01-30 2015-03-24 Hewlett-Packard Development Company, L.P. Server switch integration in a virtualized system
EP2394394B1 (en) 2009-02-06 2016-12-07 Broadcom Corporation Network measurements and diagnostics
US8370835B2 (en) 2009-03-12 2013-02-05 Arend Erich Dittmer Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
JP5293580B2 (en) 2009-03-19 2013-09-18 日本電気株式会社 Web service system, web service method and program
US8146082B2 (en) 2009-03-25 2012-03-27 Vmware, Inc. Migrating virtual machines configured with pass-through devices
US8689211B2 (en) 2009-05-25 2014-04-01 International Business Machines Corporation Live migration of virtual machines in a computing environment
US8954487B2 (en) 2009-06-23 2015-02-10 Samsung Electronics Co., Ltd. Management server and method for providing cloud computing service
US9332498B2 (en) 2009-06-24 2016-05-03 Telefonaktiebolaget Lm Ericsson (Publ) Energy efficient base station entering sleep mode
US8731896B2 (en) 2009-07-02 2014-05-20 Spirent Communications, Inc. Virtual testbed for system verification test
US8949791B2 (en) 2009-07-08 2015-02-03 Vmware, Inc. Distributed software testing using cloud computing resources
US8234469B2 (en) 2009-07-09 2012-07-31 Microsoft Corporation Backup of virtual machines using cloned virtual machines
US9049271B1 (en) * 2009-07-16 2015-06-02 Teradici Corporation Switch-initiated congestion management method
US8478725B2 (en) 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
US8635395B2 (en) 2009-09-14 2014-01-21 Vmware, Inc. Method of suspending and resuming virtual machines
US8594392B2 (en) 2009-11-18 2013-11-26 Yahoo! Inc. Media identification system for efficient matching of media items having common content
US20110126193A1 (en) 2009-11-20 2011-05-26 Dell Products, Lp System and Method for Imaging and Provisioning of Information Handling System
US8271645B2 (en) 2009-11-25 2012-09-18 Citrix Systems, Inc. Systems and methods for trace filters by association of client to vserver to services
JP5794741B2 (en) 2009-11-25 2015-10-14 アクララ・テクノロジーズ・リミテッド・ライアビリティ・カンパニーAclara Technologies LLC. Random number generator
JP5549237B2 (en) 2010-01-21 2014-07-16 富士通株式会社 Test environment construction program, test environment construction method, and test apparatus
JP5493125B2 (en) 2010-02-05 2014-05-14 株式会社日立製作所 Virtualization method and computer
US8631404B2 (en) 2010-02-18 2014-01-14 Red Hat Israel, Ltd. Mechanism for downloading hypervisor updates via a virtual hardware device using existing virtual machine-host channels
US8990813B2 (en) 2010-03-29 2015-03-24 Red Hat, Inc. Automated virtual machine image deployment and testing by accessing downloadable test packages and dynamically-changing test parameters
WO2011120104A1 (en) * 2010-03-29 2011-10-06 Pascal Felique Method and apparatus for controlling and monitoring a vending machine
US8612633B2 (en) 2010-03-31 2013-12-17 Microsoft Corporation Virtual machine fast emulation assist
US8533531B2 (en) 2010-06-10 2013-09-10 Microsoft Corporation Multimedia hardware emulation for application testing
US8750119B2 (en) 2010-07-06 2014-06-10 Nicira, Inc. Network control apparatus and method with table mapping engine
WO2012020482A1 (en) 2010-08-11 2012-02-16 富士通株式会社 Backup method, information processing device, and program
US20120054740A1 (en) 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
US8898333B1 (en) 2010-08-31 2014-11-25 Juniper Networks, Inc. Methods and apparatus related to a virtual multi-hop network topology emulated within a data center
US9239765B2 (en) 2010-08-31 2016-01-19 Avaya Inc. Application triggered state migration via hypervisor
US20120060167A1 (en) 2010-09-08 2012-03-08 Salsburg Michael A Method and system of simulating a data center
US9213567B2 (en) 2010-10-01 2015-12-15 Futurewei Technologies, Inc. System and method for controlling the input/output of a virtualized network
JP5691390B2 (en) 2010-10-25 2015-04-01 サンケン電気株式会社 Power supply and program
US9183046B2 (en) * 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
JP5463267B2 (en) 2010-11-19 2014-04-09 株式会社日立製作所 Virtual computer system and virtual computer migration method
US8819678B2 (en) 2010-12-15 2014-08-26 Red Hat Israel, Ltd. Live migration of a guest from a source hypervisor to a target hypervisor
US8850430B2 (en) 2011-01-25 2014-09-30 International Business Machines Corporation Migration of virtual machines
US8805951B1 (en) 2011-02-08 2014-08-12 Emc Corporation Virtual machines and cloud storage caching for cloud computing applications
WO2012117453A1 (en) 2011-03-03 2012-09-07 株式会社日立製作所 Computer system and optimal deployment method for virtual computers in computer system
JP5585844B2 (en) 2011-03-25 2014-09-10 株式会社日立製作所 Virtual computer control method and computer
US8533714B2 (en) 2011-05-03 2013-09-10 International Business Machines Corporation Dynamic virtual machine domain configuration and virtual machine relocation management
US20120290695A1 (en) 2011-05-13 2012-11-15 International Business Machines Corporation Distributed Policy Service
JP2012243254A (en) 2011-05-24 2012-12-10 Intelligent Willpower Corp Virtual machine providing system
US8762113B2 (en) 2011-06-03 2014-06-24 Sony Computer Entertainment America Llc Method and apparatus for load testing online server systems
US9110703B2 (en) 2011-06-07 2015-08-18 Hewlett-Packard Development Company, L.P. Virtual machine packet processing
US9535817B2 (en) 2011-06-10 2017-01-03 Microsoft Technology Licensing, Llc Application development environment for portable electronic devices
US8761187B2 (en) 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
TWI476586B (en) 2011-07-13 2015-03-11 Inst Information Industry Cloud-based test system, method and computer readable storage medium storing thereof
US8813074B2 (en) 2011-08-05 2014-08-19 Vmware, Inc. Detecting and correcting network interruptions using network address translation
JP5648186B2 (en) 2011-08-22 2015-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Apparatus and method for generating data for replaying a transaction
US9065770B2 (en) 2011-09-08 2015-06-23 Ixia Traffic item impairment emulation
US20130080999A1 (en) 2011-09-26 2013-03-28 Microsoft Corporation Automated Testing for Hosted Applications on Various Computing Platforms
US8694644B2 (en) 2011-09-29 2014-04-08 Nec Laboratories America, Inc. Network-aware coordination of virtual machine migrations in enterprise data centers and clouds
US20140289418A1 (en) 2011-10-10 2014-09-25 Ira Cohen Methods and systems for planning execution of an application in a cloud computing system
US9880868B2 (en) 2011-11-30 2018-01-30 Red Hat, Inc. Modifying an OS installer to allow for hypervisor-specific adjustment of an OS
US9280378B2 (en) 2011-11-30 2016-03-08 Red Hat, Inc. Adjustment during migration to a different virtualization environment
WO2013084332A1 (en) 2011-12-08 2013-06-13 株式会社日立製作所 Virtual computer control method and virtual computer system
JP5542788B2 (en) 2011-12-13 2014-07-09 株式会社日立製作所 Virtual computer system and virtual computer migration control method
US10514937B2 (en) 2012-01-05 2019-12-24 Vmware, Inc. Auto-discovery service and method of discovering applications within a virtual network
US20130191105A1 (en) 2012-01-20 2013-07-25 International Business Machines Coporation Virtual systems testing
US9323563B2 (en) 2012-02-28 2016-04-26 Red Hat Israel, Ltd. Determining virtual machine migration in view of a migration rule
US20150135178A1 (en) 2012-03-08 2015-05-14 Anna Fischer Modifying virtual machine communications
US9184981B2 (en) 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
JP5748349B2 (en) 2012-03-16 2015-07-15 株式会社日立製作所 Virtual computer control method and virtual computer system
US8949830B2 (en) 2012-03-29 2015-02-03 International Business Machines Corporation Emulating a data center network on a single physical host with support for virtual machine mobility
US10333827B2 (en) 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
US20130282354A1 (en) 2012-04-18 2013-10-24 Salman Yaniv Sayers Generating load scenarios based on real user behavior
US9286103B2 (en) 2012-04-21 2016-03-15 International Business Machines Corporation Method and apparatus for providing a test network as an IP accessible cloud service
US8942109B2 (en) 2012-04-25 2015-01-27 Anritsu Company Impairment simulation for network communication to enable voice quality degradation estimation
CN108347713B (en) 2012-04-27 2021-12-28 交互数字专利控股公司 WTRU and method executed by WTRU
US9223634B2 (en) 2012-05-02 2015-12-29 Cisco Technology, Inc. System and method for simulating virtual machine migration in a network environment
US8984341B1 (en) 2012-05-08 2015-03-17 Amazon Technologies, Inc. Scalable testing in a production system with autoscaling
JP2013242797A (en) 2012-05-22 2013-12-05 Fujitsu Ltd Information processing apparatus, information processing method and information processing program
US9110704B2 (en) 2012-05-31 2015-08-18 Red Hat Israel, Ltd. Pre-warming of multiple destinations for fast live migration
US9342328B2 (en) 2012-05-31 2016-05-17 International Business Machines Corporation Model for simulation within infrastructure management software
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8953441B2 (en) 2012-06-06 2015-02-10 Juniper Networks, Inc. Re-routing network traffic after link failure
US8869157B2 (en) 2012-06-21 2014-10-21 Breakingpoint Systems, Inc. Systems and methods for distributing tasks and/or processing recources in a system
JP5958164B2 (en) 2012-08-07 2016-07-27 富士通株式会社 Control apparatus, method and program, system, and information processing method
US9152532B2 (en) 2012-08-07 2015-10-06 Advanced Micro Devices, Inc. System and method for configuring a cloud computing system with a synthetic test workload
US9001688B2 (en) 2012-08-10 2015-04-07 Ixia Dynamic balancing of a traffic mix for data center device testing
WO2014030061A2 (en) 2012-08-20 2014-02-27 Jds Uniphase Corporation Validating network traffic policy
US8990375B2 (en) 2012-08-31 2015-03-24 Facebook, Inc. Subscription groups in publish-subscribe system
US8839042B2 (en) 2012-08-31 2014-09-16 Ca, Inc. Dynamic load calculation and predictive scaling
US10261888B2 (en) 2012-10-12 2019-04-16 Teradata Us, Inc. Emulating an environment of a target database system
US10067858B2 (en) 2012-10-12 2018-09-04 Vmware, Inc. Cloud-based software testing
US8989017B2 (en) 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
WO2014125486A1 (en) 2013-02-12 2014-08-21 Contextream Ltd. Network control using software defined flow mapping and virtualized network functions
US9680728B2 (en) 2013-02-12 2017-06-13 Ixia Arrangements for monitoring network traffic on a cloud-computing environment and methods thereof
RU2535172C2 (en) 2013-02-26 2014-12-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Method of preventing digital data packet reuse in network data transmission system
US9432287B2 (en) 2013-03-12 2016-08-30 International Business Machines Corporation Virtual gateways and implicit routing in distributed overlay virtual environments
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9218270B2 (en) 2013-03-15 2015-12-22 Digital River, Inc. Functional software testing framework for determinate level testing
US9009677B2 (en) 2013-03-18 2015-04-14 Microsoft Technology Licensing, Llc Application testing and analysis
US9785527B2 (en) 2013-03-27 2017-10-10 Ixia Methods, systems, and computer readable media for emulating virtualization resources
US20140013306A1 (en) 2013-04-20 2014-01-09 Concurix Corporation Computer Load Generator Marketplace
US9973375B2 (en) 2013-04-22 2018-05-15 Cisco Technology, Inc. App store portal providing point-and-click deployment of third-party virtualized network functions
US9172647B2 (en) 2013-04-25 2015-10-27 Ixia Distributed network test system
US9600386B1 (en) 2013-05-31 2017-03-21 Sandia Corporation Network testbed creation and validation
US9425962B2 (en) 2013-06-21 2016-08-23 Intel IP Corporation Low energy Bluetooth system with authentication during connectionless advertising and broadcasting
US9841983B2 (en) 2013-06-28 2017-12-12 Vmware, Inc. Single click host maintenance
CN103491129B (en) 2013-07-05 2017-07-14 华为技术有限公司 A kind of service node collocation method, pool of service nodes Register and system
US9965608B2 (en) 2013-07-18 2018-05-08 Samsung Electronics Co., Ltd. Biometrics-based authentication method and apparatus
US9781041B2 (en) 2013-07-24 2017-10-03 Dell Products Lp Systems and methods for native network interface controller (NIC) teaming load balancing
US9524299B2 (en) 2013-08-12 2016-12-20 Ixia Methods, systems, and computer readable media for modeling a workload
WO2015026785A2 (en) * 2013-08-19 2015-02-26 Jacobus Erasmus Van Der Merwe Programmable data network management and operation
CN105900518B (en) 2013-08-27 2019-08-20 华为技术有限公司 System and method for mobile network feature virtualization
US9628290B2 (en) 2013-10-09 2017-04-18 International Business Machines Corporation Traffic migration acceleration for overlay virtual environments
CN104579732B (en) 2013-10-21 2018-06-26 华为技术有限公司 Virtualize management method, the device and system of network function network element
US9317252B2 (en) 2013-10-25 2016-04-19 Ixia Methods, systems, and computer readable media for selecting numbers from multiple ranges
US9426284B2 (en) * 2013-11-13 2016-08-23 Ixia Methods, systems, and computer readable media for call flow analysis using comparison level indicators
US9819551B2 (en) 2013-11-20 2017-11-14 Big Switch Networks, Inc. Systems and methods for testing networks with a controller
EP3074863B1 (en) 2013-11-27 2019-07-31 GMC Software AG System and method for testing data representation for different mobile devices
US20160034289A1 (en) 2013-12-16 2016-02-04 Hitachi, Ltd. Computer system and processing method of the same
US9544182B2 (en) 2014-02-19 2017-01-10 Steven Waldbusser Monitoring gateway systems and methods for openflow type networks
GB2523338A (en) 2014-02-20 2015-08-26 Ng4T Gmbh Testing a virtualised network function in a network
EP3096490B1 (en) 2014-02-23 2018-12-26 Huawei Technologies Co., Ltd. Method for realizing network virtualization and related device and communication system
WO2015154246A1 (en) 2014-04-09 2015-10-15 华为技术有限公司 Fault handling method, device and system based on network function virtualization
RO130722A2 (en) 2014-04-10 2015-11-27 Ixia, A California Corporation Method and system for hardware implementation of uniform randomly shuffled data packets
EP3110106B1 (en) 2014-04-14 2019-11-06 Huawei Technologies Co., Ltd. Disaster recovery data center configuration method and apparatus in cloud computing architecture
CN106133713A (en) 2014-04-28 2016-11-16 新泽西理工学院 Congestion management for data center network
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US20150317169A1 (en) 2014-05-04 2015-11-05 Midfin Systems Inc. Constructing and operating high-performance unified compute infrastructure across geo-distributed datacenters
US9813259B2 (en) 2014-05-13 2017-11-07 Cisco Technology, Inc. Probing available bandwidth along a network path
US20150332357A1 (en) 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services
US20150332351A1 (en) 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
WO2016012051A1 (en) * 2014-07-25 2016-01-28 Telefonaktiebolaget L M Ericsson (Publ) Packet processing in an openflow switch
US9436566B2 (en) 2014-07-29 2016-09-06 Ixia Methods, systems, and computer readable media for scaling a workload
US10491594B2 (en) 2014-08-22 2019-11-26 Nokia Technologies Oy Security and trust framework for virtualized networks
US9367343B2 (en) 2014-08-29 2016-06-14 Red Hat Israel, Ltd. Dynamic batch management of shared buffers for virtual machines
US9647909B2 (en) 2014-09-23 2017-05-09 Uila Networks, Inc. Monitor a data center infrastructure
US9705849B2 (en) 2014-09-30 2017-07-11 Intel Corporation Technologies for distributed detection of security anomalies
US9971619B2 (en) 2014-10-15 2018-05-15 Keysight Technologies Singapore (Holdings) Pte Ltd Methods and systems for forwarding network packets within virtual machine host systems
CN104320274B (en) 2014-10-24 2017-12-15 华为技术有限公司 A kind of disaster recovery method and device
US9961105B2 (en) 2014-12-31 2018-05-01 Symantec Corporation Systems and methods for monitoring virtual networks
US10812632B2 (en) 2015-02-09 2020-10-20 Avago Technologies International Sales Pte. Limited Network interface controller with integrated network flow processing
US9674639B2 (en) 2015-02-24 2017-06-06 At&T Intellectual Property I, L.P. Method and apparatus for virtualized network function chaining management
US9754217B2 (en) 2015-05-01 2017-09-05 Cirius Messaging Inc. Data leak protection system and processing methods thereof
US20160352578A1 (en) 2015-05-26 2016-12-01 Dell Products L.P. System and method for adaptive paths locator for virtual network function links
US9507616B1 (en) 2015-06-24 2016-11-29 Ixia Methods, systems, and computer readable media for emulating computer processing usage patterns on a virtual machine
US9955316B2 (en) 2015-07-20 2018-04-24 Blackberry Limited Indoor positioning systems and meeting room occupancy
US10511485B2 (en) 2015-08-11 2019-12-17 At&T Intellectual Property I, L.P. Dynamic virtual network topology discovery engine
US9860152B2 (en) 2015-09-21 2018-01-02 Telefonaktiebolaget L M Ericsson (Publ) Non-intrusive method for testing and profiling network service functions
US11082515B2 (en) 2015-09-26 2021-08-03 Intel Corporation Technologies for offloading data object replication and service function chain management
US10652112B2 (en) 2015-10-02 2020-05-12 Keysight Technologies Singapore (Sales) Pte. Ltd. Network traffic pre-classification within VM platforms in virtual processing environments
US10116528B2 (en) 2015-10-02 2018-10-30 Keysight Technologies Singapore (Holdings) Ptd Ltd Direct network traffic monitoring within VM platforms in virtual processing environments
US10142212B2 (en) 2015-10-26 2018-11-27 Keysight Technologies Singapore (Holdings) Pte Ltd On demand packet traffic monitoring for network packet communications within virtual processing environments
US10135702B2 (en) 2015-11-12 2018-11-20 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for testing network function virtualization (NFV)
US9967165B2 (en) 2015-12-07 2018-05-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for packet monitoring in a virtual environment
US10341215B2 (en) 2016-04-06 2019-07-02 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US10015072B2 (en) 2016-07-07 2018-07-03 Netscout Systems, Inc. Consolidation of network test automation tools
US10623296B2 (en) 2016-11-28 2020-04-14 Mellanox Technologies Tlv Ltd. Network switch operating as packet generator
US10579408B2 (en) 2017-03-13 2020-03-03 Nicira, Inc. Distributed network emulation implemented by a host in a virtualized computing environment
US10608893B2 (en) 2017-12-06 2020-03-31 Nokia Technologies Oy SDN control plane performance testing
US10924352B2 (en) * 2018-01-17 2021-02-16 Nicira, Inc. Data center network topology discovery
US10742533B2 (en) 2018-02-09 2020-08-11 Juniper Networks, Inc. Built-in test traffic generator
US10880197B2 (en) 2018-07-13 2020-12-29 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing a network node using source code for programming a packet forwarding plane of the network node
US11398968B2 (en) * 2018-07-17 2022-07-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure
US10795690B2 (en) * 2018-10-30 2020-10-06 Oracle International Corporation Automated mechanisms for ensuring correctness of evolving datacenter configurations
US10686671B1 (en) * 2018-11-05 2020-06-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing network elements of an in-band network telemetry capable network
US11539761B2 (en) 2018-12-10 2022-12-27 Telefonaktiebolaget Lm Ericsson (Publ) IMS node and method performed therein
US10880019B1 (en) 2018-12-20 2020-12-29 Acacia Communications, Inc Impairment generation
US10733088B1 (en) * 2019-03-01 2020-08-04 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing a network node or a related application programming interface using source code metadata
US10958555B2 (en) * 2019-03-15 2021-03-23 Juniper Networks, Inc. Real-time application-driven synthetic probing
US11595289B2 (en) 2019-03-29 2023-02-28 Barefoot Networks, Inc. Network testing using a programmable packet engine
US11502932B2 (en) 2019-05-17 2022-11-15 Keysight Technologies, Inc. Indirect testing using impairment rules
EP4011045B1 (en) 2019-08-13 2024-04-24 Huawei Technologies Co., Ltd. Control and management for impairment-aware optical network

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11582290B2 (en) * 2020-01-23 2023-02-14 Hewlett Packard Enterprise Development Lp Switch event ordering
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US20220360516A1 (en) * 2020-12-31 2022-11-10 Vmware, Inc. Generation of test traffic configuration based on real-world traffic
US20220247661A1 (en) * 2021-01-29 2022-08-04 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US11483228B2 (en) * 2021-01-29 2022-10-25 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US20230171177A9 (en) * 2021-07-02 2023-06-01 Keysight Technologies, Inc. Methods, systems, and computer readable media for network traffic generation using machine learning
US11855872B2 (en) * 2021-07-02 2023-12-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for network traffic generation using machine learning
US20230115762A1 (en) * 2021-10-11 2023-04-13 Keysight Technologies, Inc. Methods, systems, and computer readable media for recycling background traffic in a test environment
US11729087B2 (en) 2021-12-03 2023-08-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for providing adaptive background test traffic in a test environment
US11765068B2 (en) 2021-12-22 2023-09-19 Keysight Technologies, Inc. Methods, systems, and computer readable media for programmable data plane processor based traffic impairment
GB2620841A (en) * 2022-06-15 2024-01-24 Keysight Technologies Inc Methods, systems, and computer readable media for processing control plane messages for emulated data center switching fabric
US11962434B2 (en) 2022-07-08 2024-04-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for capturing dropped packets at a switching fabric emulator

Also Published As

Publication number Publication date
US11323354B1 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US11323354B1 (en) Methods, systems, and computer readable media for network testing using switch emulation
US11388081B1 (en) Methods, systems, and computer readable media for impairment testing using an impairment device
US11483228B2 (en) Methods, systems, and computer readable media for network testing using an emulated data center environment
US20220253324A1 (en) Methods, systems, and computer readable media for impairment testing using an emulated switching fabric environment
Blenk et al. Survey on network virtualization hypervisors for software defined networking
US10523540B2 (en) Display method of exchanging messages among users in a group
US7440415B2 (en) Virtual network addresses
US9413645B1 (en) Methods and apparatus for accessing route information in a distributed switch
US20200403826A1 (en) Monitoring network traffic using traffic mirroring
US11095755B2 (en) Telemetry for disaggregated resources
US20230115762A1 (en) Methods, systems, and computer readable media for recycling background traffic in a test environment
US11855872B2 (en) Methods, systems, and computer readable media for network traffic generation using machine learning
US11121969B2 (en) Routing between software defined networks and physical networks
Mohammadkhan et al. P4NFV: P4 enabled NFV systems with SmartNICs
Lee et al. High-performance software load balancer for cloud-native architecture
US11729087B2 (en) Methods, systems, and computer readable media for providing adaptive background test traffic in a test environment
US20220014457A1 (en) Methods, systems and computer readable media for stateless service traffic generation
US20240073131A1 (en) Methods, systems, and computer readable media for implementing routing path groups between emulated switches
US11962434B2 (en) Methods, systems, and computer readable media for capturing dropped packets at a switching fabric emulator
US20240069099A1 (en) Methods, systems, and computer readable media for using a testbed transpiler
US20240095156A1 (en) Methods, systems, and computer readable media for using an impairment configuration manager
US20230412485A1 (en) Methods, systems, and computer readable media for processing control plane messages for emulated data center switching fabric
US11711299B2 (en) Traffic mirroring in hybrid network environments
US11765068B2 (en) Methods, systems, and computer readable media for programmable data plane processor based traffic impairment
US20240146599A1 (en) Methods, systems, and computer readable media for test system agent deployment in a smartswitch computing environment

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: KEYSIGHT TECHNOLOGIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SOMMERS, CHRISTIAN PAUL;REEL/FRAME:054094/0482

Effective date: 20200929

STCF Information on status: patent grant

Free format text: PATENTED CASE