FR2923924A1 - Conflict detecting and resolving method for letter of network reader of host station, involves detecting conflict in case of identifier verification failure, carrying out conflict resolution, and assigning available letter to logical volume - Google Patents

Conflict detecting and resolving method for letter of network reader of host station, involves detecting conflict in case of identifier verification failure, carrying out conflict resolution, and assigning available letter to logical volume Download PDF

Info

Publication number
FR2923924A1
FR2923924A1 FR0759076A FR0759076A FR2923924A1 FR 2923924 A1 FR2923924 A1 FR 2923924A1 FR 0759076 A FR0759076 A FR 0759076A FR 0759076 A FR0759076 A FR 0759076A FR 2923924 A1 FR2923924 A1 FR 2923924A1
Authority
FR
France
Prior art keywords
conflict
logical volume
letter
host station
detecting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0759076A
Other languages
French (fr)
Other versions
FR2923924B1 (en
Inventor
Olivier Leduc
Didier Moyart
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Card Systems SA France
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Card Systems SA France filed Critical Oberthur Card Systems SA France
Priority to FR0759076A priority Critical patent/FR2923924B1/en
Publication of FR2923924A1 publication Critical patent/FR2923924A1/en
Application granted granted Critical
Publication of FR2923924B1 publication Critical patent/FR2923924B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

The method involves obtaining names of a logical volume connected to a host station, where the logical volume is constituted of a recording medium, and obtaining a unique identifier of the logic volume from the names of the logical volume. A verification process is carried out whether the identifier corresponds to a letter of a reader of the host station, and a conflict is detected in case of failure of verification of the identifier. A conflict resolution is carried out, and an available letter is assigned to the logical volume. Independent claims are also included for the following: (1) a computer program comprising a set of instructions for executing a method for detecting and resolving conflict (2) a recording medium for storing the computer program comprising a set of instructions for executing a method for detecting and resolving conflict to be produced (3) a device for detecting and resolving conflict to be produced.

Description

Procédé et dispositif de détection et de résolution d'un conflit dans la gestion des périphériques d'un ordinateur. Method and device for detecting and resolving a conflict in the management of peripherals of a computer.

Arrière-plan de l'invention L'invention se situe dans le domaine des équipements périphériques d'une station hôte. Au sens de l'invention, une station hôte peut être un ordinateur personnel, portable ou fixe, un terminal de travail relié à un serveur, un ordinateur de poche, un téléphone mobile ou, de façon générale, tout autre appareil électronique de traitement de données. Dans ce document, il faudra prendre soin de bien distinguer les périphériques de stockage (disques, CD-ROM, clés USB, cartes mémoires,...) auxquels peut être associé un nom de volume, des autres types de périphériques (cartes réseau, claviers, écrans, imprimantes, scanners,...). De façon connue, un "nom de volume" correspond à un périphérique logique, par opposition à la terminologie "device" qui, elle, désigne un périphérique physique. A titre d'exemple, une clé USB est un "device". Elle peut contenir plusieurs partitions, chacune d'entre elles étant associée à un nom de volume logique. L'invention vise plus particulièrement un procédé pour détecter et résoudre des conflits dans la gestion des lecteurs réseau d'une station hôte. BACKGROUND OF THE INVENTION The invention is in the field of peripheral equipment of a host station. Within the meaning of the invention, a host station may be a personal computer, portable or fixed, a work terminal connected to a server, a handheld computer, a mobile phone or, in general, any other electronic device for processing data. data. In this document, care should be taken to distinguish between storage devices (disks, CD-ROMs, USB sticks, memory cards, etc.) to which a volume name may be associated, other types of peripherals (network cards, keyboards, screens, printers, scanners, ...). In known manner, a "volume name" corresponds to a logical device, as opposed to the terminology "device" which, it refers to a physical device. For example, a USB key is a "device". It can contain multiple partitions, each of which is associated with a logical volume name. The invention more particularly relates to a method for detecting and resolving conflicts in the management of the network drives of a host station.

De façon connue, un "lecteur de réseau" est associé à un disque réseau, étant rappelé qu'un disque réseau n'est pas un périphérique physique de stockage à proprement parler. Afin de bien illustrer le problème technique que se propose de résoudre l'invention, on peut se reporter à la note publiée sur le site Internet de la société Microsoft (marque déposée) à l'adresse http://support.microsoft.com/kb/306819/fr : "Les noms des lecteurs de périphériques locaux (une lettre de l'alphabet) sont généralement attribués de façon incrément/elle à partir de la lettre C et les noms de lecteurs réseau sont automatiquement attribués à partir de la lettre Z, dans l'ordre inverse (Z, Y, etc). In known manner, a "network drive" is associated with a network disk, being reminded that a network disk is not a physical storage device itself. In order to clearly illustrate the technical problem that the invention proposes to solve, reference can be made to the note published on the website of Microsoft (registered trademark) at http://support.microsoft.com/ kb / 306819 / en: "The names of local device drives (a letter of the alphabet) are usually assigned incrementally from the letter C and network drive names are automatically assigned from the letter Z, in reverse order (Z, Y, etc.).

Des conflits de lettres de lecteurs avec les partages réseaux existants peuvent survenir lorsque vous connectez des appareils photos numériques et autres périphériques utilisant des M6mo/y Sticks à Windows XP tandis que l'ordinateur est allumé. Le même conflit peut survenir lorsque vous ajoutez des lecteurs externes (tels que des disques USB ou 1394). Dans le cas d'un conflit d'attribution de noms avec un partage réseau existant, le périphérique local ne sera pas accessible. Pour contourner ce problème, autorisez Windows à affecter 10 automatiquement les noms de lecteurs réseau ou à choisir les lettres des noms de lecteurs ultérieures dans l'alphabet'. Un tel conflit dans la gestion des volumes logiques associés aux périphériques est très dommageable puisqu'il peut, dans certains cas, bloquer l'utilisation du périphérique concerné. 15 Objet et résumé de l'invention L'invention concerne un procédé de détection et de résolution d'un conflit susceptible de se produire lorsqu'on connecte un périphérique à une station hôte. 20 Ce procédé comporte : une étape d'obtention du nom d'au moins un volume logique connecté à la station hôte ; une étape d'obtention, à partir du nom de volume logique, d'un identifiant unique du volume logique; 25 une étape au cours de laquelle on vérifie si l'identifiant unique du volume logique correspond à une lettre d'un lecteur de la station hôte, un conflit étant détecté en cas d'échec de l'étape de vérification ; et, en cas de conflit : une étape de résolution du conflit au cours de laquelle on affecte une 30 lettre disponible au volume logique. Corrélativement, l'invention concerne un dispositif de détection et de résolution d'un conflit susceptible de se produire lorsqu'on connecte un périphérique à une station hôte comportant : - des moyens d'obtention du nom d'au moins un volume logique connecté 35 à ladite station hôte ; - des moyens d'obtention, à partir du nom de volume logique, d'un identifiant unique du volume logique; des moyens pour vérifier si l'identifiant unique du volume logique correspond à une lettre d'un lecteur de ladite station hôte ; des moyens pour détecter un conflit en cas d'échec de la vérification; et - des moyens pour affecter une lettre disponible au volume logique afin de résoudre le conflit. D'une façon générale, l'invention propose donc de détecter d'éventuels conflits dans la gestion des périphériques d'une station hôte 10 en deux temps: on recherche tout d'abord les noms et types de tous les volumes logiques connectés à la station hôte ; puis on vérifie pour l'ensemble des lettres des lecteurs de la station hôte si le volume logique ainsi trouvé correspond à 15 cette lettre. De façon inhabituelle, l'invention manipule les informations relatives à la gestion des noms de volumes de différents niveaux, certaines d'entre elles étant des informations de niveau noyau (couche système), et d'autres des informations de niveau utilisateur (couche 20 applicative). On rappelle à cet égard que le noyau fait partie du système d'exploitation d'un ordinateur, son rôle principal étant de gérer les ressources de cet ordinateur et de permettre les échanges entre les différents composants matériels et logiciels. 25 Le noyau fournit aussi un mécanisme d'abstraction du matériel (notamment de la mémoire du ou des processeurs) et de ses propres fonctions logicielles. Mais il est connu que le noyau ne peut pas utiliser lui-même tous les mécanismes d'abstraction qu'il fournit aux autres couches 30 logicielles. Son rôle central et critique lui impose en effet des performances élevées incompatibles avec la lenteur relative induite par ces mécanismes d'abstraction. Par ailleurs, l'existence d'un noyau impose une partition de la mémoire vive physique de l'ordinateur en deux régions disjointes, l'une 35 appelée "espace noyau" étant réservé au noyau et l'autre appelée "espace utilisateur" aux applications. Drive letter conflicts with existing network shares may occur when you connect digital cameras and other devices using M6mo / y Sticks to Windows XP while the computer is turned on. The same conflict can occur when you add external drives (such as USB or 1394 drives). In the case of a naming conflict with an existing network share, the local device will not be accessible. To work around this problem, allow Windows to automatically assign network drive names or to choose letters from subsequent drive names in the alphabet. Such a conflict in the management of the logical volumes associated with the peripherals is very harmful since it can, in certain cases, block the use of the peripheral concerned. Object and Summary of the Invention The invention relates to a method for detecting and resolving a conflict that may occur when connecting a device to a host station. This method comprises: a step of obtaining the name of at least one logical volume connected to the host station; a step of obtaining, from the logical volume name, a unique identifier of the logical volume; A step in which it is checked whether the unique identifier of the logical volume corresponds to a letter of a reader of the host station, a conflict being detected in case of failure of the verification step; and, in case of conflict: a conflict resolution step in which an available letter is allocated to the logical volume. Correlatively, the invention relates to a device for detecting and resolving a conflict that may occur when a device is connected to a host station comprising: means for obtaining the name of at least one connected logical volume at said host station; means for obtaining, from the logical volume name, a unique identifier of the logical volume; means for verifying whether the unique identifier of the logical volume corresponds to a letter of a reader of said host station; means for detecting a conflict in case of failure of the check; and - means for assigning an available letter to the logical volume to resolve the conflict. In general, the invention therefore proposes to detect possible conflicts in the management of the devices of a host station 10 in two stages: first, the names and types of all the logical volumes connected to the network are searched for. host station; then we check for all the letters of the readers of the host station if the logical volume thus found corresponds to this letter. Unusually, the invention manipulates volume name management information of different levels, some of which are kernel-level (system-layer) information, and others of user-level information (layer 20). application). It is recalled in this regard that the kernel is part of the operating system of a computer, its main role being to manage the resources of this computer and to allow exchanges between the various hardware and software components. The kernel also provides a hardware abstraction mechanism (including processor memory) and its own software functions. But it is known that the kernel itself can not use all the abstraction mechanisms it provides to other software layers. Its central and critical role imposes in fact high performance incompatible with the relative slowness induced by these mechanisms of abstraction. Moreover, the existence of a kernel imposes a partition of the physical RAM of the computer into two disjoint regions, one called "kernel space" being reserved for the kernel and the other called "user space" for the kernel. applications.

Le procédé de détection et de résolution de conflits selon l'invention, qui utilise à la fois des fonctions du noyau et des fonctions applicatives, offre une solution originale, à l'opposé des techniques classiques de programmation, qui ont pour habitude de ne pas utiliser, dans un même programme ces demandes, à la fois des fonctions de l'espace noyau et de l'espace applicatif, notamment pour des raisons de sécurité. Il est en effet connu que l'appel à des fonctions de l'espace noyau nécessite des mécanismes de protection de la mémoire et de gestion de la sécurité avec des contraintes fortes qui peuvent être ignorées par le programmeur lorsqu'il manipule les fonctions de la couche applicative. L'invention vise également un programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de détection et de résolution tel que décrit précédemment lorsque le 15 programme est exécuté par un ordinateur. L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de détection et de résolution de conflit tel que décrit précédemment. 20 L'invention vise également une clé USB constituant un tel support d'enregistrement. Dans ce mode de réalisation, le programme d'ordinateur selon l'invention est situé dans une mémoire non volatile de cette clé USB. Dans un mode préféré de réalisation, la clé USB selon l'invention 25 comporte au moins deux volumes logiques, l'un de ces volumes logiques constituant un support d'enregistrement dans lequel est mémorisé le programme d'ordinateur selon l'invention. Il est connu en effet, de partitionner une clé USB en deux volumes logiques appelés "partition mass storage" et "partition CD". Les 30 types de ces partitions sont des types "REMOVABLE" et "CDROM" du système d'exploitation Windows XP. Dans un mode particulier de réalisation du procédé de détection et de résolution de conflit selon l'invention, on obtient également, à partir du nom du volume logique, un type de ce volume logique, l'étape de 35 vérification étant effectuée si ce type est un type prédéterminé. The method of detection and conflict resolution according to the invention, which uses both kernel functions and application functions, offers an original solution, as opposed to conventional programming techniques, which usually do not use in the same program these requests, both kernel space functions and application space, especially for security reasons. It is known that the call to kernel space functions requires memory protection and security management mechanisms with strong constraints that can be ignored by the programmer when manipulating the functions of the kernel. application layer. The invention also relates to a computer program comprising instructions for performing the steps of the detection and resolution method as described above when the program is executed by a computer. The invention also relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for executing the steps of the method of detection and conflict resolution as described above. The invention also relates to a USB key constituting such a recording medium. In this embodiment, the computer program according to the invention is located in a non-volatile memory of this USB key. In a preferred embodiment, the USB key according to the invention comprises at least two logical volumes, one of these logical volumes constituting a recording medium in which is stored the computer program according to the invention. It is known to partition a USB key into two logical volumes called "partition mass storage" and "partition CD". The 30 types of these partitions are "REMOVABLE" and "CDROM" types of the Windows XP operating system. In a particular embodiment of the method of detection and conflict resolution according to the invention, a type of this logical volume is also obtained from the name of the logical volume, the verification step being carried out if this type is a predetermined type.

Dans un mode préféré de réalisation du procédé de détection et de résolution de conflits selon l'invention, si on obtient des volumes logiques de plusieurs types on traite les volumes logiques, dans un ordre prédéterminé en fonction de leur type. In a preferred embodiment of the method for detecting and resolving conflicts according to the invention, if logical volumes of several types are obtained, the logical volumes are processed in a predetermined order according to their type.

Par exemple, il est préférable de traiter les volumes de type REMOVABLE avant les périphériques de type CDROM lorsque le programme d'ordinateur selon l'invention est mis en oeuvre par une fonction autorun mémorisée sur la partition CDROM de la clef USB, apte à exécuter un programme mémorisé quant à lui sur la partition REMOVABLE. L'homme du métier comprendra qu'en traitant d'abord les volumes logiques REMOVABLE, l'autorun qui se déclenche automatiquement dès que le conflit sera résolu, peut fonctionner correctement. For example, it is preferable to treat the REMOVABLE type volumes before the CDROM type devices when the computer program according to the invention is implemented by a autorun function stored on the CDROM partition of the USB key, able to execute a program memorized as for him on the partition REMOVABLE. Those skilled in the art will understand that by first dealing with REMOVABLE logical volumes, the autorun that triggers automatically as soon as the conflict is resolved can work properly.

Dans un mode préféré de réalisation, le procédé de détection et de résolution de conflits selon l'invention comporte une étape au cours de laquelle on vérifie si un périphérique d'un modèle prédéterminé est connecté à la station hôte. Les périphériques d'un modèle prédéterminé au sens de l'invention peuvent être les périphériques distribués par un constructeur particulier susceptible d'être connecté à la station hôte. Dans un mode particulier de réalisation, le procédé de détection et résolution de conflits selon l'invention comporte en outre : une étape d'obtention, à partir d'un identifiant du périphérique de modèle prédéterminé d'un numéro séquentiel attribué à ce périphérique par le système d'exploitation de la station hôte ; une étape d'obtention d'un numéro séquentiel attribué par ce système d'exploitation, au périphérique physique monté sur le volume logique en conflit et une étape de comparaison des numéros séquentiels pour déterminer si le périphérique monté sur le volume logique en conflit est un périphérique du modèle prédéterminé. L'étape d'obtention de l'identifiant du périphérique de modèle prédéterminé peut être mise en oeuvre par l'appel d'une fonction du noyau, et l'étape d'obtention du numéro séquentiel attribué au périphérique physique monté sur le volume logique en conflit peut être mise en oeuvre par une fonction du niveau applicatif. Là encore, le procédé de détection et de résolution de conflits selon l'invention fait, de façon originale, appel à deux fonctions classiquement utilisées dans deux domaines de programmation différents, pour vérifier si le périphérique monté sur le volume logique en conflit est du modèle prédéterminé. Dans un mode particulier de réalisation de l'invention, l'obtention de l'identifiant du périphérique de modèle prédéterminé comporte une sous-étape d'obtention de la liste des interfaces de ce périphérique. Lorsque le système d'exploitation de la station hôte est un système d'exploitation Windows de la société Microsoft, il est en effet nécessaire, pour réaffecter une lettre disponible au volume en conflit, de vérifier dans un premier temps à quelle lettre le volume aurait dû être associé en l'absence de conflit. En effet, les interfaces de programmation de l'application (API pour "Application Programming Interface") offertes par le système d'exploitation Windows, demandent que l'on renseigne la lettre précédemment utilisée afin de pouvoir démonter un lecteur réseau. En conséquence, dans un mode particulier de réalisation de l'invention, l'étape de réalisation de conflits comporte : une étape de recherche de la lettre qui aurait été affectée au volume logique en l'absence de conflit une étape au cours de laquelle on démonte le volume logique de l'endroit où il se trouve et une étape au cours de laquelle on monte le volume logique sur la lettre disponible. L'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans une station hôte ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé de détection et de résolution de conflit tel que mentionné ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation offrant accès aux fonctions nécessaires de l'espace noyau. In a preferred embodiment, the method for detecting and resolving conflicts according to the invention comprises a step during which it is checked whether a peripheral of a predetermined model is connected to the host station. The peripherals of a predetermined model within the meaning of the invention may be peripherals distributed by a particular manufacturer that may be connected to the host station. In a particular embodiment, the method for detecting and resolving conflicts according to the invention also comprises: a step of obtaining, from an identifier of the predetermined model peripheral, a sequential number assigned to this peripheral by the operating system of the host station; a step of obtaining a sequential number assigned by this operating system, the physical device mounted on the conflicting logical volume and a step of comparing the sequential numbers to determine if the device mounted on the conflicting logical volume is a device of the predetermined model. The step of obtaining the identifier of the predetermined model device can be implemented by the call of a function of the kernel, and the step of obtaining the sequential number assigned to the physical device mounted on the logical volume in conflict can be implemented by a function of the application level. Here again, the method of detection and resolution of conflicts according to the invention makes, in an original way, two functions conventionally used in two different programming domains, to check whether the device mounted on the conflicting logical volume is of the model. predetermined. In a particular embodiment of the invention, obtaining the identifier of the predetermined model device comprises a substep of obtaining the list of interfaces of this device. When the operating system of the host station is a Windows operating system of the Microsoft company, it is indeed necessary, to reassign an available letter to the volume in conflict, to check at first to which letter the volume would have had to be associated in the absence of conflict. Indeed, the programming interfaces of the application (API for "Application Programming Interface") offered by the Windows operating system, require that we fill in the letter previously used in order to dismount a network drive. Consequently, in a particular embodiment of the invention, the step of realizing conflicts comprises: a step of searching for the letter that would have been assigned to the logical volume in the absence of conflict; a step in which one unmounts the logical volume from where it is and a step in which the logical volume is mounted on the available letter. The invention also relates to a computer program on an information medium, this program being able to be implemented in a host station or more generally in a computer, this program comprising instructions adapted to the implementation of steps of a method of detection and conflict resolution as mentioned above. This program can use any programming language that provides access to the necessary functions of the kernel space.

Ce programme peut être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. On peut notamment utiliser le langage C et le compilateur Visual C++ (marque déposée). L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur. This program may be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form. In particular, it is possible to use the C language and the Visual C ++ (registered trademark) compiler. The invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above. The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard.

D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network.

Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.

Brève description des dessins - les figures 1A à 1D illustrent un exemple de conflit pouvant être détecté et résolu par l'invention ; - la figure 2 représente, dans son environnement, une clé USB conforme à l'invention dans un mode particulier de réalisation ;et - la figure 3 représente, sous forme d'organigramme, les principales étapes d'un procédé de détection et de résolution de conflits conforme à l'invention dans un mode particulier de réalisation ; et BRIEF DESCRIPTION OF THE DRAWINGS FIGS. 1A-1D illustrate an example of a conflict that can be detected and solved by the invention; FIG. 2 represents, in its environment, a USB key according to the invention in a particular embodiment, and FIG. 3 represents, in flowchart form, the main steps of a detection and resolution method. conflict according to the invention in a particular embodiment; and

Description détaillée d'un mode de réalisation Nous allons maintenant décrire un mode particulier de réalisation de l'invention pour détecter et résoudre un conflit susceptible de se produire lorsqu'on connecte une clef USB 10 conforme à l'invention à une station hôte 20 dont le système d'exploitation est le système Windows XP (ou Vista) de la société Microsoft. Les figures 1A et 1B représentent l'état de la station hôte 20 5 avant la connexion de la clef USB 10 et les figures 1C et 1D l'état de la station hôte après la connexion de la clef USB 10. La figure 1A est une copie des informations affichées sur l'écran de la station hôte par l'application Windows Explorer connue de l'homme du métier. Les fonctions utilisées par cette application pour obtenir ces 10 informations sont des fonctions de l'espace utilisateur. Dans l'exemple décrit ici, six périphériques de stockage non représentés sont connectés à la station hôte 20 et associés aux lettres A à G. Par ailleurs, la lettre H est affectée à un lecteur réseau. De 15 façon connue, comme le rappelle la note de Microsoft citée dans le préambule de la présente demande, l'affectation pour un lecteur réseau est faite, dans l'espace utilisateur, en parcourant la liste des noms de volumes disponibles en partant de la fin de l'alphabet (Z). Mais l'utilisateur peut choisir d'affecter une autre lettre, par 20 exemple une autre lettre disponible, en l'occurrence ici la lettre H. La figure 1B représente le résultat d'une commande DOS permettant d'obtenir les informations connues du noyau de Windows XP. On remarque que la lettre H associée à un lecteur réseau au niveau utilisateur n'est pas listée par cette fonction DOS, seules les lettres 25 A à G associées à des périphériques de stockage étant connues du noyau. On suppose maintenant que l'on connecte la clef USB 10 dans un port USB 21 de la station hâte 20. De façon connue, le noyau de Windows XP affectera alors la première lettre, par ordre alphabétique, disponible pour les volumes de 30 stockage, à cette clef USB. En l'espèce il s'agit de la lettre H (voir figure 1D). Il se produit donc un conflit illustré par l'incohérence des informations représentées aux figures 1C et ID, la lettre H ayant été affectée par l'utilisateur au lecteur réseau. 35 L'invention permet de détecter et résoudre ce conflit automatiquement. DETAILED DESCRIPTION OF AN EMBODIMENT We will now describe a particular embodiment of the invention for detecting and solving a conflict that may occur when a USB key 10 according to the invention is connected to a host station 20 whose the operating system is the Windows XP (or Vista) system from Microsoft. FIGS. 1A and 1B show the state of the host station 20 before the connection of the USB key 10 and FIGS. 1C and 1D the state of the host station after the connection of the USB key 10. FIG. 1A is a copying the information displayed on the screen of the host station by the Windows Explorer application known to those skilled in the art. The functions used by this application to obtain this information are functions of the user space. In the example described here, six not shown storage devices are connected to the host station 20 and associated with the letters A to G. Furthermore, the letter H is assigned to a network drive. In known manner, as recalled by the Microsoft note cited in the preamble of this application, the assignment for a network drive is made, in the user space, by going through the list of available volume names starting from the end of the alphabet (Z). But the user can choose to assign another letter, for example another available letter, in this case the letter H. Figure 1B shows the result of a DOS command to obtain the known information of the kernel of Windows XP. Note that the letter H associated with a user-level network drive is not listed by this DOS function, only the letters A to G associated with storage devices being known to the kernel. It is now assumed that the USB key 10 is connected to a USB port 21 of the forward station 20. In known manner, the kernel of Windows XP will then affect the first letter, in alphabetical order, available for the storage volumes, to this USB key. In this case it is the letter H (see Figure 1D). There is therefore a conflict illustrated by the inconsistency of the information shown in Figures 1C and ID, the letter H having been assigned by the user to the network drive. The invention makes it possible to detect and resolve this conflict automatically.

La figure 2 représente de façon schématique une clef USB 10 conforme à l'invention et une station hôte 20. Cette clef USB comporte notamment un connecteur USB pouvant être inséré dans un port USB 21 de la station hôte 20 et une 5 mémoire non volatile 12. Dans l'exemple décrit ici, la mémoire non volatile 12 comporte deux partitions 121, 122 définissant ainsi deux volumes logiques respectivement de types CDROM et REMOVABLE. La partition 121 de type CDROM est un support 10 d'enregistrement au sens de l'invention. Elle comporte un programme d'ordinateur PI de type autorun c'est-à-dire un programme pouvant être exécuté automatiquement lorsque la clef USB 10 est détectée par la station hôte 20. Le programme d'ordinateur Pl comporte des instructions pour 15 exécuter les étapes du procédé de détection de conflit conforme à l'invention, dont l'organigramme est représenté à la figure 3. Le programme d'ordinateur Pl comporte, dans cet exemple, des instructions pour déclencher l'exécution d'un programme d'ordinateur P2 applicatif mémorisé dans la partition 122 de type REMOVABLE. 20 En référence à la figure 3 nous allons maintenant décrire les principales étapes d'un procédé de détection et de résolution de conflit conforme à l'invention. Au cours d'une première étape El, le procédé conforme à l'invention recherche le premier nom de volume logique connecté à la 25 station hôte 20. Dans l'exemple de réalisation décrit ici, l'obtention d'un nom de volume logique se fait en appelant la fonction noyau FindNextVolume fournie par Microsoft. Puis, au cours d'une étape E2, en utilisant la fonction du noyau 30 QueryDosDevice fournie par Microsoft avec pour paramètre le nom de volume logique obtenu à l'étape El, on récupère le type typ_voll et un identifiant unique id_voll de ce volume. Dans le mode de réalisation de l'invention décrit ici, on s'intéresse uniquement aux types REMOVABLE et CDROM, les autres types 35 de volumes logiques (FIXED, FLOPPY, ne sont pas traités. FIG. 2 schematically represents a USB key 10 according to the invention and a host station 20. This USB key notably comprises a USB connector that can be inserted into a USB port 21 of the host station 20 and a nonvolatile memory 12 In the example described here, the nonvolatile memory 12 comprises two partitions 121, 122 thus defining two logical volumes respectively of types CDROM and REMOVABLE. The partition 121 of the CDROM type is a recording medium within the meaning of the invention. It comprises an autorun-type PI program that is to say a program that can be automatically executed when the USB key 10 is detected by the host station 20. The computer program P1 includes instructions for executing the instructions. steps of the conflict detection method according to the invention, whose flowchart is shown in Figure 3. The computer program P1 includes, in this example, instructions to trigger the execution of a computer program P2 application stored in the partition 122 type REMOVABLE. With reference to FIG. 3, the main steps of a conflict detection and resolution method according to the invention will now be described. In a first step E1, the method according to the invention searches for the first logical volume name connected to the host station 20. In the embodiment described here, obtaining a logical volume name is done by calling the FindNextVolume kernel function provided by Microsoft. Then, during a step E2, using the function of the QueryDosDevice kernel provided by Microsoft with the parameter logical volume name obtained in step E1, the typ_voll type and a unique id_voll identifier of this volume are retrieved. In the embodiment of the invention described here, only the REMOVABLE and CDROM types are considered, the other types of logical volumes (FIXED, FLOPPY, are not processed.

Puis on recherche, dans une boucle constituée par les étapes E3 à E5, pour chaque lettre de lecteur de la station hôte 20, si l'identifiant unique id_voll du volume logique obtenu à l'étape E2 correspond à cette lettre. Then we search, in a loop constituted by the steps E3 to E5, for each drive letter of the host station 20, if the unique identifier id_voll of the logical volume obtained in step E2 corresponds to this letter.

Pour cela, on utilise à l'étape E3, la fonction QueryDosDevice du mode utilisateur, avec une lettre en paramètre, pour obtenir l'identifiant de volume logique id_vol2 associé à cette lettre. Au cours de l'étape E4 on compare les identifiants id_voll et id_vol2 ainsi obtenus. Si ces identifiants sont égaux, il n'y a pas de conflit sur le volume logique concerné et on retourne à l'étape El déjà décrite pour traiter le nom de volume suivant. Le test E5 permet de vérifier que toutes les lettres de lecteur ont été traitées. Lorsque toutes les lettres ont été traitées (résultat du test E5 négatif) et qu'aucune lettre ne correspond au volume avec le même identifiant unique, alors il y a un conflit, celui-ci étant détecté à l'étape E6. Dans le mode de réalisation de l'invention décrit ici, on traite les volumes logiques de type REMOVABLE avant de traiter les volumes logiques de type CDROM. For this, the user mode function QueryDosDevice is used in step E3, with a letter in parameter, to obtain the logical volume identifier id_vol2 associated with this letter. During step E4, the identifiers id_voll and id_vol2 thus obtained are compared. If these identifiers are equal, there is no conflict on the logical volume concerned and we return to the step El already described to process the next volume name. The E5 test verifies that all drive letters have been processed. When all the letters have been processed (result of the negative E5 test) and no letter corresponds to the volume with the same unique identifier, then there is a conflict, which is detected in the step E6. In the embodiment of the invention described here, the REMOVABLE logical volumes are processed before processing the CDROM logical volumes.

On notera que dans cet exemple, plusieurs types de volume sont identifiés, puisque la clef USB 10 comporte deux partitions 121, 122 de types différents (CDROM et REMOVABLE). Dans le mode de réalisation décrit ici, le procédé de détection et de résolution de conflit selon l'invention, comporte une étape E7 au cours de laquelle on vérifie si un périphérique d'un modèle prédéterminé est connecté à la station hôte 20. Pour cela, on recherche et on analyse l'identifiant donné par le constructeur à chacun des périphériques connectés à la station hôte 20. en effet d'usage que les composants électroniques, et notamment les clefs USB, possèdent des identifiants, conformément à la norme USB. Ces identifiants peuvent être constitués par des chaînes hexadécimales ou binaires par exemple. Un tel identifiant comporte généralement une partie commune identique pour tous les composants électroniques d'un même modèle et 35 une partie unique spécifique à chaque composant de ce modèle. Note that in this example, several types of volume are identified, since the USB key 10 comprises two partitions 121, 122 of different types (CDROM and REMOVABLE). In the embodiment described here, the method of detection and conflict resolution according to the invention comprises a step E7 in which it is checked whether a device of a predetermined model is connected to the host station 20. For that , it seeks and analyzes the identifier given by the manufacturer to each device connected to the host station 20. in fact use that electronic components, including USB keys, have identifiers, in accordance with the USB standard. These identifiers may consist of hexadecimal or binary strings, for example. Such an identifier generally comprises an identical common part for all the electronic components of the same model and a unique part specific to each component of this model.

Dans le cas des clefs USB, les identifiants comportent les champs suivants : - VEN : identifiant du vendeur PROD : identifiant du produit . In the case of USB keys, the identifiers include the following fields: - VEN: identifier of the seller PROD: identifier of the product.

SN : numéro de série et - une chaîne de description du produit. Dans l'exemple de réalisation décrit ici, les périphériques de modèle prédéterminés sont les périphériques pour lesquels : - l'identifiant du vendeur VEN est la chaine de caractères SociétéX ; et l'identifiant de produit PROD est la chaine de caractères ProduitX . Dans le mode de réalisation décrit ici, l'étape E7 est constituée par une boucle comportant les sous-étapes E71 à E74 pour traiter tous les périphériques d'un type recherché, REMOVABLE puis CDROM, connectés à la station hôte 20. Plus précisément, la sous-étape E71 permet d'obtenir un pointeur sur un périphérique du type choisi (REMOVABLE ou CDROM) en exécutant la fonction en mode noyau SetupDiGetClassDevs avec le type choisi passé en paramètre. Puis, au cours de la sous-étape E72, on utilise, toujours en mode noyau, la fonction SetupDiGetDevicelnstanceld pour obtenir l'identifiant id_dev2 du périphérique recherché en passant en paramètre le pointeur obtenu à la sous-étape précédente. SN: serial number and - a product description string. In the exemplary embodiment described here, the predetermined model peripherals are the peripherals for which: the identifier of the vendor VEN is the string of characters SociétéX; and the product identifier PROD is the product string X. In the embodiment described here, the step E7 consists of a loop comprising the substeps E71 to E74 to process all the devices of a desired type, REMOVABLE then CDROM, connected to the host station 20. More precisely, the substep E71 makes it possible to obtain a pointer on a device of the chosen type (REMOVABLE or CDROM) by executing the kernel mode function SetupDiGetClassDevs with the chosen type passed in parameter. Then, during the substep E72, is used, still in kernel mode, the SetupDiGetDevicelnstanceld function to obtain the identifier id_dev2 of the searched device by passing in parameter the pointer obtained in the previous substep.

Au cours d'un test E73 on vérifie que l'identifiant id_dev2 est un identifiant dont les champs VEN et PROD sont respectivement égaux aux chaines de caractères SociétéX et ProduitX . Si c'est le cas, le résultat du test E73 est positif et l'étape E7 se termine, un périphérique du modèle prédéterminé ayant été identifié. During an E73 test, it is verified that the identifier id_dev2 is an identifier whose fields VEN and PROD are respectively equal to the character strings SociétéX and ProduitX. If this is the case, the result of the test E73 is positive and the step E7 ends, a device of the predetermined model having been identified.

Sinon, on effectue les mêmes sous-étapes E71 à E73 pour les autres périphériques, tant que le résultat du test E74 est positif. Si tous les périphériques ont été traités (résultat du test E74 négatif) sans qu'un périphérique du modèle prédéterminé ait été identifié, on retourne à l'étape E déjà décrite pour rechercher le nom de volume logique suivant. Otherwise, the same substeps E71 to E73 are performed for the other devices as long as the result of the E74 test is positive. If all the devices have been processed (result of the negative test E74) without a device of the predetermined model has been identified, it returns to the step E already described to find the next logical volume name.

On considère maintenant qu'un périphérique du modèle prédéterminé a été détecté. Dans l'exemple de réalisation décrit ici, le procédé de détection et de résolution de conflit selon l'invention cherche ensuite à déterminer si le périphérique de modèle prédéterminé est effectivement monté sur le volume logique en conflit identifié à l'étape E6. Pour cela, on obtient à partir de l'identifiant id_dev2 de ce périphérique, dans une étape générale E8, un numéro séquentiel num_dev2 attribué à ce périphérique par le système d'exploitation Windows XP. Dans le mode de réalisation décrit ici, cette étape générale E8 comporte deux sous-étapes E81 et E82. A la sous-étape E81, on dresse la liste des interfaces que présente le périphérique d'identifiant id_dev2. Pour cela on utilise la fonction SetupDiEnumInterface avec pour paramètre d'entrée l'identifiant id_dev2. Au cours de la même sous-étape E81, pour chaque interface trouvée, on récupère le chemin du périphérique ( Device Path en anglais) à l'aide de la fonction SetupDiGetDevicelnterfaceDetail. Ce chemin de périphérique permet de récupérer un pointeur sur le périphérique physique par le biais de la fonction noyau CreateFile. Puis au cours de la sous-étape E82, on récupère le numéro séquentiel num_dev2 attribué au périphérique de modèle prédéterminé par le système d'exploitation Windows XP, à l'aide de la fonction DeviceloContml appelée avec pour paramètres : - le pointeur obtenu à la sous-étape précédente ; et - la constante 10CLSTORAGE_GET DEVICE_NUMBER. On notera que dans le cas du système Windows XP, on parcourt la liste de toutes les interfaces à la sous-étape E81, car pour certaines d'entres elles, le numéro séquentiel id_dev2 n'est pas retourné. Au cours d'une étape E9, on obtient le numéro séquentiel id_devl attribué par le système d'exploitation Windows XP au périphérique physique monté sur le volume logique en conflit. Pour cela on utilise la fonction du mode noyau CreateFile en lui passant en paramètre le nom du volume logique en conflit obtenu à l'étape El pour lequel un conflit a été détecté à l'étape E6. Comme décrit en référence à la sous-étape E81, cette fonction retourne un pointeur sur ce périphérique. Puis, on appelle, comme à la sous-étape E82, la fonction DeviceloControl avec ce pointeur et la constante 10CLSTORAGE_GELDEVICE_NUMBER pour paramètres. It is now considered that a device of the predetermined pattern has been detected. In the exemplary embodiment described here, the method of detection and conflict resolution according to the invention then seeks to determine if the predetermined model device is actually mounted on the conflicting logical volume identified in step E6. For this, we obtain from the identifier id_dev2 of this device, in a general step E8, a sequential number num_dev2 assigned to this device by the Windows XP operating system. In the embodiment described here, this general step E8 comprises two substeps E81 and E82. In the substep E81, we list the interfaces that the device identifier id_dev2 has. For that we use the function SetupDiEnumInterface with as input parameter the identifier id_dev2. During the same substep E81, for each interface found, the Device Path is retrieved using the SetupDiGetDevicelnterfaceDetail function. This device path retrieves a pointer to the physical device through the CreateFile kernel function. Then during the substep E82, the sequential number num_dev2 allocated to the predetermined model device is retrieved by the operating system Windows XP, using the function DeviceloContml called with parameters: - the pointer obtained at the previous sub-step; and - the constant 10CLSTORAGE_GET DEVICE_NUMBER. Note that in the case of the Windows XP system, we browse the list of all interfaces to the substep E81, because for some of them, the sequential number id_dev2 is not returned. During a step E9, the sequential number id_devl assigned by the Windows XP operating system to the physical device mounted on the conflicting logical volume is obtained. For this purpose, the function of the kernel mode CreateFile is used by passing in parameter the name of the conflicting logical volume obtained in step E1 for which a conflict has been detected in step E6. As described with reference to substep E81, this function returns a pointer to this device. Then, as in substep E82, we call the function DeviceloControl with this pointer and the constant 10CLSTORAGE_GELDEVICE_NUMBER for parameters.

On obtient ainsi le numéro séquentiel num_devi périphérique physique monté sur le volume logique en conflit. Au cours d'une étape E10 on compare les numéros séquentiels num_devl et num_dev2. Si ces numéros sont identiques, le périphérique monté sur le volume logique en conflit est effectivement du modèle prédéterminé et le résultat du test E10 est positif. Dans le cas contraire, le résultat du test E10 est négatif et on retourne à l'étape El déjà décrite pour rechercher le nom de volume logique suivant. Lorsque le résultat du test E10 est positif, on résout le conflit 15 détecté à l'étape E6, au cours d'une étape générale El 1, en affectant une lettre disponible au volume logique en conflit Dans le mode de réalisation décrit ici, l'étape Ell comporte trois sous-étapes Elli à E113. La sous-étape E111 permet d'identifier à quelle lettre le nom de 20 volume en conflit aurait dû être associé en l'absence de conflit. Cette étape est nécessaire, les fonctions de programmation API de Windows imposant que l'on renseigne la lettre précédemment utilisée pour pouvoir démonter un lecteur réseau. Pour retrouver le nom de volume concerné, on consulte la base 25 de registres de Windows. Dans cette clef de la base de registres "HKEY_LOCALMACHINE \System \MountedDevices", on ouvre la donnée correspondant au nom du volume concerné pour obtenir sa valeur (ci-après première valeur ). Ces opérations sont réalisées en utilisant, en mode utilisateur, les méthodes de gestion de la base de registre 30 RegOpenKeyEx et ReqQueryValueEx. Puis, toujours au cours de la sous-étape Ell on lit chacune des données contenues dans la base de registres au niveau de System\MountedDevices du type DosDevice\X: où X est une lettre de lecteur de la station hôte 20. Si le valeur de cette donnée correspond à la première valeur, on en déduit que le volume en conflit aurait dû être monté sur cette lettre s'il n'y avait pas eu de conflit Une fois que la lettre a été identifiée, on démonte le volume logique de l'endroit où il se trouve au cours de la sous-étape E112. Pour cela on utilise la fonction Windows DeleteVolumeMountPoint en mode utilisateur, avec pour paramètre la lettre à laquelle le volume aurait dû être affecté. Puis, au cours de la sous-étape E113, on monte le volume logique sur une lettre disponible choisie en dehors de la liste des lettres déjà attribuées, en utilisant, en mode utilisateur, la fonction SetVolumeMountPoint avec pour paramètres le nom de volume logique et cette lettre. Le conflit détecté à l'étape E6 est ainsi résolu. Dans ce mode de réalisation, le procédé selon l'invention retourne à l'étape El déjà décrite pour rechercher le nom de volume logique suivant. This gives the sequential number num_devi physical device mounted on the conflicting logical volume. During a step E10, the sequential numbers num_dev1 and num_dev2 are compared. If these numbers are identical, the device mounted on the conflicting logical volume is effectively of the predetermined pattern and the result of the E10 test is positive. In the opposite case, the result of the test E10 is negative and one goes back to the step El already described to find the next logical volume name. When the result of the test E10 is positive, the conflict detected in the step E6 is solved, during a general step El 1, by assigning an available letter to the conflicting logical volume. In the embodiment described here, the Step Ell has three substeps Elli at E113. Substep E111 identifies to which letter the conflicting volume name should have been associated in the absence of conflict. This step is necessary, the API functions of Windows imposing that one informs the letter previously used to be able to disassemble a reader network. To find the volume name concerned, we consult the base 25 of Windows registers. In this key of the registry "HKEY_LOCALMACHINE \ System \ MountedDevices", one opens the data corresponding to the name of the volume concerned to obtain its value (here first value). These operations are performed using, in user mode, the management methods of the RegOpenKeyEx and ReqQueryValueEx registry. Then, during the substep Ell, we read each of the data contained in the registry at System \ MountedDevices of the type DosDevice \ X: where X is a drive letter of the host station 20. If the value of this datum corresponds to the first value, one deduces that the volume in conflict should have been mounted on this letter if there had been no conflict Once the letter has been identified, the logical volume of where it is in substep E112. For this we use the Windows DeleteVolumeMountPoint function in user mode, with the parameter for the letter to which the volume should have been assigned. Then, during substep E113, the logical volume is mounted on an available letter selected outside the list of previously assigned letters, using the SetVolumeMountPoint function in user mode with the logical volume name and parameters as the parameters. this letter. The conflict detected in step E6 is thus resolved. In this embodiment, the method according to the invention returns to the step El already described to find the next logical volume name.

Dans le mode de réalisation décrit ci-dessus, la station hôte à l'architecture matérielle d'un ordinateur conventionnel. Elle comporte notamment un processeur, une mémoire morte de type ROM et une mémoire vive de type RAM. Ces différents moyens sont aptes à exécuter le programme d'ordinateur Pl pour mettre en oeuvre l'invention. In the embodiment described above, the host station has the hardware architecture of a conventional computer. It comprises in particular a processor, a read-only memory type ROM and a random access memory type RAM. These various means are capable of executing the computer program P1 to implement the invention.

En ce sens, ils constituent conjointement un dispositif de détection et de résolution de conflit au sens de l'invention susceptible de se produire lorsqu'on connecte le périphérique 10 à la station hôte 20. Ces moyens sont en effet aptes à: - obtenir au moins un nom de volume logique connecté à la station hôte 25 20 ; -obtenir, à partir du nom de ce volume logique, un identifiant unique id_voll de ce volume logique; - vérifier si l'identifiant unique (d_voll correspond à une lettre d'un lecteur de la station hôte 20 ; 30 détecter un conflit en cas d'échec de cette vérification ;et affecter une lettre disponible au volume logique afin de résoudre le conflit. In this sense, they jointly constitute a detection and conflict resolution device within the meaning of the invention that may occur when the device 10 is connected to the host station 20. These means are indeed able to: minus a logical volume name connected to the host station 25; obtain, from the name of this logical volume, a unique identifier id_voll of this logical volume; - Check whether the unique identifier (d_voll corresponds to a letter of a reader of the host station 20; 30 detect a conflict in case of failure of this check and assign an available letter to the logical volume to resolve the conflict.

Claims (13)

REVENDICATIONS 1. Procédé de détection et de résolution d'un conflit susceptible de se produire lorsqu'on connecte un périphérique à une station hôte, ce procédé comportant : - une étape (El) d'obtention du nom d'au moins un volume logique 10 (nom_vol) connecté à ladite station hôte ; - une étape (E2) d'obtention, à partir dudit nom de volume logique (nom vol), et d'un identifiant unique (id_voll) dudit volume logique; - une étape (E3, E4) au cours de laquelle on vérifie si ledit identifiant unique (id_voll) dudit volume logique correspond à une lettre d'un 15 lecteur de ladite station hôte, un conflit étant détecté (E6) en cas d'échec de ladite étape (E3, E4) de vérification ; et, en cas de conflit : - une étape (E11) de résolution dudit conflit au cours de laquelle on affecte (E113) une lettre disponible audit volume logique. 20 A method for detecting and resolving a conflict that may occur when a device is connected to a host station, the method comprising: a step (E1) of obtaining the name of at least one logical volume; (vol_name) connected to said host station; a step (E2) of obtaining, from said logical volume name (flight name), and a unique identifier (id_voll) of said logical volume; a step (E3, E4) during which it is checked whether said unique identifier (id_voll) of said logical volume corresponds to a letter of a reader of said host station, a conflict being detected (E6) in case of failure said verification step (E3, E4); and, in case of conflict: a step (E11) for resolving said conflict during which an available letter is assigned (E113) to said logical volume. 20 2. Procédé de détection et de résolution de conflit selon la revendication 1, caractérisé en ce qu'on obtient également (E2), à partir dudit nom de volume logique (nom_vol), un type dudit (typ_voll) de ce volume logique, et en ce que ladite étape (E3, E4) de vérification est effectuée si ledit type (typ_voll) est un type prédéterminé (REMOVABLE, 25 CDROM). 2. Method of detecting and resolving a conflict according to claim 1, characterized in that also obtained (E2), from said logical volume name (volname), a type of said (typ_voll) of this logical volume, and in that said verification step (E3, E4) is performed if said type (typ_voll) is a predetermined type (REMOVABLE, CDROM). 3. Procédé de détection et de résolution de conflit selon la revendication 2, caractérisé en ce que, si on obtient (E2) des volumes logiques de plusieurs types (REMOVABLE, CDROM), on traite (E3, E4) 30 lesdits volumes logiques, dans un ordre prédéterminé en fonction de leur type (REMOVABLE, CDROM). 3. Method of detection and conflict resolution according to claim 2, characterized in that, if one obtains (E2) logical volumes of several types (REMOVABLE, CDROM), said logical volumes are processed (E3, E4), in a predetermined order according to their type (REMOVABLE, CDROM). 4. Procédé de détection et de résolution de conflit selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte en 35 outre une étape (E7) au cours de laquelle on vérifie si un périphérique d'un modèle prédéterminé est connecté à ladite station hôte. 4. A method of detection and conflict resolution according to any one of claims 1 to 3, characterized in that it further comprises a step (E7) during which it is checked whether a device of a predetermined model is connected to said host station. 5. Procédé de détection et de résolution de conflit selon la revendication 4, caractérisé en ce qu'il comporte en outre : - une étape d'obtention (E8), à partir d'un identifiant (id_dev2) dudit périphérique de modèle prédéterminé d'un numéro séquentiel (num_dev2) attribué à ce périphérique par le système d'exploitation de ladite station hôte ; - une étape d'obtention (E9) d'un numéro séquentiel (num_devl) attribué par ledit système d'exploitation, au périphérique physique monté sur ledit volume logique en conflit ; et une étape (ElO) de comparaison desdits numéros séquentiels (num_devi, num_dev2) pour déterminer si le périphérique monté sur ledit volume logique en conflit est un périphérique dudit modèle prédéterminé. 5. A method for detecting and resolving a conflict according to claim 4, characterized in that it further comprises: a step of obtaining (E8), from an identifier (id_dev2) of said predetermined model device d a sequential number (num_dev2) assigned to this device by the operating system of said host station; a step of obtaining (E9) a sequential number (num_devl) allocated by said operating system to the physical device mounted on said conflicting logical volume; and a step (ElO) of comparing said sequential numbers (num_devi, num_dev2) to determine whether the device mounted on said conflicting logical volume is a device of said predetermined pattern. 6. Procédé de détection et de résolution de conflit selon la revendication 5, caractérisé en ce que on obtient (E72) ledit identifiant (id_dev2) du périphérique de modèle prédéterminé par l'appel d'une fonction du noyau, et en ce que ladite étape (E9) d'obtention du numéro séquentiel (num_devl) attribué au périphérique physique monté sur le volume logique en conflit est mise en oeuvre par une fonction du niveau applicatif. 6. Method for detecting and resolving a conflict according to claim 5, characterized in that said identifier (id_dev2) of the predetermined model peripheral is obtained (E72) by the call of a function of the kernel, and in that said step (E9) of obtaining the sequential number (num_devl) allocated to the physical device mounted on the conflicting logical volume is implemented by a function of the application level. 7. Procédé de détection et de résolution de conflit selon la revendication 5 ou 6, caractérisé en ce que ladite étape (E8) d'obtention de l'identifiant (id_dev2) dudit périphérique de modèle prédéterminé, comporte une sous-étape (E81) d'obtention de la liste des interfaces de ce périphérique. 7. A method of detection and conflict resolution according to claim 5 or 6, characterized in that said step (E8) for obtaining the identifier (id_dev2) of said predetermined model device comprises a substep (E81) getting the list of interfaces for this device. 8. Procédé de détection et de résolution de conflit selon l'une quelconque des revendications 1 à 7, caractérisé en ce que ladite étape (Eli) de résolution de conflit comporte: - une étape (E111) de recherche de la lettre qui aurait été affectée audit volume logique en l'absence de conflit ; une étape (E112) au cours de laquelle on démonte ledit volume logique de l'endroit où il se trouve ; et- une étape (E113) au cours de laquelle on monte ledit volume logique sur ladite lettre disponible. 8. A method of detection and conflict resolution according to any one of claims 1 to 7, characterized in that said step (Eli) conflict resolution comprises: - a step (E111) search for the letter that would have been assigned to said logical volume in the absence of conflict; a step (E112) during which said logical volume of the place where it is located; and a step (E113) in which said logical volume is mounted on said available letter. 9. Programme d'ordinateur comportant des instructions pour 5 l'exécution des étapes du procédé de détection et de résolution de conflit selon l'une quelconque des revendications 1 à 8 lorsque ledit programme est exécuté par un ordinateur. A computer program comprising instructions for performing the steps of the conflict detection and resolution method according to any one of claims 1 to 8 when said program is executed by a computer. 10. Support d'enregistrement lisible par un ordinateur sur lequel 10 est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de détection et de résolution de conflit selon l'une quelconque des revendications 1 à 8. A computer readable recording medium on which a computer program is recorded including instructions for performing the steps of the conflict detection and resolution method according to any one of claims 1 to 8. 11. Clef USB caractérisée en ce qu'elle constitue un support 15 d'enregistrement selon la revendication 10. 11. USB key characterized in that it constitutes a recording medium according to claim 10. 12. Clef USB selon la revendication 11, caractérisée en ce qu'elle comporte au moins deux volumes logiques et en ce que l'un de ces volumes logiques constitue un support d'enregistrement selon la 20 revendication 10. 12. USB key according to claim 11, characterized in that it comprises at least two logical volumes and in that one of these logical volumes constitutes a recording medium according to claim 10. 13. Dispositif de détection et de résolution d'un conflit susceptible de se produire lorsqu'on connecte un périphérique à une station hôte comportant : 25 - des moyens d'obtention d'au moins un nom de volume logique (nom_vol) connecté à ladite station hôte ; - des moyens d'obtention, à partir dudit nom de volume logique (nom vol), et d'un identifiant unique (id_voll) dudit volume logique; - des moyens pour vérifier si ledit identifiant unique (id_voll) dudit 30 volume logique correspond à une lettre d'un lecteur de ladite station hôte ; - des moyens pour détecter un conflit en cas d'échec (E4) de ladite vérification (E3) ; et - des moyens pour affecter une lettre disponible audit volume logique afin 35 de résoudre ledit conflit. 13. Device for detecting and resolving a conflict that may occur when a device is connected to a host station comprising: means for obtaining at least one logical volume name (volname) connected to said host station; means for obtaining, from said logical volume name (flight name), and a unique identifier (id_voll) of said logical volume; means for verifying whether said unique identifier (id_voll) of said logical volume corresponds to a letter of a reader of said host station; means for detecting a conflict in case of failure (E4) of said checking (E3); and means for assigning an available letter to said logical volume to resolve said conflict.
FR0759076A 2007-11-15 2007-11-15 METHOD AND DEVICE FOR DETECTING AND RESOLVING CONFLICT IN THE MANAGEMENT OF PERIPHERALS OF A COMPUTER. Expired - Fee Related FR2923924B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0759076A FR2923924B1 (en) 2007-11-15 2007-11-15 METHOD AND DEVICE FOR DETECTING AND RESOLVING CONFLICT IN THE MANAGEMENT OF PERIPHERALS OF A COMPUTER.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0759076A FR2923924B1 (en) 2007-11-15 2007-11-15 METHOD AND DEVICE FOR DETECTING AND RESOLVING CONFLICT IN THE MANAGEMENT OF PERIPHERALS OF A COMPUTER.

Publications (2)

Publication Number Publication Date
FR2923924A1 true FR2923924A1 (en) 2009-05-22
FR2923924B1 FR2923924B1 (en) 2011-01-07

Family

ID=39522182

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0759076A Expired - Fee Related FR2923924B1 (en) 2007-11-15 2007-11-15 METHOD AND DEVICE FOR DETECTING AND RESOLVING CONFLICT IN THE MANAGEMENT OF PERIPHERALS OF A COMPUTER.

Country Status (1)

Country Link
FR (1) FR2923924B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815705A (en) * 1993-10-21 1998-09-29 Microsoft Corporation Method and computer system for integrating a compression system with an operating system
US5896546A (en) * 1996-11-01 1999-04-20 International Business Machines Corporation "Sticky" logical drive letter assignments
US6493822B1 (en) * 1999-09-16 2002-12-10 International Business Machines Corporation Foreign drive determination and drive letter conflict resolution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815705A (en) * 1993-10-21 1998-09-29 Microsoft Corporation Method and computer system for integrating a compression system with an operating system
US5896546A (en) * 1996-11-01 1999-04-20 International Business Machines Corporation "Sticky" logical drive letter assignments
US6493822B1 (en) * 1999-09-16 2002-12-10 International Business Machines Corporation Foreign drive determination and drive letter conflict resolution

Also Published As

Publication number Publication date
FR2923924B1 (en) 2011-01-07

Similar Documents

Publication Publication Date Title
US9858177B2 (en) Automated test generation for multi-interface enterprise virtualization management environment
EP2449751B1 (en) Method of starting up a computing device in a network, server and network of computing devices for the implementation thereof
FR2858864A1 (en) PERIPHERAL APPARATUS WITH USB CONNECTION AND METHOD FOR COMMISSIONING THE PERIPHERAL DEVICE WITH USB CONNECTION
US20180137174A1 (en) Container application execution using image metadata
FR2824160A1 (en) DYNAMICALLY CONFIGURABLE GENERIC CONTAINER
US20070245134A1 (en) Testing device and testing method for computer
US10216510B2 (en) Silent upgrade of software with dependencies
FR2867871A1 (en) Hardware unit for controlling access to e.g. memory, has latch generating and delivering electric validation signal of access request signal to logic combination unit, when access authorization code and preset reference value are equal
FR2899704A1 (en) SYSTEM AND METHOD FOR AN AUTOMATED OPERATING SYSTEM.
FR2870954A1 (en) METHOD FOR CONFIGURING HETEROGENEOUS SYSTEMS
FR2911413A1 (en) METHOD AND DEVICE FOR AUTOMATICALLY INSTALLING SYSTEM-SPECIFIC DRIVERS
US20210294896A1 (en) Endpoint detection and response attack process tree auto-play
FR2957700A1 (en) METHOD, COMPUTER PROGRAM AND OPTIMIZATION DEVICE FOR LOADING AND STARTING AN OPERATING SYSTEM IN A COMPUTER SYSTEM VIA A COMMUNICATION NETWORK
US11132210B2 (en) Dynamic parallelism adjustment
US20180101663A1 (en) Efficient retrosynthesis analysis
FR2799286A1 (en) Personal user partitions on computer workstation
EP1977365B1 (en) Electronic document management method
WO2011117528A1 (en) Method, computer program, and device for validating task execution in scaleable computer systems
EP2124153B1 (en) Methods and device for implementing multi-functional peripherals using a single standard driver
EP1494460A1 (en) Process and device for authenticating digital data using an authentication plug-in
FR2923924A1 (en) Conflict detecting and resolving method for letter of network reader of host station, involves detecting conflict in case of identifier verification failure, carrying out conflict resolution, and assigning available letter to logical volume
WO2019063907A2 (en) Method and device for processing a network service instantiation request
US10216505B2 (en) Using machine learning to optimize minimal sets of an application
US11720554B2 (en) Iterative query expansion for document discovery
EP1141903A1 (en) Device and method for initialising an applicative programme of an integrated circuit card

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

ST Notification of lapse

Effective date: 20210706