FR3079328A1 - METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION - Google Patents

METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION Download PDF

Info

Publication number
FR3079328A1
FR3079328A1 FR1852362A FR1852362A FR3079328A1 FR 3079328 A1 FR3079328 A1 FR 3079328A1 FR 1852362 A FR1852362 A FR 1852362A FR 1852362 A FR1852362 A FR 1852362A FR 3079328 A1 FR3079328 A1 FR 3079328A1
Authority
FR
France
Prior art keywords
application
image
software libraries
compilation
code
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
FR1852362A
Other languages
French (fr)
Other versions
FR3079328B1 (en
Inventor
Ruan He
Maxime Compastie
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.)
Orange SA
Original Assignee
Orange SA
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 Orange SA filed Critical Orange SA
Priority to FR1852362A priority Critical patent/FR3079328B1/en
Priority to PCT/FR2019/050632 priority patent/WO2019180376A1/en
Publication of FR3079328A1 publication Critical patent/FR3079328A1/en
Application granted granted Critical
Publication of FR3079328B1 publication Critical patent/FR3079328B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Abstract

Procédé et système de création d'une image d'une application, le procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - obtention (E10) d'un premier objet (01) obtenu par compilation (E10, T10) du code de l'application ; - détermination (E20) d'un ensemble de bibliothèques logicielles (LIB) requises par l'application à partir d'un ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet (01); - obtention (E30) d'un deuxième objet (02) obtenu par compilation (E30) desdites bibliothèques logicielles (LIB) pour un système d'exploitation personnalisé; et - assemblage (E50) desdits objets (01, 02) pour créer ladite image (IMG) de l'application.Method and system for creating an image of an application, the method being characterized in that it comprises the following steps: obtaining (E10) a first object (01) obtained by compiling (E10, T10) of the application code; determination (E20) of a set of software libraries (LIB) required by the application from a set of system calls used by the application and identified in the first object (01); obtaining (E30) a second object (02) obtained by compiling (E30) said software libraries (LIB) for a personalized operating system; and - assembling (E50) said objects (01, 02) to create said image (IMG) of the application.

Description

Arrière-plan de l'inventionInvention background

L'invention se rapporte au domaine général de l'utilisation d'une application. Elle concerne plus particulièrement la construction d'une image d'une application.The invention relates to the general field of the use of an application. It relates more particularly to the construction of an image of an application.

Parmi les solutions existantes permettant l'utilisation d'une application, on connaît les solutions s'exécutant dans une machine virtuelle, cette dernière s'exécutant sur une machine physique, par exemple un serveur distant.Among the existing solutions allowing the use of an application, solutions are known which run in a virtual machine, the latter running on a physical machine, for example a remote server.

Ces solutions présentent l'inconvénient de consommer des ressources (mémoire, capacité de calcul, ...) importantes au niveau de la machine physique. En effet, l'utilisation d'une machine virtuelle nécessite en plus des ressources nécessaires à l'exécution de l'application ellemême, des ressources pour l'exécution d'un système d'exploitation complet, pour la gestion des bibliothèques logicielles et éventuellement pour l'ordonnancement (scheduling) des applications.These solutions have the drawback of consuming significant resources (memory, computing capacity, etc.) at the level of the physical machine. Indeed, the use of a virtual machine requires in addition to the resources necessary for the execution of the application itself, resources for the execution of a complete operating system, for the management of the software libraries and possibly for scheduling applications.

On connaît également une solution consistant à installer et à exécuter (autrement dit à « déployer ») une application dans un conteneur d'application hébergé dans une machine physique. Le conteneur d'application comporte le code binaire de l'application et des bibliothèques logicielles. Cette solution permet d'optimiser les ressources système par rapport à l'installation d'une machine virtuelle puisque le conteneur ne comporte pas un système d'exploitation complet. Le conteneur d'application est autonome et auto-suffisant pour s'exécuter en s'appuyant sur un système d'exploitation s'exécutant sur la machine physique.A solution is also known which consists of installing and executing (in other words “deploying”) an application in an application container hosted in a physical machine. The application container contains the binary code of the application and software libraries. This solution makes it possible to optimize system resources compared to the installation of a virtual machine since the container does not include a complete operating system. The application container is autonomous and self-sufficient to run on the basis of an operating system running on the physical machine.

On rappelle qu'un conteneur, exécuté par une machine, est un ensemble de processus isolés du reste des autres processus s'exécutant sur une même machine physique ou virtuelle. Un conteneur d'application s'exécute à partir d'une image qui fournit les fichiers nécessaires à la prise en charge de ses processus.It is recalled that a container, executed by a machine, is a set of processes isolated from the rest of the other processes executing on the same physical or virtual machine. An application container runs from an image that provides the files necessary to support its processes.

Le conteneur d'une application doit être compatible avec le système d'exploitation de la machine physique ou virtuelle qui l'exécute, autrement dit, les bibliothèques logicielles comprises dans l'image de l'application doivent être compatibles avec le système d'exploitation de la machine physique ou virtuelle.The container of an application must be compatible with the operating system of the physical or virtual machine running it, in other words, the software libraries included in the image of the application must be compatible with the operating system. of the physical or virtual machine.

Une méthode de création d'une image d'une application, de type généraliste, consiste à compiler le code binaire de l'application et toutes les bibliothèques logicielles requises par l'application pour qu'elle puisse être exécutée sur plusieurs systèmes d'exploitation. Le code et les bibliothèques logicielles sont compilés ensemble. Le résultat de la compilation est une image de l'application exécutable sur plusieurs systèmes d'exploitation.A method of creating an image of an application, of general type, consists in compiling the binary code of the application and all the software libraries required by the application so that it can be executed on several operating systems. . The code and software libraries are compiled together. The result of the compilation is an image of the application executable on several operating systems.

L'image créée par la méthode généraliste est portable en ce qu'elle peut être exécutée sur les différents systèmes d'exploitation précités. Cependant, cette méthode généraliste est consommatrice de ressources système. En effet, lorsque l'image est exécutée sur une machine ayant un système d'exploitation donné, les bibliothèques logicielles correspondantes aux autres systèmes d'exploitation ne sont pas utilisées et consomment de la mémoire.The image created by the general method is portable in that it can be executed on the various aforementioned operating systems. However, this general method consumes system resources. In fact, when the image is executed on a machine having a given operating system, the software libraries corresponding to the other operating systems are not used and consume memory.

Il existe également une méthode de création d'une image d'une application, dite de type « langage spécifique ». Selon cette méthode, le code de l'application est compatible uniquement avec un seul système d'exploitation de la machine physique ou virtuelle et seules les bibliothèques logicielles compatibles avec ce système d'exploitation sont sélectionnées. Le code de l'application et les bibliothèques logicielles sélectionnées sont ensuite compilés ensemble pour former l'image de l'application.There is also a method of creating an image of an application, known as the “specific language” type. According to this method, the application code is compatible only with a single operating system of the physical or virtual machine and only the software libraries compatible with this operating system are selected. The application code and the selected software libraries are then compiled together to form the image of the application.

L'image de l'application créée de type « langage spécifique » consomme moins de ressources système qu'une image créée de type généraliste. Cependant, la portabilité de l'image créée de type « langage spécifique » n'est pas assurée.The image of the application created of the "specific language" type consumes less system resources than an image created of the generalist type. However, the portability of the image created of the “specific language” type is not guaranteed.

Il existe alors un besoin en une solution de création d'une image d'une application qui ne présente pas les inconvénients des solutions existantes.There is then a need for a solution for creating an image of an application which does not have the drawbacks of the existing solutions.

Objet et résumé de l'inventionSubject and summary of the invention

L'invention vise un procédé de création d'une image d'une application caractérisé en ce qu'il comporte les étapes de :The invention relates to a method for creating an image of an application, characterized in that it comprises the steps of:

— obtention d'un premier objet obtenu par compilation du code de l'application;- obtaining a first object obtained by compilation of the application code;

— détermination d'un ensemble de bibliothèques logicielles requises par l'application à partir d'un ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet;- determination of a set of software libraries required by the application from a set of system calls used by the application and identified in the first object;

— obtention d'un deuxième objet obtenu par compilation desdites bibliothèques logicielles pour un système d'exploitation personnalisé ; et — assemblage du premier et du deuxième objet pour créer l'image de l'application.- obtaining a second object obtained by compilation of said software libraries for a personalized operating system; and - assembling the first and second objects to create the image of the application.

Corrélativement, l'invention vise un système de création d'une image d'une application, caractérisé en ce qu'il comporte:Correlatively, the invention relates to a system for creating an image of an application, characterized in that it comprises:

— un module d'obtention d'un premier objet obtenu par compilation du code de l'application;- a module for obtaining a first object obtained by compilation of the application code;

— un module configuré pour déterminer un ensemble de bibliothèques logicielles requises par l'application à partir d'un ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet ;- a module configured to determine a set of software libraries required by the application from a set of system calls used by the application and identified in the first object;

— un module d'obtention d'un deuxième objet obtenu par compilation desdites bibliothèques logicielles pour un système d'exploitation personnalisé ; et — un module d'assemblage du premier et du deuxième objet pour créer l'image de l'application.- a module for obtaining a second object obtained by compilation of said software libraries for a personalized operating system; and - a module for assembling the first and second objects to create the image of the application.

Les caractéristiques et avantages du procédé selon l'invention présentés ci-après s'appliquent de la même façon au système selon l'invention.The characteristics and advantages of the method according to the invention presented below apply in the same way to the system according to the invention.

Le fait de compiler séparément le code de l'application des bibliothèques logicielles permet la portabilité de l’application sur divers systèmes d'exploitation, et permet de fournir l'objet de l'application, dit premier objet, sans le code source, à un tiers souhaitant construire une image compatible avec un système d'exploitation donné.The fact of separately compiling the application code of the software libraries allows the portability of the application on various operating systems, and makes it possible to provide the object of the application, said first object, without the source code, to a third party wishing to build an image compatible with a given operating system.

La détermination des bibliothèques logicielles requises par l'application ne tient compte que des bibliothèques logicielles qui sont requises pour pouvoir exécuter l'application sur un système d'exploitation déterminé.The determination of the software libraries required by the application only takes into account the software libraries which are required to be able to run the application on a given operating system.

L'invention permet d'optimiser les ressources système en comparaison avec une méthode de type généraliste, car le deuxième objet est obtenu par compilation des bibliothèques logicielles requises par l'application, et uniquement celles-ci.The invention makes it possible to optimize the system resources in comparison with a general type method, since the second object is obtained by compilation of the software libraries required by the application, and only these.

Le premier objet étant indépendant d'un système d'exploitation, il est possible de le réassembler avec un autre deuxième objet pour créer une image de l'application compatible avec un autre système d'exploitation.The first object being independent of an operating system, it is possible to reassemble it with another second object to create an image of the application compatible with another operating system.

L'image créée peut être, par la suite, déployée dans un conteneur d'application.The image created can then be deployed in an application container.

Nous désignons par les bibliothèques logicielles (autrement dit les librairies) requises par l'application, les dépendances de l'application.We designate by software libraries (in other words libraries) required by the application, the dependencies of the application.

Nous désignons par « l'assemblage » du premier et du deuxième objet, l'édition de liens entre ces deux objets.We mean by "assembling" the first and second objects, the editing of links between these two objects.

Au sens de l'invention, un ensemble de bibliothèques logicielles requises par l'application fait référence à toutes les bibliothèques logicielles requises par l'application.Within the meaning of the invention, a set of software libraries required by the application refers to all the software libraries required by the application.

Pareillement, nous désignons par un ensemble des appels systèmes, l'intégralité des appels systèmes utilisés par l'application.Similarly, we designate by a set of system calls, all of the system calls used by the application.

Le premier et le deuxième objet obtenus par compilation sont des fichiers objets dans un langage cible, par exemple dans des fichiers objets conformes à un langage machine tel qu'un langage assembleur. On rappelle qu'un fichier objet est un fichier intermédiaire obtenu au cours d'un processus de compilation. Ce fichier contient des données nécessaires à l'édition de liens. Ainsi, ce fichier objet est non exécutable directement.The first and second objects obtained by compilation are object files in a target language, for example in object files conforming to a machine language such as an assembly language. It is recalled that an object file is an intermediate file obtained during a compilation process. This file contains data necessary for the edition of links. Thus, this object file cannot be run directly.

Dans un mode de réalisation, le premier et le deuxième objet sont binaires.In one embodiment, the first and second objects are binary.

Dans un mode de réalisation, la détermination de l'ensemble des bibliothèques logicielles requises par l'application se fait à partir du premier objet compilé. Le code de l'application n'est pas divulgué pour la mise en œuvre du procédé.In one embodiment, the determination of all the software libraries required by the application is made from the first compiled object. The application code is not disclosed for the implementation of the process.

Dans un mode de réalisation, il est possible de compiler le code source puis d'effectuer l'étape de détermination de l'ensemble des bibliothèques logicielles requises par l'application à partir de l'objet compilé.In one embodiment, it is possible to compile the source code and then carry out the step of determining all the software libraries required by the application from the compiled object.

La détermination, selon l'invention, de l'ensemble des bibliothèques logicielles est une détermination automatique.The determination, according to the invention, of all the software libraries is an automatic determination.

Dans un mode de réalisation, le procédé selon l'invention comporte en outre une étape de calcul d'une signature du premier objet et d'une signature du deuxième objet.In one embodiment, the method according to the invention further comprises a step of calculating a signature of the first object and a signature of the second object.

L'image créée est alors caractérisée par un couple de signatures, à savoir la signature du premier objet et la signature du deuxième objet, ce qui permet de détecter une image conforme à la présente invention.The image created is then characterized by a couple of signatures, namely the signature of the first object and the signature of the second object, which makes it possible to detect an image in accordance with the present invention.

Dans un mode de réalisation, l'étape de détermination de l'ensemble des bibliothèques logicielles comporte une recherche, dans le premier objet, d'une première séquence correspondant à un appel système, l'appel système utilisé par l'application étant identifié par une deuxième séquence connexe à la première séquence.In one embodiment, the step of determining all the software libraries comprises a search, in the first object, for a first sequence corresponding to a system call, the system call used by the application being identified by a second sequence related to the first sequence.

La première séquence et la deuxième séquence connexe à la première séquence sont conformes au langage du premier objet obtenu par compilation.The first sequence and the second sequence related to the first sequence conform to the language of the first object obtained by compilation.

Dans un mode de réalisation, la première séquence et la deuxième séquence connexe à la première séquence sont des instructions binaires conformes à une architecture externe du processeur, (ISA pour « Instruction Set Architecture »).In one embodiment, the first sequence and the second sequence related to the first sequence are binary instructions conforming to an external architecture of the processor, (ISA for "Instruction Set Architecture").

Dans un mode de réalisation, les appels systèmes utilisés par l'application sont de type Posix (Portable Operating System Interface, standard IEEE 1003) System Call contenus dans une liste. Dans ce mode, la deuxième séquence permet d'identifier un appel système de cette liste.In one embodiment, the system calls used by the application are of the Posix (Portable Operating System Interface, IEEE 1003 standard) System Call type contained in a list. In this mode, the second sequence identifies a system call from this list.

Dans un mode de réalisation particulier, un dictionnaire associe un appel système ABI (pour « Application Binary Interface ») avec des bibliothèques logicielles les implémentant. La ou les bibliothèques logicielles requises par chaque appel système sont ainsi identifiées.In a particular embodiment, a dictionary associates an ABI (for “Application Binary Interface”) system call with software libraries implementing them. The software library (s) required by each system call are thus identified.

Dans un mode de réalisation particulier, des dépendances d'une bibliothèque logicielle identifiée avec une ou d'autres bibliothèques logicielles sont déterminées et cette ou ces dernières sont ajoutées à une liste de l'ensemble des bibliothèques logicielles requises par l'application.In a particular embodiment, dependencies of a software library identified with one or more software libraries are determined and this or these are added to a list of all the software libraries required by the application.

Les différents modules du système selon l'invention ne sont pas nécessairement compris dans un même dispositif.The different modules of the system according to the invention are not necessarily included in the same device.

L'invention vise également une image d'une application caractérisée en ce qu'elle comporte:The invention also relates to an image of an application characterized in that it comprises:

— un objet correspondant au premier objet obtenu par compilation du code de l'application, produit lors d'un assemblage avec un deuxième objet; et — le deuxième objet obtenu par compilation d'un ensemble de bibliothèques logicielles requises par l'application pour un système d'exploitation personnalisé.- an object corresponding to the first object obtained by compilation of the application code, produced during an assembly with a second object; and the second object obtained by compilation of a set of software libraries required by the application for a personalized operating system.

Le procédé de l'invention permet de créer une image d'une application selon l'invention.The method of the invention makes it possible to create an image of an application according to the invention.

Dans un mode de réalisation, un conteneur d'application est exécuté à partir de l'image d'une application selon l'invention. Le conteneur est installé sur un hyperviseur.In one embodiment, an application container is executed from the image of an application according to the invention. The container is installed on a hypervisor.

L'invention vise également un premier programme d'ordinateur sur un support d'enregistrement, ce programme étant susceptible d'être mis en œuvre dans un ordinateur ou dans un dispositif compris dans le système selon l'invention, ce programme comportant des instructions adaptées à la mise en œuvre d'un procédé de création d'une image d'une application tel que décrit ci-dessus.The invention also relates to a first computer program on a recording medium, this program being capable of being implemented in a computer or in a device included in the system according to the invention, this program comprising adapted instructions the implementation of a method for creating an image of an application as described above.

L'invention vise également un second programme d'ordinateur sur un support d'enregistrement, ce programme étant susceptible d'être mis en œuvre dans un ordinateur ou dans un dispositif compris dans le système selon l'invention, ce programme comportant des instructions adaptées à la mise en œuvre d'un procédé d'exécution d'une image selon l'invention.The invention also relates to a second computer program on a recording medium, this program being capable of being implemented in a computer or in a device included in the system according to the invention, this program comprising adapted instructions the implementation of an image execution method according to the invention.

Chacun de ces programmes peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.Each of these programs can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any what other desirable form.

L'invention vise aussi des supports d'information ou d'enregistrement lisibles par un ordinateur, et comportant des instructions des programmes d’ordinateur tels que mentionnés cidessus.The invention also relates to information or recording media readable by a computer, and comprising instructions for computer programs as mentioned above.

Les supports d'information ou d'enregistrement peuvent être n'importe quelle entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur, ou une mémoire flash.The information or recording media can be any entity or device capable of storing the programs. For example, the supports may include a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a floppy disk or a disc. hard, or flash memory.

D'autre part, les supports d'information ou d'enregistrement peuvent être des supports transmissibles tels qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par lien radio, par lien optique sans fil ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type Internet.On the other hand, the information or recording media can be transmissible media such as an electrical or optical signal, which can be routed via an electrical or optical cable, by radio link, by wireless optical link or by other ways. The programs according to the invention can in particular be downloaded from a network of the Internet type.

Alternativement, chaque support d'informations ou d'enregistrement peut être un circuit intégré dans lequel un des programmes est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution de la méthode en question.Alternatively, each information or recording medium can be an integrated circuit in which one of the programs is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Brève description des dessinsBrief description of the drawings

D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended drawings which illustrate an embodiment thereof devoid of any limiting character. In the figures:

— La figure 1 est un organigramme représentant les étapes d'un procédé de création d'une image d'une application, conformément à un mode de réalisation particulier ;- Figure 1 is a flowchart showing the steps of a method of creating an image of an application, in accordance with a particular embodiment;

— La figure 2 illustre l'architecture fonctionnelle d'un système de création d'une image selon un mode de réalisation particulier ;- Figure 2 illustrates the functional architecture of an image creation system according to a particular embodiment;

— La figure 3 illustre l'architecture matérielle d'un dispositif du système de création d'une image selon un mode de réalisation particulier ;- Figure 3 illustrates the hardware architecture of a device of the image creation system according to a particular embodiment;

— La figure 4 représente une image d'une application créée par le procédé proposé selon un mode de réalisation particulier ; et — La figure 5 représente l'architecture logicielle permettant l'exécution d'une image conforme à l'invention, selon un mode de réalisation particulier.- Figure 4 shows an image of an application created by the proposed method according to a particular embodiment; and - Figure 5 shows the software architecture allowing the execution of an image according to the invention, according to a particular embodiment.

Description détailléedetailed description

La figure 1 représente un organigramme représentant des étapes d'un procédé de création d'une image IMG d'une application, conforme à un mode de réalisation particulier.FIG. 1 represents a flowchart representing steps of a method for creating an IMG image of an application, in accordance with a particular embodiment.

Dans ce mode de réalisation, un code source CODE_APP de l'application a été compilé au cours d'une étape T10 qui précède la mise en œuvre des étapes du procédé de création proposé.In this embodiment, a source code CODE_APP of the application was compiled during a step T10 which precedes the implementation of the steps of the proposed creation process.

Au cours d'une étape E10, un système SYS qui met en œuvre le procédé de création d'une image obtient un premier objet 01 obtenu par compilation (T10) du code source de l'application.During a step E10, a system SYS which implements the method of creating an image obtains a first object 01 obtained by compilation (T10) of the source code of the application.

Le premier objet 01 obtenu par compilation est un fichier objet dans un langage cible, par exemple un fichier objet conforme à un langage machine tel qu'un langage assembleur. On rappelle qu'un fichier objet est un fichier intermédiaire obtenu au cours d'un processus de compilation. Ce fichier contient des données nécessaires à l'édition de liens. Ainsi, ce fichier objet est non exécutable directement.The first object 01 obtained by compilation is an object file in a target language, for example an object file conforming to a machine language such as an assembly language. It is recalled that an object file is an intermediate file obtained during a compilation process. This file contains data necessary for the edition of links. Thus, this object file cannot be run directly.

Dans un mode de réalisation particulier, le premier objet 01 est un objet binaire. Par exemple ce premier objet 01 est de type blob (Binary Large OBject).In a particular embodiment, the first object 01 is a binary object. For example, this first object 01 is of the blob type (Binary Large OBject).

L'obtention (E10) du premier objet 01 peut consister en la réception de l'objet 01, par un moyen de communication du système ou par une lecture à partir d'un support mobile d'enregistrement sur lequel le premier objet 01 a été enregistré.Obtaining (E10) the first object 01 may consist in receiving the object 01, by a system communication means or by reading from a mobile recording medium on which the first object 01 has been checked in.

La compilation, non décrite ici, peut être effectuée par un compilateur de l'art antérieur.The compilation, not described here, can be carried out by a compiler of the prior art.

Au cours d'une étape E20, le système SYS détermine l'ensemble des bibliothèques logicielles LIB requises par l'application à partir de l'ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet 01.During a step E20, the system SYS determines the set of software libraries LIB required by the application from the set of system calls used by the application and identified in the first object 01.

Dans ce mode de réalisation, le système SYS cherche dans le premier objet binaire 01 tous les différents appels systèmes utilisés pour former l'ensemble des appels systèmes. Le système SYS identifie ensuite la ou les bibliothèques logicielles requises par chaque appel système en ignorant les éventuels doublons de bibliothèques logicielles, correspondant par exemple à deux appels systèmes distincts d'une même bibliothèque, et obtient ainsi une liste de l'ensemble des bibliothèques logicielles LIB requises par l'application.In this embodiment, the SYS system searches in the first binary object 01 for all the different system calls used to form all of the system calls. The SYS system then identifies the software library or libraries required by each system call, ignoring any duplicate software libraries, corresponding for example to two separate system calls from the same library, and thus obtains a list of all the software libraries. LIB required by the application.

Dans un mode de réalisation particulier, la recherche des appels systèmes utilisés par l'application se base sur une recherche d'une première séquence, caractéristique d'un appel système. Une deuxième séquence connexe à la première séquence permet ensuite d'identifier l'appel système requis par l'application.In a particular embodiment, the search for system calls used by the application is based on a search for a first sequence, characteristic of a system call. A second sequence connected to the first sequence then makes it possible to identify the system call required by the application.

Dans un mode particulier, la première et la deuxième séquence sont des séquences binaires.In a particular mode, the first and second sequences are binary sequences.

Par exemple, la première séquence binaire est caractéristique d'un appel système. Plus particulièrement, un appel système spécifique de type Posix comporte deux parties : une première partie identique pour tous les appels système, et une deuxième partie qui caractérise cet appel système spécifique. La première partie identique est la première séquence binaire recherchée, alors que la deuxième partie représente la deuxième séquence connexe à la première séquence. Les deuxièmes parties sont par exemple contenues ou référencées dans une liste, permettant ainsi d'identifier un appel système à partir de cette liste.For example, the first bit sequence is characteristic of a system call. More specifically, a specific Posix type system call has two parts: a first part identical for all system calls, and a second part which characterizes this specific system call. The first identical part is the first binary sequence sought, while the second part represents the second sequence related to the first sequence. The second parts are for example contained or referenced in a list, thus making it possible to identify a system call from this list.

Dans un mode de réalisation particulier, un dictionnaire associe un appel système ABI (pour « Application Binary Interface ») avec des bibliothèques logicielles les implémentant. Le système SYS identifie ainsi la ou les bibliothèques logicielles requises par chaque appel système.In a particular embodiment, a dictionary associates an ABI (for “Application Binary Interface”) system call with software libraries implementing them. The SYS system thus identifies the software library or libraries required by each system call.

Dans un mode de réalisation particulier, des dépendances d'une bibliothèque logicielle identifiée avec une ou d'autres bibliothèques logicielles sont déterminées et cette ou ces dernières sont ajoutées à la liste des bibliothèques logicielles requises par l'application.In a particular embodiment, dependencies of a software library identified with one or more software libraries are determined and this or these are added to the list of software libraries required by the application.

Au cours d'une étape E30, le système SYS obtient un deuxième objet 02 généré par compilation de l'ensemble des bibliothèques logicielles LIB déterminé à l'étape E20 pour un système d'exploitation donné. Ce deuxième objet 02 est ainsi personnalisé pour ce système d'exploitation. Ce deuxième objet 02 est également un fichier objet.During a step E30, the system SYS obtains a second object 02 generated by compilation of the set of software libraries LIB determined in step E20 for a given operating system. This second object 02 is thus personalized for this operating system. This second object 02 is also an object file.

L'ensemble des bibliothèques logicielles LIB peut être compilé par le système SYS au cours de l'étape E30 elle-même, le résultat de la compilation est le deuxième objet 02.All the LIB software libraries can be compiled by the SYS system during step E30 itself, the result of the compilation is the second object 02.

Dans un mode de réalisation particulier, le deuxième objet 02 est un objet binaire. Par exemple ce deuxième objet 02 est de type blob.In a particular embodiment, the second object 02 is a binary object. For example, this second object 02 is of the blob type.

Dans un mode de réalisation particulier, une signature SIG1, SIG2 est calculée pour chacun des objets 01 et 02 au cours d'une étape E40.In a particular embodiment, a signature SIG1, SIG2 is calculated for each of the objects 01 and 02 during a step E40.

On entend par signature une empreinte calculée sur tout ou partie d'un objet 0 et caractérisant ce dernier.By signature is meant an imprint calculated on all or part of an object 0 and characterizing the latter.

La signature SIG1 est calculée sur une partie de l'objet 01 qui n'est pas modifiée lors de l'étape d'assemblage E50, décrite ultérieurement.The signature SIG1 is calculated on a part of the object 01 which is not modified during the assembly step E50, described later.

Dans un mode de réalisation particulier, la signature de l'objet 01 correspond à la liste de l'ensemble des appels systèmes identifiés dans cet objet 01.In a particular embodiment, the signature of object 01 corresponds to the list of all the system calls identified in this object 01.

Dans un mode de réalisation particulier, la signature de l'objet 02 correspond à la liste des appels systèmes qu'il implémente, ainsi que le système d'exploitation dont le support est visé.In a particular embodiment, the signature of the object 02 corresponds to the list of system calls that it implements, as well as the operating system whose support is targeted.

Contrairement à une image créée par un procédé de l'état de l'art où le code et les bibliothèques logicielles sont compilés ensemble, l'image créée selon le procédé de création proposé est caractérisée par un couple des deux signatures (SIG1, SIG2) correspondant aux signatures des deux objets 01 et 02.Unlike an image created by a state-of-the-art process where code and software libraries are compiled together, the image created according to the proposed creation process is characterized by a pair of two signatures (SIG1, SIG2) corresponding to the signatures of the two objects 01 and 02.

Au cours d'une étape E50, le premier objet 01 et le deuxième objet 02 sont assemblés (« link » en anglais) pour créer l'image IMG de l'application. Dans cette étape E50, les adresses mémoire des appels système identifiés dans le premier objet 01 sont éditées pour pointer vers les routines correspondantes dans le deuxième objet 02. Ainsi, cette édition produit un objet 0'1 correspondant au premier objet 01.During a step E50, the first object 01 and the second object 02 are assembled ("link" in English) to create the IMG image of the application. In this step E50, the memory addresses of the system calls identified in the first object 01 are edited to point to the corresponding routines in the second object 02. Thus, this edition produces an object 0'1 corresponding to the first object 01.

L'image créée IMG peut être exécutée, au cours d'une étape qui fait suite au procédé de création, pour obtenir un conteneur de l'application. L'application peut ainsi être exécutée sur une machine physique ou virtuelle compatible avec le système d'exploitation personnalisé utilisé pour obtenir le deuxième objet 02.The IMG created image can be executed, during a step which follows the creation process, to obtain a container for the application. The application can thus be executed on a physical or virtual machine compatible with the custom operating system used to obtain the second object 02.

Plusieurs instances de l'image IMG peuvent être générées pour exécuter l'application sur différentes machines physiques ou virtuelles compatibles avec le système d'exploitation personnalisé utilisé pour obtenir le deuxième objet 02.Several instances of the IMG image can be generated to run the application on different physical or virtual machines compatible with the custom operating system used to obtain the second object 02.

Dans un autre mode de réalisation, le procédé de création ne dispose en entrée que du code source CODE_APP. Le système SYS compile le code source CODE_APP au cours de l'étape E10, le résultat de la compilation représentant le premier objet 01.In another embodiment, the creation method has only the CODE_APP source code as input. The SYS system compiles the source code CODE_APP during step E10, the result of the compilation representing the first object 01.

Dans un autre mode de réalisation, l'étape E30 de génération du deuxième objet 02 par compilation des bibliothèques logicielles LIB est effectuée par un dispositif ne faisant pas partie du système SYS. Le système SYS reçoit, au cours de l'étape E30, le deuxième objet 02.In another embodiment, the step E30 of generation of the second object 02 by compilation of the software libraries LIB is carried out by a device which is not part of the system SYS. The SYS system receives, during step E30, the second object 02.

Ce procédé de création d'une image trouve une application avantageuse dans le cadre de la construction d'images système de type « unikernel », dans lequel un exécutable d'une application comprend l'ensemble des routines du système d'exploitation suffisantes pour son exécution dans un environnement de virtualisation système. Grâce au procédé de création proposé, l'exécutable de l'application comprend uniquement les routines du système d'exploitation strictement nécessaires pour son exécution.This method of creating an image finds an advantageous application within the framework of the construction of system images of the “unikernel” type, in which an executable of an application comprises all of the routines of the operating system sufficient for its run in a system virtualization environment. Thanks to the proposed creation process, the executable of the application only includes the routines of the operating system strictly necessary for its execution.

La figure 2 représente l'architecture fonctionnelle d'un système SYS de création d'une image IMG d'une application, conformément à un mode de réalisation de l'invention.FIG. 2 represents the functional architecture of a SYS system for creating an IMG image of an application, in accordance with an embodiment of the invention.

Le système SYS comporte :The SYS system includes:

— un module M0D_01 d'obtention d'un premier objet 01 obtenu par compilation (E10, T10) du code CODE_APP de l'application ;- a module M0D_01 for obtaining a first object 01 obtained by compilation (E10, T10) of the code CODE_APP of the application;

— un module MOD_LIB configuré pour déterminer un ensemble de bibliothèques logicielles LIB requises par l'application à partir d'un ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet 01;- a MOD_LIB module configured to determine a set of LIB software libraries required by the application from a set of system calls used by the application and identified in the first object 01;

— un module M0DJD2 d'obtention d'un deuxième objet 02 obtenu par compilation (E30) desdites bibliothèques logicielles LIB, pour un système d'exploitation personnalisé; et — un module M0D_LINK d'assemblage des objets 01 et 02 pour créer l'image IMG de l'application.- a module M0DJD2 for obtaining a second object 02 obtained by compilation (E30) of said LIB software libraries, for a personalized operating system; and - a module M0D_LINK for assembling objects 01 and 02 to create the IMG image of the application.

Dans un mode de réalisation, le premier objet 01 et/ou le deuxième objet 02 sont des fichiers objets.In one embodiment, the first object 01 and / or the second object 02 are object files.

Le module M0D_01 d'obtention d'un premier objet 01 peut recevoir en entrée le premier objet 01 ou le code CODE_APP de l'application.The module M0D_01 for obtaining a first object 01 can receive as input the first object 01 or the code CODE_APP of the application.

Le module MOD_O1 fournit en sortie le premier objet 01.The MOD_O1 module provides the first object 01 as an output.

Le module MODJJB reçoit en entrée le premier objet 01.The MODJJB module receives as input the first object 01.

Le module MODJJB génère en sortie l'ensemble des bibliothèques logicielles LIB requises par l'application, comme décrit précédemment.The MODJJB module generates as output all of the LIB software libraries required by the application, as described above.

Le module MODJD2 d'obtention d'un deuxième objet 02 reçoit en entrée l'ensemble LIB des bibliothèques logicielles requises par l'application, pour un système d'exploitation personnalisé, et fournit en sortie le deuxième objet 02.The MODJD2 module for obtaining a second object 02 receives as input the LIB set of software libraries required by the application, for a personalized operating system, and provides the output of the second object 02.

Le module MODJJNK d'assemblage des objets 01 et 02 requiert en entrées le premier objet 01 et le deuxième objet 02. En sortie, il fournit l'image IMG de l'application par édition de liens, comme décrit précédemment.The MODJJNK module for assembling objects 01 and 02 requires as inputs the first object 01 and the second object 02. At output, it provides the IMG image of the application by linking, as described above.

Les modules M0D_01, M0DJD2, MOD_LIB et MODJJNK peuvent être mis en œuvre par différents dispositifs du système SYS.The modules M0D_01, M0DJD2, MOD_LIB and MODJJNK can be implemented by different devices of the SYS system.

Dans le mode de réalisation décrit ici, chaque dispositif du système SYS conforme à l'invention a l'architecture d'un ordinateur, telle qu'illustrée à la figure 3. Elle comprend notamment un processeur 7, une mémoire vive 8, une mémoire morte 9, une mémoire flash non volatile 10 dans un mode particulier de réalisation de l'invention, ainsi que des moyens de communication 11. De tels moyens sont connus en soi et ne sont pas décrits plus en détail ici.In the embodiment described here, each device of the SYS system according to the invention has the architecture of a computer, as illustrated in FIG. 3. It comprises in particular a processor 7, a random access memory 8, a memory dead 9, a non-volatile flash memory 10 in a particular embodiment of the invention, as well as communication means 11. Such means are known per se and are not described in more detail here.

La mémoire morte 9 d'un dispositif compris dans le système SYS de création d'une image selon l'invention constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 7 et sur lequel est enregistré ici un programme d'ordinateur Prog conforme à l'invention.The read-only memory 9 of a device included in the SYS system for creating an image according to the invention constitutes a recording medium in accordance with the invention, readable by the processor 7 and on which is recorded here a program of Prog computer according to the invention.

La mémoire 10 d'un dispositif compris dans le système SYS permet d'enregistrer des variables utilisées pour l'exécution des étapes de l'invention, telles que le code CODE_APP de l'application, une liste des appels systèmes utilisés par l'application, une liste des appels systèmes de type Posix System Call, un résultat temporaire ou définitif de recherche d'appels systèmes, etc.The memory 10 of a device included in the SYS system makes it possible to record variables used for the execution of the steps of the invention, such as the code CODE_APP of the application, a list of the system calls used by the application , a list of system calls of the Posix System Call type, a temporary or permanent result of search for system calls, etc.

Le programme d'ordinateur Prog définit des modules fonctionnels et logiciels ici, configurés pour permettre à un système SYS de créer une image IMG d'une application. Ces modules fonctionnels s'appuient sur et/ou commandent les éléments matériels 7-11 d'un dispositif du système SYS cités précédemment.The Prog computer program defines functional and software modules here, configured to allow a SYS system to create an IMG image of an application. These functional modules rely on and / or control the hardware elements 7-11 of a device of the SYS system mentioned above.

La figure 4 représente une image IMG d'une application, l'image IMG étant obtenue par exécution du procédé de création proposé.FIG. 4 represents an IMG image of an application, the IMG image being obtained by carrying out the proposed creation process.

L'image IMG est un programme exécutable par une machine physique ou virtuelle.The IMG image is a program executable by a physical or virtual machine.

L'image IMG comporte :The IMG image includes:

— un objet 0'1 correspondant au premier objet 01 obtenu par compilation (E10, T10) du code source CODE_APP de l'application, produit lors de l'assemblage avec un deuxième objet 02 ; et — le deuxième objet 02 obtenu par compilation (E30) d'un ensemble de bibliothèques logicielles LIB requises par l'application.- an object 0'1 corresponding to the first object 01 obtained by compilation (E10, T10) of the source code CODE_APP of the application, produced during assembly with a second object 02; and - the second object 02 obtained by compilation (E30) of a set of LIB software libraries required by the application.

L'image IMG conforme à l'invention est caractérisée par un couple de signatures SIG1 et SIG2 correspondant aux signatures du premier objet 01 et du deuxième objet 02.The IMG image according to the invention is characterized by a pair of signatures SIG1 and SIG2 corresponding to the signatures of the first object 01 and the second object 02.

La figure 5 illustre l'architecture logicielle permettant l'exécution d'une image IMG conforme à l'invention, selon un mode de réalisation de l'invention.FIG. 5 illustrates the software architecture allowing the execution of an IMG image in accordance with the invention, according to an embodiment of the invention.

Dans ce mode de réalisation, pour exécuter l'application sur une machine physique ORD, un conteneur d'application C_APP est exécuté à partir de l'image IMG de l'application, et installé sur un hyperviseur HYP de la machine ORD. L'hyperviseur HYP est mis en œuvre au-dessus de l'infrastructure matérielle PHY de la machine ORD.In this embodiment, to execute the application on a physical machine ORD, an application container C_APP is executed from the image IMG of the application, and installed on a hypervisor HYP of the machine ORD. The HYP hypervisor is implemented on top of the PHY hardware infrastructure of the ORD machine.

Dans un mode de réalisation particulier, l'image IMG est une image de type « unikernel » et le conteneur d'application C_APP est une machine virtuelle s'exécutant sur l'infrastructure matérielle PHY de la machine ORD.In a particular embodiment, the IMG image is a “unikernel” type image and the C_APP application container is a virtual machine running on the PHY hardware infrastructure of the ORD machine.

La machine physique ORD a l'architecture d'un ordinateur, similaire à l'architecture présentée à la figure 3.The physical machine ORD has the architecture of a computer, similar to the architecture presented in Figure 3.

Cette architecture logicielle peut par exemple être utilisée dans un réseau de communication mobile de 5eme génération (5G) dans lequel des fonctions réseaux virtualisées sont mises en œuvre, pour assurer à la fois la performance et la portabilité de la fonction réseau virtualisée.This software architecture may for example be used in a mobile communication network 5 th generation (5G) in which virtualized network functions are implemented, to ensure both performance and portability of the virtualized network function.

L'invention vise aussi un programme d'ordinateur Proglmg qui définit des modules fonctionnels et logiciels ici, configurés pour permettre à une machine physique ORD d'exécuter une image IMG conforme à l'invention. Ces modules fonctionnels s'appuient sur et/ou commandent les éléments matériels 7-11 de la machine ORD : un processeur 7, une mémoire vive 8, une mémoire morte 9, une mémoire flash non volatile 10 dans un mode particulier de réalisation de l'invention, ainsi que des moyens de communication 11.The invention also relates to a Proglmg computer program which defines functional modules and software here, configured to allow a physical machine ORD to execute an IMG image in accordance with the invention. These functional modules rely on and / or control the hardware elements 7-11 of the ORD machine: a processor 7, a random access memory 8, a read-only memory 9, a non-volatile flash memory 10 in a particular embodiment of the invention, as well as means of communication 11.

La mémoire morte 9 de la machine ORD constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 7 de la machine ORD et sur lequel est enregistré ici un programme d'ordinateur Proglmg conforme à l'invention, permettant l'exécution de l'image IMG présentée à la figure 4.The ROM 9 of the ORD machine constitutes a recording medium according to the invention, readable by the processor 7 of the ORD machine and on which is recorded here a Proglmg computer program according to the invention, allowing the execution of the IMG image presented in FIG. 4.

La mémoire 10 de la machine ORD permet d'enregistrer des variables utilisées pour l'exécution des étapes d'exécution de l'image IMG conforme à l'invention.The memory 10 of the machine ORD makes it possible to record variables used for the execution of the steps of execution of the image IMG according to the invention.

Claims (10)

1. Procédé de création d'une image d'une application caractérisé en ce qu'il comporte les étapes suivantes :1. Method for creating an image of an application characterized in that it comprises the following steps: — obtention (E10) d'un premier objet (01) obtenu par compilation (E10, T10) du code (CODE_APP) de l'application ;- obtaining (E10) a first object (01) obtained by compilation (E10, T10) of the code (CODE_APP) of the application; — détermination (E20) d'un ensemble de bibliothèques logicielles (LIB) requises par l'application à partir d'un ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet (01) ;- determination (E20) of a set of software libraries (LIB) required by the application from a set of system calls used by the application and identified in the first object (01); — obtention (E30) d'un deuxième objet (02) obtenu par compilation (E30) desdites bibliothèques logicielles (LIB) pour un système d'exploitation personnalisé ; et — assemblage (E50) desdits objets pour créer ladite image (IMG) de l'application.- obtaining (E30) a second object (02) obtained by compilation (E30) of said software libraries (LIB) for a personalized operating system; and - assembling (E50) of said objects to create said image (IMG) of the application. 2. Procédé selon la revendication 1 comportant en outre une étape (E40) de calcul de signatures (SIG1, SIG2) de chacun desdits objets (01, 02).2. Method according to claim 1 further comprising a step (E40) of calculating signatures (SIG1, SIG2) of each of said objects (01, 02). 3. Procédé selon la revendication 1 ou 2, dans lequel l'étape (E20) de détermination d'un ensemble de bibliothèques logicielles comporte une recherche, dans ledit premier objet (01), d'une première séquence correspondant à un appel système, l'appel système utilisé par l'application étant identifié par une deuxième séquence connexe à la première séquence.3. Method according to claim 1 or 2, wherein the step (E20) of determining a set of software libraries comprises a search, in said first object (01), for a first sequence corresponding to a system call, the system call used by the application being identified by a second sequence connected to the first sequence. 4. Programme d'ordinateur (Prog) comportant des instructions pour la création d'une image d'une application selon une des revendications 1 à 3, lorsque ledit programme est exécuté par un ordinateur.4. Computer program (Prog) comprising instructions for creating an image of an application according to one of claims 1 to 3, when said program is executed by a computer. 5. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur (Prog) comprenant des instructions pour l'exécution des étapes d'un procédé de création d'une image d'une application selon une des revendications 1 à 3.5. Recording medium readable by a computer on which a computer program (Prog) is recorded comprising instructions for the execution of the steps of a method for creating an image of an application according to one of claims 1 to 3. 6. Système (SYS) de création d'une image d'une application, caractérisé en ce qu'il comporte:6. System (SYS) for creating an image of an application, characterized in that it comprises: — un module (M0D_01) d'obtention d'un premier objet (01) obtenu par compilation (E10, T10) du code (CODE_APP) de l'application ;- a module (M0D_01) for obtaining a first object (01) obtained by compilation (E10, T10) of the code (CODE_APP) of the application; — un module (MOD_LIB) configuré pour déterminer un ensemble de bibliothèques logicielles (LIB) requises par l'application à partir d'un ensemble des appels systèmes utilisés par l'application et identifiés dans le premier objet (01);- a module (MOD_LIB) configured to determine a set of software libraries (LIB) required by the application from a set of system calls used by the application and identified in the first object (01); — un module (MODJ32) d'obtention d'un deuxième objet (02) obtenu par compilation (E30) desdites bibliothèques logicielles pour un système d'exploitation personnalisé; et — un module (MOD_LINK) d'assemblage desdits objets (01, 02) pour créer ladite image (IMG) de l'application.- a module (MODJ32) for obtaining a second object (02) obtained by compilation (E30) of said software libraries for a personalized operating system; and - a module (MOD_LINK) for assembling said objects (01, 02) to create said image (IMG) of the application. 7. Image (IMG) d'une application caractérisée en ce qu'elle comporte:7. Image (IMG) of an application characterized in that it comprises: — un objet (0'1) correspondant au premier objet (01) obtenu par compilation (E10, T10) du code de l'application, produit lors d'un assemblage avec un deuxième objet (02) ; et — ledit deuxième objet (02) obtenu par compilation (E30) d'un ensemble de bibliothèques logicielles, requises par l'application, pour un système d'exploitation personnalisé.- an object (0'1) corresponding to the first object (01) obtained by compilation (E10, T10) of the application code, produced during assembly with a second object (02); and - said second object (02) obtained by compilation (E30) of a set of software libraries, required by the application, for a personalized operating system. 8. Procédé d'installation, sur un hyperviseur, d'un conteneur d'application (C_APP) exécuté à partir d'une image (IMG) d'une application selon la revendication 7.8. A method of installing, on a hypervisor, an application container (C_APP) executed from an image (IMG) of an application according to claim 7. 9. Programme d'ordinateur (Proglmg) comportant des instructions pour l'exécution d'une image (IMG) selon la revendication 7, lorsque ledit programme est exécuté par un ordinateur.9. Computer program (Proglmg) comprising instructions for the execution of an image (IMG) according to claim 7, when said program is executed by a computer. 10. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur (Proglmg) comprenant des instructions pour l'exécution d'une image (IMG) selon la revendication 7.10. Recording medium readable by a computer on which a computer program (Proglmg) is recorded comprising instructions for the execution of an image (IMG) according to claim 7.
FR1852362A 2018-03-20 2018-03-20 METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION Active FR3079328B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1852362A FR3079328B1 (en) 2018-03-20 2018-03-20 METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION
PCT/FR2019/050632 WO2019180376A1 (en) 2018-03-20 2019-03-20 Method and system for creating an image of an application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1852362A FR3079328B1 (en) 2018-03-20 2018-03-20 METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION
FR1852362 2018-03-20

Publications (2)

Publication Number Publication Date
FR3079328A1 true FR3079328A1 (en) 2019-09-27
FR3079328B1 FR3079328B1 (en) 2022-01-21

Family

ID=62816703

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1852362A Active FR3079328B1 (en) 2018-03-20 2018-03-20 METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION

Country Status (2)

Country Link
FR (1) FR3079328B1 (en)
WO (1) WO2019180376A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115167874A (en) * 2022-08-19 2022-10-11 禾多科技(北京)有限公司 Automatic driving software mirror image deployment method and device, electronic equipment and readable medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170139694A1 (en) * 2015-11-16 2017-05-18 Qualcomm Innovation Center, Inc. System and method for link time optimization
US20170364377A1 (en) * 2016-06-15 2017-12-21 International Business Machines Corporation Specialized micro-hypervisors for unikernels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170139694A1 (en) * 2015-11-16 2017-05-18 Qualcomm Innovation Center, Inc. System and method for link time optimization
US20170364377A1 (en) * 2016-06-15 2017-12-21 International Business Machines Corporation Specialized micro-hypervisors for unikernels

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BJORN DE SUTTER ET AL: "Link-time binary rewriting techniques for program compaction", ACM TRANSACTIONS ON PROGRAMMING LANGUAGE AND SYSTEMS, ACM, NEW YORK, NY, vol. 27, no. 5, 1 September 2005 (2005-09-01), pages 882 - 945, XP058144900, ISSN: 0164-0925, DOI: 10.1145/1086642.1086645 *
CHRISTIAN COLLBERG ET AL: "Slinky: Static Linking Reloaded", USENIX,, 14 March 2005 (2005-03-14), pages 1 - 14, XP061012917 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115167874A (en) * 2022-08-19 2022-10-11 禾多科技(北京)有限公司 Automatic driving software mirror image deployment method and device, electronic equipment and readable medium

Also Published As

Publication number Publication date
WO2019180376A1 (en) 2019-09-26
FR3079328B1 (en) 2022-01-21

Similar Documents

Publication Publication Date Title
JP6963671B2 (en) Runtime generation that recognizes compliance based on application patterns and risk assessments
JP5805621B2 (en) Device-dependent on-demand compilation and deployment of mobile applications
US10481964B2 (en) Monitoring activity of software development kits using stack trace analysis
FR2904709A1 (en) DEVICE AND METHODS FOR UPDATING A MICROLOGICIAL
EP2649522B1 (en) Method for providing an application as a library in a virtual machine
US10416973B2 (en) Analysis of source code for deployment
US10671384B1 (en) Proactive seeding of build Artifacts
EP2649523B1 (en) Method for compiling an intermediate code of an application
WO2012000949A1 (en) Selective compiling method, device, and corresponding computer program product
US9594559B2 (en) Binary file for computer program having multiple executable code variants for a function that are executable on a same processor architecture
US20170131999A1 (en) Detection of software or hardware incompatibilities in software packages
FR3017725A1 (en) METHOD OF DEPLOYING A SOFTWARE APPLICATION SET (S)
CN104461582A (en) Service processing method and device and equipment
EP1290554A1 (en) Modular computer system and related method
FR3079328A1 (en) METHOD AND SYSTEM FOR CREATING AN IMAGE OF AN APPLICATION
WO2021130420A1 (en) Method and device implementing said method for generating and installing an executable code in the memory of a core of a virtual machine from a hypervisor
CN116069366A (en) Client application program updating method and device, storage medium and electronic equipment
FR2991840A1 (en) METHOD OF PROCESSING DATA BY A NAVIGATION MODULE
WO2006048378A1 (en) Method for loading a software code compiled in an object-oriented intermediate language in a portable device
EP4018313B1 (en) Data collector in an electronic device
FR3029657A1 (en) METHOD FOR PROVIDING A COMPUTER SERVICE AND COMPUTER SYSTEM FOR IMPLEMENTING THE METHOD.
EP4123492A1 (en) Sharing of a function of an application defined in object oriented language
CN117111904A (en) Method and system for automatically converting web applications into serverless functions
FR3047627A1 (en) CONTENT STORAGE METHOD, CONTENT CONSULTATION METHOD, CONTENT MANAGEMENT METHOD, AND CONTENT READER
EP1280057A1 (en) Method of dynamic customization of an application program

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20190927

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7