IP Library Granted Patent US 9,661,071
Granted Patent B2
US 9,661,071 · App. 15/013,701 · Granted May 23, 2017

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

Inventors: Gaurav Manglik (Mountian 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,661,071
App. No.
15/013,701
Granted
May 23, 2017
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, wherein the underlying pattern of resource utilization of the application is not cloud-specific, 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 each 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 execution, on the one or more cloud infrastructures, the 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 one or more of: storage resources, memory resources, and network resources utilized by the application.

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

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

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

8. The processor-implemented method of claim 7 , wherein the specification of storage 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 the storage resources utilized by the application further comprises a specification of one or more of: security parameters, high-availability parameters, performance parameters, or redundancy constraints.

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, wherein the underlying pattern of resource utilization of the application is not cloud-specific, 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 by:

obtaining, for each 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 execution, on the one or more cloud infrastructures, the 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 one or more of: storage resources, memory resources, and network resources utilized by the application.

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

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

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

17. The system of claim 16 , wherein the specification of storage 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 parameters, high-availability parameters, performance parameters, or redundancy constraints.

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, wherein the underlying pattern of resource utilization of the application is not cloud-specific, 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 each 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 execution, on the one or more cloud infrastructures, the 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 one or more of: storage resources, memory resources, 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 cloud infrastructures on which the application is to be deployed based, in part, on the availability, on the one or more cloud infrastructures, of specified characteristics in the cloud infrastructure representation of one or more of the storage resources, the memory resources, the network resources, or 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 (3)
Continuation 14497196 · Sep 25, 2014
Continuation 13024302 · Feb 9, 2011
Related Publication 20160156707A1 · Jun 2, 2016