Methods for generating and selecting a digital passport for an application intended for deployment in at least one IT entity, corresponding devices and computer programs
A digital passport for software applications tracks development environment data, addressing the lack of transparency in telecommunications operators' software environmental impact, facilitating informed and sustainable deployment.
Patent Information
- Application Number
- FR2024005086
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-11-21
AI Technical Summary
Telecommunications operators lack transparent and reliable information about the environmental impact of the software they develop and implement, which is not provided by equipment manufacturers.
Generate a digital passport for software applications containing information about their development environment, including energy consumption, carbon footprint, and recyclability, and store it in a shared, immutable ledger for transparent tracking and selection.
Provides transparent and reliable information on software applications' environmental impact, enabling informed deployment decisions and promoting sustainable practices.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Methods for generating and selecting a digital passport relating to an application intended to be deployed in at least one IT entity, corresponding computer devices and programs. Technical field
[0001] The present invention belongs to the general field of development and production of applications and / or software.
[0002] It relates more particularly to the generation of a digital passport relating to an application intended to be deployed as well as the instantiation of a deployment environment for the application based on the information contained in the application's digital passport. Previous technique
[0003] In a context of growing concerns about the planet's limited resources, the sustainable management of consumer products is becoming a major issue.
[0004] Indeed, consumers, businesses and regulators are increasingly demanding transparency about the products they use, particularly with regard to their origin, composition, durability, safety, energy consumption, recyclability and environmental impact.
[0005] In order to meet this demand for information, some organizations seek to promote a circular economy as well as a transition to a more sustainable economy.
[0006] The European Commission's "Product Passport" initiative falls within this context. More specifically, this initiative aims to improve the traceability of products placed on the market within the European Union from their design to their end of life by providing transparent and reliable information on their origin, composition, environmental impact, and sustainability.
[0007] For their part, telecommunications network operators have adopted several strategies to reduce their environmental footprint and promote the sustainability of their infrastructure and the services they offer, in particular by reducing the energy consumption of their networks, by integrating eco-design principles into the development of equipment and services, aiming to reduce resource consumption, waste production and greenhouse gas emissions throughout the life cycle of these products, or by also putting in place recycling and electronic waste management programs to recover, reuse and recycle obsolete or end-of-life equipment, thereby helping to reduce the accumulation of electronic waste and preserve natural resources.
[0008] While telecommunications operators, like other players in the digital technology sector such as service providers, are able to meet the expectations of their users and regulators regarding transparency on the equipment they use because data is provided to them by the manufacturers of this equipment, the same cannot be said for the software they develop or implement as part of their activities. Description of the invention
[0009] The present invention aims to remedy all or part of the disadvantages of the prior art, in particular those set out above, by proposing a solution which makes it possible to provide, for a software or an application, or even a component of an application or a microservice participating in the application, transparent and reliable information as to its origin, its composition, its environmental cost, its durability, its ability to be reused in other environments in which it can be executed.
[0010] To this end, and according to a first aspect, the invention relates to a method of generating, by an electronic device, at least one digital passport relating to an application intended to be deployed in at least one IT entity, said digital passport comprising at least one entry including information relating to at least one environment, said development environment, in which said application is developed.
[0011] Consequently, the invention relates to an electronic device comprising: - a module for generating at least one digital passport relating to an application intended to be deployed in at least one IT entity, said digital passport comprising at least one entry containing information relating to at least one environment, referred to as the development environment, in which said application is developed, - a transmission module configured to transmit said digital passport to at least one node contributing to a shared registry in which information relating to a plurality of digital passports relating to applications intended to be deployed in at least one other IT entity is stored.
[0012] The present solution proposes to generate, for each version of a given application or software, a digital passport including information relating to the environment in which it was developed.
[0013] A software or application development environment is a set of tools, hardware and / or software resources used by developers to build, test and debug the software or application.
[0014] Such a development environment typically includes: code editors, code compilers / interpreters, version control systems, testing tools, and debuggers. Finally, a development environment includes servers, virtual machines, Docker or Kubemetes containers, etc., enabling the execution of the application under development.
[0015] Such information relating to a development environment belongs, for example, to a group comprising at least: - a value for electricity consumption related to the development of the application, - a representative value of the amount of carbon generated by the development of the application, - a representative value of the quantity of water used during the manufacturing, and / or cooling, and / or recycling of the hardware components used during the development of the application, - a list of metals used in the manufacture of the hardware components used in the development of the application, - the quantity of metals used in the manufacture of the hardware components used in the development of the application - a percentage of recycled metal for at least one of the metals used in the manufacture of said material components, - an identifier of at least one hardware component used during the development of the application, - an identifier of a version of at least one operating system and at least one hardware component used during the development of the application, - an identifier of at least one transport protocol supported by the application, - an identifier of a version of a compute node management system running the application.
[0016] This information relating to a development environment may also include data relating to the commissioning of certain equipment, or an estimated lifespan of the latter, etc.
[0017] Such information relating to a development environment is obtained from at least one monitoring entity of said at least one development environment.
[0018] In particular implementations, information relating to at least one development environment is obtained in response to the transmission, by said electronic device, of a request for information relating to a development environment.
[0019] In order to best account for the environmental impact of the application, such a digital passport is updated throughout the development of the application.
[0020] To this end, information relating to at least one development environment can be obtained periodically, such as the value of the electricity consumption related to the application's development, which can change over time, or asynchronously. Information such as the quantity of metals used in the manufacture of the hardware components used during the application's development, or an identifier of at least one transport protocol supported by the application, for example, which only changes when a change in equipment or transport protocol occurs, can be transmitted asynchronously. - When they relate to the same version of an application, the new information relating to at least one development environment obtained is stored in said at least one corresponding entry of the digital passport.
[0021] In a context of continuous development and delivery or CI / CD for "continuous integration / continuous delivery" of applications, the update of the digital passport makes it possible to document precisely and exhaustively the different updates and the different changes made to the application and to the environment in which it is developed throughout the development phase.
[0022] Continuous integration (CI) is a form of integration in which developers save the code they develop to a shared code repository several times a day. With each code save, an automated build tool checks the saved code to ensure it is error-free and ready for production. This allows for early error detection.
[0023] Development teams can therefore deliver code containing few or no errors at a faster pace. Code containing few errors means faster validation, versions of the developed application containing fewer errors, and therefore a more efficient and scalable development flow.
[0024] Continuous delivery (CD), on the other hand, follows continuous integration and can be considered a control phase in the development flow, before the final version of the application is published or deployed. Once the code changes are validated, they are automatically delivered.
[0025] With continuous delivery, the goal is to keep change sets small enough that no update to the main version of the application will compromise the status of the final application if it is not ready for release. Continuous delivery allows developers to spend less time performing internal testing, as its purpose is to ensure that only stable code—that is, code containing few or no errors—reaches the delivery phase.
[0026] In other implementations, when the information relating to at least one development environment obtained corresponds to a development environment not listed in the digital passport, the process includes: - the creation of a new entry corresponding to this new environment in said digital passport.
[0027] This is the case, for example, when the operating system of at least one hardware component used during the development of the application is changed, or when one of the hardware components used during the development of the application is changed.
[0028] When a new version of an application is developed, a dedicated digital passport is created for it. This allows simplified access to data relating to each version of the same application.
[0029] In particular implementations, the information relating to at least one development environment obtained is time-stamped and signed using a cryptographic key of said monitoring entity.
[0030] This helps to guarantee their authenticity and integrity.
[0031] In particular implementations, the method of the invention comprises: - the determination of a summary of the information relating to at least one development environment included in at least one of said entries of said digital passport.
[0032] Such a summary is the result of applying a hash function to all the information contained in an entry of the digital passport. Indeed, a hash function makes it possible to assign indices associated with a fixed-size array to data of variable and arbitrary size. In other words, a hash function is a mathematical function that associates fixed-size values with data of any size.
[0033] The use of a hash function in the context of data storage and indexing allows access to the latter in a reduced time while requiring a reasonable storage space relative to the volume of data to be stored.
[0034] In particular implementations, said digest is time-stamped and signed using a cryptographic key of said electronic device.
[0035] This helps to guarantee its authenticity and integrity.
[0036] In particular implementations, the digest is transmitted to at least one node contributing to a shared register.
[0037] A shared register is understood to be a memory register, such as one or more servers or a partition of a storage disk, etc., which can be decentralized to facilitate access. Such a shared register can also be an immutable register because once information has been entered into it, it cannot be deleted by anyone. If information entered in this register needs to be modified, such a modification is recorded as a new entry in the immutable register. Thus, such an immutable register contains the history of all the exchanges recorded in it since its creation.
[0038] To guarantee the immutability of such a register, it is possible, for example, to write-lock the memory areas containing information. It is also possible to restrict write access to the register to a limited number of trusted nodes, etc. Read access to the tamper-proof register can also be restricted to a limited number of nodes.
[0039] An example of such an immutable ledger is a blockchain.
[0040] Blockchain is a technology for storing and transmitting information that is transparent, secure, and operates without a central controlling authority. More specifically, a blockchain is a distributed database that contains the history of all transactions made between its users since its creation: information sent by users and internal database exchanges are verified and grouped at regular time intervals into blocks, thus forming a chain. The entire system is secured by cryptography.
[0041] More specifically, transactions between users of the network of nodes contributing to a blockchain are grouped into blocks. In the field of blockchains, a transaction is an action recorded in a blockchain that changes its state. An example of a transaction could be the transfer of cryptocurrency from one account to another or the recording of location data from a user's device. Each block is validated by the network nodes using cryptographic techniques that depend on the type of blockchain used. Once validated, the block is timestamped and added to the blockchain, which is accessible to all users. The transaction is then visible to all nodes in the network. Once added to the blockchain, a block can no longer be modified or deleted, thus guaranteeing the authenticity and security of the network.
[0042] There are public blockchains, open to all, and private, or consortium, blockchains, whose access and use are limited to a certain number of actors defined in advance.
[0043] In particular implementations, an indicator relating to at least one of the said pieces of information relating to at least one development environment is associated with said condensed prior to said transmission.
[0044] In order to facilitate querying the shared register, the summary can, for example, be associated with an indicator relating to at least one of the said pieces of information relating to at least one development environment.
[0045] By way of example, such an indicator may be representative of a value of the electrical consumption relating to the development of the application or of an indicator representative of a quantity of metals used in the manufacture of the material components used in the development of the application.
[0046] The purpose of these indicators associated with the summary is to enable an actor wishing to deploy an application to be able to select an application based on information that is important from their point of view.
[0047] In particular implementations, the method for generating a digital passport further includes: - the determination of a representative indicator of energy consumption related to the development of the application by means of at least one of said pieces of information relating to at least one development environment, said representative indicator of energy consumption being stored in said at least one corresponding entry.
[0048] Such an indicator, which may be a letter from A to G, for example, represents a value of electrical consumption for a given period, for example, one year or one hour, of the development of the application. It may take into account, in addition to electrical energy consumption, the quantity of water used during manufacturing and / or recycling, or a quantity of other consumables, such as plastics or paper, etc.
[0049] According to a second aspect, the invention also relates to a method for selecting, by a first computer entity, at least one digital passport relating to an application intended to be deployed in at least one second computer entity, said digital passport comprising at least one entry containing information relating to at least one environment, said development environment, in which said application is developed, comprising: - the transmission, destined for at least one node contributing to a shared register in which information relating to at least one is stored digital passport, an application for a digital passport related to a specific application, - the selection of at least one entry in said digital passport by means of at least one value of an indicator relating to at least one of said pieces of information relating to at least one development environment, - the transmission of said information relating to at least one development environment included in the selected entry to at least one orchestration entity intended to deploy a production environment of said application based on said information relating to at least one development environment.
[0050] Consequently, the invention relates to a computer entity comprising: - a transmission module configured to transmit a request for a digital passport relating to an application intended to be deployed in at least one other IT entity, to at least one node contributing to a shared registry in which information relating to at least one digital passport is stored, said digital passport comprising at least one entry including information relating to at least one environment, said development environment, in which said application is developed, - a selection module configured to select at least one entry of said digital passport by means of at least one value of an indicator relating to at least one of said pieces of information relating to at least one development environment, - a transmission module configured to transmit said information relating to at least one development environment included in the selected entry to at least one orchestration entity intended to deploy, select or update a production environment of said application based on said information relating to at least one development environment.
[0051] An actor, such as a telecommunications operator, wishing to implement a packet routing application or a network function developed by a third party can consult the shared registry in which various hashes of entries from different digital passports relating to one or more routing applications and their different versions are stored. Depending on the needs of this telecommunications operator and by means of the indicators associated with the different hashes, the latter can select a version of the application that meets its criteria.
[0052] For example, if for this telecommunications operator it is important that the application can be put into production in a production environment in which the hardware components include at least 18% recycled copper and have an energy class of A, it uses these two criteria to query the shared register.
[0053] Once in possession of one or more digests identifying digital passport entries meeting its expectations, the telecommunications operator can then deploy an appropriate production environment, and whose energy performance it already knows, thanks to the various information contained in the selected digital passport entry.
[0054] In a particular embodiment, the processes which are the subject of the invention are implemented by a computer.
[0055] In this respect, the invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer or more generally in an electronic device according to the invention and comprising instructions adapted to the implementation of a method for generating a digital passport as described above.
[0056] The invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer or more generally in a computer entity according to the invention and comprising instructions adapted to the implementation of a method for selecting a digital passport as described above.
[0057] Each of these programs can use any programming language, and be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0058] The invention also relates to an information medium or a recording medium readable by a computer, and comprising instructions for a computer program as mentioned above.
[0059] The information or recording medium can be any entity or device capable of storing programs. For example, the medium may include a storage means, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a hard disk drive, or a flash memory.
[0060] On the other hand, the information or recording medium can be a transmissible medium such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio link, by wireless optical link or by other means.
[0061] The programs according to the invention can in particular be downloaded onto an Internet-type network.
[0062] Alternatively, the information or recording medium may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of the processes according to the invention.
[0063] It can also be envisaged, in other embodiments, that the processes according to the invention, the electronic device and the computer entity according to the invention have in combination all or part of the aforementioned characteristics. Brief description of the drawings
[0064] Other features and advantages of the present invention will become apparent from the description below, with reference to the accompanying drawings, which illustrate an example of an embodiment without being limiting in any way. In the figures:
[0065] [Fig-1] [Fig.1] represents a passport generation and selection system digital in which the processes according to the invention are implemented;
[0066] [Fig.2] [Fig.2] schematically represents the hardware architecture of a computer on which an LCM server and an application deployment management entity according to the invention, belonging to the communication system of [Fig.1] are based;
[0067] [Fig.3] [Fig.3] illustrates, in the form of a flowchart, the main steps of the processes implemented by an LCM server and an application deployment management entity according to an example of implementation of the invention. Description of the implementation methods
[0068] The present invention is based on generating, for each version of a given application or software, a digital passport containing information about the environment in which it was developed. An application is understood to mean any digital product or service running on an operating system. Thus, when we speak of an application, it could be, for example, word processing software, a multimedia streaming application, a library intended to be called during the execution of the application, or software enabling deep packet inspection (DPI).
[0069] As mentioned previously, the development environment of a software or application within the meaning of the invention means the set of tools, hardware and / or software resources used by developers to generate, test and debug this software or application.
[0070] Such a development environment generally includes: code editors, code compilers / interpreters, version control systems, testing tools, or debuggers. Finally, a development environment includes servers, virtual machines, Docker or Kubemetes containers, etc., allowing the application under development to be run.
[0071] The digital passport that is the subject of this solution aims to provide, for a software or application, transparent and reliable information regarding its origin, composition, environmental impact, durability, ability to be reused in other environments in which it can be run, as well as its environmental impact.
[0072] A system in which such a digital passport is generated and then used is described with reference to [Fig.1].
[0073] Such a system 1 comprises at least one application development environment 10, at least one production environment 11 for applications developed in the development environment 10, at least one application deployment management entity 12 and at least one shared registry 13. The interactions between these different entities 10, 11, 12 and 13 will be explained in more detail later in the document.
[0074] The development environment 10 includes, but is not limited to, a life cycle management server 101 or LCM server for "Life Cycle Management" whose function is, among other things, to manage the life cycle of computer systems, whether hardware or software, from their provision, through their operation, to their decommissioning when they are obsolete.
[0075] The development environment 10 also includes a group 102 or "cluster" of computer nodes, or work machines (the latter being virtual machines), that run containerized applications. Containerization is a software execution and deployment process that bundles an application's code with all the files and libraries it needs to run on any infrastructure. An example of such a cluster 102 is a Kubernetes cluster. Kubernetes is a container orchestration solution that allows for the management, coordination, and scheduling of containers at scale.
[0076] Finally, the development environment 10 includes at least one monitoring entity 103 of the development environment 10.
[0077] The interactions between these different entities 101, 102 and 103 will be explained in more detail later in the document.
[0078] Just like the development environment 10, the production environment 11 may include an LCM server, a cluster of computer nodes, and at least one monitoring entity. These components of the production environment 11 are not shown in the figures.
[0079] The development environments 10 and production environments 11 may also include user devices 101 such as smartphones, mobile phones, tablets, or connected objects, such as connected vehicles in which one or more applications, for which a digital passport is generated in accordance with the invention, are intended to be executed.
[0080] The application deployment management entity 12 is, for example, a computer enabling interaction with the development environment 10, the production environment 11, and the shared registry 13.
[0081] The shared register 13 may consist of one or more servers or a partition of a storage disk, etc. Such a shared register may be decentralized to facilitate access. Furthermore, such a shared register 13 may be an immutable register because once information has been entered into it, it cannot be deleted by anyone. If information entered in this register needs to be modified, such a modification is recorded as a new entry in the immutable register. Thus, such an immutable register contains the history of all exchanges recorded in it since its creation.
[0082] An example of such an immutable ledger is a blockchain. In such a case, the shared ledger 13 consists of a network of nodes contributing to a blockchain, comprising a plurality of interconnected nodes.
[0083] It should be noted that the term node can correspond to a software component as well as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms or more generally to any element of a program capable of implementing a function or a set of functions.
[0084] In the embodiment described here, a node includes a random-access memory (for example, RAM), a processing unit equipped for example with a processor and driven by a computer program, representing the code instructions of one or more smart contracts, stored in a read-only memory (for example, ROM or a hard drive), and implementing a range of functions necessary for certifying the data intended to be stored in the blockchain.
[0085] In the embodiment described herein, the LCM server 101 and the application deployment management entity 12 have the hardware architecture of a computer 2 as illustrated in [Fig. 2]. This hardware architecture includes, in particular, a processor (PROC), RAM (MEM), ROM (ROM), NVM (non-volatile memory), and COM communication means enabling the LCM server 101 and the application deployment management entity 12 to communicate with each other and with the rest of the system entities 1, such as the shared register. 13 and entities 102 and 103. The non-volatile NVM memory constitutes a recording medium according to the invention, readable by the PROC processor and on which one or more programs according to the invention are recorded.
[0086] One of these programs, denoted PROG1 when the hardware architecture of computer 2 is that of the LCM 101 server, is stored in the non-volatile NVM memory and includes instructions defining the main steps of a method for generating a digital passport relating to an application according to the invention as implemented by the LCM 101 server. It more specifically defines the functional modules of the LCM 101 server, which rely on and / or control all or part of the PROC, MEM, ROM, NVM, and COM elements of computer 2 mentioned above.
[0087] In the embodiment described herein, the PROG1 program defines, in particular, the following functional modules of the LCM 101 server: - a generation module configured to generate a digital passport for an application intended for deployment in at least one IT entity, - a transmission module configured to transmit the digital passport to the shared registry 13.
[0088] The operation of the constituent modules of the LCM 101 server is detailed further later with reference to the steps of the process of generating a digital passport relating to an application according to the invention.
[0089] The computer program stored in the non-volatile NVM memory, when the hardware architecture of computer 2 is that of the application deployment management entity 12, is denoted PROG2 and includes instructions defining the main steps of a method for selecting at least one digital passport relating to an application according to the invention as implemented by the application deployment management entity 12. It more specifically defines the functional modules of the application deployment management entity 12, which rely on and / or control all or part of the PROC, MEM, ROM, NVM, and COM elements of computer 2, mentioned above.
[0090] The PROG2 program defines, in particular, the functional modules of the application deployment management entity 12: - a transmission module configured to transmit a request for a digital passport related to an application to the shared registry 13, - a selection module configured to select at least one entry from a digital passport, - a transmission module configured to transmit information relating to at least one development environment of a given application to at least one orchestration entity of group 102 of computer nodes.
[0091] The operation of the modules of the application deployment management entity 12 is detailed further later with reference to the steps of the process of selecting at least one digital passport according to the invention.
[0092] Fig. 3 illustrates, in the form of a flowchart, the main steps of the methods of the invention allowing the generation and selection of a digital passport relating to an application intended to be deployed in at least one computer entity implemented by the LCM server 101 and by the application deployment management entity 12 according to an example of implementation of the invention.
[0093] As illustrated by [Fig. 3], a first step E000 is implemented during from which server 101 of development environment 11 creates a digital passport Pass-Appl-Vl relating to a first version VI of an application Appl. This digital passport Pass-Appl-Vl 1 includes at least one entry Pass-Appl-Vl-Ei.
[0094] Such a Pass-Appl-Vl-Ei entry includes a plurality of information relating to the development environment 11 such as, for example: - a value for electricity consumption related to the development of the Appl application, - a representative value of the amount of carbon generated by the development of the Appl application, - a representative value of the amount of water used in the manufacture of the hardware components used in the development of the Appl application, - a quantity of metals used in the manufacture of the hardware components used in the development of the Appl application, - a percentage of recycled metal for at least one of the metals used in the manufacture of said material components, - an identifier of at least one hardware component used during the development of the Appl application, - an identifier of a version of at least one operating system of at least one hardware component used during the development of the Appl application, - an identifier of at least one transport protocol supported by the APP1 application, - an identifier for a version of a management system for group 102 computer nodes, - data relating to the commissioning of certain equipment, or - an estimated lifespan of these, etc.
[0095] Each of these pieces of information is grouped in a dedicated field of the Pass-Appl-Vl-Ei entry.
[0096] An example of such a digital passport Pass-Appl-V 1 comprising three entries Appl-Vl-El, Appl-Vl-E2 and Appl-Vl-E3 is shown below. Pass- Appl-Vl Applr Equipment Protocol QUIC Encryption AES TCP Offload Engine Operating System Version K 8S CSR Balance / Energy Class Quantity of Recycled Copper (mg) Quantity of Copper (mg) Energy Efficiency W / Tbits E1 Appl-VI Processor, RAM, Disk YY OS_1 + kernel_1 1.28 A Note_1 Note_1 Note_1 E2 Appl-VI Processor, RAM, Disk YN OS_2 + kernel_2 1.27 B Note_2 Note_2 Note_2 E3 Appl-VI Processor, RAM, Disk NA OS_n + kernel_n 1.26 E Note_n Note_n Note_n
[0097] In the digital passport example above, each entry Ei corresponds to a development environment in which version VI of the application Appl is developed. These different development environments are distinguished from each other, for example, by the use of a different processor or RAM, or by the use of a different operating system, etc.
[0098] Such a digital passport, Pass-Appl-Vl, comprises ten fields in the chosen example; it may, of course, include more or fewer depending on the level of information that we want it to contain. Thus, a digital passport conforming to the present invention can include information relating to all the hardware components constituting all the servers and other computer entities involved in the development of the Appl application.
[0099] More specifically, the Pass-Appl-Vl digital passport includes: • a first field in which information relating to hardware components such as processors, memory, etc. of the equipment constituting a development environment is stored, • a second field indicating whether the QUIC protocol is supported by the Appl-Vl application for exchanging data (Y for yes and N for no), • a third field indicating whether the AES encryption protocol is supported by the Appl-V 1 application for exchanging data (Y for yes, N for no, NA for not applicable), • a fourth field indicating whether the TCP offload engine is supported by the Appl-Vl application (Y for yes and N for no), • a fifth field indicating the version of the operating system used, • a sixth field indicating the version of the Kubemetes solution used, • a seventh field including a CSR balance sheet value for "Corporate Social Responsibility" and / or the energy class of the Appl-Vl application, this value ranging from A to E and representing energy consumption in kilowatt-hours or kWh for a given usage period, • an eighth field comprising a quantity, in milligrams or mg, of recycled metal or rare material (in the chosen example, copper) included in all the components of the development environment, • a ninth field comprising a quantity, in milligrams or mg, of metal or rare material (in the chosen example, copper) included in all the components of the development environment, and finally • a tenth field containing information relating to the energy efficiency of the Appl-Vl application given in Watts per terabit or W / Tbits.
[0100] It should be noted that the digital passport Pass-Appl-V 1 thus described relates to a version VI of the Appl application and includes information concerning the different development environments in which this version VI of the Appl application was developed.
[0101] Thus, during the development of a second version V2 of the application Appl, a corresponding digital passport Pass-Appl-V2 is created, this digital passport Pass-Appl-V2 also including as many Pass-Appl-V2-Ei entries as there are development environments in which this second version V2 of the Appl application was developed.
[0102] In other implementations of the invention, a single digital passport, Pass-Appl, groups together all the information relating to all the versions of the Appl application that have been developed.
[0103] An example of such a digital Pass-Appl passport comprising three entries Appl-Vl-El, Appl-Vl-E2 and Appl-V2-El is shown below. Pass-Appl Applr Equipment Protocol QUIC Encryption AES TCP Offload Engine Operating System Version K 8S CSR Balance / Energy Class Quantity of Recycled Copper (mg) Quantity of Copper (mg) Energy Efficiency W / Tbits El Appl- VI Processor, RAM, Disk YY OS_1 + kernel_1 1.28 A Note_ 1 Note_ 1 Note_ 1 E2 Appl- VI Processor, RAM, Disk YN OS_2 + kernel_2 1.27 B Note_ 2 Note_ 2 Note_ 2 El Appl- V2 Processor, RAM, Disk NA OS_n + kernel_n 1.26 E Note_ n Note_ n Note_ n
[0104] Some of the information included in the digital passport, such as the representative value of the quantity of water used in the manufacture of the material components, the quantity of metals used in the manufacture of the material components, or the percentage of recycled metal for at least one of the metals used in the manufacture of said material components, is provided by the manufacturers of these various material components; other information is measured and / or calculated throughout the development of the Appl application and specific to the version and development environment of the Appl application. This is notably the case for information relating to the energy efficiency of the Appl-Vl application given in Watts per terabit or W / Tbits or the energy class.
[0105] Once the development environment 10 is deployed and the information provided by the manufacturers of the hardware and software components of the equipment constituting this development environment 10 is obtained, the LCM server 101 transmits a monitoring request MonReq of the various pieces of equipment constituting the development environment 10 to the monitoring entity 103 in a step E010. It should be noted that the transmission of the monitoring request MonReq is not conditional upon obtaining the information provided by the manufacturers of the hardware and software components of the equipment constituting the development environment 10, as this information can be obtained at any time but prior to the execution of step E060.
[0106] Upon receipt of this MonReq monitoring request, the monitoring entity 103 (step E020) distributes a GetMet data collection request to the equipment constituting the development environment 10 and more particularly to the computer nodes of group 102. The data intended to be collected concerns, for example, energy consumption, processor usage level, energy efficiency, etc.
[0107] Depending on the implementation, monitoring entity 103 broadcasts GetMet data collection requests periodically or non-periodically.
[0108] Upon receipt of a GetMet data collection request, the equipment constituting the development environment 10 proceeds to collect the information indicated in the GetMet data collection request.
[0109] Such equipment from group 102 constituting the development environment 10 then transmits the collected data to the monitoring entity 103 in Met messages (E030).
[0110] These Met messages can be issued periodically. In another implementation, the transmission of a Met message to the monitoring entity 103 can be triggered by the occurrence of an event such as, for example, a change in the value of electrical energy consumed beyond a certain threshold. In some implementations, for the same equipment constituting the development environment 10, some Met messages can be transmitted periodically and others when a given event has occurred.
[0111] In order to guarantee the authenticity and integrity of the collected data, each piece of equipment constituting the development environment 10 can, in a particular implementation of the present invention, sign the Met message intended to be transmitted to the monitoring entity 103 using an encryption key. The collected data may also be time-stamped.
[0112] The monitoring entity 103 receives the various Met messages transmitted by the various equipment constituting the development environment 10 (E040) and proceeds to transmit the collected data to the LCM server 101 (E050).
[0113] In one particular implementation, the monitoring entity 103 aggregates all the collected data and transmits it to the LCM server 101 in a single transmission. In another implementation, the monitoring entity 102 transmits the collected data following the receipt of each Met message. Regardless of the implementation chosen, the monitoring entity 103 can sign the data intended for transmission to the LCM server 101 using an encryption key to guarantee the authenticity and integrity of this data.
[0114] In a particular implementation of the solution that is the subject of the invention, the monitoring entity 103 can determine, prior to transmission to the LCM server 101, a value for the information to be transmitted. Thus, the monitoring entity 103 can determine an energy efficiency value using all the data collected by the various pieces of equipment constituting the development environment 10 and transmit only this overall value to the LCM server 101.
[0115] Similarly, the monitoring entity 103 can determine, prior to transmission to the LCM server 101, the value of the energy class of the application Appl by means of all the data collected by the various equipment constituting the development environment 10. Such a determination of an energy class value of the application Appl can be implemented by means of a neural network trained for this purpose.
[0116] In another particular implementation of the solution that is the object of the invention, it is the LCM server 101 itself that determines, for example, an energy efficiency value by means of the set of data transmitted by the monitoring entity 103.
[0117] Similarly, the LCM server 101 can determine the energy class value of the application Appl using the data transmitted by the monitoring entity 103. Such a determination of an energy class value of the application Appl can be implemented using a neural network trained for this purpose.
[0118] Once in possession of all the necessary information, the LCM 101 server completes the digital passport Pass-Appl-Vl by storing this information in the appropriate fields of the corresponding Ei entry.
[0119] In step E060, the LCM 101 server determines a digest of the Pass-Appl-Vl digital passport. In another implementation, a digest is determined for each entry Ei of the Pass-Appl-Vl digital passport.
[0120] These condensates are then transmitted (E070) to the shared register 13 in which they are stored (E080).
[0121] Digital passports and their corresponding summaries are stored on the LCM 101 server or on other dedicated equipment. The LCM 101 server or the dedicated equipment can be securely queried by a third party wishing to access the contents of a digital passport, as will be explained later.
[0122] To facilitate searching in the shared register 13, the digests transmitted by the LCM server 101 are associated with indicators relating to one or more fields of the digital passport. Thus, the digest 6FE42C8DFE42CC8DFE of the Pass-Appl-Vl-El entry is associated with an RSE indicator identifying the seventh field of the digital passport, which includes the energy class of the Appl-Vl application. Therefore, the following information: RSE_Class A_6FE42C8DFE42CC8DFE is transmitted to and stored in the shared register 13.
[0123] It is then possible to query the shared register 13 using different indicators, such as energy class, quantity of recycled copper, energy efficiency, etc., in order to obtain one or more digital passports meeting the chosen selection criteria.
[0124] Steps E010 to E080 can be implemented throughout the development of the Appl application, and the shared registry 13 contains a history of all Appl application developments. This makes it possible to determine the compatibility of a given application version with a production environment consisting of older generation equipment used during development. This backward compatibility information is of particular interest in the context of the circular economy because it helps to make the use of refurbished or second-hand equipment attractive, thus giving it a second life.
[0125] For each modification made to the application or to one of the equipment constituting the development environment, a new entry is created in an existing digital passport or a new digital passport is created.
[0126] In step E090, the shared registry 13 receives an App-Sel selection request for a digital passport for a given application. Such an App-Sel selection request can be issued by the application deployment management entity 12 or by a device belonging to an individual wishing to install an application on one of their user terminals. To this end, the App-Sel selection request includes an application identifier and optionally an indicator, such as the energy class or an operating system identifier or version. of an operating system, or information relating to the hardware of the individual user's terminal, or a version of the application already installed and for which an update is required, etc.
[0127] Upon receipt of this App-Sel selection request, the shared registry 13 identifies one or more digital passports or one or more entries of the same digital passport that satisfy the selection criteria included in the App-Sel selection request (E100).
[0128] Once the digital passport(s) are selected, the shared registry 13 transmits the corresponding digests to the application deployment management entity 12 (El 10). Once in possession of the digests, the application deployment management entity 12 can query (El20) the LCM server 1010 or any other equipment in which the digital passports are stored in order to obtain (E130) a copy of the selected digital passports.
[0129] When it is in possession of the information contained in the digital passports of which it has obtained a copy, the application deployment management entity 12 can then (El40) be deployed in a production environment 11 compliant with the development environment 10 corresponding to the entry in the selected digital passport, or updated to be compliant with this development environment 10. Such a production environment compliant with the development environment 10 can also be deployed specifically for the execution of this application. The application will then have the same behavior in this production environment 11 as it did in the corresponding development environment 10. In the case where the selection request is issued by an individual's device, the application deployment management entity 12 updates the user terminal as required in the request.
Claims
Demands
1. Method of generating, by an electronic device, at least one digital passport relating to an application intended to be deployed in at least one IT entity, said digital passport comprising at least one entry including information relating to at least one environment, said development environment, in which said application is developed.
2. Method of generating a digital passport according to claim 1 comprising: - obtaining said information relating to said at least one development environment from at least one monitoring entity of said at least one development environment.
3. Method of generating a digital passport according to claim 2, wherein obtaining said information relating to said at least one development environment is a response to the transmission, by said electronic device, of a request for information relating to a development environment.
4. Method of generating a digital passport according to claim 3, comprising: - adding said information relating to said at least one development environment in said at least one corresponding entry of the digital passport.
5. Method of generating a digital passport according to any one of the preceding claims, comprising, where the information relating to at least one development environment obtained corresponds to a development environment not listed in the digital passport: - the creation of a new entry corresponding to this new environment in said digital passport.
6. A method for generating a digital passport according to any one of the preceding claims, wherein the information relating to said at least one development environment belongs to a group comprising at least: - a value for the electricity consumption related to the development of the application, - a representative value for the amount of carbon generated by the development of the application, - a representative value for the amount of water used during the manufacturing, and / or cooling, and / or recycling of the hardware components used during the development of the application, - a list of metals used during the manufacturing of the hardware components used during the development of the application, - a quantity of metals used during the manufacturing of the hardware components used during the development of the application, - a percentage of recycled metal for at least one of the metals used during the manufacturing of said hardware components, - an identifier for at least one hardware component used during the development of the application.- an identifier of a version of at least one operating system and at least one hardware component used during the development of the application, - an identifier of at least one transport protocol supported by the application, - an identifier of a version of a compute node management system running the application.
7. Method of generating a digital passport according to any one of the preceding claims, comprising: - determining a summary of the information relating to at least one development environment included in at least one of said entries of said digital passport.
8. Method of generating a digital passport according to claim 7, comprising: - the transmission of said digest to at least one node contributing to a shared register.
9. Method of generating a digital passport according to claim 8, wherein an indicator relating to at least one of said pieces of information relating to at least one development environment is associated with said digest prior to said transmission.
10. Method of generating a digital passport according to claim 9, further comprising: - determining an indicator representing energy consumption related to the development of the application by means of at least one of said pieces of information relating to at least one development environment, said indicator representing energy consumption being stored in said at least one corresponding entry.
11. A method for selecting, by a first IT entity, at least one digital passport relating to an application intended to be deployed in at least a second IT entity, said digital passport comprising at least one entry containing information relating to at least one environment, said development environment, in which said application is developed, comprising: - the transmission, to at least one node contributing to a shared registry in which information relating to at least one digital passport is stored, of a request to obtain a digital passport relating to a given application, - the selection of at least one entry of said digital passport by means of at least one value of an indicator relating to at least one of said pieces of information relating to at least one development environment,- the transmission of said information relating to at least one development environment included in the selected entry to at least one orchestration entity intended to deploy a production environment of said application based on said information relating to at least one development environment.
12. A computer program comprising instructions for implementing a method for generating a digital passport relating to an application according to any one of claims 1 to 10, when said program is executed by a computer.
13. A computer program comprising instructions for implementing a method for selecting a digital passport relating to an application according to claim 11, when said program is executed by a computer.
14. Electronic device comprising: - a module for generating at least one digital passport relating to an application intended to be deployed in at least one IT entity, said digital passport comprising at least one entry including information relating to at least one environment, called development environment, in which said application is developed, - a transmission module configured to transmit said digital passport to at least one node contributing to a shared registry in which information relating to a plurality of digital passports relating to applications intended to be deployed in at least one other IT entity is stored.
15. A computer entity comprising: - a transmission module configured to transmit a request for a digital passport relating to an application intended for deployment in at least one other computer entity, to at least one node contributing to a shared registry in which information relating to at least one digital passport is stored, said digital passport comprising at least one entry containing information relating to at least one environment, referred to as the development environment, in which said application is developed, - a selection module configured to select at least one entry of said digital passport by means of of at least one value of an indicator relating to at least one of the said pieces of information relating to at least one development environment, a transmission module configured to transmit the said information relating to at least one development environment included in the selected input to at least one orchestration entity intended to deploy, select or update, a production environment of said application based on the said information relating to at least one development environment.
Citation Information
Patent Citations
Method and system for generating power utilization information for an application
US20150220127A1
System for providing application list and method therefor
US20180232113A1
Digital asset traceability and assurance using a distributed ledger
US20200401678A1