IP Library Granted Patent US 9,305,000
Granted Patent B1
US 9,305,000 · App. 14/227,089 · Granted Apr 5, 2016

Creating and publishing service level representations of applications from operational representations

Inventors: Tushar Bandopadhyay (San Jose, CA); Bharat Dighe (Sunnyvale, CA)
Assignee: Veritas US IP Holdings LLC
G06F17/30091
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,305,000
App. No.
14/227,089
Granted
Apr 5, 2016
Kind
B1
Abstract

Service level representations of applications being made highly available are automatically created and published, based on their operational representations. A repository containing multiple application service templates is maintained. Each application service template defines the attributes of an application type to include in corresponding service level representations. To create a service level representation for a specific application instance, an appropriate application service template is selected from the repository. The attributes of a copy of the selected template are populated with values describing the application instance and its associated resources (including a service identifier), thereby automatically creating a service level representation of the application instance. The attributes can be populated with data read from resources of the operational representation of the application instance. The created service level representation is validated, and published to the application service consumer for which the application is being made highly available.

Claims (64)

1. A computer implemented method for automatically creating application service level representations of applications executing on a cluster and being made highly available, based on cluster level operational representations of the applications and their associated resources, the method comprising the steps of:

maintaining, by a computer, a repository of multiple application service templates, wherein each application service template defines attributes of an application type to include in corresponding application service level representations, and information defining how the attributes of the application service template are to be populated with values to represent a specific instance of an application of the application type at a service level;

for a specific instance of an application executing on the cluster and being made highly available, selecting, by the computer, an application service template from the repository to use to create a corresponding application service level representation;

populating, by the computer, the attributes of a copy of the selected application service template with values describing the specific instance of the application and its associated resources, thereby automatically creating a service level representation of the specific instance of the application, wherein the populating the attributes further comprises assigning a value to a service identifier which can be used to access and reference the specific instance of the application at the service level;

validating, by the computer, the values used to populate the attributes of the service level representation created for the specific instance of the application; and

publishing, by the computer, the service level representation created for the specific instance of the application to an application service consumer for which the application is being made highly available, wherein the application service consumer can access the specific instance of the application executing on the cluster at the service level through the service identifier.

2. The method of claim 1 further comprising:

creating a corresponding application service template for each one of a plurality of application types for which a corresponding cluster level operational representation is available.

3. The method of claim 1 wherein:

information defining how the attributes of at least one specific application service template are to be populated with values describes automatically extracting data from components of a corresponding cluster level operational representation.

4. The method of claim 1 wherein:

the each application service template and each cluster level operational representation of an instance of an application executing on the cluster contain a key attribute that identifies a type of application; and

wherein the selecting the application service template for the specific instance of the application executing on the cluster to use to create the corresponding application service level representation further comprises: selecting an application service template with a key attribute that matches a key attribute of the cluster level operational representation of the specific instance of the application.

5. The method of claim 1 wherein the populating the attributes of the copy of the selected application service template with values describing the specific instance of the application and its associated resources further comprises:

reading values from resources of a cluster level operational representation of the specific instance of the application executing on the cluster; and

using the values read from resources of the cluster level operational representation to fill in the attributes of the copy of the selected application service template.

6. The method of claim 1 wherein the populating the attributes of the copy of the selected application service template with values describing the specific instance of the application and its associated resources further comprises:

reading values from resources of a cluster level operational representation of the specific instance of the application executing on the cluster;

using a value read from a resource of the cluster level operational representation to obtain additional information from outside the cluster level operational representation; and

using the additional information obtained to fill in at least one attribute of the copy of the selected application service template.

7. The method of claim 1 wherein the validating the values used to populate the attributes of the service level representation created for the specific instance of the application further comprises:

ensuring that each value used to populate the attribute of the service level representation created is a legal value for an attribute of a given type.

8. The method of claim 1 wherein validating the values used to populate the attributes of the service level representation created for the specific instance of the application further comprises:

ensuring that each required attribute of the service level representation created has been filled in with a value.

9. The method of claim 1 wherein the validating the values used to populate the attributes of the service level representation created for the specific instance of the application further comprises:

checking the service identifier of the service level representation created; and

ensuring that the service identifier of the service level representation created is valid.

10. The method of claim 1 wherein the publishing the service level representation created for the specific instance of the application to the application service consumer further comprises:

publishing the service level representation in a service catalog available to the application service consumer.

11. At least one non-transitory computer readable medium for automatically creating application service level representations of applications executing on a cluster and being made highly available, based on cluster level operational representations of the applications and their associated resources, the at least one non-transitory computer readable medium storing computer executable instructions that, when loaded into computer memory and executed by at least one processor of a computing device, cause the computing device to perform the following steps:

maintaining a repository of multiple application service templates, wherein each application service template defines attributes of an application type to include in corresponding application service level representations, and information defining how the attributes of the application service template are to be populated with values to represent a specific instance of an application of the application type at a service level;

for a specific instance of an application executing on the cluster and being made highly available, selecting an application service template from the repository to use to create a corresponding application service level representation;

populating the attributes of a copy of the selected application service template with values describing the specific instance of the application and its associated resources, thereby automatically creating a service level representation of the specific instance of the application, wherein the populating the attributes further comprises assigning a value to a service identifier which can be used to access and reference the specific instance of the application at the service level;

validating the values used to populate the attributes of the service level representation created for the specific instance of the application; and

publishing the service level representation created for the specific instance of the application to an application service consumer for which the application is being made highly available, wherein the application service consumer can access the specific instance of the application executing on the cluster at the service level through the service identifier.

12. The at least one non-transitory computer readable medium of claim 11 further comprising stored computer executable instructions that, when loaded into computer memory and executed by the at least one processor of the computing device, cause the computing device to perform the following additional step:

creating a corresponding application service template for each one of a plurality of application types for which a corresponding cluster level operational representation is available.

13. The at least one non-transitory computer readable medium of claim 11 wherein:

information defining how the attributes of at least one specific application service template are to be populated with values describes automatically extracting data from components of a corresponding cluster level operational representation.

14. The at least one non-transitory computer readable medium of claim 11 wherein:

the each application service template and each cluster level operational representation of an instance of an application executing on the cluster contain a key attribute that identifies a type of application; and

wherein the selecting the application service template for the specific instance of the application executing on the cluster to use to create the corresponding application service level representation further comprises: selecting an application service template with a key attribute that matches a key attribute of the cluster level operational representation of the specific instance of the application.

15. The at least one non-transitory computer readable medium of claim 11 wherein the populating the attributes of the copy of the selected application service template with values describing the specific instance of the application and its associated resources further comprises:

reading values from resources of a cluster level operational representation of the specific instance of the application executing on the cluster; and

using the values read from resources of the cluster level operational representation to fill in the attributes of the copy of the selected application service template.

16. The at least one non-transitory computer readable medium of claim 11 wherein the populating the attributes of the copy of the selected application service template with values describing the specific instance of the application and its associated resources further comprises:

reading values from resources of a cluster level operational representation of the specific instance of the application executing on the cluster;

using a value read from a resource of the cluster level operational representation to obtain additional information from outside the cluster level operational representation; and

using the additional information obtained to fill in at least one attribute of the copy of the selected application service template.

17. The at least one non-transitory computer readable medium of claim 11 wherein the validating the values used to populate the attributes of the service level representation created for the specific instance of the application further comprises:

ensuring that each value used to populate an attribute of the service level representation created is a legal value for an attribute of a given type.

18. The at least one non-transitory computer readable medium of claim 11 wherein the validating the values used to populate the attributes of the service level representation created for the specific instance of the application further comprises:

checking the service identifier of the service level representation created; and

ensuring that the service identifier of the service level representation created is valid.

19. The at least one non-transitory computer readable medium of claim 11 wherein the publishing the service level representation created for the specific instance of the application to the application service consumer further comprises:

publishing the service level representation in a service catalog available to the application service consumer.

20. A computer system for automatically creating application service level representations of applications executing on a cluster and being made highly available, based on cluster level operational representations of the applications and their associated resources, the computer system comprising:

a processor;

system memory;

an application service template maintaining module residing in the system memory, the application service template maintaining module being programmed to maintain a repository of multiple application service templates, wherein each application service template defines attributes of an application type to include in corresponding application service level representations, and information defining how the attributes of the application service template are to be populated with values to represent a specific instance of an application of the application type at a service level;

a template selecting module residing in the system memory, the template selecting module being programmed to select, for a specific instance of an application executing on the cluster and being made highly available, an application service template from the repository to use to create a corresponding application service level representation;

an attribute populating module residing in the system memory, the attribute populating module being programmed to populate the attributes of a copy of the selected application service template with values describing the specific instance of the application and its associated resources, thereby automatically creating a service level representation of the specific instance of the application, wherein the populating the attributes further comprises assigning a value to a service identifier which can be used to access and reference the specific instance of the application at the service level;

a validating module residing in the system memory, the validating module being programmed to validate the values used to populate the attributes of the service level representation created for the specific instance of the application; and

a publishing module residing in the system memory, the publishing module being programmed to publish the service level representation created for the specific instance of the application to an application service consumer for which the application is being made highly available, wherein the consumer can access the specific instance of the application executing on the cluster at the service level through the service identifier.

Assignments (14)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
SECURITY INTEREST Recorded Mar 17, 2025
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070530/0497 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: BANDOPADHYAY, TUSHAR; DIGHE, BHARAT
To: SYMANTEC CORPORATION
Reel/Frame 032539/0511 →