A system and method for profiling a request in a service system with kernel events including a pre-processing module configured to obtain kernel event traces from the service system and determine starting and ending communication pairs of a request path for a request. A learning module is configured to learn pairwise relationships between the starting and ending communication pairs of training traces of sequential requests. A generation module is configured to generate communication paths for the request path from the starting and ending communication pairs of testing traces of concurrent requests using a heuristic procedure that is guided by the learned pairwise relationships and generate the request path for the request from the communication paths. The system and method precisely determine request paths for applications in a distributed system from kernel event traces even when there are numerous concurrent requests.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for profiling a request in a service system with kernel events comprising, obtaining kernel event traces from the service system; pre-processing the kernel event traces in order to determine starting and ending communication pairs of a request path for the request; learning pairwise relationships between the starting and ending communication pairs of training traces of sequential requests; generating communication paths for the request path from the starting and ending communication pairs of testing traces of concurrent requests using a heuristic procedure that is guided by learned pairwise relationships; and generating the request path for the request. 2. The method as recited in claim 1, wherein pre-processing the kernel event traces includes the steps of iteratively finding communication pairs in the kernel event traces and aligning time clocks for a plurality of machines that provided the communication pairs in an alternating manner. 3. The method as recited in claim 2, wherein the step of aligning time clocks of machines is performed utilizing a constrained linear regression model. 4. The method as recited in claim 1, wherein pre-processing the kernel event includes the step of outputting a communication event type, parameters for a communication event and a time of the communication event. 5. The method as recited in claim 1, wherein pre-processing the kernel event includes the step of detecting communication pairs comprising finding a closest matching event to a first event by comparing an event type, parameters of an event and a time of an event for the first event with other kernel events. 6. The method as recited in claim 1, wherein the step of learning a pairwise relationship between the starting and ending communication pairs includes estimating an event transition probability and a parameter conditional probability for the communication pairs. 7. The method as recited in claim 1, wherein: the communication paths are generated in a step-by-step manner by composing a bipartite graph; the nodes are pairs found according to domain knowledge; and weights of edges are determined according to the learned pairwise relationships. 8. The method as recited in claim 1, wherein generation of communication paths further includes the steps of: selecting candidates for a next communication pair in a sequence; and performing a follower assignment procedure. 9. A system for profiling a request in a service system with kernel events comprising, a pre-processing module configured to obtain kernel event traces from the service system and determine starting and ending communication pairs of a request path for a request; a learning module configured to learn pairwise relationships between the starting and ending communication pairs of training traces of sequential requests; and a generation module configured to: generate communication paths for the request path from the starting and ending communication pairs of testing traces of concurrent requests using a heuristic procedure that is guided by learned pairwise relationships; and generate the request path for the request from the communication paths. 10. The system as recited in claim 9, wherein the pre-processing module is configured to iteratively find communication pairs in the kernel event traces and align time clocks of machines that provided the communication pairs in an alternating manner. 11. The system as recited in claim 10, wherein the pre-processing module is configured to align time clocks of machines by utilizing a constrained linear regression model. 12. The system as recited in claim 9, wherein the pre-processing module is configured to output a communication event type, parameters for a communication event and a time of the communication event. 13. The system as recited in claim 9, wherein the pre-processing module is configured to detect communication pairs by comparing a communication event type, parameters of a communication event and a time of a communication event for a first event with other kernel events in order to find a closest matching event to the first event. 14. The system as recited in claim 9, wherein the learning module is configured to estimate an event transition probability and a parameter conditional probability for the communication pairs in order to learn the pairwise relationships. 15. The system as recited in claim 9, wherein the generation module is configured to: generate the communication paths in a step-by-step manner by composing a bipartite graph; identify nodes as a communication pair based on domain knowledge; and determine weights of edges according to the learned pairwise relationships. 16. The system as recited in claim 9, wherein the generation module is configured to: select candidates for a next communication pair in a sequence; and conduct a follower assignment procedure in order to generate communication paths.