IP Library Granted Patent US 10,805,351
Granted Patent B2
US 10,805,351 · App. 15/948,874 · Granted Oct 13, 2020

Policy engine for cloud platform

Inventors: Mark Lucovsky (Montecito, CA); Derek Collison (Atherton, CA); Vadim Spivak (Emerald Hills, CA); Gerald C. Chen (San Francisco, CA); Ramnivas Laddad (Palo Alto, CA)
Assignee: Pivotal Software, Inc.
H04L63/20G06F21/62G06F21/629H04L41/0893H04L63/0245H04L63/083H04L63/0815H04L63/10H04L63/108
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,805,351
App. No.
15/948,874
Granted
Oct 13, 2020
Kind
B2
Abstract

A policy engine is situated within the communications path of a cloud computing environment and a user of the cloud computing environment to comply with an organization's policies for deploying web applications in the cloud computing environment. The policy engine intercepts communications packets to the cloud computing environment from a user, such as a web application developer, for example, in preparation for deploying a web application in the cloud computing environment. The policy engine identifies commands corresponding to the communications packets and directs the communications packets to appropriate rules engines corresponding to such commands in order to execute rules to comply with an organization's policies. Upon completion of execution of the rules, the communications packets are forwarded to the cloud computing environment if they comply with the policies.

Claims (98)

1. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to implement components comprising:

a web application platform configured to execute in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment; and

a policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform,

wherein the policy engine is configured to:

intercept each command to the cloud controller issued by the management computer system,

direct the intercepted command to a particular rules engine of the plurality of rules engines,

apply, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

based on applying the one or more rules to the intercepted command for the cloud controller, automatically editing a command payload for the intercepted command before forwarding the command payload to the cloud controller.

2. The system of claim 1 , wherein the intercepted command is a cloud controller command for creating or managing a web application on the web application platform.

3. The system of claim 1 , wherein the policy engine is installed on the management computer system.

4. The system of claim 1 , wherein the policy engine is installed on the cloud computing environment.

5. A computer-implemented method comprising:

executing a web application platform on a plurality of computers in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment;

intercepting, by a policy engine installed on one or more computers, each command of the plurality of commands issued to the cloud controller issued by the management computer system, the policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform; and

for each intercepted command of one or more intercepted commands:

directing, by the policy engine, the intercepted command to a particular rules engine of the plurality of rules engines,

applying, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

based on applying the one or more rules to the intercepted command for the cloud controller, automatically editing, by the policy engine, a command payload for the intercepted command before forwarding the command payload to the cloud controller.

6. The method of claim 5 , wherein one or more of the intercepted commands is a cloud controller command for creating or managing a web application on the web application platform.

7. The method of claim 5 , wherein the policy engine is installed on the management computer system.

8. The method of claim 5 , wherein the policy engine is installed on the cloud computing environment.

9. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to implement components comprising:

a web application platform configured to execute in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment; and

a policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform,

wherein the policy engine is configured to:

intercept each command to the cloud controller issued by the management computer system,

direct the intercepted command to a particular rules engine of the plurality of rules engines,

apply, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

based on applying the one or more rules to the intercepted command for the cloud controller, automatically redirecting an issuing device of the intercepted command to access another networked service before forwarding the command payload to the cloud controller.

10. The system of claim 9 , wherein the intercepted command is a cloud controller command for creating or managing a web application on the web application platform.

11. The system of claim 9 , wherein the policy engine is installed on the management computer system.

12. The system of claim 9 , wherein the policy engine is installed on the cloud computing environment.

13. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to implement components comprising:

a web application platform configured to execute in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment; and

a policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform,

wherein the policy engine is configured to:

intercept each command to the cloud controller issued by the management computer system,

direct the intercepted command to a particular rules engine of the plurality of rules engines,

apply, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

based on applying the one or more rules to the intercepted command for the cloud controller, automatically accessing a networked service to establish a shut-down procedure for a web application on the cloud application platform before forwarding the command payload to the cloud controller.

14. The system of claim 13 , wherein the intercepted command is a cloud controller command for creating or managing a web application on the web application platform.

15. The system of claim 13 , wherein the policy engine is installed on the management computer system.

16. The system of claim 13 , wherein the policy engine is installed on the cloud computing environment.

17. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to implement components comprising:

a web application platform configured to execute in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment; and

a policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform,

wherein the policy engine is configured to:

intercept each command to the cloud controller issued by the management computer system,

direct the intercepted command to a particular rules engine of the plurality of rules engines,

apply, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

automatically perform an action based on applying the one or more rules to the intercepted command for the cloud controller,

wherein the policy engine comprises a plurality of response rules engines, each response rules engine corresponding to a respective response received from the cloud controller, and wherein each response rules engine is configured to apply one or more response rules to a response received from the cloud controller and to automatically perform an action on the response based on applying the one or more response rules to the response received from the cloud controller.

18. The system of claim 17 , wherein the intercepted command is a cloud controller command for creating or managing a web application on the web application platform.

19. The system of claim 17 , wherein the policy engine is installed on the management computer system.

20. The system of claim 17 , wherein the policy engine is installed on the cloud computing environment.

21. A computer-implemented method comprising:

executing a web application platform on a plurality of computers in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment;

intercepting, by a policy engine installed on one or more computers, each command of the plurality of commands issued to the cloud controller issued by the management computer system, the policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform; and

for each intercepted command of one or more intercepted commands:

directing, by the policy engine, the intercepted command to a particular rules engine of the plurality of rules engines,

applying, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

based on applying the one or more rules to the intercepted command for the cloud controller, automatically redirecting, by the policy engine, an issuing device of the intercepted command to access another networked service before forwarding the command payload to the cloud controller.

22. The method of claim 21 , wherein one or more of the intercepted commands is a cloud controller command for creating or managing a web application on the web application platform.

23. The method of claim 21 , wherein the policy engine is installed on the management computer system.

24. The method of claim 21 , wherein the policy engine is installed on the cloud computing environment.

25. A computer-implemented method comprising:

executing a web application platform on a plurality of computers in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment;

intercepting, by a policy engine installed on one or more computers, each command of the plurality of commands issued to the cloud controller issued by the management computer system, the policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform; and

for each intercepted command of one or more intercepted commands:

directing, by the policy engine, the intercepted command to a particular rules engine of the plurality of rules engines,

applying, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

based on applying the one or more rules to the intercepted command for the cloud controller, automatically accessing, by the policy engine, a networked service to establish a shut-down procedure for a web application on the cloud application platform before forwarding the command payload to the cloud controller.

26. The method of claim 25 , wherein one or more of the intercepted commands is a cloud controller command for creating or managing a web application on the web application platform.

27. The method of claim 25 , wherein the policy engine is installed on the management computer system.

28. The method of claim 25 , wherein the policy engine is installed on the cloud computing environment.

29. A computer-implemented method comprising:

executing a web application platform on a plurality of computers in a cloud computing environment, the web application platform comprising a plurality of virtualized computing resources that are configured to host deployed web applications that are accessible by user devices that are external to the web application platform,

wherein the web application platform comprises a cloud controller that is configured to receive a plurality of commands issued by a management computer system, the plurality of commands being requests to manage web applications hosted on the web application platform in the cloud computing environment;

intercepting, by a policy engine installed on one or more computers, each command of the plurality of commands issued to the cloud controller issued by the management computer system, the policy engine comprising a plurality of rules engines, each rules engine corresponding to a respective command of the plurality of commands for the cloud controller of the web application platform; and

for each intercepted command of the one or more intercepted commands:

directing, by the policy engine, the intercepted command to a particular rules engine of the plurality of rules engines,

applying, by the particular rules engine, one or more rules to the intercepted command for the cloud controller, and

automatically performing, by the policy engine, an action based on applying the one or more rules to the intercepted command for the cloud controller,

wherein the policy engine comprises a plurality of response rules engines, each response rules engine corresponding to a respective response received from the cloud controller, and wherein each response rules engine is configured to apply one or more response rules to a response received from the cloud controller and to automatically perform an action on the response based on applying the one or more response rules to the response received from the cloud controller.

30. The method of claim 29 , wherein one or more of the intercepted commands is a cloud controller command for creating or managing a web application on the web application platform.

31. The method of claim 29 , wherein the policy engine is installed on the management computer system.

32. The method of claim 29 , wherein the policy engine is installed on the cloud computing environment.

Assignments (4)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2022
From: VMWARE, INC.
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 060229/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2018
From: LUCOVSKY, MARK; COLLISON, DEREK; SPIVAK, VADIM; CHEN, GERALD C.; LADDAD, RAMNIVAS
To: VMWARE, INC.
Reel/Frame 045587/0511 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2018
From: VMWARE, INC.
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 045587/0553 →
Continuity (6)
Continuation 15419992 · Jan 30, 2017
Continuation 14738558 · Jun 12, 2015
Continuation 14064995 · Oct 28, 2013
Continuation 13094500 · Apr 25, 2011
Provisional Application 61327898 · Apr 26, 2010
Related Publication 20180302442A1 · Oct 18, 2018