FR3144884A1 - METHOD AND SERVER FOR MANAGING ACCESS RIGHTS TO SHARED RESOURCES - Google Patents
METHOD AND SERVER FOR MANAGING ACCESS RIGHTS TO SHARED RESOURCES Download PDFInfo
- Publication number
- FR3144884A1 FR3144884A1 FR2300208A FR2300208A FR3144884A1 FR 3144884 A1 FR3144884 A1 FR 3144884A1 FR 2300208 A FR2300208 A FR 2300208A FR 2300208 A FR2300208 A FR 2300208A FR 3144884 A1 FR3144884 A1 FR 3144884A1
- Authority
- FR
- France
- Prior art keywords
- client
- server
- resource
- access rights
- clients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Storage Device Security (AREA)
- Telephonic Communication Services (AREA)
Abstract
L’invention divulgue une méthode de gestion d’au moins une ressource d’un ensemble de ressources fournies par une pluralité de clients comprenant, ladite méthode étant mise en œuvre par un serveur et comprenant: la définition, par un serveur, dans une structure définissant des droits d’accès pour un ensemble de ressources fournies par une pluralité de clients, et à la réception d’une première requête d’un premier client de ladite pluralité de clients, des droits d’accès d’au moins une ressource fournie par ledit premier client; la réception d’une requête d’une premier client de ladite pluralité de clients, demandant l’accès à au moins une ressource fournie par un deuxième client, la fourniture, par ledit serveur de l’accès à ladite au moins une ressource audit premier client si les droits d’accès le permettent. Figure de l’abrégé : Figure 2 The invention discloses a method for managing at least one resource of a set of resources provided by a plurality of clients comprising, said method being implemented by a server and comprising: definition, by a server, in a structure defining access rights for a set of resources provided by a plurality of clients, and upon receipt of a first request from a first client of said plurality of clients, access rights of at least one resource provided by said first customer; receiving a request from a first client of said plurality of clients, requesting access to at least one resource provided by a second client, providing, by said server, access to said at least one resource to said first client if access rights allow it. Abstract Figure: Figure 2
Description
La présente divulgation relève du domaine du partage des ressources informatiques. Plus particulièrement, elle relève du domaine de la gestion des droits d’accès à des ressources informatiques partagées.This disclosure relates to the field of sharing computing resources. More specifically, it relates to the field of managing access rights to shared computing resources.
Le partage, ou mutualisation, de ressources informatiques consiste à partager, entre plusieurs acteurs, des ressources détenues par les différents acteurs.Sharing, or pooling, of IT resources consists of sharing, between several actors, resources held by the different actors.
Le partage de ressources peut s’opérer entre plusieurs clients d’au moins un serveur, qui envoient des requêtes au serveur pour partager leurs ressources et accéder à celles d’autres clients.Resource sharing can occur between multiple clients of at least one server, which send requests to the server to share their resources and access those of other clients.
Le partage de ressources apporte des bénéfices aux clients dans de nombreux domaines.Resource sharing brings benefits to customers in many areas.
Par exemple, les clients peuvent partager des fichiers, mais aussi des bases d’entrainement de moteurs d’apprentissage automatique afin de mutualiser leurs bases d’apprentissage. La mutualisation de ressources peut encore par exemple porter sur des éléments fédérés de jumeaux numériques.For example, customers can share files, but also training bases of machine learning engines in order to pool their learning bases. The pooling of resources can also, for example, concern federated elements of digital twins.
Cependant, le partage d’une ressource par un client comporte le risque d’accès non désiré à la ressource par des tiers, ou d’usage abusif de la ressource par un autre client.However, sharing a resource by a client carries the risk of unwanted access to the resource by third parties, or misuse of the resource by another client.
Ce risque est particulièrement fort lorsqu’il existe une différence importante d’importance entre deux clients, et peut freiner l’adoption de solutions de mutualisation de ressources par des clients.This risk is particularly high when there is a significant difference in importance between two customers, and can hinder the adoption of resource pooling solutions by customers.
Il y a donc besoin de solutions de partage de ressource entre plusieurs clients, permettant à chaque client de contrôler les droits d’accès aux ressources qu’il fournit.There is therefore a need for resource sharing solutions between multiple clients, allowing each client to control the access rights to the resources it provides.
La présente divulgation vient améliorer la situation.This disclosure improves the situation.
Il est proposé une méthode de gestion d’au moins une ressource d’un ensemble de ressources fournies par une pluralité de clients, ladite méthode étant mise en œuvre par au moins un serveur et comprenant : la définition, par l’au moins un serveur, dans une structure définissant des droits d’accès pour un ensemble de ressources fournies par une pluralité de client, et à la réception d’une première requête d’un premier client de ladite pluralité de clients, des droits d’accès d’au moins une ressource fournie par ledit premier client ; la réception, par l’au moins un serveur, d’une deuxième requête d’un deuxième client de ladite pluralité de clients, demandant l’accès à l’au moins une ressource fournie par le premier client ; la fourniture, par l’au moins un serveur, de l’accès à l’au moins une ressource audit deuxième client si les droits d’accès le permettent.A method for managing at least one resource of a set of resources provided by a plurality of clients is proposed, said method being implemented by at least one server and comprising: defining, by the at least one server, in a structure defining access rights for a set of resources provided by a plurality of clients, and upon receipt of a first request from a first client of said plurality of clients, access rights for at least one resource provided by said first client; receiving, by the at least one server, a second request from a second client of said plurality of clients, requesting access to the at least one resource provided by the first client; providing, by the at least one server, access to the at least one resource to said second client if the access rights allow it.
On entend par "structure" une organisation de données permettant de formaliser des données informatiques. Une structure peut par exemple être un tableau ou une base de données.A "structure" is an organization of data that allows computer data to be formalized. A structure can, for example, be a table or a database.
On entend par "ressource" un élément utilisable par une application pour son exécution. Une ressource peut être:
- une ressource matérielle, tel qu'une ressource de calcul, une ressource mémoire, une ressource réseau, etc.
- du contenu pouvant être utilisé par des applications, tels que du contenu multimédia, des lignes de codes, des mots de passe, etc. Le contenu peut être par exemple défini dans des fichiers ou bases de données, des modèles entraînés grâce à du contenu fourni par le premier client, etc.
- une API permettant l'exécution d'une fonction spécifique.
- a hardware resource, such as a computing resource, a memory resource, a network resource, etc.
- content that can be used by applications, such as multimedia content, lines of code, passwords, etc. Content can be for example defined in files or databases, models trained using content provided by the first client, etc.
- an API that allows a specific function to be executed.
On entend par "client" une entité envoyant des requêtes au serveur afin de fournir du contenu, définir des droits d'accès et/ou accéder à du contenu. Un client peut par exemple être défini par un terminal utilisateur, un utilisateur d'un terminal, une entreprise ou une application exécutée par exemple dans une machine virtuelle ou un conteneur.A "client" is an entity that sends requests to the server to provide content, set access rights, and/or access content. A client can be defined as a user terminal, a user of a terminal, an enterprise, or an application running in a virtual machine or container, for example.
Ceci permet un partage de ressources entre plusieurs clients, tout en permettant à chaque client de contrôler les droits d’accès aux ressources qu’il fournit. Dans d’autres termes, la méthode proposée permet d’orchestrer la mutualisation de ressources entre plusieurs clients avec une sécurité renforcée.This allows for resource sharing between multiple clients, while allowing each client to control access rights to the resources it provides. In other words, the proposed method allows for orchestrating resource pooling between multiple clients with enhanced security.
Selon un autre aspect, il est proposé un serveur de gestion d’au moins une ressource d’un ensemble de ressources fournies par une pluralité de clients comprenant : un accès à un ensemble de ressources fournies par une pluralité de clients; un accès à une structure définissant des droits d’accès pour l’ensemble de ressources; au moins une unité de calcul configurée pour : définir dans ladite structure, à la réception d’une première requête d’un premier client de ladite pluralité de clients, les droits d’accès d’au moins une ressource fournie par ledit premier client; recevoir une requête d’un deuxième client de ladite pluralité de clients, demandant l’accès à au moins une ressource fournie par le premier client ; fournir l’accès à ladite au moins une ressource audit deuxième client si les droits d’accès le permettent.In another aspect, a server is proposed for managing at least one resource of a set of resources provided by a plurality of clients comprising: access to a set of resources provided by a plurality of clients; access to a structure defining access rights for the set of resources; at least one computing unit configured to: define in said structure, upon receipt of a first request from a first client of said plurality of clients, the access rights of at least one resource provided by said first client; receive a request from a second client of said plurality of clients, requesting access to at least one resource provided by the first client; provide access to said at least one resource to said second client if the access rights allow it.
On entend par « unité de calcul » un composant électronique apte à effectuer des calculs électroniques ou informatiques pour effectuer une fonction déterminée. Une unité de calcul peut désigner tout type de processeur ou composant électronique apte à effectuer des calculs numériques. Par exemple, une unité de calcul peut être un circuit intégré, un ASIC (de l’acronyme anglais « Application-Specific Integrated Circuit », littéralement en français « circuit intégré propre à une application », un microcontrôleur, un microprocesseur, un DSP (de l’acronyme anglais « Digital Signal Processor », littéralement en français « processeur de signal numérique »), un processeur, un GPU (de l’acronyme anglais « Graphics Processing Unit », littéralement en français « unité de calcul graphique »). Une unité de calcul selon l’invention n’est pas limitée à un type particulier d’architecture de calcul. Par exemple, un processeur peut mettre en œuvre une architecture de type Harvard ou Von Neumann.The term “computing unit” means an electronic component capable of performing electronic or computer calculations to perform a specific function. A computing unit may designate any type of processor or electronic component capable of performing digital calculations. For example, a computing unit may be an integrated circuit, an ASIC (from the English acronym “Application-Specific Integrated Circuit”, literally in French “integrated circuit specific to an application”, a microcontroller, a microprocessor, a DSP (from the English acronym “Digital Signal Processor”, literally in French “digital signal processor”), a processor, a GPU (from the English acronym “Graphics Processing Unit”, literally in French “graphics computing unit”). A computing unit according to the invention is not limited to a particular type of computing architecture. For example, a processor may implement a Harvard or Von Neumann type architecture.
Selon un autre aspect, il est proposé un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie d’une méthode telle que définie dans les présentes lorsque ce programme est exécuté par un processeur.According to another aspect, there is provided a computer program comprising instructions for implementing all or part of a method as defined herein when this program is executed by a processor.
Selon un autre aspect, il est proposé un support d’enregistrement non transitoire, lisible par un ordinateur, sur lequel est enregistré un tel programme.According to another aspect, there is provided a non-transitory, computer-readable recording medium on which such a program is recorded.
Selon un autre aspect, il est proposé un dispositif informatique comprenant au moins une unité de calcul configurée pour exécuter tout ou partie d’une méthode telle que définie dans les présentes.According to another aspect, there is provided a computing device comprising at least one computing unit configured to execute all or part of a method as defined herein.
Les caractéristiques exposées dans les paragraphes suivants peuvent, optionnellement, être mises en œuvre, indépendamment les unes des autres ou en combinaison les unes avec les autres :The features set out in the following paragraphs may, optionally, be implemented, independently of each other or in combination with each other:
Avantageusement, la méthode est mise en œuvre par au moins une unité de calcul d’un hyperviseur dudit serveur apte à lire et écrire ladite structure.Advantageously, the method is implemented by at least one computing unit of a hypervisor of said server capable of reading and writing said structure.
Ceci permet de renforcer la sécurité de la gestion des droits d’accès.This helps to strengthen the security of access rights management.
Avantageusement, la méthode comprend une notarisation électronique de chaque requête relative à une ressource dudit ensemble par ladite au moins une unité de calcul de l’hyperviseur.Advantageously, the method comprises an electronic notarization of each request relating to a resource of said set by said at least one computing unit of the hypervisor.
On entend par "Notarisation électronique" une certification et un archivage électroniques de la date, de l'origine et de la destination d'une requête."Electronic Notarization" means an electronic certification and archiving of the date, origin and destination of a request.
Ceci permet de conserver et de certifier un historique des droits d’accès, et des requêtes d’accès aux ressources.This allows the retention and certification of a history of access rights and requests for access to resources.
Avantageusement, la méthode comprend une synchronisation, par ladite au moins une unité de calcul de l’hyperviseur, desdits droits d’accès avec au moins un hyperviseur distant exécuté par au moins une unité de calcul distante sur au moins un serveur distant.Advantageously, the method comprises a synchronization, by said at least one computing unit of the hypervisor, of said access rights with at least one remote hypervisor executed by at least one remote computing unit on at least one remote server.
Ceci permet de synchroniser des droits d’accès entre plusieurs serveurs, et donc de conserver des droits d’accès à jour entre les différents serveurs pour un nombre de ressources aussi élevé que possible entre des serveurs recevant des requêtes différentes sur en ensemble de ressources partagées.This allows access rights to be synchronized between multiple servers, and therefore to keep access rights up to date between different servers for as many resources as possible between servers receiving different requests on a set of shared resources.
Avantageusement, la méthode comprend une communication du serveur avec au moins un serveur central configuré pour maintenir une structure de droits d’accès de référence.Advantageously, the method comprises a server communication with at least one central server configured to maintain a reference access rights structure.
On entend par "serveur central" un serveur centralisant un traitement pour le compte de plusieurs serveurs.A "central server" means a server that centralizes processing on behalf of multiple servers.
Ceci permet de centraliser, pour le compte de plusieurs serveurs, la gestion de la synchronisation des droits des clients, et donc de faciliter la synchronisation de la gestion des droits d’accès entre les serveurs.This makes it possible to centralize, on behalf of several servers, the management of the synchronization of client rights, and therefore to facilitate the synchronization of the management of access rights between servers.
Avantageusement, ladite méthode est mise en œuvre par au moins une unité de calcul d’une virtualisation au niveau du système d’exploitation exécutée par un hyperviseur, ladite virtualisation au niveau du système d’exploitation étant apte à lire et écrire ladite structure.Advantageously, said method is implementation by at least one computing unit of a virtualization at the operating system level executed by a hypervisor, said virtualization at the operating system level being capable of reading and writing said structure.
On entend par "virtualisation au niveau du système d'exploitation" une instance utilisateur fournissant un système d'exploitation virtuel. Une virtualisation au niveau du système d'exploitation peut par exemple être nommé dans certains types de systèmes d'exploitation conteneur, serveur privé virtuel, partition, environnement virtuel ou noyau virtuel. Un conteneur contient les éléments nécessaires à la virtualisation."OS-level virtualization" means a user instance that provides a virtual operating system. An OS-level virtualization can be called, for example, in some types of operating systems, a container, virtual private server, partition, virtual environment, or virtual kernel. A container contains the elements necessary for virtualization.
Ceci permet une grande flexibilité dans le déploiement des droits d’accès aux ressources, car la gestion des droits d’accès peut être implémentée au sein de systèmes d’exploitation virtuels exécutables par des hyperviseurs déjà déployés.This allows great flexibility in the deployment of resource access rights, as access rights management can be implemented within virtual operating systems executable by already deployed hypervisors.
Avantageusement, ladite au moins une ressource est un modèle d’apprentissage machine entraîné avec des données fournies par ledit premier client.Advantageously, said at least one resource is a machine learning model trained with data provided by said first client.
Ceci permet de partager l’entraînement de modèles d’apprentissage machine tout en garantissant à chaque client fournissant des données d’apprentissage le contrôle sur les autres clients ayant accès au produit de l’entraînement.This allows the training of machine learning models to be shared while ensuring that each client providing training data has control over which other clients have access to the training product.
Avantageusement, la deuxième requête est une requête d’utilisation du modèle d’apprentissage machine sur des données fournies par le deuxième client ; la méthode comprend : l’envoi, par ledit serveur, d’un résultat de ladite utilisation du modèle d’apprentissage machine au deuxième client ; la réception, par ledit serveur, d’un retour dudit deuxième client sur ledit résultat ; le déclenchement, par ledit serveur : d’une phase d’amélioration dudit modèle à partir dudit retour, et d’une association audit modèle amélioré de droits d’accès accordés par ledit deuxième client.Advantageously, the second request is a request to use the machine learning model on data provided by the second client; the method comprises: sending, by said server, a result of said use of the machine learning model to the second client; receiving, by said server, feedback from said second client on said result; triggering, by said server: a phase of improving said model from said feedback, and an association with said improved model of access rights granted by said second client.
On entend par "déclenchent" l'entraînement d'une ou plusieurs actions. Le déclenchement d'actions par l'au moins une unité de calcul peut par exemple consister en l'exécution des actions par l'unité de calcul, ou l'envoi d'instructions à une unité de calcul distante d'effectuer les actions. Par exemple, l'unité de calcul distante peut être une unité de calcul d'un serveur central, et l'au moins une unité de calcul peut fournir le retour au serveur central pour réaliser l'amélioration du modèle sur le serveur central."Trigger" means to cause one or more actions to be performed. Triggering actions by the at least one computing unit may include, for example, the computing unit executing the actions, or sending instructions to a remote computing unit to perform the actions. For example, the remote computing unit may be a computing unit of a central server, and the at least one computing unit may provide feedback to the central server to perform the model improvement on the central server.
On entend par "phase d'amélioration" une phase d'entraînement du modèle comprenant une amélioration de l'entraînement préalable du modèle. Par exemple, la phase d'amélioration peut être une phase d'apprentissage par renforcement et ledit résultat peut être une récompense accordée par le deuxième client.An "improvement phase" means a model training phase that includes an improvement of the prior training of the model. For example, the improvement phase may be a reinforcement learning phase and said outcome may be a reward granted by the second client.
On entend par "retour" (en anglais "feedback") une indication fournie par le deuxième client de la qualité du résultat fourni. Par exemple, dans le cadre d'un apprentissage par renforcement, le retour peut être une récompense"Feedback" is an indication provided by the second client of the quality of the result provided. For example, in reinforcement learning, the feedback can be a reward
Ceci permet d’entraîner un modèle avec des données fournies par plusieurs clients, tout en s’assurant à tout moment que l’utilisation du modèle est subordonnée à la fourniture de droits d’accès par tous les clients ayant contribué à l’entraînement.This allows a model to be trained with data provided by multiple clients, while ensuring at all times that use of the model is conditional on the provision of access rights by all clients who contributed to the training.
Avantageusement, la méthode comprend : la réception, par ledit serveur, dudit modèle d’apprentissage machine depuis serveur central ; la fourniture, par ledit serveur, dudit ledit retour au serveur central afin de déclencher ladite phase d’améliorationAdvantageously, the method includes: the reception, by said server, of said machine learning model from the central server; the provision, by said server, of said feedback to the central server in order to trigger said improvement phase
Ceci permet de centraliser l’apprentissage du modèle auprès du serveur central.This allows the model training to be centralized with the central server.
Avantageusement, l’ensemble de ressources comprend une pluralité de modèles fédérés d’un jumeau numérique d’un élément monde physique ; la méthode comprend : à la réception de la deuxième requête, l’exécution, par le serveur, d’une fédération de simulations dudit élément du monde physique pour tous les modèles fédérés de ladite pluralité pour lesquels le deuxième client dispose des droits d’accès ; à la réception d’un retour du deuxième client, le déclenchement, par le serveur, : d’une mise à jour desdits modèles fédérés ; et d’une association audit modèles fédérés mis à jour de droits d’accès accordés par ledit deuxième client.Advantageously, the set of resources comprises a plurality of federated models of a digital twin of a physical world element; the method comprises: upon receipt of the second request, the execution, by the server, of a federation of simulations of said physical world element for all the federated models of said plurality for which the second client has access rights; upon receipt of a return from the second client, the triggering, by the server, of: an update of said federated models; and an association with said updated federated models of access rights granted by said second client.
On entend par "modèles fédérés" un ensemble de modèles participant conjointement à la modélisation d'un élément du monde physique. Par exemple, les modèles fédérés peuvent correspondre à des modèles de différentes parties de l'élément.Federated models are defined as a set of models that jointly participate in the modeling of an element of the physical world. For example, federated models may correspond to models of different parts of the element.
On entend par "jumeau numérique" une réplique numérique d'un élément du monde physique.A "digital twin" is a digital replica of something in the physical world.
Ceci permet de partager une fédération de modèles du monde physique entre plusieurs clients, et les retours permettant d’améliorer les modèles, tout en garantissant à chaque client fournissant des retours permettant d’améliorer les modes le contrôle sur les autres clients ayant accès modèles fédérés bénéficiant du retour.This allows a federation of physical world models to be shared across multiple clients, with feedback used to improve the models, while ensuring that each client providing feedback to improve the models has control over which other clients have access to federated models benefiting from the feedback.
Avantageusement, la méthode comprend : la réception, par le serveur, desdits modèles fédérés depuis un serveur central ; la fourniture, par le serveur, dudit retour au serveur central afin de déclencher ladite mise à jour des modèles fédérésAdvantageously, the method comprises: receiving, by the server, said federated models from a central server; providing, by the server, said feedback to the central server in order to trigger said update of the federated models.
Ceci permet de centraliser la fédération des modèles auprès du serveur central.This allows the federation of models to be centralized with the central server.
Avantageusement, ladite structure est une table indiquant, pour chaque paire de client, les droits d’accès accordés par le premier client de la paire au deuxième client de la paire, et du deuxième client de la paire au premier client de la paire, les autorisations appartenant à un groupe comprenant : un droit de création ; un droit de lecture ; un droit de mise à jour ; un droit de suppression.Advantageously, said structure is a table indicating, for each pair of clients, the access rights granted by the first client of the pair to the second client of the pair, and from the second client of the pair to the first client of the pair, the authorizations belonging to a group comprising: a creation right; a reading right; an update right; a deletion right.
Ceci permet de définir de manière déterministe les droits d’accès donnés par les clients entre eux.This allows the access rights granted by clients to each other to be defined in a deterministic manner.
D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels :Other features, details and advantages will become apparent upon reading the detailed description below, and upon analysis of the attached drawings, in which:
Il est maintenant fait référence à la
La
Le serveur Serv1 est un serveur de gestion d’au moins une ressource d’un ensemble de ressources fournies par une pluralité de clients.Server Serv1 is a management server for at least one resource from a set of resources provided by a plurality of clients.
Le serveur Serv1 est ainsi apte à gérer l’ensemble de ressources, c’est-à-dire créer, modifier, ou encore donner accès aux ressources de l’ensemble. Le serveur Serv1 permet donc à une pluralité de clients d’échanger des ressources.The Serv1 server is thus able to manage the set of resources, that is to say create, modify, or even give access to the resources of the set. The Serv1 server therefore allows a plurality of clients to exchange resources.
La
Le lien de communication avec les clients permet ainsi au serveur de recevoir des requêtes des clients. Les requêtes peuvent par exemple consister en des requêtes d’ajout de ressources, de modification de droits d’accès aux ressources, ou encore de demande d’accès à une ressource.The communication link with clients thus allows the server to receive requests from clients. Requests may consist, for example, of requests to add resources, to modify access rights to resources, or to request access to a resource.
Le serveur Serv1 peut également comprendre des moyens d’authentification des clients, afin de sécuriser les échanges de données entre clients.The Serv1 server can also include client authentication means, in order to secure data exchanges between clients.
La
Le serveur Serv1 comprend également un accès à un ensemble de ressources fournies par la pluralité de clients.The server Serv1 also includes access to a set of resources provided by the plurality of clients.
Comme indiqué ci-dessus, les ressources peuvent comprendre tout type de ressource informatique, par exemple des ressources matérielles, logicielles ou du contenu pouvant être échangées entre les clients.As noted above, resources can include any type of computing resource, such as hardware, software, or content that can be exchanged between clients.
Les ressources peuvent par exemple être stockées dans au moins une mémoire Mem à laquelle le serveur Serv1 a accès. L’au moins une mémoire Mem peut appartenir à différents types de stockage de données apte à stocker les ressources. Il peut par exemple s’agir d’une mémoire vive, d’une mémoire morte, d’une mémoire volatile, d’une mémoire flash ou encore d’une mémoire virtuelle.The resources can for example be stored in at least one Mem memory to which the server Serv1 has access. The at least one Mem memory can belong to different types of data storage capable of storing the resources. It can for example be a random access memory, a read-only memory, a volatile memory, a flash memory or even a virtual memory.
L’au moins une mémoire comprendre au moins une mémoire interne et/ou au moins une mémoire externe au serveur Serv1. Une mémoire externe peut être par exemple une mémoire contenue dans un dispositif relié au serveur Serv1 par une connexion filaire, ou une mémoire située dans un serveur situé sur le même réseau que le serveur Serv1, par exemple un serveur central. Ainsi, l’accès à l’au moins une mémoire peut se faire par le biais d’une connexion interne au serveur Serv1, ou d’une connexion externe sécurisée vers le dispositif comprenant la mémoire.The at least one memory comprises at least one internal memory and/or at least one external memory to the server Serv1. An external memory may be, for example, a memory contained in a device connected to the server Serv1 by a wired connection, or a memory located in a server located on the same network as the server Serv1, for example a central server. Thus, access to the at least one memory may be via an internal connection to the server Serv1, or a secure external connection to the device comprising the memory.
La
Les ressources peuvent également être dupliquées sur plusieurs mémoires, afin de garantir leur accès en cas de défaillance de l’une des mémoires. Elles peuvent être stockées directement dans les mémoires, mais également encryptées, stockées en bases de données, etc.Resources can also be duplicated across multiple memories, to ensure access to them in the event of a failure of one of the memories. They can be stored directly in the memories, but also encrypted, stored in databases, etc.
Le serveur Serv1 comprend également un accès à une structure Struct1 définissant des droits d’accès pour l’ensemble de ressources. La structure Struct1 peut par exemple être stockée sur l’au moins une mémoire Mem. Dans l’exemple de la
Le serveur Serv1 comprend au moins une unité de calcul Calc. L’unité de calcul est configurée pour recevoir des requêtes de clients, et fournir ou non l’accès aux ressources, par exemple en mettant en œuvre la méthode P5 représentée en
Il est maintenant fait référence à la
La
Le serveur Serv2 représenté en
Le serveur Serv2 met en œuvre plusieurs modules.The Serv2 server implements several modules.
Dans l’exemple de la
Dans cet exemple, la gestion de l’accès aux ressources s’effectue donc au niveau de l’hyperviseur Hypvsr2 qui est configuré pour lire et écrire la structure Struct2 et déterminer les droits d’accès.In this example, resource access management is therefore carried out at the level of the Hypvsr2 hypervisor which is configured to read and write the Struct2 structure and determine access rights.
L’hyperviseur Hypvsr2 est également apte à contrôler et gérer un ou plusieurs conteneurs Cont12, Cont22, … Contn2 ou une ou plusieurs machines virtuelles. On notera qu’une machine virtuelle est une virtualisation de ressources matérielles et logicielles dont un système d’exploitation, permettant d’exécuter une requête d’un client en s’exécutant sur l’hyperviseur. Un conteneur est une virtualisation des ressources matérielles et logicielles sans instanciation du système d’exploitation. En effet, un conteneur partage un même système d’exploitation avec d’autres conteneurs.The Hypvsr2 hypervisor is also able to control and manage one or more Cont12, Cont22, … Contn2 containers or one or more virtual machines. Note that a virtual machine is a virtualization of hardware and software resources including an operating system, allowing a client request to be executed by running on the hypervisor. A container is a virtualization of hardware and software resources without instantiating the operating system. Indeed, a container shares the same operating system with other containers.
Cette architecture permet de renforcer la sécurité des droits d’accès. En effet, si l’hyperviseur peut contrôler et gérer les conteneurs Cont12, Cont22, … Contn2 exécutant du code tiers, la gestion des droits d’accès s’effectue au niveau de l’hyperviseur lui-même, et peut donc être totalement contrôlée.This architecture allows to reinforce the security of access rights. Indeed, if the hypervisor can control and manage the Cont12, Cont22, … Contn2 containers running third-party code, the management of access rights is carried out at the level of the hypervisor itself, and can therefore be totally controlled.
Dans cet exemple, l’hyperviseur peut non seulement gérer l’accès aux ressources, mais également effectuer une notarisation électronique de chaque requête relative à une ressource.In this example, the hypervisor can not only manage access to resources, but also perform electronic notarization of each request for a resource.
Ainsi, la notarisation permet d’archiver la date, de l'origine et de la destination de chaque requête relative à une ressource, par exemple les requêtes de création de ressource, de modification de droits d’accès, d’édition d’une ressource, d’accès à une ressource, etc.Notarization therefore makes it possible to archive the date, origin and destination of each request relating to a resource, for example requests to create a resource, modify access rights, edit a resource, access a resource, etc.
Ceci permet notamment d’identifier a posteriori toute requête d’accès à une ressource. Ceci permet de garder trace de toute tentative d’accès ou de modification, autorisée ou non, aux ressources, mais également de quantifier l’accès aux ressources.This makes it possible, in particular, to identify a posteriori any request for access to a resource. This makes it possible to keep track of any attempt to access or modify, whether authorized or not, the resources, but also to quantify access to the resources.
En effet, le partage de ressources par les clients peut s’effectuer dans le cadre de contrats commerciaux d’échanges de ressources entre les clients. La notarisation des requêtes permet ainsi le cas échéant de quantifier l’accès aux ressources par chaque client, qui peut être un objet du contrat.Indeed, the sharing of resources by clients can be carried out within the framework of commercial contracts for the exchange of resources between clients. The notarization of requests thus makes it possible, where appropriate, to quantify access to resources by each client, which may be an object of the contract.
L’accès à une ressource peut également être fourni par un premier client à un deuxième pour un nombre défini d’accès. Ce nombre défini peut être un nombre d’accès total, ou un nombre d’accès par unité de temps (par jour, par semaine, par mois, etc.). La notarisation des requêtes permet alors de vérifier si le nombre limite d’accès à une ressource est dépassé ou non, et de fournir ou non l’accès à la ressource en conséquence.Access to a resource can also be provided by a first client to a second for a defined number of accesses. This defined number can be a total number of accesses, or a number of accesses per unit of time (per day, per week, per month, etc.). The notarization of requests then makes it possible to check whether the limit number of accesses to a resource is exceeded or not, and to provide or not access to the resource accordingly.
Il est maintenant fait référence à la
La
Dans l’exemple de la
Par exemple, les serveurs les serveurs Serv13, Serv23 et Serv33 sont respectivement aptes à exécuter les hyperviseurs Hypvsr13, Hpyvsr23 et Hypvsr33.For example, servers Serv13, Serv23 and Serv33 are respectively capable of running the Hypvsr13, Hpyvsr23 and Hypvsr33 hypervisors.
Par analogie avec le serveur Serv2, le serveur Serv13 comprend un système d’exploitation OS3, l’hyperviseur Hypvsr13 apte à lire et écrire la structure Struct13 définissant des droits d’accès pour un ensemble de ressources, et à exécuter les conteneurs Cont113, Cont213 et Contn13.By analogy with the Serv2 server, the Serv13 server includes an OS3 operating system, the Hypvsr13 hypervisor capable of reading and writing the Struct13 structure defining access rights for a set of resources, and of executing the Cont113, Cont213 and Contn13 containers.
De même, les hyperviseurs Hypvsr23 et Hypvsr33 sont respectivement aptes à lire et écrire les structures Struct23 et Struct33 définissant des droits d’accès pour même ensemble de ressources.Similarly, the Hypvsr23 and Hypvsr33 hypervisors are respectively able to read and write the Struct23 and Struct33 structures defining access rights for the same set of resources.
Les serveurs Serv13, Serv23 et Serv33 sont des serveurs distants les uns des autres, c’est-à-dire qu’ils sont situés dans des emplacements physiques différents. Les serveurs Serv13, Serv23 et Serv33 sont en communication par un réseau, par exemple un réseau internent Intnt.Servers Serv13, Serv23 and Serv33 are remote servers from each other, that is, they are located in different physical locations. Servers Serv13, Serv23 and Serv33 are in communication through a network, for example an Intnt internet network.
Les serveurs Serv13, Serv23 et Serv33 sont configurés pour fournir l’accès à un même ensemble de ressources, mais peuvent être en communication avec des clients différents.Servers Serv13, Serv23, and Serv33 are configured to provide access to the same set of resources, but may be communicating with different clients.
Les ressources peuvent ainsi être partagées sur des zones mémoires accessibles aux trois serveurs et/ou dupliquées sur des zones mémoires accessibles à chacun des serveurs.Resources can thus be shared across memory areas accessible to the three servers and/or duplicated across memory areas accessible to each of the servers.
Cependant, les hyperviseurs Hypvsr13, Hypvsr23 et Hypvsr33 sont configurés pour synchroniser les droits d’accès à l’ensemble de ressources, tels que définis dans les structures respectives Struct13, Struct23 et Struct33.However, the Hypvsr13, Hypvsr23 and Hypvsr33 hypervisors are configured to synchronize the access rights to the resource set, as defined in the respective Struct13, Struct23 and Struct33 structures.
Ainsi, les droits d’accès peuvent être partagés et mis à jour entre les clients de plusieurs serveurs, ce qui permet d’augmenter le nombre de clients et de ressources pouvant participer au partage de ressources, puisque les clients de plusieurs serveurs, et les ressources fournies par ces clients, peuvent intervenir dans le partage.Thus, access rights can be shared and updated between clients of multiple servers, which allows increasing the number of clients and resources that can participate in resource sharing, since clients of multiple servers, and the resources provided by these clients, can participate in the sharing.
De plus, cela permet de mettre en œuvre des techniques de « edge computing », dans lesquelles des serveurs sont placés au plus près des clients tout en ayant accès à des ressources partagées de manière plus large, et en garantissant le respect des règles d’accès définies par chaque client entre les serveurs.In addition, this allows the implementation of “edge computing” techniques, in which servers are placed as close as possible to clients while having access to resources shared more widely, and ensuring compliance with the access rules defined by each client between the servers.
La
La synchronisation des droits d’accès entre les serveurs peut s’effectuer de différentes manières.Synchronization of access rights between servers can be done in different ways.
Par exemple, des algorithmes de synchronisation distribués peuvent être mis en œuvre. Par exemple, les serveurs peuvent maintenir la synchronisation des droits d’accès via une blockchain.For example, distributed synchronization algorithms can be implemented. For example, servers can maintain synchronization of access rights via a blockchain.
Il est également possible de centraliser la gestion de la synchronisation. Par exemple, tous les serveurs peuvent communiquer avec un serveur central configuré pour maintenir une structure de droits d’accès de référence. Le serveur central peut être l’un des serveurs, ou un autre serveur dédié à la maintenance de la structure de référence.It is also possible to centralize synchronization management. For example, all servers can communicate with a central server configured to maintain a reference access rights structure. The central server can be one of the servers, or another server dedicated to maintaining the reference structure.
Il est maintenant fait référence à la
La
Le serveur Serv4 représenté en
Le serveur Serv4 met en œuvre plusieurs modules.The Serv4 server implements several modules.
Dans l’exemple de la
L’hyperviseur Hypvsr4 est apte à exécuter un ou plusieurs conteneurs Cont14, Cont24, … Contn4.The Hypvsr4 hypervisor is able to run one or more Cont14, Cont24, … Contn4 containers.
Dans cet exemple, l’un des conteneurs, le conteneur Contn4, est apte à lire et écrire une structure Struct4 définissant les droits d’accès à l’ensemble de ressources. Dans cet exemple, la gestion de l’accès aux ressources s’effectue donc au niveau du conteneur Contn4 qui est configuré pour lire et écrire la structure Struct4 et déterminer les droits d’accès.In this example, one of the containers, the Contn4 container, is able to read and write a Struct4 structure defining the access rights to the set of resources. In this example, the management of access to the resources is therefore carried out at the level of the Contn4 container which is configured to read and write the Struct4 structure and determine the access rights.
Cet exemple est fourni à titre d’exemple on limitatif, et le même principe peut être appliqué à d’autres types de virtualisations au niveau du système d’exploitation, tels que des machines virtuelles.This example is provided as a non-limiting example, and the same principle can be applied to other types of operating system-level virtualizations, such as virtual machines.
La gestion des droits d’accès aux ressources peut donc s’effectuer au sein de conteneurs, ou d’autres virtualisations au niveau du système d’exploitation, exécutés par des hyperviseurs déjà déployés, ce qui permet une grande flexibilité dans le déploiement des droits d’accès aux ressources. Par exemple, la gestion des droits d’accès peut être mise à jour par la modification d’un conteneur, sans avoir à modifier l’hyperviseur.Resource rights management can therefore be done within containers, or other operating system-level virtualizations, running on already deployed hypervisors, allowing for great flexibility in deploying resource rights. For example, rights management can be updated by modifying a container, without having to modify the hypervisor.
IL est maintenant fait référence à la
La
La méthode P5 peut par exemple être mise en œuvre par l’un des serveurs Serv1, Serv2, Serv13, Serv4 pour gérer au moins une ressource telle que les ressources Res1 et Res2.Method P5 can for example be implemented by one of the servers Serv1, Serv2, Serv13, Serv4 to manage at least one resource such as resources Res1 and Res2.
La méthode P5 comprend une première étape S51 de définition par l’au moins un serveur, dans une structure définissant des droits d’accès pour un ensemble de ressources fournies par une pluralité de clients, et à la réception d’une première requête d’un premier client de ladite pluralité de clients, des droits d’accès d’au moins une ressource fournie par ledit premier client.The method P5 comprises a first step S51 of definition by the at least one server, in a structure defining access rights for a set of resources provided by a plurality of clients, and upon receipt of a first request from a first client of said plurality of clients, of access rights for at least one resource provided by said first client.
En pratique, l’étape S51 peut par exemple s’effectuer :
- à la réception d’une requête d’ajout de la ressource, accompagnée de droits d’accès à la ressource ;
- à la réception d’une requête de modification des droits d’accès d’une ressource déjà existante fournie par le premier client.
- upon receipt of a request to add the resource, accompanied by access rights to the resource;
- upon receipt of a request to modify the access rights of an already existing resource provided by the first client.
Les droits d’accès peuvent être de différents types.Access rights can be of different types.
Par exemple, les droits peuvent par exemple être des droits de type « CRUD » (de l’anglais Create, Read, Update, Delete », en français « Création, Lecture, Mise à jour, Suppression »). Les droits peuvent être fournis par exemple à des clients ou groupes de clients spécifiques. Les droits peuvent également être assorties de conditions spatiales, temporelles, de nombre d’utilisations, etc. Les droits d’accès peuvent être fournis aux autres clients, mais également aux serveurs eux-mêmes.For example, rights can be CRUD rights (Create, Read, Update, Delete). Rights can be provided, for example, to specific clients or groups of clients. Rights can also be subject to spatial, temporal, number of uses, etc. conditions. Access rights can be provided to other clients, but also to the servers themselves.
La méthode P3 comprend ensuite une deuxième étape S52 de réception, par l’au moins un serveur, d’une requête d’un deuxième client de ladite pluralité de clients, demandant l’accès à au moins une ressource fournie par le premier client.The method P3 then comprises a second step S52 of receiving, by the at least one server, a request from a second client of said plurality of clients, requesting access to at least one resource provided by the first client.
Une requête d’accès à la ressource peut être de différents types, selon le type de ressource concernée.A resource access request can be of different types, depending on the type of resource involved.
Par exemple, la requête d’accès à la ressource peut être une requête de lecture ou de modification d’un fichier, une requête d’accès à des bases de données d’entraînement d’un modèle d’apprentissage machine, une requête d’utilisation d’un modèle fédéré d’un jumeau numérique, etc.For example, the resource access request could be a request to read or modify a file, a request to access training databases of a machine learning model, a request to use a federated model of a digital twin, etc.
La méthode P3 comprend ensuite, à la réception de la requête d’accès, une troisième étape S53 de vérification par l’au moins un serveur de si les droits d’accès permettent l’accès à l’au moins une ressource par le deuxième client.The method P3 then comprises, upon receipt of the access request, a third step S53 of verification by the at least one server of whether the access rights allow access to the at least one resource by the second client.
Si les droits d’accès le permettent, l’au moins un serveur fournit à la quatrième étape S54 l’accès à l’au moins une ressource audit deuxième client.If the access rights permit, the at least one server provides access to the at least one resource to said second client in the fourth step S54.
Sinon, l’au moins un serveur rejette la requête d’accès à l’étape S55.Otherwise, the at least one server rejects the access request in step S55.
Ainsi, les droits d’accès définis par le premier client sont pris en compte pour la fourniture ou non de l’accès aux ressources.Thus, the access rights defined by the first client are taken into account for the provision or not of access to the resources.
Selon différents modes de réalisation de l’invention, les étapes de la méthode P5 peuvent être mises en œuvre par un serveur unique, ou une pluralité de serveurs, par exemple un réseau de serveurs tels que représenté en
Si la méthode est mise en œuvre par une pluralité de serveurs, les différentes étapes peuvent être réalisées par plusieurs serveurs distincts. Par exemple, l’étape S51 peut être réalisée par un premier serveur qui reçoit une ressource d’un premier client, et les étapes S52 à S54 par un deuxième serveur qui reçoit une requête d’accès à la ressource d’un deuxième client.If the method is implemented by a plurality of servers, the different steps can be performed by several distinct servers. For example, step S51 can be performed by a first server which receives a resource from a first client, and steps S52 to S54 by a second server which receives a request for access to the resource from a second client.
Il est maintenant fait référence à la
La
L’exemple de la
Le modèle entraîné est dans cet exemple stocké sur le serveur Serv6, en relation avec un serveur ServCtr6, qui centralise des modèles d’apprentissage machine partagés entre plusieurs serveurs.The trained model is in this example stored on the Serv6 server, in relation to a ServCtr6 server, which centralizes machine learning models shared between several servers.
Dans cet exemple, le modèle Mod16 est un modèle permettant de détecter des personnes dans une image, et de compter le nombre de personnes dans une image. Cet exemple est fourni à titre d’exemple non limitatif, et l’exemple de la
La
Dans le scénario P6, le deuxième client Clt2 envoie au serveur Serv6 une requête Rq6 d’utilisation du modèle Mod16 sur la base d’une image qu’il fournit.In scenario P6, the second client Clt2 sends the server Serv6 a request Rq6 to use the Mod16 model based on an image it provides.
Comme les droits d’accès définis par le premier client le permettent, le serveur Serv6 utilise UtMod16 le modèle Mod16 sur l’image fourni par le deuxième client pour compter le nombre de personnes dans l’image, puis renvoie le résultat Res6 au deuxième client Clt2.As the access rights set by the first client allow, the server Serv6 uses UtMod16 the Mod16 model on the image provided by the second client to count the number of people in the image, then returns the result Res6 to the second client Clt2.
Le deuxième client Clt2 fournit alors un retour Ret6 au serveur sur ledit résultat. Le retour peut par exemple consister en une validation du nombre de personne, ou au contraire une indication que le nombre de personnes comptées est inexact, d’un nombre de personne exact, ou d’une localisation précise des personnes effectivement présentes sur la photo.The second client Clt2 then provides a return Ret6 to the server on said result. The return can for example consist of a validation of the number of people, or on the contrary an indication that the number of people counted is inaccurate, of an exact number of people, or of a precise location of the people actually present in the photo.
Comme les droits fournis par le premier client Clt1 permettent la mise à jour du modèle Mod26 par le deuxième client, le retour Ret6 déclenche une phase d’amélioration du modèle par le serveur à partir du retour, pour obtenir un modèle amélioré Mod26.As the rights provided by the first client Clt1 allow the update of the Mod26 model by the second client, the return Ret6 triggers a phase of improvement of the model by the server from the return, to obtain an improved Mod26 model.
La phase d’amélioration peut en pratique être réalisée par le server Serv6 lui-même, ou un serveur distant, tel que par exemple le serveur central ServCtr6.The improvement phase can in practice be carried out by the Serv6 server itself, or a remote server, such as for example the central ServCtr6 server.
Le serveur central ServCtr6 peut ainsi centraliser l’apprentissage des modèles. Par exemple, le serveur Serv6 peut recevoir le modèle Mod16 du serveur central ServCtr6, renvoyer le retour Ret6 au serveur central ServCtr6, et recevoir du serveur central le modèle amélioré Mod26.The central server ServCtr6 can thus centralize the training of models. For example, the Serv6 server can receive the Mod16 model from the central server ServCtr6, send the feedback Ret6 to the central server ServCtr6, and receive from the central server the improved model Mod26.
Le serveur central peut aussi centraliser les modèles, sans faire l’apprentissage lui-même. Par exemple, le serveur central ServCtr6 peut stocker le modèle Mod16, l’envoyer dans une étape TransMod16 au serveur Serv6 avant utilisation sur le serveur Serv6, le serveur Serv6 peut faire la mise à jour puis renvoyer le modèle mis à jour Mod26 au serveur central ServCtr6 dans une étape TransMod26.The central server can also centralize the models, without doing the training itself. For example, the central server ServCtr6 can store the model Mod16, send it in a TransMod16 step to the server Serv6 before use on the server Serv6, the server Serv6 can do the update and then send the updated model Mod26 back to the central server ServCtr6 in a TransMod26 step.
Comme le modèle amélioré Mod26 est entraîné en partie avec des données fournies par le deuxième client, le retour Ret6 et l’amélioration du modèle entraînent également une association au modèle amélioré Mod26 de droits d’accès accordés par ledit deuxième client.As the improved Mod26 model is trained in part with data provided by the second client, the Ret6 feedback and the model improvement also result in an association with the improved Mod26 model of access rights granted by said second client.
Dit autrement, le modèle amélioré Mod26 ne pourra être utilisé par un troisième client que si les droits d’accès fournis à la fois par le premier client et le deuxième client le permettent. Si seuls les droits d’accès fournis par le premier client permettent l’accès au modèle par le troisième client, alors celui-ci pourrait utiliser le modèle Mod16, mais pas le modèle amélioré Mod26 par exemple.In other words, the enhanced Mod26 model can only be used by a third client if the access rights provided by both the first client and the second client allow it. If only the access rights provided by the first client allow access to the model by the third client, then the third client could use the Mod16 model, but not the enhanced Mod26 model for example.
Ce principe peut de manière plus générale être appliqué à tout modèle entraîné à partir des données fournies par plusieurs clients.This principle can more generally be applied to any model trained from data provided by multiple clients.
Ainsi, dans un mode de réalisation, si une ressource est un modèle entraîné avec les données fournies par une pluralité de clients initiaux, l’accès au modèle ne pourra être fourni à un client final, faisant partie ou non de la pluralité de clients initiaux, que si les droits d’accès fournis par chacun des clients initiaux de ladite pluralité le permettent.Thus, in one embodiment, if a resource is a model trained with data provided by a plurality of initial clients, access to the model may only be provided to an end client, whether or not part of the plurality of initial clients, if the access rights provided by each of the initial clients of said plurality allow it.
Ceci permet à des clients de participer de manière collaborative à la création de modèles d’apprentissage communs, tout en permettant à chaque client de s’assurer des conditions d’accès aux modèles entraînées avec les données qu’il fournit.This allows clients to collaboratively participate in the creation of common learning models, while allowing each client to ensure the conditions of access to the models trained with the data they provide.
Il est maintenant fait référence à la
La
L’exemple de la
Dans l’exemple de la
- L’élément du monde physique Elt7 est une usine ;
- Les modèles fédérés ModFed17 sont stockés sur un serveur central ServCtr7, et comprennent un modèle Mod7 d’un sous-élément de l’usine fourni par le client Clt7.
- The physical world element Elt7 is a factory;
- ModFed17 federated models are stored on a central ServCtr7 server, and include a Mod7 model of a plant sub-element provided by the Clt7 client.
Dans cet exemple, une pluralité clients participent à la fédération de modèles en fournissant des modèles de sous-éléments de l’élément Elt7. Les clients de la pluralité se sont mutuellement fourni les droits d’exécution et de mise à jour des modèles fédérés, de sorte que chaque client peut effectuer une simulation de la fédération de modèle, et mettre à jour les modèles si la simulation ne correspond pas aux observations issues du monde physique. Les clients peuvent ici correspondre à différentes entités participant à la gestion de l’usine. Par exemple, le client Clt7 peut être un opérateur de l’usine, et les autres clients fournissant des modèles fédérés des fournisseurs de divers équipements de l’usine, et/ou des opérateurs d’usines identiques.In this example, a plurality of clients participate in the model federation by providing models of sub-elements of element Elt7. The plurality of clients have provided each other with the rights to run and update the federated models, such that each client can perform a simulation of the model federation, and update the models if the simulation does not match observations from the physical world. The clients here may correspond to different entities participating in the management of the plant. For example, client Clt7 may be an operator of the plant, and the other clients providing federated models may be suppliers of various equipment in the plant, and/or operators of identical plants.
La
Le client Clt7 envoie au serveur Serv7 une requête ReqSim7 de simulation de la fédération de modèles sur la base des mesures capteurs. Comme les droits d’exécution de l’ensemble de la fédération de modèle ont été accordés au client Clt7, le serveur Serv7 effectue une simulation Sim7 des modèles fédérés comprenant une évaluation de scénarios et la détermination d’un jeu de commandes pour mettre un terme à l’incident. Le serveur Serv7 renvoie au client Cl7 un retour de la simulation accompagné du jeu de commandes.The Clt7 client sends the Serv7 server a ReqSim7 request to simulate the model federation based on the sensor measurements. Since the Clt7 client has been granted execution rights for the entire model federation, the Serv7 server performs a Sim7 simulation of the federated models including an evaluation of scenarios and the determination of a set of commands to end the incident. The Serv7 server returns to the Cl7 client a return of the simulation accompanied by the set of commands.
Le client Clt7 envoie ensuite le jeu de commandes Clt7 à l’usine Elt7, qui va procéder à l’exécution Exec7 des commandes.The Clt7 client then sends the Clt7 command set to the Elt7 factory, which will proceed to execute Exec7 the commands.
Une fois les commandes exécutées par l’usine, l’usine Elt7 renvoie un nouveau jeu d’observations de capteurs Sens27 au client Clt7, qui renvoie à son tour un retour RetSim27 de simulation au serveur Serv7 comprenant le nouveau jeu d’observations Sens27.Once the factory executes the commands, the Elt7 factory sends a new set of sensor observations Sens27 to the Clt7 client, which in turn sends a simulation return RetSim27 to the Serv7 server including the new set of Sens27 observations.
Le nouveau jeu d’observations Sens27 peut être différent des prédictions des modèles fédérés. Afin de mettre à jour les modèles, le serveur Serv7 déclenche Upd7 une mise à jour des modèles fédérés sur la base du nouveau jeu d’observations.The new Sens27 observation set may be different from the predictions of the federated models. In order to update the models, the Serv7 server triggers Upd7 an update of the federated models based on the new observation set.
Dans l’exemple de la
Dans d’autres modes de réalisation de l’invention, c’est le serveur Serv7 qui est en charge de la mise à jour.In other embodiments of the invention, it is the Serv7 server which is in charge of the update.
Dans l’exemple de la
Cet exemple démontre la capacité de l’invention de permettre l’utilisation de modèles fédérés de jumeaux numériques d’éléments du monde physique, tout en permettant à chaque client de gérer les droits d’accès aux modèles entraînés avec les données qu’il fournit. Cet exemple est cependant fourni à titre d’exemple uniquement d’un scénario d’application de l’invention à des modèles fédérés. L’invention est de manière plus générale applicable à tout scénario basé sur des modèles fédérés, dans lequel chaque client peut définir les droits d’accès aux modèles qu’il fournit ou contribue à entraîner, et dans lequel un client ne peut accéder à une fédération de modèles que si tous les clients qui ont contribué à fournir ou entraîner les modèles lui en donnent la permission.This example demonstrates the ability of the invention to enable the use of federated models of digital twins of elements of the physical world, while allowing each client to manage access rights to the models trained with the data it provides. This example is however provided as an example only of a scenario of application of the invention to federated models. The invention is more generally applicable to any scenario based on federated models, in which each client can define access rights to the models it provides or contributes to training, and in which a client can only access a federation of models if all the clients who contributed to providing or training the models grant it permission to do so.
Il est maintenant fait référence à la
La
La structure Tab8 se présente sous la forme d’un tableau à deux dimensions définissant les droits d’accès fournis par chacun des clients. Dans cet exemple, les clients sont des applications, représentées par les lettres « App 1 », « App 2 », « App n ». Par mesures de lisibilité, seuls trois clients sont représentés dans cet exemple, mais une structure de ce type est bien entendu applicable à un nombre de client plus élevé. Les lettres « PCE » représentent quant à elle le serveur lui-même, qui peut également recevoir ou fournir des droits d’accès.The Tab8 structure is presented as a two-dimensional table defining the access rights provided by each client. In this example, the clients are applications, represented by the letters "App 1", "App 2", "App n". For readability reasons, only three clients are represented in this example, but a structure of this type is of course applicable to a higher number of clients. The letters "PCE" represent the server itself, which can also receive or provide access rights.
Dans le tableau Tab8 :
- chaque ligne représente l’entité qui fournit des droits d’accès ;
- chaque colonne représente l’entité qui reçoit les droits d’accès.
- each line represents the entity providing access rights;
- Each column represents the entity that receives the access rights.
Dans cet exemple, les droits accordés peuvent être de 4 types, selon la dénomination « CRUD » :
- « C » (de l’anglais « Create ») : un droit de création ;
- « R » (de l’anglais « Read ») : un droit de lecture ;
- « U » (de l’anglais « Update ») : un droit de mise à jour ;
- « D » (de l’anglais « Delete ») : un droit de suppression.
- “C” (from the English “Create”): a right of creation;
- “R” (from the English “Read”): a right to read;
- “U” (from the English “Update”): a right to update;
- “D” (from the English “Delete”): a right of deletion.
Chaque case comprend les lettres correspondant aux droits parmi les 4 droits possibles accordés par l’entité caractérisant la ligne de la case à l’entité caractérisant la colonne de la case.Each box includes the letters corresponding to the rights among the 4 possible rights granted by the entity characterizing the line of the box to the entity characterizing the column of the box.
Par exemple :
- la cellule Cel18, située sur la 3eligne « App 2 » et sur la première colonne « PCE », représente les droits accordés par l’ « App 2 » au serveur. Ici, les 4 droits C, R, U et D sont fournis ;
- la cellule Cel28, située sur la 1eligne « PCE » et la 3ecolonne « App 2 », représente les droits accordés par le serveur à l’ « App 2 ». Ici, seul le droit de lecture R est fourni.
- cell Cel18, located on the 3rd row “App 2” and on the first column “PCE”, represents the rights granted by “App 2” to the server. Here, the 4 rights C, R, U and D are provided;
- Cell Cel28, located on the 1st row “PCE” and the 3rd column “App 2”, represents the rights granted by the server to “App 2”. Here, only the read right R is provided.
On peut ici remarquer que :
- Toutes les colonnes dans la diagonale de la table comprennent les 4 droits C,R,U,D. En effet, les cellules dans la diagonale définissent les droits donnés par une entité à elle-même ;
- Les droits ne sont pas nécessairement accordés de manière symétrique. Par exemple, les cellules Cel18 et Cel28 montrent que « App2 » accorde plus de droits au serveur que le serveur n’en accorde à « App2 ».
- All columns in the diagonal of the table include the 4 rights C,R,U,D. In fact, the cells in the diagonal define the rights given by an entity to itself;
- Rights are not necessarily granted symmetrically. For example, cells Cel18 and Cel28 show that “App2” grants more rights to the server than the server grants to “App2”.
La table Tab8 fournit un exemple illustratif et non limitatif d’une structure définissant des droits d’accès selon l’invention. Selon d’autres modes de réalisation de l’invention, d’autres types de structures peuvent être mises en œuvre. De même, les droits d’accès peuvent utiliser un formalisme différent et/ou comprendre un plus grand nombre de types de droits d’accès. Les droits d’accès peuvent également être associés à des caractéristiques additionnelles telles que des zones géographiques, des périodes de temps, un nombre limite d’accès, etc.Table Tab8 provides an illustrative and non-limiting example of a structure defining access rights according to the invention. According to other embodiments of the invention, other types of structures can be implemented. Similarly, the access rights can use a different formalism and/or include a greater number of types of access rights. The access rights can also be associated with additional characteristics such as geographic areas, time periods, a limit number of accesses, etc.
La présente divulgation ne se limite pas aux exemples de méthode, serveur, dispositif informatique et programme informatique décrits ci-avant, seulement à titre d’exemple, mais elle englobe toutes les variantes que pourra envisager l’homme de l’art dans le cadre de la protection recherchée.This disclosure is not limited to the examples of method, server, computer device and computer program described above, only by way of example, but it encompasses all the variants that may be envisaged by those skilled in the art within the framework of the protection sought.
Claims (15)
- la définition (S51), par l’au moins un serveur (Serv1 ; Serv2 ; Serv13 ; Serv4), dans une structure (Struct1) définissant des droits d’accès pour un ensemble de ressources (Res1, Res2) fournies par une pluralité de clients (Clt1, Clt2), et à la réception d’une première requête d’un premier client de ladite pluralité de clients, des droits d’accès d’au moins une ressource fournie par ledit premier client ;
- la réception (S52), par l’au moins un serveur, d’une deuxième requête d’un deuxième client de ladite pluralité de clients, demandant l’accès à l’au moins une ressource fournie par le premier client ;
- la fourniture (S54), par l’au moins un serveur, de l’accès à l’au moins une ressource audit deuxième client si les droits d’accès le permettent (S53).
- defining (S51), by the at least one server (Serv1; Serv2; Serv13; Serv4), in a structure (Struct1) defining access rights for a set of resources (Res1, Res2) provided by a plurality of clients (Clt1, Clt2), and upon receipt of a first request from a first client of said plurality of clients, access rights of at least one resource provided by said first client;
- receiving (S52), by the at least one server, a second request from a second client of said plurality of clients, requesting access to the at least one resource provided by the first client;
- the provision (S54), by the at least one server, of access to the at least one resource to said second client if the access rights allow it (S53).
- la deuxième requête (Rq6) est une requête d’utilisation du modèle d’apprentissage machine (Mod16) sur des données fournies par le deuxième client ;
- la méthode comprend :
- l’envoi, par ledit serveur, d’un résultat (Res6) de ladite utilisation (UtMod6) du modèle d’apprentissage machine au deuxième client ;
- la réception, par ledit serveur, d’un retour (Ret6) dudit deuxième client sur ledit résultat ;
- le déclenchement, par ledit serveur :
- d’une phase d’amélioration dudit modèle à partir dudit retour,
- et d’une association audit modèle amélioré (Mod26) de droits d’accès accordés par ledit deuxième client.
- the second request (Rq6) is a request to use the machine learning model (Mod16) on data provided by the second client;
- The method includes:
- sending, by said server, a result (Res6) of said use (UtMod6) of the machine learning model to the second client;
- the reception, by said server, of a return (Ret6) from said second client on said result;
- the triggering, by said server:
- of a phase of improvement of said model from said feedback,
- and an association with said improved model (Mod26) of access rights granted by said second client.
- la réception, par ledit serveur, dudit modèle d’apprentissage machine depuis serveur central (ServCtr6);
- la fourniture, par ledit serveur, dudit ledit retour au serveur central afin de déclencher ladite phase d’amélioration.
- the reception, by said server, of said machine learning model from central server (ServCtr6);
- the provision, by said server, of said feedback to the central server in order to trigger said improvement phase.
- l’ensemble de ressources comprend une pluralité de modèles fédérés (ModFed17) d’un jumeau numérique d’un élément (Elt7) monde physique ;
- la méthode comprend :
- à la réception de la deuxième requête (ReqSim7), l’exécution, par le serveur, d’une fédération de simulations (Sim7) dudit élément du monde physique pour tous les modèles fédérés de ladite pluralité pour lesquels le deuxième client dispose des droits d’accès ;
- à la réception d’un retour (RetSim27) du deuxième client, le déclenchement, par le serveur, :
- d’une mise à jour desdits modèles fédérés ;
- et d’une association audit modèles fédérés mis à jour (ModFed27) de droits d’accès accordés par ledit deuxième client.
- the resource set comprises a plurality of federated models (ModFed17) of a digital twin of a physical world element (Elt7);
- The method includes:
- upon receipt of the second request (ReqSim7), the execution, by the server, of a federation of simulations (Sim7) of said element of the physical world for all the federated models of said plurality for which the second client has access rights;
- upon receipt of a return (RetSim27) from the second client, the server triggers:
- of an update of said federated models;
- and an association with said updated federated models (ModFed27) of access rights granted by said second client.
- la réception, par le serveur, desdits modèles fédérés depuis un serveur central (ServCtr7) ;
- la fourniture, par le serveur, dudit retour au serveur central afin de déclencher ladite mise à jour des modèles fédérés.
- the reception, by the server, of said federated models from a central server (ServCtr7);
- the provision, by the server, of said feedback to the central server in order to trigger said update of the federated models.
- un droit de création ;
- un droit de lecture ;
- un droit de mise à jour ;
- un droit de suppression.
- a right of creation;
- a right to read;
- a right to update;
- a right of deletion.
- un accès à un ensemble de ressources (Res1, Res2) fournies par une pluralité de clients (Clt1, Clt2) ;
- un accès à une structure (Struct1) définissant des droits d’accès pour l’ensemble de ressources;
- au moins une unité de calcul (Calc) configurée pour :
- définir dans ladite structure, à la réception d’une première requête d’un premier client de ladite pluralité de clients, les droits d’accès d’au moins une ressource fournie par ledit premier client;
- recevoir une requête d’un deuxième client de ladite pluralité de clients, demandant l’accès à au moins une ressource fournie par le premier client ;
- fournir l’accès à ladite au moins une ressource audit deuxième client si les droits d’accès le permettent.
- access to a set of resources (Res1, Res2) provided by a plurality of clients (Clt1, Clt2);
- access to a structure (Struct1) defining access rights for the set of resources;
- at least one calculation unit (Calc) configured for:
- defining in said structure, upon receipt of a first request from a first client of said plurality of clients, the access rights of at least one resource provided by said first client;
- receiving a request from a second client of said plurality of clients, requesting access to at least one resource provided by the first client;
- provide access to said at least one resource to said second client if access rights permit.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2300208A FR3144884A1 (en) | 2023-01-09 | 2023-01-09 | METHOD AND SERVER FOR MANAGING ACCESS RIGHTS TO SHARED RESOURCES |
| PCT/EP2024/050272 WO2024149701A1 (en) | 2023-01-09 | 2024-01-08 | Method and server for managing access rights to shared resources |
| EP24700230.6A EP4649395A1 (en) | 2023-01-09 | 2024-01-08 | Method and server for managing access rights to shared resources |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2300208 | 2023-01-09 | ||
| FR2300208A FR3144884A1 (en) | 2023-01-09 | 2023-01-09 | METHOD AND SERVER FOR MANAGING ACCESS RIGHTS TO SHARED RESOURCES |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR3144884A1 true FR3144884A1 (en) | 2024-07-12 |
Family
ID=86604121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR2300208A Pending FR3144884A1 (en) | 2023-01-09 | 2023-01-09 | METHOD AND SERVER FOR MANAGING ACCESS RIGHTS TO SHARED RESOURCES |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4649395A1 (en) |
| FR (1) | FR3144884A1 (en) |
| WO (1) | WO2024149701A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210218742A1 (en) * | 2020-01-15 | 2021-07-15 | IDENTOS Inc. | Computer-implemented systems for distributed authorization and federated privacy exchange |
-
2023
- 2023-01-09 FR FR2300208A patent/FR3144884A1/en active Pending
-
2024
- 2024-01-08 WO PCT/EP2024/050272 patent/WO2024149701A1/en not_active Ceased
- 2024-01-08 EP EP24700230.6A patent/EP4649395A1/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210218742A1 (en) * | 2020-01-15 | 2021-07-15 | IDENTOS Inc. | Computer-implemented systems for distributed authorization and federated privacy exchange |
Non-Patent Citations (2)
| Title |
|---|
| BARRY M R ET AL: "A DISTRIBUTED COMPUTING MODEL FOR TELEMETRY DATA PROCESSING", ROBOTICS AND COMPUTER INTEGRATED MANUFACTURING, ELSEVIER SCIENCE PUBLISHERS BV., BARKING, GB, vol. 11, no. 2, 1 June 1994 (1994-06-01), pages 99 - 104, XP000505327, ISSN: 0736-5845, DOI: 10.1016/0736-5845(94)90014-0 * |
| SING G ET AL: "NETWORKED VIRTUAL WORLDS", PROCEEDINGS COMPUTER ANIMATION, XX, XX, 19 April 1995 (1995-04-19), pages 44 - 49, XP000195798, DOI: 10.1109/CA.1995.393549 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4649395A1 (en) | 2025-11-19 |
| WO2024149701A1 (en) | 2024-07-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hilley | Cloud computing: A taxonomy of platform and infrastructure-level offerings | |
| US11861200B2 (en) | Data block-based system and methods for predictive models | |
| Nasirifard et al. | FabricCRDT: A conflict-free replicated datatypes approach to permissioned blockchains | |
| US20200051069A1 (en) | Upgradeable security token | |
| US10902140B2 (en) | Services platform for managing a verifiable permissioned ledger in a distributed database management system | |
| Solaiman et al. | Implementation and evaluation of smart contracts using a hybrid on‐and off‐blockchain architecture | |
| US11870847B2 (en) | Decentralized data flow valuation and deployment | |
| El-Hindi et al. | Blockchaindb-towards a shared database on blockchains | |
| FR3063361A1 (en) | METHOD, EQUIPMENT AND SYSTEM FOR MANAGING THE FILE SYSTEM | |
| Drąsutis | Iota smart contracts | |
| CN119895782A (en) | System and method for generating standardized event logs for cloud detection and response in a multi-tier cloud environment | |
| Kukreja et al. | Data Engineering with Apache Spark, Delta Lake, and Lakehouse | |
| Sutopo | Blockchain programming smart contract on polygon | |
| Maxwell | Azure Arc Systems Management | |
| Bhagattjee | Emergence and taxonomy of big data as a service | |
| Bagchi | Using blockchain technology and smart contracts for access management in IoT devices | |
| US10956363B2 (en) | Automated data management via machine-readable data definition files | |
| FR3144884A1 (en) | METHOD AND SERVER FOR MANAGING ACCESS RIGHTS TO SHARED RESOURCES | |
| Austria | Analysis of blockchain-based storage systems | |
| US12380443B1 (en) | Cryptocurrency staking validator system | |
| Lauer et al. | User-centred attestation for layered and decentralised systems | |
| Teng et al. | A Smart Contract-based Service Platform for Trustworthy Crowd Funding and Crowd Innovation | |
| Vaidya | Handling critical issues of big data on cloud | |
| Slavova | Parallel triangular solution in the out-of-core multifrontal approach for solving large sparse linear systems | |
| Meersman et al. | On the Move to Meaningful Internet Systems: OTM 2012: Confederated International Conferences: CoopIS, DOA-SVI, and ODBASE 2012, Rome, Italy, September 10-14, 2012. Proceedings, Part II |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 2 |
|
| PLSC | Publication of the preliminary search report |
Effective date: 20240712 |
|
| PLFP | Fee payment |
Year of fee payment: 3 |