INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Une requête préparée en langage SQL est une méthode de traitement de requêtes qui permet d'améliorer les performances et la sécurité des opérations de base de données.
Lorsqu'une requête est envoyée au serveur de base de données, le moteur de requête SQL doit d'abord analyser la requête, la compiler et l'exécuter. Avec les requêtes préparées, cette étape est effectuée une seule fois et la requête compilée est stockée en mémoire cache. Ainsi, lorsqu'une requête préparée est exécutée à nouveau, le serveur de base de données peut simplement récupérer la requête compilée en mémoire cache, ce qui améliore les performances.
En outre, les requêtes préparées (en anglais « prepared statements ») permettent de mieux sécuriser les opérations de base de données en évitant les attaques d'injection SQL. En effet, les paramètres de la requête sont transmis séparément de la requête elle-même, ce qui empêche les attaquants d'injecter du code SQL malveillant dans la requête.
Les développeurs peuvent notamment utiliser des bibliothèques de gestion de base de données fournissant des fonctions qui protègent contre les attaques par injection SQL, comme proposé par le brevet américain US7653620.
Pour se protéger contre les attaques par injection SQL, il est essentiel de mettre en place des pratiques de développement de code sécurisé, de tester régulièrement les applications pour détecter les vulnérabilités et d'utiliser des outils de prévention des attaques par injection SQL.
Toutefois, les systèmes d'information deviennent de plus en plus complexes, de plus en plus puissants, interconnectés et librement accessibles aux partenaires et aux clients sur des réseaux largement distribués avec des interactions électroniques largement anonymes. Le développement de logiciels lui-même est de plus en plus distribué par le biais d'accords de développement avec des prestataires indépendants et le recours à des développements collaboratifs. Ces tendances mettent à rude épreuve la capacité des organisations à sécuriser et à protéger les données numériques contre les abus ou les accès non autorisés et à garantir que le code ne contient aucune faille, sans compter que le codage avec des requêtes préparées est fastidieux.
Les requêtes non préparées peuvent être identifiées par la présence de chaînes de caractères contenant des instructions SQL directement incorporées dans le code.
En utilisant ces méthodes, on peut détecter les requêtes qui ne sont pas préparées et mettre en place des mesures pour les remplacer par des requêtes préparées afin d'améliorer les performances et la sécurité de la base de données.
État de la technique On connaît dans l’état de la technique l’article Raymond Mui et Al. dans " Empêcher l'injection SQL par le nettoyage automatique des requêtes avec ASSIST " - Electronic Proceedings in Theoretical Computer Science, vol. 35, 17 septembre 2010, pp27-38 , décrit un procédé pour empêcher l'injection SQL, qui est provoquée lorsqu'un utilisateur transmet une entrée incorrecte à une base de données. La technique fournit un assainissement automatique des requêtes SQL grâce à l'utilisation d'une analyse statique et d'une transformation de programme.
On connaît aussi l’article Baratloo et. Al. dans " Transparent run-time defense against smashing attack " - Actes de la conférence technique annuelle USENIX 2000 - 18-23 juin 2000 - San Diego, CA, USA, pp251-262, décrit l'atténuation des attaques contre les piles de processus avec une première méthode qui intercepte tous les appels aux fonctions de bibliothèque connues pour être vulnérables et une seconde méthode utilise la modification binaire de la mémoire de processus pour forcer la vérification des éléments critiques des piles avant utilisation.
On connaît dans l’état de la technique le brevet américain délivré sous le numéro US9298924 décrivant un procédé mis en œuvre par ordinateur pour corriger automatiquement une vulnérabilité de sécurité dans un code source d'un programme informatique, le procédé comprenant les étapes suivantes : Identification, dans un code source d'un programme informatique, d'une vulnérabilité de sécurité sous la forme d'une partie de code qui envoie des données corrompues au code récepteur correspondant dans le code source ; Recherche de la partie de code qui envoie les données entachées contenant la création d'instruction ; Recherche du code correspondant qui crée une requête avec les données entachées ; Remplacement par un espace réservé une variable de la portion de code qui envoie les données corrompues ; Remplacement par un appel « prepareStatement » un appel « createStatment » correspondant à la portion de code qui envoie les données entachées ; Ajout d’un appel « setString » correspondant à la portion de code qui envoie les données entachées ; Suppression de l’argument de requête d'un « execute/executeQuery » dans la portion de code ; Détermination si la sortie de la partie de code qui contient la création d'instruction domine l'entrée dans le code récepteur qui crée la requête ; et si la sortie ne domine pas l'entrée, la correction automatique de la vulnérabilité de sécurité en effectuant automatiquement la modification du code en effectuant au moins l'une des Déplacement d’une partie de la portion de code vers un emplacement différent dans le code source et Copie d’une partie de la partie de code à un emplacement différent dans le code source dans le cadre de la modification du code source pour amener le code source à assainir les données corrompues avant que les données corrompues n'atteignent le code récepteur correspondant.
On connaît aussi le brevet européen délivré sous le n° EP2092424 proposant un procédé mis en œuvre par ordinateur pour détecter des vulnérabilités de sécurité dans un programme informatique, comprenant les étapes consistant à : recevoir dans une mémoire le code source dudit programme informatique à analyser, ledit code source comprenant des éléments de code et des instructions, au moins une partie desdites instructions référençant des variables, dans lequel lesdites variables comprennent des structures de données ayant des variables membres, lesdites variables membres ayant les noms des membres ; construire, à l'aide d'un analyseur de code source s'exécutant sur un processeur, un modèle orienté objet dudit code source, dans lequel lesdits éléments de code sont représentés par des objets respectifs, dans lequel ladite construction d'un modèle orienté objet comprend l'attribution d'une instance unique des identifiants pour chacune desdites variables membres ; et en utilisant ledit modèle, construire au moins un graphe de flux de contrôle représentant un flux dudit programme informatique, stocker le modèle orienté objet dans une base de données orientée objet ; recevoir une requête de base de données de code source, dans un langage de requête de graphe de code prédéfini, concernant une vulnérabilité de sécurité dans laquelle un nom de membre d'une variable membre prédéterminée est identique audit nom de membre d'une autre variable membre ; analyser ledit au moins un graphe de flux de contrôle en réponse à ladite requête dans la base de données de code source afin d'identifier une partie dudit code source ayant ladite vulnérabilité de sécurité en identifiant des références à ladite variable membre prédéterminée en utilisant lesdits identificateurs d'instance uniques de celle-ci ; et
est un schéma d’une soupape à insert en position fermée.
est un schéma d’une soupape à insert en position ouverte.
DESCRIPTION DÉTAILLÉE — Présentation et avantages —
De manière générale, cette demande concerne un ou plusieurs modes de réalisation de procédés et de systèmes pour une soupape à insert, installée dans une soupape à insert, qui permet un écoulement et une commande de fluide améliorés.
Dans les puits de forage, une soupape de sécurité peut être installée pour empêcher l’écoulement indésirable de fluides (par exemple, pétrole, gaz, etc.) depuis un réservoir, vers le haut à travers le puits de forage et vers la surface. La soupape de sécurité peut être « normalement fermée » de sorte qu’un clapet (ou un autre composant de celui-ci) est soumis à une force passive, incontrôlée et/ou constante (par exemple, via un ressort de torsion) pour déplacer le clapet vers la position fermée. Ainsi, afin d’ouvrir la soupape de sécurité, une commande active est nécessaire pour contrecarrer la force constante appliquée au clapet (par exemple, via un piston hydraulique). Par conséquent, en cas d’urgence, la pression hydraulique sur le clapet peut être rapidement supprimée (si elle n’est pas déjà relâchée) et la soupape de sécurité se fermera automatiquement par son propre mécanisme. Par conséquent, l’écoulement du réservoir cessera et la situation d’urgence en surface pourra être gérée en conséquence.
Cependant, comme la soupape de sécurité est ouverte et fermée à plusieurs reprises (par exemple, via un piston hydraulique), les composants internes de la soupape de sécurité peuvent « s’user » et ne pas fonctionner aussi efficacement que prévu. Plus précisément, le clapet (ou autre mécanisme de fermeture) de la soupape de sécurité peut ne pas se fermer complètement (par exemple, le ressort peut avoir perdu une partie de sa capacité à maintenir la tension). Par conséquent, des fluides peuvent circuler partiellement autour du clapet, même lorsque la soupape de sécurité est « fermée ». De telles performances ne sont pas souhaitables car l’écoulement incontrôlé des fluides d’un réservoir, même minime, peut exacerber une situation d’urgence en surface.
Lorsqu’une soupape de sécurité perd sa capacité à commander correctement l’écoulement du fluide d’un réservoir, une soupape à insert peut être installée à l’intérieur de la soupape de sécurité, en parallèle, pour rétablir une commande correcte du fluide de réservoir. Cependant, l’utilisation d’une soupape à insert présente plusieurs inconvénients.
Un premier inconvénient d’une soupape à insert est que le débit provenant du puits de forage est réduit car les composants supplémentaires de la soupape à insert consomment le volume du trajet d’écoulement à l’intérieur de la soupape de sécurité d’origine. Un deuxième inconvénient est que les soupapes à insert sont souvent équipées de mécanismes à ressort et à clapet similaires, sujets à la même usure que la soupape de sécurité d’origine. De plus, à certaines profondeurs, il devient peu pratique, voire impossible, de fabriquer un ressort capable de vaincre la charge hydrostatique (du poids de la colonne de liquide dans le puits de forage). Un troisième inconvénient est que les soupapes à insert classiques (ainsi que d’autres types de soupapes) ont souvent des conceptions complexes et des mécanismes de commande hydraulique nécessitant l’ajout de plusieurs joints, dont chacun est sujet à une usure et à des fuites.
Comme décrit ici, une soupape à insert est prévue qui permet un écoulement de fluide supérieur à celui des soupapes à insert classiques en permettant au fluide de s’écouler autour du mécanisme de fermeture puis dans le volume interne de la soupape à insert. Le piston qui commande la fermeture est construit en ligne et centré avec le mécanisme de fermeture. De plus, le piston (et ses commandes hydrauliques) sont disposés en amont du mécanisme de fermeture, réduisant ainsi le nombre de joints hydrauliques installés dans la soupape à insert.
La est un schéma d’un exemple d’environnement de forage. L’environnement de forage 100 peut comporter une plate-forme 102 qui supporte le derrick 104 ayant un moufle mobile 108 pour élever et abaisser l’entraînement supérieur 110 et le train de tiges. L’entraînement supérieur 110 supporte et fait tourner le train de tiges lorsqu’il est abaissé à travers la tête de puits 112. À son tour, le trépan 124, situé à l’extrémité du train de tiges, peut créer le puits de forage 116. Chacun de ces composants est décrit ci-dessous.
La plate-forme 102 est une structure qui peut être utilisée pour supporter un ou plusieurs autres composants de l’environnement de forage 100 (par exemple, le derrick 104). La plate-forme 102 peut être conçue et construite à partir de matériaux appropriés (par exemple du béton) qui sont capables de résister aux forces appliquées par d’autres composants (par exemple, le poids et les forces antagonistes subies par le derrick 104). Dans n’importe quel mode de réalisation, la plate-forme 102 peut être construite pour fournir une surface uniforme pour les opérations de forage dans l’environnement de forage 100.
Le derrick 104 est une structure qui peut supporter, contenir et/ou faciliter autrement le fonctionnement d’une ou de plusieurs pièces de l’équipement de forage. Dans n’importe quel mode de réalisation, le derrick 104 peut fournir un support au moufle fixe 106, au moufle mobile 108 et/ou à toute pièce reliée au (et incluant) le train de tiges. Le derrick 104 peut être construit à partir de n’importe quel matériau approprié (par exemple, de l’acier) pour fournir la résistance nécessaire pour supporter ces composants.
Le moufle fixe 106 est une ou plusieurs machines simples qui peuvent être fixées de manière rigide au derrick 104 et comprennent un ensemble de poulies (par exemple, un « bloc »), filetées (par exemple, « mouvant ») avec une ligne de forage (par exemple, un câble en acier), pour fournir un avantage mécanique. Le moufle fixe 106 peut être disposé verticalement au-dessus du moufle mobile 108, le moufle mobile 108 étant enfilé avec la même ligne de forage.
Le moufle mobile 108 est une ou plusieurs machines simples qui peuvent être fixées de manière mobile au derrick 104 et comprennent un ensemble de poulies, filetées avec une ligne de forage, pour fournir un avantage mécanique. Le moufle mobile 108 peut être disposé verticalement au-dessous du moufle fixe 106, le moufle fixe 106 étant fileté avec la même ligne de forage. Dans n’importe quel mode de réalisation, le moufle mobile 108 peut être couplé mécaniquement au train de tiges (par exemple, via un entraînement supérieur 110) et permettre au train de tiges (et/ou à n’importe quel composant de celui-ci) d’être soulevé depuis (et hors) du puits de forage 116. Le moufle fixe 106 et le moufle mobile 108 peuvent tous deux utiliser une série de poulies parallèles (par exemple, dans un agencement « bloc et palan ») pour obtenir un avantage mécanique significatif, permettant au train de tiges de supporter des charges plus importantes (par rapport à une configuration qui utilise une tension non parallèle). Le moufle mobile 108 peut se déplacer verticalement (par exemple vers le haut, vers le bas) à l’intérieur du derrick 104 via l’extension et la rétraction de la ligne de forage.
L’entraînement supérieur 110 est une machine qui peut être conçue pour faire tourner le train de tiges. L’entraînement supérieur 110 peut être fixé au moufle mobile 108 et conçu pour se déplacer verticalement à l’intérieur du derrick 104 (par exemple, avec le moufle mobile 108). Dans n’importe quel mode de réalisation, la rotation du train de tiges (causée par l’entraînement supérieur 110) peut permettre au train de tiges de creuser le puits de forage 116. L’entraînement supérieur 110 peut utiliser un ou plusieurs moteurs et mécanismes d’engrenage pour provoquer des rotations du train de tiges. Dans n’importe quel mode de réalisation, une table rotative (non représentée) et un entraînement « Kelly » (non représenté) peuvent être utilisés en plus ou à la place de l’entraînement supérieur 110.
Si la température mesurée est inférieure au premier seuil de température, l’unité électronique de commande 102 commande l’électrovanne de réchauffage 110 en position d’ouverture (étape 4) et l’activation du moteur 101 (étape 5), qui entraine alors la pompe 103, tant que la température mesurée Tr est inférieure à un deuxième seuil de température (étape 6). Le deuxième seuil de température (ici égal à + 30°C) correspond à une température d’arrêt du réchauffage au-delà de laquelle il n’est pas utile d’aller pour obtenir un fonctionnement nominal du système d’actionnement hydraulique 100. Lorsque la température mesurée Tr atteint le deuxième seuil de température, l’unité électronique de commande 102 commande l’électrovanne de réchauffage 110 en position de fermeture et la désactivation du moteur 101 (étape 7). On voit sur la que la température mesurée Tr va ainsi évoluer entre les deux seuils de température.
Comme le passage du fluide hydraulique dans la restriction induit une perte de débit, il n’est pas souhaitable qu’un réchauffage ait lieu lorsque les dispositifs de fonctionnement sont en utilisation. Le programme informatique est agencé pour que le réchauffage ne perturbe pas le fonctionnement des dispositifs de raccordement et l’unité électronique de commande 102 vérifie si l’un au moins des dispositifs de raccordement a, b, c est en cours d’utilisation avant d’activer une phase de réchauffage et pendant la phase de réchauffage.
Trois modes possibles de pilotage du réchauffage en fonction de l’utilisation des dispositifs d’actionnement vont maintenant être décrits.
Selon le premier mode de pilotage (illustré sur la ), chaque unité électronique de commande 114a, 114b, 114c des dispositifs d’actionnement a, b, c transmet à l’unité électronique de commande 102 un signal informant de l’état actif du dispositif d’actionnement a, b, c correspondant.
Dans le cas où au moins un des dispositifs d’actionnement a, b, c est actif alors l’électrovanne de réchauffage 110 est laissée ou amenée dans sa position de fermeture.
Toutefois, afin d’accélérer le réchauffement du fluide hydraulique lorsqu’au moins un des dispositifs d’actionnement a, b, c nécessite d’être commandé, le premier mode de pilotage autorise l’activation de l’électrovanne de réchauffage lorsqu’au moins un des dispositifs d’actionnement a, b, c est actif et lorsque la température du fluide hydraulique est comprise dans un intervalle de températures, par exemple T=[-30°C ; -20°C], car une température trop faible risque d’entrainer une dégradation des performances du dispositif d’actionnement activé. Dans la plage de températures [-30°C ; -20°C], l’effet de la température aura plus de conséquence sur les performances du dispositif d’actionnement a, b, c activé que la perte de débit au travers de la restriction de l’électrovanne de réchauffage 110.
A titre d’exemple, les températures d’activation et désactivation du réchauffage sont les suivantes : température d’activation #1 = -20°C ; température d’activation #2 = -30°C ; température désactivation #1= -10°C ; température désactivation #2= +30°C.
Le deuxième mode de pilotage (illustré sur la ) repose sur l’exploitation de la pression de refoulement de la pompe 103, mesurée par le capteur de pression amont 115. L’unité électronique de commande 102 stoppe la commande d’ouverture de l’électrovanne de réchauffage 110 lorsque la pression mesurée par le capteur de pression amont 115 est inférieure à un premier seuil de pression Pr prédéterminé. Les profils de pression en fonction du débit au port de refoulement de la pompe 103 suivent régulièrement un profil tel que celui donné en .
Le seuil de pression Pr de fermeture de l’électrovanne de réchauffage 110 est défini au voisinage du niveau de pression correspondant au débit maximal que délivre la pompe 103 dans les conditions les plus défavorables, par exemple 180 bar. L’ouverture de l’électrovanne de réchauffage 110 est commandée par l’unité électronique de commande 102 si la pression de refoulement mesurée est supérieure à un deuxième seuil de pression Ps, par exemple 200 bar.
Le troisième mode de pilotage (illustré sur la ) consiste à réaliser la commande de l’électrovanne de réchauffage 110 à partir de la mesure de la vitesse de rotation du moteur 101 actionnant la pompe 103 en complément de la mesure de la température du fluide hydraulique fournie par la sonde de température 108. Ce mode de pilotage est particulièrement adapté lorsque : au moins un des actionneurs 112 est asservi en déplacement/vitesse, la pompe 103 a une cylindrée constante et le moteur 101 est piloté en vitesse. La vitesse du moteur 101 est ajustée automatiquement selon une consigne de vitesse/déplacement au moyen d’un contrôleur de type PID (ou proportionnel intégral dérivé) intégré dans l’unité électronique de commande 102.
La vitesse de rotation du moteur 101, et par conséquent le débit de refoulement de la pompe 103, est limitée par la tension d’alimentation disponible. L’ouverture de l’électrovanne de réchauffage 110 entraine une perte de débit vers les actionneurs mais cette perte de débit peut être compensée grâce au contrôleur PID (cette compensation est cependant limitée par la vitesse de rotation maximale du moteur 101, de sorte qu’au-delà de cette vitesse de rotation maximale apparait une dégradation des performances des dispositifs d’actionnement a, b, c). Afin de préserver les performances des dispositifs d’actionnement a, b, c, l’unité électronique de commande 102 ferme l’électrovanne de réchauffage 110 lorsque la vitesse de rotation du moteur 101 s’approche de la vitesse maximale.
La commande d’ouverture de l’électrovanne de réchauffage 110 est donc appliquée lorsque la température du fluide est inférieure à un certain seuil T=-30°C et si la vitesse de rotation du moteur est inférieure à un premier seuil de vitesse Ws. La fermeture de l’électrovanne de réchauffage 110 est conditionnée à une température de fluide supérieure au seuil de désactivation du réchauffage ou à une vitesse de rotation du moteur 101 supérieure à un deuxième seuil de vitesse Wr.
Les seuils de vitesse sont ici les suivants : Ws= 1400 tr/min ; Wr= 1500 tr/min.
Le seuil Wr est déterminé selon une vitesse critique proche de la vitesse maximale à laquelle est capable de tourner le moteur, par exemple 90% de la vitesse théorique maximale. Si la vitesse du moteur excède ce seuil alors la valve de réchauffage se ferme, permettant alors d’avoir plus de débit vers les servitudes. Ceci peut alors entrainer une réduction de la vitesse de rotation du moteur conséquence de l’asservissement. Afin de ne pas avoir d’effet « bang-bang » sur l’ouverture/fermeture de la valve de réchauffage, la réouverture de la valve n’est permise que si la vitesse de rotation est inférieure au seuil Ws qui est défini à une valeur inférieure à Wr.
On notera qu’il est possible de combiner tout ou partie des trois modes de pilotage ci-dessus.
La structure du système d’actionnement hydraulique selon l’invention permet en outre de surveiller l’état de fonctionnement de la pompe 103, lorsque celle-ci est de cylindrée constante, et plus particulièrement son débit de refoulement.
HP et de le transférer vers le ou les moteurs principaux.
Le ou les compresseurs (2) et/ou la ou les pompes (3) et/ou la ou les pompes d’extraction (4) peuvent être entraînés ensemble ou de manière indépendante par un ou des systèmes mécaniques ou un moteur électrique indépendant (5) et/ou même par une ou des turbines solidaires du dispositif qui prélèvera une partie de l’énergie du flux GH2HP afin de balayer le maximum de plages de pilotabilité possibles et fourniront alors le carburant au destinataire (moteur principal de l’installation).
Dans le cas de l’utilisation d’un moteur électrique indépendant (5) pour l’entraînement des compresseurs (2) ou des pompes (3 et/ou 4), il sera intéressant de refroidir le moteur électrique par contact de conduction ou convection ou rayonnement ou d’un circuit d’échange de chaleur ou par panachage de ces technologies, avec la chambre volumétrique (1), ce qui permettra simultanément à cette dernière de recevoir une quantité de chaleur qui permettra l’élévation de température et une compression supplémentaire du gaz cryogénique à l’intérieur. De la même manière par conduction ou convection ou rayonnement ou d’un circuit d’échange de chaleur ou par panachage de ces technologies, la chambre volumétrique (1) pourra recevoir toute source de chaleur extérieure au dispositif, par exemple de l’environnement direct de l’installation ou par refroidissement d’organes mécanique et/ou électrique inclus ou proche du ou des moteurs principaux.