Brevet FR2611942A1 — publié le 19880909

Serveur à large bande, en particulier pour la transmission de musique ou d'images. L'invention concerne la télématique, en particulier sur réseaux de vidéocommunication, ainsi que sur le réseau numérique à intégration de services. Il est par exemple intéressant de pouvoir transmettre, en son haute fidélité, les nouveautés discographiques parues dans le mois. Un problème analogue peut se poser pour la transmission d'images nouvelles. On dispose actuellement de moyens pour l'archivage permanent de données tels que les disques optiques numériques non effaçables (inscriptibles une fois pour être lus plusieurs fois ou "WORM", les mémoires à disque compact (ou "CD ROM") ou encore les disques compacts "audio". S'agissant de présenter de façon mensuelle des nouveautés, il est difficilement concevable de le faire par la distribution de tels supports de mémoire. La présente invention a pour but de permettre une telle distribution à l'aide d'un système réinscriptible n-fois, comme un ou plusieurs disques magnétiques. Il s'agit donc de pouvoir délivrer en temps réel des données de masse, à une cadence pouvant aller jusqu'à 768 kilobits par seconde, et ceci en direction d'un nombre assez élevé d'usagers simultanés, par exemple sur 16 postes de consulta- tion au moins. Il est également requis que le système puisse gérer plusieurs gigaoctets de mémoire de masse. On connaît déjà des serveurs en informatique. Dans ceux-ci, le processeur va chercher des données sur une mémoire de masse, qui peut être un disque magnétique ou un disque opti- que, puis il les envoie sur la ou les voies de sortie, en les faisant transiter par ses registres ou par la mémoire centrale. La vitesse limite théorique obtenue, pour le traitement de données, avec un tel serveur, est égale à environ la moitié de la vitesse maximale du bus. En pratique, la vitesse est beaucoup plus faible, car doivent aussi circuler sur le bus les communications entre le processeur et les périphériques. Par exemple, pour traiter 16 voies de sortie à la cadence de 384 kilobits par seconde, il faudrait un bus opérant à au moins 2 megaoctets par seconde, ce qu'on ne trouve que sur des systèmes de grande taille et très onéreux. Ceci explique qu'il n'existe pas sur le marché de serveur, en particulier multivoies, ayant la capacité de délivrer des informations à 384 kilobits par seconde, par exemple. La présente invention a pour but d'apporter une solution à ce problème, en proposant une nouvelle structure de serveur multivoies, propre à opérer en large bande, c'est-à-dire à cadence de transmission élevée. Le dispositif proposé comporte en combinaison: - un processeur principal, possédant un ou plusieurs canaux d'accès direct en mémoire (ou DMA), - une mémoire de masse à grande capacité, par exemple du Z 6 I.tU4 2 genre à un ou plusieurs disques durs, reliée à ce ou ces canaux d'accès direct en mémoire, et - une pluralité d'unités de sortie, également reliées au canal d'accès direct en mémoire, et possédant chacune deux mémoires tampon de même capacité, à double accès, gérées en mode à bascule par un processeur auxiliaire, qui est propre à vider ces mémoires en alternat sans discontinuité, tout en autorisant à chaque fois le remplissage rapide de celle des deux mémoires tampon qui est inactive en lecture, par de nouvelles informations. Dans un mode de réalisation particulier, les mémoires tampon, de longueur 128 kilooctets, sont gérées par un processeur à mots de 16 bits, cadencé à 8 MHz. De son côté, le processeur principal, à mots de 16 bits et cadencé à 8 MHz, gère un catalogue situé dans au moins un disque dur de la mémoire de masse (de préférence dans chacun des disques durs s'il y en a plusieurs). Ces disques durs possèdent un temps de positionnement de leurs têtes au plus égal à 25 millisecondes environ (pour 16 voies), ainsi qu'une vitesse de lecture de l'ordre de 2 Mégaoctets par seconde. Ceci permet le chargement de 128 kilooctets en mémoire tampon en moins de 0,15 seconde. Il devient alors possible de traiter sans discontinuité les 16 unités de sortie, qui délivrent chacune leurs informations à un peu plus de 48 kilooctets par seconde pour délivrer 384 kilobits de son par seconde. Les données de sortie peuvent être converties sous forme analogique soit immédiatement, soit après transmission sur une liaison convenable. Selon un autre aspect de l'invention, il est prévu une interface série permettant au processeur principal de recevoir des informations à stocker en mémoire de masse, ce stockage s'effectuant sous forme distribuée, compte tenu de la capacité des mémoires tampon. Les informations à stocker proviennent avantageusement d'un centre serveur général, par réseau numérique rapide ou par satellite. Dans l'application préférée, les unités de sortie sont re- liées à des postes de consultation permettant l'écoute de musique ou la visualisation d'images à la demande. En particulier, les postes de consultation peuvent être associés à des moyens d'interrogation,en particulier des Minitels, permettant la sélection d'un morceau de musique ou d'un jeu d'images auprès du serveur à large bande, lequel est associé à un serveur télématique multivoies pour le traitement de ces informations de sélection. D'autres caractéristiques et avantages de l'invention appa- raîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels: - la figure 1 est le schéma de principe d'un serveur à large bande selon l'invention; - la figure 2 est le schéma de principe d'une carte ou unité de sortie du serveur de la figure 1; - la figure 3 est un diagramme fonctionnel montrant le fonc- tionnement du serveur à large bande de l'invention; - la figure 4 est un chronogramme vertical montrant le transfert de données entre le disque dur et une mémoire tampon de l'une des voies de sortie; - la figure 5 est un chronogramme vertical montrant le tra- vail du serveur selon l'invention en relation avec les deux mémoires tampon d'une même voie de sortie; - la figure 6 est un schéma plus général montrant une ins- tallation complète utilisant le serveur à large bande selon -2611942 l'invention; et - la figure 7 est un diagramme illustrant les liaisons sus- ceptibles d'intervenir dans une installation complète selon la figure 6. Les dessins annexés comportent pour l'essentiel des informa- tions de caractère certain. En conséquence, ils pourront non seulement permettre de mieux comprendre la description détaillée ci-après, mais aussi contribuer à la définition de l'invention, le cas échéant. Sur la figure 1, le serveur à large bande ou SLB est situé dans le cadre en traits tiretés référencé 1. Il comporte un processeur principal 10, à mots de 16 bits et cadencé à 8 MHz. Ce processeur 10 possède un bus local BL qui communique avec une mémoire vive 11, une mémoire de programme non représentée, et une interface série 12. D'autres dispositifs peuvent naturellement être prévus. L'interface série 12 est en liaison avec un serveur téléma- tique 4 sur lequel on reviendra plus loin. Le processeur 10 communique également par une liaison B avec un canal d'accès direct en mémoire ou canal DMA noté 15. Ce canal DMA permet au processeur 10 de gérer un ou des disques durs 16 de grande capacité. Il est également relié à une série de cartes de sortie 2-1 à 2-16, pour desservir ici 16 postes de consultation, c'est-à-dire 16 utilisateurs. Le schéma de l'une des cartes 2 est donné sur la figure 2. Chacune de ces cartes comporte un processeur 20, qui est également à mots de 16 bits et cadencé à 8 MHz. Il est muni d'une mémoire morte de programme 21, ainsi que d'une mémoire vive de travail 22. Le processeur 20 a pour fonction essentielle de gérer deux mémoires tampon 25A et 25B, toutes deux de capacité 128 kilooctets. Comme schématisé par les commutateurs d'entrée 24 et de sortie 26, ces deux mémoires tampon sont gérées à bascule, c'est-à-dire que lorsque, par exemple, la mémoire tampon A délivre des données vers la sortie, le processeur 20 fait en sorte qu'il soit impossible d'introduire des données dans cette mémoire 25A. Par contre, au même moment, il est possible d'introduire des données dans la mémoire-tampon B. La situation est inversée lorsque les commutateurs 24 et 26 changent d'état. Ces mémoires tampon 25A et 25B sont en plus à double accès, c'est-à-dire qu'elles peuvent être commandées non seulement par le processeur 20 qui fait partie de la même carte de sortie, mais aussi par le processeur principal 10. Il est considéré qu'un tel double accès est connu de l'homme de l'art. Les moyens nécessaires à la réalisation du double accès en lui-même n'ont pas été représentés, les commutateurs 24 et 26 en constituant une représentation schématique. On précisera simplement que le basculement entre les deux mémoires tampon 25A et 25B est entièrement sous le contrôle du processeur local 20 de la carte de sortie concernée. L'étage illustré en 29 rappelle que l'on peut procéder immé- diatement à une conversion numérique/analogique. On peut aussi se contenter de transmettre les informations soit à un poste de consultation local, soit sur une liaison vers un poste de consultation distant. Le processeur principal 10 assure la fonction essentielle de gestion du catalogue du ou des disques durs 16. S'il y a plusieurs disques durs, il est préférable d'implanter le catalogue sur chacun de ceux-ci. On verra ci-après comment ce catalogue est défini. L'un des points de départ de l'invention est la remarque suivante: le processeur principal n'a à effectuer que des instructions élémentaires du genre: - prendre des données en un premier point, - les mettre en un second point. Pour réaliser cela, il est absolument inutile de recourir à un processeur central raffiné comprenant un jeu de plusieurs centaines d'instructions, par exemple comme les processeurs des systèmes possédant un bus à 2 Mégaoctets par seconde. Un processeur simple comme ceux des microordinateurs universels, voire un processeur à jeu d'instructions réduit, convient beaucoup mieux. Ceci sera mieux compris à l'examen de la figure 3, o l'on a représenté en 1 le serveur à large bande SLB, en mettant toutefois à part ses disques durs 16, et ses sorties vers les terminaux (auxquels on a donné les mêmes numéros qu'aux cartes de sortie). La figure 3 fait également apparaître des informations venant du serveur télématique 4. Elle montre aussi en 110 le système de gestion de fichier dont doit disposer le serveur à large bande 1. Pour fixer les idées, on suppose que le serveur délivre des informations de musique haute fidélité et un fichier correspondant à un morceau de musique est défini par un nombre à trois chiffres. Ainsi, le serveur télématique 4 va donner au serveur à large bande 1 des instructions comme: délivrer le fichier 231 261 1942 sur la voie 12, délivrer le fichier 056 sur la voie 7, in- terrompre la délivrance du fichier 022, délivrer le fichier 189 sur la voie 13, interrompre la délivrance du fichier 206. En réponse à ces commandes du serveur télématique 4, le serveur à large bande va réaliser des transferts illustrés à l'intérieur du bloc 110, qui est réparti en un nombre de lignes égal au nombre de voies desservies. Le processus 1 consiste par exemple à remplir la mémoire A de la carte 21 par le bloc de données situé à l'adresse XXXXXXXXXX de la mémoire de masse. Le processus 2 consiste à délivrer à la mémoire 25A de la voie 2-2 le bloc situé dans le disque dur à l'adresse YYYYYY YYYY. Le processus 3 consiste à délivrer à la mémoire 25B de la voie 2-3 le bloc situé à l'adresse ZZZZZZZZZZ. Ainsi de suite, le processus 15 consiste à délivrer à la mémoire B de la voie 2-16 le bloc situé à l'adresse UUUUUUUUUU. Enfin, le processus 16 consiste à délivrer à la mémoire A de la voie 2-16 le bloc situé à l'adresse VVVVVVVVVV. On observera que le processeur 10 ne communique avec le serveur télématique 4 qu'au niveau de fichiers complets correspondants chacun à un morceau de musique. Sur les disques, les données sont organisées en blocs de taille fixe, taille qui est de préférence assez grande, par exemple 1024 octets. De l'autre côté, le processeur 10 se contente d'incrémenter des adresses de bloc pour le canal DMA lors de la lecture. En bref, le serveur télématique envoie les ordres suivants: - envoyer morceau X sur voie n, - arrêter morceau X. Le serveur à large bande peut répondre: - morceau X temporairement indisponible, - problème physique sur voie n. Il est maintenant fait référence à la figure 4. A la réception d'un ordre de lecture d'un fichier x, et si toutes les tâches en cours sont exécutées, le processeur principal 10 recherche l'adresse physique du fichier demandé dans le catalogue situé en tête de chacun des disques. Le microprocesseur 10 va ensuite chercher le début du fichier X par une ligne DMA, pour le stocker dans le tampon 25A de la voie de sortie 2-n concernée. Le processeur 10 commence par demander un positionnement de la tête de lecture du disque dur concerné. On sait maintenant faire des disques durs capables de positionner la tête en un temps au plus égal à 25 millisecondes. Le processeur 10 ne sera occupé que pendant les deux ou trois premières millisecondes. Il lui reste donc 22 millise- condes, pendant le temps de positionnement de la tête de lecture, pour s'occuper de tâches du système diverses, ainsi que pour préparer le processus suivant. Un peu avant la fin des 25 millisecondes, le processeur lance l'ordre de transfert depuis le disque dur 16 vers la voie de sortie 2-n concernée. La vitesse de lecture des données étant de 1,96 Mégaoctet par seconde, et le processeur 10 étant cadencé à 8 MHz, l'homme de l'art comprendra que l'on peut très aisément charger une mémoire tampon en moins de 150 millisecondes, temps de positionnement de la tête de lecture du disque dur compris. La figure 5 montre maintenant comment viennent s'imbriquer différentes opérations portant sur différentes voies de sortie. On a défini à propos de la figure 3 le processus à exécuter pour les différentes voies de sortie. Sur la figure 5, on suppose par exemple que le processus de rang n a été effectué permettant un remplissage de la mémoire A de la voie 20-n. On suppose qu'il s'agit du premier remplissage, c'est-à-dire du début d'un fichier musical. Après cela, le processeur du serveur à large bande 1 peut s'occuper d'autres processus X, Y et ainsi de suite, chacun occupant un temps de 0,15 seconde. Au bout de 2,40 secondes, il devra être retourné au proces- sus n, pour remplir cette fois la mémoire B de la voie 20-n avec la suite du fichier musical correspondant au processus n. La figure 5 montre que ceci intervient juste avant la fin du vidage de la mémoire 25A de cette même voie 20-n. On assure ainsi que le processeur local de la carte de sortie 2-n concernée est en mesure de délivrer d'une manière tout à fait continue, vu de l'usager, les informations musicales de haute fidélité que celui-ci a réclamées. Le temps de vidage d'une mémoire-tampon A est 2,67 secondes. Si l'on y ajoute le temps de remplissage de la mémoire A, on aboutit à 2,82 secondes. L'intervalle de temps entre la fin du remplissage de la mémoire B et la fin de vidage de la mémoire A est de 0,27 seconde (2,82 - (2,40+0,15)>. On observera aussi que le processus de vidage des mémoires tampon se fait voie par voie, sous le contrôle du processeur local 20 de chacune des cartes de sortie. Ce processus est donc totalement asynchrone. D'autre part, comme la vitesse de remplissage est largement supérieure à la vitesse de vidage, c'est naturellement le processeur local 20 de la carte de sortie concernée qui seul peut autoriser le remplissage. Cet ordre n'est donné que lorsque le vidage de la mémoire tampon correspondante est effectif. La durée du traitement d'un échantillon est de 1/32 millième de seconde. Pour un processeur cadencé à 8 MHz, on dispose donc de 250 cycles en fin de bloc d'une mémoire tampon 25A pour passer à la tête du bloc de la mémoire tampon 25B. Le processeur 20 a bien entendu aussi la charge de mettre en forme les données, et de les envoyer vers les cartes de décodage. Il est maintenant fait référence à la figure 6. On y retrouve le serveur à large bande 1, dont la voie de sortie 2-i alimente à distance un convertisseur numérique/ analogique 29 qui délivre des informations de musique par exemple à un casque haute fidélité 30. A travers l'interface 18 définissant un canal d'accès direct mémoire, le serveur 1 communique avec des disques durs 16. Il communique également à travers une interface série 12 et une interface parallèle 13 avec des interfaces correspon- dantes 42 et 43 du serveur télématique 40, qui peut être un serveur multivoies classique pour des informations numé- riques à cadence normale. Les voies de sortie VZ à Vn commu- niquent par exemple avec des Minitels tels que M30. Sont également prévues une interface d'entrée série 49, ainsi qu'une interface CCITT, notée 48. Ces deux interfaces communiquent avec les interfaces corres- pondantes d'un centre serveur général, qui peut être unique au niveau national. On l'appellera donc ci-après centre serveur national CSN. Ce centre serveur comporte un ordinateur dont l'interfa- ce de série bidirectionnelle 59 communique avec l'interface 49 par exemple par l'intermédiaire d'un réseau de télécommu- nication public. Son interface directionnelle 58 adresse des informations à l'interface 48 à. cadence élevée, par exemple par l'intermédiaire d'une liaison par le satellite TELECOM 1, la cadence étant de 64 kilobits par seconde. L'ordinateur 50 possède une interface notée 54 et formant canal d'accès direct mémoire pour des disques durs 56. Il comporte aussi une entrée de conversion analogique/numérique propre à recevoir des signaux musicaux stéréophoniques à deux voies G et D (pour gauche et droite) d'une chaîne de saisie 60. La figure 7 montre des variantes. Tout d'abord, la chaîne de saisie 60 peut être séparée du centre serveur national 50. Les informations de service sont alors transmises à travers le réseau TRANSPAC ou le réseau téléphonique commuté. Les informations utiles peuvent être transmises à cadence élevée par le satellite TELECOM 1, par TRANSPAC, par le réseau numérique à intégration de services, ou encore par un réseau de vidéocommunication. La transmission peut s'effectuer de même entre le centre serveur national 50 et chacun des serveurs locaux, qui réu- nissent chacun le serveur à large bande proprement dit 1, et le serveur télématique associé 4. Enfin, les postes de consultation locaux peuvent être implantés au même endroit que le serveur à large bande 1. Mais on peut aussi les placer à distance. En pareil cas, les échanges d'informations peuvent se faire à travers le réseau numérique à intégration de services, le réseau téléphonique commuté, ou réseau de vidéocommunication. Pour leur part, les informations musicales utiles peuvent être transférées par le réseau numérique à intégration de services, ou par un réseau de vidéocommunication. On décrira maintenant un exemple d'application de l'inven- tion. Le poste de saisie 60 peut être un système classique de saisie de son, pour obtenir une très bonne qualité sonore. On fait en sorte que le convertisseur 55 permette une saisie stéréo à 384 kilobits par seconde et par voie. Au niveau du centre de serveur national, l'ordinateur 50 assure l'enregistrement sur le ou les disques durs 56 (de très grande capacité) des morceaux de musique sous forme de trames de 64 kilobits à 384 kilobits par seconde et par voie. Ceci s'effectue à travers l'interface SMD. Dans le même temps, une base de données de sélection est mise à jour. Elle est distribuée aux serveurs locaux par l'intermédiaire du réseau téléphonique commuté. De manière systématique, ou sur demande, le centre serveur national peut rafraîchir les mémoires de masse des serveurs locaux par la voie unidirectionnelle définie au travers des interfaces CCITT (V35 ou X21). La communication qui s'effectue en parallèle, par exemple par le réseau téléphonique commuté sur les interfaces série permet l'échange d'informations de service, notamment le bilan d'exploitation des morceaux de musique stockés dans le serveur local, depuis la dernière transmission. Sont effectuées également les mises à jour, qui peuvent être propres à chaque serveur local. La voie de service peut aussi permettre certaines maintenances à distance. Bien entendu, on préférera souvent transmettre les morceaux de musique nouveaux au serveur large bande la nuit, de façon que le système soit disponible le jour pour desservir les o10 usagers. On admet que la transmission se fait en continu et simultanément pour tous les serveurs locaux. On admet aussi que ceux-ci réalisent l'enregistrement en continu. Dans cette phase d'enregistrement, le contrôle est assuré par le serveur large bande 1 depuis l'interface V35 ou X21 de l'ordinateur 4 auquel il est relié par les interfaces parallèles 13 et 43. En pratique, le serveur télématique reçoit les données bloc par bloc. Il s'assure des bonnes parités des échantillons, et invalide les blocs qui ont plus de deux échantillons successifs erronés. Chacun des blocs est naturellement repéré par un numéro. Une fois qu'un bloc est validé, il peut être rangé sur le disque dur local, tout en gardant son numéro d'ordre, qui n'a aucun rapport avec son adresse physique sur le disque dur. Seul le gestionnaire du système local connait en effet l'a- dresse physique des morceaux sur le disque dur. Le système d'exploitation du serveur à large bande se charge de la gestion du catalogue des disques durs, et en particulier des secteurs qui peuvent avoir un problème physique et sont notés dans un compte-rendu. La probabilité d'avoir un bloc erroné par session est de l'ordre de 10-3 pour une transmission de 108 échantillons. Il suffit donc d'une liaison à très bas débit entre le cen- tre serveur national et chaque serveur télématique pour effectuer les corrections. Seul le serveur à large bande a la charge de gérer les disques durs comme déjà indiqué. En cas de problème d'écriture, il peut signaler le problème mais chercher quand même à reloger le bloc de données qui a donné lieu à ce problème. Comme seul le gestionnaire du système dispose d'un droit d'écriture, il n'y a pas de problème d'exclusion mutuelle au niveau des disques durs des serveurs à large bande. En résumé, le dispositif proposé comporte une architecture répartie horizontalement et verticalement. Il en résulte qu'en aucun point du système, la vitesse exigée n'est colos- sale. Sur les disques durs, les données sont organisées en blocs de taille fixe, assez grande. En mode serveur, le système réalise de façon rapide des opérations simples, qui lui permettent de desservir en toute sécurité des usagers avec des informations musicales sans discontinuité, malgré le traitement séquentiel par bloc de ces informations. Le dispositif selon l'invention prend tout son intéret avec la disponibilité de disques durs de très grande capacité (plusieurs centaines de Mégaoctets, à des conditions écono- miques abordables). Revendications. 1. Dispositif électronique propre à former un serveur à large bande, en particulier pour transmission de musique ou d'images, caractérisé en ce qu'il comporte, en combinai- son: - un processeur principal, possédant un canal d'accès direct en mémoire, - une mémoire de masse à grande capacité du genre à disque dur, reliée à ce canal d'accès direct en mémoire, et une pluralité d'unités de sortie, également reliées au canal d'accès direct en mémoire, et possédant chacune deux mémoires tampon, de même capacité, à double accès, gérées en mode à bascule par un processeur auxiliaire, propre à vider ces mémoires en alternat sans discontinuité, tout en autorisant à chaque fois le remplissage rapide de celle des deux mémoires tampon qui est inactive en lecture, par de nouvelles informations. 2. Dispositif selon la revendication 1, caractérisé en ce que les mémoires tampon, de longueur 128 kilooctets, sont gérées par un processeur à mots de 16 bits, cadencé à 8 MHz. 3. Dispositif selon l'une des revendications 1 et 2, carac- térisé en ce que le processeur principal à mots de 16 bits, et cadencé à 8 MHz, gère un catalogue situé dans au moins un disque dur de la mémoire de masse, laquelle possède un temps de positionnement de sa tête au plus égal à 25 milli- secondes environ, pour une vitesse de lecture de l'ordre de 2 Mégaoctets par seconde, ce qui permet le chargement de 128 kilooctets en mémoire tampon en moins de 0,15 seconde, et par là le traitement sans discontinuité de 16 unités de sortie qui délivrent leurs informations à 48 kilooctets par seconde, environ. 4. Dispositif selon l'une des revendications 1 à 3, carac- térisé en ce qu'il est prévu une conversion numérique/analo- gique ou toute autre forme de décodage des informations de sortie. 5. Dispositif selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une interface série permet- tant au processeur principal de recevoir des informations à stocker en mémoire de masse, le stockage s'effectuant sous forme distribuée, compte tenu de la capacité des mémoi- res tampon. 6. Dispositif selon la revendication 5, caractérisé en ce que les informations à stocker proviennent d'un centre ser- veur général, par réseau numérique rapide ou par satellite. 7. Dispositif selon l'une des revendications précédentes, caractérisé en ce que les unités de sortie sont reliées à des postes de consultation permettant l'écoute de musique ou la visualisation d'images, éventuellement à la demande. 8. Dispositif selon la revendication 7, caractérisé en ce que les postes de consultation, distants, sont associés à des moyens d'interrogation, en particulier des Minitel, permettant la sélection d'un morceau de musique ou d'un jeu d'images auprès du serveur à large bande, tandis que celui-ci est associé à un serveur télématique multivoies pour le traitement de ces informations de sélection.