FR2771531A1 - Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications - Google Patents

Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications Download PDF

Info

Publication number
FR2771531A1
FR2771531A1 FR9715065A FR9715065A FR2771531A1 FR 2771531 A1 FR2771531 A1 FR 2771531A1 FR 9715065 A FR9715065 A FR 9715065A FR 9715065 A FR9715065 A FR 9715065A FR 2771531 A1 FR2771531 A1 FR 2771531A1
Authority
FR
France
Prior art keywords
sep
information
application
access
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9715065A
Other languages
English (en)
Other versions
FR2771531B1 (fr
Inventor
Christophe Barth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CARD I
Original Assignee
CARD I
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CARD I filed Critical CARD I
Priority to FR9715065A priority Critical patent/FR2771531B1/fr
Publication of FR2771531A1 publication Critical patent/FR2771531A1/fr
Application granted granted Critical
Publication of FR2771531B1 publication Critical patent/FR2771531B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/346Cards serving only as information carrier of service
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

L'invention concerne notamment un procédé automatique de configuration sécurisée, de mémorisation/ accès et de calcul de coût d'utilisation d'applications. Ce procédé comprend au moins les étapes suivantes : - d'introduction dans un dispositif (2), d'un support d'informations codées (9) tel que carte à puce; - de sélection de l'application; - de mise en oeuvre automatisée d'une routine d'appel apte à lire des paramètres discriminants d'accès à l'application; - une étape de recherche automatisée dans une base de données de registres; et dans l'affirmative, une étape de modification automatisée de fichiers d'initialisation de l'application.

Description

L'invention concerne un procédé automatique de configuration sécurisée d'applications, de mémorisation/accès à des informations relatives à ces applications, et de calcul de coût d'utilisation de telles applications.
Elle concerne également un dispositif automatique de configuration sécurisée de ces applications, de mémorisation/accès à des informations relatives à de telles applications, et de calcul de coût d'utilisation que ces applications, et un système comportant en réseau de tels dispositifs.
L'invention concerne aussi un support d'informations codées, destiné à permettre la lecture et/ou l'inscription de telles informations, dans un tel procédé et/ou dispositif et/ou système.
Le domaine technique de l'invention vise donc notamment le traitement électronique de données, l'enregistrement ou l'indication de fonctionnement de machines, par exemple le temps d'utilisation d'une application par un dispositif tel qu'ordinateur, ainsi que les dispositions à déclenchement pour recevoir ou adresser des transactions.
Concernant le support d'informations codées, des techniques sont citées ici.
Le document FR-A-2.139.258 décrit une carte d'information dite "carte à puce".
Cette carte peut servir de carte de crédit, de carte de compte ou analogues, dans un système commandé par ordinateur.
A cette fin, il est possible d'entrer de manière contrôlable sur la carte, une information en réponse à des ordres donnés par le système d'ordinateur.
La carte comporte des mémoires monolithiques.
Une mémoire monolithique comprend une matrice de commutateurs à semi-conducteurs, sur un bloc semiconducteur dont on peut modifier l'état, de manière à introduire une information binaire en réponse à un signal électrique de déclenchement.
Dans une réalisation, il s'agit d'une matrice à diodes opposées monolithiques.
A la fabrication, la mémoire est vide de toute information, et ne contient donc que des zéros.
En insérant la carte dans un système de multiplexage, des signaux sont appliqués à la matrice.
L'énergie des signaux modifie les éléments électriques en provoquant leur changement permanent d'état électrique, soit une transformation de zéro en un.
Une telle carte peut aussi servir à manipuler des données, par exemple représentant une valeur monétaire.
Elle comporte alors un code personnel de sécurité.
Le document FR-A-2.374.702 décrit une carte effaçable d'activation et de perception de paiement, pour la distribution de prestations, et une machine fonctionnant avec cette carte, par exemple un taxiphone.
Le coût de la communication par taxiphone étant proportionnel à sa durée et à la distance géographique, la carte équipée d'un circuit électrique intégré constitue une clé logique d'identification et une matrice de prélèvement de montants correspondant à la prestation fournie.
Des bornes du circuit logique établissent le contact électrique entre la machine et la carte.
Dans le domaine des communications par réseaux ou analogues, le document EP-A-008.639 décrit un réseau d'accès pour télécommunications, commandé par carte.
Des fonctions centrales sont mises à jour pour extraire des détails d'appels depuis une station locale, et générer un enregistrement de paiement.
Le document EP-A-041.261 décrit un paiement par carte électronique à mémoire programmable, pour un téléphone.
Le document WO-A-81.02.655 décrit une authentification pour réseau de transaction en direct, pour permettre l'utilisation d'un service.
L'abrégé du document JP-40.37.975 décrit l'exécution de traitements à fonctions multiples, en réponse à une carte unique porteuse sélectivement d'une pluralité de programmes d'applications emmagasinés, par référence à des données d'identification sur la carte.
Lorsqu'une commande est émise par un terminal, le programme correspondant à un code d'identification est exécuté.
Concernant les applications, par exemple le document US-A-4.965.066 décrit un traitement de texte.
Tandis que des procédés, dispositifs ou systèmes numériques de traitement d'informations tels que les ordinateurs personnels dits "PC" ou modulateurs/démodulateurs dits "modems", sont décrits dans de nombreux documents.
Le vocabulaire spécifique à ces ordinateurs, est par exemple expliqué dans "Dictionnaire d'informatique", publié par Hermann et édité par Lavoisier.
Quant à la traduction en langue française de ce vocabulaire, il est fait référence au "Glossaire des termes officiels de l'informatique", publié par le Journal officiel de la république française, et édité par 1'AFNOR.
Ainsi, les codes standards américains pour l'échange d'information, dits "ASCII", sont employés sur de nombreuses machines, prévoient des codes sur sept bits sans recommandation de parité, fournissant des profils binaires de caractères.
Le terme "compactage" décrit un procédé de réduction de l'espace mémoire inutilisé.
Le terme "compression" signifie un procédé de codage de données afin de tirer parti de redondances, en vue de réduire la taille des données, par exemple pour leur transmission ou leur emmagasinage ou "stockage".
Les techniques connues présentent des inconvénients.
Ainsi, elles ne permettent pas d'utiliser un support d'information transportable, tel que carte à puce, afin de personnaliser et de simplifier l'accès à au moins un service ou application accessible à l'aide d'un dispositif et/ou système informatique.
En effet, il est nécessaire pour accéder et utiliser ces applications, de maîtriser certaines connaissances dans le domaine informatique.
Outre ces limitations de taille de mémoire, les supports tels que carte à puce, posent des problèmes de lenteur d'accès aux informations qu'ils contiennent.
Par ailleurs, un tel support ne permet pas actuellement de mémoriser, préalablement à une première utilisation du support notamment, des procédures d'accès automatisées à des applications d'intérêt pour le porteur autorisé du support, en toute confidentialité et sécurité.
Tandis que les techniques actuelles ne proposent pas dans la pratique, de permettre la sauvegarde de telles procédures d'accès sur un support transportable, en toute confidentialité et sécurité, de manière à ce que le porteur d'un support puisse après avoir interrompu son utilisation de l'application, y accéder sans avoir à réitérer ces procédures.
Tel est le cas des cartes à puce, du fait des limitations de capacité de mémoire et de temps d'accès évoquées.
Par ailleurs, les techniques actuelles ne sont pas satisfaisantes pour assurer de façon simple et économique, un stockage sélectif d'informations et leur transmission à un système de gestion en réseau, en vue de traitements tels que facturation détaillée, analyse commerciale ou analogues.
L'invention vise à résoudre ces inconvénients, notamment.
A cet effet, un premier objet de l'invention est un procédé automatique de configuration sécurisée d'au moins un dispositif tel qu'ordinateur, pour l'exécution d'au moins une application.
L'application est par exemple un programme informatique de courrier électronique, de traitement de données tel que tableur, ou analogues.
Ce procédé comprend au moins les étapes suivantes
- une étape d'introduction par un utilisateur dans le dispositif, d'un support d'informations codées tel que carte à puce, ces informations étant aptes à être lues et inscrites par ce dispositif, le support contenant des paramètres discriminants d'accès à l'application
- une étape de sélection par l'utilisateur, de l'application
- un étape de mise en oeuvre automatisée dans le dispositif, d'une routine d'appel apte à lire dans le support d'informations codées, les paramètres discriminants d'accès à l'application
- une étape de recherche automatisée dans une base de données de registres du dispositif, apte à déterminer en fonction des paramètres discriminants si l'application à configurer est installée dans le dispositif ; et
dans l'affirmative, une étape de modification automatisée de fichiers d'initialisation de l'application dans le dispositif, par intégration à ces fichiers de paramètres discriminants depuis le support.
Selon une caractéristique, l'étape de sélection par l'utilisateur, de l'application, comprend une phase préalable de saisie sur le dispositif d'un code confidentiel d'identification par l'utilisateur, sa comparaison par le dispositif avec une information numérique codée contenue dans le support, et soit
- une phase de passage à l'étape suivante du procédé de configuration automatisée dans le cas d'une validation du code confidentiel d'identification
- une phase d'exécution d'une routine de sécurité dans le cas où le code confidentiel d'identification n'est pas validé.
Selon une autre caractéristique, dans la mesure où l'étape de recherche automatisée s'avère négative et où il est accédé sans configuration automatisée à au moins une application, le procédé effectue une étape de sélection puis de saisie automatisée sur le support, de paramètres discriminants de l'application, afin de permettre une mise en oeuvre automatisée ultérieure de la configuration.
Suivant un exemple de procédé de configuration automatique d'une application de courrier électronique ou "E-mail", les paramètres discriminants de la routine d'appel contiennent notamment
- le nom de l'utilisateur
- son adresse de retour
- les coordonnées d'un compte de points de présence de l'utilisateur, dit compte "POP"
- les coordonnées d'un serveur de points de présence de l'application, dit serveur "POP" ; et
- éventuellement, les coordonnées d'un serveur d'adressage au protocole de transport de l'application, dit serveur "SMTP".
Suivant une mise en oeuvre d'un tel exemple, l'étape de recherche vise la localisation d'au moins un fichier d'initialisation appelé clé, et lorsque cette clé est présente, l'étape de modification comprend dans les paramètres discriminants de l'application, des codes d'adresse d'installation que la clé contient.
Selon une autre caractéristique, une étape d'effacement automatisée, inverse à l'étape de modification de fichiers d'initialisation de l'application choisie, est exécutée après l'utilisation de l'application, de manière à déconfigurer cette dernière dans le dispositif, assurant ainsi la confidentialité pour l'utilisateur de l'application, par rapport à d'autres utilisateurs du même dispositif, par exemple ultérieurs.
Selon une mise en oeuvre, l'étape inverse d'éffacement, comprend 11 effacement des fichiers d'initialisation, et/ou de fichiers produits lors de l'utilisation de l'application.
Un second objet de l'invention est un procédé de mémorisation et/ou d'accès dynamique à des informations relatives à de telles que ces applications, sur un support d'informations numériques codées, tel que carte à puce.
Ce procédé comporte une étape de compression des informations à mémoriser sur le support à partir d'un dispositif tel qu'ordinateur.
Le procédé conforme à l'invention prévoit au moins deux fonctionnalités, chacune comportant des étapes distinctes, à savoir
- une fonctionnalité de compression, par un dispositif tel qu'ordinateur, des informations à enregistrer sur le support ; et
- une fonctionnalité d'accès dynamique, par un dispositif tel qu'ordinateur, à ces informations sur le suppport.
Pour la compression, une étape prévoit la mise en place d'au moins une table de conversion statique, cette table étant enregistrée sur le dispositif, apte à être lue par celui-ci et comparé avec des informations sur le support.
Dans cette table de conversion statique, son consignés d'une part des motifs correspondant chacun à une chaîne de caractères à-mêmes d'être répétés.
D'autre part, sont consignés dans la table de conversion statique, une désignation courte codifiée sous une forme numérique comportant un nombre de caractères inférieur à celui du motif correspondant.
Selon une caractéristique, il est préalablement prévu, lors d'une étape de mémorisation préalable, d'enregistrer dans une première section de mémoire du support sans effectuer de compression, l'ensemble d'information à compresser.
Selon une autre caractéristique ultérieure, une étape de localisation du procédé prévoit alors dans le dispositif de passer en revue un ensemble d'informations à compresser, en vue de détecter dans cet ensemble la présence d'au moins une chaîne de caractère reproduisant un motif de la table statique.
Un motif doit présenter plus de trois caractères, les motifs répondant à cette condition étant les seuls à etre compressés.
Selon encore une autre caractéristique, lors d'une étape de substitution ultérieure, il est constitué dans le dispositif puis enregistré dans une deuxième section de mémoire du support, un ensemble d'information de premier niveau de compression, dans lequel chaque motif de la table est remplacé par la désignation courte codifiée correspondante.
Dans une mise en oeuvre, cet ensemble d'information de premier niveau de compression, cette désignation comporte un préfixe caractéristique à l'exécution d'une substitution.
Selon une caractéristique, il est choisi des caractères non imprimables pour les codes de contrôle, dans le procédé de compression de l'invention et/ou chaque élément d'information est qualifié quant à sa fonction dans l'ensemble d'informations à compresser.
Par exemple, certains éléments devant être protégés contre l'effacement et/ou d'autres qualifiés d'autodémarrables, provovent l'association à chaque chaine de caractère ou type d'information, d'un identifiant de qualification apte à définir leur fonction de destination dans l'application.
Selon une caractéristique de mise en oeuvre du procédé de compression, les étapes de premier niveau sont suivies d'étapes de deuxième niveau comprenant une étape de consignation d'une désignation courte codifiée sous une forme numérique comportant un nombre de caractères inférieur à celui de chaque motif à compresser, dans une table de conversion dynamique.
Dans une mise en oeuvre, la compression deuxième de niveau comprend les étapes prévoyant les
- localisation d'une chaine d'au moins trois caractères dont l'occurrence est supérieure à "n", ici initialement égal à deux, dans l'ensemble d'informations à compresser
écriture de chaque chaîne localisée dans la table de conversion dynamique dans le dispositif
- attribution d'un code de substitution ou désignation courte à chaque chaîne écrite dans la table;
- substitution dans l'ensemble d'informations à compresser de la chaîne par la désignation courte correspondante
- réitération de ces étapes jusqu'à substitution de toutes les chaînes de caractères de l'ensemble d'informations à compresser ; et
- Enregistrement de la table dynamique sur le support tel que carte à puce.
Selon une caractéristique, le procédé permettant l'accès dynamique comporte les étapes suivantes
- une étape de lecture réelle de l'ensemble d'information concerné sur le support tel que carte à puce est effectuée
- puis, une étape de sauvegarde toujours sur le support de l'information relevée par cette lecture réelle, par exemple suite à des étapes de compression, est effectuée en enregistrant cette information dans une section de mémoire dite tampon
- ensuite, une étape de décomposition de l'information enregistrée dans la section de mémoire tampon, par exemple par décompression, est effectuée
- une étape ultérieure prévoit un autre enregistrement de l'information décomposée sur le dispositif, dans une section distincte de mémoire à accès prioritaire à la lecture par le dispositif, de sorte que toute tentative de lecture est orientée vers la section distincte de mémoire à accès prioritaire, et est rendue immédiate du fait que l'ensemble d'informations est enregistré dans cette section à accès prioritaire sous une forme directement lisible.
Selon une caractéristique, lors du retrait du support, une étape prévoit l'invalidation des sections de mémoire tampon et à accès prioritaire, de façon à permettre une mise à jour en cas de changement de support.
Selon une autre caractéristique, des étapes relatives à l'accès en écriture, apte à procéder à l'enregistrement des modifications apportées au contenu d'une section du support, avant tout retrait éventuel de celui-ci, comprend une étape telle qu'à chaque accès en écriture, est effectué un accès physique d'enregistrement sur le support.
Selon encore une autre caractéristique, une étape de comparaison de l'état instantané de la section de mémoire du support de destination de l'ensemble d'informations, par exemple le contenu d'une section de mémoire tampon, avec l'ensemble d'information à écrire dans le dispositif est effectué
une étape ultérieure prévoit la définition d'un sous ensemble d'informations formé par la différence issue de la comparaison entre l'état instantané de la section de mémoire du support de destination et l'ensemble d'information à écrire
puis, une étape d'enregistrement sur le support de ce sous ensemble exclusivement est exécutée.
Dans un exemple, l'étape d'enregistrement précéde soit
une étape de mise à jour du contenu de la section de mémoire de destination et dans une section de mémoire tampon ; soit
une étape d'invalidation de l'écriture interrompt l'accès aux sections de mémoire de destination et tampon, et provoque vers le dispositif l'émission d'un message d'erreur commandant la mise à jour lors d'une lecture ou écriture ultérieure sur le support.
Dans un exemple, une étape de lecture préalable du support est automatiquement provoquée avant l'étape de comparaison, dans le cas où une requête d'écriture est émise sans qu'une étape de lecture ait été effectuée avant la comparaison.
Un troisième objet de l'invention est un procédé automatique de calcul de coût d'utilisation d'au moins une application.
Le procédé comprend les étapes prévoyant de
- de détecter, de manière répétitive par exemple à intervalles de temps réguliers de l'ordre de 10 secondes, chaque application en mémoire d'un dispositif tel qu'ordinateur
- de définir une durée constante et forfaitaire de facturation, par exemple de l'ordre de 30 secondes, et un taux de facturation de cette durée
- d'associer une unité de temps de référence propre à chaque application, correspondant à un multiple entier, par exemple compris entre 0 et 3, la durée forfaitaire
- de mesurer un temps réel d'utilisation de l'application, par exemple égal à "n" unités de temps comptées à intervalles de temps régulier et/ou à l'issue de l'utilisation de l'application
- de déterminer par une fonction, un coût égal au taux de facturation multiplié par le nombre d'unités dans le temps réel;
- d'enregistrement sélectif de ce coût sur le support d'information, et d'adressage via un réseau d'un message de débit correspondant, à un dispositif serveur de gestion centralisée ; et
- d'opération d'un débit en fonction d'au moins un coût ainsi déterminé.
Selon une caractéristique, l'étape de détermination prévoit que
- l'utilisation d'au moins une application est forfaitaire, voire gratuite
lorsque plusieurs applications exécutées en même temps en mémoire du dispositif, celle dont l'unité de référence est la plus élévée, est considérée dominante
- lorsqu'au moins une nouvelle application non gratuite est détectée en mémoire, une unité est débitée
- lorsqu'au moins une application n'est pas initialement associée à une unité de référence, elle est considérée forfaitaire, par exemple d'une unité par minute.
Selon une autre caractéristique, le dispositif serveur en réseau dit de gestion d'adressage tient à jour une table de coûts d'application dite table d'administrateur redéfinissable.
Selon encore une autre caractéristique, destinée à une application d'exploitation dite "multitâche", pouvant avoir plusieurs sous-applications exécutables simultanément en mémoire, l'étape de détection comprend une phase de comparaison des applications détectées avec liste d'exclusion consignant toutes les applications déjà en mémoire, pour que l'utilisateur ne soit pas débité d'une manière forfaitaire pour l'utilisation d'applications qu'il n'a pas lancé.
Un quatrième objet de l'invention est un dispositif automatique permettant la mise en oeuvre de l'un au moins des procédés évoqués plus haut.
Ce dispositif tel qu'ordinateur de type PC, est apte à mettre en oeuvre au moins un procédé selon l'invention, tel qu'évoqué.
Selon une caractéristique, le dispositif comporte un lecteur de support d'informations codées, tel que une carte à puce.
Selon une autre caractéristique, le dispositif comporte un modulateur/démodulateur apte à le relier à un réseau, par exemple à un dispositif dit "serveur" de manière à pouvoir lui donner accès à des applications telles que courriers électroniques ou navigation et/ou le dispositif est en libre-service, pour permettre à différents utilisateurs d'employer des applications.
Un cinquième objet de l'invention est un système comportant en réseau de tels dispositifs et/ou apte à mettre en oeuvre l'un des procédés évoqués plus haut.
Le système comporte au moins deux dispositifs reliés par exemple via un réseau de communication tel que internet, au moins un dispositif étant un serveur de gestion centralisée, notamment destiné à permettre la facturation d'applications exécutées sur un autre dispositif du réseau.
Un sixième objet de l'invention est un support d'informations codées, destiné à permettre la lecture et/ou l'inscription de telles informations, dans un tel dispositif et/ou système, et/ou selon l'un au moins des procédés évoqués plus haut.
Ce support est équipé d'un microprocesseur comportant apte à définir au moins deux sections de mémoire, pour l'enregistrement et l'accès à des informations codées telles que paramètres de configuration d'application, table de conversion ou clé confidentielle d'identification.
L'invention ressort mieux de la description détaillée qui suit de modes de réalisation donnés à titre d'exemple.
D'une part, cette description se réfère aux annexes 1 à 6, qui comprennent des exemples de modes de réalisation.
L'annexe 1 comprend en exemple 1, un tableau des noms et temps de variables d'entrée dans un procédé de calcul de coût d'applications, selon l'invention.
Un exemple 2 sur l'annexe 1 représente un tableau des noms d'applications à lancer, dans un exemple de ce procédé.
Un exemple 3 sur l'annexe 1 représente un tableau définissant des étapes d'un algorithme 1, dans un exemple de ce procédé.
Un exemple 4, sur l'annexe 3, représente un tableau définissant des étapes d'un algorithme 2.
Comme les exemples 1 à 4, les parties 1 et 2 des annexes 4 à 6, concernent aussi un procédé de calcul de coût d'applications.
Ces parties illustrent un exemple de programme source de calcul de coût d'application, en langage de programmation Pascal.
Ces sources illustrent des exemples d'algorithmes généraux dits de principe, pour un tel procédé.
Sur l'annexe 1 encore, un exemple 5 concerne un procédé de compression d'informations numériques codées et d'accès dynamique à de telles informations, sur un support tel que carte à puce.
L'exemple 5 comporte trois tableaux, respectivement désignés en 5a, 5b et 5C.
Le tableau 5a définit un ensemble d'informations avant compression.
Le tableau 5b présente un extrait de table de conversion de motifs en vue de la compression, et leur code de substitution respectif.
Et le tableau 5c représente un ensemble d'informations dans lequel une compression à été effectuée par substitution de motifs, avec un caractère de marquage.
Dans les tableaux 5a et 5c, les cases hachurées représentent des espaces mémoires inutilisés, tandis que les cases noircies représentent le gain de compression.
Et le caractère 8, à la ligne 3 colonne 2 par exemple, constitue un délimitateur d'information.
Les annexes 2 et 3 comprennent un exemple 6, avec des tableaux 6a à 6f, illustrant le contenu de mémoires d'un support tel que carte à puce, à différentes étapes d'un exemple de procédé de compression d'information de premier niveau.
Dans ces tableaux les caractères e et les cases hachurées ont la même signification que dans l'exemple 5.
Il en va de même dans l'exemple 7.
Le tableau 6a représente le contenu de trois sections de mémoire d'un tel support, avant la compression.
Le tableau 6b représente le contenu des trois sections de mémoire, après une étape de tentative de lecture de ce contenu, de copie d'une première section CP dans une deuxième section MT1, et un remplissage d'une troisième section MT2 de mémoire tampon par un algorithme de décompression.
Le tableau de l'exemple 6c représente une étape de modification d'un ensemble d'informations, dans la section de mémoire tampon MT2.
Les cases grisées (lignes 9 et 10, et les cinq premières cases de la ligne 10) représentent sur le tableau 6C, un ensemble de codes modifiés dans section MT2.
Le tableau de l'exemple 6d représente une étape d'application d'un algorithme de compression sur la section
MT2 par copie d'un résultat dans la section MT1, qui est alors désignée alors en MTlbis.
Le tableau de l'exemple 6e représente une étape de localisation de différences entre les sections de mémoires
MT1 et MTlbis.
Dans ce tableau 6e, les trois dernières cases de la ligne 6, la ligne 7 et les six premières cases de la ligne 8 dans la section MT1, ainsi que les mêmes cases dans la section MTlbis, illustrent les différences sélectionnées au sein des sections MT1 et la nouvelle section MTlbis.
Sur l'annexe 3, le tableau de l'exemple 6f représente après une étape d'effacement du contenu du support correspondant aux différences sélectionnées dans la section MT1, puis d'écriture de nouvelles informations disponibles dans les cases correspondantes de la section
MTlbis, le contenu des sections CP, MT1 et MT2.
Notons que le code Ix désigne un code de qualification de l'information sur huit bits, préalablement désigné par I1, I2 ou I3.
L'annexe 3 comprend un exemple 7, avec des tableaux 7a, 7b et 7c, illustrant le contenu de mémoires d'un support tel que carte à puce, à différentes étapes d'un exemple de procédé de compression d'information de deuxième niveau.
Dans cet exemple, les mêmes informations que dans l'exemple 6 ont été choisies, pour plus de simplicité.
Tandis que la compression de premier niveau a été effectuée préalablement.
Le tableau 7a de l'exemple 7 illustre l'état des informations qui en découle.
Le tableau 7b illustre le résultat d'une étape de recherche de chaînes, dans l'exemple d'au moins trois caractères, répétées au mois deux fois dans le contenu d'une section de mémoire que l'on souhaite compresser.
Et le tableau 7c représente les résultats d'une étape de substitution de ces chaînes par un code de substitution illustré sur le tableau 7b.
Dans ce tableau, les seize dernières cases de la quatrième ligne représentent les modifications apportées à la section de mémoire.
D'autre part, la description détaillée de l'invention qui suit, se réfère aux dessins annexés, donnés uniquement à titre d'exemple.
Dans ces dessins, la figure 1 représente un système en réseau comprenant des dispositifs, ici des ordinateurs de type PC, aptes à mettre en oeuvre au moins un procédé selon l'invention, tel qu'évoqué.
Les figures 2 à 4 sont des graphiques illustrant, dans un procédé de compression et d'accès dynamique, les gains obtenus.
Plus précisément, la figure 2 illustre le gain obtenu en fonction de la longueur et du nombre de répétitions, avec en abscisses la longueur (L) et en ordonnées le gain en pourcents (%).
La figure 3 illustre aussi le gain obtenu en fonction de la longueur et du nombre de répétitions, avec en abscisses la longueur (L) et en ordonnées le gain en pourcents (%).
La figure 4 est un graphique qui illustre la longueur minimale d'une chaîne en fonction du nombre de répétitions, dans un procédé de compression et d'accès dynamique, avec en ordonnées la longueur (L) et en abscisses le nombre de répétitions (N).
La figure 5 est un organigramme logique qui illustre un exemple d'algorithme dit ALGO 1 dans un procédé de calcul de coûts d'applications.
Et la figure 6 est un organigramme logique qui illustre un autre exemple d'algorithme dit ALGO 2 dans un procédé de calcul de coûts d'applications.
Sur la figure 1 un système informatique 1 en réseau comprenant plusieurs dispositifs 2, 3 et 4 tels qu'ordinateurs de type PC, sont représentés.
Ces système 1 et dispositifs 2 sont aptes à mettre en oeuvre au moins un procédé selon l'invention, tel qu'évoqué.
Le système 1 comporte aussi un réseau 5 de accès à des applications telles que courriers électronique ou navigation, notamment.
D'autres dispositifs comparables au dispositif 2 sont connectés à ce serveur 3, qui fait donc office de serveur d'adressage.
Tandis que le dispositif 4 est un serveur de gestion centralisée, notamment destiné à permettre la facturation d'applications exécutées sur le dispositif 2, ou sur d'autres dispositifs similaires non représentés.
Typiquement, le dispositif 2 est en libre-service, pour permettre à différents utilisateurs d'employer des applications.
Au moins un dispositif 2 est dans un exemple la propriété de ou loué à l'utilisateur.
Afin de pouvoir personnaliser le dispositif 2 en fonction de chaque utilisateur, et assurer une facturation proportionnelle à leur utilisation d'applications, le dispositif 2 comporte un lecteur 8 de support d'informations codées.
Sur la figure 1, ce support est une carte à puce désignée en 9.
Le support 9 d'informations codées, est comme on le comprend plus loin, destiné à permettre la lecture et/ou l'inscription d'informations.
Ce support 9 est équipé d'un microprocesseur apte à définir au moins deux sections de mémoire par exemple MT1,
MTlbis, MT2, pour l'enregistrement et l'accès à des informations codées telles que paramètres de configuration d'application, table de conversion ou clé confidentielle d'identification.
Dans des exemples, les sections de mémoire ainsi que les informations enregistrées sont préalablement inscrites sur le dispositif 8, et selon les cas copiées sur le support 9.
Le dispositif 2 permet ainsi la mise en oeuvre d'un procédé de configuration automatique sécurisée.
Le but de ce procédé est de permettre l'accès simplifié à des applications.
Ces applications sont telles que logiciels de courrier électronique ou "E-mail", navigation sur des réseaux globaux comme internet.
Mais sont aussi visées ici des traitement de texte, tableur, gestionnaire de base de données, programme de dessin ou animation, et analogues.
Ce procédé prévoit une routine d'appel apte à présenter une structure contenant des paramètres discriminants de l'application choisie.
Dans l'exemple d'une application de courrier électronique ou"E-mail", la routine d'appel contient
- le nom de l'utilisateur
- son adresse de retour
- le compte dit "POP"
- le serveur dit "POP" ; et
- le serveur dit"SMTP".
Le procédé de configuration effectue pour chacune des applications à gérer, une recherche dans une base de données de registres, si l'application à configurer est installée sur le dispositif 2, ou accessible via celui-ci depuis le serveur 3 ou le modem 7.
Dans l'affirmative, le procédé effectue alors une étape de modification de fichiers d'initialisation de l'application choisie, dits fichiers "INI".
Dans la mesure où la recherche s'avère négative, le procédé effectue la saisie automatisée ou entrée de la routine d'appel de l'application, dans la base de données de registres.
Une fonction inverse à l'étape de modification de fichiers d'initialisation de l'application choisie, permet de déconfigurer et d'effacer dans le dispositif recevant le support tel que carte à puce.
Cela assure ainsi de conserver la confidentialité pour l'utilisateur de l'application, par rapport à des utilisateurs ultérieurs du même dispositif.
Dans un premier exemple de courrier électronique appelé Eudora (R), la configuration prévoit la recherche dans la base de registre d'un chemin d'accès à un fichier d'initialisation pointé par un sous-fichier de la base dit clé "QUALCOM".
Lorsque cette clé est présente, les codes d'adresse dits "PATH" d'installation que la clé contient son saisis.
Ensuite, des informations sélectionnées dans les codes d'adresse et/ou clé sont copiés notamment dans le support tel que carte à puce.
Pour la déconfiguration, dans les fichiers d'initialisation sont retirés, c'est-à-dire effacés, les entrées. Puis est effectué l'effacement des fichiers produits lors de l'utilisation de l'application.
Dans un deuxième exemple de courrier électronique appelé Netscape (R), la configuration prévoit la recherche dans la base de registre d'un fichier d'initialisation contenant les codes "PATH" d'installation
Si ces codes ou clé existent, elles sont saisies.
Ensuite, des informations sélectionnées dans les codes d'adresse et/ou clé sont copiés.
Pour la déconfiguration, il est procédé comme exposé plus haut.
Dans un exemple d'utilisation sur le réseau internet pour le courrier électronique, le procédé suit notamment les étapes suivantes.
La configuration prévoit la recherche dans la base de registre d'un fichier d'initialisation appelé "clé
INTERNET MAIL".
Lorsque cette clé est présente, les racines de codes d'adresse dits "PATH" d'installation que la clé contient sont spécifiés dans un répertoire temporaire d'une application d'exploitation à interface graphique telle que
Windows (R) dans sa version 1995.
Ensuite, des informations sélectionnées dans les codes d'adresse et/ou clé sont copiés dans les différentes entrées de la base de registre, depuis le support tel que carte à puce.
Pour la déconfiguration, dans les fichiers d'initialisation sont retirés, c'est-à-dire effacés, les entrées. Puis est effectué l'effacement des fichiers produits lors de l'utilisation de l'application de courrier électronique par internet.
Il va de soi que pour d'autres applications, telles que traitement de texte, tableur, gestionnaire de base de données, ou analogues, des étapes similaires peuvent être prévues, pour simplifier et rendre plus rapide un accès à ces applications, et leur configuration notamment en fonction de préférences ou accès antérieurs de 1 'utilisateur.
Un procédé généralement dit de mémorisation d'informations sur un support tel que carte à puce est maintenant décrit.
Les cartes à puces ou à microprocesseurs actuellement répandues sur le marché ne possèdent pas une taille ou capacité de mémoire suffisante pour enregistrer par exemple des paramètres discriminants nécessaires à la configuration et/ou à la personnalisation d'applications, comme cela vient d'être exposé.
Il a aussi été souligné qu'avec les cartes actuellement répandues sur le marché, les temps d'accès, notamment en écriture, sont relativement longs.
De manière antagoniste, le volume des fichiers mis en oeuvre pour le fonctionnement des applications est en constante augmentation.
I1 est donc de plus en plus difficile de pouvoir enregistrer sur un support tel que carte à puce, des ensembles de données numérisées permettant l'exécution de procédés tels qu'exposés.
Les techniques actuelles de compression ou d'optimisation s'avèrent pour ce faire, insatisfaisantes dans la pratique.
Pour concilier ces antagonismes, le procédé conforme à l'invention prévoit deux fonctionnalités, chacune comportant des étapes distinctes, à savoir:
- une fonctionnalité de compression, par un dispositif tel qu'ordinateur, des informations à enregistrer sur le support; et
- une fonctionnalité d'accès dynamique, par un dispositif tel qu'ordinateur, à ces informations sur le support.
La première vise à minimiser la taille de l'information à enregistrer sur le support, alors que la deuxième optimise les accès sur le support, en limitant la quantité d'informations à écrire et/ou effacer, par exemple pour exécuter l'un au moins des procédés évoqués ici.
Le but de la compression est de transcrire sous forme codifiée une partie d'information, typiquement une série de caractères.
A cette fin, il est mis en place au moins une table de conversion statique. Cette table est enregistrée sur le dispositif 8 et apte à être lue par celui-ci.
Dans un exemple, la table statique est directement enregistrée sur le support 9.
Le terme statique signifie ici que la table de conversion n'est pas appelée à subir des évolutions en fonction des informations à compresser.
Dans cette table de conversion statique, son consignés d'une part des motifs correspondant chacun à une chaîne de caractères à-mêmes d'être répétés.
Cette répétition, intervient soit au sein d'un même ensemble d'informations, tel que fichier.
Soit il s'agit de chaînes de caractères communément employés dans les applications, et à occurrence fréquente.
Il s'agit typiquement d'instructions, de variables, de constantes, d'adresses, d'extensions, de codes normalisés ou analogues.
D'autre part, sont consignés dans la table de conversion statique, une désignation courte codifiée sous une forme numérique comportant un nombre de caractères inférieur à celui du motif correspondant.
Il est préalablement prévu, lors d'une étape de mémorisation préalable, d'enregistrer dans une première section de mémoire sans effectuer de compression, l'ensemble d'information à compresser.
Ultérieurement, une étape de localisation du procédé prévoit alors dans le dispositif de passer en revue un ensemble d'informations à compresser, en vue de détecter dans cet ensemble la présence d'au moins une chaîne de caractère reproduisant un motif de la table statique.
Lors d'une étape de substitution ultérieure, il est constitué dans le dispositif puis enregistré dans une deuxième section de mémoire, un ensemble d'information de premier niveau de compression, dans lequel chaque motif de la table est remplacé par la désignation courte codifiée correspondante.
Dans cet ensemble d'information de premier niveau de compression, afin d'éviter une confusion à la lecture par le dispositif entre des caractères extérieur à et compris dans une désignation courte, cette dernière comporte un préfixe caractéristique à l'exécution d'une substitution.
On comprend déjà qu'un motif doit présenter plus de trois caractères pour que la compression présente un intérêt. Donc, les motifs répondant à cette condition seront en général les seuls à être compressés.
Afin dimplémenter le procédé de compression, citons ici des conventions actuellement en vigueur
- une adresse est représentée par une chaîne de caractères
dans un fichier écrit dans un langage de programmation tel que C, une chaîne de caractères est une succession de nombre entier codé sur un octet, soit huit bits
chaque entier représente un caractères ou code de contrôle
- un fichier ou ensemble d'informations est lu selon les conventions ASCII évoquées plus haut en sept ou huit bits.
A partir de ces bases, il est en général choisi des caractères non imprimables pour les codes de contrôle, dans le procédé de compression de l'invention.
Précisons aussi que chaque élément d'information doit être qualifié quant à sa fonction dans l'ensemble d'informations à compresser.
Par exemple, certains éléments doivent être protégés contre l'effacement. D'autres sont qualifiés d'auto-démarrables.
Ceci implique donc l'association à chaque chaîne de caractère ou type d'information, un identifiant de qualification apte à définir leur fonction de destination dans l'application.
Lors de l'étape de substitution, un identifiant de qualification est associé sur le support à chaque motif compressé, afin d'éviter à la lecture de l'ensemble d'informations le contenant, une interprétation erronée.
Suivant le procédé de compression, il est choisi une syntaxe d'information telle que dans l'exemple qui suit
Ensemble d'information= < Liste d'info >
Liste d'info = (code Qualificatif)
< Information > (Code Fin de
Chaîne) < Liste d'info > I
Information = < Elément de
Base > < Information > I
Elémént de Base = (Code de Substitution)
(Code d'équivalence) I
(Caractère Imprimable)
Dans cet exemple:
(code Qualificatif) = Valeur comprise entre 01HEX
et FEHEX
(Code Fin de Chaîne) = Valeur egale à 00HEX
(Code de Substitution)= Valeur égale à 01HEX
(Code d'équivalence) = Valeur comprise entre 01HEX
et FEHEX;
(Caractère Imprimable) = Valeur comprise entre 20HEX
et FEMEX.
Le caractère "I" correspond au "ou" logique, et "" au vide épsilon.
Rappelons ici que le procédé de compression, qui suit par exemple un algorithme, permet de réaliser une substitution de motifs contenus dans la table de conversion statique, par une désignation courte codifiée dite aussi code de substitution.
Dès qu'une occurence est localisée, la substitution est effectuée.
Suivant une mise en oeuvre du procédé de compression, les étapes de premier niveau sont suivies d'étapes de deuxième niveau.
Dans ces étapes, une désignation courte codifiée sous une forme numérique comportant un nombre de caractères inférieur à celui de chaque motif à compresser est consignée dans une table de conversion dynamique et non pas statique, comme dans la compression de premier niveau.
En synthèse, la compression deuxième de niveau comprend les étapes prévoyant de
- localisation d'une chaîne d'au moins trois caractères dont l'occurence est supérieure à"n", ici initialement égal à deux, dans l'ensemble d'informations à compresser
écriture de chaque chaîne localisée dans la table de conversion dynamique dans le dispositif
- attribution d'un code de substitution ou désignation courte à chaque chaîne écrite dans la table
- substitution dans l'ensemble d'informations à compresser de la chaîne par la désignation courte correspondante
- réitération de ces étapes jusqu'à substitution de toutes les chaînes de caractères de l'ensemble d'informations à compresser ; et
- Enregistrement de la table dynamique sur le support tel que carte à puce.
Comme dans le premier niveau de compression, la première désignation courte comporte par exemple le code de substitution 1, et la suivante 2, etc.
Des délimitateurs de fonction sont prévus en tête d'un motif substitué, par exemple"Ox02HEx".
De manière similaire, sur le support la table de conversion est dans cet exemple séparée des autres informations qu'elle contient, par une marque telle que deux codes de type"OxFF".
Les étapes du procédé permettant l'accès dynamique sont maintenant décrites.
Le but de ces étapes est de minimiser les échanges d'informations entre le support tel que carte et le dispositif à partir duquel est exécutée au moins une application.
Il s'agit donc de mettre en place une sorte de mémoire cache.
Un tel accès dynamique vise un ensemble d'informations, tel qu'un fichier entier, des chaînes de caractères ou des motifs d'information.
Le procédé comporte, pour l'accès dynamique, les étapes suivantes.
Une étape de lecture réelle de l'ensemble d'information concerné sur le support tel que carte à puce est effectuée.
Puis, une étape de sauvegarde de l'information relevée par cette lecture réelle, par exemple suite à des étapes de compression, est effectuée en enregistrant cette information dans une section de mémoire dite tampon.
Ensuite, une étape de décomposition de l'information enregistrée dans la section de mémoire tampon, par exemple par décompression, est effectuée.
Une étape ultérieure prévoit un autre enregistrement de l'information décomposée dans une section distincte de mémoire à accès prioritaire à la lecture par le dispositif.
Ainsi, toute tentative de lecture est orientée vers la section distincte de mémoire à accès prioritaire, et est rendue immédiate du fait que l'ensemble d'informations est enregistré dans cette section à accès prioritaire sous une forme directement lisible.
Lors du retrait du support, une étape automatique prévoit l'invalidation des sections de mémoire tampon et à accès prioritaire.
Cela permet notamment la confidentialité en cas de changement de support.
Après avoir décrit les étapes relatives à l'écriture sur le support, expliquons les étapes relatives à l'accès en écriture.
Ce dernier se différencie de l'écriture, par la nécessité de procéder à l'enregistrement des modifications apportées au contenu d'une section du support, avant tout retrait éventuel de celui-ci.
Ceci implique qu'à chaque accès en écriture, est effectue un accès physique d'enregistrement sur le support.
Une étape de comparaison de l'état instantané de la section de mémoire du support de destination de l'ensemble d'informations, par exemple le contenu d'une section de mémoire tampon, avec l'ensemble d'information à écrire dans le dispositif est effectué.
* Une étape ultérieure prévoit la définition d'un sous ensemble d'informations formé par la différence issue de la comparaison entre l'état instantané de la section de mémoire du support de destination et l'ensemble d'information à écrire.
Puis, une étape d'enregistrement sur le support de ce sous ensemble exclusivement est exécutée.
Dans un exemple, l'étape d'enregistrement précéde soit
une étape de mise à jour du contenu de la section de mémoire de destination et dans une section de mémoire tampon; soit
une étape d'invalidation de l'écriture interrompt l'accès aux sections de mémoire de destination et tampon, et provoque vers le dispositif l'émission d'un message d'erreur commandant la mise à jour lors d'une lecture ou écriture ultérieure sur le support.
Dans un exemple, une étape de lecture préalable du support est automatiquement provoquée avant l'étape de comparaison, dans le cas où une requête d'écriture est émise sans qu'une étape de lecture ait été effectuée avant la comparaison.
Cela permet une mise à jour systématique des sections de mémoire de destination et tampon, avant une écriture.
Sur l'annexe 1, est illustré un exemple 5 de procédé de compression d'informations numériques codées et d'accès dynamique à de telles informations, sur un support tel que carte à puce.
Le tableau Sa définit un ensemble d'informations avant compression.
Le tableau 5b présente un extrait de table de conversion de motifs en vue de la compression, et leur code de substitution respectif.
On constate en effet que les ensembles d'information comportent des chaînes de caractères occurrents.
Par exemple dans le cas d'une navigation sur un réseau tel qu'internet, on constate
- Une caractérisation des informations de réseau de transmission
les adresses de sites internet, commencent par la chaîne de caractères "http://"
les adresses de courrier E-mail, commencent par la chaîne de caractères "mailto:"
les adresses de sites de réseaux à protocole de transfert de fichiers dits "FTP", commencent par la chaîne de caractères "ftp://"
les adresses de forums de discussion ou "nets group", commencent par la chaîne de caractères "news:"
- Une caractérisation de la localisation géographique des fournisseurs d'information sur réseau de transmission, notamment selon leur pays d'origine
".fur" pour la France
".fui" pour la Finlande
. ".uk" pour la Grande-bretagne
. ".jp" pour le Japon
".au" pour l'Australie, notamment.
- Une caractérisation de la société de fournisseurs d'information sur réseau de transmission.
- Une caractérisation de la catégorie d'entité du fournisseur d'information sur réseau de transmission
".edu" pour les établissements d'enseignement
".com" pour les entités à but lucratif ou commercial
".gov" pour les entités gouvernementales, notamment.
Ces motifs se retrouvent pour certains dans l'exemple du tableau de conversion statique 5a de l'annexe 1.
Et le tableau 5c représente un ensemble d'informations dans lequel une compression à été effectuée par substitution de motifs, avec un caractère de marquage.
Les annexes 2 et 3 comprennent un exemple 6, avec des tableaux 6a à 6f, illustrant le contenu de mémoires d'un support tel que carte à puce, à différentes étapes d'un exemple de procédé de compression d'information de premier niveau.
Le tableau 6a représente le contenu de trois sections de mémoire d'un tel support, avant la compression.
On a vu que CP désigne une section d'inscription initiale, MT1 ou MTlbis des sections de mémoire tampon, et
MT2 une section de mémoire dite à accès prioritaire.
Le tableau 6b représente le contenu des trois sections de mémoire, après une étape de tentative de lecture de ce contenu, de copie d'une première section CP dans une deuxième section MT1, et un remplissage d'une troisième section MT2 de mémoire tampon par un algorithme de décompression.
Alors, les informations ou données disponibles le sont en accès direct et instantané pour toutes les lectures ultérieures du support, avant un autre enregistrement.
Le tableau de l'exemple 6c représente une étape de modification d'un ensemble d'informations, dans la section de mémoire tampon MT2.
Ici, 1' information "http//www.icard.net/main.html" est modifiée en "http//www.icard.com/pages/index.html" dans la section de mémoire tampon MT2.
Le tableau de l'exemple 6d représente une étape d'application d'un algorithme de compression sur la section
MT2 par copie d'un résultat dans la section MT1, qui est alors désignée alors en MTlbis.
L'étape de comparaison est ainsi effectuée.
Dans un exemple, la mémoire est allouée dynamiquement, et qu'elle sera restituée après son utilisation provisoire dynamique.
Le tableau de l'exemple 6e représente une étape de localisation de différences entre les sections de mémoires MT1 et MTlbis.
Cette étape est effectuée sous la commande d'un algorithme.
Dans ce tableau 6e, les différences sélectionnées au sein des sections MT1 et la nouvelle section MTlbis sont illustrées.
Sur l'annexe 3, le tableau de l'exemple 6f représente après une étape d'effacement du contenu du support correspondant aux différences sélectionnées dans la section MT1, puis d'écriture de nouvelles informations disponibles dans les cases correspondantes de la section
MTlbis, le contenu des sections CP, MT1 et MT2.
L'annexe 3 comprend un exemple 7, avec des tableaux 7a, 7b et 7c, illustrant le contenu de mémoires d'un support tel que carte à puce, à différentes étapes d'un exemple de procédé de compression d'information de deuxième niveau.
Dans cet exemple, la compression de premier niveau a été effectuée préalablement.
Le tableau 7a de l'exemple 7 illustre l'état des informations qui en découle.
Le tableau 7b illustre le résultat d'une étape de recherche de chaînes, dans l'exemple d'au moins trois caractères, répétées au mois deux fois dans le contenu d'une section de mémoire que l'on souhaite compresser.
Et le tableau 7c représente les résultats d'une étape de substitution de ces chaînes par un code de substitution illustré sur le tableau 7b.
En se reportant aux figures 2 à 4, sont illustrés les gains obtenus de volume utile de mémoire avec le procédé de compression décrit.
Le procédé de calcul du coût des applications est maintenant décrit.
Le but de ce calcul du coût des applications est de détecter les applications en mémoire et de leurs associer un coût fonction du temps, entre chaque débit d'unité.
Les règles à respecter sont dans les exemples telles que
- Une application peut être gratuite.
- Si plusieurs applications sont exécutées en même temps en mémoire du dispositif, la plus consommatrice en unité est dominante sur le réglage de la vitesse de débit des unités du compteur.
- Lorsqu'une nouvelle application non gratuite est détectée en mémoire, le compteur est débité d'une unité.
- Lorsqu'une application n'est pas référencée dans la table associant chaque applications a un prix, elle est facturée sur un tarif forfaitaire, par exemple d'une unité par minute.
Dans le système 1, un dispositif 4 en réseau dit de gestion tient à jour une table associant à chaque application un coût que l'administrateur du PC peut redéfinir.
Un exemple 1 de ce tableau est représenté sur l'annexe 1.
Le temps minimum entre deux débits d'unité est dans l'exemple de 30 secondes.
Seules les applications lancées par l'utilisateur vont être facturées.
Le fonctionnement de calcul du coût des applications prévoit de mettre en oeuvre plusieurs logiques opérationnelles
- Le repérage des applications ou "process" en mémoire.
- Les techniques retenues pour connaître à tout moment l'état de la mémoire de l'application opérationnelle, par exemple à interface graphique, par exemple Windows (R), qui sont les suivantes
1) Une temporisation ou "timer" d'une vitesse d'horloge dite "granulaire" de 10 secondes, lance une fonction de vérification du contenu de la mémoire.
2) Une autre version prévoit pour non plus de scruter ou "scanner" en permanence la mémoire, mais d'être alerté à chaque démarrage de processus par l'application d'exploitation du dispositif 2.
La première technique s'appuie sur une fonctionnalité de cette application d'exploitation par exemple désignée par "API ToolHelp32".
La deuxième serait d'utiliser les fonctionnalités d'accroche dites"HOOK"du type parfois désignées dans des fichiers d'interface de coeur dits "SHELL".
Cette dernière étant beaucoup moins consommatrice de temps machine n'a pas été utilisée car elle oblige le programme, faisant appel à ce HOOK particulier, à gérer toutes les réductions de fenêtre.
Ce HOOK est utilisé par exemple par la barre de tache d'une application d'exploitation comme Windows (R) dans sa version de 1995.
Le deuxième logique opérationnelle prévoit la maintenance d'une liste des coûts.
Cette technique permettant de savoir combien coûte une application, repose sur une liste contenant le nom mémoire de l'application et son coût. Dans les exemples, on prévoit notamment
pour une application de navigation "NAVIG.EXE" correspond un temps 1 (1 pour 1 X 30 Sec.)
pour une application de carnet portable "NOTESX.EXE" correspond un temps infini: (infini pour gratuit).
L'exemple 1 apporte un cas de traitement de texte "TEXTEUR. EXE", et de courrier via internet "INTERNET MAIL".
La troisième logique opérationnelle gère la maintenance d'une liste des applications chargées avant l'exécution du programme, comme sur l'exemple 2, où "SERVER.EXE" est une application de connexion à un serveur tel que le dispositif 3, et "SYSTER.EXE" est l'application d'exploitation.
Une application d'exploitation dite "multitâche" telle que Windows (R) dans sa version 1995, pouvant avoir plusieurs applications exécutables simultanément en mémoire, pour que l'utilisateur ne soit pas débité d'une manière forfaitaire pour l'utilisation d'applications qu'il n'a pas lancé, il est prévu de mettre dans une liste d'exclusion, toutes les applications déjà en mémoire.
On comprend que l'exemple 1 est un tableau des noms et temps de variables d'entrée dans un procédé de calcul de coût d'applications, selon l'invention.
Tandis que l'exemple 2 sur l'annexe 1 représente un tableau des noms d'applications déjà lancées, dans un exemple de ce procédé.
Un exemple 3 sur l'annexe 1 représente un tableau définissant des étapes d'un algorithme 1, dans un exemple de ce procédé.
Cet algorithme 1 dit ALGO1 est illustré sur la figure 5, à rapprocher du tableau de l'exemple 3.
Sur cette figure, les cases désignées par les références numériques à gauche, représentent les fonctionnalités ou étapes à droite
référence 10 =
- rérérence 13 = étape "TEST 1" définie par NOM = 0 ?";
- référence 14 = étape intervenant si la réponse en 13 est "Y" pour "oui", de fin de l'algorithme;
référence 15 = étape intervenant si la réponse en 13 est "N" pour "non", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "NOM=EXPLORER.EXE ?" ;
- référence 16 = étape intervenant si la réponse en 15 est "Y" pour "oui", de passage à un autre algorithme de deuxième niveau dit "ALGO2"
référence 17 = étape intervenant si la réponse en 15 est "N" pour "non", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "NOM appartient à
LISTE NOM TEMPS ?"
référence 18 = étape "TEST 6" intervenant si la réponse en 17 est "Y" pour "oui", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "TEMPS < TEMPS de LISTE NOM TEMPS à l'index NOM"
référence 19 = étape "TEST 4" intervenant si la réponse en 17 est "N" pour "non", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "NOM appartient à LISTE~NOM ?"
référence 20 = étape "FONCTION 2"intervenant si la réponse en 18 est "N" pour "non", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "TEMPS = TEMPS de LISTE NOM TEMPS à l'index NOM"
référence 21 = étape "TEST 5" intervenant si la réponse en 19 est "N" pour "non", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "TEMPS > 2"
référence 22 = étape "FONCTION 3 intervenant si la réponse en 21 est "Y" pour "oui", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "TEMPS = 2".
Le but de cet algorithme ALGO 1 est
- de comparer avec deux listes prédéfinies, les applications en mémoire.
Une liste dont un exemple 1 est représenté sur l'annexe 1, comprend toutes ces applications avec leurs coûts associés définies par l'utilisateur de l'application.
Une liste dont un exemple 2 est représenté sur l'annexe 1, comprend toutes les applications présentes en mémoire avant le lancement de l'application.
En effectuant cette comparaison, une variable est définie pour déterminer le temps qui doit s'écouler entre le débit de deux unités sur le support d'information tel que carte à puce.
Variables d'entrées
LISTE~NOM~TEMPS : liste de structures comprenant les noms et les temps N qui leurs sont associes. Son contenu est défini par l'administrateur de réseau, par exemple à l'aide d'un support 9 destiné à cette fin. Ce support 9 dit "dédié" est inséré dans le dispositif 2, pour toute nouvelle définition.
LISTE~NOM : liste comprenant les noms des applications lancées avant l'application.
Variable de sortie
TEMPS : valeur entière définissant combien de paquets de 30 secondes doivent s'écouler entre 2 débits d'unités.
Variables locales à l'algorithme
NOM : Contenant à chaque itération le nom d'un des processus actifs, jusqu'au moment où tous ont été listés.
De manière similaire, rapprochons maintenant la figure 6 de l'exemple 4 de l'annexe 3. Leur enchaînement et les interrogations ressortent de ces figure et exemple.
Les références numériques identiques, désignent des fonctionnalités ou étapes similaires.
Ainsi, la référence 23 est une étape "FONCTION 4" intervenant si la réponse en 21 est "N" pour "non", de passage à une étape ultérieure de l'algorithme. Cette étape interroge par "TEMPS = TEMPS de LISTE~NOM~TEMPS à l'index NOM~THREAD".
Sur la figure 6, est illustré un algorithme dit "ALGO2".
Le but de cet algorithme est de permettre que l'explorer de WINDOWS 95 soit considéré en tant que conteneur de données d'évaluation de la facturation, dites "ACTIVEX".
Pour pouvoir facturer ces ACTIVEX dans une application telle que courrier Internet Mail, nous devons repérer les éventuels informations de dites "THREAD", que l'expîoreur dit "explorer" peut contenir et les facturer sur le même principe que dans l'algorithme dit ALGO1.
Cette fois-ci, on ne s'appuie plus sur le nom du processus mais sur le nom de la fenêtre des THREAD appartenant à l'explorer.
Les variables d'entrées comprennent:
LISTE~NOM~TEMPS : même liste que celle de ALGO1.
TEMPS : meme valeur que celle en cours dans ALGO1.
Variable de sortie
TEMPS : valeur modifiée ou nom selon le traitement.
Variables locales à l'algorithme
NOM : Contenant à chaque itération le nom d'un des processus actifs, jusqu'au moment où tous ont été listés.
Les parties 1 et 2 des annexes 4 à 6, concernent aussi un procédé de calcul de coût d'applications.
Ces parties illustrent un exemple d'algorithme sous forme de code source, en langage de programmation Pascal.
Ces sources illustrent des exemples d'algorithmes généraux dits de principe, pour un tel procédé.
Ces codes source sont brièvement expliqués.
La partie 1 illustre une syntaxe de protocole de transmission de fichier par courrier électronique.
Dans la partie 2, les termes "Function CheckAppCost (var listName: TList): integer; renvoient à l'algorithme
ALGO1.
Le terme "Resuit" est le résultat d'un état de
TEMPS, dont la valeur ":" est égale "=" à un terme "SFFFF" à rapprocher de "INIT 1".
Les termes "exe := ExtractFileName (pe32. szExeFile)" renvoient à "NOM". Tandis que les termes "if Exe = 'EXPLORE.EXE' then" renvoient au TEST 2.
L'algorithme ALGO 2 est déclenché par les termes "GetProcessThreadsWindows(pe32.th32ProcessID, listName,
Result)" à la dernière ligne de l'annexe 4, dans la partie 2.
Dans la ligne "if Exe=PNameCost (listName.Items[i])^.name then", on comprend que "listName" définit "LISTE~NOM~TEMPS" et que la ligne est destinée à l'étape "TEST 3".
La ligne "if Result > PNameCost (listName.Items[i])^.cost then", est destinée à l'étape "TEST 6".
La ligne "Result:= PNameCost (lstName.Items[i])^.cost" est destinée à la fonction 2.
La ligne "if (TProcessEntry32 (List.Items[I]) .th32ProcessID = pe32.th32ProcessID) then" est destinée à l'étape "TEST4", et "List" définit la "LISTE~NOM".
Dans la ligne "if Kill and (Result > 2) then result : = 2", les termes (Result > 2) renvoient au "TEST 5", et la ligne est une fonctionnalité de l'étape "FONCTION 3".
Les étapes "FONCTION 1" et "TEST 1" sont dépendantes des termes"until (not Process32Next (hProcessSnap, pe32))".
Le terme "end" renvoie à l'étape "FIN".
Dans les lignes contenant "function
GetProcessThreadsWindows (dwPID: DWORD; var listName:
TList; var valCost: Integer) : Boolean", qui renvoient à l'algorithme ALGO 2, le terme "valCost" désigne une variable relative à "TEMPS".
Dans la ligne "ListOfWin: TStringList; create32. dwSize: sizcot(hThreadEntry32)", le terme "ListOfWin" définit "LISTE~NOM~THREAD". Cette ligne concerne "INIT 1".
La ligne "if (te32. th320wnerProcessID = dwPID) then begin" se rapporte au "TEST 4" et la ligne "EnumThreadWindows(te32.th32ThreadID,@EnumThreadWndProc,Lon gInt(ListOfWin)" à la "FONCTION 3".
Ensuite, la ligne "until(not Thread32 Next (hThreadSnap, te32))" se rapporte à la "FONCTION 1" et au "TEST 1".
La ligne de code source "ifExtractFileName (ListOfWin.Strings[j])=" se rapporte à "NOM THREAD".
Tandis que la ligne "ExtractFileName (PNameCost (listName.Items[i])^.name) then" se rapporte au "TEST 3".
La ligne "if valCost > PNameCost (listName.Items[i]) .cost then" se rapporte au "TEST 5" et la ligne "valCost := PNameCost(listName.Items[i])^.cost" à la "FONCTION 4".
Quatre lignes plus moins, le terme "end" renvoie au "TEST 2, avant le terme zend else".
La liste "FunctionEnumthreadWndProc(hwndwin:
Thandle; lParamwin:LPARAM) : Bool var", de la "FONCTION 3" prévoit que des variables soient traitées par un opérateur
Booléen définit par "Bool".
ANNEXE 1
Figure img00490001
<tb> EXEMPLE <SEP> 1:
<tb> <SEP> NOM <SEP> TEMPS
<tb> <SEP> NAVIG.EXE <SEP> 1
<tb> <SEP> TEXTEUR.EXE <SEP> 4
<tb> <SEP> INTERNET <SEP> MAIL <SEP> 2
<tb> <SEP> NOTE <SEP> SX.EXE <SEP> @
<tb> <SEP> N
<tb>
EXEMPLE 2:
SERVER.EXE
SYST ER.EXE
EXEMPLE 3:
Figure img00490002
<tb> <SEP> INITI <SEP> TEMPS=infini
<tb> FONCTION <SEP> I <SEP> NOM <SEP> = <SEP> nom <SEP> suivant <SEP> dans <SEP> la <SEP> liste <SEP> des <SEP> processus <SEP> actif
<tb> FONCTION2 <SEP> TEMPS <SEP> = <SEP> TEMPS <SEP> de <SEP> LISTE <SEP> NOM <SEP> TEMPS <SEP> à <SEP> l'index <SEP> NOM
<tb> FONCTION3 <SEP> TEMPS <SEP> =2
<tb> <SEP> ALGO2 <SEP> TEMPS <SEP> = <SEP> N <SEP> (voir <SEP> ALGO2)
<tb> <SEP> Test <SEP> otll <SEP> <SEP> non
<tb> <SEP> TEST <SEP> I <SEP> NOM <SEP> = <SEP> 0 <SEP> ? <SEP> FIN <SEP> TEST2
<tb> <SEP> TEST2 <SEP> NOM <SEP> = <SEP> EXPLORE. <SEP> EXE <SEP> ? <SEP> ALGO2 <SEP> TEST3
<tb> <SEP> TEST3 <SEP> NOM <SEP> appartient <SEP> à <SEP> LISTE <SEP> NOM <SEP> TEMPS? <SEP> TEST6 <SEP> TEST4
<tb> <SEP> TEST4 <SEP> NOM <SEP> apparticnt <SEP> à <SEP> LISTE <SEP> NOM <SEP> ? <SEP> FONCTION <SEP> I <SEP> TEST5 <SEP>
<tb> <SEP> TEST3 <SEP> TEMPS <SEP> #2 <SEP> <SEP> FONCTION3 <SEP> FONCTION <SEP> I
<tb> <SEP> TEST6 <SEP> TEMPS <SEP> @ <SEP> <SEP> TEMPS <SEP> de <SEP> LISTE <SEP> NOM <SEP> TEMPS <SEP> à <SEP> l'index <SEP> NOM <SEP> FONCTION <SEP> I <SEP> FONCTION2 <SEP>
<tb>
EXEMPLE 5:
Figure img00490003
<tb> <SEP> f <SEP> t <SEP> p <SEP> m <SEP> o <SEP> s~elrlve <SEP> f <SEP> r <SEP> e <SEP> h <SEP> t <SEP> t <SEP> p
<tb> <SEP> I <SEP> I/IwIwIwI <SEP> Iii <SEP> candi <SEP> In(e(tIeIhItItIpI <SEP> p
<tb> <SEP> TYII <SEP> i <SEP> t <SEP> e <SEP> e <SEP> x <SEP> e <SEP> m <SEP> p <SEP> i <SEP> e <SEP> c <SEP> o <SEP> m <SEP> 9 <SEP> m <SEP> a
<tb> <SEP> t <SEP> o <SEP> m <SEP> o <SEP> n <SEP> a <SEP> m <SEP> i <SEP> e <SEP> i <SEP> c <SEP> om8~
<tb> <SEP> htt <SEP> :1/ <SEP> OxOl
<tb> <SEP> ft <SEP> :JJ <SEP> OxO2
<tb> <SEP> mailto: <SEP> 0x03
<tb> <SEP> news: <SEP> OxO4
<tb> <SEP> .fr <SEP> 0x05
<tb> <SEP> fi <SEP> OxO6
<tb> <SEP> .uk <SEP> 0x07
<tb> <SEP> OxO8
<tb> <SEP> au <SEP> 0x09
<tb> <SEP> lu <SEP> OxOa
<tb> <SEP> .com <SEP> OxOb
<tb> <SEP> .gov <SEP> 0V <SEP> OxOc
<tb> <SEP> flet <SEP> OxOd
<tb> <SEP> .html <SEP> OxOe
<tb> <SEP> O2 <SEP> m <SEP> o <SEP> n <SEP> s <SEP> e <SEP> r <SEP> v <SEP> e <SEP> u <SEP> r <SEP> 05 <SEP> o <SEP> Ol <SEP> w <SEP> w <SEP> w <SEP> c
<tb> j <SEP> a <SEP> r <SEP> d <SEP> j <SEP> j <SEP> Od <SEP> j <SEP> e <SEP> j <SEP> 101 <SEP> w <SEP> j <SEP> w <SEP> j <SEP> W <SEP> j <SEP> s <SEP> jil <SEP> t <SEP> j <SEP> e <SEP> j <SEP> j <SEP> e <SEP> j <SEP> x <SEP> j <SEP> e <SEP> j <SEP> m <SEP> j <SEP> p <SEP> j <SEP> I <SEP> e <SEP> j <SEP> j
<tb> <SEP> Oh <SEP> O <SEP> O3 <SEP> m <SEP> o <SEP> n <SEP> a <SEP> m <SEP> I <SEP> e <SEP> (aI, <SEP> i <SEP> c <SEP> a <SEP> r <SEP> d <SEP> Ob <SEP> e
<tb>
Figure img00500001
<tb> <SEP> CP <SEP> MTI <SEP> MT2
<tb> <SEP> Il <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> a$8 & $-ioie^jr$i3
<tb> <SEP> i <SEP> c <SEP> a <SEP> Od <SEP> '-i........t <SEP> r <SEP> d <SEP> I <SEP> Od <SEP> r'--.F-ijm7--ï <SEP> ...,, <SEP> I
<tb> <SEP> O <SEP> 12 <SEP> *owww <SEP> Ol <SEP> w <SEP> w <SEP> w <SEP> w
<tb> <SEP> i <SEP> c <SEP> a <SEP> e <SEP> d <SEP> * <SEP> 0d <SEP> e <SEP> - <SEP> I
<tb> <SEP> 13 <SEP> * <SEP> Ol <SEP> w <SEP> w <SEP> w <SEP> i <SEP> ~d.......l.......x., <SEP> t-t-t
<tb> cardOdlm
<tb> ai'oe <SEP> e <SEP> -..--.'..- <SEP> . <SEP> ,. <SEP> .. <SEP> .. <SEP> ........ <SEP> ,- <SEP> t:tttt. > :tttt.:
<tb> <SEP> ( <SEP> lii <SEP> .i. <SEP> I
<tb> <SEP> 8
<tb> <SEP> cp <SEP> - <SEP> t > t,',','." <SEP> ""' <SEP> - <SEP> t-t- ,- <SEP> MTZ <SEP> t,' -, <SEP> tt.t...,,. <SEP> - <SEP> . <SEP> - <SEP>
<tb> <SEP> cp <SEP> MTI <SEP> MT2
<tb> <SEP> Il <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> s~l <SEP> a <SEP> 1 <SEP> i <SEP> Il <SEP> 1 <SEP> 03 <SEP> e <SEP> e <SEP> Q <SEP> s <SEP> I <SEP> s <SEP> a <SEP> i <SEP> Il <SEP> m <SEP> a <SEP> i <SEP> i <SEP> t <SEP> o
<tb> <SEP> ttI
<tb> <SEP> n
<tb> <SEP> T]3Car <SEP> Od <SEP> e <SEP> i <SEP> c <SEP> a <SEP> e <SEP> d <SEP> Od <SEP> e <SEP> 12 <SEP> h <SEP> t <SEP> t <SEP> p <SEP> / <SEP> I
<tb> <SEP> 13 <SEP> Ol <SEP> w <SEP> w <SEP> w <SEP> i <SEP> 13 <SEP> Ol <SEP> w <SEP> w <SEP> W <SEP> i <SEP> W <SEP> W <SEP> W <SEP> i <SEP> c <SEP> a <SEP> r
<tb> <SEP> c <SEP> a <SEP> r <SEP> d <SEP> Od <SEP> i <SEP> m <SEP> c <SEP> a <SEP> r <SEP> d <SEP> 0d <SEP> I <SEP> m <SEP> d <SEP> n <SEP> e <SEP> t <SEP> e <SEP> 13 <SEP> h
<tb> <SEP> ain* <SEP> 0e <SEP> n <SEP> | <SEP> a <SEP> i <SEP> n <SEP> 0e <SEP> 8 <SEP> t <SEP> t <SEP> p <SEP> D <SEP> W <SEP> ; <SEP> W
<tb> <SEP> W <SEP> i <SEP> c <SEP> a <SEP> r <SEP> ica <SEP> d
<tb> <SEP> n <SEP> e <SEP> t <SEP> I <SEP> m <SEP> a <SEP> i <SEP> n
<tb> <SEP> h <SEP> t <SEP> mi <SEP> e
<tb> <SEP> MT2
<tb> <SEP> Il <SEP> m <SEP> a <SEP> | <SEP> a <SEP> T <SEP> t <SEP> l
<tb> <SEP> e <SEP> | <SEP> s <SEP> | <SEP> s <SEP> a <SEP> i <SEP> | <SEP> i <SEP> i <SEP> fR <SEP> c
<tb> <SEP> a <SEP> r <SEP> d <SEP> n <SEP> e <SEP> t <SEP> e
<tb> <SEP> 12 <SEP> b <SEP> t <SEP> t <SEP> ~e <SEP> I
<tb> <SEP> w <SEP> w <SEP> w <SEP> i <SEP> c <SEP> a <SEP> r
<tb> <SEP> d <SEP> d <SEP> n <SEP> e <SEP> t <SEP> e <SEP> 13 <SEP> h
<tb> <SEP> t <SEP> t <SEP> I <SEP> I <SEP> w <SEP> w
<tb> <SEP> icaru
<tb> <SEP> r <SEP> W
<tb> <SEP> j
<tb> <SEP> ttt.t(tt <SEP> 1:.t,tJ.. <SEP> > i <SEP> 3jt <SEP> c:tIItl;t; <SEP> .;:. <SEP>
<tb>
<SEP> MTlbis
<tb> <SEP> Il <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> a <SEP> i
<tb> <SEP> c <SEP> ss <SEP> c <SEP> ss <SEP> r <SEP> d <SEP> . <SEP> 0d
<tb> <SEP> 12 <SEP> 1 <SEP> r <SEP> ol <SEP> w <SEP> xI <SEP> wXL <SEP> w <SEP> w
<tb> <SEP> ccJ) <SEP> :3 <SEP> c <SEP> a <SEP> e <SEP> d <SEP> Od <SEP> e
<tb> <SEP> . <SEP> ol <SEP> w <SEP> + <SEP> 01 <SEP> 01 <SEP> | <SEP> w <SEP> [w <SEP> | <SEP> w <SEP> j
<tb> <SEP> c <SEP> a <SEP> r <SEP> d <SEP> Oh <SEP> / <SEP> p
<tb> <SEP> a <SEP> e <SEP> s <SEP> | <SEP> I <SEP> | <SEP> s <SEP> | <SEP> n <SEP> | <SEP> d
<tb> <SEP> e <SEP> e <SEP> I <SEP> x <SEP> L <SEP> I. <SEP> I <SEP> Oe <SEP> e
<tb> L <SEP> &verbar; <SEP> L <SEP> X <SEP> I <SEP> L <SEP> L <SEP> : <SEP> 1 <SEP> I
<tb> <SEP> MTI <SEP> | <SEP> MTlbis
<tb> <SEP> Il <SEP> . <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> a <SEP> i <SEP> Il <SEP> . <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> a <SEP> i
<tb> (aI <SEP> i <SEP> c <SEP> a <SEP> r <SEP> ) <SEP> d <SEP> I <SEP> 0d <SEP> , <SEP> c <SEP> I <SEP> a <SEP> r <SEP> d <SEP> b~r <SEP> 0d
<tb> <SEP> 81
<tb> i <SEP> c <SEP> a <SEP> e <SEP> d <SEP> L <SEP> 0d <SEP> e <SEP> i <SEP> c <SEP> a <SEP> e <SEP> d <SEP> . <SEP> 0d <SEP> e
<tb> <SEP> 13 <SEP> 1 <SEP> ol <SEP> w <SEP> | <SEP> w <SEP> | <SEP> w <SEP> i <SEP> 13 <SEP> 1 <SEP> + <SEP> 1 <SEP> Ol <SEP> + <SEP> w <SEP> f <SEP> w <SEP> | <SEP> w <SEP> i
<tb> <SEP> rd*lOd <SEP> m <SEP> c <SEP> a <SEP> ( <SEP> r <SEP> d <SEP> . <SEP> Oh <SEP> I <SEP> p
<tb> <SEP> a <SEP> i <SEP> n <SEP> 0e <SEP> e <SEP> a <SEP> g <SEP> e <SEP> s <SEP> I <SEP> i <SEP> n <SEP> d
<tb> e <SEP> t <SEP> x <SEP> t <SEP> Oe <SEP> | <SEP> e
<tb> I <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 1 <SEP> 71
<tb> I <SEP> =L <SEP> I
<tb>
ANNEXE 2
EXEMPLE 6:
ANNEXE 3
Figure img00510001
<tb> <SEP> CP <SEP> MT1 <SEP> MT2
<tb> 11 <SEP> # <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> a <SEP> @ <SEP> 11 <SEP> # <SEP> 03 <SEP> e <SEP> s <SEP> s <SEP> a <SEP> @ <SEP> 11 <SEP> m <SEP> a <SEP> @ <SEP> @ <SEP> t <SEP> o
<tb> &commat; <SEP> @ <SEP> c <SEP> a <SEP> r <SEP> d <SEP> # <SEP> 0D <SEP> &commat; <SEP> @ <SEP> c <SEP> a <SEP> r <SEP> d <SEP> # <SEP> 0d <SEP> e <SEP> s <SEP> s <SEP> a <SEP> @ <SEP> &commat; <SEP> t <SEP> c
<tb> e <SEP> 12 <SEP> Ol <SEP> w <SEP> w <SEP> w <SEP> e <SEP> 12 <SEP> 01 <SEP> 01 <SEP> w <SEP> w <SEP> w <SEP> w <SEP> a <SEP> r <SEP> d <SEP> n <SEP> e <SEP> t <SEP> # <SEP>
<tb> i <SEP> c <SEP> a <SEP> e <SEP> d <SEP> # <SEP> 0 <SEP> d <SEP> Od <SEP> 0 <SEP> @ <SEP> c <SEP> a <SEP> e <SEP> d <SEP> 0d <SEP> # <SEP> O <SEP> <SEP> 12 <SEP> h <SEP> t <SEP> t <SEP> p <SEP> @ <SEP> @ <SEP>
<tb> 13 <SEP> # <SEP> 01 <SEP> w <SEP> w <SEP> w <SEP> @ <SEP> 13 <SEP> # <SEP> 01 <SEP> w <SEP> w <SEP> w <SEP> @ <SEP> w <SEP> w <SEP> w <SEP> @ <SEP> c <SEP> a <SEP> @
<tb> c <SEP> a <SEP> r <SEP> d <SEP> # <SEP> <SEP> 0d <SEP> / <SEP> m <SEP> c <SEP> a <SEP> r <SEP> d <SEP> # <SEP> <SEP> 0d <SEP> / <SEP> m <SEP> d <SEP> n <SEP> e <SEP> t <SEP> # <SEP> <SEP> 13 <SEP> h <SEP> (6f)
<tb> a <SEP> @ <SEP> n <SEP> # <SEP> 0e <SEP> # <SEP> a <SEP> @ <SEP> n <SEP> # <SEP> 0e <SEP> # <SEP> t <SEP> t <SEP> p <SEP> / <SEP> / <SEP> w <SEP> w
<tb> <SEP> w <SEP> @ <SEP> c <SEP> a <SEP> r <SEP> d
<tb> <SEP> n <SEP> e <SEP> t <SEP> / <SEP> m <SEP> a <SEP> @ <SEP> n
<tb> <SEP> h <SEP> t <SEP> m <SEP> @ <SEP> #
<tb>
EXEMPLE 7:
Figure img00510002
<tb> <SEP> 02 <SEP> m <SEP> o <SEP> n <SEP> ~ <SEP> | <SEP> s <SEP> e <SEP> r <SEP> v <SEP> e <SEP> u <SEP> r <SEP> | <SEP> 05 <SEP> | <SEP> e <SEP> ~ <SEP> Ol <SEP> W <SEP> W <SEP> W <SEP> = <SEP> | <SEP> | <SEP> | <SEP> c
<tb> <SEP> a <SEP> r <SEP> d <SEP> Od <SEP> e <SEP> | <SEP> ol <SEP> W <SEP> W <SEP> W <SEP> 5 <SEP> s <SEP> l <SEP> t <SEP> C <SEP> i <SEP> e <SEP> x <SEP> e <SEP> m <SEP> p <SEP> I <SEP> | <SEP> e <SEP> |
<tb> <SEP> Oh <SEP> e <SEP> 03 <SEP> m <SEP> o <SEP> | <SEP> n <SEP> ~ <SEP> a <SEP> m <SEP> i <SEP> e <SEP> R <SEP> l <SEP> c <SEP> a <SEP> r <SEP> d <SEP> Ob <SEP> e
<tb> <SEP> La <SEP> chaine <SEP> | <SEP> Nombre <SEP> de <SEP> repetitlon <SEP> | <SEP> Code <SEP> de <SEP> substitution
<tb> <SEP> *Olwww.(I=o) <SEP> 2 <SEP> I <SEP> 1~s <SEP> v
<tb> <SEP> i-card <SEP> (I <SEP> 6) <SEP> 2 <SEP> 2
<tb> <SEP> 02 <SEP> m <SEP> o <SEP> n <SEP> s <SEP> e <SEP> r <SEP> v <SEP> c <SEP> u <SEP> r <SEP> OS <SEP> e <SEP> ol <SEP> 02 <SEP> 0d <SEP> e <SEP> ô <SEP> Ol <SEP> s
<tb> t <SEP> 't <SEP> t <SEP> e <SEP> e <SEP> x <SEP> e <SEP> m <SEP> p <SEP> i <SEP> e <SEP> Ob~8 <SEP> m <SEP> o <SEP> n <SEP> a <SEP> m <SEP> i <SEP> e
<tb> <SEP> ô <SEP> 02 <SEP> Oh <SEP> e
<tb> <SEP> FF <SEP> o <SEP> ol <SEP> w <SEP> W <SEP> W <SEP> c <SEP> a <SEP> r <SEP> < i <SEP> FF
<tb> <SEP> (1c)
<tb>
EXEMPLE 4:
Figure img00510003
<tb> INIT1 <SEP> LISTE <SEP> NOM <SEP> THREAD <SEP> = <SEP> 0
<tb> FONCTION1 <SEP> THREAD~ID <SEP> = <SEP> THREAD~ID <SEP> suivant <SEP> dans <SEP> la <SEP> liste <SEP> dcs <SEP> THREAD
<tb> actifs
<tb> FONCTION2 <SEP> NOM~THREAD <SEP> = <SEP> NOM~THREAD <SEP> suivant <SEP> dans <SEP> la <SEP> liste
<tb> <SEP> LISTE~NOM <SEP> THREAD
<tb> FONCTION3 <SEP> LISTE~NOM~THREAD <SEP> @ <SEP> LISTE~NOM~THREAD <SEP> + <SEP> nom <SEP> de <SEP> fenêtre
<tb> <SEP> associée <SEP> au <SEP> THREAD~ID
<tb> FONCTION4 <SEP> TEMPS <SEP> = <SEP> TEMPS <SEP> de <SEP> LISTE <SEP> NOM <SEP> TEMPS <SEP> à <SEP> l'index <SEP> NOM <SEP> THREAD
<tb> Teste <SEP> oui <SEP> non
<tb> TEST1 <SEP> THREAD <SEP> ID <SEP> < > <SEP> 0 <SEP> ? <SEP> TEST4 <SEP> FONCTION2
<tb> TEST2 <SEP> NOM~THREAD <SEP> = <SEP> 0 <SEP> ? <SEP> FIN <SEP> TEST3
<tb> <SEP> TEST3 <SEP> NOM~THREAD <SEP> appartient <SEP> à <SEP> TEST5 <SEP> FONCTION2
<tb> <SEP> LISTE~NOM~TEMPS <SEP> ?
<tb> <SEP> TEST4 <SEP> THREAD~ID <SEP> appartient <SEP> au <SEP> processus <SEP> FONCTION3 <SEP> FONCTION1
<tb> <SEP> EXPLORRR.EXE <SEP> ?
<tb> <SEP> TEST5 <SEP> TEMPS <SEP> < <SEP> TEMPS <SEP> de <SEP> LISTE~NOM~TEMPS <SEP> à <SEP> FONCTION3 <SEP> FONCTION1
<tb> <SEP> l'index <SEP> NOM~THREAD <SEP> ?
<tb>
ANNEXE 4
=================== PARTIE1 =====================
------- NextPart~001~000A~01BCF672.DE4B1B20
Content-Type.text/htm@:
charset="@so-8859-1"
Content-Transfer-Encoding: quoted-printable
< 'DOCTYPE HTML PUBLIC"-//W3C//DTD W3 HTML//EN" >
< HTML >
< HEAD >
META content=3Dtext/html;charset=3Diso-8859-1 = http-equiv=3DContent-Type #
META content=3D'''MSHTML471 1712.3''' name=3DGENERATOR > < /HEAD > < BODY bgColor=3D&num;ffffff > < DIV > < FONT color=3D&num;000000 face=3D Arial size=3D2 > Voic@ les codes source = de la gestion=20 des couts. < /FONT > < /DIV > < DIV > & nbsp: < /DIV > < /BODY > < /HTML@
------=~NextPart~001~000A~01BCF672.DE4B1B20 -------~NextPart~001 000A 01BCF672.DE4B1B20-
Figure img00520001
******************************************************************************
Gestion du cout des applications *)
;****************************************************************************** ;-@
; CheckAppCost ; ;-@
Function CheckAppCostivar listName: TLis@: integer;
var
hProcessSnap THand@c.
pe32. TProcessEntry32,
hProcess Thandle.
PProcess: PProcessEntry32.
@. integer;
Kill: boo@ean,
bREt: BOOL.
Svstemin@ T@niFile,
pv integer:
Exe: string, begin
Found @= False:
hProcessSnap = CreateToolhelp32Snapsho((TH32CS~SNAPPROCESS, 0),
pc32.dwStze = sizeof(TProcessEntrv32).
Result = SFFFF.
@f (Process32Firs@@hProcessSnap, pc32)) then
begin
repeat exe @= ExtractFileName(pe32.szExeFiler. if Exe = 'EXPLORER EXE' then
GetProcessThreadsWindows(pe32@329@oce@@@, listName. Result);
ANNEXE 5
for i:=0 to listName.Count-1 do begln
if Exe = PNameCost(listName.Items[i] & .name then
begin
if Result > PNameCost(listName.Items[i])^.cost then
Result := PNameCost(listName.Items[i])^.cost;
found := True;
end:
end:
If not found then
begin
For i:=0 to List.count-1 do
begin
if (TProcessEntry32(List.Items[l] & ).th32Process@D = pe3 2.Lh3 2ProcesslD) then
begin
Kill := False;
break:
end:
Kill := True;
end:
if Kill and (Result > 2) then result := 2;
found := False;
cnd:
until (not Process32Nex(hProcessSnap, pe32));
end;
CloseHandle (hProcessSnap); cnd: ;------------------------------; ; GetProcessThreadsWindows @ ;------------------------------; function GetProcessThreadsWindows (dwPID: DWORD; var listName; TList; var valCost: Integer); Boolean; var
hThreadSnap : THandle;
te32; TThreadEntry32;
ListOfWin: TStringList:
@.j. Integer;
begin
Result:=True;
hThreadSnap := CreateToolhelp32Snapshot(TH32CS~SNAPTHREAD, 0);
if (hThradSnap = THandle(-1)) then
begin
Result := False;
exit;
end:
ListOfWin:= TStringList.Create@
@e32.dwSize := sizeof(TThreadEntry32);
if(Thread32First@hThreadSnap.(@32)) then
begin
replat
if(te32,th32OwnerProcess@D = dwPID) then
begin EnumThreadWindows(te32.th32ThrcadID.&commat;EnumThrcadWndProc.LongInt(ListOfWin));
end;
until (not Thread32Nex(hThreadSnap, @e32));
for J := 0 to ListOfWinc.Count-1 do begln
for 1:=0 to listName.Count-1 do
begin
if ExtractFilcName(ListOfWin.Strum@s[i]@=
ExtractFileName(PNameCost(hstName.Items[i]) & .name)then.
ANNEXE 6
begin if valCost > PNameCost(listName.Items[i] & .cost then
valCost := PNameCost( listName.Items[i]) & .cost;
found := True;
end:
end:
end: cnd else
Resuit = FALSE:
ListOfWin.Free;
CloseHandle (hThreadSnap);
Figure img00540001
<tb> cnd:
<tb> t- <SEP>
<tb> <SEP> EnumThreadWndProc
<tb>
Function EnumthreadWndProc(hwndwin: Thandle;@paramwin:LPARAM): Bool; vür
buf: array [0@@255] of char; begin
GetWindowText(hwndwin.buf.255);
if nol (SlrPas (buf) = ") then TStringList(@Paramwin).Add(buf);
Rcsult:= Tnle: cnd:
Figure img00540002

Claims (30)

  1. 1- Procédé automatique de configuration sécurisée d'au moins un dispositif (2) tel qu'ordinateur, pour l'exécution d'au moins une application, par exemple un programme informatique de courrier électronique, de traitement de données ou analogues; ce procédé comprenant au moins les étapes prévoyant : l'introduction par un utilisateur dans le dispositif (2), d'un support (9) d'informations codées tel que carte à puce, ces informations étant aptes à être lues et inscrites par ce dispositif (2), le support (9) contenant des paramètres discriminants d'accès à l'application; la sélection par l'utilisateur, de l'application; la mise en oeuvre automatisée dans le dispositif (2), d'une routine d'appel comportant au moins une lecture et une écriture sur le support d'informations codées des paramètres discriminants d'accès à l'application; la recherche automatisée dans une base de données de registres du dispositif (2), apte à déterminer en fonction des paramètres discriminants si l'application à configurer est installée dans le dispositif; et dans l'affirmative, une étape de modification automatisée de fichiers d'initialisation de l'application dans le dispositif (2), par intégration à ces fichiers de paramètres discriminants depuis le support.
    REVENDICATIONS
  2. 2- Procédé selon la revendication 1, caractérisé en ce que l'étape de sélection de l'application comprend une phase préalable de saisie sur le dispositif (2) d'un code confidentiel d'identification par l'utilisateur, et sa comparaison par le dispositif (2) avec une information numérique codée contenue dans le support (9), et soit:
    - une phase de passage à l'étape suivante du procédé de configuration automatisée dans le cas d'une validation du code confidentiel d'identification; soit
    - une phase d'exécution d'une routine de sécurité dans le cas où le code confidentiel d'identification n'est pas validé.
  3. 3- Procédé selon la revendication 1 ou 2, caractérisé en ce que dans la mesure où l'étape de recherche automatisée s'avère négative et où il est accédé sans configuration automatisée à au moins une application, le procédé effectue une étape de sélection puis de saisie automatisée sur le support (9), de paramètres discriminants de l'application, afin de permettre une mise en oeuvre automatisée ultérieure de la configuration.
  4. 4- Procédé selon l'une des revendications 1 à 3, caractérisé en ce que pour la configuration automatique d'une application de courrier électronique ou "E-mail", les paramètres discriminants de la routine d'appel contiennent notamment
    - le nom de l'utilisateur
    - son adresse de retour
    - les coordonnées d'un compte de points de présence de l'utilisateur, dit compte "POP" ;
    - les coordonnées d'un serveur de points de présence de l'application, dit serveur "POP" ; et
    - éventuellement, les coordonnées d'un dispositif (3) serveur d'adressage de l'application, dit serveur "SMTP".
  5. 5- Procédé selon la revendication 4, caractérisé en ce que l'étape de recherche vise la localisation d'au moins un fichier d'initialisation appelé clé, et lorsque cette clé est présente, l'étape de modification comprend dans les paramètres discriminants de l'application, des codes d'adresse d'installation que la clé contient.
  6. 6- Procédé selon l'une des revendications 1 à 5, caractérisé en ce qu'une étape d'effacement automatisée, inverse à l'étape de modification de fichiers d'initialisation de l'application choisie, est exécutée après l'utilisation de l'application, de manière à déconfigurer cette dernière dans le dispositif, en assurant ainsi la confidentialité pour l'utilisateur de l'application, par rapport à d'autres utilisateurs du même dispositif, par exemple ultérieurs.
  7. 7- Procédé selon la revendication 6, caractérisé en ce que l'étape inverse d'effacement, comprend 11 effacement des fichiers d'initialisation, et/ou de fichiers produits lors de l'utilisation de l'application.
  8. 8- Procédé selon l'une des revendications 1 à 7, caractérisé en ce que la routine d'accès au support d'informations codées (9), tel que carte à puce, comporte une étape de compression des informations à mémoriser sur le support (9) à partir d'un dispositif (2) tel qu'ordinateur.
  9. 9- Procédé selon la revendication 8, caractérisé en ce qu'une compression de premier niveau comprend une étape qui prévoit la mise en place d'au moins une table de conversion statique, cette table étant enregistrée sur le dispositif (2) et comparée avec des données sur le support (9), apte à être lue par celui-ci.
  10. 10- Procédé selon la revendication 9, caractérisé en ce que dans la table de conversion statique, sont consignés d'une part des motifs correspondant chacun à une chaîne de caractères à-mêmes d'être répétés et d'autre part, sont consignés dans la table de conversion statique, une désignation courte codifiée sous une forme numérique comportant un nombre de caractères inférieur à celui du motif correspondant.
  11. 11- Procédé selon l'une des revendications 8 à 10, caractérisé en ce qu'il est préalablement prévu, lors d'une étape de mémorisation préalable, d'enregistrer dans une première section de mémoire du support (9) et sans effectuer de compression, l'ensemble d'information à compresser.
  12. 12- Procédé selon la revendication 11, caractérisé en ce qu'une étape ultérieure de localisation du procédé prévoit alors dans le dispositif de passer en revue un ensemble d'informations à compresser, en vue de détecter dans cet ensemble la présence d'au moins une chaîne de caractère reproduisant un motif de la table statique, par exemple un motif devant présenter plus de trois caractères, les motifs répondant à cette condition étant les seuls à être compressés.
  13. 13- Procédé selon l'une des revendications 8 à 12, caractérisé en ce que lors d'une étape de substitution ultérieure, il est constitué dans le dispositif (2) puis enregistré dans une deuxième section (MT1) de mémoire du support (9), un ensemble d'informations de premier niveau de compression, dans lequel chaque motif de la table est remplacé par la désignation courte codifiée correspondante.
  14. 14- Procédé selon la revendication 13, caractérisé en ce que dans cet ensemble d'information de premier niveau de compression, cette désignation comporte un préfixe caractéristique à l'exécution d'une substitution et/ou il est choisi des caractères non imprimables pour les codes de contrôle, dans le procédé de compression de l'invention et/ou chaque élément d'information est qualifié quant à sa fonction dans l'ensemble d'informations à compresser, par exemple, certains éléments devant être protégés contre l'effacement et/ou d'autres qualifiés d'auto-démarrables, provoquent l'association à chaque chaîne de caractère ou type d'information, d'un identifiant de qualification apte à définir leur fonction de destination dans l'application.
  15. 15- Procédé selon l'une des revendications 8 à 14, caractérisé en ce que les étapes de premier niveau sont suivies d'étapes de compression de deuxième niveau, comprenant une étape de consignation d'une désignation courte codifiée sous une forme numérique comportant un nombre de caractères inférieur à celui de chaque motif à compresser, dans une table de conversion dynamique.
  16. 16- Procédé selon la revendication 15, caractérisé en ce que la compression deuxième de niveau comprend les étapes prévoyant
    - la localisation d'une chaîne d'au moins trois caractères dont l'occurrence est supérieure à"n", ici initialement égal à deux, dans l'ensemble d'informations à compresser
    - l'écriture de chaque chaîne localisée dans la table de conversion dynamique dans le dispositif (2) ;
    - l'attribution d'un code de substitution ou désignation courte à chaque chaîne écrite dans la table
    - la substitution dans l'ensemble d'informations à compresser de la chaîne par la désignation courte correspondante
    - la réitération de ces étapes jusqu'à substitution de toutes les chaînes de caractères de l'ensemble d'informations à compresser ; et
    - l'enregistrement de la table dynamique sur le support (9) tel que carte à puce.
  17. 17- Procédé selon l'une des revendications 1 à 7, caractérisé en ce que la routine d'accès au support (9) d'informations codées prévoit un accès dynamique comportant:
    - une étape de lecture réelle de l'ensemble d'information concerné sur le support (9) tel que carte à puce
    - puis, une étape de sauvegarde toujours sur le support (9) de l'information relevée par cette lecture réelle, par exemple suite à des étapes de compression, effectuée en enregistrant cette information dans une section de mémoire dite tampon (MT1, MTlbis)
    - ensuite, une étape de décomposition de l'information enregistrée dans la section de mémoire tampon, par exemple par décompression ;
    - une étape ultérieure prévoyant un autre enregistrement de l'information décomposée sur le support, dans une section (MT2) distincte de mémoire à accès prioritaire à la lecture par le dispositif (2), de sorte que toute tentative de lecture est orientée vers la section distincte (MT2) de mémoire à accès prioritaire, et est rendue immédiate du fait que l'ensemble d'informations est enregistré dans cette section à accès prioritaire sous une forme directement lisible.
  18. 18- Procédé selon la revendication 17, caractérisé en ce que lors du retrait du support (2), une étape prévoit l'invalidation des sections de mémoire tampon (MT1, MTlbis) et à accès prioritaire (MT2), de façon à permettre une mise à jour en cas de changement de support (9).
  19. 19- Procédé selon l'une des revendications 17 ou 18, caractérisé en ce que des étapes relatives à l'accès en écriture, aptes à procéder à l'enregistrement des modifications apportées au contenu d'une section du support (9), avant tout retrait éventuel de celui-ci, comprennent une étape telle qu'à chaque accès en écriture, est effectué un accès physique d'enregistrement sur le support (9).
  20. 20- Procédé selon l'une des revendications 17 à 19, caractérisé en ce qu'une étape de comparaison de l'état instantané de la section de mémoire du support de destination de l'ensemble d'informations, par exemple le contenu d'une section de mémoire tampon, avec l'ensemble d'information à écrire dans le dispositif est effectué
    une étape ultérieure prévoyant la définition d'un sous ensemble d'informations formé par la différence issue de la comparaison entre l'état instantané de la section de mémoire du support de destination et l'ensemble d'information à écrire est mise en oeuvre ;
    puis, une étape d'enregistrement sur le support (9) de ce sous ensemble exclusivement est exécutée.
  21. 21- Procédé selon la revendication 20, caractérisé en ce que, l'étape d'enregistrement précède soit
    une étape de mise à jour du contenu de la section de mémoire de destination dans une section de mémoire tampon ; soit
    une étape d'invalidation de l'écriture interrompant l'accès aux sections de mémoire de destination et tampon, et provoquant vers le dispositif l'émission d'un message d'erreur commandant la mise à jour lors d'une lecture ou écriture ultérieure sur le support.
  22. 22- Procédé selon l'une des revendications 17 à 21, caractérisé en ce qu'une étape de lecture préalable du support est automatiquement provoquée avant l'étape de comparaison, dans le cas où une requête d'écriture est émise sans qu'une étape de lecture ait été effectuée avant la comparaison.
  23. 23- Procédé selon l'une des revendications 1 à 22, caractérisé en ce que l'exécution d'au moins une application s'accompagne automatiquement d'une phase de calcul de coût d'utilisation comprenant les étapes
    - de détection, de manière répétitive par exemple à intervalles de temps réguliers de l'ordre de 10 secondes, de chaque application en mémoire d'un dispositif tel qu'ordinateur
    - de définition d'une durée constante et forfaitaire de facturation, par exemple de l'ordre de 30 secondes, et un taux de facturation de cette durée
    - d'association d'une unité de temps de référence propre à chaque application, correspondant à un multiple entier, par exemple compris entre 0 et 3, de la durée forfaitaire
    - de mesure d'un temps réel d'utilisation de l'application, par exemple égal à "n" unités de temps comptées à intervalles de temps régulier et/ou à l'issue de l'utilisation de l'application ;
    - de détermination par une fonction, d'un coût égal au taux de facturation multiplié par le nombre d'unités dans le temps réel
    - d'enregistrement sélectif de ce coût sur le support d'information, et d'adressage via un réseau d'un message de débit correspondant, à un dispositif serveur de gestion centralisée ; et
    - d'opération d'un débit en fonction d'au moins un coût ainsi déterminé.
  24. 24- Procédé selon la revendication 23, caractérisé en ce que, l'étape de détermination prévoit que:
    - l'utilisation d'au moins une application est forfaitaire, voire gratuite;
    lorsque plusieurs applications sont exécutées en même temps en mémoire du dispositif, celle dont l'unité de référence est la plus élevée, est considérée dominante;
    - lorsqu'au moins une nouvelle application non gratuite est détectée en mémoire, une unité est débitée;
    - lorsqu'au moins une application n' est pas initialement associée à une unité de référence, elle est considérée forfaitaire, par exemple d'une unité par minute.
  25. 25- Procédé selon l'une des revendications 23 à 24, caractérisé en ce qu'un dispositif (4) serveur en réseau dit de gestion d'adressage tient à jour une table de coûts d'application dite table d'administrateur redéfinissable.
  26. 26- Procédé selon l'une des revendications 23 à 25, caractérisé en ce qu'il est destiné à une application d'exploitation dite "multitâche", pouvant avoir plusieurs sous-applications exécutables simultanément en mémoire, l'étape de détection comprenant une phase de comparaison des applications détectées avec liste d'exclusion consignant toutes les applications déjà en mémoire, pour que 1'utilisateur ne soit pas débité d'une manière forfaitaire pour l'utilisation d'applications qu'il n1 a pas lancé.
  27. 27- Dispositif (2) automatique permettant la mise en oeuvre de l'un au moins des procédés selon l'une des revendications 1 à 26, caractérisé en ce que ce dispositif (2) tel qu'ordinateur de type PC, comporte au moins un lecteur (8) de support d'informations (9) codées, tel que une carte à puce.
  28. 28- Dispositif (2) selon la revendication 27, caractérisé en ce qu'il comporte un modulateur/démodulateur apte à le relier à un réseau (5, 6), par exemple à un dispositif (3) dit "serveur" de manière à pouvoir lui donner accès à des applications telles que courriers électroniques ou navigation et/ou le dispositif est en libre-service, pour permettre à différents utilisateurs d'employer des applications.
  29. 29- Système (1) comportant en réseau au moins un dispositif selon la revendication 27 ou 28 et/ou apte à mettre en oeuvre l'au moins un procédés selon l'une des revendications 1 à 26, caractérisé en ce qu'il (1) comporte au moins deux dispositifs (2; 3) reliés par exemple via un réseau (5; 6) de communication tel que internet, au moins un dispositif (3) étant un serveur de gestion centralisée, notamment destiné à permettre la facturation d'applications exécutées sur un autre dispositif (2) du réseau.
  30. 30- Support (9) d'informations codées, destiné à permettre la lecture et/ou l'inscription de telles informations, dans un tel dispositif (2; 3) selon l'une des revendications 27 ou 28 et/ou système (4) selon la revendication 29 et/ou suivant l'un au moins des procédés conforme à l'une des revendications 1 à 26, caractérisé en ce que ce support (9) est équipé d'un microprocesseur comportant apte à définir au moins deux sections de mémoire, pour l'enregistrement et l'accès à des informations codées telles que paramètres de configuration d'application, table de conversion ou clé confidentielle d'identification.
FR9715065A 1997-11-27 1997-11-27 Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications Expired - Fee Related FR2771531B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9715065A FR2771531B1 (fr) 1997-11-27 1997-11-27 Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9715065A FR2771531B1 (fr) 1997-11-27 1997-11-27 Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications

Publications (2)

Publication Number Publication Date
FR2771531A1 true FR2771531A1 (fr) 1999-05-28
FR2771531B1 FR2771531B1 (fr) 2000-01-14

Family

ID=9513985

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9715065A Expired - Fee Related FR2771531B1 (fr) 1997-11-27 1997-11-27 Procede, dispositif, systeme en reseau et support d'informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d'applications

Country Status (1)

Country Link
FR (1) FR2771531B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001086391A3 (fr) * 2000-05-10 2002-03-28 Schlumberger Technology Corp Procede et appareil de fournisseur de services de logiciels
EP1274197A2 (fr) * 2001-07-06 2003-01-08 Allied Telesis K. K. Procédé et système de paramétrage de communication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0518797A1 (fr) * 1991-06-12 1992-12-16 Jean-Claude Poirier Borne multiservice
FR2720532A1 (fr) * 1994-05-25 1995-12-01 Vincent Lorphelin Système de location sécurisée de logiciels par carte à mémoire.
WO1997031312A1 (fr) * 1996-02-23 1997-08-28 Citrix Systems, Inc. Procede et dispositif d'installation et d'execution d'une tache unique d'utilisateur dans un environnement multi-utilisateurs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0518797A1 (fr) * 1991-06-12 1992-12-16 Jean-Claude Poirier Borne multiservice
FR2720532A1 (fr) * 1994-05-25 1995-12-01 Vincent Lorphelin Système de location sécurisée de logiciels par carte à mémoire.
WO1997031312A1 (fr) * 1996-02-23 1997-08-28 Citrix Systems, Inc. Procede et dispositif d'installation et d'execution d'une tache unique d'utilisateur dans un environnement multi-utilisateurs

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001086391A3 (fr) * 2000-05-10 2002-03-28 Schlumberger Technology Corp Procede et appareil de fournisseur de services de logiciels
EP1274197A2 (fr) * 2001-07-06 2003-01-08 Allied Telesis K. K. Procédé et système de paramétrage de communication
EP1274197A3 (fr) * 2001-07-06 2005-01-19 Allied Telesis K. K. Procédé et système de paramétrage de communication

Also Published As

Publication number Publication date
FR2771531B1 (fr) 2000-01-14

Similar Documents

Publication Publication Date Title
CA2317950C (fr) Procede de compactage d&#39;un programme de type code objet intermediaire executable dans un systeme embarque muni de ressources de traitement de donnees, systeme compacteur et systeme embarque multi-applications correspondants
EP1905189A2 (fr) Systeme de gestion de donnees d&#39;authentification reçues par sms pour un accès à un service
FR2824160A1 (fr) Conteneur generique configurable de facon dynamique
FR2657445A1 (fr) Procede de chargement de programmes d&#39;application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
WO1998028720A1 (fr) Terminal et procede d&#39;autodiagnostic ou de supervision et objet portatif utilise dans un tel terminal ou procede
CN111817984A (zh) 消息发送方法、装置、设备及存储介质
EP1422872B1 (fr) Procédé et dispositif modulaire de traçage d&#39;un message multimédia à travers un réseau de télécommunications
CN115237805A (zh) 测试案例数据准备方法及装置
FR2771531A1 (fr) Procede, dispositif, systeme en reseau et support d&#39;informations codees, automatiques de configuration securisee, de memorisation/acces et de calcul de cout d&#39;applications
FR2795835A1 (fr) Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce
FR2835628A1 (fr) Gestion de la mise a jour d&#39;informations encodees en memoire
EP1054332B1 (fr) Système et procédé de gestion d&#39;attributs dans un environnement orienté objet
Gregoriadis et al. Analysis of arbitrary content on blockchain-based systems using BigQuery
WO1994014116A1 (fr) Dispositif d&#39;utilisation de fonctions de pseudo point de communication deportees (pseudo-sockets)
FR2826761A1 (fr) Procede d&#39;analyse d&#39;un document represente dans un langage de balisage
FR2842623A1 (fr) Procede de traduction d&#39;un message d&#39;un premier langage de balisage dans un second langage de balisage
FR2831684A1 (fr) Installation de programme compile notamment dans une carte a puce
CA2067890A1 (fr) Procede et dispositif de selection d&#39;informations utilisables par une unite locale reliee a un systeme de transmission numerique
CN1996304A (zh) 嵌入式设备的Web资源文件的处理方法及装置
FR2818776A1 (fr) Procede pour le controle de l&#39;usage d&#39;un systeme de transmission d&#39;informations presentees sous la forme de codes matriciels
CN103488930A (zh) 移动通讯终端上的文件/应用程序处理方法及装置
FR2783381A1 (fr) Commande et transfert de documents entre un serveur informatique et un utilisateur via un reseau de communication
CN113849863A (zh) 一种基于区块链的移动端购物app批量取证方法
CN112579855A (zh) 微信文章的特征码提取方法及装置
CN114741364A (zh) 一种提取业务数据的方法、装置以及介质

Legal Events

Date Code Title Description
ST Notification of lapse