Aller au contenu principal

1. Introduction

Si vous travaillez à mettre au point des méthodes de communication au sein d'un réseau informatique, vous pouvez vous livrer à l'une de deux activités. Vous pouvez travailler avec d'autres, en construisant réellement un réseau informatique, en étant influencé, peut-être en influençant vos collègues. Ou bien vous pouvez construire une position intellectuelle sur la manière dont les choses devraient se faire dans un réseau idéal, meilleur que celui dont vous aidez à construire la réalisation, puis présenter cette position aux concepteurs des réseaux futurs pour qu'ils l'étudient. L'auteur a passé les deux dernières années à se livrer à la première activité. Cet article résulte d'une participation récente à la seconde activité.

« Un réseau informatique de partage de ressources se définit comme un ensemble de systèmes informatiques autonomes et indépendants, interconnectés de manière à permettre à chaque système informatique d'utiliser toutes les ressources des autres systèmes informatiques, à peu près comme il appellerait normalement un sous-programme. » Cette définition d'un réseau et l'intérêt d'un tel réseau sont exposés par Roberts et Wessler dans [9].

L'acte de partage de ressources lui-même peut s'accomplir de deux façons : de manière improvisée (ad hoc) entre toutes les paires de systèmes informatiques du réseau, ou bien selon une norme systématique valable pour tout le réseau. Cet article développe un système possible, à l'échelle du réseau, pour le partage de ressources.

J'estime qu'il est naturel de considérer les ressources comme associées à des processus<1> et disponibles uniquement par communication avec ces processus. Je considère donc le problème fondamental du partage de ressources comme étant le problème de la communication entre processus. Je partage également le point de vue de Carr, Crocker et Cerf [2] selon lequel la communication entre processus sur un réseau est un cas particulier de la communication entre processus en général dans un environnement multiprogrammé.

Ces vues m'ont conduit à mener une étude en deux parties. La première construit un ensemble d'opérations permettant la communication entre processus à l'intérieur d'un même système à temps partagé. Cet ensemble d'opérations écarte beaucoup des techniques de communication entre processus actuellement utilisées dans les systèmes à temps partagé -- comme la communication par mémoire partagée -- et s'appuie plutôt sur des techniques qui se généralisent facilement pour permettre la communication entre processus distants. La seconde partie de l'étude présente une telle généralisation. L'application de ce système généralisé au réseau informatique ARPA [9] est également examinée.

Les idées développées dans cet article proviennent de nombreuses sources. Ont été particulièrement influents -- 1) une première esquisse d'un protocole Host pour le réseau ARPA par S. Crocker de l'UCLA et W. Crowther de Bolt Beranek and Newman Inc. (BBN) ; 2) l'article d'Ackerman et Plummer sur le système à temps partagé PDP-1 du MIT [1] ; et 3) des discussions avec W. Crowther et R. Kahn de BBN sur le protocole Host, le contrôle de flux et le routage des messages pour le réseau ARPA. Il y a aussi, je l'espère, quelques idées originales dans cette note. Je suis seul responsable du rassemblement de toutes ces idées dans le système décrit ici, et je suis donc responsable des incohérences ou des défauts du système.

Il faut souligner que cet article ne représente pas une position officielle de BBN sur le protocole Host pour le réseau informatique ARPA.