WO2005119436A2 - Thin packing method for a thin client terminal - Google Patents

Thin packing method for a thin client terminal Download PDF

Info

Publication number
WO2005119436A2
WO2005119436A2 PCT/FR2005/050399 FR2005050399W WO2005119436A2 WO 2005119436 A2 WO2005119436 A2 WO 2005119436A2 FR 2005050399 W FR2005050399 W FR 2005050399W WO 2005119436 A2 WO2005119436 A2 WO 2005119436A2
Authority
WO
WIPO (PCT)
Prior art keywords
unpacking
packaging
digital
file
digital files
Prior art date
Application number
PCT/FR2005/050399
Other languages
French (fr)
Other versions
WO2005119436A3 (en
Inventor
Damien Mercier
Original Assignee
Insia
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 Insia filed Critical Insia
Priority to EP05776449A priority Critical patent/EP1759288A2/en
Publication of WO2005119436A2 publication Critical patent/WO2005119436A2/en
Publication of WO2005119436A3 publication Critical patent/WO2005119436A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Definitions

  • the present invention relates to the field of shaping digital computer files.
  • Loads in terms of files, transmitted by the operating system to the virtual file system are interpreted to determine which mini-sequences correspond to the load request, then the appropriate data is sent back.
  • a request for mini sequences is sent to the server and the virtual file system maintains the busy status until the required mini sequences be provided.
  • the execution of the application is dependent on the proper functioning of the network. This prior art method also requires numerous treatments (creation of mini-sequences, acknowledgments on reception, etc.).
  • the present invention intends to remedy the drawbacks of the prior art by proposing an industrial process in the field of information and communication systems, allowing the temporary installation of an application on a random access memory, for example but not necessarily of the type "Flash" through the use of packages.
  • the applications are kept in “to install” form.
  • each time the package is started the application is installed within the operating system.
  • each time the package is stopped the application is uninstalled.
  • Such a package is called a "light package”.
  • This solution offers easy administration of applications, increased performance on the part of the terminals since they are not "polluted” by unused applications, a simplification and a reduction in the decibels of said terminals. As the terminal is less stressed, the fans are no longer necessary.
  • this type of terminal offers robustness when the client terminal suddenly turns off. This solution also goes against current lessons in this technological field, where the constant increase in the size of computer applications, the capacity and performance of components is required.
  • an operating system composed, at least, of a kernel and a file system
  • said method being characterized in that it comprises: • a first stage of construction of a package comprising incorporating within the package at least one digital file and control information, which includes an indication of the future location of said file in a file system, a start command and a stop command; • a step of compressing or reducing the size of said package; • a step of transmitting or copying the packet to make it accessible by the operating system of said device, if it was not already accessible; • a step of starting the packet consisting in calling control information contained in said control information; • a step of copying the digital file (s); • a subsequent step of using the digital file by associating a means of the operating system and at least one piece of information contained in the order information.
  • said device does not include any other memory.
  • said device comprises an additional memory of non-volatile type (ROM).
  • said ROM memory is of the EEPROM (Electrically Erasable Programmable Read-Only Memory) type.
  • said ROM memory is of the “flash” type.
  • said device is a client device.
  • said client device is "light”.
  • said control information, called during the step of starting the packet is saved during this step.
  • the step of saving said control information, called during the step of starting the packet is carried out in random access memory during this step.
  • the operating system is installed on said random access memory.
  • said file system is of the type operating on a RAM type memory and is not simply mounted in memory.
  • said package includes an identification header.
  • said header comprises at least one digital signature.
  • the operating system is based on a UNIX type environment, preferably GNU LINUX or FreeBSD.
  • the method further comprises a step of adapting said digital file to a specific configuration of said device.
  • said adaptation step is carried out substantially at the time of the call to the command.
  • the invention also relates to an information system for implementing the method comprising at least one server and at least one client station, linked together by means of a computer or communication network.
  • the information system for implementing the method comprises at least two clients, connected to each other by means of a computer or communication network.
  • the information system for implementing the method comprises at least two servers, linked together by means of a computer or communication network.
  • FIG. 1 represents the various technical stages of the industrial method of packaging and unpacking of digital files according to the present invention
  • - Figure 2 shows the technical structure of a package of digital files used in the method of the present invention.
  • a client / server architecture implements at least one thin client and one server.
  • the thin client is connected to the server by a means of communication, such as a corporate network.
  • the thin client user wants to run a business application.
  • the thin client is composed of a processor, a storage memory (ROM or Read-Only Memory) for example of the “flash” type, a random access memory (RAM or Random Access Memory) ), a network interface and I / O interfaces to connect the keyboard, mouse and screen.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • I / O interfaces to connect the keyboard, mouse and screen.
  • An operating system is installed on said thin client.
  • Said operating system is preferably based on a UNIX type environment, for example GNU Linux, FreeBSD or Solaris (UNIX solution from Sun Microsystems).
  • the remote server forms the basis of the company's applications (and / or configurations). This centralization increases security and facilitates updates and administration of applications.
  • Applications are put in the form of packages, with reference to FIG. 2.
  • the archives (3) all the digital files necessary for the installation of an application are grouped together, then are compressed into a single file: the archives (3). Sometimes this file may undergo encryption to increase security.
  • the result is usually the largest part of the package.
  • this section is associated with the intermediate section of said package: the script (2).
  • This contains command information such as, for example, the future location of the application file (s) from the package in the file system of the thin client operating system, such as a command to start the installation of said application or of a command to stop the installation.
  • Said file system is a structured organization of data on a storage system, volatile (RAM) or permanent (ROM), allowing the backup and localization of data.
  • the file system chosen will preferably be of the type compatible with a UNIX environment, for example EXT2, EXT3, ReiserFS or TmpFS.
  • the tree structure will preferably correspond to a UNIX type tree structure, with, for example, a "/ pkg" folder in which the light packages will be decompressed.
  • the header (1) is an optional part, at the start of the package. It contains package identification information, but may also contain a digital signature guaranteeing package integrity security.
  • the package is not application-based but contains configuration files. These configuration files can be used, for example, to change the language of an application.
  • the package may also contain an application and associated configuration files.
  • the package thus obtained corresponds to a single application. It is then put on the server and made accessible to the thin client.
  • the package is then transferred via the network or simply copied to the local storage means of the thin client, for example a hard disk.
  • Protocols such as HTTP, NFS (file sharing on Unix), Samba (file sharing on Windows), FTP, TFTP, SSH, SSL / TLS, can be used to perform this transfer or copy operation.
  • the package is stored ephemeral, that is to say as long as the client terminal is on, on the RAM.
  • the package is already present on the ROM (flash) of the thin client terminal.
  • a version comparison process can then be implemented to check the version of the package and update the package. This process uses digital signatures, for example the MD5 hash.
  • a file containing the digital signatures of the reference lightweight packages is stored on the server.
  • the thin client calculates the digital signatures of its packages, if they are not already contained in the headers of said packages. It then compares said signatures with those contained in the file. If there is a difference in signatures between a package from the thin client and the reference package, the update of this package can be done automatically, i.e. by transferring the most recent version of the server to the client's hard drive. lightweight in place of the old package. In a third embodiment, the package remains on a remote server or machine and nevertheless remains accessible by the thin client.
  • the thin client operating system has a program for starting and stopping packages.
  • This program resides in the execution of a command to start the package, for example "pkg nom start” and a second command to stop the package, for example "pkg nom stop”.
  • the header is read and checked.
  • the command to start the package calls up the command information contained in the package script.
  • This script performs a first step which consists of copying said script and its command lines into the memory of the thin client.
  • the script copies the digital files from the package to the RAM in the file system of the operating system.
  • the installation of the application is then carried out in a traditional manner on the RAM in the file system of the operating system.
  • the application thus installed is used as an application in the traditional sense by executing the main program of the application.
  • the package is stopped via the program.
  • the installation script is called to obtain the information necessary to uninstall the application.
  • all the application data is uninstalled so that only the package in its initial version remains.
  • the system and method according to the invention also allow a user to perform remote processing on the package, that is to say through a communication network. These treatments can for example consist in starting, stopping an application.

Abstract

The invention relates to a method of packing and/or unpacking digital files, which is performed on a device containing, at least, a random access memory (RAM), a processor, a network interface, an I/O interface (input/output) and an operating system (OS) comprising, at least, a kernel and a file system. The inventive method is characterised in that it comprises the following steps, namely: a first step in which a packet is constructed, whereby at least one digital file and command information are incorporated into the packet and comprise an indication of the future location of said file within the file system, a start-up command and a stop command; a step comprising the compression or reduction of the size of the packet; a step in which the packet is transmitted or copied so that it can be accessed by the operating system of the device if it was not already accessible; a packet start step consisting in invoking command information contained in the above-mentioned command information; a step consisting in copying the digital file(s); and a later step in which the digital file is used by associating a means belonging to the operating system and at least one piece of information contained in the command information.

Description

PAQUETAGE LÉGER POUR TERMINAL CLIENT LÉGER LIGHT PACKAGE FOR LIGHT CLIENT TERMINAL
La présente invention se rapporte au domaine de la mise en forme de fichiers numériques informatiques.The present invention relates to the field of shaping digital computer files.
La présente invention se rapporte plus particulièrement à l'empaquetage et au désempaquetage de fichiers numériques dans une architecture de systèmes comprenant, de préférence, des clients légers. Il s'agit, d'une manière générale, de fournir aux clients légers des applications sous forme de paquetages prêts à être installés et d'effectuer une installation temporaire de ces applications sur lesdits clients légers . Devant la part grandissante de l'informatique dans le monde de l'entreprise, l'architecture client léger / serveur, offrant des caractéristiques de facilité de gestion, de performance et de sécurité accrues ou encore des coûts de gestion moindres, s'est fortement développée, notamment dans les entreprises de taille conséquente.The present invention relates more particularly to the packaging and unpacking of digital files in a system architecture comprising, preferably, thin clients. In general, this involves providing applications to thin clients in the form of ready-to-install packages and performing a temporary installation of these applications on said thin clients. Faced with the growing share of IT in the corporate world, the thin client / server architecture, offering characteristics of ease of management, increased performance and security or even lower management costs, has strongly developed, especially in large companies.
On connaît, dans l'état de la technique, des solutions d'empaquetage et de désempaquetage de fichiers numériques pour l'installation d'applications sur des clients légers mettant en œuvre des paquetages comme celui décrit dans la demande de brevet PCT WO 00/77614 (Sun Microsystems) . Un paquetage est copié sur un support local non volatil du terminal puis exécuté afin d'installer l'application contenue, sur ledit support local de stockage. Ladite application est installée de façon définitive, et démarrée autant de fois que désiré. Les inconvénients de telles solutions sont nombreux. Ces paquetages sont adaptés à des environnements informatiques lourds et gourmands en puissance de calcul, en mémoire vive et très encombrants. Certaines solutions connues de l'état de la technique mettent en œuvre le langage informatique Java (marque déposée par Sun Microsystems) . Ce langage est dit « interprété ». Un programme rédigé dans ce langage nécessite, pour son exécution sur le dispositif ou poste client, le fonctionnement d'une machine virtuelle installée au préalable. Cette machine virtuelle utilise des ressources non négligeables tant en termes de mémoire qu'en termes de CPU.Known in the prior art, digital file packaging and unpacking solutions for installing applications on thin clients implementing packages such as that described in PCT patent application WO 00 / 77614 (Sun Microsystems). A package is copied to a local non-volatile medium on the terminal and then executed in order to install the contained application, on said local storage medium. Said application is permanently installed, and started as many times as desired. The disadvantages of such solutions are numerous. These packages are suitable for heavy IT environments that are greedy in computing power, in RAM and very bulky. Certain solutions known in the prior art use the Java computer language (trademark registered by Sun Microsystems). This language is said to be "interpreted". A program written in this language requires, for its execution on the client device or workstation, the operation of a virtual machine previously installed. This virtual machine uses significant resources both in terms of memory and in terms of CPU.
L'art antérieur connaît déjà, par la demande de brevet américain US 6 574 618 (AppStream) , un procédé et un système permettant d'exécuter une application continue sur un système client par l'intermédiaire d'un système de fichiers virtuels installé chez le client et conçu pour être considéré par le système d'exploitation comme un dispositif local de stockage contenant tous les fichiers d'application requis par l'application. Avant le traitement en continu, les fichiers d'application sont divisés en mini-séquences, correspondant généralement à diverses parties des fichiers d'application, et ces mini-séquences sont transmises au client par le serveur, de préférence au moyen d'un algorithme prédictif permettant de déterminer un ordre de transmission optimal. Après réception d'un ensemble initial de mini-séquences, l'application est exécutée à partir du système de fichiers virtuels. Les charges, en termes de fichiers, transmises par le système d'exploitation au système de fichiers virtuels sont interprétées pour déterminer quelles sont les mini-séquences qui correspondent à la demande de charge, puis les données appropriées sont envoyées en retour. En l'absence d'une mini-séquence requise, une demande de mini-séquences est envoyée au serveur et le système de fichiers virtuels maintient le statut occupé jusqu'à ce que les mini-séquences requises soient fournies. L'exécution de l'application se trouve tributaire du bon fonctionnement du réseau. Ce procédé de l'art antérieur nécessite également de nombreux traitements (création des mini-séquences, acquittements à réception...) .The prior art already knows, by American patent application US 6 574 618 (AppStream), a method and a system making it possible to execute a continuous application on a client system by means of a virtual file system installed at the client and designed to be considered by the operating system as a local storage device containing all the application files required by the application. Before the continuous processing, the application files are divided into mini-sequences, generally corresponding to various parts of the application files, and these mini-sequences are transmitted to the client by the server, preferably by means of an algorithm. predictive to determine an optimal transmission order. After receiving an initial set of mini-sequences, the application is executed from the virtual file system. Loads, in terms of files, transmitted by the operating system to the virtual file system are interpreted to determine which mini-sequences correspond to the load request, then the appropriate data is sent back. In the absence of a required mini sequence, a request for mini sequences is sent to the server and the virtual file system maintains the busy status until the required mini sequences be provided. The execution of the application is dependent on the proper functioning of the network. This prior art method also requires numerous treatments (creation of mini-sequences, acknowledgments on reception, etc.).
La présente invention entend remédier aux inconvénients de l'art antérieur en proposant un procédé industriel dans le domaine des systèmes d' information et de communication, permettant l'installation temporaire d'une application sur une mémoire vive, par exemple mais non nécessairement de type « flash » par l'utilisation de paquetages . Les applications sont conservées sous forme « à installer ». Ainsi, à chaque démarrage du paquetage, l'application est installée au sein du système d'exploitation. De même, à chaque arrêt du paquetage, l'application est désinstallée. Un tel paquetage est appelé « paquetage léger ». Cette solution offre une administration aisée des applications, des performances accrues de la part des terminaux puisqu'ils ne sont pas « pollués » par des applications inutilisées, une simplification et une diminution des décibels desdits terminaux. La sollicitation du terminal étant moindre, les ventilateurs ne sont plus nécessaires. En outre, ce type de terminal offre une robustesse à l'extinction soudaine du terminal client. Cette solution va aussi à contre-courant des enseignements actuels dans ce domaine technologique, où l'augmentation constante de la taille des applications informatiques, de la capacité et des performances des composants est de mise.The present invention intends to remedy the drawbacks of the prior art by proposing an industrial process in the field of information and communication systems, allowing the temporary installation of an application on a random access memory, for example but not necessarily of the type "Flash" through the use of packages. The applications are kept in “to install” form. Thus, each time the package is started, the application is installed within the operating system. Likewise, each time the package is stopped, the application is uninstalled. Such a package is called a "light package". This solution offers easy administration of applications, increased performance on the part of the terminals since they are not "polluted" by unused applications, a simplification and a reduction in the decibels of said terminals. As the terminal is less stressed, the fans are no longer necessary. In addition, this type of terminal offers robustness when the client terminal suddenly turns off. This solution also goes against current lessons in this technological field, where the constant increase in the size of computer applications, the capacity and performance of components is required.
À cet effet, l'invention concerne dans son acception la plus générale, un procédé d'empaquetage et/ou de désempaquetage de fichiers numériques mis en œuvre sur un dispositif comportant, au moins, une mémoire vive (RAM) , un processeur, une interface réseau, une interface E/STo this end, the invention relates in its most general sense, to a method of packaging and / or unpacking of digital files implemented on a device comprising, at least, a random access memory (RAM), a processor, a network interface, an I / O interface
(entrée/sortie) et un système d'exploitation (OS) composé, au moins, d'un noyau et d'un système de fichiers, ledit procédé étant caractérisé en ce qu'il comporte : • une première étape de construction d'un paquet consistant à incorporer au sein du paquet au moins un fichier numérique et des informations de commande, qui comportent une indication sur l'emplacement futur dudit fichier dans un système de fichier, une commande de démarrage et une commande d' arrêt ; • une étape de compression ou de réduction de la taille dudit paquet ; • une étape de transmission ou de copie du paquet pour le rendre accessible par le système d'exploitation dudit dispositif, s'il n'était pas déjà accessible ; • une étape de démarrage du paquet consistant à appeler des informations de commande contenues dans lesdites informations de commande ; • une étape de copie du (ou des) fichier (s) numérique (s) ; • une étape ultérieure d'utilisation du fichier numérique en associant un moyen du système exploitation et au moins une information contenue dans les informations de commande.(input / output) and an operating system (OS) composed, at least, of a kernel and a file system, said method being characterized in that it comprises: • a first stage of construction of a package comprising incorporating within the package at least one digital file and control information, which includes an indication of the future location of said file in a file system, a start command and a stop command; • a step of compressing or reducing the size of said package; • a step of transmitting or copying the packet to make it accessible by the operating system of said device, if it was not already accessible; • a step of starting the packet consisting in calling control information contained in said control information; • a step of copying the digital file (s); • a subsequent step of using the digital file by associating a means of the operating system and at least one piece of information contained in the order information.
Selon une première variante, ledit dispositif ne comporte pas d'autre mémoire. Selon une autre variante, ledit dispositif comporte une mémoire supplémentaire de type non volatile (ROM) .According to a first variant, said device does not include any other memory. According to another variant, said device comprises an additional memory of non-volatile type (ROM).
Selon un mode de réalisation, ladite mémoire ROM est de type EEPROM (Electrically Erasable Programmable Read-Only Memory) . Avantageusement, ladite mémoire ROM est de type « flash ».According to one embodiment, said ROM memory is of the EEPROM (Electrically Erasable Programmable Read-Only Memory) type. Advantageously, said ROM memory is of the “flash” type.
De préférence, ledit dispositif est un dispositif client. Selon une variante, ledit dispositif client est « léger ».Preferably, said device is a client device. According to a variant, said client device is "light".
Avantageusement, ledit fichier numérique est une application. Selon une variante, ledit fichier numérique est un fichier de configurations .Advantageously, said digital file is an application. According to a variant, said digital file is a configuration file.
Selon un mode de réalisation particulier, lesdites informations de commande, appelées lors de l'étape de démarrage du paquet, sont sauvegardées lors de cette étape. Selon un second mode de réalisation, l'étape de sauvegarde desdites informations de commande, appelée lors de l'étape de démarrage du paquet, est effectuée en mémoire vive lors de cette étape.According to a particular embodiment, said control information, called during the step of starting the packet, is saved during this step. According to a second embodiment, the step of saving said control information, called during the step of starting the packet, is carried out in random access memory during this step.
Avantageusement, le système d'exploitation est installé sur ladite mémoire vive. Selon une variante, ledit système de fichiers est du type fonctionnant sur une mémoire de type RAM et n'est pas simplement monté en mémoire.Advantageously, the operating system is installed on said random access memory. According to a variant, said file system is of the type operating on a RAM type memory and is not simply mounted in memory.
Avantageusement, ledit paquet comporte un en-tête d'identification. Selon une variante, ledit en-tête comporte au moins une signature numérique. Selon un mode de mise en œuvre particulier, le système d'exploitation est basé sur un environnement de type UNIX, de préférence GNU LINUX ou FreeBSD. Selon un autre mode de réalisation, le procédé comporte en outre une étape d'adaptation dudit fichier numérique à une configuration spécifique dudit dispositif. Selon une variante, ladite étape d'adaptation s'effectue sensiblement à l'instant de l'appel de la commande.Advantageously, said package includes an identification header. According to a variant, said header comprises at least one digital signature. According to a particular implementation mode, the operating system is based on a UNIX type environment, preferably GNU LINUX or FreeBSD. According to another embodiment, the method further comprises a step of adapting said digital file to a specific configuration of said device. According to a variant, said adaptation step is carried out substantially at the time of the call to the command.
L'invention se rapporte également à un système d'informations pour la mise en œuvre du procédé comportant au moins un serveur et au moins un poste client, reliés entre eux au moyen d'un réseau informatique ou de communication . Selon une première variante, le système d'informations pour la mise en œuvre du procédé comporte au moins deux clients, reliés entre eux au moyen d'un réseau informatique ou de communication. Selon une seconde variante, le système d'informations pour la mise en œuvre du procédé comporte au moins deux serveurs, reliés entre eux au moyen d'un réseau informatique ou de communication.The invention also relates to an information system for implementing the method comprising at least one server and at least one client station, linked together by means of a computer or communication network. According to a first variant, the information system for implementing the method comprises at least two clients, connected to each other by means of a computer or communication network. According to a second variant, the information system for implementing the method comprises at least two servers, linked together by means of a computer or communication network.
L'invention se rapporte également à un dispositif informatique comportant au moins un processeur et une mémoire pour la mise en oeuvre du procédé. On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux figures annexées où : la figure 1 représente les différentes étapes techniques du procédé industriel d'empaquetage et de désempaquetage de fichiers numériques selon la présente invention ; et - la figure 2 représente la structure technique d'un paquetage de fichiers numériques utilisé dans le procédé de la présente invention.The invention also relates to a computer device comprising at least one processor and a memory for implementing the method. The invention will be better understood with the aid of the description, given below for purely explanatory purposes, of an embodiment of the invention, with reference to the appended figures in which: FIG. 1 represents the various technical stages of the industrial method of packaging and unpacking of digital files according to the present invention; and - Figure 2 shows the technical structure of a package of digital files used in the method of the present invention.
Une architecture clients/serveurs met en place au moins un client léger et un serveur. Le client léger est relié au serveur par un moyen de communication, tel qu'un réseau d'entreprise. L'utilisateur du client léger désire exécuter une application de l'entreprise. Selon un mode de réalisation particulier, le client léger est composé d'un processeur, d'une mémoire de stockage (ROM ou Read-Only Memory) par exemple de type « flash », d'une mémoire vive (RAM ou Random Access Memory) , d'une interface réseau et d'interfaces d'entrée-sortie pour connecter les clavier, souris et écran. On notera que la présence d'une mémoire ROM est uniquement optionnelle. Il est entendu, que dans la suite de la description, les tâches mettant en œuvre la mémoire ROM pourraient mettre en œuvre la mémoire RAM. Un système d'exploitation est installé sur ledit client léger. Ledit système d'exploitation est, de préférence, basé sur un environnement de type UNIX, par exemple GNU Linux, FreeBSD ou Solaris (solution UNIX de Sun Microsystems) .A client / server architecture implements at least one thin client and one server. The thin client is connected to the server by a means of communication, such as a corporate network. The thin client user wants to run a business application. According to a particular embodiment, the thin client is composed of a processor, a storage memory (ROM or Read-Only Memory) for example of the “flash” type, a random access memory (RAM or Random Access Memory) ), a network interface and I / O interfaces to connect the keyboard, mouse and screen. Note that the presence of a ROM memory is only optional. It is understood that, in the following description, the tasks implementing the ROM memory could implement the RAM memory. An operating system is installed on said thin client. Said operating system is preferably based on a UNIX type environment, for example GNU Linux, FreeBSD or Solaris (UNIX solution from Sun Microsystems).
Le serveur distant constitue la base des applications (et/ou des configurations) de l'entreprise. Cette centralisation augmente la sécurité et facilite les mises à jour et l'administration des applications. Les applications sont mises sous forme de paquetages, en référence à la figure 2. Dans ce dessein, l'ensemble des fichiers numériques nécessaires à l'installation d'une application est regroupé, puis est compressé en un seul fichier : les archives (3) . Parfois, ce fichier peut subir une opération de cryptage pour accroître la sécurité. Le résultat constitue la partie du paquetage habituellement de taille la plus importante. Pour le fonctionnement du paquetage, cette section est associée à la section intermédiaire dudit paquetage : le script (2) . Cette dernière contient des informations de commande comme, par exemple, l'emplacement futur du ou des fichiers de l'application, issus du paquetage dans le système de fichiers du système d'exploitation du client léger, comme par exemple une commande de démarrage de l'installation de ladite application ou encore d'une commande d'arrêt de l'installation. Ces informations de commande peuvent être regroupées sous la forme d'un script et chiffrées de telle sorte qu'elles soient protégées. Ledit système de fichiers est une organisation structurée des données sur un système de stockage, volatil (RAM) ou permanent (ROM) , permettant la sauvegarde et la localisation des données. Celui-ci contient une arborescence, c'est-à-dire une organisation des données en dossiers et sous-dossiers dans lesquels les données sont stockées. Le système de fichiers choisi sera, de préférence, de type compatible avec un environnement UNIX, par exemple EXT2, EXT3, ReiserFS ou TmpFS . L'arborescence correspondra, de préférence, à une arborescence de type UNIX avec, par exemple, un dossier « /pkg » dans lequel seront décompressés les paquetages légers . Enfin, l' en-tête (1) constitue une partie optionnelle, en début du paquetage. Il contient des informations d'identification du paquet, mais peut aussi contenir une signature numérique garantissant une sécurité d'intégrité des paquetages .The remote server forms the basis of the company's applications (and / or configurations). This centralization increases security and facilitates updates and administration of applications. Applications are put in the form of packages, with reference to FIG. 2. For this purpose, all the digital files necessary for the installation of an application are grouped together, then are compressed into a single file: the archives (3). Sometimes this file may undergo encryption to increase security. The result is usually the largest part of the package. For the operation of the package, this section is associated with the intermediate section of said package: the script (2). This contains command information such as, for example, the future location of the application file (s) from the package in the file system of the thin client operating system, such as a command to start the installation of said application or of a command to stop the installation. This control information can be combined in a script and encrypted so that it is protected. Said file system is a structured organization of data on a storage system, volatile (RAM) or permanent (ROM), allowing the backup and localization of data. This contains a tree structure, that is to say an organization of the data into folders and sub-folders in which the data is stored. The file system chosen will preferably be of the type compatible with a UNIX environment, for example EXT2, EXT3, ReiserFS or TmpFS. The tree structure will preferably correspond to a UNIX type tree structure, with, for example, a "/ pkg" folder in which the light packages will be decompressed. Finally, the header (1) is an optional part, at the start of the package. It contains package identification information, but may also contain a digital signature guaranteeing package integrity security.
Dans une variante, le paquetage n'est pas applicatif mais contient des fichiers de configuration. Ces fichiers de configuration peuvent servir, par exemple, à modifier la langue d'une application. Ledit paquetage peut également contenir une application ainsi que des fichiers de configuration associés.In a variant, the package is not application-based but contains configuration files. These configuration files can be used, for example, to change the language of an application. The package may also contain an application and associated configuration files.
Le paquetage ainsi obtenu correspond à une unique application. Il est alors mis sur le serveur et rendu accessible au client léger.The package thus obtained corresponds to a single application. It is then put on the server and made accessible to the thin client.
Dans un mode de réalisation, le paquetage est ensuite transféré par l'intermédiaire du réseau ou simplement copié sur le moyen de stockage local du client léger, par exemple un disque dur. Des protocoles tels que HTTP, NFS (partage de fichiers sous Unix) , Samba (partage de fichiers sous Windows) , FTP, TFTP, SSH, SSL/TLS, peuvent être utilisés pour réaliser cette opération de transfert ou de copie. Dans une variante, le paquetage est stocké de façon éphémère, c'est-à-dire tant que le terminal client est allumé, sur la mémoire vive. Dans un autre mode de réalisation, le paquetage est déjà présent sur la ROM (flash) du terminal client léger. Un procédé de comparaison de version peut alors être mis en place pour vérifier la version du paquetage et effectuer une mise à jour du paquetage. Ce procédé fait appel aux signatures numériques, par exemple le hachage MD5. Un fichier contenant les signatures numériques des paquetages légers de référence est stocké sur le serveur. Le client léger calcule les signatures numériques de ses paquetages, si elles ne sont pas déjà contenues dans les en-têtes desdits paquetages. Il compare ensuite lesdites signatures à celles qui sont contenues dans le fichier. En cas de différence de signatures entre un paquetage du client léger et le paquetage de référence, la mise à jour dudit paquetage peut se faire automatiquement, c'est-à-dire en transférant la version plus récente du serveur sur le disque dur du client léger en lieu et place de l'ancien paquetage. Dans un troisième mode de réalisation, le paquetage demeure sur un serveur ou une machine distante et reste néanmoins accessible par le client léger.In one embodiment, the package is then transferred via the network or simply copied to the local storage means of the thin client, for example a hard disk. Protocols such as HTTP, NFS (file sharing on Unix), Samba (file sharing on Windows), FTP, TFTP, SSH, SSL / TLS, can be used to perform this transfer or copy operation. In a variant, the package is stored ephemeral, that is to say as long as the client terminal is on, on the RAM. In another embodiment, the package is already present on the ROM (flash) of the thin client terminal. A version comparison process can then be implemented to check the version of the package and update the package. This process uses digital signatures, for example the MD5 hash. A file containing the digital signatures of the reference lightweight packages is stored on the server. The thin client calculates the digital signatures of its packages, if they are not already contained in the headers of said packages. It then compares said signatures with those contained in the file. If there is a difference in signatures between a package from the thin client and the reference package, the update of this package can be done automatically, i.e. by transferring the most recent version of the server to the client's hard drive. lightweight in place of the old package. In a third embodiment, the package remains on a remote server or machine and nevertheless remains accessible by the thin client.
Le système d'exploitation du client léger dispose d'un programme pour le démarrage et l'arrêt des paquetages. Ce programme réside dans l'exécution d'une commande pour le démarrage du paquetage, par exemple « pkg nom start » et d'une seconde commande pour l'arrêt du paquetage, par exemple « pkg nom stop ». Au démarrage du paquetage, l' en-tête est lu et vérifié. Puis la commande de démarrage du paquetage fait appel aux informations de commandes contenues dans le script du paquetage. Ce script effectue une première étape qui consiste à la copie dudit script et de ses lignes de commandes dans la mémoire vie du client léger. Puis le script réalise la copie des fichiers numériques du paquetage sur la mémoire vive dans le système de fichiers du système d' exploitation . L'installation de l'application s'effectue ensuite de manière traditionnelle sur la mémoire vive dans le système de fichiers du système d'exploitation.The thin client operating system has a program for starting and stopping packages. This program resides in the execution of a command to start the package, for example "pkg nom start" and a second command to stop the package, for example "pkg nom stop". When the package starts, the header is read and checked. Then the command to start the package calls up the command information contained in the package script. This script performs a first step which consists of copying said script and its command lines into the memory of the thin client. Then the script copies the digital files from the package to the RAM in the file system of the operating system. The installation of the application is then carried out in a traditional manner on the RAM in the file system of the operating system.
L'application ainsi installée, est utilisée comme une application au sens traditionnel en exécutant le programme principal de l'application. En fin d'utilisation de l'application, l'arrêt du paquetage s'effectue par l'intermédiaire du programme. Le script d'installation est appelé pour obtenir les informations nécessaires à la désinstallation de l'application. Puis toutes les données applicatives sont désinstallées de sorte que seul le paquetage dans sa version initiale subsiste. Le système et le procédé selon l'invention permettent également à un utilisateur de réaliser des traitements à distance sur le paquetage, c'est-à-dire au travers d'un réseau de communication. Ces traitements peuvent par exemple consister en le démarrage, l'arrêt d'une application.The application thus installed, is used as an application in the traditional sense by executing the main program of the application. When the application is finished, the package is stopped via the program. The installation script is called to obtain the information necessary to uninstall the application. Then all the application data is uninstalled so that only the package in its initial version remains. The system and method according to the invention also allow a user to perform remote processing on the package, that is to say through a communication network. These treatments can for example consist in starting, stopping an application.
L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet. The invention is described in the foregoing by way of example. It is understood that a person skilled in the art is able to carry out different variants of the invention without going beyond the scope of the patent.

Claims

REVENDICATIONS
1. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques mis en œuvre sur un dispositif comportant, au moins, une mémoire vive (RAM) , un processeur, une interface réseau, une interface E/S (entrée/sortie) et un système d'exploitation (OS) composé, au moins, d'un noyau et d'un système de fichiers, ledit procédé étant caractérisé en ce qu'il comporte : • une première étape de construction d'un paquet consistant à incorporer au sein du paquet au moins un fichier numérique et des informations de commande, qui comportent une indication sur l'emplacement futur dudit fichier dans un système de fichier, une commande de démarrage et une commande d'arrêt ; • une étape de compression ou de réduction de la taille dudit paquet ; • une étape de transmission ou de copie du paquet pour le rendre accessible par le système d'exploitation dudit dispositif, s'il n'était pas déjà accessible ; • une étape de démarrage du paquet consistant à appeler des informations de commande contenues dans lesdites informations de commande ; • une étape de copie du (ou des) fichier (s) numérique (s) ; • une étape ultérieure d'utilisation du fichier numérique en associant un moyen du système exploitation et au moins une information contenue dans les informations de commande .1. Method for packaging and / or unpacking digital files implemented on a device comprising, at least, a random access memory (RAM), a processor, a network interface, an I / O interface (input / output) and an operating system (OS) composed, at least, of a kernel and a file system, said method being characterized in that it comprises: • a first stage of construction of a package consisting in incorporating into the within the package at least one digital file and control information, which includes an indication of the future location of said file in a file system, a start command and a stop command; • a step of compressing or reducing the size of said package; • a step of transmitting or copying the packet to make it accessible by the operating system of said device, if it was not already accessible; • a step of starting the packet consisting in calling control information contained in said control information; • a step of copying the digital file (s); • a subsequent step of using the digital file by associating a means of the operating system and at least one piece of information contained in the order information.
2. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon la revendication 1, caractérisé en ce que ledit dispositif ne comporte pas d'autre mémoire. 2. Method for packaging and / or unpacking digital files according to claim 1, characterized in that said device does not include any other memory.
3. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit dispositif comporte une mémoire supplémentaire de type non volatile (ROM) .3. Method for packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that said device comprises an additional memory of non-volatile type (ROM).
4. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon la revendication 3, caractérisé en ce que ladite mémoire ROM est de type EEPROM (Electrically Erasable Programmable Read-Only Memory) .4. Method for packaging and / or unpacking digital files according to claim 3, characterized in that said ROM memory is of EEPROM (Electrically Erasable Programmable Read-Only Memory) type.
5. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon la revendication 4, caractérisé en ce que ladite mémoire EEPROM est de type « flash ».5. A method of packaging and / or unpacking digital files according to claim 4, characterized in that said EEPROM memory is of the “flash” type.
6. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit dispositif est un dispositif client.6. Method for packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that said device is a client device.
7. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon la revendication 6, caractérisé en ce que ledit dispositif client est « léger ». 7. Method for packaging and / or unpacking digital files according to claim 6, characterized in that said client device is "light".
8. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon les revendications 1 à 7, caractérisé en ce que ledit fichier numérique est une application. 8. A method of packaging and / or unpacking digital files according to claims 1 to 7, characterized in that said digital file is an application.
9. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon les revendications 1 à 7, caractérisé en ce que ledit fichier numérique est un fichier de configurations . 9. A method of packaging and / or unpacking digital files according to claims 1 to 7, characterized in that said digital file is a configuration file.
10. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que lesdites informations de commande, appelées lors de l'étape de démarrage du paquet, sont sauvegardées lors de cette étape.10. Method for packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that said control information, called during the step of starting the packet, is saved during this step.
11. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape de sauvegarde desdites informations de commande, appelée lors de l'étape de démarrage du paquet, est effectuée en mémoire vive lors de cette étape.11. Method for packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that the step of saving said control information, called during the step of starting the package, is carried out in RAM during this step.
12. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que le système d'exploitation est installé sur ladite mémoire vive.12. A method of packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that the operating system is installed on said random access memory.
13. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit système de fichiers est du type fonctionnant sur une mémoire de type RAM et n'est pas simplement monté en mémoire. 13. Method for packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that said file system is of the type operating on a RAM type memory and is not simply mounted in memory .
14. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit paquet comporte un en-tête d'identification. 14. A method of packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that said package comprises an identification header.
15. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon la revendication 14, caractérisé en ce que ledit en-tête comporte au moins une signature numérique . 15. A method of packaging and / or unpacking digital files according to claim 14, characterized in that said header comprises at least one digital signature.
16. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce que le système d'exploitation est basé sur un environnement de type UNIX, de préférence GNU LINUX ou FreeBSD.16. Method for packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that the operating system is based on a UNIX type environment, preferably GNU LINUX or FreeBSD.
17. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte en outre une étape d'adaptation dudit fichier numérique à une configuration spécifique dudit dispositif.17. A method of packaging and / or unpacking digital files according to any one of the preceding claims, characterized in that it further comprises a step of adapting said digital file to a specific configuration of said device.
18. Procédé d'empaquetage et/ou de désempaquetage de fichiers numériques selon la revendication 17, caractérisé en ce que ladite étape d'adaptation s'effectue sensiblement à l'instant de l'appel de la commande.18. A method of packaging and / or unpacking digital files according to claim 17, characterized in that said adaptation step is carried out substantially at the time of the call to the command.
19. Système d'informations pour la mise en œuvre du procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte au moins un serveur et au moins un poste client, reliés entre eux au moyen d'un réseau informatique ou de communication.19. Information system for the implementation of the method according to any one of the preceding claims, characterized in that it comprises at least one server and at least one client station, linked together by means of a computer network or communication.
20. Système d'informations pour la mise en œuvre du procédé selon l'une quelconque des revendications 1 à 17, caractérisé en ce qu'il comporte au moins deux clients, reliés entre eux au moyen d'un réseau informatique ou de communication . 20. Information system for implementing the method according to any one of claims 1 to 17, characterized in that it comprises at least two clients, connected to each other by means of a computer or communication network.
21. Système d'informations pour la mise en œuvre du procédé selon l'une quelconque des revendications 1 à 17, caractérisé en ce qu'il comporte au moins deux serveurs, reliés entre eux au moyen d'un réseau informatique ou de communication . 21. Information system for implementing the method according to any one of claims 1 to 17, characterized in that it comprises at least two servers, connected to each other by means of a computer or communication network.
22. Dispositif informatique comportant au moins un processeur et une mémoire pour la mise en oeuvre du procédé selon l'une au moins des revendications 1 à 17. 22. Computer device comprising at least one processor and a memory for implementing the method according to at least one of claims 1 to 17.
PCT/FR2005/050399 2004-06-01 2005-06-01 Thin packing method for a thin client terminal WO2005119436A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05776449A EP1759288A2 (en) 2004-06-01 2005-06-01 Thin packing method for a thin client terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0451075 2004-06-01
FR0451075A FR2870953B1 (en) 2004-06-01 2004-06-01 LIGHT PACKAGE FOR LIGHT CLIENT TERMINAL

Publications (2)

Publication Number Publication Date
WO2005119436A2 true WO2005119436A2 (en) 2005-12-15
WO2005119436A3 WO2005119436A3 (en) 2006-05-26

Family

ID=34945355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2005/050399 WO2005119436A2 (en) 2004-06-01 2005-06-01 Thin packing method for a thin client terminal

Country Status (3)

Country Link
EP (1) EP1759288A2 (en)
FR (1) FR2870953B1 (en)
WO (1) WO2005119436A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138153A (en) * 1994-02-14 2000-10-24 Computer Associates Think, Inc. System for software distribution in a digital computer network
US6324691B1 (en) * 1998-11-12 2001-11-27 Hewlett-Packard Company Manufacture of software distribution media packages from components resident on a remote server source
US6675382B1 (en) * 1999-06-14 2004-01-06 Sun Microsystems, Inc. Software packaging and distribution system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138153A (en) * 1994-02-14 2000-10-24 Computer Associates Think, Inc. System for software distribution in a digital computer network
US6324691B1 (en) * 1998-11-12 2001-11-27 Hewlett-Packard Company Manufacture of software distribution media packages from components resident on a remote server source
US6675382B1 (en) * 1999-06-14 2004-01-06 Sun Microsystems, Inc. Software packaging and distribution system

Also Published As

Publication number Publication date
WO2005119436A3 (en) 2006-05-26
EP1759288A2 (en) 2007-03-07
FR2870953A1 (en) 2005-12-02
FR2870953B1 (en) 2006-08-04

Similar Documents

Publication Publication Date Title
JP6644960B1 (en) Method and system for restoring archived data containers on object-based storage
US10521447B2 (en) Container application execution using image metadata
US10795740B2 (en) Parameter delegation for encapsulated services
US20100100587A1 (en) Systems and methods for a data management recovery in a peer-to-peer network
US20090248693A1 (en) Managing data transfer between endpoints in a distributed computing environment
US10216580B1 (en) System and method for mainframe computers backup and restore on object storage systems
EP1950656A1 (en) Method of loading software in mobile and desktop environments
US10965732B2 (en) Streaming zip
US8756656B1 (en) Systems and methods for creating and synchronizing security metadata within synchronized-data networks
CN105765526A (en) Bootstrapping from a remote disk image via a network
TW200841187A (en) Bidirectional dynamic offloading of tasks between a host and mobile device
US20080270524A1 (en) Distributing files over a computer network
US8225316B1 (en) Methods and systems for creating and applying patches for virtualized applications
US11647103B1 (en) Compression-as-a-service for data transmissions
CN102968321A (en) Application program installation device and application program installation method
EP1649363B1 (en) Method of managing software components that are integrated into an embedded system
US11677826B2 (en) Efficient transfer to and from a deduplicated cloud storage system
US10558450B2 (en) Mechanism for customizing multiple computing devices
WO2009056607A1 (en) System for deploying software components on computation units that are limited in terms of processing capacity
US7461372B2 (en) System for optimizing distribution of information employing a universal dictionary
US8463871B1 (en) Method and system for data backup with capacity and traffic optimization
WO2005119436A2 (en) Thin packing method for a thin client terminal
FR2994782A1 (en) METHOD AND SYSTEM FOR EXECUTING DATA LOADING PROTOCOLS
EP2674860B1 (en) Method for data processing by a navigation module
FR2880489A1 (en) DEVICE FOR AUTOMATIC CONNECTION TO THE INTERNET NETWORK.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005776449

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005776449

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2005776449

Country of ref document: EP