(EN) A method for improving the performance of a distributed object model over a network is disclosed. A client computer contains a client object which can call an interface on a server object located on a server computer. Rather than copying all of the call parameters into an RPC buffer for transmission across the network, a network interface card with scatter-gather capability can be used. The RPC data can contain only a list of pointers into the client memory and a size of each parameter. The network interface card can then grab the parameters directly from the client memory using the list in the RPC buffer without the need to copy the data itself. At the server side, the network interface card can place the parameters into an RPC buffer, or if the size is known beforehand, directly into the server memory. The server can also access the parameters directly from the RPC buffer. On the return, the server can use a callback function to indicate when its network interface card has finished sending the response data so that the server does not clear its memory prematurely. At the client side, if the size of the response is not known, and the data is placed into the RPC buffers, it can be copied from the RPC buffer into the client memory.
(FR) On décrit un procédé permettant d'améliorer la performance d'un modèle objet distribué sur un réseau. Un ordinateur client contient un objet client qui peut appeler une interface sur un serveur objet situé sur un ordinateur serveur. Plutôt que de copier tous les paramètres d'appel dans un tampon APD (appel de procédures à distance) pour qu'ils soient transmis sur le réseau, une carte d'interface réseauotée d'une fonctionnalité de dispersion-regroupement peut être utilisée. Les données APD peuvent ne contenir qu'une liste de pointeurs dans la mémoire client et une taille pour chaque paramètre. La carte d'interface réseau peut ensuite prendre directement les paramètres dans la mémoire client au moyen de la liste présente dans le tampon APD sans qu'il soit nécessaire de copier les données. Du côté serveur, la carte d'interface réseau peut placer les paramètres dans un tampon APD, ou, si la taille est connue d'avance, directement dans la mémoire du serveur. Le serveur peut également accéder directement aux paramètres à partir du tampon APD. D'autre part, le serveur peut utiliser une fonction de rappel pour indiquer le moment où sa carte d'interface réseau a fini d'envoyer les données de réponse afin que le serveur n'efface pas sa mémoire prématurément. Du côté client, si la taille de la réponse est inconnue et que les données sont placées dans les tampons APD, elles peuvent être copiées du tampon APD dans la mémoire du client.