A Multi-protocol Communication Architecture for Metacomputing