METHOD AND SYSTEM FOR DATA AGGREGATION FOR A COMMON MANAGEMENT PLATFORM FOR A VARIETY OF SUPERCOMPUTING SOLUTIONS
Patent Information
- Application Number
- DE602020045866
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-27
- Filing Date
- 2020-12-28
- Publication Date
- 2025-02-12
- Estimated Expiration
- 2040-12-28
AI Technical Summary
Current high-performance computing (HPC) platforms face challenges in managing and aggregating access to multiple intensive calculation solutions, such as high-performance calculation, supervised learning, and quantum calculations, due to complexity and redundancy issues, lacking a unified and secure interface for users to access diverse solutions efficiently.
A system utilizing microservices, including an agent microservice and calculation microservices, generates aggregated data accessible through a unified interface, reducing data redundancy and enabling secure, transparent access to multiple intensive calculation solutions by coordinating data access and authorization across different platforms.
This approach provides a unified governance framework that simplifies access to various intensive calculation solutions, reduces data redundancy, and ensures secure, transparent access, allowing users to leverage multiple solutions from a single interface while adapting to new technologies and maintaining evolutionary ergonomics.
Description
[0001] The invention relates to the field of high-performance computing, and more specifically to interfacing multiple high-performance computing solutions with different business logics onto a single platform. The invention relates in particular to a method for generating aggregated data accessible through an aggregated user interface within a platform that centralizes access to multiple high-performance computing solutions. Furthermore, the invention relates to a computer system for generating aggregated data capable of generating aggregated data accessible through an aggregated user interface within a platform that centralizes access to multiple high-performance computing solutions. [Previous art]
[0002] High-performance computing (HPC) is developing for both academic research and industry, particularly in technical fields such as aeronautics, energy, climatology, and life sciences. These calculations are generally implemented using clusters. The goal of these clusters is to overcome the limitations of existing hardware by pooling resources to enable the parallel execution of instructions and the aggregation of memory and disk capacity. A cluster is a set of computing resources (also called nodes or servers) interconnected by a network that can perform common operations. High-performance computing (HPC) is being adopted by a growing number of scientists to help them solve their complex problems.In particular, with the world's most powerful computer increasing by more than 50% between 2017 and 2018, the computing power of supercomputers continues to grow. Furthermore, there is an increasing number of computing centers (local, regional, national, and international) equipped with petaflop-class systems. Since it is not feasible for all users to invest in the IT architectures capable of deploying such computing power, some have specialized in providing access to these high-performance computing solutions.
[0003] Thus, recent years have seen the emergence of platforms for accessing high-performance computing solutions. For example, document EP3109759A1 discloses a system and method for managing and controlling version updates for web services deployed in a Service-Oriented Architecture (SOA) environment. The document describes, in particular: a dependency management module that receives version update notifications for web services; a mechanism for accessing a dependency database in response to the received notifications; a process for generating and providing users with information on the impact of version changes; and an approach for managing dependencies between different web services and evaluating the consequences of updates.
[0004] In particular, numerous HPC portals have been developed. Internet portals provide a common pathway for accessing information and services available on computer networks. Portals often offer a single point of access to data and applications. Furthermore, a portal can present a unified and personalized view of information to users.
[0005] Many HPC projects develop their own community-specific web portals, and some HPC cloud providers have developed web portals for their own use. The relationships between the portal and these information and storage systems are essential but complex to implement securely and efficiently. Data processed in HPC environments can be highly confidential (especially for industries or financial institutions). HPC portals must manage these constraints in how they run services on the core server (via impersonation, i.e., they run the service "as" an authenticated user), as well as in how they display or filter information within the HPC portal.
[0006] Furthermore, beyond computing power and high-performance computing, scientific users want access to intensive computing solutions such as quantum machines, quantum simulation, "Deep Learning" platforms or more broadly dedicated to the development of artificial intelligence solutions.
[0007] However, each of these solutions is hosted or made accessible by companies dedicated to one or the other of these technologies, and the simultaneous use of these different high-performance computing solutions becomes laborious.
[0008] Thus, with the multiplication of typologies of high-performance computing solutions and the complementarity of some of these solutions, it appears necessary to have a platform allowing access to different high-performance computing solutions in a homogenized and transparent manner without redundancy of information. [Technical problem]
[0009] The invention therefore aims to overcome the drawbacks of the prior art. In particular, the invention aims to provide a method for generating aggregated data accessible through an aggregated user interface, notably within the framework of unified governance of multiple high-performance computing solutions. This method allows for the efficient aggregation of access to the results of multiple high-performance computing solutions. Furthermore, the invention aims to provide a system for generating aggregated data accessible through an aggregated user interface. Such a system eliminates data redundancy between high-performance computing solutions and allows for a user interface that evolves and is adapted to each new high-performance computing solution. [Brief description of the invention]
[0010] To this end, the invention relates to a method for generating aggregated data accessible at the level of an aggregated user client interface within the framework of a unified governance of a plurality of high-performance computing solutions, said high-performance computing solutions comprising at least two solutions from among: a high-performance computing server, a server dedicated to supervised or unsupervised learning, and a server dedicated to quantum computing, unified governance being ensured at least in part by a computer system for generating aggregated data comprising: a proxy microservice, and at least one computing microservice for each of the high-performance computing solutions, said generation process comprising the steps of: Reception, by the proxy microservice, of access command information from a user client contained in a message from the aggregated interface, Determination of data accessible to the user client, by each of the computing microservices, said determination being based at least in part on the access command information transmitted by the proxy microservice, Determination of data to be aggregated, by the proxy microservice,From the accessible data determined by each of the computing microservices, said data to be aggregated consisting of a subset of the accessible data, generation of aggregated data from the data to be aggregated, by the proxy microservice, from the accessible data determined by each of the computing microservices, and transmission of the aggregated data, by the proxy microservice, to the aggregated interface of the user client.
[0011] The method according to the invention is implemented within a unified governance framework encompassing a plurality of high-performance computing solutions. This framework allows for the exposure, according to a single model, of a wide variety of high-performance computing models and application domains: High-Performance Parallel Computing, Artificial Intelligence, Deep Learning, and quantum computing simulation. This unified governance enables a general convergence of diverse fields seeking to exploit the power and flexibility of computing clusters or supercomputers, as well as their use in the cloud.
[0012] Existing platforms for accessing high-performance computing solutions are specialized in a particular computing method, and the software architectures involved are not able to handle the complexity of interacting with multiple high-performance computing solutions.
[0013] Similarly, while microservices are used in many areas of computing, they have not been proposed in a single architecture capable of aggregating data from or destined for different high-performance computing solutions, each with its own specific characteristics. Indeed, without a suitable structure, it is not easy to design an architecture capable of managing the specificities of each high-performance computing solution while coordinating them from a single point. Thus, current solutions are not capable of managing the schedulers of multiple high-performance computing solutions and processing flows representing highly heterogeneous system loads on equally heterogeneous hardware. Likewise, architectures based exclusively on microservices, proposed in other areas of computing, are not applicable to a solution that must aggregate several high-performance computing solutions.
[0014] Furthermore, a microservice, by definition, is a service that can "fit" within a virtual machine or a container, as these two objects can never allocate more physical resources than the physical server (node) that hosts them. Conversely, a single scientific computing job, particularly for a parallel application with distributed memory (the most common scenario), aggregates the power of dozens, hundreds, or even thousands of these physical servers (nodes). It is, therefore, akin to a macro-job and thus stands in direct opposition to the various virtualization models that have popularized the microservice approach.
[0015] Finally, most scientific computing applications, particularly in the broad field of professions using numerical simulation, were developed using very old models (20, 30 years old or even more), completely unsuitable for a connected, orchestrated, or dynamic discovery-based environment. Most of these applications cannot be integrated into a microservices framework. The idea here is to develop all the state-of-the-art middleware, itself in the form of microservices, to manage a large number of applications on one or more high-performance infrastructures, applications that cannot themselves conform to this model.
[0016] The present invention makes it possible to overcome this through the complementary use of computing microservices, each dedicated to an intensive computing solution, cooperating with a proxy microservice and an aggregate interface.
[0017] In particular, the method according to the invention allows the generation of aggregated data from an interface aggregating access to several high-performance computing solutions.
[0018] This process eliminates data redundancy between high-performance computing solutions, whether the data is sent to the computing solutions themselves or to a user client. Furthermore, this solution allows for a scalable user interface that adapts to each new high-performance computing solution.
[0019] Thus, the process according to the invention allows a solution offering a single entry point to different business logics (backends) and this with a unified ergonomics (e.g. standardized buttons, menus, workflow logics...).
[0020] In addition to providing an aggregate interface to integrate multiple high-performance computing solutions and make them compatible with conventional software products, the presence of different abstraction layers in the form of microservices allows for standardization of exchanges and standardization of views (interfaces).
[0021] Depending on other optional characteristics of the process, the latter may optionally include one or more of the following characteristics, alone or in combination. : The proxy microservice receives a request from an aggregate interface running on a user client and can select one or more compute microservices to operate on the request. This allows for efficient aggregation of access to a plurality of high-performance computing solutions. The proxy microservice provides the ability to make multiple parallel requests to multiple compute microservices and extract a common set of data from the outputs returned by the compute microservices. This allows for efficient aggregation of access to a plurality of high-performance computing solutions. The compute microservices can be called with parallel messages from the proxy microservice, and the information contained in response messages can be aggregated as results return to the proxy microservice. This allows for efficient aggregation of access to a plurality of high-performance computing solutions. The determination ofThe data aggregation process implements a keyword repository containing mappings between accessible data for each of the compute microservices. Using such a keyword repository accelerates the determination of the data to be aggregated and centralizes the endpoints and arguments used by the compute microservices and the proxy microservice. The process further includes the following steps: The proxy microservice determines redundant data from the accessible data determined by each of the compute microservices, and then transmits a single copy of each redundant data point to the aggregated user interface. This accelerates the process implementation and limits data stream transfers, thereby minimizing bandwidth usage, particularly at the governance IT system level.unified. The process further includes the following steps: Transmission of accessible data by the proxy microservice to the aggregated user client interface; and Determination of redundant data by the aggregated interface from the accessible data transmitted by the proxy microservice. In this case, the aggregated interface is responsible for selecting only one version of the redundant data. This reduces the processing load on the unified governance IT system. The IT system for generating aggregated data further includes at least one authorization repository. The generation process further includes the following steps: Receipt by the proxy microservice of an action command generated by the user client and contained in a message from the aggregated interface; Identification of authorized actions by each of the compute microservices, said identification being based at least onThe system consists of a section on action commands and an authorization repository; generation of a transformed action command by each of the computing microservices that have identified an authorized action; and transmission of the transformed action command by each computing microservice to the relevant high-performance computing solutions. Thus, from a single command issued by the user client, the unified governance system will be able to give instructions to each of the high-performance computing solutions concerned by that command. This contributes to homogenized, transparent, and secure access to a plurality of high-performance computing solutions from a single aggregated interface. The aggregated data is selected from: input files for calculations accessible and processable by several high-performance computing solutions; results of calculations accessible and processable by several computing microservices; energy consumption measurements; and other relevant data.Resource utilization measurements; System parameters; Descriptions of hardware infrastructures; Computing intensive process utilization index data; and Time to completion data. The computer system for generating aggregated data further comprising a tokenized security microservice, at least one security repository, and at least one authorization repository, said method comprising a procedure for managing authorizations granted to a user client comprising the steps of: Receiving, by the tokenized security microservice, access information from a user client; Authenticating the user client and determining, by the tokenized security microservice, at least one role attribute for the user client from the access command information and data stored in the security repository; Generating a token, by the tokenized security microservice, saidA token granting access to all high-performance computing solutions available to the user client, based on at least one defined role attribute, and the determination of permissions granted to the user client by at least one computing microservice, said determination being based on at least one defined role attribute and data contained in at least one authorization repository. Such a procedure enables single sign-on for all microservices with unified role and identity management. To this end, part of the security verification of unified governance in a runtime environment is advantageously performed by the tokenized security microservice of the aggregated data generation system. In particular, security is ensured via an authorization framework that can rely on role management, authorization policy management, and a token-based control mechanism.Identity management is delegated, as is authentication mechanism delegation. This process allows for the combination of highly flexible and generic authentication (provided by the security microservice) and highly precise authentication (provided by each of the high-performance computing solution microservices). Indeed, while the token-based security microservice can assign roles, it cannot perform granular authorization assignments to each of the functionalities of the different high-performance computing solutions. The token-based security microservice is therefore complemented, for example, by a catalog of special authorizations within the computing microservices. This catalog can be implemented as a table in the backend database (either in its own microservice or in a dedicated microservice). Thus, the method according to the invention offers authorization management within a solution providing a single point of entry to business logic.(backends) with different approaches and a unified user interface (e.g., standardized buttons, menus, workflow logic, etc.). A user client's access information comes from a message sent from an aggregated user client interface to the proxy microservice. The information then passes through the proxy microservice where it can be stored. Alternatively, a user client's access information comes from a message sent from an aggregated user client interface directly to the tokenized microservice. This simplifies the authorization process. The message from the user client contains the user client's identification data. This allows the system to determine which hardware device the connection is required from. A user client's access information comes from a message sent from an aggregated user client interface to the proxy microservice. It contains aThe procedure for managing action commands includes, within the framework of this action command management procedure, the computer system for generating aggregated data further comprises a tokenized security microservice, at least one security repository, and at least one authorization repository. The procedure may also include the identification of actions authorized by each of the compute microservices, based at least in part on the action command and on an authorization repository, and the compute microservices can, through the authorization repository, determine whether this action command refers to one or more actions authorized for a given user client.
[0022] Other implementations of this aspect include computer systems, devices, and corresponding computer programs stored on one or more computer storage devices, each configured to perform the actions of a process according to the invention. In particular, a system of one or more computers can be configured to perform specific operations or actions, including a process according to the invention, by installing software, firmware, hardware, or a combination of software, firmware, or hardware on the system. Furthermore, one or more computer programs can be configured to perform specific operations or actions by means of instructions that, when executed by a data processing device, compel the device to perform the actions.
[0023] Thus, the invention further relates to a computer system for generating aggregated data accessible at the level of an aggregated user client interface within the framework of unified governance of a plurality of high-performance computing solutions, said high-performance computing solutions comprising at least two solutions selected from: a high-performance computing server, a server dedicated to supervised or unsupervised learning, and a server dedicated to quantum computing, the unified governance being ensured at least in part by the computer system for generating aggregated data, said system comprising: at least one compute microservice for each of the high-performance computing solutions, at least one compute microservice being configured to determine data accessible to the user client, said determination being based at least in part on access command information, and a proxy microservice configured to: ∘ receive a message from the aggregate interface, said message containing access command information from a user client, ∘ Determine data to be aggregated from the accessible data determined by each of the compute microservices, ∘ Generate aggregated data from the data to be aggregated from the accessible data determined by each of the compute microservices, and ∘ Transmit the aggregated data to the aggregate interface of the user client.
[0024] Such a system enables unified governance by facilitating the general convergence of diverse domains seeking to leverage the power and flexibility of computing clusters or supercomputers, as well as their use in the cloud. Specifically, such a system according to the invention allows for the generation of aggregated data from an interface that aggregates access to multiple high-performance computing solutions. It eliminates data redundancy between these solutions, whether data is sent to the solutions themselves or to a user client. Furthermore, such a solution provides a scalable user interface, adaptable to each new high-performance computing solution.
[0025] Other advantages and features of the invention will become apparent from the following description, given by way of illustrative and non-limiting example, with reference to the attached Figures: Figure 1represents a diagram of a computer system for generating aggregated data according to the invention. Figure 2 represents a schematic illustration of a method for generating aggregated data according to the invention. Figure 3 represents a schematic illustration of a method for generating aggregated data according to an embodiment of the invention. Figure 4 represents a schematic illustration of an action command management procedure according to one embodiment of the invention. Figure 5 represents a schematic illustration of an authorization management procedure according to one embodiment of the invention. Figure 6 represents a diagram of a computer system for generating aggregated data according to an embodiment of the invention.
[0026] Aspects of the present invention are described with reference to flowcharts and / or functional diagrams of processes, devices (systems) and computer program products according to embodiments of the invention.
[0027] In the figures, flowcharts and functional diagrams illustrate the architecture, functionality, and operation of possible implementations of computer program systems, processes, and products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams can represent a system, device, module, or code, which comprises one or more executable instructions for implementing the specified logical function(s). In some implementations, the functions associated with the blocks may appear in a different order than that shown in the figures. For example, two blocks shown successively may, in fact, be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved.Each block in the schematic diagrams and / or flowchart, and combinations of blocks in the schematic diagrams and / or flowchart, can be implemented by special hardware systems that perform the specified functions or actions or carry out combinations of special hardware and computer instructions. [Description of the invention]
[0028] In the rest of the description, the expression " permissions management " corresponds to the meaning of the invention to the ability to manage, according to predetermined rules, access to high-performance computing solutions on the one hand and user rights on these solutions such as reading, writing, copying, executing, modifying, and total control.
[0029] The term " aggregated " Or " aggregationAggregation can refer to presenting data from multiple different sources in a single location. It can also refer to creating new data from at least two different data points. For example, this could refer to the total time to completion of a computing project, where that total time includes the time to completion on a first high-performance computing server and the time to completion on a second high-performance computing server, rather than simply adding the two times together.
[0030] The expression " aggregated interface " Or " aggregation interface "Can refer, within the meaning of the invention, to a graphical human-machine interface benefiting from a method for collecting and aggregating information from high-performance computing solutions. Furthermore, an aggregated interface can benefit from the organization of information according to one of the characteristics of the screen displaying said interface."
[0031] The term " Data)" corresponds to one or more files or one or more parameter values. The parameter values are intended for, generated by, or derived from data within high-performance computing solutions. Data, as defined in the invention, may in particular correspond to input files for calculations accessible and processable by several high-performance computing solutions, calculation results accessible and processable by several high-performance computing solutions, data on the time remaining before calculations are completed, values derived from energy consumption measurements, and values from resource usage measurements (network bandwidth, storage I / O, memory, CPU, GPU, etc.).), billing information, system parameter values in particular of systems implementing high-performance computing solutions or parameter values of hardware infrastructures hosting high-performance computing solutions.
[0032] The expression " high-performance computing solution "preferably corresponds to IT infrastructures capable of performing intensive or high-performance calculations such as: High-Performance Parallel Computing, Artificial Intelligence, Deep Learning, quantum computing and quantum computing simulation.
[0033] The term " microserviceThis corresponds to an application chain generally comprising a plurality of applications capable of executing one or more tasks. Microservices can be linked together via APIs such as a REST API. The presence of microservices within the framework of the invention allows for strong modularity and scalability of the solution, particularly with regard to the involvement of potentially very different high-performance computing solutions.
[0034] The expression " web portal or more simply PortalA portal can refer to an access tool for accessing various types of information and applications via a client system using network resources. A web browser can be a tool for displaying a portal page. However, a portal can also be integrated into other applications. Portals, as defined in the invention, are advantageously capable of presenting data from multiple sources, such as web applications, within a single aggregated web interface or browser interface. Furthermore, a portal offers the ability to display portlets within the aggregated interface.The portal configuration may include a portal definition with, for example, a file including Extensible Markup Language (XML), portlet definition files for all portlets associated with the portal, Java Server Pages (JSP), web application descriptors, images such as Graphics Interchange Format (GIF) files, deployment descriptors, configuration files, Java Archive (JAR) files that contain logical and formatting instructions for the portal application, and any other files necessary for a desired portal application.
[0035] The term " portletA portlet can refer to connectable user interface software components that are managed and displayed within a web portal. A portal page can be displayed as a collection of non-overlapping portlet windows, where each portlet window displays a portlet. Therefore, a portlet (or a collection of portlets) resembles a web-based application hosted within a portal.
[0036] The term " request "Request" can refer to a request for information, usually identified by a "link" on a portal page. A request can be initiated by "clicking" on a displayed symbol associated with the "link".
[0037] The expression " human-machine interface"In the context of the invention, this refers to any element enabling a human being to communicate with a computer, including, but not limited to, a keyboard and means that, in response to commands entered via the keyboard, display information and, optionally, allow selection of elements displayed on the screen using a mouse or touchpad. Another example is a touchscreen that allows the user to directly select elements on the screen by touching them with a finger or an object, and optionally display a virtual keyboard."
[0038] The term " customer side "Can refer to activities that can be performed on a client in a client-server network environment. Consequently, activities that can be executed on the server side can be indicated by the term "server-side" on a server in a client-server network environment.
[0039] The term " plurality" in the sense of the invention corresponds to at least two. Preferably it can correspond to at least three, more preferably to at least five and even more preferably to at least ten.
[0040] By "we mean to treat " calculate " execute " determine " display”, extract " compare or more broadly executable operation "Operations," as used in the invention, refers to an action performed by a device or processor unless the context indicates otherwise. In this context, operations relate to actions and / or processes of a data processing system, such as a computer system or electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities in the computer system's memory or other information storage, transmission, or display devices. These operations may be based on applications or software.
[0041] The terms or expressions " application " software " program code ", And " executable code "Code" refers to any expression, code, or notation within a set of instructions designed to trigger data processing to perform a specific function, either directly or indirectly (e.g., after conversion to another code). Examples of program code may include, but are not limited to, a subroutine, a function, an executable application, source code, object code, a library, and / or any other sequence of instructions designed for execution on a computer system.
[0042] By "we mean processor", as defined in the invention, at least one hardware circuit configured to execute operations according to instructions contained in a code. The hardware circuit may be an integrated circuit. Examples of a processor include, but are not limited to, a central processing unit, a graphics processing unit, an application-specific integrated circuit (ASIC), and a programmable logic circuit.
[0043] By "we mean couple ", in the sense of the invention, connected, directly or indirectly with one or more intermediate elements. Two elements can be coupled mechanically, electrically or linked by a communication channel.
[0044] Throughout the rest of the description, the same references are used to refer to the same elements.
[0045] As mentioned, numerous high-performance computing solutions are available and accessible to occasional users. However, there is no platform that allows for the unified and secure access to a multitude of these high-performance computing solutions.
[0046] The inventors therefore proposed a computer system 1 for generating aggregated data enabling, through the use of a plurality of microservices, unified governance and an aggregated interface for accessing a variety of services from third-party providers of high-performance computing solutions.
[0047] High-performance computing solutions generate a large amount of data, both from the execution of intensive calculations and from the monitoring of those calculations. Unified governance of multiple high-performance computing solutions will benefit from the implementation of an aggregated interface capable of transmitting received data to all relevant services and / or eliminating data redundancy between the computing solutions.
[0048] To achieve this, the inventors propose the use of a proxy microservice, positioned between an aggregated interface and computing microservices and configured to aggregate data in order to eliminate redundancy and, beyond that, to offer user clients new data from independent computing solutions.
[0049] Thus, the processes and systems developed by the inventors make it possible to combine ergonomics adapted to each new field and a centralization of information.
[0050] The invention therefore relates to a method of generating aggregated data accessible at the level of an aggregate interface 10 of a user client 2.
[0051] In particular, as illustrated in the figure 1 and as will be described later, the process of generating aggregate data and in particular unified governance can be ensured by an aggregate data generation computer system 1 comprising: a proxy microservice 20, and at least one computing microservice 50, 51, 52, 53 for each of the high-performance computing solutions.
[0052] The generation of aggregated data will, through the process according to the invention, make it possible to centralize data from a plurality of high-performance computing solutions for which the user client has a subscription.
[0053] Indeed, a method 200 for generating aggregated data according to the invention is advantageously implemented within the framework of a unified governance of a plurality of high-performance computing solutions 70. The high-performance computing solutions 70 within the framework of the present invention are, for example, selected from: a high-performance computing server 71, a server dedicated to supervised or unsupervised learning 72, and a server dedicated to quantum computing 73, in particular to quantum computing simulations. In particular, a server dedicated to supervised or unsupervised learning 72 can be a server dedicated to supervised or unsupervised deep learning. Preferably, the high-performance computing solutions comprise at least two of the solutions listed above, and more preferably at least three of the solutions listed above.Even more preferably, intensive computing solutions include a high-performance computing server 71 and a server dedicated to quantum computing 73, in particular to quantum computing simulations.
[0054] In addition, the aggregate interface 10 is advantageously composed of a plurality of portlets 11,12,13, each portlet being able to be associated with an intensive computing solution 71,72,73.
[0055] The computing microservices 50 within the framework of the present invention are for example selected from: a microservice 51 connected to a high-performance computing server 71, a microservice 52 connected to a server dedicated to supervised or unsupervised learning 72, and n microservices 53 connected to a server dedicated to quantum computing 73, in particular to quantum computing simulations.
[0056] As illustrated in the figure 2 ,a method 200 for generating aggregate data according to the invention comprises the steps of receiving 210 access command information from a user client, determining 220 of data accessible to the user client 2, determining 230 of data to be aggregated, generating 240 of aggregate data from the data to be aggregated and transmitting 250 of the aggregate data to the aggregate interface 10 of the user client 2.
[0057] Furthermore, a method 200 for generating aggregate data according to the invention may include steps of determining 260 redundant data from the accessible data determined by each of the computing microservices and transmitting 270 a single copy of each of the redundant data, by the proxy microservice to the aggregate interface 10 of the user client 2.
[0058] Furthermore, as will be detailed later, the method of generating aggregated data according to the invention can advantageously integrate a procedure 300 for managing an action command generated by the user client 2 and a procedure 100 for managing authorization.
[0059] Furthermore, the method of generating aggregated data according to the invention can advantageously integrate steps of submitting work, monitoring work, suspending and resuming work and modifying work parameters.
[0060] Advantageously, a method for generating aggregated data according to the invention may include a step of modifying the aggregated interface based on the permissions granted to the user client. Indeed, once identified, the user client will be able to benefit from new functionalities and therefore from an aggregated interface consistent with these functionalities.
[0061] Certain embodiments of the different stages of a process according to the invention will now be described in detail in connection with the figure 3 .
[0062] A method 200 for generating aggregated data according to the present invention comprises a receiving 210 access order information. In particular, this step may correspond to the reception of a message from an aggregate interface 10, and therefore from the user client 2.
[0063] As illustrated in the figure 3 , It is the proxy microservice 20 that will receive an Rq message from the user client 2 and generated via the aggregate interface 10. Indeed, preferably, at least part of the access command information is generated at the level of the aggregate interface 10 of the user client 2.
[0064] The Rq message may also include identification data for user client 2. This Rq message may be transmitted to the computing microservices 51, 52, 53.
[0065] Thus, the proxy microservice 20 can receive a request from an aggregate interface 10 running on a user client 2 and it can select one or more of the compute microservices 51, 52, 53 to operate on the request.
[0066] The proxy microservice 20 can provide the ability to make 211 several parallel Rq requests to several targets (i.e. computing microservices 51, 52, 53) and to extract a common set of data from the outputs returned by computing microservices 51, 52, 53.
[0067] One or more of the computing microservices 51, 52, 53 can analyze the request and identify data that they have and for which access is required.
[0068] In particular, a method 200 for generating aggregated data according to the present invention includes a determination of 220 data accessible to the user client 2.
[0069] Such a determination can be made by each of the computing microservices 51, 52, 53. It is based at least in part on the access command information received by the proxy microservice 20.
[0070] There are many possible variations in the implementation of determining the data accessible to the user client 2. Advantageously, each of the computing microservices 51, 52, 53 includes a data memory capable of storing the latest values of a plurality of parameters relating to the high-performance computing solution to which it is linked. Alternatively, the computing microservice can query a server hosting the high-performance computing solution to obtain the requested latest value.
[0071] In addition, a compute microservice 51, 52, 53 can periodically log information provided by the high-performance computing solution server to a logging library and store this information in a database. Alternatively, the proxy microservice 20 can periodically log information provided by the high-performance computing solution server to a logging library and store this information in a database.
[0072] Furthermore, the determination of accessible data may take into account authentication 120 of the user client 2, for example via a token-based security microservice 30, particularly in connection with a security repository 35, 36, 37, and at least one authorization repository 40 as will be described later, particularly in connection with the figure 5 .
[0073] A potentially accessible data point to aggregate can, for example, be selected from: Input files for calculations accessible and processable by multiple high-performance computing solutions: This allows user client 2 to have an aggregated view of the input files that can be processed by all high-performance computing solutions, thus providing a comprehensive overview of their activity. Calculation results accessible and processable by multiple computing microservices: This allows user client 2 to have an aggregated view of the calculation results processed by all high-performance computing solutions, thus providing a comprehensive overview of the accessible results of their activity. Energy consumption measurements of high-performance computing solutions: This allows user client 2 to have data summarizing the planned or actual energy consumption of scheduled high-performance calculations, thus providing a comprehensive overview of their activity's energy consumption.Resource usage metrics (network bandwidth, storage I / O, memory, CPU, GPU, etc.): Instead of having data scattered across different high-performance computing solutions, user client 2 receives aggregated resource usage data associated with their high-performance computing tasks. System parameters: User client 2 receives aggregated system parameters for the high-performance computing solutions used. Hardware infrastructure descriptions: User client 2 receives aggregated descriptions of the hardware infrastructure for the high-performance computing solutions used. High-performance computing process utilization index data: Beyond resource usage metrics, it is advantageous to receive a high-performance computing process utilization index value that aggregates data from the different computing solutions used.For example, this index value can be calculated from usage times and capacities used. This index value for the utilization of intensive computing processes can then be used, for instance, to calculate a cost of using intensive computing processes and establish a common bill. Data on the time remaining before calculations are complete: For example, if a problem is divided among several intensive computing solutions, then an aggregated time is proposed, reflecting the completion of operations for each server and allowing the expected results to be obtained in full.
[0074] Preferably, the aggregated data is selected from: Computational results accessible and processable by several computing microservices; Energy consumption measurements of intensive computing solutions; Resource usage measurements; Utilization index data for intensive computing processes; and Time to completion data for calculations.
[0075] Preferably, the aggregated data is selected from: Calculation results accessible and processable by several computing microservices; Energy consumption measurements; and Resource usage measurements.
[0076] Preferably, the aggregated data corresponds to index data on the use of intensive computing processes.
[0077] Once the determination 220 of data accessible to user client 2 has been carried out, the microservices that have identified an accessible data will be able to send 221 the data to the proxy microservice 20 in a response message Rp.
[0078] As illustrated in the figure 3 , a method 200 for generating aggregated data according to the present invention comprises a determination of 230 data points to be aggregated.
[0079] Preferably, determination 230 is performed by the proxy microservice 20. The determination 230 of data to be aggregated is for example carried out from the accessible data determined by each of the computing microservices 51, 52, 53.
[0080] The computing microservices 51, 52, 53 can be called with parallel messages from the proxy microservice 20 and the information contained in the response messages Rp can be aggregated (subject to configurable timeouts) as the results return to the proxy microservice 20.
[0081] In particular, the determination of 230 data to be aggregated can implement a keyword repository 21 containing correspondences of the data categories accessible for each of the computing microservices 51,52,53.
[0082] A method 200 for generating aggregated data according to the present invention comprises a generation 240 of an aggregated data from the data to be aggregated. In particular, this aggregate data is new data generated from several data, each originating directly or indirectly from different high-performance computing solutions 71,72,73 and not configured to work together.
[0083] This aggregated data is therefore unprecedented and allows user client 2 to provide information on an overall activity of intensive calculations distributed between several independent services.
[0084] The proxy microservice 20 can merge and format output data if necessary.
[0085] A method for generating aggregate Dag data according to the present invention then comprises a transmission 250 of said aggregated data.
[0086] As illustrated in the figure 3 , this transmission is preferably carried out by the proxy microservice 20 to the aggregate interface 10 of the user client 2.
[0087] Alternatively, the aggregated data can be passed to other microservices such as, for example: a remote visualization server 80, preferably a remote 3D visualization server, and a management microservice 55.
[0088] Advantageously, the aggregated data is transmitted to a remote visualization server 80, and the method according to the invention further comprises a step of establishing a communication link, preferably secure (e.g. encryption), between the user client 2 and the remote visualization server 80, a step of generating representation data from the aggregated data by the remote visualization server 80, and a step of transmitting the representation data to the user client 2 by the visualization server 80.
[0089] A method for generating aggregated data can also be used in the context of the invention to manage the data redundancy.
[0090] Indeed, within the framework of the unified governance of a plurality of high-performance computing solutions 70, the elimination of data redundancy, particularly at the level of an aggregated interface 10, can make it possible to streamline the transfer of information and limit errors.
[0091] Thus, a method according to the invention may advantageously include a further step 260 for determining redundant data. This step can be performed, for example, by the proxy microservice 20 and from the accessible data determined by each of the computing microservices. Furthermore, it may include a step 270 for transmitting a single copy of each of the redundant data points, by the proxy microservice 20, to the aggregated interface of the user client 2.
[0092] Alternatively, the accessible data is transmitted by the proxy microservice 20 to the aggregate interface of the user client 2 and it is the aggregate interface 10 which determines the redundant data.
[0093] A process for generating aggregated data may also include a action order management procedure 300. Within the framework of this action order management procedure 300, the computer system 1 for generating aggregated data may also include a token-based security microservice 30, at least one security repository 35,36,37 and at least one authorization repository 40.
[0094] As illustrated in the figure 4 , a action order management procedure 300 may include a reception 310, by the proxy microservice 20, of an action command generated by the user client 2. This action command may for example be contained in a message from the aggregate interface 10.
[0095] Procedure 300 may also include an identification 320 of actions authorized by each of the compute microservices 50, 51, 52, 53. This identification is preferably based at least in part on the action command and on an authorization repository 40, which will be described later. Thus, from a message issued by an aggregate interface 10 and containing an action command, the compute microservices can, thanks to the authorization repository 40, determine whether this action command refers to one or more actions authorized for a given user client 2.
[0096] Procedure 300 also includes the generation 330 of a transformed action command by each of the computing microservices 50, 51, 52, and 53 that have identified an authorized action. Indeed, while the action command generated by the aggregate interface takes a form that can be addressed by all computing microservices, for example, through a common keyword repository, the computing microservices can subsequently generate a transformed action command that can be addressed by the high-performance computing solutions. Since these solutions are independent, the transformed action commands will generally differ depending on the computing microservice.
[0097] Procedure 300 may also include a transmission 340 of the transformed action command, by each of the computing microservices 50,51,52,53 to the relevant intensive computing solutions 70.
[0098] A process for generating aggregated data may also include a procedure 100 for managing authorizations granted to a user client 2. Within the framework of this authorization management procedure 100, the computer system 1 for generating aggregated data may also include a token-based security microservice 30, at least one security repository 35,36,37 and at least one authorization repository 40.
[0099] As illustrated in the figure 5 , An authorization management procedure 100 according to the invention comprises the steps of receiving access information 110 from a user client 2, authenticating 120 the user client 2, determining 130 at least one role attribute for the user client 2, generating 140 a token, and determining 150 permissions granted to the user client 2.
[0100] In addition, a 100 authorization management procedure according to the invention may include steps of work submission, work monitoring, work suspension and resumption, and modification of work parameters.
[0101] Advantageously, a management method according to the invention may include a step of modifying the aggregated interface based on permissions granted to the user client. Indeed, once identified, the user client will be able to benefit from new functionalities and therefore from an aggregated interface consistent with these functionalities.
[0102] Thus, the authorization management procedure 100 according to the present invention includes a receiving 110 access information from a user client 2.
[0103] Preferably, at least part of the access information is generated at the aggregate interface 10 level of user client 2.
[0104] In particular, the reception can be done by the token security microservice 30. However, preferably, this information is transferred from the user client directly or indirectly to the proxy microservice 20, and then the proxy microservice 20 then transfers this access information, modified or not, to the token security microservice 30.
[0105] Access information can, for example, take the form of a message from the user client containing user client identification data 2.
[0106] Thus, the authorization management procedure 100 according to the present invention includes a 120 authentication of the user client 2.
[0107] Authentication can, for example, be performed by any module capable of implementing a single sign-on (SSO) protocol. Different protocols can be used to authenticate user client 2. Preferably, user client 2 authentication is performed using a protocol selected from among OAuth, a well-known protocol allowing a third-party application to access a web service, and SAML, or Security Assertion Markup Language, a computer standard defining a protocol for exchanging security-related information and enabling single sign-on for a user.
[0108] Advantageously, the authentication 120 of user client 2 is not performed by the proxy microservice 20. More preferably, the authentication is performed by a tokenized security microservice 30. There is thus a delegation, by the proxy microservice 20, of the control of identification, authentication and role assignment to the tokenized security microservice 30.
[0109] In particular, the token-based security microservice 30 is configured to access multiple directories or security repositories 35, 36, 37, preferably at least LDAP (Lightweight Directory Access Protocol) type directories, an information system storage and management service such as the well-known Active Directory® solution, and an authentication system such as the well-known Kerberos® authentication protocol. The security repository 35, 36, 37 can be a storage medium for keys and / or tokens, such as a database, a data file, or any other secure in-memory storage system. It is generally a secure medium for storing usernames, passwords, roles, and permissions. Preferably, it includes a role matrix and a subscription matrix.
[0110] In addition, the token-based security microservice 30 advantageously implements an OAuth-type protocol, and in particular OAuth 2.0.
[0111] Preferably, although the token security microservice 30 is part of a computer system 1 for generating aggregate data according to the invention, it is advantageously hosted on one or more different computer devices (e.g. servers), distinct from the computer device(s) hosting the proxy microservice 20 and / or the computing microservices 50, 51, 52, 53.
[0112] There are many possible variations in the implementation of user client 2 authentication. Advantageously, the tokenized security microservice can provide a very wide variety of authentication protocols but is not capable of providing optimized, fine-grained security controls. To address this, the inventors proposed delegating only a subset of controls to the tokenized security microservice. If the tokenized security microservice cannot provide sufficiently granular security controls for computationally intensive solutions, these controls will be delegated to the computing microservices.
[0113] In addition, the proxy microservice can record information provided by the user client on a logging library and store this information in a database.
[0114] Authentication 130 of user client 2 can also correspond to authentication of a developer client. Advantageously, the tokenized security microservice 30 will be invoked each time a third party contacts the proxy microservice and requires authentication.
[0115] Thus, the authorization management procedure 100 according to the present invention includes a determination 130 of at least one role attribute for user client 2.
[0116] Preferably, determination 130 is performed by the tokenized security microservice 30. The determination 130 of at least one role attribute for the user client 2 is for example performed from access command information and data stored in a security repository 35.
[0117] Once the user client is authenticated, the method according to the invention will generate a token allowing temporary access to resources managed by the computing microservices. In particular, the method according to the invention relies on authorizations controlled via predefined roles or role attributes.
[0118] Based on predetermined rules, a role is selected for a user client 2 and written into a user client identification token.
[0119] The token can, for example, take the form of a JWT token (JSON Web Token). It contains requests for the identity of the authenticated user client. Alternatively, the method according to the invention can implement a PASETO token (Platform-Agnostic Security Token), a Branca token, or a Macaroons token (Cookies with contextual warnings for decentralized authorization in the cloud according to Google®).
[0120] Preferably, authentication 120 and determination 130 of at least one role attribute for user client 2 is performed in accordance with the OAuth 2.0 protocol.
[0121] Specifically, the tokenized security microservice 30 processes a message from the proxy microservice 20 and extracts the access request. The tokenized security microservice 30 then compiles the list of access rights granted to user client 2 and requests a security token for the granted rights.
[0122] A token is then generated and transmitted to the proxy microservice 20 which in turn transmits it to the user client.
[0123] Thus, the authorization management procedure 100 according to the present invention includes a generation 140 of a token. In particular, this generated token allows access to all accessible high-performance computing solutions (i.e., for which the user client has permissions) to said user client 2 based on at least one determined role attribute.
[0124] However, this token does not generally allow for the precise definition of permissions granted to user client 2 for one or more high-performance computing solutions. Preferably, the generated token includes access rights to one or more high-performance computing solutions as well as a role characteristic for user client 2.
[0125] Thus, the authorization management procedure 100 according to the present invention then includes a determination of 150 permissions granted to user client 2.
[0126] Advantageously, the determination of permissions is based on at least one determined role attribute and data contained in a permissions repository 40.
[0127] The determination of authorizations 150 can for example be carried out by the proxy microservice or a calculation microservice.
[0128] Preferably, the determination of 150 authorizations is carried out by at least one microservice of calculation 50, 51, 52, 53.
[0129] For example, a high-performance computing solution may have more than 50 features, which must be multiplied by a distribution based on user roles and solutions. Thus, several hundred permissions typically need to be managed. Within the framework of this invention, a computing microservice is therefore advantageously coupled with a permissions catalog or permissions repository.40
[0130] This 40 authorization catalog or repository can be implemented as a table in the backend database (either in its own microservice or in a dedicated microservice).
[0131] Thus, at least part of the access control and authorization management is implemented at the level of each of the computing microservices.
[0132] This will make it possible to meet the very granular authorization needs of high-performance computing solutions while ensuring a high level of security provided by the use of authentication tokens.
[0133] There are planners or schedulers that, within a set of reserved resources, distribute computing tasks among computing resources and order them. However, these processes and devices only come into play after the computing resources have been allocated and do not allow an operator to quickly identify the nodes to be allocated.
[0134] Thus, the method according to the invention may also include a task planning step. Indeed, the method according to the invention applies to a unified governance of a plurality of high-performance computing solutions and it may advantageously include a step during which instructions received by the proxy microservice 20 can be processed in such a way as to organize their optimal execution by the different available high-performance computing solutions.
[0135] Preferably, the task planning step includes an update of a queue by each of the compute microservices 50, 51, 52, 53. In particular, the queue update can take into account a priority index value passed by user client 2.
[0136] The task planning stage may also involve the determination by at least one computing microservice of an amount of resource from a computing solution that will be allocated to a given task.
[0137] Furthermore, the task planning stage may involve transmitting parameter data to the high-performance computing solution responsible for executing a given task. This parameter data could, for example, consist of one or more input files, or a setting specific to the high-performance computing solution.
[0138] Preferably, the task planning stage may also include, when initiating a task, the transmission of environment parameter data such as identifiers of the working directories to be used, the data access paths or the libraries to be used.
[0139] In addition, the planning stage may include: monitoring of tasks (i.e. work) including determining the progress of work, recording application logs, recording results files, determining quantities of resources used, determining a credit value used, closing or suspending work, resuming suspended work, and modifying work parameters.
[0140] Preferably, the method according to the invention may include automated segmentation of a task into a plurality of subtasks assigned to several different high-performance computing solutions. Alternatively, a user may, via the aggregate interface, define the distribution of subtasks for the same project across several high-performance computing solutions. These subtasks may be executed sequentially or in parallel, depending on their specific characteristics.
[0141] From another perspective,the invention relates to a system 1 computer for generating aggregated data accessible at the level of an aggregate interface 10 of a user client 2 within the framework of a unified governance of a plurality of high-performance computing solutions 70.
[0142] In particular, a computer system 1 for generating aggregate data according to the invention includes a proxy microservice 20 and at least one computing microservice 50, 51, 52, 53 for each of the intensive computing solutions.
[0143] In addition, an example of a schematic diagram of system 1 is presented at the figure 6 . Such a computer system 1 for generating aggregate data according to the invention may also include: a token-based security microservice 30, at least one security repository 35,36,37, an authorization repository 40 and a remote viewing server 80, preferably a remote 3D viewing server.
[0144] Considering the system implementation according to the invention, it can be hosted by one or more computer servers. In particular, it comprises a set of microservices such as microservices implemented according to Node.js coding protocols or other technologies such as Go, Java / Kotlin / Scala, PHP, Python, Pharo, Elixir, Clojure, and Haskell.
[0145] Microservices can use configuration entities, such as Json files or XML files or similar representations, as inputs to provide the basic components of system logic, transformations, mapping and key management 1.
[0146] Each of the services or solutions (token-based security service, management service, high-performance computing solutions) accessible via the proxy microservice 20 can be supported by a corresponding microservice or a chain of microservices providing the implementation logic for the service provided. Within the method according to the invention, the microservices can be executed individually and separately within a security zone as microservice(s).
[0147] In particular, a computer system 1 for generating aggregated data according to the invention comprises a proxy microservice 20,configured to receive a message from an aggregate interface. Specifically, the message from the aggregate interface may contain access command information from a user client. This access command information may correspond to parameters for which the user client requests a value, or to data that the user client wishes to receive. The message from the aggregate interface may also contain user client identifier data.
[0148] The proxy microservice 20 is also configured to determine which data to aggregate from the available data. The determination of the available data is preferably performed by the compute microservices, for example, by selecting data stored in a data memory accessible to the compute microservice. The determination of the data to aggregate could, for example, be based on data stored in a data memory accessible to proxy microservice 20.
[0149] The proxy microservice 20 is also configured to generate aggregated data from the data to be aggregated. This generation can, for example, be based on predetermined calculation formulas stored in a data repository accessible to the proxy microservice 20. For example, depending on the accessible data and an aggregation repository containing predetermined calculation formulas, the proxy microservice 20 will generate aggregated data.
[0150] The proxy microservice 20 is also configured to transmit the aggregated data to the aggregated interface 10 of the user client 2.
[0151] Furthermore, the proxy microservice 20 can be configured to receive access information from a user client 2. The proxy microservice 20 can be coupled with an add-on to accommodate authorization policies specific to each microservice (business logic), thus standardizing the exchanges between the proxy microservice 20 and the tokenized security microservice 30. In particular, this can be used to synchronize user attributes (potentially of very different natures) with roles specific to the business logic / microservices.
[0152] The proxy microservice 20 is advantageously configured to route incoming requests to the appropriate microservice based on the specified endpoint, logic and / or arguments.
[0153] The computer system 1 for generating aggregated data according to the invention comprises at least one computing microservice 50, 51, 52, 53 for each of the high-performance computing solutions 70, 71, 72, 73. Each of the computing microservices 50, 51, 52, 53 can be connected to its respective high-performance computing solution in secure channels such as ssh connections, for "secure shell" according to Anglo-Saxon terminology, or Mosh for "mobile shell" according to Anglo-Saxon terminology.
[0154] Preferably, the computing microservices 50, 51, 52, 53 are configured to determine data accessible to user client 2. This determination is made in particular from access command information.
[0155] In addition, each of the computing microservices 50, 51, 52, 53, can be configured to determine permissions granted to user client 2. Indeed, once a role attribute has been determined, it can be transferred to a microservice which can, based on the value of the role attribute and the data contained in a permissions repository 40, determine permissions granted to user client 2.
[0156] In particular, the compute microservices 50, 51, 52, and 53 coupled with the proxy microservice 20 can be configured to point to (or be bound to) a specific service or server, respectively. Thus, when a compute microservice is called, a corresponding high-performance computing service is selected.
[0157] In particular, a computer system 1 for generating aggregated data according to the invention comprises a 30-token security microservice,configured to receive access information from a user client 2, to authenticate user client 2 and to determine at least one role attribute for user client 2 from access information and data stored in a security repository 35,36,37.
[0158] Preferably, the tokenized security microservice 30 is further configured to generate a token, said token enabling access to all high-performance computing solutions accessible to said user client 2 based on at least one determined role attribute.
[0159] Preferably, although the token-based security microservice 30 is part of a computer management system 1 according to the invention, it is advantageously hosted on one or more computer devices (e.g. servers) different from the computer device(s) hosting the proxy microservice 20 and / or the computing microservices 50, 51, 52, 53.
[0160] The 30 tokenized security microservice can be configured to route incoming requests to the appropriate service based on the specified endpoint, logic and / or arguments.
[0161] In particular, the tokenized security microservice 30 coupled with the proxy microservice 20 can be configured to point to (or be bound to) a particular service or server. The tokenized security microservice 30 can be configured to access a plurality of directories, preferably at least LDAP 35, Active Directory®< 36, and Kerberos®< 37 directories.
[0162] In addition, the tokenized security microservice 30 can advantageously be configured to allow the assignment of shared roles or specific roles; preferably it is configured to allow the assignment of a role shared by all computing microservices 50, 51, 52, 53.
[0163] Furthermore, a computer system 1 for generating aggregated data according to the invention may also include a microservice 55 for management. Such a management microservice can be connected to the computing microservices 50, 51, 52, and 53, the proxy microservice, and the token-based security microservice. Furthermore, this management microservice can be configured to distribute computing tasks among the computing resources and prioritize them. In particular, it can be configured to optimize task execution by the various available high-performance computing solutions.
[0164] Furthermore, the system 1d for generating aggregated data according to the invention may also include a remote viewing server 80, preferably a remote 3D visualization server.
[0165] Such a remote viewing server allows two user clients to run interactive 2D / 3D graphics applications on remote servers instead of their own system, and to open viewing sessions to control them remotely. Thus, all the computing and rendering of the graphics applications, including 3D rendering, is performed server-side on dedicated resources. Keyboard and mouse input from user client 2 is transferred to the server, which, in turn, encodes the graphics scene into pixels and sends the data back as a video stream to user client 2. User client 2 is then solely responsible for rendering the 2D video stream. Such a server allows work to be done exclusively on remote data without having to transfer it over the network.Indeed, as a general rule, calculation result files can be very large (from gigabytes to terabytes) and cannot be efficiently transferred over the Internet or private corporate networks. Furthermore, such remote visualization combined with the permission management according to the invention increases the security of the technology.
Claims
1. Method (200) for generating, by a computer system (1), an aggregated piece of data which is accessible at an aggregated interface (10) of a user client (2) from data originating from a plurality of supercomputing solutions (70), said supercomputing solutions (70) comprising at least two solutions from: a high performance computing server (71), a server dedicated to supervised or unsupervised learning (72), and a server dedicated to quantum computation (73), said computer system (1) comprising a proxy microservice (20) and at least one computing microservice (50, 51, 52, 53) for each of the supercomputing solutions, said generation method comprising the steps of: - receiving (210), by the proxy microservice (20), access control information from a user client (2) contained in a message from the aggregated interface (10), - determining (220) data accessible to the user client (2), by each of the computing microservices (50, 51, 52, 53), said determination being based at least in part on the access control information transmitted by the proxy microservice (20), - determining (230) data to be aggregated, by the proxy microservice (20), from the accessible data determined by each of the computing microservices (50, 51, 52, 53), said data to be aggregated consisting of a sub-part of the accessible data, - generating (240) an aggregated piece of data from the data to be aggregated, by the proxy microservice (20), from the accessible data determined by each of the computing microservices (50, 51, 52, 53), and - transmitting (250) the aggregated data, by the proxy microservice (20), to the aggregated interface (10) of the user client (2).
2. Method (100) for generating an aggregated piece of data according to claim 1, characterised in that the proxy microservice (20) receives a request from an aggregated interface (10) running on a user client (2) and may select one or more of the computing microservices (51, 52, 53) to operate on the request.
3. Method (100) for generating an aggregated piece of data according to claim 1 or 2, characterised in that the proxy microservice (20) provides the ability to make (211) several parallel requests (Rq) to several computing microservices (51, 52, 53) and to extract a common set of data from the outputs returned by the computing microservices (51, 52, 53).
4. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that the determination (230) of data to be aggregated uses a keyword repository (21) comprising correspondences between data which are accessible for each of the computing microservices (50, 51, 52, 53).
5. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that the computing microservices (51, 52, 53) may be called with messages from the proxy microservice (20) in parallel, and the information contained in response messages (Rp) may be aggregated as results are returned to the proxy microservice (20).
6. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that it further comprises the following steps: - determining (260) data which are redundant, by the proxy microservice (20), from the accessible data determined by each of the computing microservices, and - transmitting (270) a single copy of each of the data which are redundant, by the proxy microservice (20), to the aggregated interface of the user client (2).
7. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that it further comprises the following steps: - transmitting (250) the accessible data, by the proxy microservice (20), to the aggregated interface of the user client (2); and - determining (260) data which are redundant, by the aggregated interface (10), from accessible data transmitted by the proxy microservice (20) - the aggregated interface (10) displaying a single copy of each of the data which are redundant.
8. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that the aggregated data is transmitted to a remote visualisation server (80), and in that the method (100) for generating an aggregated piece of data further comprises a step for establishing a communication link between the user client (2) and the remote visualisation server (80), a step for generating representation data from the aggregated data by the remote visualisation server (80), and a step for transmitting the representation data to the user client (2) by the visualisation server (80).
9. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that the computer system (1) for generating an aggregated piece of data further comprises at least one authorisation repository (40), and in that the generation method further comprises the following steps: - receiving (310), by the proxy microservice (20), an action command generated by the user client (2) and contained in a message from the aggregated interface (10); - identifying (320) authorised actions, by each of the computing microservices (50, 51, 52, 53), said identification being based at least in part on the action command and on an authorisation repository (40); - generating (330) a transformed action command, by each of the computing microservices (50, 51, 52, 53), having identified an authorised action; and - transmitting (340) the transformed action command, by each of the computing microservices (50, 51, 52, 53), to the relevant supercomputing solutions (70).
10. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that the aggregated data is selected from: - computing input files that may be accessed and processed by several supercomputing solutions; - computing results that may be accessed and processed by several computing microservices; - energy consumption measurements; - resource usage measurements; - system parameters; - descriptions of hardware infrastructures; - usage index data for supercomputing processes; and - duration data before completion of the computing.
11. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that the computer system (1) for generating an aggregated piece of data further comprises a token-based security microservice (30), at least one security repository (35, 36, 37), and at least one authorisation repository (40), said method comprising a procedure (100) for managing the authorisations granted to a user client (2) comprising the steps of: - receiving (110), by the token-based security microservice (30), access information from a user client (2), - authenticating (120) the user client (2) and determining (130), by the token-based security microservice (30), at least one role attribute for the user client (2) from the access control information and data stored in the security repository (35, 36, 37), - generating (140) a token, by the token-based security microservice (30), said token allowing access to all the supercomputing solutions accessible to said user client (2) as a function of the at least one determined role attribute, and - determining (150) authorisations granted to the user client (2), by the at least one computing microservice (50, 51, 52, 53), said determination being based on the at least one determined role attribute and data contained in the at least one authorisation repository (40).
12. Method (100) for generating an aggregated piece of data according to claim 11, characterised in that the access information of a user client (2) comes from a message sent from an aggregated interface (10) of the user client (2) to the proxy microservice (20).
13. Method (100) for generating an aggregated piece of data according to one of the preceding claims, characterised in that it comprises an action command management procedure (300) and in that, as part of this action command management procedure (300), the computer system (1) for generating an aggregated piece of data further comprises a token-based security microservice (30), at least one security repository (35, 36, 37) and at least one authorisation repository (40), the action command management procedure (300) comprising an identification (320) of actions authorised by each of the computing microservices (50, 51, 52, 53) based at least in part on the action command and on said authorisation repository (40), and in that the computing microservices can, thanks to the authorisation repository (40), determine whether this action command refers to one or more actions authorised for a given user client (2).
14. Computer system (1) for generating an aggregated piece of data which is accessible at an aggregated interface (10) of a user client (2) from data from a plurality of supercomputing solutions (70), said supercomputing solutions (70) comprising at least two solutions from: a high performance computing server (71), a server dedicated to supervised or unsupervised learning (72), and a server dedicated to quantum computation (73), the computer system (1) comprising: - at least one computing microservice (50, 51, 52, 53) for each of the supercomputing solutions, the at least one computing microservice (50, 51, 52, 53) being configured to determine data which are accessible to the user client (2), said determination being based at least in part on access control information, and - a proxy microservice (20) configured to: - receive a message from the aggregated interface (10), said message comprising access control information from a user client (2), - determine data to be aggregated from the accessible data determined by each of the computing microservices (50, 51, 52, 53), said data to be aggregated consisting of a sub-part of the accessible data determined by the at least one computing microservice (50, 51, 52, 53), - generate an aggregated piece of data from the data to be aggregated from the accessible data determined by each of the computing microservices (50, 51, 52, 53), and - transmit the aggregated piece of data to the aggregated interface (10) of the user client (2).