• Aucun résultat trouvé

Conception d’un système d’aide à la chirurgie sur base de la modélisation d’opérations, d’un recalage temporel des données et d’un recalage sémantique de métadonnées

N/A
N/A
Protected

Academic year: 2021

Partager "Conception d’un système d’aide à la chirurgie sur base de la modélisation d’opérations, d’un recalage temporel des données et d’un recalage sémantique de métadonnées"

Copied!
73
0
0

Texte intégral

(1)

Conception d’un système d’aide à la chirurgie sur base de la modélisation d’opérations, d’un recalage temporel des données et d’un recalage sémantique de métadonnées

Ir. Pierre M ALARME

Promoteurs :

Prof. Nadine W

ARZÉE

Ir. David W

IKLER

Manuscrit présenté en vue de l’obtention du grade de Docteur en Sciences de l’Ingénieur

Ce travail de thèse est supporté par une bourse du Fonds pour la formation à la Recherche dans l’Industrie et l’Agronomie (F.R.I.A.)

(2)
(3)

« Well Bones, do the new medical facilities meet with your approval ? » Captain Kirk

« They do not. It’s like working in a damn computer center » Dr. McCoy

Star Trek : The Motion Picture

Je tiens à remercier tout particulièrement mes promoteurs Prof. Nadine Warzée et Ir. David Wikler pour toute l’aide et le soutien qu’ils m’ont apportés depuis le début de ma thèse de doctorat et pour m’avoir permis de vivre une aventure des plus enrichissantes tant du point vue scientifique qu’humain.

Je tiens aussi à adresser mes vifs remerciements au Dr. Jean Bruyns et au Prof. Guy-Bernard Cadière pour m’avoir permis de capturer des modèles en salle d’opération, au Dr. Pierre Robe pour m’avoir permis d’en- registrer une neurochirurgie, aux Prof. Jacques Brotchi et Marc Levivier pour avoir initié le projet iDOT. Je tiens également à remercier l’ensemble du personnel de leurs départements pour leur accueil et leur dispo- nibilité, en particulier Carine Henrichs pour toute l’aide apportée.

Je remercie aussi leFonds pour la formation à la Recherche dans l’Industrie et l’Agronomie(F.R.I.A.) pour m’avoir accordé une bourse de recherche, le Prof. Pierre Jannin, le Dr. Thomas Neumuth et le Dr. Nicolas Padoy pour leur collaboration.

Mes sincères remerciements vont aussi à l’ensemble du service LIST et en particulier à Olivier Debeir pour le compteur code Gray, Thierry Leloup pour les questions pertinentes, Claude Verbeek pour la fabri- cation du compteur code Gray et du prototype Kala, Geoffrey Vanbienne pour l’aide sur le prototype Kala, Christine Decaestecker pour son aide sur la présentation des résultats, Arlette Grave pour toute son aide, Rudy Ercek pour l’aide aussi diverse que variée, Laurent Engels pour les conseils et l’aide, Laurent Munde- leer, Quentin Lurkin, Ivan Adanja, Frédéric De Groef, Quentin Houben, Cyril Krykwinski, Juan Carlos Tocino Diaz, Etienne Vanwesel, Philippe Van Ham, Xavier Moles Lopez, Dragomir Milojevic, Xavier Baele, Francis Grenez, Jean Schoentgen, Michael Cai, Christophe Mertens, Ali Alpan, Benoît Penelle et Arnaud Schenkel pour le développement de l’applicationSMIL Player. Je tiens aussi à remercier les étudiants ayant travaillé sur le projet iDOT : Nicolas Tricot, Grégory Wolf et Stefano Marini.

Mes chaleureux remerciements vont enfin à Arnaud Vanden Clooster, Aubry Dejong, Lawali Kango, Gry Malkyn, Louise Brodsky, François Detemerman et Emanuel Bairy pour leur aide et leur soutien. Je tiens tout particulièrement à remercier Laurette Massant pour son aide, son soutien et ses dessins utilisés pour les illustrations 2.1, 3.9 et 3.10.

Pour finir, je tiens à remercier toutes les personnes qui, de près ou de loin, m’ont aidé à la réalisation de ce travail et en particulier mes parents et ma famille.

(4)

Je dédie ce travail de thèse à la mémoire de mon arrière-grand-père, le Prof. Pierre Baudoux pour m’avoir donné l’envie de devenir ingénieur dès mon plus jeune âge.

(5)

Thèse de doctorat en Sciences de l’Ingénieur

Conception d’un système d’aide à la chirurgie sur base de la modélisation d’opérations, d’un recalage temporel des données et d’un recalage sémantique de métadonnées

Ir. Pierre M ALARME

Promoteurs :

Prof. Nadine W

ARZÉE

Ir. David W

IKLER

Manuscrit présenté en vue de l’obtention du grade de Docteur en Sciences de l’Ingénieur

Ce travail de thèse est supporté par une bourse du Fonds pour la formation à la Recherche dans l’Industrie et l’Agronomie (F.R.I.A.)

(6)

Table des matières

1 Introduction 1

1.1 Contexte du travail . . . 2

1.2 Cadre du travail . . . 3

1.3 Travail de thèse . . . 4

2 Archivage intégré des données chirurgicales 8 2.1 Introduction . . . 9

2.2 Mesure du temps . . . 13

2.3 Recalage temporel . . . 18

2.4 Recalage pour les plateformes mobiles . . . 44

2.5 Lecteur de flux multimédias synchronisés . . . 53

2.6 Perspectives et conclusion . . . 63

3 Chirurgie assistée par la connaissance 65 3.1 Introduction . . . 66

3.2 Etat de l’art . . . 74

3.3 Objectifs . . . 83

3.4 Méthode . . . 84

3.5 Implémentation . . . 119

3.6 Résultats . . . 125

(7)

Table des matières

3.7 Perspectives . . . 133

4 Conclusion 136 A Mesure du temps 146 A.1 Foward Time Method . . . 146

A.2 Reverse Time Method . . . 147

A.3 Windowed Time Method . . . 149

B Algorithme de reconstruction des flux périodiques 152 B.1 FTBR . . . 152

B.2 FTBFR . . . 153

B.3 SDFTR . . . 156

C Ontologie chirurgicale 157 C.1 Modèle inféré d’ontologie chirurgicale . . . 157

C.2 Code XML de l’exemple . . . 159

C.3 Modèle linéaire d’une cholécystectomie . . . 162

C.4 Exemple de modèle de cholécystectomie . . . 165

(8)

Liste des abréviations

ADTW Adaptive Dynamic Time Warping. . . 81

BP Business Process. . . .69

BPM Business Process Model. . . 70

BPR Business Process Redesign. . . 66

CEN Comité Européen de Normalisation. . . .74

DICOM Digital Image and Communication in Medecine. . . 119

DTD Document Type Definition. . . 77

DTW Dynamic Time Warping. . . 80

ECG Electrocardiographie . . . 54

EEG Electro-encéphalographie . . . 54

EM expectation maximization. . . 81

FTBR Frame Temporal Backward Rescaling algorithm. . . 30

FTBFR Frame Temporal Backward and Forward Rescaling algorithm. . . 30

FTM Forward Time Method. . . 14

GALEN Generalized Architecture for Languages, Encyclopedias and Nomenclatures in medicine. . . 74

GASP GALEN for Surgical Procedure. . . 74

gSPM generic Surgical Process Model. . . .70

HMM Hidden Markov Model. . . 81

ICCAS Innovation Center Computer Assisted Surgery. . . 76

iDOT Integrated Digital Operating Theater. . . 3

iSPM Individual Surgical Process Model. . . 70

MAC Media Access Control. . . 45

MSTR Multimedia Streams Temporal Rescaling method. . . 19

NTP Network Time Protocol. . . 12

ORCC OR Control Center. . . 119

OWL Web Ontology Language. . . 94

PM Project Management tools. . . 93

PNG Portable Network Graphics. . . 58

PR Probabilité relative . . . 111

PW Probabilité deworkflow. . . 111

(9)

Liste des abréviations

QoS Quality of Service. . . 45

RCM Remote Clock Mapping method. . . 20

RCR Remote Clock Reading method. . . 20

RTD Round Trip Delay. . . 22

RTM Reverse Time Method. . . 14

SAS Surgical Assist System. . . 66

SDE Subsequence Density Estimation. . . .81

SDFTR Shortest Distance Frame Temporal Rescaling algorithm. . . 30

SQL Structured Query Language. . . 123

SMIL Synchronize Multimedia Integration Language. . . 58

SOAP Simple Object Access Protocol. . . 117

SP Surgical Process. . . 69

SPM Surgical Process Model. . . 70

SVG Scalable Vector Graphics. . . 58

SWf Surgical Workflow. . . 71

SWfU Surgical Workflow Unit. . . 85

TCP Transmission Control Protocol. . . .22

TMD Time Measure Delay. . . 21

UML Unified Modeling Language. . . 75

UMLS Unified Medical Language System. . . 74

UDP User Datagram Protocol. . . 22

URI Uniform Resource Identifier. . . 95

UTC Temps Universel Coordonné . . . 22

UUID Universal Unique Identifier. . . 48

W3C World Wide Web Consortium. . . 58

Wf Workflow. . . .70

WfMC Workflow Management Coalitaion. . . 69

WfMS Workflow Management System. . . 71

WTM Windowed Time Method. . . 14

XML Extensible Markup Language. . . 58

XSLT Extensible Stylesheet Language Transformations. . . 58

XSMILS Extended SMIL for Surgery. . . .61

(10)

C

HAPITRE

1

INTRODUCTION

Depuis des millénaires, l’homme développe laScience chirurgicale. Bien loin des premières trépanations réalisées à l’aide de morceaux de silex, une opération moderne requiert de nombreuses technologies ser- vant toutes un même but : soigner le patient. Ces technologies se sont développées et multipliées à un point tel que leur gestion est devenue difficile.

La complexification croissante de l’environnement opératoire et des procédures chirurgicales entraîne un coût pour les soins de santé, la sécurité sociale et les patients opérés. Chaque appareil nécessite un entretien, la formation du personnel voire même la présence d’un spécialiste au sein de la salle ou du service de chirurgie.

Des ingénieurs, des physiciens ou des techniciens partagent aujourd’hui le quotidien des chirurgiens, des anesthésistes et du personnel infirmier. L’utilisation de certaines technologies entraîne un coût en temps.

Leurs utilisations combinées amènent un coût supplémentaire : elles n’ont pas été conçues pour fonction- ner ensemble, elles ne sont pas intégrées les unes avec les autres.

Pour faire face à ce problème, des équipes de recherche du monde entier se penchent sur une question fondamentale au niveau des soins de santé :Comment réduire les coûts par acte médical, tout en assurant une qualité croissante des soins délivrés au patient ainsi que sa sécurité.

Cette question en induit de nombreuses autres : “Comment faire face à l’important turn-over au niveau du personnel, en particulier du personnel infirmier ?”, “Comment diminuer la courbe d’apprentissage que ce soit pour les chirurgiens ou pour les autres acteurs des salles d’opération ?”, “Comment prévenir les erreurs ?”

ou encore “Comment prévoir l’imprévisible ?”.

(11)

Chapitre 1: Introduction Contexte du travail

1.1 Contexte du travail

LeNational Center for Human Factors Engineering in Healthcareconstate quela plupart des erreurs mé- dicales graves sont commises par des travailleurs compétents faisant exactement ce que d’autres travailleurs compétents auraient fait. Pour pouvoir anticiper les erreurs et améliorer la sécurité du patient, ils proposent d’utiliser l’approche de l’ingénierie des facteurs humains (Human Factors Enginnering - HFE). Cette ap- proche a été utilisée dans des secteurs sensibles comme l’aviation ou l’industrie nucléaire. La salle d’opéra- tion correspond aussi à un environnement sensible où la sécurité du patient est centrale [1, 2].

L’ingénierie des facteurs humains est une approche multidisciplinaire dont le but est de proposer un environnement de travail qui soit sûr, confortable et qui permette une activité humaine optimale. Cette approche consiste [3, 4] :

– àcapturerde l’information sur les capacités humaines et leurs limites face à la technologie, à une tâche à réaliser ou encore face à l’environnement de travail

– àexploitercette information pour la gestion des équipements, des systèmes informatiques, des infra- structures, du personnel, de leur travail et de leur formation.

L’intégration des facteurs humains dans le processus de capture de l’information permet d’accroître la probabilité d’augmenter les performances, la sécurité et la productivité et de diminuer la courbe d’appren- tissage et le coût de la formation [3]. Au lieu de chercher qui est responsable d’une erreur, l’approche pro- posée par l’ingénierie des facteurs humains est de comprendre ce qui a conduit à cette erreur et comment l’anticiper à l’avenir [1, 2].

Plusieurs aspects peuvent être évalués par cette approche [3] : – la sécurité et la santé du personnel et des usagers

– les procédures devant être réalisées – les tâches exécutées par le personnel – la formation du personnel

– l’environnement de travail

– l’information nécessaire à la réalisation d’une tâche – l’adaptation à différent facteurs environnementaux – la conception des appareils

– les interfaces hommes-machines et leur standardisation

– la conception des interfaces de contrôle et des interfaces graphiques des logiciels

– la manière de présenter l’information (couleurs, acronymes, symboles, terminologie, etc.) – la manière d’alerter l’utilisateur (alarmes, messages visuels)

Sur base des développements réalisés dans l’aviation ou l’industrie nucléaire, les chercheurs appliquent des concepts de l’ingénierie des facteurs humains au secteur chirurgical. Différents domaines sont étudiés :

– la formation à l’aide de simulateur de chirurgie en réalité virtuelle

– la conception de salles numériques où les différentes technologies sont intégrées afin de faciliter leur utilisation

– l’analyse du travail réalisé en salle d’opération sous forme de modèles informatiques

(12)

Chapitre 1: Introduction Cadre du travail

les système de chirurgie guidée par l’imagerie médicale

– le développement d’interfaces hommes-machines basées sur la reconnaissance vocale ou de gestes Par analogie avec l’aviation, considérons la salle d’opération comme un cockpit d’avion. Un système si- milaire à la boîte noire serait utilisé en salle afin de capturer ce qui s’y passe. En analysant l’information contenue dans cette boîte noire, il serait possible d’identifier les paramètres qui ont conduit à une situation à risque et ainsi permettre de l’anticiper. Cette information pourrait aussi servir à construire des modèles de simulation chirurgicale, à optimiser les interfaces chirurgiens-machines ou encore à concevoir des ap- pareils plus adaptés à la pratique clinique.

Capturer, analyser et comprendre ce qui se passe en salle est l’axe central qui permettra de répondre à plusieurs défis de la chirurgie de demain :anticiper les situations à risque,améliorer la formationou encore développer un environnement de travail plus intuitif.

1.2 Cadre du travail

Ce travail de thèse fait partie d’un projet de recherche :Integrated Digital Operating Theater(iDOT). L’idée principale de ce projet est que, par l’optimisation du travail du personnel chirurgical, il est possible d’opti- miser les soins délivrés au patient et ainsi garantir sa sécurité. Il vise le développement d’un ensemble de solutions centrées autour du chirurgien. Ces solutions permettront de l’assister dans sa tâche notamment en lui proposant d’accéder à l’information pertinente au bon moment.

Le projet iDOT a été mis sur pied par leLaboratoire de l’Image : Synthèse et Analyse(LISA) en 2006 en collaboration avec leService de Neurochirurgie de l’hôpital universitaire Erasme. Il se base sur plusieurs concepts comme développer des solutions efficaces et faciles d’utilisation, permettre un déploiement aisé en environnement hospitalier avec une courbe d’apprentissage minimale ou encore adapter le système à l’utilisateur et lui permettre de garder le contrôle sur la technologie. Nous pensons depuis le départ que c’est en partant de solutions simples qu’il est possible d’apporter une assistance dans un environnement complexe comme la salle d’opération.

Une première solution a été développée pour permettre de visualiser et d’interagir avec différents sys- tèmes d’informations (dossier électronique patient, serveur d’imagerie) au sein du bloc opératoire [5]. Cette solution s’intègre dans le développement de la salle d’opération numérique intégrée. Cette salle proposera un accès facile à l’information et un contrôle intuitif des appareils.

Le travail de thèse quant à lui s’inscrit dans un cadre plus large qui consiste à développer une méthodo- logie et un ensemble d’outils permettant de capturer, d’analyser et de comprendre ce qui se passe en salle pendant une opération.

(13)

Chapitre 1: Introduction Travail de thèse

1.3 Travail de thèse

Le but principal du travail de thèse est d’assister le chirurgiendans la réalisation de son travail. Cette assistance pourrait correspondre à l’automatisation de certaines tâches à réaliser ou encore au déclenche- ment d’alarmes pour informer de la survenance probable d’une situation à risque. Le système d’assistance développé se base d’une part sur lessources d’informationet d’autre part sur lecontexte(cf. Fig. 1.1).

Assister le chirurgien

Sources

d’information Contexte

Fig. 1.1 – Objectif principal du travail de thèse Les sources d’information sont l’ensemble desdonnéesissues (cf. Fig. 1.2) :

– desappareils: état d’un appareil et de ses attributs ou encore des données produites par un appareil comme l’image vidéo d’un microscope opératoire

– dessystèmes informatiques: images médicales numériques utilisées durant une opération – descapteurs: température de la salle, pression artérielle du patient, etc.

Assister le chirurgien

Sources

d’information Contexte

Appareil :

Microscope opératoire Système informatique :

Serveur d’imagerie médicale Capteur : Température de la salle

Fig. 1.2 – Sources d’information - les données

(14)

Chapitre 1: Introduction Travail de thèse

Le contexte comprend des informations commequi opère,où a lieu l’opération,quel type d’acte chirurgi- cal est réaliséou encorece qui se passe actuellement en salle(cf. Fig. 1.3). Le contexte est capturé à l’aide de métadonnées. Ces métadonnées peuvent être définies par un acteur de la salle d’opération, par un appareil ou sur base de l’analyse des données. Elles permettent aussi de décrire les données comme déclarer que telles valeurs sont produites par tel appareil pour tel patient dans le cadre d’une tâche bien définie.

Assister le chirurgien

Sources

d’information Contexte

Modèle de processus

Acte chirurgical Modèle de

processus Salle d’opération

Chirurgien

Fig. 1.3 – Contexte d’une opération - les métadonnées

Le but est donc de concevoir un système qui puisse assister le chirurgien sur base d’un ensemble de connaissances établies et en fonction d’un contexte. Ces connaissances sont extraites de l’information cap- turée en salle : les données et les métadonnées (cf. Fig. 1.4). Ce type de système est appelé :Système de chirurgie assistée par la connaissance.

Assister le chirurgien

Données Métadonnées

Fig. 1.4 – Objectif principal du travail de thèse

(15)

Chapitre 1: Introduction Travail de thèse

1.3.1 Méthodologie du travail

La méthodologie de ce travail se base sur l’approche de l’ingénierie des facteurs humains. Elle est consti- tuée de 4 phases telles que représentées à la figure 1.5 :

1. Capturerce qui se passe en salle, c’est-à-dire les données chirurgicales et les métadonnées

2. Décrireles données et ce qui s’est passé en salle sous forme d’un modèle informatisé de procédures chirurgicales (un ensemble de tâches réalisées par les différents acteurs de la salle)

3. Analyserles données et les modèles de procédures pour identifier les paramètres qui ont influencé le déroulement du processus ou pour établir un modèle générique des tâches à réaliser dans le cadre d’un acte chirurgical

4. Exploiterl’information et les connaissances pour assister le chirurgien, la capture du contexte ou encore pour réaliser des tâches de manière automatique

Fig. 1.5 – Méthodologie du travail de thèse

Les quatre phases forment une chaîne de traitement de l’information dont les connaissances extraites sont utilisées pour la capture de nouvelles informations. Le système est conçu pour apprendre petit à petit.

Il se forge au cours des captures une expérience et peut alors réagir de la manière la plus appropriée.

1.3.2 Plan du manuscrit

Ce manuscrit de thèse est divisé en deux parties : – Archivage intégré des données chirurgicales :

Cette première partie se concentre sur le développement d’une méthode permettant de capturer l’en- semble des données produites au sein d’une salle d’opération. Les données sont synchronisées pour pouvoir être affichées simultanément. Un lecteur de flux multimédias synchronisés est aussi proposé.

Il permet de rejouer différents médias comme plusieurs vues vidéos d’une opération et ainsi de récréer la phase d’observation d’une chirurgie.

Le chapitre 2 se concentre sur la conception des outils nécessaires au développement des différentes phases de notre méthodologie. Il implémente la couche de base de ce travail : capturer des données périodiques et apériodiques et les synchroniser.

(16)

Chapitre 1: Introduction Travail de thèse

Chirurgie assistée par la connaissance :

Cette deuxième partie implémente les différentes phases de la méthodologie :

Capturer: Comme la capture des données chirurgicales est décrite au chapitre 2, le chapitre 3 com- mence par présenter la capture du contexte. Le contexte dans ce travail est déterminé uniquement par un modèle de procédure chirurgicale. Ce modèle correspond à un ensemble d’étapes réalisées pendant une chirurgie. Cette section se concentre sur la capture de l’aspect temporel du modèle.

Décrire: Cette deuxième partie propose de décrire le modèle de manière sémantique et de manière logique. L’aspect sémantique permet de décrire ce qui s’est passé en salle de manière à ce qu’un ordinateur puisse le comprendre. L’aspect logique permet de décrire l’ordonnancement logique des différentes étapes du modèle.

Analyser: Cette troisième partie se concentre sur l’analyse des modèles capturés. Sur base de cette analyse, un modèle global est construit. Il reprend sous forme d’un arbre les différents déroulements d’une chirurgie capturée.

Exploiter: Ce travail propose d’exploiter l’information capturée (données, modèles de procédures chirurgicales et modèle en arbre) pour remplir trois fonctions : l’assistance à la capture du modèle, l’anticipation d’erreurs et la réalisation de tâches automatiques.

L’axe central de la conception du système de chirurgie assistée par la connaissance est la modélisation des processus opératoires. Cette modélisation permet de comprendre l’activité humaine avec un cer- tain degré de détail. Cette activité est traquée pendant le déroulement d’un processus afin d’essayer d’apporter une aide aux acteurs de la salle d’opération. Le chapitre 3 reprend donc l’implémentation des différentes parties de la méthodologie et sa validation.

Ce manuscrit de thèse présente une solution originale permettant de capturer ce qui se passe en salle et de réagir par rapport à un contexte. Il se termine par une conclusion qui recadre le travail réalisé et en présente les perspectives pour des travaux de recherches futures.

(17)

C

HAPITRE

2

ARCHIVAGE INTÉGRÉ DES DONNÉES CHIRURGICALES

La première partie de ce travail de thèse consiste à développer les outils de base pour la capture des données en salle. Il commence par introduire le sujet en précisant le type de données à capturer, les besoins pour l’archivage, la précision requise et les spécificités liées au matériel médical.

La deuxième section propose des algorithmes statistiques permettant de mesurer un temps au niveau d’un système informatique avec une précision de l’ordre de la milliseconde. Ces algorithmes sont issus d’un travail préliminaire d’évaluation de la précision des horloges informatiques [6].

La troisième section du chapitre présente la méthode de synchronisation des données appelée :recalage temporel. Cette méthode consiste à échanger des messages réseaux entre ordinateurs afin d’établir une correspondance entre leurs lignes du temps. Elle est conçue pour des ordinateurs connectés à un réseau Ethernet, c’est-à-dire les plateformes fixes.

Une quatrième section présente l’adaptation de la méthode aux plateformes mobiles connectées à un réseau sans-fil. Le marché des plateformes mobiles est en pleine croissance. Ces appareils introduisent de nouveaux concepts d’interaction. Elles sont souvent plus intuitives et faciles à utiliser que les ordinateurs traditionnels. Concevoir des logiciels pour de telles platesformes amène de nouveaux défis comme la pré- servation de la batterie ou encore la gestion de la mémoire.

Pour pouvoir rejouer simultanément les données capturées, un logiciel multimédia a été conçu et déve- loppé. Il recrée la phase d’observation d’une chirurgie. Il permet de visualiser différents médias en même temps comme des images, du texte, de la vidéo.

(18)

Chapitre 2: Archivage intégré des données chirurgicales Introduction

2.1 Introduction

Lorsque l’archivage des données chirurgicales est envisagé, deux questions se posent : quels liens existent entre ces données et comment est-il possible de reproduire ces liens ? Pour répondre à ces questions, repla- çons le problème dans son contexte : les sources de données sont toutes liées au patient et peuvent être capturées durant une opération à un instant défini. La première étape du travail de thèse consiste donc à concevoir et implémenter un archivage intelligent qui intègre ces données afin qu’elles puissent être analy- sées en interconnexion les unes avec les autres, c’est-à-dire à les synchroniser.

2.1.1 Les données, le temps, la modélisation

Il est important à cette étape d’étudier plus en détail les données présentes au sein d’une salle d’opéra- tion. Une opération n’est qu’une partie d’un cycle de travail qui comprend trois phases principales :

Phase préopératoire :

Cette phase consiste en une série de cycles de travail (workflow) se déroulant de manière séquentielle ou en parallèle. Ces cycles commencent par la prise en charge d’un patient (i.e. consultation, examens d’imagerie et/ou de laboratoire) et se terminent par l’établissement d’un diagnostic. Ce dernier permet d’établir une stratégie de soins à mettre en place. L’ensemble des données préopératoires (i.e. rapport d’entretiens, rapports d’examens) peuvent être considérées comme statiques et constantes du point de vue de la phase opératoire. Ces données, par analogie avec la programmation, sont desconstantes pré- opératoiresutilisées pour établir un schéma de traitement (i.e. l’itération d’étapes constituant la phase opératoire). Elles ne changeront pas durant l’opération mais influenceront son déroulement et les dé- cisions prises pendant celle-ci. A tout moment, lors d’une chirurgie, un acteur de la salle d’opération peut accéder à ces données. Ce sont ces accès informatisés aux données qui définissent un premier en- semble dedonnées apériodiquesqui peuvent être considérées comme des événements (e.g. affichage du dossier patient à tel instant, affichage de l’examen de laboratoire à tel moment). Il est aussi pos- sible de lier ce type de données à une étape d’une chirurgie pour les présenter automatiquement au chirurgien.

Phase peropératoire :

La phase peropératoire est la phase principale concernant l’archivage intégré des données. Lors de la chirurgie, une multitude de données sont utilisées par différents acteurs : les données d’anesthésie (e.g. électrocardiogramme, drogues injectées), les données chirurgicales (e.g. vidéo de la caméra lapa- roscopique ou d’un microscope opératoire, l’anatomie du patient, les outils utilisés), les données pré- opératoires et les modèles issus de l’analyse des données des trois phases. Cesdonnéespeuvent aussi bien êtrepériodiques (e.g. la vidéo de la caméra laparoscopique) qu’apériodiques(e.g. une alarme indiquant une anomalie au niveau de l’électrocardiogramme). Ces données sont soit numériques soit analogiques. Une partie des dispositifs médicaux capturent ces données. Dans le cadre de ce travail, les données ont été divisées en deux groupes : les données informatiques (qui sont déjà numérisées) et les vidéos analogiques (que nous numériserons). Les données opératoires peuvent aussi être regroupées en deux catégories selon leur utilisation : lesdonnées opératoires(i.e. les données utilisées pour réa-

(19)

Chapitre 2: Archivage intégré des données chirurgicales Introduction

liser une opération) et lesmétadonnées opératoires(i.e. les données qui définissent l’utilisation d’un dispositif médical ou une interaction avec un objet ou un acteur de la salle). La première catégorie concerne les données utilisées en salle pour réaliser une opération (e.g. vidéo du microscope opéra- toire, courbe de l’électrocardiogramme). La deuxième catégorie comprend un ensemble de données pouvant être capturées afin de comprendre le fonctionnement en salle (e.g. la trajectoire des différents acteurs, l’utilisation d’outils de chirurgie, l’utilisation de médicaments, la tâche réalisée).

Phase postopératoire :

Lors de la phase postopératoire, différentes données sont capturées. Ces données sont par exemple les résultats d’examens réalisés. Elles servent à vérifier la réussite ou non d’une opération et peuvent conduire à la validation d’une méthode chirurgicale ou à retourner à une phase préopératoire ou de suivi clinique. Elles peuvent conduire à la réévaluation de la prise en charge d’une pathologie.

Après une opération l’utilisation combinée des données pré-, per- et postopératoires conduit à l’analyse d’un ensemble d’informations qui serviront à créer une base de connaissances permettant de faire évoluer ou de valider l’ensemble du processus opératoire. Vu la nature des données (périodiques et apériodiques), il est évident que le temps est une grandeur capitale pour l’analyse des liens existant entre elles. S’il est possible d’établir un modèle temporel regroupant aussi bien les tâches, les interactions que les données périodiques et apériodiques, il est possible de comprendre le déroulement du processus.

2.1.2 Evaluation des besoins pour l’archivage

Dans l’état actuel des choses, peu de solutions existent pour l’archivage intégré des données chirurgi- cales. Un chirurgien réalise une opération au cours de laquelle il utilise différentes sources de données. Ces données peuvent généralement être capturées par des dispositifs indépendants. Pourtant, il n’existe après une opération peu ou pas de lien entre ces données.

A la fin d’une opération, il n’est plus possible de se rendre compte de l’utilisation simultanée des diffé- rentes sources car il n’existe aucune cohérence entre celles-ci. Pour mettre en cohérence ces données (et donc permettre de rejouer une chirurgie), la méthode proposée dans ce travail consiste à les synchroniser sur base du temps, c’est-à-dire, sur base des horloges des systèmes informatiques qui capturent les don- nées. Le principe général est de faire correspondre les lignes de temps des différents appareils de capture avec une ligne de temps “absolue”, référence temporelle d’une opération (cf. Fig. 2.1).

La mesure du temps au niveau des systèmes informatiques se fait avec une certaine précision qui dépend de l’architecture matérielle de l’ordinateur et du système d’exploitation. Les majorité de ces systèmes in- formatiques ne sont pas temps réel. Même s’il n’est pas possible d’assurer une contrainte temporelle, il est possible de mettre en place une méthode de synchronisation des données chirurgicales qui réponde à une précision requise et qui corresponde à son déploiement dans un environnement chirurgical.

(20)

Chapitre 2: Archivage intégré des données chirurgicales Introduction

Fig. 2.1 – Principe de recalage temporel

2.1.2.1 Précision requise

Les flux à synchroniser peuvent être de nature diverse comme des signaux vidéos, des signaux à deux dimensions (e.g. électroencéphalogramme) ou encore des signaux audios. Chaque flux est échantillonné à une certaine fréquence qui dépend de sa nature (et de la fréquence de son signal). Cet échantillonnage implique qu’une valeur discrète d’un flux représente une période de celui-ci : la période d’échantillonnage.

De plus, si deux flux sont joués en même temps, par exemple une vidéo avec un enregistrement audio nu- mérique, il faut que le décalage entre ces flux soit inférieur ou égal à une certaine limite ou borne supérieure pour que l’être humain les perçoive comme complètement synchronisés. Cette limite dépend de la nature des flux utilisés. Il est donc nécessaire de définir la précision requise par notre système de synchronisa- tion aussi bien pour garantir la précision requise par l’échantillonnage que pour assurer une perception par l’être humain de synchronisation "parfaite".

Selon [7], la fréquence d’échantillonnage d’un signal vidéo est de 25 images par seconde. Il faut donc essayer de présenter chaque image pendant exactement 40ms. Un autre exemple est cité par [7] : la syn- chronisation de l’audio et de la vidéo (lip synchronization). Selon les expériences réalisées, il montre que

(21)

Chapitre 2: Archivage intégré des données chirurgicales Introduction

la limite acceptable au niveau de cette synchronisation est de±80ms. Par contre pour deux pistes audios stéréos couplées fortement, des décalages de seulement 11 à 20µsont été identifiés comme suffisants pour reconnaître la distribution spatiale. Pour un même signal audio, des décalages plus grands que 30 à 50ms occasionnent un écho perceptible. Cet article affirme que la précision requise pour la synchronisation dé- pend fortement des médias utilisés et de leur combinaison.

Par exemple, une caméra avec une fréquence d’échantillonnage de 100H zcapture une image toutes les 10ms. Pour ce type de dispositif de capture, il est nécessaire que la méthode ait une résolution supérieure à 10ms.

Nous avons décidé de fixer comme objectif d’atteindre une précision de 1ms pour la synchronisation de données multimédias distribuées. Atteindre cette précision et la garantir n’est pas trivial au niveau des systèmes informatiques, surtout pour les systèmes d’exploitation multi-tâches commeLinux,Unix,Apple Mac OS Xou encoreMicrosoft Windows[8].

2.1.2.2 Matériel médical et environnement opératoire

Dans le domaine médical, les appareils médicochirurgicaux ne peuvent pas être modifiés par l’utilisateur.

Il n’est donc pas possible de leur ajouter un périphérique pour réaliser la synchronisation.

De plus, la modification des horloges (matérielle et/ou logicielle) d’un appareil médical pourrait entraî- ner un mauvais fonctionnement de ses applications [9]. Nous devons donc écarter toute solution qui mo- difierait cette horloge comme leNetwork Time Protocol(NTP) pour synchroniser les horloges des différents systèmes informatiques.

Il n’y a pas que les appareils médicaux qui imposent leurs contraintes. L’environnement opératoire amène à réfléchir aux problèmes liés à la stérilité, à l’utilisation d’appareils entre différentes salles ou encore à la manière dont ces appareils sont utilisés.

Dans notre vision, la salle d’opération de demain doit être modulable en fonction de l’activité et non spécifique à un type ou à un domaine de chirurgie. Elle doit être simple d’utilisation et permettre la mise en place des outils facilement et rapidement. Tout doit être pensé dans une optique “plug and play”. Les solutions développées doivent être les plus génériques possibles, c’est-à-dire ni liées à une technologie spé- cifique (e.g. un système d’exploitation), ni à un constructeur. Elles doivent pouvoir répondre aux besoins de la chirurgie d’aujourd’hui mais aussi de celle de demain. En résumé, les solutions logicielles et matérielles développées pour la salle d’opération de demain doivent être génériques, modulables, simples d’utilisation et évolutives [10]. C’est pour cela que notre méthode se doit d’essayer d’utiliser ce qui est déjà disponible en salle (e.g. le câblage) et de proposer une solution qui puisse être attachée à un appareil qui pourrait servir dans plusieurs salles différentes.

(22)

Chapitre 2: Archivage intégré des données chirurgicales Mesure du temps

2.2 Mesure du temps

La mesure du temps au niveau des systèmes informatiques peut atteindre une précision de l’orde de la milliseconde si plusieurs mesures successives sont réalisées [6]. Sur base de tests [6], des algorithmes ont été développés pour identifier une mesure de temps correcte parmi un ensemble de mesures successives.

Ces algorithmes permettent d’éviter lesoutliers. Cesoutlierspeuvent être dus à des glissement de l’horloge ou du compteur logiciel.

Les méthodes sont basées sur lesk plus proches voisins. Leur principe de base est : – Prendrenmesures de temps successives ;

– Considérer une mesures de l’ensemble ;

– Regarder s’il y aktemps dans un intervalle!tconstruit autour de la mesure.

Trois paramètres sont donc utilisés : – n: le nombre de mesures successives

k: le nombre minimum des plus proches mesures devant se trouver dans l’intervalle – !t: la largeur de l’intervalle, c’est-à-dire, la précision de la mesure.

En pratique, peu de répétitions sont nécessaires. Les valeurs des paramètres utilisés sont généralement : n=10,k=3 et!t =1 [µs] (Mac OS X) ou!t =10 [µs] pour les autres systèmes d’exploitation. Ces valeurs sont empiriques.

Les méthodes statistiques de mesure du temps sont donc conçues pour un nombre réduit de mesures successives. Nous avons développé trois méthodes pour répondre aux trois cas d’utilisation représentés par les exemples ci-dessous.

Exemple 1

Le premier exemple représente le cas d’utilisation où une fonction d’enregistrement (enregistrerValeur()) est appelée périodiquement pour mesure la grandeur d’une valeur ou d’un ensemble de valeurs quel- conques (e.g. une image, la valeur d’une grandeur physiologique). Pour approcher le temps auquel la gran- deur est mesurée, deux temps sont calculés :

tb: juste avant l’appel de la fonction ;

ta: juste après l’appel de la fonction (cf. Fig. 2.2).

Le temps “réel”test le moment précis où la mesure est prise. Ce temps est dans l’intervalle ]tb,ta[ et est estimé (pour des raisons de simplicité) par le tempstsitué à la moitié de cet intervalle :

t=tb+ta−tb

2 . (2.1)

Afin d’obtenir une mesure detbet deta,ntemps successifs sont mesurés :tb(1),tb(2),...,tb(n) et ta(1),ta(2),...,ta(n).

Pour l’ensemble de mesurestb(i) (aveci=1,2,...,n) correspondant àtb, le tempsi“le plus proche” de l’appel de la fonction sera considéré comme étantt0et ce selon une certaine précision!t requise. C’est

(23)

Chapitre 2: Archivage intégré des données chirurgicales Mesure du temps

Fig. 2.2 – Exemple 1 : Mesure du temps d’enregistrement

donc le tempstb(n) qui sera testé en premier. S’il est mesuré avec la précision!t, la mesure sera considérée comme correcte, sinon le tempstb(n1) sera testé et ce jusqu’à ce qu’une mesure de temps correcte soit trouvée ou que l’ensemble des mesures soient considérées comme incorrectes. La méthode utilisée pour mesurertbest appelée laméthode inverse de mesure du tempsouReverse Time Method(RTM).

Pour calculer le tempsta une méthode similaire est utilisée. Cette méthode permet d’obtenir le temps correct le plus proche de la fin de l’appel à la fonction. Il parcours donc l’ensemble des tempsta(i) (avec i=1,2,...,n) depuis le tempsta(1) jusqu’au tempsta(n) et ce jusqu’à ce qu’une mesure correcte de temps soit trouvée selon la précision!trequise. Cette méthode est l’inverse de la RTM. Elle est appeléeméthode directe de mesure du tempsouForward Time Method(FTM).

Exemple 2

Le deuxième exemple (cf. Fig. 2.3) est identique à l’exemple précédent, à l’exception que la grandeur mesurée par la fonction est un temps distantts(e.g. d’une autre machine, d’une autre horloge). Si ce temps tsest supposé être mesuré au milieu de l’intervalle ]tb,ta[, il faut que ce temps corresponde le plus possible au milieu de cet intervalle. Pour calculer ce temps, laméthode fenêtrée de mesure du tempsouWindowed Time Method(WTM) est utilisée. Les détails de cette méthode seront décrits ultérieurement (cf. §2.2.2).

Ces trois méthodes (RTM, FTM, WTM) sont basées sur le principe deskmesures les plus proches dans un ensemble den mesures consécutives (n>1 et n dépend de l’architecture matérielle et logicielle de l’ordinateur capturant ces mesures). La métrique utilisée pour calculer la distance entre deux temps est la différence de temps. La distance entre deux mesures de temps est comparée à une précision!t(e.g. 106s) choisie. Cette méthode se base sur la méthode de classification desk plus proches voisins.

(24)

Chapitre 2: Archivage intégré des données chirurgicales Mesure du temps

Fig. 2.3 – Exemple 2 : Mesure du temps d’enregistrement

2.2.1 Forward Time Method

Laméthode directe de mesure du tempsconsiste à mesurer le temps le plus proche possible de l’événe- ment se déroulant juste avant la prise den mesures successivesta(1),ta(2),...,ta(i),...,ta(n) (cf. Fig. 2.4).

L’algorithme FTM est repris à l’annexe A.1.

Fig. 2.4 –Forward Time Method(FTM)

La première étape est de construire (de manière imaginaire) une fenêtre de largeur!tà partir du premier tempsta(1). Si au moinskmesures de temps, autres queta(1) se trouvent dans cette fenêtre, la mesure de temps correcte estta(1). Sinon, la fenêtre est translatée jusqueta(2). S’il existe au moinskmesures de temps dans cette fenêtre translatée autres queta(2), la mesure de temps correcte estta(2). Sinon, on continue à translater la fenêtre jusqu’à atteindre la dernière mesure de temps ou obtenir une mesure correcte. Si

(25)

Chapitre 2: Archivage intégré des données chirurgicales Mesure du temps

aucune mesure n’est considérée comme correcte, la mesure de temps a échoué.

Méthode :

Considérons un ensemble de mesures successives de tempsta(i) (i=1,2,...,n). Le tempsta(1) est testé en premier. Si, il y a au moinskmesures de tempsta(2),...,ta(k+1) pour lesquelles la distance àta(1) est plus petite ou égale à la précision!t, la mesure de temps correcte estta(1). Sinon, l’algorithme teste le temps suivantta(2) jusqu’au moment où un tempsta(i) (aveci=2,...,n) ak plus proches mesures comprises dans l’intervalle [ta(i),ta(i)+!t]. Si c’est le cas, la mesure de tempsta(i) est considérée comme correcte et est retournée par l’algorithme. Sinon, la valeur -1 est retournée par l’algorithme, valeur correspondant à une mesure erronée de temps (i.e. qui n’a pas pu être mesurée selon la précision!t).

2.2.2 Reverse Time Method

Le principe de laméthode inverse de mesure du tempsest identique à celui de la FTM mais en sens inverse.

C’est-à-dire que le premier temps testé esttb(n) et une fenêtre de largeur−!test construite à partir de ce temps (cf. Fig. 2.5). L’algorithme RTM est repris à l’annexe A.2.

Fig. 2.5 –Reverse Time Method(RTM) Méthode :

Considérons un ensemble de mesures successives de tempstb(i) (i=1,2,...,n). Le tempstb(n) est testé en premier. Si, il y a au moinskmesures de tempstb(n1),...,tb(n−k) pour lesquelles la distance àtb(n) est plus petite ou égale à la précision!t, la mesure de temps correcte esttb(n). Sinon, l’algorithme teste le temps précédenttb(n1) jusqu’au moment où un temps tb(i) (aveci=n−1,...,1) akplus proches mesures comprises dans l’intervalle [tb(i)−!t,tb(i)]. Si c’est le cas, la mesure de tempstb(i) est considérée comme correcte et est retournée par l’algorithme. Sinon, la valeur -1 est retournée par l’algorithme, valeur correspondant à une mesure erronée de temps (i.e. qui n’a pas pu mesurée selon la précision!t).

(26)

Chapitre 2: Archivage intégré des données chirurgicales Mesure du temps

2.2.3 Windowed Time Method

Laméthode fenêtrée de mesure du tempsconsiste à mesurer le temps le “plus au milieu” possible de l’in- tervalle [ts(0),ts(n)] (cf. Fig. 2.6). L’algorithme WTM est repris à l’annexe A.3.

Fig. 2.6 –Windowed Time Method(WTM) Méthode :

Considérons un ensemble de mesures successives de tempsts(i) (i=1,2,...,n). Une mesure de tempsts(i) (i=1,...,n) peut considérée comme correcte s’il existe au moinskplus proches mesures de temps (autres quets(i)) dans l’intervalle [ts(i)!2t,ts(i)+!2t]. Pour trouver le premier temps autour duquel une fenêtre d’intervalle [!2t,!2t] doit être construite, deux cas de figure en fonction quensoit pair ou impair doivent être envisagés.

nimpair

Si le nombrende mesures successives de temps est impair, une fenêtre d’intervalle [!2t,+!2t] est construite autour du tempsts(m) avecm=n+21.

Si au moinsktempsts(i) (i=1,...,m1,m+1,...,neti#=m) se trouvent dans l’intervalle [ts(m)!2t,ts(m)+

!t

2], la mesure de temps est considérée comme correcte.

Sinon, une fenêtre est construite autour de chacun des deux tempsts(m1) etts(m+1) entourant le temps milieuts(m). Chacune des deux mesures peuvent être considérées comme correctes si au moins k temps se trouvent dans la fenêtre définie autour de chacune de ces mesures. Si les deux mesures sont correctes, leur moyenne est considérée comme la mesure de temps correcte. Si une des deux mesures est correcte, sa valeur est retenue. Si les deux mesures sont fausses, le temps "à gauche" du tempsts(m1) et celui "à droite" du tempsts(m+1) sont testés et nous vérifions si au moins un des deux est correct. Et ce tant qu’il n’y a pas de mesure correcte et qu’au moins un des deux temps “à gauche” ou “à droite” des temps précédents existe. Si aucunts(i) (i =1,...,n) n’est correct, la mesure de temps a échouée et l’algorithme retourne la valeur1.

npair

Si le nombrende mesures successives de temps est pair, deux fenêtres d’intervalle [!2t,!2t] sont construites autour des tempsts(l) etts(l+1) avecl= n2. Si ces deux temps sont corrects, leur moyenne est considérée comme la mesure correcte sinon, comme pournimpair, nous prenons les temps “à gauche” et “à droite”

de ceux-ci tant qu’ils existent et qu’aucune mesure correcte n’est trouvée. Si aucunts(i) (i=1,...,n) n’est correct, la mesure de temps a échouée et l’algorithme retourne la valeur1.

(27)

Chapitre 2: Archivage intégré des données chirurgicales Recalage temporel

2.2.4 Implémentation

Les méthodes ont été implémentées en C++ multi-plateforme. La librairieGNU Multiple Precisionest utilisée pour assurer une précision de calcul avec des variables à virgules flottantes codées sur 64 bits. Les fonctions logicielles utilisées pour les mesures de temps sont [6] :

gettimeofday(): pour les systèmes d’exploitationUnixetUnix-Like;

– QueryPerformanceCounter() pour différentes versions du système d’exploitationMicrosoft Windows.

.

2.3 Recalage temporel

La mesure de temps avec une précision d’une milliseconde peut être atteinte par un système informa- tique. Trois méthodes de mesure du temps ont été proposées pour éliminer et/ou détecter des erreurs de mesure. Ces méthodes vont servir de base à la conception d’une méthode de synchronisation des données périodiques et apériodiques d’une chirurgie (cf. §2.1.1). Nous allons décrire cette méthode et passer en re- vue les technologies et les algorithmes sur lesquels elle se base.

Bien plus qu’un algorithme de synchronisation d’horloges, la méthode derecalage temporelest un en- semble d’algorithmes et de méthodes permettant la lecture d’une horloge distante, l’établissement d’une table de mise en correspondance d’horloges clients et serveur, la capture de données périodiques et apé- riodiques et la reconstruction distribuée de flux périodiques. Nous utilisons le terme recalage plutôt que synchronisation car, dans le jargon informatique, la synchronisation est souvent considérée comme étant une méthode pour fusionner des données distribuées sur plusieurs machines ou une méthode permet- tant de faire correspondre deux ou plusieurs horloges de systèmes informatiques connectés à un réseau.

Ici, nous allonsrecaler chaque ligne de temps client à une ligne de temps serveur, considérée comme le référentiel temporel “absolu”.

Rappelons qu’il n’est pas recommandé de modifier l’horloge système car cela pourrait amener au dys- fonctionnement d’un dispositif médical. Il n’est pas recommandé, non plus, de modifier les couches de bases du système afin d’implémenter une nouvelle horloge logicielle. Pour finir, utiliser un processus plus prioritaire que le processus médical afin de synchroniser une horloge n’est pas possible (cf. §2.1).

2.3.1 Etat de l’art

Pour synchroniser des flux vidéos dans un système hétérogène et distribué, différentes solutions existent : – Utilisation d’un signal audio de synchronisation propagé sur les ondes FM par un radio transmetteur [11]. Cette solution n’est pas envisageable dans une salle d’opération pour deux raisons principales : la modification du matériel médical et le risque d’interférences avec des dispositifs médicaux.

– Utilisation de la distribution de points d’intérêts (space-time interest points) afin de synchroniser diffé-

(28)

Chapitre 2: Archivage intégré des données chirurgicales Recalage temporel

pas aux objectifs du travail puisqu’elle ne prend en compte que des sources de type vidéo et non des données apériodiques, pourtant cruciales pour le système d’aide à la chirurgie.

Plusieurs travaux de recherches se sont penchés sur la synchronisation d’horloges informatiques. Ces 20- 30 dernières années, de nombreux algorithmes ont été développés ainsi qu’un service de synchronisation des horloges par le réseau (en particulier le réseau Internet) :Network Time Protocol(NTP) [13, 14, 15, 16, 17, 18, 19, 20]. Nous avons écarté ces solutions car elles demande la modification de l’horloge système. Le NTP est aussi écarté car sa résolution est insuffisante [21] et demanderait la mise en place d’une infrastruc- ture matérielle non adaptée à une salle d’opération [22]. Une autre étude propose de diffuser un temps de référence sur le réseau [22].

2.3.2 Méthode de recalage temporel

Laméthode de recalage temporel de flux multimédiasouMultimedia Streams Temporal Rescaling me- thod(MSTR), développée dans le cadre de ce travail de thèse, permet la relecture (i.e. l’exploration synchro- nisée) de données périodiques et apériodiques capturées par différents systèmes hétérogènes et distribués.

Le but de cette méthode est d’être compatible avec un maximum d’appareils électroniques, de matériels informatiques et réseaux disponibles pour le marché grand public. MSTR est basé d’un côté sur l’échange de messages réseaux entre un serveur (i.e. la référence de temps) et des clients, et d’un autre côté sur la transformation des temps locaux clients (attachés à chaque trame d’un flux périodique ou à chaque don- née apériodique capturée) en temps serveurs distants. Des méthodes de reconstruction distribuée des flux périodiques sont aussi envisagées.

2.3.2.1 Horloges locales clients et serveur

Le système MSTR est constitué d’un ensemble de noeuds clientsC={c1,...,cn} et d’un serveur unique (i.e. un singleton)S={s}. Chaque noeud utilise son horloge locale (tcpour les clients ettspour le serveur) et est connecté à un réseau local (Local Area Network- LAN). Les noeuds clients capturent les données périodiques et apériodiques. Chaque flux de données est supposé parfait, c’est-à-dire, que la capture de chaque flux se fait sans aucune erreur (e.g. aucune erreur concernant la lecture et la valeur de l’horloge locale, aucun système en mode attente (system pending)).

Chaque horloge locale dérive de sa valeur réelle d’une constanteρ. Son ordre de grandeur est de 106s [13]. Dans un soucis de simplification de l’exposé de MSTR, la constanteρne sera pas prise en considération et ce pour deux raisons principales :

– sa valeur est petite par rapport à la précision désirée (i.e. de l’ordre de la milliseconde) et elle peut donc être négligée ;

– cette grandeur est difficilement mesurable et il n’est pas toujours possible (ou presque jamais) d’avoir les caractéristiques de l’horloge (qui dépendent de nombreux facteurs comme la température) du ma- tériel médical.

(29)

Chapitre 2: Archivage intégré des données chirurgicales Recalage temporel

2.3.2.2 Mise en correspondance des horloges clients et serveur

La méthode MSTR est basée sur uneméthode de mise en correspondance des horloges clients et serveur ouRemote Clock Mapping method(RCM) qui consiste à établir une table de mise en correspondance entre un référentiel temporel client (tc) et un référentiel temporel serveur distant (constitué de l’horloge serveur ts) et ce pour chaque client présent dans le système. Pour établir la mise en correspondance entre ces deux référentiels (i.e. horloges), une méthodeRemote Clock Reading method(RCR) est utilisée. Cette dernière se base sur la méthode RCR développée par F. Cristian [13].

Différence avec la méthode de Cristian

La différence principale par rapport à la méthode RCR de Cristian est que nous ne cherchons pas à es- timer la valeur de l’horloge serveur à un certain moment, mais à estimer le temps clienttccorrespondant au temps serveurts. Sur base de l’estimation detcet de la mesure du tempsts, une différence est calculée permettant d’établir la correspondance entre l’échelle de temps relative client et l’échelle de temps absolue serveur. Le but est donc d’exprimer tous les temps clients mesurés en temps serveur et non de transfor- mer l’horloge client afin de la synchroniser avec l’horloge serveur. Une autre différence est que la méthode utilise principalement des messages vides pour la correspondance entre les deux horloges.

Lecture de l’horloge distante

Le principe de la méthode, illustré à la figure Fig. 2.7, est le suivant :

– le client mesure un temps localtb1puis envoie directement un message blanc (i.e. une message vide ne contenant pas de donnée) au serveur ;

– le serveur reçoit le message, mesure un temps localtset renvoie un message blanc au client ; – le client reçoit le message et mesure un temps localta2.

tb

send blank message

send blank message ta

ts tc tc*

TMD

ts*

Client

Server

!

tb* ta*

minc mins

TMD*

Fig. 2.7 – Schéma de mise en correspondance du temps serveur avec une estimation du temps client.

1. Le temps est notétbpourtime beforecar il est pris avantts. 2. Le temps est notétapourtime aftercar il est pris aprèsts.

(30)

Chapitre 2: Archivage intégré des données chirurgicales Recalage temporel

Il existe un délai aléatoire non nul entre l’envoi du message par le client et sa réception par le serveur.

Ce délai possède une borne inférieuremi ncqui est définie comme étant le temps pris pour la préparation d’un message blanc, son envoi par le client, sa propagation par le réseau et sa réception par le serveur en l’absence d’erreurs de transmission et de charge du système [13]. Il en est de même pour un message envoyé par le serveur au client : il existe un délai minimummi ns pour l’envoi de ce message. Ces délais sont considérés comme étant corrects, c’est-à-dire, qu’il n’existe pas de minima inférieurs à ces valeurs. Ces deux minima correspondent au fait que la transmission d’un message réseau ne peut être instantanée.

Le temps client3 tc correspondant à l’instant précis où le serveur mesure le temps serveurts se trouve dans l’intervalle :

tc ]tb, ta[ (2.2)

Définissons les tempstbettacomme étant les temps locaux clients corrigés en fonction de la présence de délais minima de transmissionmi ncetmi ns:

tb=tb+mi nc et ta=ta−mi ns (2.3) Les tempstbetta(2.3) sont les valeurs de temps limites que peut prendretc, l’intervalle (2.2) devient :

tc [tb, ta] (2.4)

Comme il n’est pas possible de mesurertc, sa valeur est approchée par la grandeurtcqui correspond au milieu de l’intervalle (2.4) :

tc=tb+ta−tb

2 =tb+T MD

2 (2.5)

avec

T MD=ta−tb=T MD−mi nc−mi ns etT MD=ta−tb (2.6) T MD est défini comme étant ledélai de mesureouTime Measure Delay(TMD), c’est-à-dire, le temps écoulé entre la première mesure de temps (tb) et la deuxième mesure du temps local client (ta).T MDest le délai de mesure “corrigé”, c’est à dire le délai de mesure diminué des deux délais minima de transmission mi ncetmi ns.

L’erreur!commise par l’estimation detcpartcest bornée et possède un maximum!cM AX :

−!cM AX %!c%!cM AX avec !cM AX=T MD

2 (2.7)

3. Le temps client réel exprimé dans l’échelle de temps client.

(31)

Chapitre 2: Archivage intégré des données chirurgicales Recalage temporel

Mise en correspondance des horloges clients et serveur

En utilisant le temps serveur localtset l’estimation du temps clienttccorrespondant donné par l’équa- tion (2.5), il est possible de calculer une estimation de la différence4(en temps) existant entre une échelle temporelle client et la référence temporelle serveur :

di f fi=tci−tsi =tbi +T MDi

2 −tsi (2.8)

où l’indiceireprésente la ième mesure de la différence entre l’échelle client et l’échelle serveur.

En utilisant (2.8), il est possible de transformer chaque temps client mesurétrcj(correspondant à lajème capture (record) d’une donnée périodique ou apériodique) en temps serveurtrsj ien utilisant :

trsj i=trcj−di f fi (2.9)

Choix du protocole réseau

L’échange de messages blancs entre le client et le serveur utilise le protocoleUser Datagram Protocol (UDP) qui propose un mécanisme de transport sans connexion. Ce mécanisme de transport est moins coû- teux au niveau temps qu’un protocole réseau en mode connecté comme leTransmission Control Proto- col(TCP). UDP introduit moins de surcharge d’information et un plus petitRound Trip Delay(RTD) que les protocoles en mode connecté comme le TCP [18, 24].

Selon la RFC 768 [25], la délivrance d’un message UDP n’est pas garantie. Le serveur envoie donc un mes- sage sans se soucier de savoir si l’hôte est capable de le recevoir. Il n’y a pas de mécanisme de congestion qui permet au message d’être en attente de la libération de l’hôte [25]. Si on n’utilise pas de système de conges- tion des messages UDP au niveau de notre routeur ou de notreswitch, il n’est pas nécessaire d’insérer dans les messages une référence au contexte dans lequel il a été envoyé. La méthode est alors capable d’utiliser des messages blancs qui assurent une transmission rapide de ceux-ci et ainsi une diminution du RTD et donc de l’erreur de mise en correspondance.

Table de mise en correspondance

La méthode pour établir une table de mise en correspondance entre l’horloge client et l’horloge serveur est illustrée à la figure Fig. 2.8 :

4. Ici, nous parlons bien de différences entre les horloges et non de décalage comme [23] car les horloges client et serveur peuvent être exprimées dans des systèmes de référence différents. La valeur de l’horloge sous Linux ou Mac OS X sera exprimée en temps UNIX ou Posix, c’est-à-dire en nombre de secondes écoulées (et fraction de se- condes) depuis le 1er janvier 1970 à minuit (Temps Universel Coordonné (UTC)). Le temps sous Windows obtenu par la fonctionGetPerformanceCounter()donne le nombre de secondes (et ses fractions) écoulées depuis le démarrage de l’ordinateur. Ces deux temps ne peuvent être décalés car il ne représentent pas la même grandeur physique. Par

Références

Documents relatifs

Si l'on en croit Jesse Fox, auteur principal d'une étude et professeur assistante en communication à l'Université de l'Ohio, les hommes qui publient beaucoup de selfies sur

Les élèves ne disposant pour l’instant que d’informations qualitatives sur l’énergie potentielle et l’énergie cinétique d’un système, le but de

marge brute – remise – prix d’achat net – prix de vente hors taxe – coût d’achat prix de vente toute taxe comprise – prix d’achat net – frais d’achat – prix

En traction, torsion ou flexion il est possible de résoudre un système qui est hyperstatique et d’en déterminer sa déformation, ou la contrainte. Pour cela la même méthode pour

Pour cela (figure 1), on émet dans le local I avec une source de bruit normalisée, et on mesure dans le local II, séparé de I par la paroi étudiée, le niveau acoustique par

Sony a également annoncé qu'il se lancerait directement sur le marché du jeu sur portable. Sa PlayStation Suite 20 distribuera d'anciens jeux pour.. PlayStation 21 One 22 pour

L'objet posé sur le sol ne pourra en aucun cas libérer de l'énergie par le travail de son poids. Son énergie potentielle de pesanteur est nulle. Pour définir une énergie potentielle

Mise en valeur du travail de création : Ronsard au gré des poèmes associe le mythe de Méduse à un autre mythe, complète et dépasse le mythe en attribuant à