The Group Method Invocation (GMI) model is a generalization of Java's Remote Method Invocation (RMI). It allows methods to be invoked either on a single object or a group of objects, the latter possibly with personalized parameters. Result values and exceptions can be returned normally (as with RMI), discarded, or, when multiple results are produced, combined into a single result. The different method invocation and reply handling schemes can be combined orthogonally, allowing us to express a large spectrum of communication mechanisms of which RMI and MPI-style collective communication are special cases. With GMI, the invocation and reply schemes can be selected for each method individually at run time. GMI has been implemented in the Manta high-performance Java system.