IP Library › Granted Patent US 10,021,171
Granted Patent B2
US 10,021,171 · App. 14/955,323 · Granted Jul 10, 2018

Zero-downtime cloud connector upgrades

Inventors: Gregory John Regan (Corrandulla, IE); Andrew John Cooper (Nashua, NH)
Assignee: Cisco Technology, Inc.
H04L67/10G06F8/656H04L67/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,021,171
App. No.
14/955,323
Granted
Jul 10, 2018
Kind
B2
Abstract

Presented herein are zero-downtime upgrade techniques for cloud connector/extension software components. In particular, an on-premises node that runs a first version of a cloud connector software component, receives a second version of the cloud connector software component from a cloud-based software platform. The second version of the cloud connector software component is installed and initialized at the on-premises node such that the first and second versions of the cloud connector software component run in parallel at the on-premises node. Management of the subscriptions of the on-premises services to the cloud-based software platform is then transferred from the first version of the cloud connector software component to the second version of the cloud connector software component.

Claims (48)

1. A method comprising:

at an on-premises node running a first version of a cloud connector software component, receiving a second version of the cloud connector software component from a cloud-based software platform, where the first version of the cloud connector software component is associated with subscriptions of the cloud-based software platform to on-premises services;

installing and initializing the second version of the cloud connector software component at the on-premises node such that the second version of the cloud connector software component runs in parallel with the first version of the cloud connector software component at the on-premises node;

performing, via at least one message sent from the second version of the cloud connector software component to the cloud-based software platform, end-to-end verification of the second version of the cloud connector software component, wherein the end-to-end verification is configured to confirm that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services, and

determining whether subscriptions of the cloud-based software platform to the on-premises services should be migrated from the first version of the cloud connector software component to the second version of the cloud connector software component in response to performing the end-to-end verification of the second version of the cloud connector software component.

2. The method of claim 1 , wherein performing the end-to-end verification comprises determining that the end-to-end verification was successful such that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services; and further comprising:

migrating the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

3. The method of claim 1 , wherein performing the end-to-end verification comprises determining that the end-to-end verification was unsuccessful such that the second version of the cloud connector software component cannot communicate with at least one of the cloud-based software platform or the on-premises services; and further comprising:

preventing migration of the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

4. The method of claim 2 , wherein the migrating the subscriptions is orchestrated by the cloud-based software platform.

5. The method of claim 2 , further comprising a local proxy of the on premises node processing traffic received from the on-premises services for forwarding to the cloud-based software platform via the first version of the cloud connector software component or the second version of the cloud connector software component, and dynamically directing local inbound traffic to one of the first version of the cloud connector software component or the second version of the cloud connector software component during migration of the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

6. The method of claim 5 , further comprising:

following installing and initializing the second version of the cloud connector software component at the on-premises node, registering a local port address of the second version of the cloud connector software component with the local proxy.

7. The method of claim 6 , further comprising deregistering a local port address of the first version of the cloud connector software component with the local proxy.

8. An apparatus comprising:

at least one network interface port;

a memory comprising a first version of a cloud connector software component; and

a processor configured to:

run the first version of the cloud connector software component, where the first version of the cloud connector software component is associated with subscriptions of a cloud-based software platform to on-premises services,

receive second version of the cloud connector software component from the cloud-based software platform via the at least one network interface port,

install and initialize the second version of the cloud connector software component such that the second version of the cloud connector software component runs in parallel with the first version of the cloud connector software component;

perform, via at least one message sent from the second version of the cloud connector software component to the cloud-based software platform, end-to-end verification of the second version of the cloud connector software component, wherein the end-to-end verification is configured to confirm that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services, and

determine whether subscriptions of the cloud-based software platform to the on-premises services should be migrated from the first version of the cloud connector software component to the second version of the cloud connector software component in response to performing the end-to-end verification of the second version of the cloud connector software component.

9. The apparatus of claim 8 , wherein the processor is configured to:

determine that the end-to-end verification was successful such that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services; and

migrate the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component when it is determined that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services.

10. The apparatus of claim 8 , wherein the processor is configured to:

determine that the end-to-end verification was unsuccessful such that the second version of the cloud connector software component cannot communicate with at least one of the cloud-based software platform or the on-premises services; and

prevent migration of the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

11. The apparatus of claim 9 , wherein the processor is further configured to execute a local proxy that is configured to process traffic received from the on-premises services for forwarding to the cloud-based software platform via the first version of the cloud connector software component or the second version of the cloud connector software component, and to dynamically direct local inbound traffic to one of the first version of the cloud connector software component or the second version of the cloud connector software component during migration of the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

12. The apparatus of claim 11 , wherein following installing and initializing the second version of the cloud connector software component, the processor is configured to register a local port address for the second version of the cloud connector software component with the local proxy.

13. The apparatus of claim 12 , wherein the processor is configured to deregister a local port address for the first version of the cloud connector software component with the local proxy.

14. One or more non-transitory computer readable storage media encoded with instructions that, when executed by a processor, cause the processor to:

at an on-premises node running a first version of a cloud connector software component, receive a second version of the cloud connector software component from a cloud-based software platform, where the first version of the cloud connector software component is associated with subscriptions of the cloud-based software platform to on-premises services;

install and initialize the second version of the cloud connector software component at the on-premises node such that the second version of the cloud connector software component runs in parallel with the first version of the cloud connector software component at the on-premises node;

perform, via at least one message sent from the second version of the cloud connector software component to the cloud-based software platform, end-to-end verification of the second version of the cloud connector software component, wherein the end-to-end verification is configured to confirm that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services, and

determine whether subscriptions of the cloud-based software platform to the on-premises services should be migrated from the first version of the cloud connector software component to the second version of the cloud connector software component in response to performing the end-to-end verification of the second version of the cloud connector software component.

15. The transitory computer readable storage media of claim 14 , further comprising instructions that, when executed by a processor, cause the processor to:

determine that the end-to-end verification was successful such that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services; and

migrate the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component only when it is determined that the second version of the cloud connector software component can communicate with both the cloud-based software platform and the on-premises services.

16. The transitory computer readable storage media of claim 14 , further comprising instructions that, when executed by a processor, cause the processor to:

determine that the end-to-end verification was unsuccessful such that the second version of the cloud connector software component cannot communicate with at least one of the cloud-based software platform or the on-premises services; and

prevent migration of the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

17. The non-transitory computer readable storage media of claim 15 , wherein migration of the subscriptions is orchestrated by the cloud-based software platform.

18. The non-transitory computer readable storage media of claim 15 , wherein the instructions cause the processor of the on-premises node to invoke a local proxy configured to process traffic received from the on-premises services for forwarding to the cloud-based software platform via the first version of the cloud connector software component or the second version of the cloud connector software component, and to dynamically direct local inbound traffic to one of the first version of the cloud connector software component or the second version of the cloud connector software component during migration of the subscriptions from the first version of the cloud connector software component to the second version of the cloud connector software component.

19. The non-transitory computer readable storage media of claim 18 , further comprising instructions that, when executed by a processor, cause the processor to:

following install and initialization of the second version of the cloud connector software component at the on-premises node, register a local port address of the second version of the cloud connector software component with the local proxy.

20. The non-transitory computer readable storage media of claim 19 , further comprising instructions that, when executed by a processor, cause the processor to deregister a local port address of the first version of the cloud connector software component with the local proxy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2015
From: REGAN, GREGORY JOHN; COOPER, ANDREW JOHN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 037178/0108 →
Continuity (1)
Related Publication 20170153885A1 · Jun 1, 2017