When it comes to communication events, things get a little bit more difficult. This is basically due to the fact that the nature of communication is at least two-dimensional. Having typically two or more parties involved makes it somewhat difficult to find a proper message to worker mapping so that message profiles and event-oriented timeline representations can be easily calculated. It becomes even more difficult when a certain load balance among the workers is to be fulfilled.
Another problem, which has not been discussed so far, deals with the data aggregation to be done for the information exchange with the client. It arises when messages are to be displayed separately, as it is done by most timeline like tool displays. In a native approach, this type of display requires either sending detailed event information or pre-drawn bitmaps over the network link. Neither solution is really desirable due to the high amount of data or the lack of context. We decided on an approach that even solves another peculiarity. That is the decreasing usefulness of detailed message event displays when dealing with high event densities.
In our solution, the communication events are distributed among the workers in a similar way as the block enter and exit events. Statistics can be easily calculated in a distributed manner. When it comes to detailed event displays with high event densities, events are aggregated in groups which allow both easy transfer to the client and meaningful display of the information in the form of a single graphic (an arrow indicating the actual number of events) and their average properties.