Brevet FR2001494A1 — publié le 19690926

i ?nni /!04 La présente invention concerne un sous-système comptabilisant pour chaque utilisateur le temps effectif d'emploi d'un système de traitement, par exemple un ordinateur, qui est partagé dans le temps entre plusieurs utilisateurs. 5 L'invention est plus particulièrement applicable à un système de traitement dont les différents ensembles ont une tarification différente par unité de temps, lesdits ensembles pouvant être associés en différentes combinaisons variables dans le temps selon les besoins de chaque utilisateur. 10 La présente invention est décrite ci-après dan3 le cas d'une installation d'ordinateur, cependant il va de soi que cette application n'est qu'illustrative de diverses applications de l'invention à d'autres systèmes de traitement, tels que des systèmes de télécommunications à abonnés, des machines» 15 outils, etc... Dans une installation d'ordinateur partagé dans le temps entre de nombreux utilisateurs, il est souhaitable que le coût de l'installation soit réparti en taxes appliquées à chaque utilisateur. La valeur de la taxe appliquée aux utilisateurs doit être déterminée équitablement en fonction du tarif 20 applicable à chaque sous-ensemble du système et de la durée de son emploi. Lorsque de nombreux utilisateurs partagent un ordinateur fonctionnant en multi-programmâtions ou en partage de temps, les différents sous-ensembles peuvent être simulta-25 nément utilisés par différents utilisateurs. Par exemple, l'unité de traitement et l'imprimante peuvent être affectées à l'utilisateur A, le contrôleur de bandes magnétiques à l'utilisateur B, un dérouleur de bandes en mode rebobinage à 1'utilisateur C et une unité de télécommunication partagée entre plusieurs autres 50 utilisateurs actifs. Le problème de la comptabilité de l'utilisation des différents sous-ensembles du système est compliqué par le fait que les besoins de chaque utilisateur en sous-ensembles varient d'un moment à l'autre du fait des interruptions fle programme, du lancement de nouvelles tâches, de l'achèvement 35 d'autres tâches et de l'exécution des opération^ d'entrée/porfcie. Les horloges de temps écoulé existant actuellement sur les ordinateurs sont incapables de réaliser une répartition équitable des taxes entre les différents utilisateurs. Une solution éventuelle réside dans l'emploi d'une horloge commandée par programme 69 02915 2 2001494 associée à chaque sous-ensemble ou composant du système. Les horloges peuvent être interrogées par le " software " au début et à la fin de chaque activité pour déterminer le montant des taxes appliquées à l'utilisateur. Cepéndant un tel système est coûteux 5 en temps "hardware", nécessite un espace important de mémoire et accroît le temps perdu par les programmes utilitaires de l'ordinateur. Dans une forme préférée de la présente invention, la comptabilité se fait grâce à des horloges pondérées en temps, 10 dont les poids sont variables dynamiquement et qui sont affectées à chaque utilisateur du système de traitement. Les horloges variables constituent un organe accessoire au système et comportent une matrice de registres dont les emplacements de mémoire sont adressables d'une manière unique, propre à chaque utilisa-15 teur du système. Chaque emplacement de mémoire comprend un registre de taxe locative et un registre de temps écoulé. Le système fait varier le contenu du registre de taxe locative en fonction des composants occupés par l'utilisateur correspondant. Le contenu du registre de temps écoulé de chaque utilisateur est 20 périodiquement incrémenté du contenu du registre de taxe locative ou de poids. D'autres objets et avantages de la présente invention seront mieux compris à l'aide de la description détaillée qui suit et des dessins sur lesquels î 25 La figure 1 est un schéma synoptique d'un système de comptabilité pondérée de temps d'utilisation pour une installation à partage de temps et plus particulièrement un ordinateur. La figure 2 est tin diagramme des impulsions de JO synchronisation servant à expliciter le fonctionnement du système de la figure 1. La figure 1 illustre un ordinateur à partage de temps classique 10 comportant au moins une unité de traitement, au moins une mémoire rapide et divers autres dispositifs tels 35 que des tambours magnétiques et/ou des dérouleurs de bandes magnétiques ainsi que divers dispositifs d'entrée/sortie et de télécommunications. L'ordinateur 10 fonctionné en multiprogrammation ou en partage de temps pour traiter un certain nombre de programmes différents d'un même utilisateur ou un certain nombre 69 02915 3 2001494 de programmes de différents utilisateurs qui sont découpés et imbriqués dans le temps pour utiliser de la manière la plus efficace les sous-ensembles du système. Le dispositif de comptabilité de temps de l'or-5 dinateur 10 comporte une matrice de registres 12 contenant un nombre d'emplacements de mémoire individuellement adressables égal au nombre d'utilisateurs ou de programmes que traite l'ordinateur 10. Chaque emplacement de mémoire de la matrice 12 comprend une zone de taxe locative 14 et une zone de temps écou-10 lé 16. Chaque emplacement de mémoire est adressable par l'intermédiaire d'un décodeur d'adresses 18, en réponse à l'application d'un code d'utilisateur ou d'une adresse symbolique à l'entrée 20 du décodeur 18. La matrice de registres 12 peut être réaliisée de différentes manières connues, par exemple sous forme d'un 15 tableau de bascules à transistor en circuit intégré ou d'une mémoire à accès sélectif h tores ou autres éléments magnétiques. Un registre de taxe locative 22 et un registre de temps écoulé 24 reçoivent les contenus des zones correspondantes de 1'emplacement de mémoire adressée de la matrice 12, respec-20 tivement par l'intermédiaire de portes 26 et 27.' Des portes 20 et 29 permettent de renvoyer le contenu des registres vers l'emplacement de mémoire adressé de la matrice 12. Un compteur d'adresses 30 est capable de compter tous les nombres représentant les adresses symboliques des uti-25 lisateurs dans la matrice 12. La sortie du compteur 30 est appliquée par une porte 31 à l'entrée 2Q du décodeur d'adresses 18. Le contenu du compteur d'adresses 30 est incrémenté d'une unité à chaque application d'une impulsion de synchronisation à son entrée 32. 30 Un générateur d'impulsions de synchronisation 34 réalisé de manière classique fournit des impulsions de synchronisation t, à t,_ à l'intervalle voulu et selon une séquence 1 13 . répétitive. Le fonctionnement du générateur 34 est synchronisé par une liaison 35 avec la synchronisation principale de l'or-35 dinateur 10. f . Un additionneur classique 40 à deux entrées reçoit à travers une porte 4l un premier facteur venant du registre de taxe locative 22 et à travers une porte 42 un second facteur venant du registre de temps écoulé 24. La somme produite par 6° n?oi5 4 2001494 l'additionneur 40 est maintenue dans un totalisateur jusqu'à son transfert, par une porte 44, vers le registre de temps écoulé 24. Les emplacements de mémoire de la matrice 12 sont 5 adressés séquentiellement et cycliquement par le registre compteur d'adresses 30. Les différentes unités de traitement de l'ordinateur 10 peuvent cependant accéder individuellement et sélectivement aux emplacements d'utilisateur de la matrice 12 par une porte 46. Lorsque l'ordinateur 10 accède à un emplacement de 10 mémoire pour lire le contenu du registre de taxe locative 22, le contenu de ce dernier est transféré vers l'unité de traitement par un circuit comprenant une porte 47. L'ordinateur peut modifier de manière appropriée le contenu reçu puis renvoyer la nouvelle taxe vers le registre par un circuit comportant une 15 porte 48. La zone de temps écoulé de l'emplacement adressé est également accessible à l'ordinateur par un circuit comprenant le registre de temps écoulé 24 et une porte 50. L'ordinateur utilise le contenu du registre 24 et le remet à zéro par un signal circulant sur un circuit comprenant une porte 51 reliée à 20 l'entrée de remise à zéro 52 du registre 24. En fonctionnement, le générateur d'impulsions de synchronisation 34 émet continuellement des impulsions t^ à t^ comme illustré à la figure 2. Les impulsions t^ à tg constituent la phase de remise à jour de chaque cycle de synchronisation et 25 les impulsions tj à t^ constituent la phase de modification de la taxe ou du poids de chaque cycle, comme représenté à la figure 2. Ce cycle se répète continuellement. A l'instant t^ d'un cycle complet donné, le contenu du compteur 30 est appliqué par une porte 31 à l'entrée 20 du 30 décodeur d'adresses 18 pour accéder à l'un des emplacements de mémoire affecté à un utilisateur. Les informations de cet emplacement sont transférées à l'instant tg par les portes 26 et 27 aux registres 22 et 24. A l'instant t^ les contenus des deux registres sont appliqués par des portes 41 et 42 à l'additionneur 35 40 et le résultat de l'opération est transféré dans le totalisateur. A l'instant t^ la somme contenue dans le totalisateur de l'additionneur 40 est appliquée par la porte 44 au registre de temps écoulé 24. A l'instant t^, les contenus des registres 22 et 24 sont renvoyés à l'emplacement de mémoire adressé de la matrice 12. Puis, à l'instant tg le registre compteur d'adresses 69 02915 5 2001494 30 est incréments d'une unité par application d'une impulsion de synchronisation à son entrée 32. Dans le cycle de fonctionnement décrit jusqu'ici, le contenu de la zone de temps écoulé 16 de l'emplacement mémoire 5 a été incrémenté d'une quantité dont le poids ou la valeur relative est déterminé par le contenu de la zone de taxe locative 14 correspondante. Le contenu de cette zone a été préalablement déterminé en fonction du nombre de sous-ensembles de l'ordinateur occupé par l'utilisateur correspondant et des poids des divers 10 sous-ensembles occupés. Lorsque le cycle.de synchronisation se répède et qu'apparaissent les impulsions t^ à tg suivantes, le processus se répète pour l'utilisateur suivant. Les comptes des différents utilisateurs sont donc tour à tour traités au cours des cycles consécutifs. Le compteur 30 est ensuite remis à zéro 15 et recommenoe à compter les adresses symboliques des utilisateurs. De cette manière le contenu de chaque zone de temps écoulé 16 est périodiquement mis à jour pour chaque utilisateur d'une quantité représentant le poids de la partie du système qu'il occupe pendant l'unité de temps écoulé depuis la dernière mise à jour. 20 La zone de temps écoulé 16 contient ainsi en permanence la somme des temps d'utilisation pondérée correspondant à toutes les unités dé temps écoulé. La phase de modification de poids ou de taxe de chaque cycle de synchronisation comprenant les impulsions t^ à 25 test réservée à la modification des poids ou taxes locatives appliqués aux différents utilisateurs. Lorsque l'unité de traitement de l'ordinateur exécute une instruction du programme d'un utilisateur qui modifie le nombre des sous-ensembles occupés, à l'instant t^ l'ordinateur applique l'adresse symbolique de l'u-30 tilisateur à la porte 46 du décodeur 18 pour accéder à l'emplacement de mémoire correspondant de la matrice 12. Le contenu de la zone de taxe locative de l'utilisateur est transféré à l'instant tg dans le registre 22 et à l'instant t^, par la porte 47, à l'unité de traitement de l'ordinateur. Cette dernière modifie de 35 manière appropriée la valeur de la taxe locative et la renvoie à l'instant t1(j par la porte 48 au registre 22. A l'instant t^ le contenu du registre 22 est renvoyé dans la zone 14 de la matrice 12. Ultérieurement, pendant la phase de mise à jour du cycle auquel le compteur 30 adresse l'emplacement de mémoire du même 69 02915 6 2001494 utilisateur, la zone de temps écoulé 16 est automatiquement incrémentée de la nouvelle valeur de la taxe locative. La phase de modification de taxe de chaque cycle de synchronisation est également utilisable par l'unité de 5 traitement de l'ordinateur pour lire la zone de temps écoulé 16 de l'emplacement de mémoire réservé à chaque utilisateur. La valeur du temps écoulé est transférée du registre 24 et appliquée à l'instant ti;L par la porte 24 à l'ordinateur. Celui-ci utilise le contenu de la zone de temps écoulé pour calculer la somme 10 totale à facturer au client. Cette opération est effectuée périodiquement, par exemple sur une base quotidienne, hebdomadaire ou mensuelle. Lorsque la zone de temps écoulé de l'utilisateur a été ainsi traitée, l'ordinateur remet à zéro le registre 24 en appliquant à l'instant un signal de remise à zéro par la 15 porte 51 reliée à l'entrée 52 du registre 24. Le présent dispositif est susceptible de diverses modifications ou applications sans sortir du cadre de la présente invention. 69 02915 7 2001494 REVENDICATIONS 1. Sous-système permettant de comptabiliser la valeur de l'occupation par chaque utilisateur des sous-ensembles d'un système de traitement fonctionnant en partage de temps, lesdits 5 sous-ensembles ayant différentes valeurs de taxe locative par unité de temps, ledit sous-système étant caractérisé par une matrice de registres comprenant une série d'emplacements de mémoire adressables -de manière unique par les différents utilisateurs du système, chaque emplacement comportant un registre de taxe lo-10 cative et un registre de temps écoulé, tin dispositif de mise à jour des taxes comprenant un compteur d'adresses fonctionnant à certains intervalles de temps pour donner cycliquement et séquentiellement accès aux divers emplacements de mémoire, le dispositif de mise à jour de taxes comprenant également un additionneur 15 pour former la somme du contenu du registre de taxe locative et du contenu du registre de temps écoulé de chacun des emplacements de mémoire adressés par le compteur, le dispositif de mise à jour de taxes comprenant en outre des portes pour renyoyer la somme ainsi produite au registre de temps écoulé de l'emplacement de 20 mémoire correspondant; le sous-système de comptabilité comportant de plus un dispositif de mise à jour de l'occupation cumulée comprenant des portes ouvertes à certains intervalles de temps et, en réponse à une adresse symbolique d'utilisateur émise par le système, pour donner accès à l'emplacement de mémoire correspon-25 dant, le dispositif de mise à jour de l'occupation cumulée comportant également des portes pour modifier le contenu du registre de taxe locative adressé en fonction des variations de l'occupation des différents sous-ensembles par l'utilisateur; le sous-système de comptabilité comportant un dispositif de comptabili-30 sation fonctionnant à certains intervalles de temps, par exemple mensuellement, en réponse à l'émission d'une adresse symbolique d'utilisateur par le système donnant accès à l'emplacement de mémoire correspondant dans lequel est lue la valeur totale accu- I mulée dans le registre de temps écoulé. 35 2. Sous-système de comptabilité selon la reven dication 1 caractérisé en ce que le dispositif de comptabilisation comprend une porte actionnée pendant chaque intervalle de comptabilité et qui, lorsque le contenu du registre de temps écoulé de l'emplacement de mémoire adressé a été lu, remet à zéro le contenu dudit registre.