My graph consists of a computer network topology where each vertex is a physical node/device (depicted using its IP address). Two vertices will have an edge if the nodes have had communication with each other. We call each communication a conversation, which will have multiple packets transferred in both directions. Multiple edges between two nodes are thus obvious.
For any conversation, I need to capture multiple features, such as:
- Bytes transferred between the two nodes
- No. of packets transferred between the nodes
- The duration of data transfer between the nodes
- The inter-arrival time of packets between the nodes
While trying to find communities in my graph, I am coming across certain difficulties:
- Should I go for multi-attribute edges (with each of the above feature taken as a weight), or should I be taking something like weighted average of all features and make them a single attribute?
- Will I obtain better results if each of the above feature is taken as a separate edge-attribute? If so, how and why?. Does it influence 'modularity' calculations? Again, how? (Links to past works or papers will do)
- What algorithms may suit my task well? I do not know about other algorithms apart from Louvain (igraph implementation).