Patent ID: 7827536

Claim:
A method comprising: creating a node for a first program thread in a critical path tree, the tree providing possible paths for a computer application stored in a computer memory and tracking messages between threads, the computer application being processed by one or more processors, the first program thread sending a message, the message to be sent to a second program thread of the computer application or to be broadcast; creating a package slip for the message from the first program thread, the package slip containing information regarding the message, wherein the message is directed to a second program thread of the computer application or is directed to a broadcast of threads of the computer program; placing the package slip on a first queue of a set of data structures for tracking of a critical path of the computer application, the set of data structures including a queue for receipt of synchronous messages, a queue for receipt of asynchronous messages, and a stack for processing of synchronous messages, the package slip being accessible to the second program thread on the first queue; modifying the message to include a pointer to the package slip; sending the message from the first program thread to the second program thread; and receiving the message at the second program thread, the second program thread to match the package slip from the first queue to the received message.