Multi-language support for heterogeneous remote procedure call (1989)