IP Library › Granted Patent US 10,481,897
Granted Patent B2
US 10,481,897 · App. 15/791,434 · Granted Nov 19, 2019

System and method for resilient software upgrades in a virtual datacenter

Inventor: Amol Manohar Vaikar (Bangalore, IN)
Assignee: VMWARE, INC.
G06F8/65G06F9/455G06F9/45533G06F9/45558G06F11/1433G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,481,897
App. No.
15/791,434
Granted
Nov 19, 2019
Kind
B2
Abstract

In one example, resilient software application upgrades in a virtual datacenter is disclosed, in which network flow data is periodically obtained between a plurality of APPVMs and/or containers and deep packet inspection information from firewalls associated with the obtained network flow data in the virtual datacenter. Dependency relationships between the plurality of APPVMs and/or containers are then obtained based on the periodically obtained network flow data, the periodically obtained deep packet inspection information, and a network flow criteria. An upgrade that is about to happen to a software residing in one or more of the plurality of APPVMs and/or containers is determined. One or more of the plurality of APPVMs and/or containers affected by the software upgrade is determined based on the determined dependency relationships. Snapshots of the affected one or more of the plurality of APPVMs and/or containers are then obtained before initiating the software upgrade.

Claims (52)

1. A non-transitory machine-readable medium storing instructions executable by a processing resource to:

periodically obtain network flow data between a plurality of application virtual machines (APPVMs) and/or containers in a virtual datacenter;

periodically obtain deep packet inspection information from firewalls associated with the periodically obtained network flow data in the virtual datacenter;

determine dependency relationships between the plurality of APPVMs and/or containers based on the periodically obtained network flow data, the periodically obtained deep packet inspection information, and a network flow criteria;

determine whether an upgrade is going to happen to a software residing in one or more of the plurality of APPVMs and/or containers;

determine one or more of the plurality of APPVMs and/or containers affected by the software upgrade based on the determined dependency relationships;

obtain snapshots of the affected one or more of the plurality of APPVMs and/or containers; and

initiate the software upgrade upon obtaining the snapshots of the affected one or more of the plurality of APPVMs and/or containers.

2. The non-transitory machine-readable medium of claim 1 , wherein the deep packet inspection information comprises response time between network and application, purpose of communication request, application traffic volume details, and/or user conversation details.

3. The non-transitory machine-readable medium of claim 2 , wherein the purpose of communication request is selected from a group consisting of database request, storage area network (SAN) request, and hypertext transfer protocol (HTTP) request.

4. The non-transitory machine-readable medium of claim 1 , wherein the network flow criteria are selected from a group consisting of volume of network flow between the plurality of APPVMs and/or containers, frequency of the network flow between the plurality of APPVMs and/or containers, duration of the network flow between the plurality of APPVMs and/or containers, and nature of the network flow between the plurality of APPVMs and/or containers.

5. The non-transitory machine-readable medium of claim 1 , wherein periodically obtaining the network flow data and the deep packet inspection information comprises:

periodically obtaining the network flow data and the deep packet inspection information within a software defined network (SDN) platform and a virtualization infrastructure layer.

6. The non-transitory machine-readable medium of claim 1 , wherein determining the dependency relationships between the plurality of APPVMs and/or containers comprises:

creating one or more topology graphs between the software residing in the one or more of the plurality of APPVMs and/or containers based on the network flow criteria.

7. The non-transitory machine-readable medium of claim 6 , wherein determining the one or more of the plurality of APPVMs and/or containers that are affected by the software upgrade based on the determined dependency relationships comprises:

determine one or more of the plurality of APPVMs and/or containers that are affected by the software upgrade based on the created one or more topology graphs.

8. The non-transitory machine-readable medium of claim 1 , wherein the software is a distributed software application.

9. A method for resilient software upgrades in a virtual datacenter, the method comprising:

periodically obtaining network flow data between a plurality of application virtual machines (APPVMs) and/or containers in the virtual datacenter;

periodically obtaining deep packet inspection information from firewalls associated with the periodically obtained network flow data in the virtual datacenter;

determining dependency relationships between the plurality of APPVMs and/or containers based on the periodically obtained network flow data, the periodically obtained deep packet inspection information, and a network flow criteria;

determining whether an upgrade is going to happen to a software residing in one or more of the plurality of APPVMs and/or containers;

determining one or more of the plurality of APPVMs and/or containers affected by the software upgrade based on the determined dependency relationships;

obtaining snapshots of the affected one or more of the plurality of APPVMs and/or containers; and

initiating the software upgrade upon obtaining the snapshots of the affected one or more of the plurality of APPVMs and/or containers.

10. The method of claim 9 , wherein the deep packet inspection information comprises response time between network and application, purpose of communication request, application traffic volume details, and/or user conversation details.

11. The method of claim 9 , wherein the network flow criteria are selected from a group consisting of volume of network flow between the plurality of APPVMs and/or containers, frequency of the network flow between the plurality of APPVMs and/or containers, duration of the network flow between the plurality of APPVMs and/or containers, and nature of the network flow between the plurality of APPVMs and/or containers.

12. The method of claim 9 , wherein periodically obtaining the network flow data and the deep packet inspection information comprises:

periodically obtaining the network flow data and the deep packet inspection information within a software defined network (SDN platform and a virtualization infrastructure layer.

13. The method of claim 9 , wherein determining the dependency relationships between the plurality of APPVMs and/or containers comprises:

creating one or more topology graphs between the software residing in the one or more of the plurality of APPVMs and/or containers based on the network flow criteria.

14. The method of claim 13 , wherein determining the one or more of the plurality of APPVMs and/or containers that are affected by the software upgrade based on the determined dependency relationships comprises:

determine one or more of the plurality of APPVMs and/or containers that are affected by the software upgrade based on the created one or more topology graphs.

15. A system comprising:

a processor; and

a non-transitory machine-readable medium storing instructions for controlling the processor to be operable to:

periodically obtain network flow data between a plurality of application virtual machines (APPVMs) and/or containers in a virtual datacenter;

periodically obtain deep packet inspection information from firewalls associated with the periodically obtained network flow data in the virtual datacenter;

determine dependency relationships between the plurality of APPVMs and/or containers based on the periodically obtained network flow data, the periodically obtained deep packet inspection information, and a network flow criteria;

determine whether an upgrade is going to happen to a software residing in one or more of the plurality of APPVMs and/or containers;

determine one or more of the plurality of APPVMs and/or containers affected by the software upgrade based on the determined dependency relationships;

obtain snapshots of the affected one or more of the plurality of APPVMs and/or containers; and

initiate the software upgrade upon obtaining the snapshots of the affected one or more of the plurality of APPVMs and/or containers.

16. The system of claim 15 , wherein the deep packet inspection information comprises response time between network and application, purpose of communication request, application traffic volume details, and/or user conversation details.

17. The system of claim 16 , wherein the network flow criteria are selected from a group consisting of volume of network flow between the plurality of APPVMs and/or containers, frequency of the network flow between the plurality of APPVMs and/or containers, duration of the network flow between the plurality of APPVMs and/or containers, and nature of the network flow between the plurality of APPVMs and/or containers.

18. The system of claim 15 , wherein periodically obtaining the network flow data and the deep packet inspection information comprises:

periodically obtaining the network flow data and the deep packet inspection information within a software defined network (SDN) platform and a virtualization infrastructure layer.

19. The system of claim 15 , wherein determining the dependency relationships between the plurality of APPVMs and/or containers comprises:

creating one or more topology graphs between the software residing in the one or more of the plurality of APPVMs and/or containers based on the network flow criteria.

20. The system of claim 19 , wherein determining the one or more of the plurality of APPVMs and/or containers that are affected by the software upgrade based on the determined dependency relationships comprises:

determine one or more of the plurality of APPVMs and/or containers that are affected by the software upgrade based on the created one or more topology graphs.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2017
From: VAIKAR, AMOL MANOHAR
To: VMWARE, INC.
Reel/Frame 043928/0690 →
Priority Claims (1)
IN 201741023460 · Jul 4, 2017 · national
Continuity (1)
Related Publication 20190012162A1 · Jan 10, 2019