IP Library Granted Patent US 9,882,787
Granted Patent B2
US 9,882,787 · App. 14/150,988 · Granted Jan 30, 2018

Service management in appliance-based solutions

Inventors: Xuhan Peng (Beijing, CN); Susette Townsend (Rochester, MN)
Assignee: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
H04L41/5041G06F9/5005H04L43/10H04L67/1012H04L67/1014H04L67/16
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 9,882,787
App. No.
14/150,988
Granted
Jan 30, 2018
Kind
B2
Abstract

System, method, and computer program product to perform an operation comprising deploying a first appliance including at least one service to a computing environment including a plurality of appliances, determining, for each service in the first appliance, whether the service is active on at least one other appliance of the plurality of appliances in the computing environment, and activating, on the first appliance, only each service not determined to be active on at least one other appliance of the plurality of appliances, so that each service determined to be active in at least one other appliance of the plurality of appliances is not activated on the first appliance.

Claims (82)

1. A computer program product, comprising:

a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by a processor to perform an operation comprising:

deploying a first appliance including a first version of a first service and a first version of a second service, of a plurality of services, to a computing environment including a plurality of appliances, wherein the plurality of appliances comprise at least one virtual appliance and at least one hardware appliance;

determining, for each of the plurality of services in the first appliance, whether each of the respective services is active on at least one other appliance of the plurality of appliances in the computing environment based on a plurality of attributes of each respective service, wherein the plurality of attributes comprise a respective version of each service;

determining that a second version of the first service is active on a second appliance, of the plurality of appliances;

determining, based on the attributes of the first service, that the second version of the first service is an earlier version of the first service than the first version of the first service;

determining that a first rule of a plurality of predefined rules for executing services in the computing environment permits two or more instances of the first version of the second service to execute in the computing environment;

activating, on the first appliance: (i) the first version of the first service, (ii) the first version of the second service, and (iii) the remaining services of the plurality of services that are not in violation of the corresponding rule, wherein the violation of each rule is based on whether the remaining services are active on at least one other appliance of the plurality of appliances;

determining that a second rule of the plurality of predefined rules restricts two or more versions of the first service from executing in the computing environment;

deactivating the second version of the first service on the second appliance based on the second rule.

2. The computer program product of claim 1 , wherein the first version of the second service is active on a third appliance, of the plurality of appliances, wherein a data store is configured to maintain the plurality of attributes of each service and the plurality of predefined rules, the operation further comprising:

updating the data store to reflect the deployment of the first appliance including the activation of the first versions of the first and second services on the first appliance; and

updating the data store to reflect the deactivation of the second version of the first service on the second appliance.

3. The computer program product of claim 2 , wherein the plurality of attributes further comprise: (i) an activity state of each service, (ii) a service dependency of each service, and (iii) an event triggering a change in the activity state of each service.

4. The computer program product of claim 1 , the operation further comprising:

removing the first version of the first service from the first appliance and the third appliance;

identifying the second version of the first service on the second appliance of the plurality of appliances; and

activating the second version of the first service on the second appliance.

5. The computer program product of claim 1 , the operation further comprising:

upon determining that a resource utilization of a resource of the first appliance exceeds a specified threshold, wherein the resource comprises one or more of: (i) a processor, (ii) a memory, (iii) a storage, and (iv) a network connection:

deactivating the first version of the first service on the first appliance; and

activating the second version of the first service on the second appliance.

6. The computer program product of claim 1 , the operation further comprising:

determining, based on the plurality of attributes of each service, that a third service, of the plurality of services included in the first appliance is dependent on the second version of the first service;

deactivating the first version of the first service on the first appliance based on the determined dependency; and

activating the second version of the first service on the second appliance based on the determined dependency.

7. The computer program product of claim 1 , wherein the plurality of rules specify a maximum number of active instances of each respective service in the computing environment, the operation further comprising prior to activating the remaining services on the first appliance:

determining, for each of the plurality of remaining services, a count of active instances of the respective service on the plurality of appliances; and

determining, for each of the plurality of remaining services, whether the count of active instances of the remaining service violates the maximum number of instances of the corresponding rule.

8. A system, comprising:

one or more computer processors; and

a memory containing a program which when executed by the one or more computer processors performs an operation, the operation comprising:

deploying a first appliance including a first version of a first service and a first version of a second service, of a plurality of services, to a computing environment including a plurality of appliances, wherein the plurality of appliances comprise at least one virtual appliance and at least one hardware appliance;

determining, for each of the plurality of services in the first appliance, whether each of the respective services is active on at least one other appliance of the plurality of appliances in the computing environment based on a plurality of attributes of each respective service, wherein the plurality of attributes comprise a respective version of each service;

determining that a second version of the first service is active on a second appliance, of the plurality of appliances;

determining, based on the attributes of the first service, that the second version of the first service is an earlier version of the first service than the first version of the first service;

determining that the first version of the second service is active on a third appliance, of the plurality of appliances;

determining that a first rule of a plurality of predefined rules for executing services in the computing environment permits two or more instances of the first version of the second service to execute in the computing environment;

activating, on the first appliance: (i) the first version of the first service, (ii) the first version of the second service, and (iii) the remaining services of the plurality of services that are not in violation of the corresponding rule, wherein the violation of each rule is based on whether the remaining services are active on at least one other appliance of the plurality of appliances;

determining that a second rule of the plurality of predefined rules restricts two or more versions of the first service from executing in the computing environment;

deactivating the second version of the first service on the second appliance based on the second rule.

9. The system of claim 8 , wherein the first version of the second service is active on a third appliance, of the plurality of appliances, wherein a data store is configured to maintain the plurality of attributes of each service and the plurality of predefined rules, the operation further comprising:

updating the data store to reflect the deployment of the first appliance including the activation of the first versions of the first and second services on the first appliance; and

updating the data store to reflect the deactivation of the second version of the first service on the second appliance.

10. The system of claim 9 , wherein the plurality of attributes further comprise: (i) an activity state of each service, (ii) a service dependency of each service, and (iii) an event triggering a change in the activity state of each service.

11. The system of claim 8 , the operation further comprising:

removing the first version of the first service from the first appliance and the third appliance;

identifying the second version of the first service on the second appliance of the plurality of appliances; and

activating the second version of the first service on the second appliance.

12. The system of claim 8 , the operation further comprising:

upon determining that a resource utilization of a resource of the first appliance exceeds a specified threshold, wherein the resource comprises one or more of: (i) a processor, (ii) a memory, (iii) a storage, and (iv) a network connection:

deactivating the first version of the first service on the first appliance; and

activating the second version of the first service on the second appliance.

13. The system of claim 8 , the operation further comprising:

determining, based on the plurality of attributes of each service, that a third service, of the plurality of services included in the first appliance is dependent on the second version of the first service;

deactivating the first version of the first service on the first appliance based on the determined dependency; and

activating the second version of the first service on the second appliance based on the determined dependency.

14. A method, comprising:

deploying a first appliance including a first version of a first service and a first version of a second service, of a plurality of services, to a computing environment including a plurality of appliances, wherein the plurality of appliances comprise at least one virtual appliance and at least one hardware appliance;

determining, for each of the plurality of services in the first appliance, whether each of the respective services is active on at least one other appliance of the plurality of appliances in the computing environment based on a plurality of attributes of each respective service, wherein the plurality of attributes comprise a respective version of each service;

determining that a second version of the first service is active on a second appliance, of the plurality of appliances;

determining, based on the attributes of the first service, that the second version of the first service is an earlier version of the first service than the first version of the first service;

determining that a first rule of a plurality of predefined rules for executing services in the computing environment permits two or more instances of the first version of the second service to execute in the computing environment;

activating, on the first appliance: (i) the first version of the first service, (ii) the first version of the second service, and (iii) the remaining services of the plurality of services that are not in violation of the corresponding rule, wherein the violation of each rule is based on whether the remaining services are active on at least one other appliance of the plurality of appliances;

determining that a second rule of the plurality of predefined rules restricts two or more versions of the first service from executing in the computing environment;

deactivating the second version of the first service on the second appliance based on the second rule.

15. The method of claim 14 , wherein the first version of the second service is active on a third appliance, of the plurality of appliances, wherein a data store is configured to maintain the plurality of attributes of each service and the plurality of predefined rules, the method further comprising:

updating the data store to reflect the deployment of the first appliance including the activation of the first versions of the first and second services on the first appliance; and

updating the data store to reflect the deactivation of the second version of the first service on the second appliance.

16. The method of claim 15 , wherein the plurality of attributes further comprise: (i) an activity state of each service, (ii) a service dependency of each service, and (iii) an event triggering a change in the activity state of each service.

17. The method of claim 16 , further comprising:

removing the first version of the first service from the first appliance and the third appliance;

identifying the second version of the first service on the second appliance of the plurality of appliances; and

activating the second version of the first service on the second appliance.

18. The method of claim 17 , further comprising:

upon determining that a resource utilization of a resource of the first appliance exceeds a specified threshold, wherein the resource comprises one or more of: (i) a processor, (ii) a memory, (iii) a storage, and (iv) a network connection:

deactivating the first version of the first service on the first appliance; and

activating the second version of the first service on the second appliance.

19. The method of claim 18 , further comprising:

determining, based on the plurality of attributes of each service, that a third service, of the plurality of services included in the first appliance is dependent on the second version of the first service;

deactivating the first version of the first service on the first appliance based on the determined dependency; and

activating the second version of the first service on the second appliance based on the determined dependency.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050309/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2014
From: PENG, XUHAN; TOWNSEND, SUSETTE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031926/0913 →
Continuity (1)
Related Publication 20150195151A1 · Jul 9, 2015