# US 10,375,170 B2 · Low downtime software-defined wide area network service upgrade

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

- Number: US 10,375,170 B2
- Document ID: US10375170B2
- Status: Granted
- Kind: B2
- Application number: 15/690,230
- Filed: 2017-08-29
- Published: 2018-03-01
- Granted: 2019-08-06
- Earliest claimed: 2016-08-29
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Narendra Kumar Basur Shankarappa; Aravind Srinivasan; Sachin Thakkar; Serge Maskalik; Govind Haridas
- Web page: https://patentgrep.com/patent/US10375170B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5044: {considering hardware capabilities}
- G06F 9/5061: {Partitioning or combining of resources}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- H04L 12/4633: {Interconnection of networks using encapsulation techniques, e.g. tunneling}
- H04L 41/0803: Configuration setting
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 43/103: with adaptive polling, i.e. dynamically adapting the polling rate
- H04L 45/72: {Routing based on the source address}
- H04L 47/825: {Involving tunnels, e.g. MPLS}
- H04L 49/354: for supporting virtual local area networks [VLAN]
- H04L 49/70: {Virtual switches}
- H04L 61/2592: using tunnelling or encapsulation
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 63/0272: {Virtual private networks}
- H04L 63/029: {Firewall traversal, e.g. tunnelling or, creating pinholes}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/22: Parsing or analysis of headers
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04W 28/0273: {adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP] (wireless network protocols or protocol adaptations to wireless operation, e.g. wireless application protocol H04W80/00)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/302: Route determination based on requested QoS
- H04L 61/5061: Pools of addresses
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- H04W 28/02: Traffic management, e.g. flow control or congestion control
- H04W 28/0284: {detecting congestion or overload during communication (monitoring arrangements H04L43/00)}
- H04W 28/084: among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Techniques for upgrading virtual appliances in a hybrid cloud computing system are provided. In one embodiment, virtual appliances are upgraded by deploying the upgraded appliances in both a data center and a cloud, configuring the upgraded appliances to have the same IP addresses as original appliances, and disconnecting the original appliances from networks to which they are connected and connecting the upgraded appliances to those networks via the same ports previously used by the original appliances. In another embodiment, upgraded appliances are deployed in the data center and the cloud, but configured with new IP addresses that are different from those of the original appliances, and connections are switched from those of the original appliances to new connections with the new IP addresses. Embodiments disclosed herein permit virtual appliances to be upgraded or replaced with relatively little downtime so as to help minimize disruptions to existing traffic flows.

## Claims

### Claim 1

A computer-implemented method of upgrading appliances in a computing system which includes a first computing system and a second computing system, the method comprising:
deploying a first upgraded appliance in the first computing system and a second upgraded appliance in the second computing system;
configuring the first upgraded appliance and the second upgraded appliance to have either the same or different internet protocol (IP) addresses as a first original appliance and a second original appliance in the first computing system and the second computing system, respectively;
disconnecting the first and the second original appliances from one or more first networks in the first computing system and one or more second networks in the second computing system, respectively;
connecting each of the first and the second upgraded appliances to the one or more first networks and the one or more second networks, respectively; and
establishing one or more tunnels between the first and the second upgraded appliances.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the first upgraded appliance and the second upgraded appliance are configured to have the same internet protocol (IP) addresses as the first original appliance and the second original appliance, respectively; and
the first and the second upgraded appliances are connected to the same one or more networks using the same ports as the first original appliance and the second original appliance used prior to the disconnecting of the first and second original appliances, respectively.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
notifying network interface cards (NICs) of host computers in which the first and the second upgraded appliances run that the IP addresses are available on Media Access Control (MAC) addresses belonging to the upgraded first and second appliances.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the first upgraded appliance and the second upgraded appliance are configured to have different internet protocol (IP) addresses from the first original appliance and the second original appliance, respectively; and
the first and the second upgraded appliances are connected to the same one or more networks by switching connections from connections of the first and the second original appliances to connections of the first and the second upgraded appliances in the first computing system and in the second computing system, respectively.

### Claim 5 (depends on 4)

The method of claim 4, wherein:
the first and second appliances are virtual machines with layer 2 (L2) concentrator applications running therein; and
switching the connections from the connections of the first and the second original appliances to the connections of the first and the second upgraded appliances includes disconnecting the first and the second original appliances from sink ports and connecting the first and the second upgraded appliances to other sink ports.

### Claim 6 (depends on 4)

The method of claim 4, wherein the first and the second upgraded appliances are connected to the one or more first networks and the one or more second networks, respectively, prior to the disconnecting of the first and the second original appliances from the one or more first networks and the one or more second networks, respectively.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
the steps of deploying the first upgraded appliance, configuring the first upgraded appliance, disconnecting the first original appliance, and connecting the first upgraded appliance are performed by a first management application;
the steps of deploying the second upgraded appliance, configuring the second upgraded appliance, disconnecting the second original appliance, and connecting the second upgraded appliance are performed by a second management application; and
the first and second management applications are configured to perform jobs requested by each other so as to execute one or more tasks jointly.

### Claim 8 (depends on 7)

The method of claim 7, wherein:
the one or more tunnels include Generic Routing Encapsulation (GRE) tunnels going through Internet Protocol Security (IPsec) tunnels; and
the IPsec tunnels are established between the first and the second upgraded appliances by performing steps including:
exchanging digital certificates between the first and second management applications,
transmitting received digital certificates from the first and second management applications to the first and the second upgraded appliances, respectively, and
creating, by the first and second upgraded appliances, the IPsec tunnels using the transmitted digital certificates.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first computing system is a private virtualized computing system and the second computing system is a cloud computing system.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first and second appliances are virtual appliances.

### Claim 11

A non-transitory computer-readable medium comprising instructions executable by a computer, the computer having one or more physical central processing units (CPUs), wherein the instructions, when executed, cause the computer to perform operations for upgrading appliances in a computing system which includes a first computing system and a second computing system, the operations comprising:
deploying a first upgraded appliance in the first computing system and a second upgraded appliance in the second computing system;
configuring the first upgraded appliance and the second upgraded appliance to have either the same or different internet protocol (IP) addresses as a first original appliance and a second original appliance in the first computing system and the second computing system, respectively;
disconnecting the first and the second original appliances from one or more first networks in the first computing system and one or more second networks in the second computing system, respectively;
connecting the first and the second upgraded appliances to the one or more first networks and the one or more second networks, respectively; and
establishing one or more tunnels between the first and the second upgraded appliances.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein:
the first upgraded appliance and the second upgraded appliance are configured to have the same internet protocol (IP) addresses as the first original appliance and the second original appliance, respectively; and
the first and the second upgraded appliances are connected to the same one or more networks using the same ports as the first original appliance and the second original appliance used prior to the disconnecting of the first and second original appliances, respectively.

### Claim 13 (depends on 11)

The computer-readable medium of claim 11, the operations further comprising:
notifying network interface cards (NICs) of host computers in which the first and the second upgraded appliances run that the IP addresses are available on Media Access Control (MAC) addresses belonging to the upgraded first and second appliances.

### Claim 14 (depends on 11)

The computer-readable medium of claim 11, wherein:
the first upgraded appliance and the second upgraded appliance are configured to have different internet protocol (IP) addresses from the first original appliance and the second original appliance, respectively; and
the first and the second upgraded appliances are connected to the same one or more networks by switching connections from connections of the first and the second original appliances to connections of the first and the second upgraded appliances in the first computing system and in the second computing system, respectively.

### Claim 15 (depends on 14)

The computer-readable medium of claim 14, wherein:
the first and second appliances are virtual machines with layer 2 (L2) concentrator applications running therein; and
switching the connections from the connections of the first and the second original appliances to the connections of the first and the second upgraded appliances includes disconnecting the first and the second original appliances from sink ports and connecting the first and the second upgraded appliances to other sink ports.

### Claim 16 (depends on 14)

The computer-readable medium of claim 14, wherein the first and the second upgraded appliances are connected to the one or more first networks and the one or more second networks, respectively, prior to the disconnecting of the first and the second original appliances from the one or more first networks and the one or more second networks, respectively.

### Claim 17 (depends on 11)

The computer-readable medium of claim 11, wherein:
the steps of deploying the first upgraded appliance, configuring the first upgraded appliance, disconnecting the first original appliance, and connecting the first upgraded appliance are performed by a first management application;
the steps of deploying the second upgraded appliance, configuring the second upgraded appliance, disconnecting the second original appliance, and connecting the second upgraded appliance are performed by a second management application; and
the first and second management applications are configured to perform jobs requested by each other so as to execute one or more tasks jointly.

### Claim 18 (depends on 17)

The computer-readable medium of claim 17, wherein:
the one or more tunnels include Generic Routing Encapsulation (GRE) tunnels going through Internet Protocol Security (IPsec) tunnels; and
the IPsec tunnels are established between the first and the second upgraded appliances by performing steps including:
exchanging digital certificates between the first and second management applications,
transmitting received digital certificates from the first and second management applications to the first and the second upgraded appliances, respectively, and
creating, by the first and second upgraded appliances, the IPsec tunnels using the transmitted digital certificates.

### Claim 19 (depends on 11)

The computer-readable medium of claim 11, wherein:
the first computing system is a private virtualized computing system and the second computing system is a cloud computing system; and
the first and second appliances are virtual appliances.

### Claim 20

A system, comprising:
a processor; and
a memory, wherein the memory includes a program configured to perform operations for upgrading appliances in a computing system which includes a first computing system and a second computing system, the operations comprising:
deploying a first upgraded appliance in the first computing system and a second upgraded appliance in the second computing system,
configuring the first upgraded appliance and the second upgraded appliance to have either the same or different internet protocol (IP) addresses as a first original appliance and a second original appliance in the first computing system and the second computing system, respectively,
disconnecting the first and the second original appliances from one or more first networks in the first computing system and one or more second networks in the second computing system, respectively,
connecting the first and the second upgraded appliances to the one or more first networks and the one or more second networks, respectively, and
establishing one or more tunnels between the first and the second upgraded appliances.
