FR3028971A1 - METHOD AND SYSTEM FOR UPDATING AN APPLICATION - Google Patents

METHOD AND SYSTEM FOR UPDATING AN APPLICATION Download PDF

Info

Publication number
FR3028971A1
FR3028971A1 FR1461477A FR1461477A FR3028971A1 FR 3028971 A1 FR3028971 A1 FR 3028971A1 FR 1461477 A FR1461477 A FR 1461477A FR 1461477 A FR1461477 A FR 1461477A FR 3028971 A1 FR3028971 A1 FR 3028971A1
Authority
FR
France
Prior art keywords
characterization
upgrade
deployment
computer program
feasibility
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
FR1461477A
Other languages
French (fr)
Other versions
FR3028971B1 (en
Inventor
Stanislav Malyshev
Zac Sprackett
Jelle Vink
Paul Huang
Artem Vysotsky
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.)
Sugarcrm Inc
Original Assignee
Sugarcrm Inc
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 Sugarcrm Inc filed Critical Sugarcrm Inc
Priority to FR1461477A priority Critical patent/FR3028971B1/en
Publication of FR3028971A1 publication Critical patent/FR3028971A1/en
Application granted granted Critical
Publication of FR3028971B1 publication Critical patent/FR3028971B1/en
Expired - Fee Related 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/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Des modes de réalisation de l'invention concernent un procédé, un système et un produit de programme informatique pour la faisabilité et la création de rapport de mise à niveau. Dans un mode de réalisation de l'invention, un procédé de faisabilité et de création de rapport de mise à niveau d'application inclut la génération en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée d'un programme informatique désigné pour recevoir une mise à niveau. Le procédé inclut également la comparaison de la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau. Le procédé inclut encore l'identification d'une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée. Enfin, le procédé inclut l'affichage d'un rapport sur un afficheur du système informatique incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues.Embodiments of the invention provide a method, a system and a computer program product for the feasibility and creation of upgrade report. In one embodiment of the invention, an application upgrade report feasibility and creation method includes generating in memory of a computer system a deployment characterization of a custom instance of a computer program designated to receive an upgrade. The method also includes comparing the deployment characterization with a selection of known deployment characterizations of different custom instances of the computer program, each of the characterizations having an association with an upgrade feasibility predictor for the upgrade. The method further includes identifying a concordant characterization among the known characterizations for the generated deployment characterization. Finally, the method includes displaying a report on a computer system display including an upgrade feasibility predictor corresponding to the matching characterization among the known characterizations.

Description

CONTEXTE DE L'INVENTION Domaine de l'invention La présente invention concerne des mises à jour de logiciels et plus particulièrement s la mise à jour d'instances personnalisées d'un programme informatique. Description de l'art connexe Le cycle de vie d'un logiciel débute par la mise au point d'un programme informatique et le test ainsi que le déploiement ultérieur du programme informatique à un ou plusieurs 0 utilisateurs finaux. Une fois celui-ci déployé, le cycle de vie se poursuit avec la réalisation de mises à jour (ou mise à niveau) et d'améliorations périodiques, et la réparation de défauts découverts dans le programme informatique. Pour des programmes informatiques individuels à forme fixe au moment du déploiement et installés dans un type de plateforme uniforme, l'application de mises à niveau et d'améliorations à l'application déployée peut être 15 aussi simple que la fourniture de copies d'un seul fichier ou d'un ensemble de fichiers à différents utilisateurs finaux pour l'installation à la place d'un fichier ou d'un ensemble de fichiers existants, ou en variante, pour corriger un fichier ou un ensemble de fichiers existant. La facilité d'application de mises à niveau et d'améliorations varie cependant compte tenu du potentiel de différents types de plateformes accueillant le programme informatique déployé. 20 A cet égard, avec l'avènement de différentes plateformes informatiques incluant celles accueillant un système d'exploitation de type Windows (TM), un système d'exploitation de type Mac (TM) OS ou un système d'exploitation de type Linux, les fichiers ou l'ensemble de fichiers pour une application déployée diffèrent. Par conséquent, en condition préalable à la réalisation d'une mise à niveau d'un déploiement spécifique à la plateforme d'un 25 programme informatique, tout d'abord la plateforme spécifique doit être identifiée de sorte que l'ensemble de fichiers correct puisse être fourni sous forme de mise à niveau à un déploiement existant sur la plateforme spécifique. Néanmoins, le processus de réalisation d'une mise à niveau peut encore se compliquer davantage compte tenu des différents types de composantes informatiques d'accueil dont dépend l'application déployée, tels que 30 différents systèmes de gestion de base de données, serveurs Web et similaires. Comme c'est le cas pour des plateformes différentes d'exploitation d'accueil, cependant, la fourniture du fichier ou de l'ensemble de fichiers correct pour mettre à niveau une application déployée peut simplement nécessiter une détermination du type de plateforme spécifique et l'identité des types de composantes spécifiques dont dépend l'application déployée. 3028971 2 Le processus de réalisation d'une mise à niveau sur un programme informatique peut néanmoins devenir plus complexe de plusieurs ordres de grandeur lorsque l'on considère la possibilité que l'utilisateur final puisse avoir réalisé des modifications personnalisées sur le code de programme sous-jacent du programme informatique déployé. Dans une ère d'informatique libre, c'est devenu monnaie courante. En tant que tel, la mise à niveau sans discernement d'un déploiement personnalisé d'un programme informatique peut bien souvent « mettre fin » au déploiement, ce qui se traduit par une reprise coûteuse de la mise à niveau. Bien entendu, un test avancé d'une mise à niveau sur toute une sélection de déploiements personnalisés peut aider à diminuer la probabilité d'un échec de mise à io niveau, tout comme une documentation solide décrivant l'impact potentiel de l'application de la mise à niveau. Pourtant, même compte tenu de la prudence et de la vigilance, le processus de mise à niveau d'un déploiement personnalisé d'un programme informatique présente beaucoup de risque. 15 BREF RESUME DE L'INVENTION Des modes de réalisation de la présente invention abordent des insuffisances de la technique par rapport à la mise à niveau d'un programme informatique et proposent un procédé, un système et un produit de programme informatique nouveaux et non évidents pour la faisabilité et la création de rapport de mise à niveau. Dans un mode de réalisation de 20 l'invention, un procédé de détermination de faisabilité d'une mise à niveau d'un programme informatique et de création d'un rapport de mise à niveau inclut la génération en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée du programme informatique destiné à être mis à niveau. Le procédé inclut également la comparaison de la caractérisation de déploiement avec une sélection de 25 caractérisations de déploiement connues de différentes instances personnalisées du programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau. Le procédé comprend encore en outre l'identification d'une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée. Enfin, le procédé inclut l'affichage 30 d'un rapport sur un afficheur du système informatique incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. A cet égard, le prédicteur de faisabilité de mise à niveau peut inclure un indicateur tel que « recommandé », « non recommandé », ou « recommandé avec prudence ». Dans un aspect du mode de réalisation, la caractérisation de déploiement inclut un 35 inventaire de composantes incluses comme faisant partie de l'instance personnalisée du 3028971 3 programme informatique. Dans un autre aspect du mode de réalisation, la caractérisation de déploiement inclut un inventaire de composantes dont dépend l'instance du programme informatique. Dans encore un autre aspect du mode de réalisation, la caractérisation de déploiement inclut un inventaire des composantes qui ont été modifiées à partir d'un format s par défaut des composantes. Enfin, dans encore un autre aspect du mode de réalisation, une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport. Dans un autre mode de réalisation de l'invention, un système de traitement de io données de déploiement d'application est configuré pour la faisabilité et la création de rapport de mise à niveau d'application. Le système inclut un système informatique hôte qui inclut au moins un ordinateur avec une mémoire et au moins un processeur. Le système inclut également un magasin de données couplé au système informatique hôte et une instance personnalisée d'un programme informatique incluant une ou plusieurs composantes 15 stockées dans le magasin de données. Enfin, le système inclut un module de faisabilité de mise à niveau s'exécutant dans la mémoire du système informatique hôte. Le module inclut un code de programme activé lors d'une exécution par le au moins un processeur pour générer dans la mémoire une caractérisation de déploiement de l'instance personnalisée du programme informatique désigné pour recevoir une mise à 20 niveau, pour comparer la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique stocké dans le magasin de données, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau, pour identifier une caractérisation concordante parmi les caractérisations connues 25 pour la caractérisation de déploiement générée et, pour afficher un rapport sur un afficheur du système informatique hôte incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. Des aspects supplémentaires de l'invention seront présentés en partie dans la description qui suit, et ressortiront en partie clairement de la description, ou peuvent être 30 appris par la pratique de l'invention. Les aspects de l'invention seront réalisés et obtenus au moyen des éléments et combinaisons indiqués en particulier dans les revendications annexées. Il convient de comprendre qu'à la fois la description générale qui précède et la description détaillée qui suit ne sont données qu'à titre d'exemple et d'explication et ne limitent pas l'invention, telle que revendiquée. 35 3028971 BREVE DESCRIPTION DES DIFFERENTES VUES DES DESSINS Les dessins joints, qui sont incorporés et constituent une partie de ce mémoire, illustrent des modes de réalisation de l'invention et conjointement avec la description, servent à expliquer les principes de l'invention. Les modes de réalisation illustrés ici sont actuellement préférés, étant bien entendu cependant que l'invention n'est pas limitée aux agencements et instrumentalités précis représentés, dans lesquels : la figure 1 est une illustration en images d'un processus de faisabilité et de création de rapport de mise à niveau d'application ; la figure 2 est une illustration schématique d'un système de traitement de données de déploiement d'application configuré pour la faisabilité et la création de rapport de mise à niveau d'application ; et la figure 3 est un organigramme illustrant un processus de faisabilité et de création de rapport de mise à niveau d'application.BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to software updates and more particularly to the updating of custom instances of a computer program. Description of the Related Art The life cycle of software begins with the development of a computer program and the testing and subsequent deployment of the computer program to one or more end users. Once deployed, the lifecycle continues with updates (or upgrades) and periodic enhancements, and repair of defects discovered in the computer program. For fixed-form individual computer programs at deployment time and installed in a uniform platform type, applying upgrades and enhancements to the deployed application can be as simple as providing copies of a single file or set of files to different end users for installation instead of an existing file or set of files, or alternatively, to fix an existing file or set of files. The ease of applying upgrades and enhancements, however, varies with the potential of different types of platforms hosting the deployed computer program. In this respect, with the advent of various computer platforms including those hosting a Windows (TM) type operating system, a Mac (TM) OS operating system or a Linux type operating system, the files or set of files for a deployed application differ. Therefore, as a prerequisite for performing an upgrade of a platform-specific deployment of a computer program, first of all the specific platform must be identified so that the correct set of files can be be provided as an upgrade to an existing deployment on the specific platform. Nevertheless, the process of performing an upgrade may be further complicated by the different types of home computer components upon which the deployed application depends, such as different database management systems, web servers, and Similar. As is the case for different host operating platforms, however, providing the correct file or set of files to upgrade a deployed application may simply require a determination of the specific type of platform and the the identity of the specific types of components on which the deployed application depends. 3028971 2 The process of performing an upgrade to a computer program may nevertheless become more complex by several orders of magnitude when considering the possibility that the end user may have made custom changes to the program code under -jacent computer program deployed. In an era of free computing, it has become commonplace. As such, indiscriminately upgrading a custom deployment of an IT program can often "end" deployment, resulting in costly upgrade recovery. Of course, an advanced upgrade test on a variety of custom deployments may help to reduce the likelihood of an upgrade failure, as well as solid documentation describing the potential impact of the application of the upgrade. the upgrade. Yet, even with caution and vigilance, the process of upgrading a custom deployment of a computer program is very risky. BRIEF SUMMARY OF THE INVENTION Embodiments of the present invention address shortcomings in the art of computer program upgrading and provide a new and unobvious method, system, and computer program product. for feasibility and creation of upgrade report. In one embodiment of the invention, a method for determining the feasibility of upgrading a computer program and creating an upgrade report includes generating in memory a computer system of the present invention. a deployment characterization of a custom instance of the computer program to be upgraded. The method also includes comparing the deployment characterization with a selection of known deployment characterizations of different custom instances of the computer program, each of the characterizations having an association with a upgrade feasibility predictor for the upgrade. The method further further comprises identifying a concordant characterization among the known characterizations for the generated deployment characterization. Finally, the method includes displaying a report on a computer system display including an upgrade feasibility predictor corresponding to the matching characterization among the known characterizations. In this regard, the predictor of upgrade feasibility may include an indicator such as "recommended", "not recommended", or "recommended with caution". In one aspect of the embodiment, the deployment characterization includes an inventory of included components as part of the custom instance of the computer program. In another aspect of the embodiment, the deployment characterization includes an inventory of components upon which the computer program instance depends. In yet another aspect of the embodiment, the deployment characterization includes an inventory of components that have been modified from a default component s format. Finally, in yet another aspect of the embodiment, a hyperlinked reference to participatory production documentation regarding particular upgrade issues for deployment characterization occurring during an upgrade attempt is included in the report. In another embodiment of the invention, an application deployment data processing system is configured for feasibility and creation of application upgrade report. The system includes a host computer system that includes at least one computer with a memory and at least one processor. The system also includes a data store coupled to the host computer system and a custom instance of a computer program including one or more components stored in the data store. Finally, the system includes an upgrade feasibility module running in the memory of the host computer system. The module includes program code enabled upon execution by the at least one processor to generate in the memory a deployment characterization of the custom instance of the computer program designated to receive an upgrade, to compare the characterization of the program. deploying with a selection of known deployment characterizations of different custom instances of the computer program stored in the datastore, each of the characterizations having an association with an upgrade feasibility predictor for the upgrade, to identify a concordant characterization among the characterizations known for the generated deployment characterization and, to display a report on a host computer system display including an upgrade feasibility predictor corresponding to the matching characterization among the known characterizations. Additional aspects of the invention will be set forth in part in the description which follows, and will become apparent in part from the description, or may be learned by the practice of the invention. Aspects of the invention will be realized and obtained by means of the elements and combinations indicated in particular in the appended claims. It should be understood that both the foregoing general description and the following detailed description are given only by way of example and explanation and do not limit the invention as claimed. BRIEF DESCRIPTION OF THE DIFFERENT VIEWS OF THE DRAWINGS The accompanying drawings, which are incorporated and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. The embodiments illustrated herein are currently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, in which: FIG. 1 is an illustration in pictures of a process of feasibility and creation application upgrade report; Figure 2 is a schematic illustration of an application deployment data processing system configured for feasibility and application upgrade report creation; and Figure 3 is a flowchart illustrating a process of feasibility and application upgrade report creation.

DESCRIPTION DETAILLE DE L'INVENTION Des modes de réalisation de l'invention concernent la détermination de la faisabilité d'une mise à niveau d'un programme informatique et la création d'un rapport de mise à niveau. Conformément à un mode de réalisation de l'invention, une instance personnalisée d'un programme informatique peut être analysée pour produire une caractérisation de déploiement. L'analyse peut inclure un inventaire de composantes incluses comme faisant partie de l'instance personnalisée du programme informatique, un inventaire de composantes dont dépend l'instance du programme informatique, et un inventaire des composantes qui ont été modifiées à partir d'un format par défaut des composantes. Par la suite, la caractérisation de déploiement peut être comparée à des caractérisations connues, chaque caractérisation connue étant associée à un prédicteur de faisabilité de mise à niveau pour une mise à niveau à appliquer au programme informatique, comme recommandé, non recommandé ou recommandé avec prudence. Enfin, un rapport peut être généré indiquant le prédicteur de faisabilité de mise à niveau pour la mise à niveau. Facultativement, une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau peut être affichée dans le rapport. En illustration supplémentaire, la figure 1 représente en images un processus de détermination de la faisabilité et de création de rapport de mise à niveau d'un programme informatique. Comme le montre la figure 1, un utilisateur final 110 peut orienter la logique de faisabilité de mise à niveau 170 pour évaluer la faisabilité de mise à niveau d'une instance 3028971 5 d'application personnalisée 120 qui inclut une ou plusieurs composantes 130A, par exemple des composantes logiques compartimentalisées séparées, des fichiers objets, des fichiers de code source, ou des fichiers ressources, pour ne citer que quelques exemples. La logique de faisabilité de mise à niveau 170 peut générer une caractérisation de déploiement 140 s d'après l'un quelconque parmi un inventaire des composantes 130A, un inventaire des composantes 130A qui diffèrent d'un format par défaut des composantes 130A (par exemple toutes composantes personnalisées parmi les composantes 130A), ou toutes composantes 130B dont dépend l'instance d'application personnalisée 120, comme un système de gestion de base de données, un serveur Web ou un serveur d'application Io particulier, pour ne citer que trois exemples. La logique de faisabilité de mise à niveau 170 ci-après peut comparer la caractérisation générée 140 à des caractérisations connues 150 préstockées, chacune avec un prédicteur correspondant de la probabilité de succès de la mise à niveau d'une instance d'application démontrant une caractérisation générée similaire ou identique. Une fois que la 15 logique de faisabilité de mise à niveau 170 a identifié une ou plusieurs des caractérisations connues 150 comme concordant avec la caractérisation générée 140, la logique de faisabilité de mise à niveau 170 peut récupérer chaque prédicteur associé à une caractérisation identifiée parmi les caractérisations 150. La logique de faisabilité de mise à niveau 170 peut à son tour incorporer chaque prédicteur récupéré 160 dans un rapport de 20 faisabilité de réalisation de la mise à niveau et le rapport peut être affiché à l'utilisateur final 110. Le processus décrit en rapport avec la figure 1 peut être implémenté dans un système de traitement de données de déploiement d'application. En illustration supplémentaire, la figure 2 représente de façon schématique un système de traitement de 25 données de déploiement d'application configuré pour la faisabilité et la création de rapport de mise à niveau d'application. Le système peut inclure un système informatique hôte 210 qui peut inclure un ou plusieurs dispositifs informatiques, chacun avec une mémoire et au moins un processeur. Le système informatique hôte 210 peut inclure un magasin de données 220 de différentes composantes 230 formant une instance personnalisée d'une application 30 déployée dans le système informatique hôte 210. Le système informatique hôte 210 peut en outre être couplé en communication à un utilisateur final 240 sur un réseau de communications par ordinateur à partir duquel le système informatique hôte 210 peut recevoir une directive pour créer un rapport sur la faisabilité de mise à niveau d'une forme personnalisée d'une instance d'application.DETAILED DESCRIPTION OF THE INVENTION Embodiments of the invention relate to determining the feasibility of upgrading a computer program and creating an upgrade report. According to one embodiment of the invention, a custom instance of a computer program may be analyzed to produce a deployment characterization. The analysis may include an inventory of components included as part of the custom instance of the computer program, an inventory of components on which the computer program instance depends, and an inventory of components that have been modified from a format default components. Subsequently, the deployment characterization can be compared to known characterizations, with each known characterization associated with an upgrade feasibility predictor for an upgrade to be applied to the computer program, as recommended, not recommended, or cautiously recommended. . Finally, a report can be generated indicating the upgrade feasibility predictor for the upgrade. Optionally, a hyperlinked reference to participatory production documentation regarding specific upgrade issues for deployment characterization occurring during an upgrade attempt may be displayed in the report. As an additional illustration, FIG. 1 shows in images a process for determining the feasibility and creating an upgrade report of a computer program. As shown in FIG. 1, an end user 110 can guide the upgrade feasibility logic 170 to assess the feasibility of upgrading a custom application instance 120 that includes one or more components 130A, for example. for example, separate compartmentalized logical components, object files, source code files, or resource files, to name just a few examples. The upgrade feasibility logic 170 may generate a deployment characterization 140 s from any of a component inventory 130A, an inventory of the components 130A that differ from a default format of the 130A components (e.g. any custom components among the components 130A), or any 130B components on which the custom application instance 120 depends, such as a database management system, a web server or a particular application server, to name only three examples. The upgrade feasibility logic 170 below can compare the generated characterization 140 to pre-stored known characterizations 150, each with a corresponding predictor of the success probability of upgrading an application instance demonstrating a characterization. generated similar or identical. Once the upgrade feasibility logic 170 has identified one or more of the known characterizations 150 as concordant with the generated characterization 140, the upgrade feasibility logic 170 can retrieve each predictor associated with an identified characterization among the Characterizations 150. The upgrade feasibility logic 170 may in turn incorporate each retrieved predictor 160 into a feasibility report of performing the upgrade and the report may be displayed to the end user 110. The process described in connection with Figure 1 may be implemented in an application deployment data processing system. In further illustration, Figure 2 schematically shows an application deployment data processing system configured for feasibility and application upgrade report creation. The system may include a host computer system 210 that may include one or more computing devices, each with a memory and at least one processor. The host computer system 210 may include a data store 220 of different components 230 forming a custom instance of an application 30 deployed in the host computer system 210. The host computer system 210 may further be communicatively coupled to an end user 240. on a computer communications network from which the host computer system 210 may receive a directive to report on the feasibility of upgrading a custom form of an application instance.

3028971 Le système informatique hôte 210 peut également inclure un tableau de caractérisation 280 qui inclut différentes caractérisations connues de formes personnalisées respectivement différentes de l'instance de l'application. Chaque caractérisation connue différente peut également inclure un prédicteur de faisabilité de mise à niveau, par exemple 5 « recommandé », « non recommandé », ou « recommandé avec prudence ». Chaque prédicteur peut être attribué statiquement par un administrateur, ou le prédicteur peut être attribué dynamiquement d'après des données fournies suite à la tentative de mise à niveau d'une forme personnalisée de l'instance d'application. Dans le dernier cas, après chaque tentative de mise à niveau d'une instance personnalisée de l'application ayant une io caractérisation générée particulière, une entrée dans le tableau de caractérisation 280 peut être mise à jour pour indiquer le résultat de la tentative de mise à niveau. Dans la mesure où la caractérisation générée n'existe pas dans le tableau de caractérisation 280, une nouvelle entrée peut être créée dans le tableau de caractérisation 280 avec un prédicteur correspondant au résultat de la tentative de mise à niveau. '5 Il est à noter qu'un module de faisabilité de mise à niveau 300 peut être inclus et peut s'exécuter dans la mémoire du système informatique hôte 210. L'homme du métier reconnaîtra que le dispositif informatique physique du système informatique hôte 210 sur lequel s'exécute l'instance personnalisée de l'application peut différer du dispositif informatique physique du système informatique hôte 210 dans lequel s'exécute le module de 20 faisabilité de mise à niveau 300 et dans lequel le tableau de caractérisation 280 est stocké. Le module de faisabilité de mise à niveau 300 inclut un code de programme qui, lorsqu'il est exécuté dans la mémoire du système informatique hôte 210, est activé pour répondre à la directive de l'utilisateur final 240 de générer une caractérisation de déploiement pour les composantes 230 de l'instance personnalisée de l'application. Le code de programme du 25 module de faisabilité de mise à niveau 300 est également activé pour comparer la caractérisation générée aux caractérisations connues du tableau de caractérisation 280. Par la suite, le code de programme du module de faisabilité de mise à niveau 300 est activé pour générer un rapport 260 avec un ou plusieurs prédicteurs associés à des caractérisations connues concordantes correspondantes.The host computer system 210 may also include a characterization table 280 that includes different known characterizations of custom shapes respectively different from the instance of the application. Each different known characterization may also include a predictor of upgrade feasibility, for example "recommended", "not recommended", or "recommended with caution". Each predictor can be statically assigned by an administrator, or the predictor can be dynamically assigned based on data provided following the attempt to upgrade a custom form of the application instance. In the latter case, after each attempt to upgrade a custom instance of the application having a particular generated characterization, an entry in the characterization table 280 may be updated to indicate the result of the attempt to set. at the level. Since the generated characterization does not exist in the characterization table 280, a new entry may be created in the characterization table 280 with a predictor corresponding to the result of the upgrade attempt. It should be noted that an upgrade feasibility module 300 may be included and may execute in the memory of the host computer system 210. Those skilled in the art will recognize that the physical computing device of the host computer system 210 wherein the custom instance of the application executes may differ from the physical computing device of the host computer system 210 in which the upgrade feasibility module 300 executes and in which the characterization table 280 is stored. The upgrade feasibility module 300 includes program code which, when executed in the memory of the host computer system 210, is enabled to respond to the end user directive 240 to generate a deployment characterization for the components 230 of the custom instance of the application. The program code of the upgrade feasibility module 300 is also enabled to compare the generated characterization with the known characterizations of the characterization table 280. Subsequently, the program code of the upgrade feasibility module 300 is activated. to generate a report 260 with one or more predictors associated with corresponding matching known characterizations.

30 Il convient de noter que, en option, un ou plusieurs documents de production participative 270 peuvent être localisés sur un réseau de communications par ordinateur 250 qui concernent les caractérisations connues concordantes correspondantes. Les documents 270 peuvent inclure par exemple, des rapports d'utilisateurs finaux sur les succès et échecs de mise à niveau d'une instance de, l'application ayant une caractéristique 35 concordante, des pièges, des conseils, des recommandations et similaires. Par la suite, un 3028971 7 ou plusieurs hyperliens aux documents localisés 270 peuvent être insérés dans le rapport 260 qui, à son tour, peut être renvoyé à l'utilisateur final 240 sur le réseau de communications par ordinateur 250. En illustration encore supplémentaire du fonctionnement du module de faisabilité de 5 mise à niveau, la figure 3 est un organigramme illustrant un processus de faisabilité et de création de rapport de mise à niveau d'application. En commençant à la case 305, une instance personnalisée cible d'une application peut être choisie pour une mise à niveau. Ensuite, à la case 310, un inventaire des composantes respectives formant l'instance personnalisée de l'application peut être récupéré. De même, à la case 315, un inventaire de Io composantes dont dépend l'instance personnalisée de l'application peut être récupéré. Par la suite, à la case 320, l'inventaire peut être écrit dans une structure de données de caractérisation en mémoire et facultativement rendu persistant dans un fichier. A la case 325, les composantes formant l'instance personnalisée de l'application qui ont été modifiées peuvent être identifiées. Par exemple, le code source de chacune des 15 composantes peut être comparé à un code source pour rechercher des formats par défaut de la même composante. En variante, une somme de contrôle ou une valeur de hachage peut être calculée pour chacune des composantes et comparée à une somme de contrôle ou une valeur de hachage d'un format par défaut correspondant de la même composante. Ensuite, à la case 330, une liste des composantes qui ont été modifiées à partir du format 20 par défaut de la même composante peut être écrite dans la caractérisation. A la case 335, la caractérisation générée aux cases 310 à 330 peut être comparée à une ou plusieurs caractérisations connues précédemment stockées. A la case de décision 340, on peut déterminer si une première caractérisation parmi les caractérisations connues concorde d'un seuil avec la caractérisation générée. Si c'est le cas, à la case 345, 25 un prédicteur associé peut être récupéré à partir de la caractérisation connue concordante et inséré dans un rapport. Par la suite, à la case de décision 350, on peut déterminer si des caractérisations connues supplémentaires restent à comparer à la caractérisation générée. Si ce n'est pas le cas, à la case 355, un ou plusieurs documents associés aux caractérisations connues concordantes peuvent être récupérés et à la case 360, des 30 références d'hyperlien à chacun des documents peuvent être insérées dans le rapport. Enfin, à la case 365, le rapport peut être renvoyé à l'utilisateur final. Il convient de noter que le rapport lui-même peut être utilisé à de nombreuses fins. Dans sa forme de base, le rapport peut simplement former un outil de conseil destiné à être utilisé par un administrateur de mise à niveau afin d'établir correctement les attentes de 35 l'administrateur quant à la nature probable du processus de mise à niveau sur l'instance 3028971 personnalisée de l'application. Dans une forme plus complexe, le rapport peut être fourni à un moteur de règles qui peut permettre à un administrateur de réaliser la mise à niveau sous condition de prédicteurs favorables. Dans la dernière situation, le moteur de règles peut nécessiter une autorisation d'un second administrateur afin de procéder à la mise à niveau 5 d'une forme personnalisée de l'instance de l'application où les prédicteurs ne sont pas favorables. Dans encore une autre situation, la capacité de procéder à la mise à niveau de la forme personnalisée de l'instance d'application peut être bloquée là où les prédicteurs ne sont pas favorables. La présente invention peut être intégrée dans un système, un procédé, un produit de 10 programme informatique ou toute combinaison de ceux-ci. Le produit de programme informatique peut inclure un ou des supports de stockage lisibles par ordinateur comportant des instructions de programme lisibles par ordinateur permettant d'amener un processeur à réaliser des aspects de la présente invention. Le support de stockage lisible par ordinateur peut être un dispositif matériel qui peut conserver et stocker des instructions destinées à être 15 utilisées par un dispositif d'exécution d'instructions. Le support de stockage lisible par ordinateur peut être par exemple, mais sans s'y limiter, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi-conducteur ou toute combinaison appropriée de ce qui précède.It should be noted that, optionally, one or more participatory production documents 270 may be located on a computer communications network 250 which relates to the corresponding matching known characterizations. The documents 270 may include, for example, end-user reports on the successes and failures of upgrading an instance of, the application having a matched feature, traps, tips, recommendations, and the like. Subsequently, one or more hyperlinks to the localized documents 270 may be inserted into the report 260 which, in turn, may be returned to the end user 240 on the computer communications network 250. As a further illustration of the operation of the upgrade feasibility module, Fig. 3 is a flow chart illustrating a process of feasibility and creation of application upgrade report. Beginning at box 305, a target custom instance of an application can be chosen for an upgrade. Then, in box 310, an inventory of the respective components forming the custom instance of the application can be retrieved. Similarly, in box 315, an inventory of Io components on which depends the custom instance of the application can be retrieved. Subsequently, in box 320, the inventory may be written to a characterization data structure in memory and optionally persisted in a file. In box 325, the components forming the customized instance of the application that have been modified can be identified. For example, the source code of each of the 15 components can be compared to source code to search for default formats of the same component. Alternatively, a checksum or hash value can be calculated for each of the components and compared to a checksum or hash value of a corresponding default format of the same component. Next, in box 330, a list of components that have been modified from the default format of the same component can be written in the characterization. In box 335, the characterization generated in boxes 310 to 330 can be compared with one or more previously known known characterizations. In decision box 340, it is possible to determine whether a first characterization of known characterizations matches a threshold with the generated characterization. If so, in block 345, an associated predictor can be retrieved from the known concordant characterization and inserted into a report. Subsequently, in decision box 350, it is possible to determine whether additional known characterizations remain to be compared to the generated characterization. If this is not the case, in block 355, one or more documents associated with the matching known characterizations can be retrieved and in box 360, hyperlink references to each of the documents can be inserted into the report. Finally, in box 365, the report can be returned to the end user. It should be noted that the report itself can be used for many purposes. In its basic form, the report may simply form a consulting tool for use by an upgrade administrator to properly ascertain the administrator's expectations as to the likely nature of the upgrading process. the custom 3028971 instance of the application. In a more complex form, the report can be provided to a rules engine that can allow an administrator to perform the upgrade subject to favorable predictors. In the latter situation, the rules engine may require authorization from a second administrator to upgrade a custom form of the instance of the application where the predictors are not favorable. In yet another situation, the ability to upgrade the custom form of the application instance may be blocked where the predictors are not favorable. The present invention may be integrated into a system, method, computer program product or any combination thereof. The computer program product may include one or more computer readable storage media having computer readable program instructions for causing a processor to realize aspects of the present invention. The computer readable storage medium may be a hardware device that can store and store instructions for use by an instruction executing device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, driver or any appropriate combination of the foregoing.

20 Une liste non exhaustive d'exemples plus spécifiques du support de stockage lisible par ordinateur inclut les éléments suivants : une disquette d'ordinateur portable, un disque dur, une mémoire vive (RAM), une mémoire morte (ROM), une mémoire morte effaçable et programmable (EPROM ou mémoire Flash), une mémoire vive statique (SRAM), un disque compact à mémoire morte (CD-ROM), un disque numérique polyvalent (DVD), une clé USB, 25 une disquette, un dispositif codé mécaniquement tel que des cartes à perforer ou des structures en relief dans une gorge où sont enregistrées des instructions, et toute combinaison appropriée de ce qui précède. Un support de stockage lisible par ordinateur, tel qu'utilisé ici, ne doit pas être interprété comme étant des signaux transitoires en soi, tels que des ondes radio ou autres ondes électromagnétiques se propageant librement, des ondes 30 électromagnétiques se propageant à travers un guide d'onde ou autres supports de transmission (par exemple, des impulsions lumineuses passant à travers un câble de fibres optiques), ou des signaux électriques transmis par l'intermédiaire d'un câble. Les instructions de programme lisibles par ordinateur décrites ici peuvent être téléchargées dans des dispositifs informatiques/de traitement respectifs à partir d'un support 35 de stockage lisible par ordinateur ou dans un ordinateur externe ou dispositif de stockage 3028971 9 externe via un réseau, par exemple, l'Internet, un réseau local, un réseau étendu et/ou un réseau sans fil. Le réseau peut comprendre des câbles de transmission en cuivre, des fibres de transmission optique, une transmission sans fil, des routeurs, des pare-feu, des commutateurs, des ordinateurs passerelles et/ou des serveurs frontaux. Une carte réseau ou s une interface réseau dans chaque dispositif informatique/de traitement reçoit des instructions de programme lisibles par ordinateur en provenance du réseau et achemine les instructions de programme lisibles par ordinateur pour qu'elles soient stockées dans un support de stockage lisible par ordinateur au sein du dispositif informatique/de traitement respectif. Les instructions de programme lisibles par ordinateur permettant de réaliser des Io opérations de la présente invention peuvent être des instructions d'assembleur, des instructions d'architecture de jeux d'instructions (ISA), des instructions-machine, des instructions spécifiques d'une machine, un microcode, des instructions de micrologiciel, des données d'établissement d'état, ou soit un code source soit un code objet écrit dans toute combinaison d'un ou plusieurs langages de programmation, y compris un langage de 15 programmation orienté objet ou un langage de programmation procédural classique. Les instructions de programme lisibles par ordinateur peuvent s'exécuter totalement sur l'ordinateur de l'utilisateur, en partie sur l'ordinateur de l'utilisateur, en tant que progiciel autonome, en partie sur l'ordinateur de l'utilisateur et en partie sur un ordinateur distant ou totalement sur l'ordinateur ou serveur distant, Dans le dernier scénario, l'ordinateur distant 20 peut être connecté à l'ordinateur de l'utilisateur par l'intermédiaire de tout type de réseau, y compris un réseau local (LAN) ou un réseau étendu (WAN), ou la connexion peut se faire à un ordinateur externe (par exemple, par l'intermédiaire de !Internet à l'aide d'un fournisseur de service Internet). Dans certains modes de réalisation, une circuiterie électronique incluant, par exemple, une circuiterie logique programmable, des matrices prédiffusées 25 programmables par l'utilisateur (FPGA), ou des réseaux logiques programmables (PLA) peuvent exécuter les instructions de programme lisibles par ordinateur en utilisant des informations d'état des instructions de programme lisibles par ordinateur pour personnaliser la circuiterie électronique, afin de réaliser des aspects de la présente invention. Des aspects de la présente invention sont décrits ici en référence aux illustrations 30 d'organigramme et/ou aux schémas fonctionnels de procédés, d'appareils (systèmes), et de produits de programme informatique selon des modes de réalisation de l'invention. Il convient de comprendre que chaque case des illustrations d'organigramme et/ou de schémas fonctionnels, et des combinaisons de cases dans les illustrations d'organigramme et/ou les schémas fonctionnels, peuvent être implémentées par des instructions de 35 programme lisibles par ordinateur.A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a laptop diskette, a hard disk, a random access memory (RAM), a read only memory (ROM), a read-only memory erasable and programmable (EPROM or Flash memory), a static random access memory (SRAM), a read-only memory compact disc (CD-ROM), a digital versatile disc (DVD), a USB key, a floppy disk, a mechanically coded device such as punch cards or relief structures in a throat where instructions are recorded, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, should not be construed as transitory signals per se, such as radio waves or other electromagnetic waves propagating freely, electromagnetic waves propagating through a guide waveforms or other transmission media (e.g., light pulses passing through an optical fiber cable), or electrical signals transmitted through a cable. The computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or into an external computer or external storage device via a network, for example , the Internet, a local area network, a wide area network and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or front end servers. A network card or network interface in each computing / processing device receives computer readable program instructions from the network and routes the computer readable program instructions to be stored in a computer readable storage medium. within the respective computing / processing device. The computer readable program instructions for carrying out operations of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, specific instructions of an embodiment of the present invention. machine, microcode, firmware instructions, status establishment data, or either source code or object code written in any combination of one or more programming languages, including an object-oriented programming language or a conventional procedural programming language. The computer readable program instructions can run completely on the user's computer, partly on the user's computer, as a stand-alone package, partly on the user's computer, and part on a remote computer or totally on the computer or remote server, In the last scenario, the remote computer 20 can be connected to the user's computer via any type of network, including a network Local (LAN) or wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, an electronic circuitry including, for example, programmable logic circuitry, user programmable gate array (FPGA), or programmable logic network (PLA) may execute the computer readable program instructions in accordance with the present invention. utilizing state information of the computer readable program instructions for customizing the electronic circuitry, in order to realize aspects of the present invention. Aspects of the present invention are described herein with reference to flow chart illustrations and / or functional diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the invention. It should be understood that each box of flowchart and / or block diagram illustrations, and combinations of boxes in the flowchart illustrations and / or block diagrams, may be implemented by computer readable program instructions.

3028971 10 Ces instructions de programme lisibles par ordinateur peuvent être fournies à un processeur d'un ordinateur universel, d'un ordinateur spécialisé, ou autre appareil de traitement de données programmable pour produire une machine, de sorte que les instructions, qui s'exécutent via le processeur de l'ordinateur ou autre appareil de traitement 5 de données programmable, créent des moyens d'implémentation des fonctions/actes spécifiés dans l'organigramme et/ou une ou des cases de schéma fonctionnel. Ces instructions de programme lisibles par ordinateur peuvent également être stockées dans un support de stockage lisible par ordinateur qui peut ordonner un ordinateur, un appareil de traitement de données programmable, et/ou autres dispositifs de fonctionner de manière io particulière, de sorte que le support de stockage lisible par ordinateur comportant des instructions stockées comprenne un article de fabrication incluant des instructions qui implémentent des aspects de la fonction/acte spécifiés dans la ou les cases de l'organigramme et/ou du schéma fonctionnel. Les instructions de programme lisibles par ordinateur peuvent également être 15 chargées sur un ordinateur, un autre appareil de traitement de données programmable, ou autre dispositif pour amener une série d'étapes opérationnelles à être réalisées sur un ordinateur, un autre appareil programmable ou autre dispositif pour produire un processus implémenté par ordinateur, de sorte que les instructions qui s'exécutent sur l'ordinateur, un autre appareil programmable, ou autre dispositif implémentent les fonctions/actes spécifiés 20 dans la ou les cases de l'organigramme et/ou du schéma fonctionnel. L'organigramme et les schémas fonctionnels sur les figures illustrent l'architecture, la fonctionnalité, et le fonctionnement d'autres implémentations possibles de systèmes, procédés, et produits de programme informatique selon divers modes de réalisation de la présente invention. A cet égard, chaque case dans l'organigramme ou les schémas 25 fonctionnels peuvent représenter un module, un segment ou une partie d'instructions, qui comprend une ou plusieurs instructions exécutables permettant d'implémenter la ou les fonctions logiques spécifiées. Dans certaines variantes d'implémentation, les fonctions notées dans la case peuvent se produire dans un autre ordre que celui noté sur les figures. Par exemple, deux cases montrées l'une à la suite de l'autre peuvent en fait être exécutées 30 sensiblement simultanément, ou les cases peuvent parfois être exécutées dans l'ordre inverse, selon la fonctionnalité impliquée. On notera également que chaque case des schémas fonctionnels et/ou de l'illustration d'organigramme, et des combinaisons de cases dans les schémas fonctionnels et/ou l'illustration d'organigramme, peuvent être implémentées par des systèmes à base de matériel spécialisé qui effectuent les fonctions ou 3028971 11 actes spécifiés ou réalisent des combinaisons d'instructions de matériel et d'ordinateur spécialisés. Enfin, la terminologie utilisée ici est destinée à décrire des modes de réalisation particuliers uniquement et n'est pas destinée à limiter l'invention. Telles qu'utilisées ici, les s formes au singulier « un », « une » et « le/la » sont censées également inclure les formes au pluriel, sauf indication contraire du contexte. On comprendra également que les termes « comprend » et/ou « comprenant », lorsqu'ils sont utilisés dans ce mémoire, spécifient la présence de particularités, de nombres entiers, d'étapes, d'opérations, d'éléments et/ou de composants énoncés, mais n'excluent pas la présence ou l'ajout d'une ou plusieurs autres 10 particularités, nombres entiers, étapes, opérations, éléments, composants, et/ou groupes de ceux-ci. Les structures, matériaux, actes correspondants, et les équivalents de tous moyens ou éléments étapes plus fonction dans les revendications ci-dessous sont destinés à inclure toute structure, matériau ou acte permettant de réaliser la fonction en combinaison avec 15 d'autres éléments revendiqués comme revendiqué spécifiquement. La description de la présente invention a été présentée à des fins d'illustration et de description, mais n'est pas destinée à être exhaustive ni limitée à l'invention sous la forme divulguée. De nombreuses modifications et variations apparaîtront à l'homme du métier sans s'éloigner de la portée ni de l'esprit de l'invention. Le mode de réalisation a été choisi et décrit afin d'expliquer au 20 mieux les principes de l'invention et l'application pratique, et pour permettre à d'autres hommes du métier de comprendre l'invention pour divers modes de réalisation avec diverses modifications telles qu'appropriées en vue de l'utilisation particulière envisagée. Ayant ainsi décrit l'invention de la présente demande en détail et en référence à ses modes de réalisation, il apparaîtra que des modifications et variations sont possibles sans 25 s'éloigner de la portée de l'invention définie dans les revendications annexées comme suit.These computer readable program instructions may be provided to a processor of a general purpose computer, computer, or other programmable data processing apparatus for producing a machine, so that the instructions, which execute via the computer processor or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or one or more functional schema boxes. These computer readable program instructions may also be stored in a computer readable storage medium which may instruct a computer, a programmable data processing apparatus, and / or other devices to operate in a particular manner, so that the medium computer-readable storage device having stored instructions includes an article of manufacture including instructions that implement aspects of the function / act specified in the box (es) of the flowchart and / or block diagram. The computer readable program instructions may also be loaded on a computer, other programmable data processing apparatus, or other device to bring a series of operational steps to be performed on a computer, other programmable apparatus or other device. to produce a computer-implemented process, so that the instructions that run on the computer, another programmable device, or other device implement the functions / acts specified in the box (es) of the flowchart and / or functional scheme. The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of other possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each box in the flowchart or functional diagrams may represent a module, segment or part of instructions, which includes one or more executable instructions for implementing the specified logical function (s). In some implementation variants, the functions noted in the box may occur in another order than that noted in the figures. For example, two boxes shown one after the other may actually be executed substantially simultaneously, or the boxes may sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each box of the functional diagrams and / or the flowchart illustration, and combinations of boxes in the functional diagrams and / or the flowchart illustration, may be implemented by systems based on specialized hardware. perform the specified functions or 3028971 11 acts or perform combinations of specialized hardware and computer instructions. Finally, the terminology used herein is intended to describe particular embodiments only and is not intended to limit the invention. As used herein, the singular forms "one", "one" and "the" are meant to include plural forms, unless the context otherwise indicates. It will also be understood that the terms "comprises" and / or "including", when used in this specification, specify the presence of peculiarities, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. The structures, materials, corresponding acts, and equivalents of any means or elements plus function in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements such as claimed specifically. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will occur to those skilled in the art without departing from the scope and spirit of the invention. The embodiment has been chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of skill in the art to understand the invention for various embodiments with various modifications as appropriate for the particular use envisaged. Having thus described the invention of the present application in detail and with reference to its embodiments, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims as follows.

Claims (18)

REVENDICATIONS1. Procédé de détermination de faisabilité d'une mise à niveau d'un programme informatique et de création d'un rapport de mise à niveau, le procédé comprenant : la génération en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée du programme informatique destiné à être mis à niveau ; la comparaison de la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du io programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau ; l'identification d'une caractéristique concordante parmi les caractéristiques connues pour la caractérisation de déploiement générée ; et, l'affichage d'un rapport sur un afficheur du système informatique incluant un is prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues.REVENDICATIONS1. A method of determining the feasibility of upgrading a computer program and creating an upgrade report, the method comprising: generating in memory a computer system of a deployment characterization of a computer program custom instance of the computer program to be upgraded; comparing the deployment characterization with a selection of known deployment characterizations of different custom instances of the computer program, each of the characterizations having an association with an upgrade feasibility predictor for the upgrade; identifying a matching characteristic from known features for generated deployment characterization; and, displaying a report on a computer system display including a predictor of upgrade feasibility corresponding to the matching characterization among the known characterizations. 2. Procédé selon la revendication 1, dans lequel la caractérisation de déploiement comprend un inventaire de composantes incluses comme faisant partie de l'instance 20 personnalisée du programme informatique.The method of claim 1, wherein the deployment characterization comprises an inventory of included components as part of the custom instance of the computer program. 3. Procédé selon la revendication 1, dans lequel la caractérisation de déploiement comprend un inventaire de composantes dont dépend l'instance du programme informatique. 25The method of claim 1, wherein the deployment characterization comprises an inventory of components upon which the computer program instance depends. 25 4. Procédé selon la revendication 1, dans lequel la caractérisation de déploiement comprend un inventaire des composantes qui ont été modifiées à partir d'un format par défaut des composantes.The method of claim 1, wherein the deployment characterization comprises an inventory of the components that have been modified from a default format of the components. 5. Procédé selon la revendication 1, dans lequel le prédicteur de faisabilité de mise à 30 niveau comprend un indicateur choisi dans le groupe consistant en recommandé, non recommandé, et recommandé avec prudence.The method of claim 1, wherein the predictor of upgrade feasibility comprises an indicator selected from the group consisting of recommended, not recommended, and recommended with caution. 6. Procédé selon la revendication 1, dans lequel une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau 3028971 13 particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport.The method of claim 1, wherein a hyperlinked reference to participatory production documentation relating to particular upgrade issues for deployment characterization occurring during an upgrade attempt is included in the report. 7. Système de traitement de données de déploiement d'une application configuré pour s déterminer la faisabilité d'une mise à niveau d'un programme informatique et créer un rapport de mise à niveau d'un programme informatique, le système comprenant : un système informatique hôte comprenant au moins un ordinateur avec une mémoire et au moins un processeur ; une base de données couplée au système informatique hôte ; 10 une instance personnalisée d'un programme informatique comprenant une pluralité de composantes stockées dans la base de données; et, un module de faisabilité de mise à niveau s'exécutant dans la mémoire du système informatique hôte, le module comprenant un code de programme activé lors de l'exécution par le au moins un processeur pour générer dans la mémoire une caractérisation de 15 déploiement de l'instance personnalisée du programme informatique désigné pour recevoir une mise à niveau, pour comparer la caractérisation de déploiement avec une sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique stocké dans le magasin de données, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à 20 niveau, pour identifier une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée et pour afficher un rapport sur un afficheur du système informatique hôte incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues. 25An application deployment data processing system configured to determine the feasibility of an upgrade of a computer program and to create an upgrade report of a computer program, the system comprising: a system host computer comprising at least one computer with a memory and at least one processor; a database coupled to the host computer system; A personalized instance of a computer program comprising a plurality of components stored in the database; and, an upgrade feasibility module running in the memory of the host computer system, the module comprising program code activated during execution by the at least one processor to generate in the memory a deployment characterization the custom instance of the computer program designated to receive an upgrade, to compare the deployment characterization with a selection of known deployment characteristics of different custom instances of the computer program stored in the data store, each of the characterizations having an association with an upgrade feasibility predictor for upgrading, to identify a matching characterization among the known characterizations for the generated deployment characterization and to display a report on a host computer system display including a feasibility predictor of to n iveau corresponding to the concordant characterization among the known characterizations. 25 8. Système selon la revendication 7, dans lequel la caractérisation de déploiement comprend un inventaire des composantes incluses comme faisant partie de l'instance personnalisée du programme informatique.The system of claim 7, wherein the deployment characterization includes an inventory of components included as part of the custom instance of the computer program. 9. Système selon la revendication 7, dans lequel la caractérisation de déploiement 30 comprend un inventaire d'autres composantes dont dépend l'instance du programme informatique.The system of claim 7, wherein the deployment characterization comprises an inventory of other components upon which the computer program instance depends. 10. Système selon la revendication 7, dans lequel la caractérisation de déploiement comprend un inventaire des composantes qui ont été modifiées à partir d'un format par 35 défaut des composantes. 3028971 14The system of claim 7, wherein the deployment characterization comprises an inventory of components that have been modified from a default format of the components. 3028971 14 11. Système selon la revendication 7, dans lequel le prédicteur de faisabilité de mise à niveau comprend un indicateur choisi dans le groupe consistant en recommandé, non recommandé, et recommandé avec prudence.The system of claim 7, wherein the predictor of upgrade feasibility comprises an indicator selected from the group consisting of recommended, not recommended, and recommended with caution. 12. Système selon la revendication 7, dans lequel une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport. 10The system of claim 7, wherein a hyperlinked reference to participatory production documentation regarding specific upgrade issues for the deployment characterization occurring during an upgrade attempt is included in the report. 10 13. Produit de programme informatique pour déterminer la faisabilité d'une mise à niveau d'un programme informatique et créer un rapport de mise à niveau, le programme informatique étant stocké dans un support de stockage lisible par ordinateur et comportant des instructions de programme pouvant être exécutées par un dispositif afin d'amener le 15 dispositif à réaliser un procédé comprenant : la génération par un dispositif en mémoire d'un système informatique d'une caractérisation de déploiement d'une instance personnalisée d'un programme informatique désigné pour recevoir une mise à niveau ; la comparaison par le dispositif de la caractérisation de déploiement avec une 20 sélection de caractérisations de déploiement connues de différentes instances personnalisées du programme informatique, chacune des caractérisations ayant une association avec un prédicteur de faisabilité de mise à niveau pour la mise à niveau ; l'identification par le dispositif d'une caractérisation concordante parmi les caractérisations connues pour la caractérisation de déploiement générée ; et, 25 l'affichage par le dispositif d'un rapport sur un afficheur du système informatique incluant un prédicteur de faisabilité de mise à niveau correspondant à la caractérisation concordante parmi les caractérisations connues.13. Computer program product for determining the feasibility of upgrading a computer program and creating an upgrade report, the computer program being stored in a computer-readable storage medium and having program instructions capable of performed by a device to cause the device to perform a method comprising: generating by a device in memory of a computer system a characterization of deployment of a custom instance of a computer program designated to receive a Upgrade ; comparing the device of the deployment characterization with a selection of known deployment characterizations of different custom instances of the computer program, each of the characterizations having an association with an upgrade feasibility predictor for the upgrade; the identification by the device of a concordant characterization among the known characterizations for the generated deployment characterization; and displaying by the device a report on a computer system display including a leveling feasibility predictor corresponding to the matching characterization among the known characterizations. 14. Produit de programme informatique selon la revendication 13, danse lequel la 30 caractérisation de déploiement comprend un inventaire de composantes incluses comme faisant partie de l'instance personnalisée du programme informatique.14. The computer program product of claim 13, wherein the deployment characterization comprises an inventory of components included as part of the custom instance of the computer program. 15. Produit de programme informatique selon la revendication 13, dans lequel la caractérisation de déploiement comprend un inventaire de composantes dont dépend 35 l'instance du programme informatique. 3028971 15The computer program product of claim 13, wherein the deployment characterization comprises an inventory of components upon which the computer program instance is dependent. 3028971 15 16. Produit de programme informatique selon la revendication 13, dans lequel la caractérisation de déploiement comprend un inventaire des composantes qui ont été modifiées à partir d'un format par défaut des composantes.The computer program product of claim 13, wherein the deployment characterization comprises an inventory of components that have been modified from a default format of the components. 17. Produit de programme informatique selon la revendication 13, dans lequel le prédicteur de faisabilité de mise à niveau comprend un indicateur choisi dans le groupe consistant en recommandé, non recommandé, et recommandé avec prudence. roThe computer program product of claim 13, wherein the upgrade feasibility predictor comprises an indicator selected from the group consisting of recommended, not recommended, and recommended with caution. ro 18. Produit de programme informatique selon la revendication 13, dans lequel une référence hyperliée à une documentation de production participative concernant des questions de mise à niveau particulières pour la caractérisation de déploiement survenant lors d'une tentative de mise à niveau est incluse dans le rapport.The computer program product of claim 13, wherein a hyperlinked reference to participatory production documentation regarding specific upgrade issues for the deployment characterization occurring during an upgrade attempt is included in the report. .
FR1461477A 2014-11-26 2014-11-26 METHOD AND SYSTEM FOR UPDATING AN APPLICATION Expired - Fee Related FR3028971B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1461477A FR3028971B1 (en) 2014-11-26 2014-11-26 METHOD AND SYSTEM FOR UPDATING AN APPLICATION

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1461477A FR3028971B1 (en) 2014-11-26 2014-11-26 METHOD AND SYSTEM FOR UPDATING AN APPLICATION
FR1461477 2014-11-26

Publications (2)

Publication Number Publication Date
FR3028971A1 true FR3028971A1 (en) 2016-05-27
FR3028971B1 FR3028971B1 (en) 2018-01-12

Family

ID=53059171

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1461477A Expired - Fee Related FR3028971B1 (en) 2014-11-26 2014-11-26 METHOD AND SYSTEM FOR UPDATING AN APPLICATION

Country Status (1)

Country Link
FR (1) FR3028971B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683933A (en) * 2018-12-20 2019-04-26 北京金风科创风电设备有限公司 Program upgrading method and device for wind generating set

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331455A1 (en) * 2011-06-24 2012-12-27 International Business Machines Corporation Determining best practices for applying computer software patches

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331455A1 (en) * 2011-06-24 2012-12-27 International Business Machines Corporation Determining best practices for applying computer software patches

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Method and System for Verifying and Analyzing Application Deployment and Predictive Log", IP.COM JOURNAL, IP.COM INC., WEST HENRIETTA, NY, US, 21 October 2013 (2013-10-21), XP013159516, ISSN: 1533-0001 *
REKHA BACHWANI ET AL: "Recommending software upgrades with Mojave", THE JOURNAL OF SYSTEMS AND SOFTWARE, vol. 96, 24 May 2014 (2014-05-24), pages 10 - 23, XP055196822, ISSN: 0164-1212, DOI: 10.1016/j.jss.2014.05.019 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683933A (en) * 2018-12-20 2019-04-26 北京金风科创风电设备有限公司 Program upgrading method and device for wind generating set
CN109683933B (en) * 2018-12-20 2024-05-17 北京金风科创风电设备有限公司 Program upgrading method and equipment for wind generating set

Also Published As

Publication number Publication date
FR3028971B1 (en) 2018-01-12

Similar Documents

Publication Publication Date Title
US10073974B2 (en) Generating containers for applications utilizing reduced sets of libraries based on risk analysis
US11151024B2 (en) Dynamic automation of DevOps pipeline vulnerability detecting and testing
US20150213376A1 (en) Methods and systems for generating classifiers for software applications
US10997249B2 (en) Search query intent
US11023325B2 (en) Resolving and preventing computer system failures caused by changes to the installed software
US20190370471A1 (en) Systems and methods for patching vulnerabilities
US20150213365A1 (en) Methods and systems for classification of software applications
US20120144379A1 (en) System and method for updadting software
US10416973B2 (en) Analysis of source code for deployment
WO2020099960A1 (en) Detecting security risks related to a software component
FR3025909A3 (en) VIDEO AUDIT ON THE WEB
US20160093117A1 (en) Generating Estimates of Failure Risk for a Vehicular Component
FR3025964A3 (en) AUDIT OF MOBILE APPLICATIONS
CN105808630B (en) Android application auditing method and device
FR3002053A1 (en) SENSITIVE TESTING VALIDATION
US20220342938A1 (en) Bot program for monitoring
US20190073198A1 (en) Multi-flavored software execution from a singular code base
US11151448B2 (en) Location tagging for visual data of places using deep learning
FR3028971A1 (en) METHOD AND SYSTEM FOR UPDATING AN APPLICATION
AU2021251463B2 (en) Generating performance predictions with uncertainty intervals
Chowdhury et al. A holistic ranking scheme for apps
US10585853B2 (en) Selecting identifier file using machine learning
EP3754506B1 (en) Method and system for automatic validation of cots
US10587487B2 (en) Selecting time-series data for information technology (IT) operations analytics anomaly detection
US20160149778A1 (en) Application upgrade feasibility and support

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20160527

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

ST Notification of lapse

Effective date: 20220705