IP Library Granted Patent US 7,454,486
Granted Patent B2
US 7,454,486 · App. 10/191,816 · Granted Nov 18, 2008

Profiling and tracing distributed applications

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 7,454,486
App. No.
10/191,816
Granted
Nov 18, 2008
Kind
B2
Abstract

Profile controls for profiling a distributed application are included in messages that are also used by the distributed application to transport data. A profile initiator causes profile controls to be inserted in the header portion of a message that is being transported across a distributed system. The profile initiator may insert profile controls directly or may cause a message router that receives the message to merge profile controls into the message. The message router may receive profile controls from the profile initiator or from computer-readable media that are maintained at the message router. The message, which now includes distributed application data and profile controls, is routed to a message recipient. The message recipient accesses the message to identify profile actions that are to be performed at the message recipient. The message recipient performs at least one of the identified profile actions.

Claims (43)

1. In a distributed system, the distributed system comprising a plurality of modules of a distributed application, each module connected to a common network and at least one message router, and the plurality of modules distributing the execution of the distributed application across a plurality of different computer systems, a method for profiling the distributed application by configuring profile actions that are to be performed at a message recipient, the method comprising the following:

an act of the message router receiving a first message from a module of the distributed application and intended for receipt by another module of the distributed application, the first message comprising distributed application data for the distributed application running on the distributed system;

an act of the message router receiving profile controls, the profile controls including control information comprising executable instructions, which, when received by a message recipient, will cause the message recipient to perform profile actions indicated by the profile controls;

an act of the message router modifying the first message by merging the profile controls including the executable instructions into the first message; and

an act of the message router routing the modified first message to a destination message recipient designated in the first message, causing the destination message recipient to record profile data as indicated by the inserted profile controls.

2. The method as recited in claim 1 , wherein the act of receiving a first message at the message router comprises the following:

an act of receiving a Simple Object Access Protocol envelope.

3. The method as recited in claim 1 , wherein the act of receiving a first message at the message router comprises the following:

an act of receiving a message that was transported using a Remote Method Invocation protocol.

4. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of receiving a second message that includes profile controls.

5. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of receiving a second message including instructions that represent profile controls that are to be received.

6. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of receiving profile controls from one or more computer-readable media associated with the message router.

7. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of receiving a profile header.

8. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of a profiling agent receiving profile controls as a result of an attach condition being satisfied.

9. The method as recited in claim 8 , wherein the act of a profiling agent receiving profile controls as a result of an attach condition being satisfied comprises the following:

an act of a profiling agent receiving profile controls as a result of executed instructions determining that an attach condition is satisfied.

10. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of a receiving profile controls that were authorized by a license agreement.

11. The method as recited in claim 1 , wherein the act of receiving profile controls comprises the following:

an act of a receiving debug controls at a first entity that is trusted to profile a second entity.

12. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of propagating profile controls from a second message into the first message.

13. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of merging profile controls from one or more computer-readable media associated with the message router into the first message.

14. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of merging a profile header into the first message.

15. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of merging a profile condition into the first message.

16. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of a profile action into the first message.

17. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of a profiling agent merging profile controls into the first message as a result of an attach condition being satisfied.

18. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of a merging profile controls that were authorized by a license agreement.

19. The method as recited in claim 1 , wherein the act of merging the profile controls into the first message comprises the following:

an act of a trusted entity merging profile controls that will profile a portion of a distributed application that is not managed by the trusted entity.

20. A computer program product for use in a distributed system, the distributed system comprising modules of a distributed application, each module connected to a common network and at least one message router and the plurality of modules distributing the execution of the distributed application across a plurality of different computer systems, the computer program product for implementing a method for profiling the distributed application by configuring profiling actions that are to be performed at a message recipient, the computer program product comprising:

one or more computer-readable storage media carrying computer-executable instructions, that when executed at the message router, cause the message router to perform the method of claim 1 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2002
From: KALER, CHRISTOPHER G.; SHARP, OLIVER J.; CHRISTENSEN, ERIK B.; WOODFORD, DALE A.; ERB, DAVID; PIERCE, SHAUN D.; ELVANOGLU, FERHAN; CABRERA, LUIS FELIPE
To: MICROSOFT CORPORATION
Reel/Frame 013093/0001 →