Yes. One can estimate the energy consumed by each process during a unit time. Summation of the energies consumed by each process multiplied by the respective time units is the energy consumed by the network.
I think that this is ea very difficult task in P2P networks. The first problem is that at the contrary of clusters or grids, the nodes are very heterogeneous in P2P systems. Computing the sum of the energy consumed on each node is theoretically possible but practically unfeasible as it would requires to go through all the nodes to get the results, which is impossible in a real system as it requires a kind of flooding algorithm that has a very high cost.
I think it would require to make a statistical study of the consumption with a significant set of nodes, and extrapolate the results to the whole system. The way to do this will be very different if we considered a unstructured network like Gnutella, or a structured one like Pastry, Chord or Kademlia. In any case, this will be an estimation, and not an exact computation.
The goo questions are then:
- How to build a significant set of nodes?
- Does this set really represent the load of the system?
- What processes on this nodes are related to the P2P application, and which are not?