IP Library Granted Patent US 9,307,019
Granted Patent B2
US 9,307,019 · App. 14/497,196 · Granted Apr 5, 2016

Apparatus, systems and methods for deployment and management of distributed computing systems and applications

Inventors: Gaurav Manglik (Mountain View, CA); Tianying Fu (San Jose, CA)
Assignee: CLIQR TECHNOLOGIES, INC.
H04L67/1014G06F9/5072H04L67/1097H04L67/2823
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,307,019
App. No.
14/497,196
Granted
Apr 5, 2016
Kind
B2
Abstract

Embodiments of apparatus, systems and methods facilitate the running a distributed computing application on at least one of a plurality of cloud infrastructures. In some embodiments, the processor implemented method comprises: deriving an infrastructure independent representation of the distributed computing application; and running the distributed computing application on one of a plurality of cloud infrastructures by utilizing a cloud-specific implementation of the infrastructure independent representation of the distributed computing application. The cloud-specific implementation of the infrastructure independent representation corresponds to the cloud infrastructure on which the distributed application is run.

Claims (50)

1. A processor-implemented method comprising:

obtaining, based, in part, on system and pattern constructs associated with an application, a cloud-infrastructure independent representation of the application, wherein the cloud infrastructure independent representation comprises a representation of an underlying pattern of resource utilization of the application, and wherein the application is part of a class of applications comprising one of: master-slave applications, or map-reduce applications, or multi-tier applications; and

deploying the application on one or more cloud infrastructures, based, in part, on the cloud-infrastructure independent representation of the application by:

obtaining, for at least one cloud infrastructure of the one or more cloud infrastructures on which the application is deployed, a corresponding cloud-specific implementation of the application, wherein each corresponding cloud-specific implementation is obtained from the cloud independent representation of the application; and

initiating the execution, on the at least one cloud infrastructure of the one or more cloud infrastructures, corresponding cloud-specific implementations of the application.

2. The processor-implemented method of claim 1 , wherein the cloud infrastructure independent representation further comprises:

a representation of execution patterns for application tasks.

3. The processor-implemented method of claim 1 , wherein the cloud-infrastructure representation further comprises:

composite interfaces comprising one or more of:

scripts or Application Programming Interfaces (APIs).

4. The processor-implemented method of claim 1 , wherein the class of applications further comprises: Message Passing Interface (MPI) applications, or stateless applications.

5. The processor-implemented method of claim 1 , wherein the underlying pattern of resource utilization comprises a representation of storage, memory and network resources utilized by the application.

6. The processor-implemented method of claim 5 , wherein prior to deploying the application on one or more cloud infrastructures, the method comprises:

selecting the one or more clouds on which the application is to be deployed based, in part, on the availability, on the one or more clouds, of specified characteristics in the cloud-infrastructure representation of storage, memory, network resources and security settings utilized by the application.

7. The processor-implemented method of claim 5 , wherein the representation of storage resources comprises a machine readable specification of the storage filesystem characteristics.

8. The processor-implemented method of claim 7 , wherein the specifications of filesystem characteristics describe one or more of: a Network File System (“NFS”) over NAS/SAN, or a Cluster File System, or a Distributed File System (“DFS”).

9. The processor-implemented method of claim 5 , wherein the representation of storage resources utilized by the application further comprises a specification of one or more of: security, high-availability, performance, and/or redundancy constraints associated with storage resources utilized by the application.

10. A system comprising:

a memory to store system and pattern constructs associated with an application; and

at least one processor coupled to the memory, wherein the processor is configured to:

obtain, based, in part, on the system and pattern constructs associated with the application, a cloud-infrastructure independent representation of the application, wherein the cloud infrastructure independent representation comprises a representation of an underlying pattern of resource utilization of the application, and wherein the application is part of a class of applications comprising one of: master-slave applications, or map-reduce applications, or multi-tier applications; and

deploy the application on one or more cloud infrastructures, based, in part, on the cloud-infrastructure independent representation of the application and wherein to deploy the application on the one or more cloud infrastructures, the at least one processor is further configured to:

obtain, for at least one cloud infrastructure of the one or more cloud infrastructures on which the application is deployed, a corresponding cloud-specific implementation of the application, wherein each corresponding cloud-specific implementation is obtained from the cloud independent representation of the application; and

initiate the execution, on the at least one cloud infrastructure of the one or more cloud infrastructures, corresponding cloud-specific implementations of the application.

11. The system of claim 10 , wherein the cloud infrastructure independent representation further comprises:

a representation of execution patterns for application tasks.

12. The system of claim 10 , wherein the cloud-infrastructure representation further comprises:

composite interfaces comprising one or more of:

scripts or Application Programming Interfaces (APIs).

13. The system of claim 10 , wherein the class of applications further comprises: Message Passing Interface (MPI) applications, or stateless applications.

14. The system of claim 10 , wherein the underlying pattern of resource utilization comprises a representation of storage, memory and network resources utilized by the application.

15. The system of claim 14 , wherein prior to deploying the application on one or more cloud infrastructures, the method comprises:

selecting the one or more clouds on which the application is to be deployed based, in part, on the availability, on the one or more clouds, of specified characteristics in the cloud-infrastructure representation of storage, memory, network resources and security settings utilized by the application.

16. The system of claim 14 , wherein the representation of storage resources comprises a machine readable specification of the storage filesystem characteristics.

17. The system of claim 16 , wherein the specifications of filesystem characteristics describe one or more of: a Network File System (“NFS”) over NAS/SAN, or a Cluster File System, or a Distributed File System (“DFS”).

18. The system of claim 14 , wherein the representation of storage resources utilized by the application further comprises a specification of one or more of: security, high-availability, performance, and/or redundancy constraints associated with storage resources utilized by the application.

19. A non-transitory computer-readable medium comprising instructions, which when executed by a processor, perform steps in a method comprising:

obtaining, based, in part, on system and pattern constructs associated with an application, a cloud-infrastructure independent representation of the application, wherein the cloud infrastructure independent representation comprises a representation of an underlying pattern of resource utilization of the application, and wherein the application is part of a class of applications comprising one of: master-slave applications, or map-reduce applications, or multi-tier applications; and

deploying the application on one or more cloud infrastructures, based, in part, on the cloud-infrastructure independent representation of the application by:

obtaining, for at least one cloud infrastructure of the one or more cloud infrastructures on which the application is deployed, a corresponding cloud-specific implementation of the application, wherein each corresponding cloud-specific implementation is obtained from the cloud independent representation of the application; and

initiating the execution, on the at least one cloud infrastructure of the one or more cloud infrastructures, corresponding cloud-specific implementations of the application.

20. The computer-readable medium of claim 19 , wherein the cloud infrastructure independent representation further comprises:

a representation of execution patterns for application tasks.

21. The computer-readable medium of claim 19 , wherein the cloud-infrastructure representation further comprises:

composite interfaces comprising one or more of:

scripts or Application Programming Interfaces (APIs).

22. The computer-readable medium of claim 19 , wherein the class of applications further comprises: Message Passing Interface (MPI) applications, or stateless applications.

23. The computer-readable medium of claim 19 , wherein the underlying pattern of resource utilization comprises a representation of storage, memory and network resources utilized by the application.

24. The computer-readable medium of claim 23 , wherein prior to deploying the application on one or more cloud infrastructures, the method comprises:

selecting the one or more clouds on which the application is to be deployed based, in part, on the availability, on the one or more clouds, of specified characteristics in the cloud-infrastructure representation of storage, memory, network resources and security settings utilized by the application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2017
From: CLIQR TECHNOLOGIES LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 043310/0258 →
CHANGE OF NAME Recorded Aug 16, 2017
From: CLIQR TECHNOLOGIES, INC.
To: CLIQR TECHNOLOGIES LLC
Reel/Frame 043576/0311 →
Continuity (2)
Continuation 13024302 · Feb 9, 2011
Related Publication 20150039770A1 · Feb 5, 2015