EP3108361A2 - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) - Google Patents

Procédé de déploiement d'un ensemble d'application(s) logicielle(s)

Info

Publication number
EP3108361A2
EP3108361A2 EP15704785.3A EP15704785A EP3108361A2 EP 3108361 A2 EP3108361 A2 EP 3108361A2 EP 15704785 A EP15704785 A EP 15704785A EP 3108361 A2 EP3108361 A2 EP 3108361A2
Authority
EP
European Patent Office
Prior art keywords
application
terminal
server
operating system
list
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.)
Withdrawn
Application number
EP15704785.3A
Other languages
German (de)
English (en)
Inventor
Ben Youcef Ech-Chergui
Ludovic DEROUET
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.)
Thales SA
Original Assignee
Thales 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 Thales SA filed Critical Thales SA
Publication of EP3108361A2 publication Critical patent/EP3108361A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Definitions

  • the present invention relates to a method of deploying a set of software application (s) software (s) in a telecommunication network comprising at least one server of telecommunications terminals and telecommunications means between said server and said terminals, and including the following steps implemented by the server:
  • the terminals include for example mobile or fixed equipment, smart phones, tablets, laptops or fixed, multimedia equipment.
  • the central management entity knows the list of applications and operating system version implemented in each terminal and, for each of these terminals, it performs calculations. from this information to generate a dedicated deployment order to the terminal, indicating the installations, deletions and updates of applications that this terminal must perform to comply with the set of applications defined by the administrator. The terminal then applies the own deployment order.
  • Solutions are based on the principle that the central entity sends a notification to the terminals to signify that a deployment order or an update is available. This principle requires the central entity to know the availability of the terminals to ensure that all have received the notification, thereby causing additional workload for that entity.
  • the invention proposes a method of deploying a set of software application (s) of the aforementioned type characterized in that said data intended for the terminals comprises a deployment list determined by the server by implementing the following steps:
  • the method of deploying a set of software application (s) according to the invention further comprises one or more of the following characteristics:
  • the server determines whether the installation or the uninstallation of the application is dependent on another application and that in the positive case, the server adds the identifier of said other application in said sub-list associated with the operating system, with an indication of dependence between said application and said other application;
  • the applications and the operating systems being associated with respective security levels: the comparison between the security level of the application and the level of security of the operating system;
  • each operating system is associated with a mandatory security application and the applications and operating systems are associated with respective security levels: the determination of the mandatory security application associated with the operating system, and the comparison between the security levels of the given application and the specified mandatory security application.
  • the present invention proposes a method of deploying a set of software application (s) in a telecommunications network comprising at least one server, telecommunication terminals and telecommunication means. between said server and said terminals, said method comprising the steps of:
  • a terminal obtains, from the server, via the telecommunication means, a deployment list listing sub-lists indicating identifiers applications and each associated with a respective terminal operating system of a set of terminal operating system (s);
  • the terminal determines the applications and the operating system then installed on the terminal, compares said determined applications and the sub-list associated with said determined operating system, and according to this comparison:
  • the terminal uninstalls said application
  • the terminal performs the following steps:
  • the terminal determines if said application is already installed on the terminal
  • the terminal downloads from the server (Serv d ) said application and installs it;
  • the deployment method further comprises the steps of the deployment method according to the first aspect of the invention.
  • this method of deploying a set of software application (s) according to the invention further comprises one or more of the following characteristics:
  • the sub-list associated with each operating system indicates application identifiers each associated with an application version number, and according to which the following steps are implemented:
  • the terminal determines that the application is already installed on the terminal, it compares the version number of the installed application to that associated with the identifier of said application in the sub-list;
  • the terminal 10 downloads from the server the version of the application indicated by the version number indicated in the sub-list and installs the downloaded software application;
  • an identifier of an application is mapped to an identifier of another application, indicating that the installation or the uninstallation of said application is dependent on said other application and according to which the terminal installs , or uninstalls, said applications in an order according to said indication.
  • the present invention proposes a computer program to be installed in a server intended to be implemented in a network of computers. telecommunication further comprising telecommunication terminals and telecommunication means between said server and said terminals, said program comprising instructions for implementing the steps of a method according to the first aspect of the invention during execution of the program by server processing means.
  • the present invention proposes a computer program to be installed in a telecommunication terminal intended to be implemented in a telecommunication network comprising at least one server, a plurality of telecommunication terminals and telecommunication means between said server and said terminals, said program comprising instructions for implementing the steps of a method according to the second aspect of the invention during execution of the program by means of processing the terminal.
  • the present invention provides a server for a telecommunication network further comprising telecommunication terminals, said server comprising telecommunication means between said server and said terminals;
  • said server being adapted to receive a set of software application (s) to be deployed on the terminals, for determining, based on said set of software application (s) received, deployment data for the terminals;
  • said server being characterized in that it is adapted, when determining the deployment data, to select, for each operating system of a group of operating systems implemented on the terminals, software applications among said set of software application (s) to be deployed according to criteria relating to the compatibility between said applications and said operating system; and to determine a deployment sub-list associated with said operating system and including the identifiers of said selected applications;
  • said server being adapted to insert, in a deployment list, sub-lists determined for the application systems of the group and to provide terminals said deployment list.
  • the present invention proposes a telecommunication terminal intended for a telecommunication network comprising at least one server, telecommunication terminals and telecommunication means between said server and said terminals,
  • said terminal being adapted to obtain, from the server, via the telecommunication means, a deployment list listing sub-lists indicating application identifiers each associated with a respective terminal operating system of a set of terminal operating system (s);
  • said terminal being adapted to determine the applications and the operating system then installed on the terminal, comparing said determined applications and the sub-list associated with said determined operating system, and according to this comparison:
  • FIG. 1 represents a view of a telecommunication system in one embodiment of the invention
  • FIG. 2 represents steps implemented in one embodiment of the invention
  • FIG. 3 represents steps implemented in one embodiment of the invention
  • FIG. 4 is a view of part of a content of a deployment file F2 in one embodiment of the invention.
  • Figure 1 is a view of a system 100 embodying an embodiment of the invention.
  • the telecommunication system 100 comprises a plurality of user terminals 10. These terminals 10 are connected by telecommunications links 11 (wired or not) to a telecommunications network R1.
  • a distribution server, Serv d is also connected to the network R1 by a telecommunications link 1 1.
  • the terminals 10 comprise, for example, smart mobile telephones connected to the network R1 by wireless links 11. Terminals include for example fixed or portable computers etc.
  • the distribution server, Serv d , and a generation server Serv g are connected by a respective telecommunication link 12 to a telecommunications network R2.
  • the network R1 is a public network, for example the Internet
  • the network R2 is a private network, for example an enterprise network.
  • Each terminal 10 notably comprises a memory 11 and a microprocessor 12.
  • the memory 11 is particularly adapted to store an operating system and software applications, and to implement them using the microprocessor 12.
  • the system 100 implements a secure environment, called a security strain, implemented using mandatory security software applications.
  • a terminal 10 in which a mandatory security software application is installed is adapted so that any software application installed on the terminal 10 and compatible security strain, is secured, for example as follows: the data generated by the software application and / or exchanged by the software application with the network R1 are encrypted, the application is protected from fraudulent intrusion by means of software partitioning. This partitioning controls the input and output of the secure application to prevent an unsecure third-party application from interacting in a dangerous way with the secure application. .
  • FIG. 2 represents steps implemented in the system 100 in one embodiment of the invention.
  • each server Serv g , Serv d is performed following the execution, on server computing means, of corresponding software instructions stored in a memory of the server.
  • the server Ser g imports a configuration file F1, for example protected cryptographically integrity and authenticated.
  • This file is for example provided by the editor of the solution and inserted by the administrator U of the server Serv g .
  • this configuration file F1 indicates:
  • a list of the dependencies comprising the identifiers of the applications whose installation in a terminal, or the uninstallation, makes use of other applications; in the list of dependencies, each application identifier being associated with the identifiers of said other applications; - the list of security application identifiers that must imperatively be installed on the terminals on which applications are to be deployed, in accordance with the security strain considered in the system 1.
  • This F1 file is stored in the Servg server memory.
  • a step 102 instructions are provided to the server Serv g , for example by the administrator U requiring the importation of software applications A, each associated with an application identifier and a version number.
  • the Servg server When receiving an import instruction from an application A, the Servg server imports the software application A (through the network R2, other networks or media), and then requires its storage in the distribution server. Serv. D. In a step 103, the server Serv g analyzes the contents of this software application A and extracts data from the application, for example metadata present in its source code or in a manifest file present in the application indicating:
  • the operating systems for example the type (s) of operating system (for example Android, Windows, Linux etc.) and the version or versions of the operating system (for example V4.0, V3.2 etc.) whose application is compatible,
  • This information is stored in the memory of the server Serv g , in correspondence with the identifier of the application A and its version number.
  • a step 104 the administrator U selects at least some imported applications A (including one or more mandatory security applications, this selection possibly being made by default) and indicates this selection to the server Serv g .
  • These selected applications A define the software package that the administrator wishes to deploy on a set T of terminals 10.
  • the server Serv g determines the contents of a deployment list corresponding to the defined software package, according to the selected applications and associated information stored in its memory, and further according to the configuration information of the file. F1.
  • the software package may contain more applications than those selected by the administrator U, because depending on the information in F1, the server Serv g may need to add applications if it is necessary the operation of the selected applications.
  • This deployment list includes in the embodiment considered, a file F2 shown schematically in FIG.
  • the deployment list F2 as determined by the generation server Serv g comprises successive sections S os, each section S os being associated with a respective operating system.
  • a SOSX section is associated with the operating system X.
  • each operating system is characterized by the type of operating system (Windows, Linus, Android) and its version.
  • Each section associated with an operating system S os comprises a list of application identifiers A2 elements of the software package defined above and for each of these application identifiers, furthermore includes, associated with said application identifier A2, a version code indicating a version number of the application, the size of the application, an integrity word allowing the terminal to perform an integrity check of the application that he uploaded, and a list of dependencies.
  • Step 105 implemented by the generation server Serv g is now described in more detail with reference to FIG.
  • the server Serv g extracts from its memory:
  • the server Serv g For each of these information systems indicated as compatible with the application A2 and considered successively, the server Serv g , in a step 105_2, extracted from its memory (according to the stored data from the configuration file F1 and data extracted from the mandatory applications) the version of the security strain of the mandatory security application compatible with this information system.
  • This information system is referenced below as follows: operating system OS version X.
  • the server Serv g compares the security strain version of the application A2 and the security strain version of the mandatory security application compatible with this information system.
  • step 105_4 the application A2 in the version in question is not added to the section of the file F2 associated with the operating system OS version X (step 105_4) and the operating system indicated as next compatible (s) is then considered.
  • the application having a most recent version ie a higher version code
  • the server Serv g will be automatically selected by the server Serv g and added to the section in F2 associated with the operating system version X.
  • the server Serv g verifies in the list of dependencies stored in its memory and from the configuration file F1, if the application A2 is indicated as dependent on other applications.
  • step 105_7 the fields relating to the application A2 are filled in the section of the file F2 associated with the operating system OS version X: application identifier, version code, size, integrity word.
  • the identifiers of said other applications of which A2 depends are indicated in the field "list of dependencies" associated with the application A2 in the Sosx section of the file F2 associated with the system.
  • OS version X operation, and the other fields relating to the application A2 are indicated in the Sosx section of the file F2 are also filled.
  • step 105 is stopped in a step 105_8.
  • the deployment list F2 is transmitted by the generation server Serv g to the distribution server Serv d via the links 12 and the network R2 for provision to the terminals 10.
  • information defining the set T of the terminals 10 are also transmitted (to the server Serv d ) in correspondence with the list of Deployment F2.
  • the generation server Serv g provides the deployment list F2 for a given set T or for a single terminal 10.
  • the server Serv g provides the definition of the set T or sets to the distribution server Serv d . which results in the creation of folders (directories) for storing generic data to each set T and folders specific to each terminal 10.
  • the distribution server Serv d then stores this new deployment list F2 associated with the terminals 10, where appropriate with the information defining the set T of the terminals 10.
  • the generation server Serv g incorporated in the file F2 generated the applications of the software package defined by the administrator U and which fulfilled the following 2 criteria, according to which such an application must be:
  • the deployment list includes sub-lists respectively associated with each operating system managed by the system 100 according to the invention. Each sublist lists by package application identifiers selected for the operating system and associated data.
  • Each terminal 10 is adapted for, regularly (for example once a day), via the telecommunications links 1 1 and the network R 1, to authenticate, and to establish a communication with the distribution server Serv d so as to download a new F2 deployment list that would be available on the server and then carry out actions based on this new deployment list.
  • the terminal 10 via the telecommunications links 1 1 and the network R1, establishes a communication with the server Serv d and requires a connection to the distribution server Serv d .
  • secure mutual authentication for example cryptographic authentication.
  • the terminal 10 exchanges with the distribution server Serv d and determines, as a function of these exchanges, whether the deployment list F2 then made available on the server Serv d to the terminals 10 has already been downloaded by the terminal 10.
  • the deployment list F2 is downloaded by the terminal 10 from the distribution server Serv d (if necessary this download is authorized only after it has been, moreover, verified by the server Serv d that said terminal 10 is part of the set T terminals 10 corresponding to this deployment list F2).
  • the terminal 10 exploits the downloaded F2 deployment list. It implements in particular the following treatments: for each software application, hereinafter referred to as A 10 , installed on the terminal 10: if A 10 is not listed in the SOSX section of the deployment list F2 (X indicating the version and the type of the system; exploitation) which corresponds to the operating system X implemented by the terminal 10, then the terminal 10 uninstalls the software application A 10 ;
  • the terminal performs the actions i / to Ni /:
  • the terminal 10 determines whether the application A2 is already installed on the terminal 10.
  • the terminal compares the version of the application A2 installed and that indicated by the version code of A2 indicated in the section Sosx- Following this comparison: if these compared versions are identical, there is no action relating to A2 to be carried out by the terminal 10; and if these compared versions of A2 are different, the terminal 10 downloads from the server Serv of the version of A2 indicated by the version code of A2 indicated in the section Sosx and replaces the software application A2 installed by the downloaded one (via conventionally a software update procedure).
  • the terminal 10 downloads from the server Serv of the application A2 in the version indicated in the section Sosx, and it installs it while respecting the software dependencies of A2 indicated in the list of dependencies of the application A2 in the section Sosx: if the application A3 is identified in the list of dependencies of the application A2, the application A3 is downloaded and installed by the terminal 10 before A2.
  • the terminals 10 are adapted to periodically query the Serv D server for the existence of a new deployment file F2. In another embodiment, the terminals 10 are notified of the existence of a new deployment file F2 to download by a message, or such a new deployment file F2 is sent to them directly.
  • the deployment list (file F2) thus comprises for each type of operating system considered, in each version considered, a list of applications extracted from the set of applications E indicated by the administrator.
  • the list of applications determined for the first version of the operating system may differ from that determined for the second version of the operating system for the following reasons:
  • an application chosen by the administrator is not compatible with one of the two versions of the operating system
  • the deployment list (file F2) in the embodiment considered, does not include any command. It gives the list of applications defined by the administrator in the set of applications E.
  • the F2 deployment list has been constituted by the server Serv g consistently, ie the incompatible applications of the security strain of the mandatory security applications are not present.
  • the invention also makes it possible to increase the performances and to reduce the necessary processing resources.
  • the processes are indeed distributed between a central entity (above the generation server Serv g ) and the mobile terminals.
  • the server Serv g is in charge of the listing of applications, consistency checks and the production of the generated deployment list (in the case above, the file F2) while each terminal, from the common file F2, performs processing to deduce the actions necessary to achieve according to the state of the terminal.
  • the deployment list generated via the F2 file is unique (the server Serv g generates only one file F2 for a set of terminals and not one file per terminal).
  • the file F2 that a terminal exploits has not been established by the server according to the state of this particular terminal, in particular has been established independently of the applications and operating system specifically implemented on this particular terminal.
  • the embodiment described with reference to the figures above uses two servers Serv g and Serv d connected via a network R2. This is only one embodiment of the invention among others. In other embodiments, for example, only one server is used to perform the operations performed by these servers Serv g and Serv d .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Procédé de déploiement d'un ensemble d'application(s) logicielle(s) selon lequel : - réception par le serveur d'application(s) logicielles à déployer sur des terminaux; - détermination, en fonction des application(s) logicielles, d'une liste de déploiement en mettant en œuvre par le serveur les étapes suivantes : - pour chaque système d'exploitation, sélection des applications logicielles en fonction de critères relatifs à la compatibilité entre lesdites applications et ledit système d'exploitation; et détermination d'une sous-liste de déploiement associée audit système d'exploitation et comprenant les identifiants desdites applications sélectionnées; - insertion dans la liste de déploiement des sous-listes déterminées pour les systèmes d'applications; - mise à disposition des terminaux de ladite liste de déploiement.

Description

Procédé de déploiement d'un ensemble d'application(s) logicielle(s)
La présente invention concerne un procédé de déploiement d'un ensemble d'application(s) logicielle(s) logicielle(s) dans un réseau de télécommunication comprenant au moins un serveur des terminaux de télécommunication et des moyens de télécommunication entre ledit serveur et lesdits terminaux, et comportant les étapes suivantes mises en œuvre par le serveur :
- réception d'un ensemble d'application(s) logicielles à déployer sur les terminaux ;
- détermination, en fonction dudit ensemble d'application(s) logicielles, de données de déploiement destinées aux terminaux.
Les terminaux comprennent par exemple des équipements mobiles ou fixes, des téléphones intelligents, tablettes, ordinateurs portables ou fixes, équipements multimédias.
Le besoin de déploiement d'ensemble d'applications logicielles se pose notamment dans le cadre de la gestion de flottes de terminaux, par exemple des terminaux d'entreprise, dont on souhaite contrôler le contenu. Dans le cadre d'un tel contrôle, il existe des solutions de gestion de terminaux mobiles (en anglais « Mobile Device Management ») ou des solutions de sécurité permettant de protéger les données du terminal.
Des solutions actuelles de déploiement d'applications logicielles sont basées sur l'utilisation d'un système publique de déploiement d'application fourni généralement par l'éditeur du système d'exploitation du terminal, comme par exemple, le système « Google Play », selon laquelle chaque nouvelle application est installée par l'utilisateur du terminal, souvent l'administrateur de la flotte de terminaux. Les modifications de l'application sont publiées sur « Google Play ». « Google Play » informe ensuite les terminaux de la disponibilité de ces mises à jour.
D'autres solutions utilisent un système propriétaire de gestion du déploiement des applications sur les terminaux, généralement mis en œuvre sur le système d'information de l'entreprise utilisatrice de la solution ou encore chez l'éditeur de la solution de sécurité retenue pour la flotte des terminaux.
On connaît par exemple le document WO 201 1 162746 A1 relatif à un système de détermination de déploiement d'applications.
Ces solutions possèdent un certain nombre d'inconvénients.
Elles induisent des actions difficilement acceptables pour les administrateurs ou les utilisateurs des terminaux, par exemple : - posséder un compte Google pour télécharger les applications, ou imposer un passage par le service des systèmes d'information de l'entreprise ;
- demander à l'administrateur de gérer la compatibilité des applications aux versions de systèmes d'exploitation en utilisation : l'opérateur doit se charger de vérifier préalablement que les applications qu'il souhaite déployer sur les terminaux distants sont bien compatibles de ces derniers.
En outre, elles induisent une charge de travail importante sur l'entité centrale de gestion : cette dernière connaît la liste des applications et la version de système d'exploitation implémentés dans chaque terminal et, pour chacun de ces terminaux, elle procède à des calculs à partir de ces informations pour générer un ordre de déploiement dédié au terminal, indiquant les installations, suppressions et mises à jour d'applications que ce terminal doit réaliser pour être conforme à l'ensemble d'applications défini par l'administrateur. Le terminal applique ensuite l'ordre de déploiement qui lui est propre.
Par conséquent, plus le nombre de terminaux gérés est grand, et plus cette entité centrale a de traitements à effectuer pour gérer le déploiement d'applications sur la flotte concernée.
Des solutions reposent sur le principe où l'entité centrale envoie une notification aux terminaux pour leur signifier qu'un ordre de déploiement ou une mise à jour est disponible. Ce principe impose à l'entité centrale de connaître la disponibilité des terminaux afin de s'assurer que tous ont reçu la notification, entraînant ainsi une charge de travail supplémentaire pour cette entité.
Il existe donc un besoin de réduire les inconvénients des solutions de l'art antérieur.
A cet effet, suivant un premier aspect, l'invention propose un procédé de déploiement d'un ensemble d'application(s) logicielle(s) du type précité caractérisé en ce que lesdites données destinées aux terminaux comprennent une liste de déploiement déterminée par le serveur en mettant en œuvre les étapes suivantes :
- pour chaque système d'exploitation d'un groupe de systèmes d'exploitation mis en œuvre sur les terminaux, sélection d'applications logicielles parmi ledit ensemble d'application(s) logicielles à déployer en fonction de critères relatifs à la compatibilité entre lesdites applications et ledit système d'exploitation ; et détermination d'une sous-liste de déploiement associée audit système d'exploitation et comprenant les identifiants desdites applications sélectionnées ;
- insertion dans la liste de déploiement des sous-listes déterminées pour les systèmes d'applications du groupe ;
- mise à disposition des terminaux de ladite liste de déploiement. Un tel traitement automatisé permet ainsi de générer un seul fichier qui pourra être exploité par l'ensemble des terminaux. La charge de calcul au niveau du serveur est limitée.
Dans des modes de réalisation, le procédé de déploiement d'un ensemble d'application(s) logicielle(s) suivant l'invention comporte en outre une ou plusieurs des caractéristiques suivantes :
- pour chaque application sélectionnée dans une sous-liste associée à un système d'exploitation, le serveur détermine si l'installation ou la désinstallation de l'application est dépendante d'une application autre et selon lequel dans le cas positif, le serveur ajoute l'identifiant de ladite application autre dans ladite sous-liste associée au système d'exploitation, avec un indication de dépendance entre ladite application et ladite application autre ;
- la vérification desdits critères relatifs à la compatibilité entre une application donnée et un système d'exploitation comprend :
- l'extraction depuis l'application, de métadonnées indiquant le(s) système(s) d'exploitation compatible(s) de l'application ; et/ou
- la comparaison de système(s) d'exploitation compatible(s) de l'application avec une liste de systèmes d'exploitation gérés par le serveur ; et/ou
- l'extraction depuis l'application, de données indiquant la version de l'application ; et/ou
- les applications et les systèmes d'exploitation étant associés à des niveaux de sécurité respectifs : la comparaison entre le niveau de sécurité de l'application et le niveau de sécurité du système d'exploitation ;
chaque système d'exploitation étant associé à une application de sécurité obligatoire et les applications et les systèmes d'exploitation étant associés à des niveaux de sécurité respectifs : la détermination de l'application de sécurité obligatoire associée au système d'exploitation, et la comparaison entre les niveaux de sécurité de l'application donnée et de l'application de sécurité obligatoire déterminée.
Suivant un deuxième aspect, la présente invention propose un procédé de déploiement d'un ensemble d'application(s) logicielle(s) dans un réseau de télécommunication comprenant au moins comprenant au moins un serveur, des terminaux de télécommunication et des moyens de télécommunication entre ledit serveur et lesdits terminaux, ledit procédé comprenant les étapes selon lesquelles :
- un terminal obtient, depuis le serveur, via les moyens de télécommunication, une liste de déploiement listant des sous-listes indiquant des identifiants d'applications et associées chacune à un système respectif d'exploitation de terminal d'un ensemble de système(s) d'exploitation de terminaux;
- le terminal détermine les applications et le système d'exploitation alors installés sur le terminal, compare lesdites applications déterminées et la sous- liste associée audit système d'exploitation déterminé, et en fonction de cette comparaison :
- pour chacune des applications installées sur le terminal et dont l'identifiant ne figure pas dans ladite sous-liste, le terminal désinstalle ladite application ;
- pour chacun des identifiants d'applications figurant dans ladite sous-liste, le terminal effectue les étapes suivantes :
- le terminal détermine si ladite application est déjà installée sur le terminal ;
- si le terminal a déterminé que l'application n'est pas déjà installée sur le terminal, il télécharge depuis le serveur (Servd) ladite application et l'installe ;
- le procédé de déploiement comporte en outre les étapes du procédé de déploiement suivant le premier aspect de l'invention.
Dans des modes de réalisation, ce procédé de déploiement d'un ensemble d'application(s) logicielle(s) suivant l'invention comporte en outre une ou plusieurs des caractéristiques suivantes :
- la sous-liste associée à chaque système d'exploitation indique des identifiants d'applications associés chacun à un numéro de version d'application, et selon lequel les étapes suivantes sont mises en œuvre :
- si le terminal détermine que l'application est déjà installée sur le terminal, il compare le numéro de version de l'application installée à celui associé à l'identifiant de ladite application dans la sous-liste ;
- si ces numéros de version comparés diffère, le terminal 10 télécharge depuis le serveur la version de l'application indiquée par le numéro de version indiqué dans la sous-liste et installe l'application logicielle téléchargée ;
- dans une sous-liste, un identifiant d'une application est mis en correspondance d'un identifiant d'une autre application, indiquant que l'installation ou la désinstallation de ladite application est dépendante de ladite autre application et selon lequel le terminal installe, ou désinstalle, lesdites applications dans un ordre fonction de ladite indication.
Suivant un troisième aspect, la présente invention propose un programme d'ordinateur à installer dans un serveur destiné à être mis en œuvre dans un réseau de télécommunication comprenant en outre des terminaux de télécommunication et des moyens de télécommunication entre ledit serveur et lesdits terminaux, ledit programme comportant des instructions pour mettre en œuvre les étapes d'un procédé selon le premier aspect de l'invention lors d'une exécution du programme par des moyens de traitement du serveur.
Suivant un quatrième aspect, la présente invention propose un programme d'ordinateur à installer dans un terminal de télécommunication destiné à être mis en œuvre dans un réseau de télécommunication comprenant au moins un serveur, une pluralité de terminaux de télécommunication et des moyens de télécommunication entre ledit serveur et lesdits terminaux, ledit programme comportant des instructions pour mettre en œuvre les étapes d'un procédé selon le deuxième aspect de l'invention lors d'une exécution du programme par des moyens de traitement du terminal.
Suivant un cinquième aspect, la présente invention propose un serveur destiné à un réseau de télécommunication comprenant en outre des terminaux de télécommunication, ledit serveur comprenant des moyens de télécommunication entre ledit serveur et lesdits terminaux ;
ledit serveur étant adapté pour recevoir un ensemble d'application(s) logicielles à déployer sur les terminaux, pour déterminer, en fonction dudit ensemble d'application(s) logicielles reçus, des données de déploiement destinées aux terminaux;
ledit serveur étant caractérisé en ce qu'il est adapté pour, lors de la détermination des données de déploiement, sélectionner, pour chaque système d'exploitation d'un groupe de systèmes d'exploitation mis en œuvre sur les terminaux, des applications logicielles parmi ledit ensemble d'application(s) logicielles à déployer en fonction de critères relatifs à la compatibilité entre lesdites applications et ledit système d'exploitation ; et pour déterminer une sous-liste de déploiement associée audit système d'exploitation et comprenant les identifiants desdites applications sélectionnées ;
ledit serveur étant adapté pour insérer, dans une liste de déploiement, des sous-listes déterminées pour les systèmes d'applications du groupe et pour mettre à disposition des terminaux ladite liste de déploiement.
Suivant un sixième aspect, la présente invention propose un terminal de télécommunication destiné à un réseau de télécommunication comprenant au moins un serveur, des terminaux de télécommunication et des moyens de télécommunication entre ledit serveur et lesdits terminaux,
ledit terminal étant adapté pour obtenir, depuis le serveur, via les moyens de télécommunication, une liste de déploiement listant des sous-listes indiquant des identifiants d'applications et associées chacune à un système respectif d'exploitation de terminal d'un ensemble de système(s) d'exploitation de terminaux ;
ledit terminal étant adapté pour déterminer les applications et le système d'exploitation alors installés sur le terminal, comparer lesdites applications déterminées et la sous-liste associée audit système d'exploitation déterminé, et en fonction de cette comparaison :
- pour chacune des applications installées sur le terminal et dont l'identifiant ne figure pas dans ladite sous-liste, désinstaller ladite application ;
- pour chacun des identifiants d'applications figurant dans ladite sous-liste, effectuer les étapes suivantes :
- déterminer si ladite application est déjà installée sur le terminal ;
- si l'application est déterminée comme non déjà installée sur le terminal, télécharger depuis le serveur ladite application et l'installer.
Ces caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins annexés, sur lesquels :
- la figure 1 représente une vue d'un système de télécommunication dans un mode de réalisation de l'invention ;
- la figure 2 représente des étapes mises en œuvre dans un mode de réalisation de l'invention ;
- la figure 3 représente des étapes mises en œuvre dans un mode de réalisation de l'invention ;
- la figure 4 est une vue d'une partie d'un contenu d'un fichier de déploiement F2 dans un mode de réalisation de l'invention.
La figure 1 est une vue d'un système 100 mettant en œuvre un mode de réalisation de l'invention.
Le système de télécommunication 100 comporte une pluralité de terminaux utilisateurs 10. Ces terminaux 10 sont connectés par des liaisons de télécommunication 1 1 (filaires ou non) à un réseau de télécommunication R1 . Un serveur de distribution, Servd, est également connecté au réseau R1 par une liaison de télécommunication 1 1 .
Les terminaux 10 comportent par exemple des téléphones mobiles intelligents reliés au réseau R1 par des liaisons 1 1 sans fil. Des terminaux comportent par exemple des ordinateurs fixes ou portables etc.
Par ailleurs, le serveur de distribution, Servd, et un serveur de génération Servg, sont connectés par une liaison de télécommunication respective 12 à un réseau de télécommunication R2. Dans un mode de réalisation, le réseau R1 est un réseau public, par exemple le réseau Internet, et le réseau R2 est un réseau privé, par exemple un réseau d'entreprise.
Chaque terminal 10 comprend notamment une mémoire 1 1 et un microprocesseur 12. La mémoire 1 1 est notamment adaptée pour stocker un système d'exploitation et des applications logicielles, et pour les mettre en œuvre à l'aide du microprocesseur 12.
Dans le mode de réalisation ici considéré, le système 100 met en œuvre un environnement sécurisé, appelé souche de sécurité, mis en œuvre à l'aide d'applications logicielles de sécurité obligatoire.
Un terminal 10 dans lequel une application logicielle de sécurité obligatoire est installée, est adapté pour que toute application logicielle installée sur le terminal 10 et compatible de la souche de sécurité, soit sécurisée, par exemple de la manière suivante : les données générées par l'application logicielle et/ou échangées par l'application logicielle avec le réseau R1 sont chiffrées, l'application est protégée de toute intrusion frauduleuse au moyen d'un cloisonnement logiciel. Ce cloisonnement contrôle les entrées sorties de l'application sécurisée afin d'éviter qu'une application tierce non sécurisée ne puisse interagir de façon dangereuse avec l'application sécurisée. .
Des versions distinctes de la souche de sécurité existent dans le système 100.
La figure 2 représente des étapes mises en œuvre dans le système 100 dans un mode de réalisation de l'invention.
On notera que dans le mode de réalisation considéré, les étapes mises en œuvre par chaque terminal sont réalisées suite à l'exécution, sur le microprocesseur 12, d'instructions logicielles correspondantes qui étaient stockées dans la mémoire 1 1 .
De même, les étapes mises en œuvre par chaque serveur Servg, Servd sont réalisées suite à l'exécution, sur des moyens de calcul du serveur, d'instructions logicielles correspondantes stockées dans une mémoire du serveur.
Dans une première étape 101 de configuration, le serveur Serg importe un fichier de configuration F1 , par exemple protégé cryptographiquement en intégrité et authentifié. Ce fichier lui est par exemple fourni par l'éditeur de la solution et inséré par l'administrateur U du serveur Servg.
Dans le mode de réalisation considéré, ce fichier de configuration F1 indique :
- pour chaque version de souche de sécurité et de système d'exploitation gérée par le serveur de génération Servg, une liste des dépendances comprenant les identifiants des applications dont l'installation dans un terminal, ou la dés- installation, fait appel à d'autres applications ; dans la liste des dépendances, chaque identifiant d'application étant associé aux identifiants desdites autres applications ; - la liste des identifiants des applications de sécurité qui doivent impérativement être installés sur les terminaux sur lesquels des applications doivent être déployées, conformément à la souche de sécurité considérée dans le système 1 .
Ce fichier F1 est mémorisé dans la mémoire du serveur Servg.
Dans une étape 102, des instructions sont fournies au serveur Servg, par exemple par l'administrateur U requérant l'importation d'applications logicielles A, associées chacune à un identifiant d'application et à un numéro de version.
Lorsqu'il reçoit une instruction d'import d'une application A, le serveur Servg importe l'application logicielle A (par l'intermédiaire du réseau R2, d'autres réseaux ou supports), puis requiert son stockage dans le serveur de distribution Servd. Dans une étape 103, le serveur Servg analyse le contenu de cette application logicielle A et extrait des données de l'application, par exemple des métadonnées présentes dans son code source ou dans un fichier manifeste présent dans l'application indiquant :
- les systèmes d'exploitation (par exemple le(s) type(s) de système d'exploitation (par exemple Androïd, Windows, Linux etc.) et la ou les versions du système d'exploitation (par exemple V4.0, V3.2 etc.) dont l'application est compatible,
- la version de la souche de sécurité dont l'application est compatible.
Ces informations sont mémorisées dans la mémoire du serveur Servg, en correspondance avec l'identifiant de l'application A et de son numéro de version.
Dans une étape 104, l'administrateur U sélectionne certaines au moins des applications A importées (y compris une ou des applications de sécurité obligatoires ; cette sélection est éventuellement réalisée par défaut) et indique cette sélection au serveur Servg. Ces applications A sélectionnées définissent le pack logiciel que l'administrateur souhaite déployer sur un ensemble T de terminaux 10.
Dans une étape 105, le serveur Servg détermine alors le contenu d'une liste de déploiement correspondant au pack logiciel défini, en fonction des applications sélectionnées et des informations associées stockées dans sa mémoire, et en outre en fonction des informations de configuration du fichier F1 . Dans un mode de réalisation, le pack logiciel peut contenir plus d'applications que celles sélectionnées par l'administrateur U, car en fonction des informations contenues dans F1 , le serveur Servg peut être amené à ajouter des applications si celle-ci sont nécessaires au fonctionnement des applications sélectionnées.
Cette liste de déploiement comprend dans le mode de réalisation considéré, un fichier F2 représenté schématiquement en figure 4. En référence à la figure 4, la liste de déploiement F2 telle que déterminée par le serveur de génération Servg comprend des sections successives Sos, chaque section Sos étant associée à un système d'exploitation respectif. Ainsi une section Sosx est associée au système d'exploitation X. Dans l'exemple considéré, chaque système d'exploitation est caractérisé par le type de système d'exploitation (Windows, Linus, Androïd) et sa version.
Chaque section associée à un système d'exploitation Sos (par exemple la section Sosx) comporte une liste d'identifiants d'applications A2 éléments du pack logiciel défini ci- dessus et pour chacun de ces identifiants d'application, comporte en outre, associés audit identifiant d'application A2, un code version indiquant un numéro de version de l'application, la taille de l'application, un mot d'intégrité permettant au terminal d'effectuer un contrôle d'intégrité de l'application qu'il a téléchargée, et une liste des dépendances.
L'étape 105 mise en œuvre par le serveur de génération Servg est maintenant décrite plus en détail en référence à la figure 3.
Dans une étape 105_1 , pour chaque identifiant d'application A2 du pack logiciel considérée successivement, le serveur Servg extrait de sa mémoire :
les indications sur le ou les systèmes d'information compatible(s) avec l'application A2, et
- la version de souche de sécurité de l'application A2.
Pour chacun de ces systèmes d'information indiqué comme compatible(s) avec l'application A2 et considéré successivement, le serveur Servg, dans une étape 105_2, extrait de sa mémoire (en fonction des données mémorisées issues du fichier de configuration F1 et des données extraites des applications obligatoires) la version de la souche de sécurité de l'application de sécurité obligatoire compatible avec ce système d'information. Ce système d'information est référencé ci-dessous de la manière suivante : système d'exploitation OS version X.
Dans une étape 105_3, le serveur Servg compare la version de souche de sécurité de l'application A2 et la version de souche de sécurité de l'application de sécurité obligatoire compatible avec ce système d'information.
Si ces deux versions de souche de sécurité diffèrent, l'application A2 dans la version considérée n'est pas ajoutée à la section du fichier F2 associée au système d'exploitation OS version X (étape 105_4) et le système d'exploitation indiqué comme compatible(s) suivant est alors considéré.
On notera que dans un mode de réalisation de l'invention, si le système d'exploitation version X est compatible de plusieurs applications de sécurité avec des versions de souche de sécurité différentes, l'application ayant une version la plus récente (i.e. un code de version le plus élevé) sera automatiquement sélectionnée par le serveur Servg et ajoutée à la section dans F2 associée au système d'exploitation version X.
Si les deux versions de souche de sécurité sont égales, la mention de l'application A2 dans la version considérée va être ajoutée dans la section Sosx associée au système d'exploitation OS version X dans le fichier F2, mais auparavant, dans une étape 105_5, le serveur Servg vérifie dans la liste des dépendances mémorisée dans sa mémoire et issue du fichier de configuration F1 , si l'application A2 est indiquée comme dépendante d'autres applications.
S'il l'application A2 n'a pas de dépendance, dans une étape 105_7, les champs relatifs à l'application A2 sont renseignés dans la section du fichier F2 associée au système d'exploitation OS version X : identifiant d'application, code version, taille, mot d'intégrité.
Si l'application A2 est indiquée comme dépendante d'autres applications, les identifiants desdits autres applications dont A2 dépend sont renseignés dans le champ « liste des dépendances » associé à l'application A2 dans la section Sosx du fichier F2 associée au système d'exploitation OS version X , et les autres champs relatifs à l'application A2 (identifiant d'application, code version, taille, mot d'intégrité) sont renseignés dans la section Sosx du fichier F2 sont également renseignés.
Une fois que ces opérations ont été effectuées pour chaque application A2 du pack logiciel (et pour chaque système d'exploitation compatible avec l'application A2), l'étape 105 est stoppée dans une étape 105_8.
Dans une étape 106, la liste de déploiement F2 est transmise par le serveur de génération Servg au serveur de distribution Servd via les liaisons 12 et le réseau R2 pour mise à disposition aux terminaux 10.
Suivant les modes de réalisation, des informations définissant l'ensemble T des terminaux 10 (par exemple l'ensemble des terminaux d'une entreprise donnée) auxquels cette liste est destinée sont également transmises (au serveur Servd) en correspondance avec la liste de déploiement F2.Le serveur de génération Servg fournit la liste de déploiement F2 pour un ensemble T donné ou pour un seul terminal 10. Au préalable, le serveur Servg fournit la définition du ou des ensembles T au serveur de distribution Servd, ce qui se traduit par la création de dossiers (répertoires) de rangement des données génériques à chaque ensemble T et des dossiers spécifiques à chaque terminal 10.
Le serveur de distribution Servd stocke alors cette nouvelle liste de déploiement F2 associée aux terminaux 10, le cas échéant avec les informations définissant l'ensemble T des terminaux 10. Ainsi le serveur de génération Servg a incorporé dans le fichier F2 généré les applications du pack logiciel défini par l'administrateur U et qui répondaient aux 2 critères suivants, selon lequel une telle application doit être :
- compatible d'un système d'exploitation (version et type) avec lequel une application obligatoire est compatible ;
- et telle que la version de souche de sécurité de l'application est compatible de la version de souche de sécurité de l'application obligatoire.
La liste de déploiement comprend des sous-listes associées respectivement à chaque système d'exploitation géré par le système 100 selon l'invention. Chaque sous- liste liste par des identifiants d'applications du pack sélectionnées pour le système d'exploitation considéré et des données associées.
Chaque terminal 10 est adapté pour, régulièrement (par exemple une fois par jour), via les liaisons 1 1 de télécommunication et le réseau R1 , s'authentifier, et établir une communication avec le serveur de distribution Servd de manière à télécharger une nouvelle liste de déploiement F2 qui serait disponible sur le serveur et de mener ensuite des actions en fonction de cette nouvelle liste de déploiement.
Ces étapes sont détaillées ci-dessous pour un terminal 10 quelconque.
Dans une étape 107, le terminal 10, via les liaisons 1 1 de télécommunication et le réseau R1 , instaure une communication avec le serveur Servd et requiert une connexion au serveur de distribution Servd. via une authentification mutuelle sécurisée, par exemple une authentification cryptographique.
Puis une fois l'authentification réalisée, dans une étape 108, le terminal 10 échange avec le serveur de distribution Servd et détermine en fonction de ces échanges si la liste de déploiement F2 alors mise à disposition sur le serveur Servd à destination des terminaux 10 a déjà été téléchargée par le terminal 10.
Dans le cas positif, il est mis fin à la communication entre le terminal 10 et le serveur de distribution Servd.
Dans le cas négatif, dans une étape 109, la liste de déploiement F2 est téléchargée par le terminal 10 depuis le serveur de distribution Servd (le cas échéant ce téléchargement n'est autorisé qu'après qu'il ait été, en outre, vérifié par le serveur Servd que ledit terminal 10 fait bien partie de l'ensemble T des terminaux 10 correspondant à cette liste de déploiement F2).
Dans une étape 1 10, le terminal 10 exploite la liste de déploiement F2 téléchargée. Il met notamment en œuvre les traitements suivants : - pour chaque application logicielle, appelée ci-après A10, installée sur le terminal 10 : si A10 n'est pas listée dans la section Sosx de dans la liste de déploiement F2 (X indiquant la version et le type du système d'exploitation) qui correspond au système d'exploitation X mis en œuvre par le terminal 10, alors le terminal 10 désinstalle l'application logicielle A10 ;
- pour chaque application logicielle A2 listée dans la section Sosx, le terminal effectue les actions i/ à Ni/ :
i/ le terminal 10 détermine si l'application A2 est déjà installée sur le terminal 10.
ii/ si oui, le terminal compare la version de l'application A2 installée et celle indiquée par le code version de A2 indiquée dans la section Sosx- Suite à cette comparaison : si ces versions comparées sont identiques, il n'y a pas d'action relative à A2 à mener par le terminal 10 ; et si ces versions comparées de A2 sont différentes, le terminal 10 télécharge depuis le serveur Servd la version de A2 indiquée par le code version de A2 indiquée dans la section Sosx et remplace l'application logicielle A2 installée par celle téléchargée (via classiquement une procédure de mise à jour logicielle).
- Ni/ si le terminal 10 a déterminé que l'application A2 n'est pas déjà installée sur le terminal 10, il télécharge depuis le serveur Servd l'application A2 dans la version indiquée dans la section Sosx, et il l'installe tout en respectant les dépendances logicielles de A2 indiquées dans la liste des dépendances de l'application A2 dans la section Sosx : si l'application A3 est identifiée dans la liste des dépendances de l'application A2, l'application A3 est téléchargée et installée par le terminal 10 avant A2.
Dans le mode de réalisation considéré, les terminaux 10 sont adaptés pour interroger régulièrement le serveur de distribution Servd quant à l'existence d'un nouveau fichier de déploiement F2. Dans un autre mode de réalisation, les terminaux 10 sont notifiés de l'existence d'un nouveau fichier de déploiement F2 à télécharger par un message, ou encore un tel nouveau fichier de déploiement F2 leur est envoyé directement.
La liste de déploiement (fichier F2) comporte ainsi pour chaque type de système d'exploitation considéré, dans chaque version considérée, une liste d'applications extraite de l'ensemble E des applications indiquée par l'administrateur. Ainsi, pour deux versions de système d'exploitation considérées dans le fichier F2, la liste d'applications déterminée pour la première version du système d'exploitation peut différer de celle déterminée pour la seconde version du système d'exploitation pour les raisons suivantes :
- une application choisie par l'administrateur n'est pas compatible d'une des deux versions de système d'exploitation ;
- une application n'est pas compatible de la souche de sécurité correspondant à l'une des versions du système d'exploitation.
La liste de déploiement (fichier F2) dans le mode de réalisation considéré, ne comporte aucune commande. Elle donne la liste d'applications définies par l'administrateur dans l'ensemble d'applications E.
La liste de déploiement F2 a été constituée par le serveur Servg de façon cohérente, i.e. les applications incompatibles de la souche de sécurité des applications de sécurité obligatoires ne sont pas présentes.
Ainsi l'invention permet de simplifier un déploiement d'applications sur un parc de terminaux. Elle règle de façon systématique et automatique les problématiques techniques suivantes :
- compatibilité des applications aux systèmes d'exploitation des terminaux et aux versions de ces systèmes d'exploitation ;
- compatibilité et cohérence des applications vis à vis des souches de sécurité quelles utilisent ;
- prise en compte des dépendances entre applications.
L'invention permet en outre d'accroître les performances et de diminuer les ressources de traitement nécessaires.
Les traitements se trouvent en effet répartis entre une entité centrale (ci-dessus le serveur de génération Servg) et les terminaux mobiles. Le serveur Servg est en charge du listing des applications, des contrôles de cohérence et de la production de la liste de déploiement générée (dans le cas ci-dessus, le fichier F2) tandis que chaque terminal, à partir du fichier commun F2, effectue des traitements pour en déduire les actions nécessaires à réaliser en fonction de l'état du terminal.
La liste de déploiement générée via le fichier F2 est unique (le serveur Servg ne génère qu'un seul fichier F2 pour un ensemble de terminaux et non pas un fichier par terminal). Le fichier F2 qu'un terminal exploite n'a pas été établi par le serveur en fonction de l'état de ce terminal particulier, en particulier a été établi indépendamment des applications et système d'exploitation spécifiquement mis en œuvre sur ce terminal particulier.
Le mode de réalisation décrit en référence aux figures ci-dessus utilise deux serveurs Servg et Servd reliés via un réseau R2. Ceci n'est qu'un mode de réalisation de l'invention parmi d'autres. Dans d'autres modes de réalisation par exemple, un seul serveur est utilisé pour réaliser les opérations réalisées par ces serveurs Servg et Servd.
Dans le mode de réalisation décrit ci-dessus en référence aux figures, il a été considéré un déploiement prenant en compte des problématiques liées à un environnement sécurisé mis en œuvre dans le système. Bien sûr l'invention peut être utilisée en-dehors d'un tel environnement de sécurité.

Claims

REVENDICATIONS
1 . - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) dans un réseau de télécommunication comprenant au moins un serveur (Servg, Servd), des terminaux de télécommunication et des moyens de télécommunication entre ledit serveur et lesdits terminaux, comportant les étapes suivantes mises en œuvre par le serveur :
- réception d'un ensemble d'application(s) logicielles à déployer sur les terminaux ;
- détermination, en fonction dudit ensemble d'application(s) logicielles, de données de déploiement destinées aux terminaux;
ledit procédé étant caractérisé en ce que lesdites données destinées aux terminaux comprennent une liste de déploiement (F2) déterminée par le serveur en mettant en œuvre les étapes suivantes :
- pour chaque système d'exploitation d'un groupe de systèmes d'exploitation mis en œuvre sur les terminaux, sélection d'applications logicielles parmi ledit ensemble d'application(s) logicielles à déployer en fonction de critères relatifs à la compatibilité entre lesdites applications et ledit système d'exploitation ; et détermination d'une sous-liste de déploiement associée audit système d'exploitation et comprenant les identifiants desdites applications sélectionnées ;
- insertion dans la liste de déploiement (F2) des sous-listes déterminées pour les systèmes d'applications du groupe ;
- mise à disposition des terminaux de ladite liste de déploiement.
2. - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) selon la revendication 1 , selon lequel, pour chaque application sélectionnée dans une sous-liste associée à un système d'exploitation, le serveur détermine si l'installation ou la désinstallation de l'application est dépendante d'une application autre et selon lequel dans le cas positif, le serveur ajoute l'identifiant de ladite application autre dans ladite sous-liste associée au système d'exploitation, avec un indication de dépendance entre ladite application et ladite application autre.
3. - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) selon la revendication 1 ou 2, selon lequel la vérification desdits critères relatifs à la compatibilité entre une application donnée et un système d'exploitation comprend :
- l'extraction depuis l'application, de métadonnées indiquant le(s) système(s) d'exploitation compatible(s) de l'application ; et/ou - la comparaison de système(s) d'exploitation compatible(s) de l'application avec une liste de systèmes d'exploitation gérés par le serveur ; et/ou
- l'extraction depuis l'application, de données indiquant la version de l'application ; et/ou
- les applications et les systèmes d'exploitation étant associés à des niveaux de sécurité respectifs : la comparaison entre le niveau de sécurité de l'application et le niveau de sécurité du système d'exploitation ;
- chaque système d'exploitation étant associé à une application de sécurité obligatoire et les applications et les systèmes d'exploitation étant associés à des niveaux de sécurité respectifs : la détermination de l'application de sécurité obligatoire associée au système d'exploitation, et la comparaison entre les niveaux de sécurité de l'application donnée et de l'application de sécurité obligatoire déterminée.
4. - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) dans un réseau de télécommunication comprenant au moins un serveur (Servg, Servd), des terminaux de télécommunication (10) et des moyens de télécommunication entre ledit serveur et lesdits terminaux, comprenant les étapes selon lesquelles :
- un terminal obtient, depuis le serveur, via les moyens de télécommunication, une liste de déploiement (F2) listant des sous-listes indiquant des identifiants d'applications et associées chacune à un système respectif d'exploitation de terminal d'un ensemble de système(s) d'exploitation de terminaux;
- le terminal détermine les applications et le système d'exploitation installés sur le terminal, compare lesdites applications déterminées et la sous-liste associée audit système d'exploitation déterminé, et en fonction de cette comparaison :
- pour chacune des applications installées sur le terminal et dont l'identifiant ne figure pas dans ladite sous-liste, le terminal désinstalle ladite application ;
- pour chacun des identifiants d'applications figurant dans ladite sous-liste, le terminal effectue les étapes suivantes :
- le terminal détermine si ladite application est déjà installée sur le terminal ;
- si le terminal a déterminé que l'application n'est pas déjà installée sur le terminal, il télécharge depuis le serveur (Servd) ladite application et la l'installe.
5. - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) selon la revendication précédente, selon lequel la sous-liste associée à chaque système d'exploitation indique des identifiants d'applications associés chacun à un numéro de version d'application, et selon lequel les étapes suivantes sont mises en œuvre :
- si le terminal détermine que l'application est déjà installée sur le terminal, il compare le numéro de version de l'application installée à celui associé à l'identifiant de ladite application dans la sous-liste ;
- si ces numéros de version comparés diffèrent, le terminal 10 télécharge depuis le serveur (Servd) la version de l'application indiquée par le numéro de version indiqué dans la sous-liste et installe l'application logicielle téléchargée.
6. - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) selon l'une des revendications 4 à 5, selon lequel dans une sous-liste, un identifiant d'une application est mis en correspondance d'un identifiant d'une autre application, indiquant que l'installation ou la désinstallation de ladite application est dépendante de ladite autre application et selon lequel le terminal installe, ou désinstalle, lesdites applications dans un ordre fonction de ladite indication.
7. - Procédé de déploiement d'un ensemble d'application(s) logicielle(s) selon l'une des revendications 4 à 6 et en outre selon l'une des revendications 1 à 3.
8. - Programme d'ordinateur à installer dans un serveur (Servg, Servd) destiné à être mis en œuvre dans un réseau de télécommunication comprenant en outre des terminaux de télécommunication (10) et des moyens de télécommunication entre ledit serveur et lesdits terminaux, ledit programme comportant des instructions pour mettre en œuvre les étapes d'un procédé selon les revendications 1 à 3 lors d'une exécution du programme par des moyens de traitement du serveur.
9. - Programme d'ordinateur à installer dans un terminal de télécommunication (10) destiné à être mis en œuvre dans un réseau de télécommunication comprenant au moins un serveur, une pluralité de terminaux de télécommunication (10) et des moyens de télécommunication entre ledit serveur et lesdits terminaux, ledit programme comportant des instructions pour mettre en œuvre les étapes d'un procédé selon les revendications 4 à 6 lors d'une exécution du programme par des moyens de traitement du terminal
10. - Serveur (Servg, Servd) destiné à un réseau de télécommunication comprenant en outre des terminaux de télécommunication, ledit serveur comprenant des moyens de télécommunication entre ledit serveur et lesdits terminaux ; ledit serveur étant adapté pour recevoir un ensemble d'application(s) logicielles à déployer sur les terminaux, pour déterminer, en fonction dudit ensemble d'application(s) logicielles reçus, des données de déploiement destinées aux terminaux;
ledit serveur étant caractérisé en ce qu'il est adapté pour, lors de la détermination des données de déploiement, sélectionner, pour chaque système d'exploitation d'un groupe de systèmes d'exploitation mis en œuvre sur les terminaux, des applications logicielles parmi ledit ensemble d'application(s) logicielles à déployer en fonction de critères relatifs à la compatibilité entre lesdites applications et ledit système d'exploitation ; et pour déterminer une sous-liste de déploiement associée audit système d'exploitation et comprenant les identifiants desdites applications sélectionnées ;
ledit serveur étant adapté pour insérer, dans une liste de déploiement (F2), des sous- listes déterminées pour les systèmes d'applications du groupe et pour mettre à disposition des terminaux ladite liste de déploiement.
1 1 . - Serveur selon la revendication 10, adapté pour, pour chaque application sélectionnée dans une sous-liste associée à un système d'exploitation, déterminer si l'installation ou la désinstallation de l'application est dépendante d'une application autre et pour, dans le cas positif, ajouter l'identifiant de ladite application autre dans ladite sous-liste associée au système d'exploitation, avec un indication de dépendance entre ladite application et ladite application autre.
12. - Serveur selon la revendication 10 ou 1 1 , adapté pour, lors de la vérification desdits critères relatifs à la compatibilité entre une application donnée et un système d'exploitation,
extraire depuis l'application, des métadonnées indiquant le(s) système(s) d'exploitation compatible(s) de l'application ; et/ou
- comparer des système(s) d'exploitation compatible(s) de l'application avec une liste de systèmes d'exploitation gérés par le serveur ; et/ou
- extraire de l'application, des données indiquant la version de l'application ; et/ou
- les applications et les systèmes d'exploitation étant associés à des niveaux de sécurité respectifs : comparer le niveau de sécurité de l'application et le niveau de sécurité du système d'exploitation ;
- chaque système d'exploitation étant associé à une application de sécurité obligatoire et les applications et les systèmes d'exploitation étant associés à des niveaux de sécurité respectifs : déterminer l'application de sécurité obligatoire associée au système d'exploitation, et comparer les niveaux de sécurité de l'application donnée et de l'application de sécurité obligatoire déterminée.
13. - Terminal (10) de télécommunication destiné à un réseau de télécommunication comprenant au moins un serveur (Servg, Servd), des terminaux de télécommunication (10) et des moyens de télécommunication entre ledit serveur et lesdits terminaux,
ledit terminal étant adapté pour obtenir, depuis le serveur, via les moyens de télécommunication, une liste de déploiement (F2) listant des sous-listes indiquant des identifiants d'applications et associées chacune à un système respectif d'exploitation de terminal d'un ensemble de système(s) d'exploitation de terminaux ;
ledit terminal étant adapté pour déterminer les applications et le système d'exploitation installés sur le terminal, comparer lesdites applications déterminées et la sous-liste associée audit système d'exploitation déterminé, et en fonction de cette comparaison :
- pour chacune des applications installées sur le terminal et dont l'identifiant ne figure pas dans ladite sous-liste, désinstaller ladite application ;
- pour chacun des identifiants d'applications figurant dans ladite sous-liste, effectuer les étapes suivantes :
- déterminer si ladite application est déjà installée sur le terminal ;
- si l'application est déterminée comme non déjà installée sur le terminal, télécharger depuis le serveur (Servd) ladite application et l'installer.
14. - Terminal (10) de télécommunication selon la revendication 13, adapté pour, la sous- liste associée à chaque système d'exploitation indiquant des identifiants d'applications associés chacun à un numéro de version d'application, si le terminal a déterminé que l'application est déjà installée sur le terminal, comparer le numéro de version de l'application installée à celui associé à l'identifiant de ladite application dans la sous-liste ; et si ces numéros de version comparés diffère, télécharger depuis le serveur (Servd) la version de l'application indiquée par le numéro de version indiqué dans la sous-liste et installer l'application logicielle téléchargée.
15. - Terminal (10) de télécommunication selon l'une des revendications 13 à 14, dans lequel dans une sous-liste, un identifiant d'une application est mis en correspondance d'un identifiant d'une autre application, indiquant que l'installation ou la désinstallation de ladite application est dépendante de ladite autre application et le terminal est adapté pour installer, ou désinstaller, lesdites applications dans un ordre fonction de ladite indication.
EP15704785.3A 2014-02-17 2015-02-13 Procédé de déploiement d'un ensemble d'application(s) logicielle(s) Withdrawn EP3108361A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1400428A FR3017725A1 (fr) 2014-02-17 2014-02-17 Procede de deploiement d'un ensemble d'application (s) logicielle (s)
PCT/EP2015/053098 WO2015121418A2 (fr) 2014-02-17 2015-02-13 Procédé de déploiement d'un ensemble d'application(s) logicielle(s)

Publications (1)

Publication Number Publication Date
EP3108361A2 true EP3108361A2 (fr) 2016-12-28

Family

ID=51564677

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15704785.3A Withdrawn EP3108361A2 (fr) 2014-02-17 2015-02-13 Procédé de déploiement d'un ensemble d'application(s) logicielle(s)

Country Status (6)

Country Link
US (1) US20170068531A1 (fr)
EP (1) EP3108361A2 (fr)
KR (1) KR20160122254A (fr)
CN (1) CN106164861A (fr)
FR (1) FR3017725A1 (fr)
WO (1) WO2015121418A2 (fr)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846749B1 (en) * 2014-03-12 2020-11-24 Groupon, Inc. Method and system for offering promotion impressions using application programs
US10937062B1 (en) * 2014-03-12 2021-03-02 Groupon, Inc. Method and system for facilitating download of application programs on mobile computing device
US11010793B1 (en) * 2014-03-12 2021-05-18 Groupon, Inc. Method and system for determining user profile data for promotion and marketing service using mobile application program information
US10891651B1 (en) * 2014-03-12 2021-01-12 Groupon, Inc. Method and system for launching application programs using promotion impressions
US11042904B1 (en) * 2014-03-12 2021-06-22 Groupon, Inc. Method and system for detecting application programs on mobile computing device
FR3021147B1 (fr) * 2014-05-16 2017-12-22 Thales Sa Dispositif de controle des donnees portees par un equipement embarque, systeme de collecte de taxe et procede associes
WO2016102022A1 (fr) * 2014-12-23 2016-06-30 Fluidra, S.A. Mise à jour de paquets logiciels dans un appareil de commande d'installation d'eau
WO2017174132A1 (fr) 2016-04-06 2017-10-12 Fluidra, S.A. Mise en fonctionnement de dispositifs d'installation d'eau protéiformes
JP7010005B2 (ja) * 2018-01-11 2022-01-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN108376076A (zh) * 2018-05-28 2018-08-07 郑州云海信息技术有限公司 一种安装软件的方法和装置
CN109491673A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种自动验证软件部署完整性的方法和系统
US10871956B2 (en) * 2019-02-12 2020-12-22 Open Text Corporation Methods and systems for packaging and deployment of applications in a multitenant platform
CN112148351B (zh) * 2020-09-16 2024-05-28 杭州安恒信息技术股份有限公司 一种应用软件跨版本兼容的方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062765B1 (en) * 1999-05-25 2006-06-13 Realnetworks, Inc. System and method for updating information via a network
JP4168338B2 (ja) * 2003-09-18 2008-10-22 ブラザー工業株式会社 インストールプログラム、コンピュータ読取可能な記録媒体、及びインストール方法
EP1739552A1 (fr) * 2005-06-21 2007-01-03 Hewlett-Packard Development Company, L.P. Procédé et système d'informatique pour l'installation de logiciel
US20080040455A1 (en) * 2006-08-08 2008-02-14 Microsoft Corporation Model-based deployment and configuration of software in a distributed environment
US20110029881A1 (en) * 2010-10-11 2011-02-03 Nevolution Digital, Llc Devices and methods for providing software programs compatible with a computer system for download by a user
US8646100B2 (en) * 2011-06-03 2014-02-04 Apple Inc. Method for executing an application in a restricted operating environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2015121418A3 *

Also Published As

Publication number Publication date
WO2015121418A2 (fr) 2015-08-20
KR20160122254A (ko) 2016-10-21
US20170068531A1 (en) 2017-03-09
WO2015121418A3 (fr) 2015-11-19
CN106164861A (zh) 2016-11-23
FR3017725A1 (fr) 2015-08-21

Similar Documents

Publication Publication Date Title
WO2015121418A2 (fr) Procédé de déploiement d'un ensemble d'application(s) logicielle(s)
US9294550B2 (en) Efficient data transfer for cloud storage by centralized management of access tokens
EP3123387B1 (fr) Sécurisation du chargement de données dans une mémoire non-volatile d'un élément sécurisé
US9727352B2 (en) Utilizing history of changes associated with software packages to manage computing systems
CN104219198B (zh) 一种WebApp的防篡改方法
EP2696532A2 (fr) Procédé, serveur et système de démarrage d'application
US9158902B2 (en) Software modification for partial secure memory processing
CN104683409A (zh) 终端间应用共享的方法和终端
AU2008208768A2 (en) Method of loading software in mobile and desktop environments
US10587422B2 (en) Thresholds on scripts executable by unified extensible firmware interface systems
EP3313041B1 (fr) Procédé et dispositif de téléchargement d'application
CN110390184B (zh) 用于在云中执行应用的方法、装置和计算机程序产品
US20090300603A1 (en) Image install of a network appliance
FR2972821A1 (fr) Procede et dispositif d'installation/desinstallation de modules logiciels, avec resolution centralisee de contraintes, dans des equipements d'aeronef
FR3013541A1 (fr) Procede et dispositif pour la connexion a un service distant
CN113568643A (zh) 一种资源获取方法、装置、电子设备及计算机可读介质
WO2005008509A2 (fr) Procede de gestion des composants logiciels integres dans un systeme embarque
EP2737686B1 (fr) Procédé de gestion de l'accès à un ensemble de ressources délivrées par un dispositif électronique
WO2015092307A1 (fr) Procédé de test et de mise à jour du système d'un terminal par un module d'identité de souscripteur et dispositifs associés
WO2015150689A1 (fr) Procede de configuration securisee d'une application dans un terminal utilisateur
FR3036819A1 (fr) Procede de mise a jour d'une application embarquee dans un equipement electronique
CN104484198A (zh) 一种安装应用程序的方法和装置
WO2014064096A1 (fr) Procédé de téléchargement d'au moins un composant logiciel dans un appareil informatique, produit programme d'ordinateur, appareil informatique et système informatique associés
US11119750B2 (en) Decentralized offline program updating
EP3179400B1 (fr) Procédé de chargement d'une ressource informatique au sein d'un dispositif électronique, module électronique et programme d'ordinateur correspondant

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20160817

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20210901