IP Library › Granted Patent US 8,819,701
Granted Patent B2
US 8,819,701 · App. 12/636,712 · Granted Aug 26, 2014

Cloud computing monitoring and management system

Inventors: Bradley Wheeler (Snohomish, WA); Bryan Griffin (Bellevue, WA)
Assignee: Microsoft Corporation
G06F9/542G06F9/546
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,819,701
App. No.
12/636,712
Granted
Aug 26, 2014
Kind
B2
Abstract

A cloud computing monitoring system has an alert capturing system and a message transfer system that provides performance tracking and alert management to a local monitoring system. The alert capturing system may operate as part of a managed code framework and may capture and route alerts that may be transmitted to an operating system, as well as application exceptions and debugging information. A message queuing system may transmit the alerts to a local monitoring system, which may have a connector that subscribes to the cloud system's message queuing system.

Claims (68)

1. A computing system comprising:

one or more computing devices of a hardware fabric configured to provide a cloud computing environment for executing a cloud application uploaded to the cloud computing environment by a customer;

a monitoring framework implemented within the cloud computing environment and linked to the cloud application; and

a message queuing system implemented within the cloud computing environment and used by the monitoring framework to communicate with a remote monitoring application that is operating on a computing device located within an information infrastructure of an enterprise, wherein:

the monitoring framework is configured to collect performance information generated by the cloud application and provide the performance information to the message queuing system within the cloud computing environment;

the message queuing system is configured to provide a subscription service for a plurality of message queues, encapsulate the performance information in a message that is compatible with the remote monitoring application operating on the computing device located within the information infrastructure of the enterprise, and store the message encapsulating the performance information in a particular message queue associated with the remote monitoring application;

the remote monitoring application is configured to subscribe to the particular message queue and retrieve the message encapsulating the performance information from the particular message queue within the cloud computing environment over a wide area network; and

the remote monitoring application is further configured to aggregate the performance information from the retrieved message with other performance information collected by the monitoring application from on-premise components that are located within the information infrastructure of the enterprise and monitored by the remote monitoring application.

2. The computing system of claim 1 , wherein the remote monitoring application presents an authentication token to subscribe to the message queue.

3. The computing system of claim 1 , wherein the monitoring framework is included in a runtime environment for the cloud computing environment.

4. The computing system of claim 1 , wherein the monitoring framework is dynamically linked to and called by the cloud application.

5. The computing system of claim 1 , wherein:

the monitoring framework within the cloud computing environment is a runtime version of the monitoring framework, and

the cloud application is uploaded from a development platform that includes a development version of the monitoring framework.

6. The computing system of claim 1 , wherein:

the monitoring framework is configured to collect and store exceptions thrown by the cloud application; and

the remote monitoring application is configured to generate alerts for the exceptions thrown by the cloud application.

7. The computing system of claim 1 , wherein the monitoring framework is configured to collect and store debugging information generated when the cloud application is operated in a debugging mode.

8. The computing system of claim 1 , wherein:

the cloud computing environment includes multiple instances of the cloud application; and

the monitoring framework is configured to aggregate performance information generated by the multiple instances of the cloud application.

9. A method comprising:

providing, by one or more computing devices of a hardware fabric, a cloud computing environment for executing a cloud application uploaded to the cloud computing environment by a customer;

implementing a monitoring framework within the cloud computing environment;

linking the monitoring framework to the cloud application within the cloud computing environment;

implementing a message queuing system within the cloud computing environment, wherein the message queuing system is used by the monitoring framework to communicate with a remote monitoring application that is operating on a computing device located within an information infrastructure of an enterprise;

collecting, by the monitoring framework, performance information generated by the cloud application;

providing, by the monitoring framework, the performance information to the message queuing system within the cloud computing environment;

providing, by the message queuing system, a subscription service for a plurality of message queues;

encapsulating, by the message queuing system, the performance information in a message that is compatible with the remote monitoring application operating on the computing device located within the information infrastructure of the enterprise; and

storing, by the message queuing system, the message encapsulating the performance information in a particular message queue associated with the remote monitoring application, wherein:

the remote monitoring application is configured to subscribe to the particular message queue and retrieve the message encapsulating the performance information from the particular message queue within the cloud computing environment over a wide area network; and

the remote monitoring application is further configured to aggregate the performance information from the retrieved message with other performance information collected by the monitoring application from on-premise components that are located within the information infrastructure of the enterprise and monitored by the remote monitoring application.

10. The method of claim 9 , wherein the monitoring framework is included in a runtime environment for the cloud computing environment.

11. The method of claim 9 , further comprising:

authenticating, by the message queuing system, a subscription request from the remote monitoring application, the subscription request for subscribing to the particular message queue.

12. The method of claim 9 , wherein:

the monitoring framework within the cloud computing environment is a runtime version of the monitoring framework, and

the cloud application is uploaded from a development platform that includes a development version of the monitoring framework.

13. The method of claim 9 , wherein:

the monitoring framework is configured to collect and store exceptions thrown by the cloud application; and

the remote monitoring application is configured to generate alerts for the exceptions thrown by the cloud application.

14. The method of claim 9 , wherein the monitoring framework is configured to collect and store debugging information generated when the cloud application is operated in a debugging mode.

15. The method of claim 9 , wherein:

the cloud computing environment includes multiple instances of the cloud application; and

the monitoring framework is configured to aggregate performance information generated by the multiple instances of the cloud application.

16. A computer-readable storage device storing computer-executable instructions that, when executed by one or more computing devices of a hardware fabric, perform a method comprising:

providing, by the one or more computing devices of the hardware fabric, a cloud computing environment for executing a cloud application uploaded to the cloud computing environment by a customer;

implementing a monitoring framework within the cloud computing environment;

linking the monitoring framework to the cloud application within the cloud computing environment;

implementing a message queuing system within the cloud computing environment, wherein the message queuing system is used by the monitoring framework to communicate with a remote monitoring application that is operating on a computing device located within an information infrastructure of an enterprise;

collecting, by the monitoring framework, performance information generated by the cloud application;

providing, by the monitoring framework, the performance information to the message queuing system within the cloud computing environment;

providing, by the message queuing system, a subscription service for a plurality of message queues;

encapsulating, by the message queuing system, the performance information in a message that is compatible with the remote monitoring application operating on the computing device located within the information infrastructure of the enterprise; and

storing, by the message queuing system, the message encapsulating the performance information in a particular message queue associated with the remote monitoring application, wherein:

the remote monitoring application is configured to subscribe to the particular message queue and retrieve the message encapsulating the performance information from the particular message queue within the cloud computing environment over a wide area network; and

the remote monitoring application is further configured to aggregate the performance information from the retrieved message with other performance information collected by the monitoring application from on-premise components that are located within the information infrastructure of the enterprise and monitored by the remote monitoring application.

17. The computer-readable storage device of claim 16 , wherein:

the cloud computing environment includes multiple instances of the cloud application; and

the monitoring framework is configured to aggregate performance information generated by the multiple instances of the cloud application.

18. The computer-readable storage device of claim 16 , wherein:

the monitoring framework within the cloud computing environment is a runtime version of the monitoring framework, and

the cloud application is uploaded from a development platform that includes a development version of the monitoring framework.

19. The computer-readable storage device of claim 16 , wherein:

the monitoring framework is configured to collect and store exceptions thrown by the cloud application; and

the remote monitoring application is configured to generate alerts for the exceptions thrown by the cloud application.

20. The computer-readable storage device of claim 16 , wherein the monitoring framework is configured to collect and store debugging information generated when the cloud application is operated in a debugging mode.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2009
From: WHEELER, BRADLEY; GRIFFIN, BRYAN
To: MICROSOFT CORPORATION
Reel/Frame 023644/0849 →
Continuity (1)
Related Publication 20110145836A1 · Jun 16, 2011