In enterprise environments, shouldn't the monitoring of who's talking to whom be done at the end stations? Why make the network do something that's better done on the computers? I would guess that it would be a lot easier and cheaper to write a plugin for windows, mac and linux that can send application traffic data (by app name, version, etc) then by making network boxes more complicated in order to reverse engineer application information from packets flying by on the wire.