IP Library › Granted Patent US 10,474,451
Granted Patent B2
US 10,474,451 · App. 16/059,738 · Granted Nov 12, 2019

Containerized upgrade in operating system level virtualization

Inventor: Steven Charles Dake (Scottsdale, AZ)
Assignee: CISCO TECHNOLOGY, INC.
G06F8/65G06F9/45516H04L67/34
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,474,451
App. No.
16/059,738
Granted
Nov 12, 2019
Kind
B2
Abstract

Utilizing several passes of a token among the operating system level virtualization applications (OSLVAs) running on each of an ordered list of nodes selectively upgrade user applications in specific containers after determining that each OSVLA hosting a container to be upgraded is live. A failed liveness check can cause a revision to the list of nodes. Post-upgrade health checks of each application, and a list-wide notification of a completed upgrade of the application instances, can follow a successful upgrade. A roll back of the upgrade across all nodes can follow an unsuccessful upgrade.

Claims (44)

1. A method, comprising:

establishing, by one or more computers, an ordered list of networked nodes, the list comprising nodes executing operating system level (OS-level) virtualization and hosting at least one containerized application to be upgraded;

first communicating, among the nodes in the listed order and with return to the first listed node from the last listed node, a token;

first updating, by the OS-level virtualization application at each node receiving the first communicated token prior to communicating the token further, the first communicated token with an indication of liveness of the OS-level virtualization application at the node receiving the first communicated token;

in response to receiving, by the first listed node from the last listed node, the first updated token indicating that all nodes are live, second communicating, among the nodes in the listed order and with return to the first listed node from the last listed node, the first updated token, the first updated token comprising upgrade information; and

upgrading, by the OS-level virtualization application at each node receiving the second communicated token, each containerized application to be upgraded at the node receiving the second communicated token in accordance with the upgrade information, and second updating the second communicated token to indicate a successful upgrade of the each upgraded containerized application at the node receiving the second communicated token prior to communicating the token further.

2. The method of claim 1 , further comprising,

in response to receiving, by the first listed node from the last listed node, the second updated token indicating a successful upgrade of each containerized application to be upgraded, third communicating, among the nodes in the listed order and with return to the first listed node from the last listed node, the second updated token; and

third updating, by the OS-level virtualization application at each node receiving the second updated token, the third communicated token to indicate the health of each upgraded containerized application at each node receiving the third communicated token prior to communicating the token further.

3. The method of claim 2 , further comprising, in response to the first listed node receiving the third updated token indicating a favorable health of each upgraded container, fourth communicating, among the nodes in the listed order, the token updated to indicate successful upgrade of all containerized applications to be upgraded; and executing, at each listed node, the upgraded application.

4. The method of claim 2 , wherein the list of networked nodes is ordered by an Internet Protocol (IP) address of each node in the list.

5. The method of claim 2 , wherein communication of the token among the nodes comprises communication using a unicast protocol.

6. The method of claim 5 , wherein the unicast protocol is one of User Datagram Protocol and Transmission Control Protocol.

7. A computer program product, comprising:

a non-transitory computer-readable storage device having computer-executable program instructions embodied thereon that when executed by a computer cause the computer to:

establish an ordered list of networked nodes, the list comprising nodes executing operating system level (OS-level) virtualization and hosting at least one containerized application to be upgraded;

first communicate, among the nodes in the listed order and with return to the first listed node from the last listed node, a token;

first update, by the OS-level virtualization application at each node receiving the first communicated token prior to communicating the token further, the first communicated token with an indication of liveness of the OS-level virtualization application at the node receiving the first communicated token;

in response to receiving, by the first listed node from the last listed node, the first updated token indicating that all nodes are live, second communicate, among the nodes in the listed order and with return to the first listed node from the last listed node, the first updated token, the first updated token comprising upgrade information; and

upgrade, by the OS-level virtualization application at each node receiving the second communicated token, each containerized application to be upgraded at the node receiving the second communicated token in accordance with the upgrade information, and second updating the second communicated token to indicate a successful upgrade of the each upgraded containerized application at the node receiving the second communicated token prior to communicating the token further.

8. The computer program product of claim 7 , wherein the storage device further comprises computer-executable program instructions embodied thereon that when executed by a computer cause the computer to:

in response to receiving, by the first listed node from the last listed node, the second updated token indicating a successful upgrade of each containerized application to be upgraded, third communicate, among the nodes in the listed order and with return to the first listed node from the last listed node, the second updated token; and

third update, by the OS-level virtualization application at each node receiving the second updated token, the third communicated token to indicate the health of each upgraded containerized application at each node receiving the third communicated token prior to communicating the token further.

9. The computer program product of claim 8 , wherein the storage device further comprises computer-executable program instructions embodied thereon that when executed by a computer cause the computer to:

in response to the first listed node receiving the third updated token indicating a favorable health of each upgraded container, fourth communicate, among the nodes in the listed order, the token updated to indicate successful upgrade of all containerized applications to be upgraded; and executing, at each listed node, the upgraded application.

10. The computer program product of claim 8 , wherein the list of networked nodes is ordered by an Internet Protocol (IP) address of each node in the list.

11. The computer program product of claim 8 , wherein communication of the token among the nodes comprises communication using a unicast protocol.

12. The computer program product of claim 11 , wherein the unicast protocol is one of User Datagram Protocol and Transmission Control Protocol.

13. A system to use one-time codes to provide user feedback to merchants, the system comprising:

a storage device; and

a processor communicatively coupled to the storage device, wherein the processor executes application code instructions that are stored in the storage device to cause the system to:

establish an ordered list of networked nodes, the list comprising nodes executing operating system level (OS-level) virtualization and hosting at least one containerized application to be upgraded;

first communicate, among the nodes in the listed order and with return to the first listed node from the last listed node, a token;

first update, by the OS-level virtualization application at each node receiving the first communicated token prior to communicating the token further, the first communicated token with an indication of liveness of the OS-level virtualization application at the node receiving the first communicated token;

in response to receiving, by the first listed node from the last listed node, the first updated token indicating that all nodes are live, second communicate, among the nodes in the listed order and with return to the first listed node from the last listed node, the first updated token, the first updated token comprising upgrade information; and

upgrade, by the OS-level virtualization application at each node receiving the second communicated token, each containerized application to be upgraded at the node receiving the second communicated token in accordance with the upgrade information, and second updating the second communicated token to indicate a successful upgrade of the each upgraded containerized application at the node receiving the second communicated token prior to communicating the token further.

14. The system of claim 13 , wherein the processor further executes application code instructions that are stored in the storage device to cause the system to:

in response to receiving, by the first listed node from the last listed node, the second updated token indicating a successful upgrade of each containerized application to be upgraded, third communicate, among the nodes in the listed order and with return to the first listed node from the last listed node, the second updated token; and

third update, by the OS-level virtualization application at each node receiving the second updated token, the third communicated token to indicate the health of each upgraded containerized application at each node receiving the third communicated token prior to communicating the token further.

15. The system of claim 14 , wherein the processor further executes application code instructions that are stored in the storage device to cause the system to:

in response to the first listed node receiving the third updated token indicating a favorable health of each upgraded container, fourth communicate, among the nodes in the listed order, the token updated to indicate successful upgrade of all containerized applications to be upgraded; and executing, at each listed node, the upgraded application.

16. The system of claim 14 , wherein the list of networked nodes is ordered by an Internet Protocol (IP) address of each node in the list.

17. The system of claim 14 , wherein communication of the token among the nodes comprises communication using a unicast protocol.

18. The system of claim 17 , wherein the unicast protocol is one of User Datagram Protocol and Transmission Control Protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2018
From: DAKE, STEVEN CHARLES
To: CISCO TECHNOLOGY, INC.
Reel/Frame 047013/0889 →
Continuity (2)
Continuation 15244942 · Aug 23, 2016
Related Publication 20180349128A1 · Dec 6, 2018