# US 9,438,478 B1 · Using an SDN controller to automatically test cloud performance

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,478 B1
- Document ID: US9438478B1
- Status: Granted
- Kind: B1
- Application number: 14/940,262
- Filed: 2015-11-13
- Granted: 2016-09-06
- Earliest claimed: 2015-11-13
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Venkata Siva N. Amulothu; Kavita Gadde; Ashish Kapur; Vishal Shukla; Saritha Yeddula
- Web page: https://patentgrep.com/patent/US9438478B1

## CPC

- H04L 43/0894: Packet rate
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/083: for increasing network speed
- H04L 43/04: Processing captured monitoring data, e.g. for logfile generation
- H04L 43/0882: Utilisation of link capacity
- H04L 43/0888: Throughput
- H04L 43/16: Threshold monitoring
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L 43/50: Testing arrangements
- H04L 45/64: using an overlay routing layer
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and associated systems for using a software-defined network (SDN) controller to automatically test cloud performance. A bandwidth measuring and optimizing system associated with the SDN controller detects a triggering condition and, in response, directs a network-management tool to measure a bandwidth of a segment of a physical infrastructure of a network and directs the SDN controller to provision a virtual machine that then measures a bandwidth of a corresponding segment of virtual infrastructure that is overlaid upon the physical segment. In some embodiments, these two tests are synchronized so as to concurrently measure physical and virtual bandwidths while the same test data passes through the virtual infrastructure segment. The measured bandwidth of the virtual segment is then compared to the measured bandwidth of the physical segment in order to determine an efficiency of the virtual network.

## Claims

### Claim 1

A bandwidth measuring and optimizing system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement a method for using an SDN controller to automatically test cloud performance, the method comprising:
the system running a first bandwidth test on a physical path that connects two physical nodes of a physical network, wherein the first bandwidth test measures a first network bandwidth available through the physical network along the physical path;
the system provisioning a virtual machine in a virtualized computing platform running on the physical network;
the system instructing the virtual machine to run a second bandwidth test on a software-defined path that connects two virtual nodes of a software-defined network provisioned on the virtualized computing environment, wherein the second bandwidth test measures a second network bandwidth available through the software-defined network along the software-defined path; and
the processor determining a network-path efficiency between the two physical nodes by comparing the first network bandwidth to the second network bandwidth, wherein the network-path efficiency is determined by dividing the second network bandwidth by the first network bandwidth.

### Claim 2 (depends on 1)

The system of claim 1, wherein the software-defined path is a component of a virtual network that is overlaid on top of the physical infrastructure of the physical path.

### Claim 3 (depends on 2)

The system of claim 2, wherein the second network bandwidth identifies bandwidth available over virtual infrastructure provisioned on physical infrastructure through which is available the first network bandwidth.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
the system detecting a trigger condition; and
the system performing the running, provisioning, and initiating in response to the detecting.

### Claim 5 (depends on 4)

The method of claim 4, wherein the trigger condition is selected from a group comprising: a detection that a virtual network bandwidth falls above or below a threshold value, a detection that a physical network bandwidth falls above or below a threshold value, a receipt of a test request from an extrinsic hardware or software module, an occurrence of a particular time, a determination that a certain duration of time has elapsed since the most recent performance of the first and second bandwidth tests, and a receipt of a test request from a user.

### Claim 6 (depends on 1)

The system of claim 1, wherein the first bandwidth test and the second bandwidth test are performed closely enough in time to produce measurements that may be considered concurrent.

### Claim 7 (depends on 1)

The system of claim 1, wherein the system uses a synchronization mechanism to initiate the first bandwidth test at a same time that the virtual machine initiates the second bandwidth test.

### Claim 8 (depends on 1)

The system of claim 1, wherein the first bandwidth test measures a throughput of network traffic passing through the physical path while the virtual machine is performing the second bandwidth test.

### Claim 9

A method for using an SDN controller to automatically test cloud performance, the method for using an SDN controller to automatically test cloud performance, the method comprising:
a processor of a computer system running a first bandwidth test on a physical path that connects two physical nodes of a physical network, wherein the first bandwidth test measures a first network bandwidth available through the physical network along the physical path;
the system provisioning a virtual machine in a virtualized computing platform running on the physical network;
the system instructing the virtual machine to run a second bandwidth test on a software-defined path that connects two virtual nodes of a software-defined network provisioned on the virtualized computing environment, wherein the second bandwidth test measures a second network bandwidth available through the software-defined network along the software-defined path; and
the processor determining a network-path efficiency between the two physical nodes by comparing the first network bandwidth to the second network bandwidth, wherein the network-path efficiency is determined by dividing the second network bandwidth by the first network bandwidth.

### Claim 10 (depends on 9)

The method of claim 9, wherein the software-defined path is a component of a virtual network that is overlaid on top of the physical infrastructure of the physical path.

### Claim 11 (depends on 9)

The method of claim 9, further comprising:
the system detecting a trigger condition; and
the system performing the running, provisioning, and initiating in response to the detecting.

### Claim 12 (depends on 9)

The method of claim 9, wherein the first bandwidth test and the second bandwidth test are performed closely enough in time such that the first bandwidth test measures a throughput of network traffic passing through the physical path while the virtual machine is performing the second bandwidth test.

### Claim 13 (depends on 9)

The method of claim 9, further comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer system, wherein the computer-readable program code in combination with the computer system is configured to implement the running, provisioning, and instructing.

### Claim 14

A computer program product, comprising a computer-readable hardware storage device having a computer-readable program code stored therein, the program code configured to be executed by a bandwidth measuring and optimizing system comprising a processor, a memory coupled to the processor, and a computer-readable hardware storage device coupled to the processor, the storage device containing program code configured to be run by the processor via the memory to implement a method for using an SDN controller to automatically test cloud performance, the method for using an SDN controller to automatically test cloud performance, the method comprising:
the processor of running a first bandwidth test on a physical path that connects two physical nodes of a physical network, wherein the first bandwidth test measures a first network bandwidth available through the physical network along the physical path;
the system provisioning a virtual machine in a virtualized computing platform running on the physical network;
the system instructing the virtual machine to run a second bandwidth test on a software-defined path that connects two virtual nodes of a software-defined network provisioned on the virtualized computing environment, wherein the second bandwidth test measures a second network bandwidth available through the software-defined network along the software-defined path; and
the processor determining a network-path efficiency between the two physical nodes by comparing the first network bandwidth to the second network bandwidth, wherein the network-path efficiency is determined by dividing the second network bandwidth by the first network bandwidth.

### Claim 15 (depends on 14)

The computer program product of claim 14, further comprising:
the system detecting a trigger condition; and
the system performing the running, provisioning, and initiating in response to the detecting.

### Claim 16 (depends on 14)

The computer program product of claim 14, wherein the first bandwidth test and the second bandwidth test are performed closely enough in time such that the first bandwidth test measures a throughput of network traffic passing through the physical path while the virtual machine is performing the second bandwidth test.
