IP Library Granted Patent US 8,930,941
Granted Patent B2
US 8,930,941 · App. 13/117,113 · Granted Jan 6, 2015

Capability model for deploying componentized applications

Inventors: Scott A. Vorthmann (Saratoga, CA); Daniel J. G. van der Rijn (San Carlos, CA); Mark L. Lambert (Menlo Park, CA); Laurent H. Domenech (San Jose, CA); Michael J. Kanaley (Palo Alto, CA)
Assignee: TIBCO Software Inc.
G06F8/60
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 8,930,941
App. No.
13/117,113
Filed
May 26, 2011
Granted
Jan 6, 2015
Kind
B2
Examiner
CHEN, QING
Art Unit
2191
USPC
717/177
Abstract

Disclosed are systems and methods for deploying a componentized application in a deployment environment using a deployment tool to receive a description of how to deploy the component onto a logical description of the deployment environment, and map the logical description of the deployment environment to the deployment environment based on the mapping data. The deployment tool may receive a component to be deployed in the deployment environment, and automatically deploy the component to the deployment environment. The deployment tool may also generate mapping data including one or more desired attributes of the deployment model based on the description.

Claims (67)

1. A system for deploying an application in a deployment environment, comprising:

a memory;

a processor in communication with the memory; and

a deployment module stored in the memory and executed by the processor, the deployment module operable to:

receive a component to be deployed in the deployment environment;

receive a description of how to deploy the component onto a logical deployment model, wherein the logical deployment model comprises a logical description of the deployment environment;

prior to deployment of the component, analyze a plurality of deployed components to determine if one or more of the plurality of deployed components provides capabilities required by the component;

if the capabilities required by the component are provided, generate mapping data including one or more desired attributes of the logical deployment model based on the description, map the logical deployment model to the deployment environment based on the mapping data, and automatically deploy the component to the deployment environment; and

if the capabilities required by the component are not provided, prevent deployment of the component to the deployment environment.

2. The system of claim 1 , wherein the description comprises one or more attributes required of one or more sets of machines for the component, and wherein the component is automatically deployed to one or more machines in the deployment environment having the one or more attributes.

3. The system of claim 2 , wherein the deployment module is further operable to prevent deployment of the component to the deployment environment if the deployment module cannot determine one or more machines in the deployment environment having the one or more attributes.

4. The system of claim 1 , wherein the deployment module is further operable to prevent deployment of the component to the deployment environment if the deployment module cannot map the logical deployment model to the deployment environment.

5. The system of claim 1 , wherein the deployment environment comprises one of a networked computing environment, a cloud computing environment, and a distributed computing environment.

6. The system of claim 1 , wherein the description comprises an artifact of data including attributes of nodes in the deployment environment.

7. The system of claim 1 , wherein the description comprises tiered sets of attributes of nodes.

8. The system of claim 1 , wherein the description comprises scalability requirements for deploying the component in the deployment environment.

9. The system of claim 1 , wherein the deployment module is further operable to:

receive a plurality of components to be deployed in the deployment environment;

receive the description, wherein the description further comprises how to deploy the plurality of components onto the logical deployment model; and

if the capabilities required by the component are provided, generate the mapping data including one or more desired attributes of the logical deployment model based on the description and automatically deploy the plurality of components to the deployment environment.

10. The system of claim 1 , wherein the one or more desired attributes comprise at least one selected from the group consisting of:

processing speed;

a machine having over three GHz of processing power;

a memory size;

connection speed with another node;

geographic location;

a particular type of operating system;

a virtual machine;

a particular type of database;

compatibility information;

security features; and

auditing features.

11. A method for deploying an application in a deployment environment, the method comprising:

receiving, by a deployment tool, a component to be deployed in the deployment environment;

receiving, by the deployment tool, a description of how to deploy the component onto a logical deployment model, wherein the logical deployment model comprises a logical description of the deployment environment;

prior to deployment of the component, analyzing, by the deployment tool, a plurality of deployed components to determine if one or more of the plurality of deployed components provides capabilities required by the component;

if the capabilities required by the component are provided, generating, by the deployment tool, mapping data including one or more desired attributes of the logical deployment model based on the description, mapping, by the deployment tool, the logical deployment model to the deployment environment based on the mapping data, and automatically deploying, by the deployment tool, the component to the deployment environment; and

if the capabilities required by the component are not provided, preventing, by the deployment tool, deployment of the component to the deployment environment.

12. The method according to claim 11 , wherein the description comprises one or more attributes required of one or more sets of machines for the component, and wherein the component is automatically deployed to one or more machines in the deployment environment having the one or more attributes.

13. The method according to claim 12 , wherein the method further comprises preventing, by the deployment tool, deployment of the component to the deployment environment if the deployment tool cannot determine one or more machines in the deployment environment having the one or more attributes.

14. The method according to claim 11 , wherein the method further comprises preventing, by the deployment tool, deployment of the component to the deployment environment if the deployment tool cannot map the logical deployment model to the deployment environment.

15. The method according to claim 11 , wherein the deployment environment comprises one of a networked computing environment, a cloud computing environment, and a distributed computing environment.

16. The method according to claim 11 , wherein the description comprises an artifact of data including attributes of nodes in the deployment environment.

17. The method according to claim 11 , wherein the description comprises tiered sets of attributes of nodes.

18. The method according to claim 11 , wherein the description comprises scalability requirements for deploying the component in the deployment environment.

19. The method according to claim 11 , wherein the method further comprises:

receiving, by the deployment tool, a plurality of components to be deployed in the deployment environment;

receiving, by the deployment tool, the description, wherein the description further comprises how to deploy the plurality of components onto the logical deployment model; and

if the capabilities required by the component are provided, generating, by the deployment tool, the mapping data including one or more desired attributes of the logical deployment model based on the description and automatically deploying, by the deployment tool, the plurality of components to the deployment environment.

20. The method according to claim 11 , wherein the one or more desired attributes comprise at least one selected from the group consisting of:

processing speed;

a machine having over three GHz of processing power;

a memory size;

connection speed with another node;

geographic location;

a particular type of operating system;

a virtual machine;

a particular type of database;

compatibility information;

security features; and

auditing features.

21. Logic for deploying an application in a deployment environment, the logic being embodied in a non-transitory computer-readable medium and when executed operable to:

receive a component to be deployed in the deployment environment;

receive a description of how to deploy the component onto a logical deployment model, wherein the logical deployment model comprises a logical description of the deployment environment;

prior to deployment of the component, analyze a plurality of deployed components to determine if one or more of the plurality of deployed components provides capabilities required by the component;

if the capabilities required by the component are provided, generate mapping data including one or more desired attributes of the logical deployment model based on the description, map the logical deployment model to the deployment environment based on the mapping data, and automatically deploy the component to the deployment environment; and

if the capabilities required by the component are not provided, prevent deployment of the component to the deployment environment.

Assignments (17)
CHANGE OF NAME Recorded Jul 1, 2026
From: CLOUD SOFTWARE GROUP, INC.
To: CLOUD SOFTWARE GROUP, LLC
Reel/Frame 075874/0220 →
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2014
From: DOMENECH, LAURENT
To: TIBCO SOFTWARE INC.
Reel/Frame 033947/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2014
From: VORTHMANN, SCOTT; VAN DER RIJN, DANIEL J.G.; LAMBERT, MARK L.
To: TIBCO SOFTWARE INC.
Reel/Frame 033340/0681 →
Continuity (2)
Provisional Application 61348722 · May 26, 2010
Related Publication 20120117559A1 · May 10, 2012