FR2895618A1 - Systeme, procede et produit programme d'ordinateur pour transmettre des donnees ayant de multiples priorites. - Google Patents

Systeme, procede et produit programme d'ordinateur pour transmettre des donnees ayant de multiples priorites. Download PDF

Info

Publication number
FR2895618A1
FR2895618A1 FR0611223A FR0611223A FR2895618A1 FR 2895618 A1 FR2895618 A1 FR 2895618A1 FR 0611223 A FR0611223 A FR 0611223A FR 0611223 A FR0611223 A FR 0611223A FR 2895618 A1 FR2895618 A1 FR 2895618A1
Authority
FR
France
Prior art keywords
data
priority data
priority
buffer
node
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.)
Withdrawn
Application number
FR0611223A
Other languages
English (en)
Inventor
Michael B Druke
Philip L Graves
Theodore C Walker
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.)
Intuitive Surgical Inc
Original Assignee
Intuitive Surgical Inc
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 Intuitive Surgical Inc filed Critical Intuitive Surgical Inc
Publication of FR2895618A1 publication Critical patent/FR2895618A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0086Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25221Identification of messages and their relative priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1664Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

L'invention propose des procédés, des systèmes et des produits programmes d'ordinateur pour émettre des données de première priorité et des données de deuxième priorité. Les données de première priorité et les données de deuxième priorité sont stockées dans des tampons de données séparés (182-1, 182-3), et une logique d'émission (178) couplée aux tampon de données (182-1, 182-3) et à une liaison de données (186) commande l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité.

Description

SYSTEME, PROCEDE ET PRODUIT PROGRAMME D'ORDINATEUR POUR TRANSMETTRE DES
DONNEES AYANT DE MULTIPLES PRIORITES
La présente invention concerne des systèmes d'information.
Certains systèmes transmettent entre des composants de système de l'information ayant divers degrés d'importance. Une priorité supérieure peut être donnée à une information plus importante, pendant le traitement. Par exemple, dans des systèmes chirurgicaux assistés par robot classiques, on donne typiquement une priorité supérieure, pendant le traitement, à des signaux de commande et de retour. On donne typiquement une priorité inférieure, pendant le traitement, à d'autres types de signaux, tels que des messages d'état de système de routine. Le système est typiquement peu sensible au retard de signaux de faible priorité.
Un système de communication classique utilisé dans des systèmes chirurgicaux assistés par robot utilise plusieurs centaines de voies (par exemple des fils) pour connecter une console de commande d'un chirurgien à des bras de robot. L'utilisation de centaines de voies permet d'avoir une voie dédiée pour chaque type de signal, qui est ajustée au signal spécifique au moment de la conception. Cependant, l'utilisation de centaines de voies rend malcommodes l'installation et la maintenance du système, et exige beaucoup de place pour faire passer toutes les voies. Selon un aspect, il est proposé un système qui comprend un processeur programmable capable de fonctionner de façon à exécuter des instructions, et un premier tampon de données couplé au processeur programmable. Le processeur programmable transfère des données de première priorité vers le premier tampon de données, en réponse aux instructions. Le premier tampon de données est prévu pour l'utilisation avec seulement les données de première priorité. Un deuxième tampon de 2 données est couplé au processeur programmable, et le processeur programmable transfère des données de deuxième priorité vers le deuxième tampon de données, en réponse aux instructions. Le deuxième tampon de données est prévu pour l'utilisation avec seulement les données de deuxième priorité. Le système comprend également une liaison de données et une logique d'émission couplée aux premier et deuxième tampons et à la liaison de données. La logique d'émission émet sur la liaison de données, les données de première priorité de façon privilégiée par rapport aux données de deuxième priorité, conformément à un protocole de messagerie. Des formes de réalisation particulières peuvent inclure une ou plusieurs des caractéristiques suivantes. Les données de première priorité peuvent inclure des ordres pour commander le mouvement d'un bras de robot, et les données de deuxième priorité peuvent inclure au moins une information choisie parmi une information d'état non critique et une information de consignation d'erreur. Un troisième tampon de données peut être couplé au processeur programmable. Le processeur programmable peut transférer des données de troisième priorité vers le troisième tampon de données, en réponse aux instructions, et le troisième tampon de données peut être prévu pour l'utilisation avec seulement les données de troisième priorité. Les données de première priorité peuvent être des données de priorité élevée, les données de deuxième priorité peuvent être des données de faible priorité, et les données de troisième priorité peuvent être des données de priorité moyenne.
Le protocole de messagerie peut exiger que la logique d'émission émette les données de première priorité provenant du premier tampon de données, de façon privilégiée par rapport aux données de deuxième priorité provenant du deuxième tampon de données. Le protocole de messagerie peut exiger que la logique d'émission émette les données de première priorité provenant du premier tampon de données de façon privilégiée par rapport aux données de troisième priorité provenant du troisième tampon de données. Le protocole de messagerie peut exiger que la logique d'émission émette les données de troisième priorité provenant du troisième tampon de données de façon privilégiée par rapport aux données de deuxième priorité provenant du deuxième tampon 3 de données. L'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité peut inclure l'émission de toute donnée de première priorité disponible, avant toute donnée de deuxième priorité disponible. L'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité peut inclure l'opération consistant à allouer davantage de créneaux d'émission aux données de première priorité disponibles, qu'aux données de deuxième priorité disponibles. Le processeur programmable peut inclure la logique d'émission.
Selon un autre aspect, il est proposé un procédé comprenant les étapes suivantes : fournir un système chirurgical assisté par robot qui comprend une multiplicité de noeuds, la multiplicité de noeuds incluant au moins un noeud d'émission couplé par une liaison de données à un noeud de réception, et, au noeud d'émission : générer des données de première priorité et des données de deuxième priorité; placer les données de première priorité dans un premier tampon de données, le premier tampon de données étant prévu pour l'utilisation avec seulement les données de première priorité; placer les données de deuxième priorité dans un deuxième tampon de données, le deuxième tampon de données étant prévu pour l'utilisation avec seulement des données de deuxième priorité; et émettre les données de première priorité et les données de deuxième priorité sur la liaison de données à partir des premier et deuxième tampons de données, les données de première priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité. Des formes de réalisation particulières peuvent inclure une ou plusieurs des caractéristiques suivantes.
Le procédé peut comprendre en outre, au noeud d'émission, les opérations suivantes : générer des données de troisième priorité, les données de première priorité étant des données de priorité élevée, les données de deuxième priorité étant des données de faible priorité et les données de troisième priorité étant des données de priorité moyenne; 4 placer les données de troisième priorité dans un troisième tampon de données, le troisième tampon de données étant prévu pour l'utilisation avec seulement des données de troisième priorité; et émettre les données de troisième priorité sur la liaison de données, à partir du troisième tampon de données, les données de première priorité étant émises de façon privilégiée par rapport aux données de troisième priorité, et les données de troisième priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité. Le procédé peut comprendre en outre, au noeud d'émission, l'étape consistant à identifier un protocole de messagerie, l'émission de façon privilégiée incluant l'émission de façon privilégiée conformément au protocole de messagerie. L'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité peut comprendre l'émission de toute donnée de première priorité disponible avant toute donnée de deuxième priorité disponible. L'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité peut comprendre l'allocation d'un plus grand nombre de créneaux d'émission aux données de première priorité disponibles qu'aux données de deuxième priorité disponibles. Les données de première priorité peuvent inclure des messages critiques vis-à-vis du temps. Les données de deuxième priorité peuvent inclure au moins une information choisie parmi une information d'état non critique et une information de consignation d'erreurs. Par ailleurs, l'invention propose un produit programme d'ordinateur, matérialisé dans un support lisible par ordinateur inclus dans un noeud d'émission d'un système chirurgical assisté par robot, le noeud d'émission étant couplé par une liaison de données à un noeud de réception, le support lisible par ordinateur comprenant des instructions pouvant être exécutées pour faire en sorte qu'un processeur programmable effectue les opérations suivantes : générer des données de première priorité et des données de deuxième priorité; placer les données de première priorité dans un premier tampon de données, le premier tampon de données étant prévu pour l'utilisation avec seulement les données de première priorité; placer les données de deuxième priorité dans un deuxième 5 tampon de données, le deuxième tampon de données étant prévu pour l'utilisation avec seulement des données de deuxième priorité; et émettre les données de première priorité et les données de deuxième priorité sur une même liaison de données à partir des premier et deuxième tampons de données, les données de première priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité. Des formes de réalisation particulières peuvent inclure une ou plusieurs des caractéristiques suivantes. Le produit programme d'ordinateur peut comprendre en outre des instructions pouvant être exécutées pour effectuer les opérations suivantes : générer des données de troisième priorité, les données de première priorité étant des données de priorité élevée, les données de deuxième priorité étant des données de faible priorité et les données de troisième priorité étant des données de priorité moyenne; placer les données de troisième priorité dans un troisième tampon de données, le troisième tampon de données étant prévu pour l'utilisation avec seulement des données de troisième priorité; et émettre les données de troisième priorité sur la liaison de données, à partir du troisième tampon de données, les données de première priorité étant émises de façon privilégiée par rapport aux données de troisième priorité, et les données de troisième priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité. Le produit programme d'ordinateur peut comprendre en outre des instructions pouvant être exécutées pour effectuer les opérations suivantes : identifier un protocole de messagerie, l'émission de façon privilégiée incluant l'émission de façon privilégiée conformément au protocole de messagerie. L'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité peut comprendre l'émission de toute donnée de première priorité disponible avant toute donnée de 6 deuxième priorité disponible. L'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité peut comprendre l'allocation d'un plus grand nombre de créneaux d'émission aux données de première priorité disponibles qu'aux données de deuxième priorité disponibles. Les données de première priorité peuvent inclure des messages critiques vis-à-vis du temps. Les données de deuxième priorité peuvent inclure au moins une information choisie parmi une information d'état non critique et une information de consignation d'erreur. Des modes de réalisation particuliers peuvent être mis en oeuvre de façon à obtenir un ou plusieurs des avantages suivants. De multiples flux indépendants de données assignées à différents niveaux de priorité peuvent être transmis à travers l'ensemble d'un système en utilisant des connexions série point à point. Un même protocole de messagerie peut être utilisé pour de multiples liaisons de communication ayant différents types et vitesses dans le système. Les détails d'un ou plusieurs modes de réalisation de l'invention sont présentés dans les dessins annexés et la description ci-dessous. D'autres caractéristiques, aspects et avantages de l'invention ressortiront de la description, des dessins et des revendications. Dans les dessins : La figure 1A est un schéma synoptique d'un système qui comprend de multiples noeuds connectés par des liaisons. La figure 1B est un schéma synoptique d'un seul noeud. La figure 1C est un organigramme d'un processus d'émission exécuté à un noeud. La figure 2 est un schéma de la structure d'un paquet de données au niveau du matériel. La figure 3 est un diagramme temporel de la transmission de paquets entre des noeuds. La figure 4 est un diagramme temporel d'un scénario de reprise sur erreur.
La figure 5 est un diagramme temporel d'un scénario de reprise sur erreur. La figure 6 est un organigramme d'un processus exécuté à un noeud. La figure 7 est un schéma de la structure d'un message.
La figure 8 est un schéma de la structure d'un message. Des numéros et des désignations de référence semblables dans les divers dessins indiquent des éléments semblables. On décrit un procédé et une architecture (incluant des structures de données) pour transmettre des messages de données dans un système, permettant de transmettre sur une seule voie série entre deux noeuds de système des messages ayant différentes priorités. Des noeuds peuvent inclure, par exemple, des ordinateurs, des processeurs programmables, des réseaux de portes programmables par l'utilisateur (FPGA pour "Field-Programmable Gate Array"), ou un autre appareil de traitement de données. Les messages de données (par exemple des messages de logiciel) peuvent être transmis en utilisant n'importe quelle couche liaison appropriée. Dans cette demande, on décrit une forme de réalisation qui transmet entre deux noeuds un train sensiblement continu de données série en duplex intégral. Les messages de données sont divisés en un ou plusieurs segments, chacun d'eux étant transmis dans un paquet au niveau de matériel, de longueur fixée. De façon caractéristique, les messages de données seront simplement appelés "messages" dans cette demande. Les paquets de longueur fixée sont transmis continuellement entre deux noeuds, indépendamment du fait que des données de message soient disponibles pour l'émission ou non. Lorsqu'il n'y a pas de données disponibles pour l'émission, le champ de données d'un paquet peut être rempli avec des données de "remplissage" qui peuvent être rejetées au noeud de réception. Les paquets émis comprennent des acquittements de paquets reçus précédemment, et un noeud émetteur émettra un premier paquet et commencera à émettre au moins un paquet suivant avant de recevoir un acquittement du premier paquet provenant du noeud de réception. L'émission et la réception de paquets à un noeud sont verrouillées mutuellement, comme on le décrira ci-dessous de façon plus détaillée. 7 8 Comme représenté sur la figure 1A, des données de message provenant d'un premier noeud 110 peuvent être émises vers de multiples noeuds de destination - par exemple, un deuxième noeud 120, un troisième noeud 130 et un quatrième noeud 140 - en multiplexant les données sur une liaison série. Des noeuds entre le premier noeud 110 et un noeud de destination particulier peuvent effectuer le routage des données. Le premier noeud 110 peut émettre ides données pour le deuxième noeud 120 sur une première liaison 125. Le premier noeud 110 peut également émettre des données pour le troisième noeud 130 sur la première liaison 125 dirigée vers le deuxième noeud 120, et le deuxième noeud 120 peut router les données vers le troisième noeud 130 sur une deuxième liaison 135. De façon similaire, le premier noeud 110 peut émettre des données pour le quatrième noeud 140 sur la première liaison 125, et le deuxième noeud 120 peut router les données vers le quatrième noeud 140 sur une troisième liaison 145. La désignation d'un noeud de destination peut être effectuée, dans une forme de réalisation, dans les données de message qui sont émises. Dans cette forme de réalisation, le deuxième noeud 120 traite de façon caractéristique au moins une partie d'un message qui est envoyé par le premier noeud 110, avant d'envoyer au noeud de destination des paquets au niveau de matériel contenant des parties du message. Si le deuxième noeud 120 est lui-même le noeud de destination, il n'est pas nécessaire d'émettre le message plus loin. Dans certains systèmes, des communications entre le premier noeud 110 et le troisième noeud 130 et le quatrième noeud 140 ont lieu plus fréquemment que des communications entre le troisième noeud 130 et le quatrième noeud 140. Dans de tels systèmes, la première liaison 125 peut être une liaison plus rapide que la deuxième liaison 135 ou la troisième liaison 145, pour procurer une capacité suffisante pour le plus grand volume de données qui transite sur la première liaison 125. Les noeuds 110, 120, 130 et 140 peuvent inclure un ou plusieurs tampons de données matériels 152 à 164 qui reçoivent des messages et conservent les messages jusqu'à ce qu'un logiciel s'exécutant sur le noeud respectif ou sur un appareil de traitement de données en communication avec le noeud respectif, soit prêt à recevoir les messages. 9 Les tampons de données matériels 152 à 164 peuvent également recevoir des messages provenant d'une application logicielle associée au noeud respectif et conserver les messages jusqu'à ce que le noeud soit prêt à émettre les messages.
Comme représenté sur la figure 1 B, une forme de réalisation d'un noeud 170 comprend un gestionnaire de messages 174, une logique d'émission / réception 178, un tampon d'émission 182 et un tampon de réception 184. Le tampon d'émission 182 et le tampon de réception 184 sont respectivement divisés en parties (ce qui crée par exemple des tampons d'émission séparés 182-1, 2, 3 et des tampons de réception séparés 184-1, 2, 3, respectivement) désignées pour différentes priorités de messages, comme on l'expliquera ci-dessous. Dans une forme de réalisation, plusieurs tampons d'émission 182 sont établis, à raison d'un ou plusieurs pour chaque niveau de priorité. Pour les besoins de l'explication ci-dessous, on fera référence à une forme de réalisation qui comprend plusieurs tampons d'émission et de réception. D'autres configurations sont possibles. Chaque tampon peut être adressé individuellement, de façon que le gestionnaire de messages 174 et la logique d'émission / réception 178 puissent placer des octets dans un tampon quelconque ou lire des octets dans un tampon quelconque, indépendamment des autres tampons. Le gestionnaire de messages 174 peut placer un message ou une partie d'un message dans l'un quelconque des tampons d'émission 182-1, 2, 3. Dans une forme de réalisation, le gestionnaire de messages 174 place des messages de priorité élevée dans un tampon d'émission de priorité élevée 182-1, des messages de priorité moyenne dans le tampon d'émission de priorité moyenne 182-2, et des messages de faible priorité dans le tampon d'émission de faible priorité 182-3. Bien que trois niveaux de priorité soient représentés dans cet exemple, le système peut assigner et traiter un plus petit nombre (par exemple 2) ou un plus grand nombre de niveaux de priorité. La logique d'émission / réception 178 émet des messages ou des parties de message à partir du tampon d'émission 182 sur une liaison série 186, conformément à un protocole de messagerie. Le protocole de messagerie peut procurer une qualité de service prescrite pour des messages de différents niveaux de priorité (par exemple sur la base du tampon auquel le message est assigné), en créant des canaux de communication entre les noeuds respectifs. Dans une forme de réalisation, chaque canal a un niveau de priorité différent. La logique d'émission / réception 178 peut émettre automatiquement une partie d'un message une fois que des données suffisantes sont écrites dans un tampon pour remplir un paquet au niveau de matériel. Ainsi, une émission de message peut être effectuée au fur et à mesure que des données deviennent disponibles, et il n'est pas nécessaire d'attendre jusqu'à ce qu'un message entier soit écrit dans le tampon. Le protocole de messagerie peut être réalisé de façon à procurer une qualité de service pouvant être sélectionnée (par exemple par l'utilisateur, ou définie d'une autre manière). Dans une forme de réalisation, lorsque des messages ayant différentes priorités sont disponibles pour l'émission (par exemple des messages sont présents dans les tampons d'émission de priorité élevée 182-1 et de priorité moyenne 182-2), la logique d'émission / réception 178 émet un message ou une partie d'un message de la priorité la plus élevée, de façon privilégiée par rapport à d'autres messages de priorité inférieure. Par exemple, la logique d'émission / réception 178 émet un message à partir du tampon d'émission de priorité élevée 182-1 avant qu'un message ou une partie d'un message provenant des tampons d'émission de priorité moyenne 182-2 ou de faible priorité 182-3 ne soit envoyée. De façon similaire, des messages ou des parties de messages sont émis à partir du tampon d'émission de priorité moyenne 182-2 avant des messages stockés dans le tampon d'émission de faible priorité 182-3. Dans une autre forme de réalisation, la logique d'émission / réception 178 peut mettre en oeuvre un protocole de messagerie qui multiplexe des messages. Dans cette forme de réalisation, la logique d'émission / réception 178 définit des créneaux pour la transmission entre les noeuds. Les créneaux peuvent être remplis conformément à la qualité de service prescrite. Par exemple, des créneaux d'émission peuvent être alloués en plus grand nombre à des messages ou des parties de messages disponibles dans le tampon d'émission de priorité élevée 182-1, qu'à des messages ou des parties de messages dans les tampons 11 d'émission de priorité moyenne 182-2 ou de faible priorité 182-3. Dans encore une autre forme de réalisation, la logique d'émission / réception 178 peut mettre en oeuvre un protocole de messages qui dessert (par exemple émet) des messages ou des parties de messages qui sont disponibles dans le tampon d'émission 182 en procédant à tour de rôle, mais il y a plus de tampons d'émission de priorité élevée (par exemple 4), que de tampons de priorité moyenne (par exemple 2) ou de tampons de faible priorité (par exemple 1). La logique d'émission / réception 178 reçoit également des messages et des parties de messages provenant de la liaison série 186 et place les messages ou parties de messages dans le tampon approprié dans le tampon de réception 184. La logique d'émission / réception 178 utilise une indication de canal dans les paquets au niveau de matériel qui sont transmis sur la liaison série 186 (envisagée ci-dessous), pour déterminer à quel niveau de priorité un message donné ou une partie de celui-ci appartient. Dans une forme de réalisation, la logique d'émission / réception 178 transmet des messages reçus au gestionnaire de message 174 et le tampon de réception 184 n'est pas utilisé. Dans une autre forme de réalisation, des messages reçus ne sont pas séparés conformément à la priorité dans le tampon de réception 184. Chacun du gestionnaire de messages 174 et de la logique d'émission / réception 178 peut être un ordinateur, un processeur programmable, un réseau de portes programmable par l'utilisateur (FPGA), un moteur de traitement, ou un autre appareil de traitement de données. Bien que le gestionnaire de messages 174 et la logique d'émission / réception 178 soient illustrés comme des composants séparés, ils peuvent être combinés en un seul composant. La logique d'émission / réception 178 peut également être divisée en éléments logiques d'émission et de réception séparés.
Le tampon d'émission 182 et le tampon de réception 184 peuvent être des tampons de données du type premier entré, premier sorti (PEPS), ou peuvent être des tampons circulaires avec des pointeurs de lecture et d'écriture. Chacun du tampon d'émission 182 et du tampon de réception 184 peut être réalisé dans des dispositifs séparés (par exemple des circuits intégrés séparés), ou peut être réalisé sur des parties d'un seul dispositif. Dans une forme de réalisation, tous les composants du noeud 170, incluant les tampons, sont réalisés dans un seul FPGA. La figure 1C montre un processus 102 pour émettre des messages ayant différentes priorités. Dans l'exemple, trois priorités de messages sont incluses : messages de priorité élevée, de priorité moyenne et de faible priorité. Dans une étape initiale, des messages à émettre sont identifiés et un type leur est attribué (étape 190) (par exemple par un logiciel s'exécutant sur le gestionnaire de messages 174 sur la figure 1B). Les messages sont placés dans des tampons d'émission respectifs conformément au type (étape 192), avec des messages de priorité élevée dans un tampon d'émission de priorité élevée, des messages de priorité moyenne dans un tampon d'émission de priorité moyenne, et des messages de faible priorité dans un tampon d'émission de faible priorité. Un protocole de messagerie est identifié (par exemple, la logique d'émission / réception 178 détermine une qualité de service pour chaque type de message (étape 193)). Les messages sont ensuite émis (par exemple par la logique d'émission / réception 178) conformément au protocole de message identifié (par exemple, les messages de priorité élevée sont émis de façon privilégiée par rapport aux messages de priorité moyenne ou de faible priorité (étape 194), et les messages de priorité moyenne sont émis de façon privilégiée par rapport aux messages de faible priorité (étape 196)). [)es manières possibles selon lesquelles des messages peuvent être émis de façon privilégiée sont envisagées ci-dessus dans le contexte de la logique d'émission / réception 178.
Comme représenté sur la figure 2, un paquet de longueur fixée 200 d'une forme de réalisation peut inclure de multiples octets 201 à 240. Bien qu'un paquet de 40 octets soit représenté, le paquet de longueur fixée peut avoir d'autres longueurs. Dans la forme de réalisation représentée, une information de commande est placée dans 8 des 40 octets, et des données sont placées dans les 32 octets restants. Le premier octet 201 est un champ de synchronisation qui peut être utilisé pour maintenir la synchronisation de trame des octets à un noeud qui reçoit les paquets. Un octet de synchronisation supplémentaire peut être ajouté périodiquement à un paquet (par exemple une fois tous les 128 paquets) pour compenser une dérive d'horloge entre des noeuds. Le deuxième octet 202 est un champ d'acquittement qui indique si le dernier paquet reçu par le noeud émettant le paquet 200 a été reçu correctement (par exemple, incluait une information de contrôle d'erreur valide). Le deuxième octet 202 peut être fixé à une valeur (par exemple OxAC) pour indiquer un acquittement (ACK) signalant que le dernier paquet a été reçu correctement, et à la valeur inverse (par exemple 0x53) pour indiquer que le dernier paquet n'a pas été reçu correctement (non-acquittement ou NAK). Dans une forme de réalisation, toute valeur autre que la valeur d'acquittement peut être interprétée comme "non-acquittement". Dans cette forme de réalisation, si la valeur NAK est l'inverse de la valeur ACK, une erreur portant sur 8 bits est exigée pour transformer un NAK émis en un ACK. Le troisième octet 203 est un champ de réponse qui contient de multiples bits de commande, comme un bit de mode de test qui indique que le système est dans un mode de test de diagnostic, et un bit XOFF pour chacun de multiples canaux de message (par exemple des canaux de priorité basse, moyenne et élevée).Les bits de commande peuvent également inclure un bit de retransmission qui, lorsqu'il est instauré, indique que le paquet 200 est une retransmission d'un paquet antérieur.
Un ou plusieurs des bits de commande peuvent également être des bits de défaut, qui indiquent qu'une erreur a eu lieu dans le système. Le quatrième octet 204 est un champ d'en-tête. Le champ d'en-tête peut inclure de multiples sous-champs, comme un sous-champ de sélection de canal et un sous-champ d'ordre. Le sous-champ de sélection de canal est utilisé pour indiquer sur un canal de quelle priorité les données dans le paquet 200 sont émises. Le sous-champ d'ordre peut inclure des instructions pour purger des tampons et faire redémarrer un flux de messages. Le sous-champ d'ordre peut inclure des instructions demandant que des données particulières soient envoyées sur le canal matériel, ou des codes pour identifier de telles données. Le sous-champ d'ordre peut également être utilisé pour synchroniser le système. Par exemple, au début d'un cycle de synchronisation, un paquet qui contient l'ordre de synchronisation peut être envoyé, ce qui permet à des sous-systèmes à l'intérieur du système de maintenir la synchronisation (par exemple avec une tolérance de 10 microsecondes). Le cinquième octet 205 est un champ de numéro de séquence qui contient un numéro de séquence de paquet au niveau de matériel qui peut être utilisé par un noeud récepteur pour détecter des erreurs de transmission. Les octets allant du sixième octet 206 jusqu'au 37-ième octet 237 appartiennent à un champ de données qui contient 32 octets de données, comme un message ou une partie d'un message. Le 38ième octet 238 est un champ de fin de paquet qui spécifie combien des octets dans le champ de données correspondent à un message, et combien d'octets sont des octets de remplissage. Le champ de fin de paquet peut également inclure un bit indicateur de fin de message qui est instauré lorsque les octets dans le champ de données terminent un message. Le bit indicateur de fin de message peut déclencher une interruption au noeud de réception. Les octets allant du 39-ième octet 239 au 40-ième octet 240 font partie d'un champ de contrôle d'erreur qui peut contenir, dans une forme de réalisation, une valeur de code de redondance cyclique (CRC) à 16 bits (calculée par exemple en utilisant l'algorithme CRC à 16 bits du CCITT). Lorsqu'un noeud reçoit un paquet, le noeud peut utiliser le champ de contrôle d'erreur pour déterminer si une erreur s'est produite pendant que le paquet était émis ou reçu. La structure du paquet 200 autorise des signaux de logique de réaction à un défaut (FRL pour "Fault Reaction Logic") qui indiquent un défaut dans un noeud, pouvant être communiqués de multiples manières. Par exemple, des signaux FRL peuvent être émis dans une information de commande de paquet (par exemple dans les bits de commande du champ de réponse du paquet 200), et/ou dans des messages. Le fait d'émettre des signaux FRL directement dans l'information de commande de paquet permet d'émettre très rapidement une information de défaut, dans l'ensemble du système, et de traiter cette information à un niveau très bas. Un signal de défaut au niveau de l'ensemble du système peut être propagé sans intervention du logiciel, et un matériel de réaction à un défaut peut placer le système dans un état de sécurité lorsqu'un signal de défaut est reçu. Une fois que le problème qui a occasionné le défaut a été résolu (par exemple par l'intervention d'un opérateur humain), le signal de défaut peut être effacé et le système peut retourner à un état fonctionnel. 15 Lorsque le signal de défaut est effacé, le signal FRL indiquant un défaut n'est de façon caractéristique pas émis dans l'information de commande de paquet, jusqu'à ce qu'un autre défaut se produise. Des signaux FRL redondants peuvent être émis dans des messages de priorité élevée et de priorité moyenne. La structure de paquet de matériel décrite permet d'envoyer des messages sur un seul canal ou sur de multiples canaux qui sont multiplexés sur une liaison série. Le canal sur lequel un message particulier est envoyé est indiqué par le sous-champ de sélection de canal dans le paquet 200. Des messages critiques vis-à-vis du temps peuvent être émis sur le canal de priorité élevée, tandis que des messages relativement peu importants peuvent être émis sur le canal de faible priorité. Un système chirurgical assisté par robot est un exemple d'un système dans lequel l'émission de messages ayant différents niveaux de priorité est avantageuse. Un tel système peut inclure de multiples bras de robot qui tiennent des instruments ou des dispositifs chirurgicaux (par exemple laparoscopes, endoscopes, lampes, caméras et insufflateurs), dont certains peuvent être à l'intérieur d'un patient. Les bras de robot sont de façon caractéristique manipulés à distance par un chirurgien qui est assis à une console de commande. Des communications entre les commandes que le chirurgien actionne et les noeuds qui commandent les bras de robot peuvent utiliser les procédés, systèmes et appareils décrits dans le présent exposé. Des ordres provenant du chirurgien pour commander le mouvement d'un bras de robot sont typiquement émis sur un canal de priorité élevée, de façon à minimiser le retard entre l'émission d'un ordre et le mouvement résultant. Des réponses provenant du bras de robot (par exemple des mesures du mouvement réel du bras, provenant de capteurs dans le bras) peuvent également être émises sur le canal de priorité élevée, pour permettre un retour rapide de la réponse du bas aux ordres. Des messages de systèrne asynchrones, comme une information d'état non critique et une information de consignation d'erreur, peuvent être émis sur le canal de priorité moyenne ou de faible priorité. Les bits XOFF dans le troisième octet 203 commandent le flux de données dans les canaux. Chaque noeud peut inclure de multiples 16 tampons de matériel qui reçoivent des messages émis sur l'un respectif des multiples canaux. Par exemple, des messages de priorité élevée sont stockés dans un tampon de priorité élevée, et des messages de faible priorité sont stockés dans un tampon de faible priorité. Lorsqu'un premier noeud qui émet le paquet 200 instaure un bit XOFF dans le paquet 200, le premier noeud donne l'instruction à un deuxième noeud qui reçoit le paquet 200, d'arrêter d'émettre des données vers le premier noeud sur le canal de données respectif. Le matériel du premier noeud peut instaurer automatiquement un bit XOFF pour un canal de données, par exemple, lorsqu'un tampon dans lequel le premier noeud place des messages provenant de ce canal de données devient plein. Dans une forme de réalisation, un seuil pour fixer le moment auquel un noeud instaure le bit XOFF pour un canal donné, est fixé égal à la taille du tampon de réception du canal respectif dans le noeud (par exemple 512 mots) moins 32 mots (4 paquets). La marge de 32 mots donne au noeud récepteur le temps de recevoir le signal XOFF et d'agir sur lui, avec une marge d'erreur. D'autres niveaux de seuil sont possibles. Le matériel du premier noeud peut également instaurer le bit XOFF pour le canal de données lorsqu'un grand nombre de messages (par exemple 12) se trouvent dans le tampon de réception. Le matériel peut automatiquement restaurer le bit XOFF pour le canal de données, une fois que des paquets ou des messages sont retirés du tampon. Chaque canal de priorité peut avoir un tampon de réception respectif dans un noeud. Du fait que les bits XOFF sont émis dans chaque paquet, le champ de contrôle d'erreur s'applique aux bits XOFF et protège contre une corruption des bits XOFF. De multiples canaux de communication peuvent être mis à disposition dans la couche liaison, en utilisant le sous-champ de sélection de canal décrit ci-dessus. Par exemple, il est possible de mettre en oeuvre un canal réalisé par matériel et des canaux de priorité élevée, moyenne et basse. Des messages peuvent avoir une longueur variable (par exemple entre 3 et 128 mots) et peuvent être émis dans un ou plusieurs paquets, en fonction de la longueur du message. Le matériel de système peut fragmenter des messages en multiples paquets à un noeud d'émission et défragmenter les messages à un noeud de réception. Si un message ne remplit pas la partie de données d'un paquet, des données de 17 remplissage peuvent être insérées dans le reste de la partie de données. Des tampons d'émission et de réception pour les messages peuvent être réalisés par matériel. Par exemple, un noeud peut inclure des tampons d'émission et de réception réalisés par matériel pour chaque canal (par exemple des canaux de priorité élevée, moyenne et basse). Dans une forme de réalisation, des tampons d'émission et de réception pour les canaux ont 1,5 fois une taille de message maximale. La figure 3 montre un diagramme temporel de principe pour la communication entre deux noeuds utilisant des paquets tels que ceux envisagés dans le contexte de la figure 2. Des paquets 301 à 304 sont émis séquentiellement par un noeud primaire vers un noeud secondaire. Des paquets 311 à 314 sont reçus au noeud secondaire et correspondent aux paquets 301 à 304, bien que les paquets 311 à 314 puissent être des versions corrompues des paquets 301 à 304 respectifs, si des erreurs de transmission se sont produites. La réception des paquets 311 à 314 est retardée dans le temps par rapport à l'émission des paquets 301 à 304, à cause du temps de propagation fini du paquet le long d'une liaison. Dans l'exemple représenté sur la figure 3, le temps de propagation du paquet est inférieur à la durée du paquet (la durée nécessaire au noeud primaire pour émettre le paquet). Le noeud secondaire émet des paquets 355 à 358 vers le noeud primaire. Des paquets 365 à 368 sont reçus au noeud primaire après un retard et correspondent aux paquets 355 à 358. Le paquet 356 comprend un champ d'acquittement qui porte sur le paquet 301. Si le paquet 311 (qui correspond au paquet 301) a été reçu correctement au noeud secondaire, le paquet 356 comprend un acquittement, ACK, pour le paquet 301. Si le paquet 311 n'a pas été reçu correctement, le paquet 306 comprend un acquittement négatif, NAK. Le paquet 357 comprend un champ d'acquittement correspondant au paquet 302. De façon similaire, le paquet 303 comprend un champ d'acquittement qui indique si le paquet 365 a été reçu correctement ou non au noeud primaire et le paquet 304 comprend un champ d'acquittement pour le paquet 366. Dans une forme de réalisation, le noeud secondaire ne commence pas à émettre des paquets avant qu'un premier champ d'acquittement ne soit reçu à partir du noeud primaire. Par exemple, le 18 noeud secondaire ne commence pas à émettre le paquet 355 jusqu'à ce que le noeud secondaire reçoive le champ d'acquittement dans le paquet 311. Pour faciliter la synchronisation initiale entre les noeuds primaire et secondaire, les deux noeuds peuvent émettre l'un vers l'autre plusieurs octets de synchronisation séquentiels, avant que le noeud primaire n'émette le paquet 301. La figure 3 illustre un cas dans lequel il y a un "pipeline" de deux paquets entre les noeuds primaire et secondaire. Le paquet 356 contient un champ d'acquittement pour le paquet 301. Si le champ d'acquittement contient un acquittement ACK, le noeud primaire émet le paquet 303. Cependant, si le champ d'acquittement du paquet 356 contient un non acquittement NAK, le noeud primaire peut réassembler et réémettre les paquets 301 et 302. Dans cette forme de réalisation, deux paquets sont réémis lorsqu'un non acquittement NAK est reçu pour le premier des deux paquets, afin de resynchroniser le système. Si le premier des deux paquets n'a pas été reçu correctement, le deuxième paquet peut être réémis sans contrôler si le deuxième paquet a été reçu correctement la première fois qu'il a été émis. Dans une situation dans laquelle l'erreur dans le premier paquet était occasionnée par une perte de synchronisation entre les deux noeuds, le deuxième paquet contiendra probablement des erreurs, ce qui fait que le deuxième paquet est réémis préventivement. Le noeud qui a émis le non acquittement NAK réémettra également les deux derniers paquets qu'il a émis avant d'émettre le non acquittement NAK. La figure 3 est décrite comme étant un pipeline de deux paquets entre les noeuds primaire et secondaire, du fait qu'un champ d'acquittement est reçu pour un paquet donné seulement après qu'un autre paquet a été émis. Le temps aller et retour entre les noeuds primaire et secondaire est égal ou légèrement inférieur au temps exigé pour émettre un paquet - c'est-à-dire que le noeud primaire commencera à recevoir le paquet 365 avant que le noeud primaire n'ait terminé d'émettre le paquet 301. Le temps aller et retour dépend de façon caractéristique du retard de propagation sur une liaison et du temps de traitement à un noeud. Des temps aller et retour plus longs (plus longs en temps absolu ou en temps relatif par rapport à la durée d'un paquet) peuvent également être utilisés dans un système et peuvent donner un pipeline qui est plus 19 profond que deux paquets. Des paquets sont émis sensiblement de façon continue entre les noeuds primaire et secondaire indépendamment du fait qu'il y ait ou non des messages à placer dans les champs de données des paquets. Les paquets sont émis dans un mode de verrouillage mutuel, comme représenté sur la figure 3. L'émission en verrouillage mutuel de paquets de longueur fixée fait apparaître un décalage de phase fixé entre les paquets reçus à un noeud et les paquets émis par le noeud. Le noeud reçoit un paquet provenant d'un noeud distant qui contient un acquittement signalant la réception sans erreur d'un paquet émet précédemment, au bout d'une durée prédéterminée après l'émission du paquet émis précédemment. L'émission continue de paquets verrouillés mutuellement permet des communications à grande largeur de bande et faible latence, avec une synchronisation précise entre noeuds. De plus, l'émission continue de paquets permet au système de calculer le taux d'erreurs de bit (BER pour "Bit Error Rate") d'une connexion entre noeuds, d'une manière exacte et sensiblement continue. Comme représenté sur la figure 4, lorsque le noeud secondaire reçoit un paquet 411 provenant du noeud primaire et détermine qu'il s'est produit une erreur de transmission sous l'effet de laquelle les données dans le paquet 411 ont été corrompues, le noeud secondaire termine l'émission d'un paquet et, au lieu d'émettre un paquet suivant, émet une séquence de non acquittement NAK et resynchronisation 456 vers le noeud primaire. La séquence de resynchronisation 456 est émise pour rétablir la synchronisation entre les noeuds primaire et secondaire, du fait qu'une raison pour laquelle le paquet 411 a peu être corrompu est que la synchronisation entre les noeuds primaire et secondaire a pu être diminuée ou perdue. La séquence de resynchronisation peut consister en champs de synchronisation et champs de liaison alternés, le champ de liaison pouvant être un code prédéterminé tel que OxA3. Dans une forme de réalisation, quatre octets de liaison doivent être reçus avant qu'un noeud soit considéré comme resynchronisé. Le noeud primaire reçoit une séquence de non acquittement NAK et resynchronisation 466 et émet une séquence de resynchronisation 403. Après que le noeud primaire a émis la séquence de resynchronisation 403, le noeud primaire envoie à nouveau les derniers paquets qui ont émis avant la réception du non acquittement NAK. Dans le cas d'un pipeline de N paquets, les N derniers paquets sont réémis. Une fois que le noeud secondaire reçoit un acquittement ACK dans un premier paquet réémis 414, le noeud secondaire commence également à réémettre des paquets. Comme représenté sur la figure 5, lorsque le noeud primaire reçoit un paquet 565 provenant du noeud secondaire et détermine qu'il s'est produit une erreur de transmission sous l'effet de laquelle les données dans le paquet 565 ont été corrompues, le noeud primaire envoie une séquence de non acquittement NAK et resynchronisation, 503, vers le noeud secondaire. Le noeud secondaire reçoit une séquence de non acquittement NAK et resynchronisation, 513, et envoie une séquence de resynchronisation 557. Après que le noeud primaire a émis la séquence de non acquittement NAK et resynchronisation, 503, le noeud primaire envoie à nouveau les derniers paquets qui ont été émis avant de recevoir le paquet corrompu. Une fois que le noeud secondaire reçoit un acquittement ACK dans un premier paquet réémis 514, le noeud secondaire commence également à réémettre des paquets. Un compteur d'erreurs peut conserver la trace du nombre d'erreurs de transmission matérielles qui se produisent dans un noeud. Une interruption peut être activée lorsque le compteur atteint un seuil. Dans une forme de réalisation, le compteur d'erreurs peut être lu par logiciel dans le noeud, et le logiciel peut fixer le seuil d'interruption. La détection et la correction d'erreurs peuvent être prises en charge à un niveau très bas dans ce système, et une couche logicielle travaillant au-dessus de la couche liaison décrite n'a pas besoin de mettre en oeuvre une détection et une correction d"erreurs supplémentaires. La figure 6 illustre un processus 600 exécuté dans un noeud, dans une forme de réalisation. Le noeud commence par recevoir un premier paquet (étape 610) et reçoit un champ d'acquittement dans le premier paquet (étape 615). Le noeud détermine si le champ d'acquittement est un acquittement ACK ou un non acquittement NAK (étape 620). Si le champ d'acquittement est un non acquittement NAK, le noeud émet une séquence de resynchronisation (étape 625) et réémet le paquet auquel le non acquittement NAK reçu correspond, conjointement à 21 des paquets quelconques qui ont été émis après ce paquet (étape 630). Si le champ d'acquittement est un acquittement ACK, le noeud commence à émettre un deuxième paquet (635) et contrôle le premier paquet pour détecter des erreurs (étape 640), par exemple en vérifiant une valeur de CRC dans le paquet. Si des erreurs ont été détectées dans le premier paquet, le noeud termine l'émission du deuxième paquet (étape 645) et émet une séquence de non acquittement NAK et resynchronisation (étape 650). Si aucune erreur n'a été détectée dans le premier paquet, le noeud détermine si un bit de défaut était instauré dans le premier paquet (étape 655). Si un bit de défaut était instauré, le noeud est placé dans un mode de défaut ou état de sécurité (étape 660). Si le bit de défaut n'était pas instauré, ou une fois que le noeud est placé dans un mode de défaut, le noeud termine l'émission du deuxième paquet (étape 665) et commence à émettre un troisième paquet (étape 670). La figure 7 montre un message 700 qui peut être transmis sur la couche liaison décrite dans le contexte des figures 2 à 6 pour communiquer entre des noeuds dans le système. Le message 700 peut également être transmis sur d'autres connexions, par exemple USB, RS- 232 ou IEEE 802.3 (Ethernet). Le même message 700 peut être transmis sur chaque type de connexion, en étant enveloppé dans une enveloppe spécifique à la connexion, de la manière appropriée. Par exemple, un message qui est émis dans les octets allant du sixième octet 206 jusqu'au 37-ième octet 237 du paquet 200 (figure 2), est un message 700 enveloppé dans une enveloppe qu'on décrira ci-dessous dans le contexte de la figure 8. Du fait qu'un format commun est utilisé dans l'ensemble du système pour le message 700, le message 700 peut être transmis à tout noeud dans le système sans traduction. Le message 700 comprend de multiples octets 701 à 708. Les six premiers octets 701 à 706 du message 700 forment un en-tête et les derniers octets 707 à 708 forment un corps de message. Le corps de message dans les derniers octets 707 à 708 peut avoir une longueur variable (des octets entre l'octet 707 et l'octet 708 ne sont pas représentés). Le premier octet 701 de l'en-tête inclut un champ de total de contrôle pour les octets suivants. Le deuxième octet 702 inclut un champ d'ordre qui peut inclure, par exemple, un ordre de synchronisation ou un ordre de contrôle de configuration. Un noeud peut réagir à un ordre émis par un autre noeud (par exemple pour rendre compte de l'état de l'exécution de l'ordre), et le champ d'ordre peut inclure un bit de réponse.
Le noeud qui répond peut instaurer le bit de réponse du champ d'ordre dans un message de réponse envoyé au noeud qui a émis l'ordre. Le bit de réponse indique que le message est une réponse à un ordre et ne contient pas un nouvel ordre. Le troisième octet 703 dans le message 700 inclut un champ de source qui indique le noeud à partir duquel le message 700 a été émis. Le quatrième octet 704 inclut un champ de destination qui indique vers quel noeud (ou quels noeuds) le message 700 doit être émis. Le cinquième octet 705 inclut un champ d'état. Un noeud qui répond peut inclure dans le champ d'état une information concernant l'exécution d'un ordre (indiquant par exemple le succès ou l'échec), au moment de l'envoi d'un message de réponse. Le sixième octet 706 comprend un champ de longueur qui indique quelle est la longueur du corps du message 700. Comme représenté sur la figure 8, un message 800 destiné à être transmis en utilisant la couche liaison décrite ci-dessus inclut de multiples octets 801 à 810. Les quatre premiers octets 801 à 804 forment un en-tête, les quatre derniers octets 807 à 810 forment une queue, et les octets du milieu 805 à 806 forment un corps qui contient le message 700 (figure 7). Le premier octet 801 de l'en-tête inclut un champ de longueur qui indique quelle est la longueur du corps du message. Le deuxième octet 802 de l'en-tête inclut un champ de type qui peut spécifier un type du message. Le troisième octet 803 de l'en-tête inclut un champ de source qui indique le noeud à partir duquel le message 800 a été émis. Le quatrième octet 804 de l'en-tête inclut un champ de destination qui indique vers quel noeud (ou quels noeuds) le message 800 doit être émis.
Les octets du milieu 805 à 806 peuvent avoir une longueur variable (des octets entre l'octet 805 et l'octet 806 ne sont pas représentés) et contiennent le message 700 (figure 7). Le premier octet 807 de la queue peut être un octet de bourrage qui est réservé pour une utilisation future. Le deuxième octet 808 de la queue peut être un champ de numéro de séquence. Les troisième et quatrième octets 809-810 de la 23 queue peuvent être un champ de total de contrôle pour l'en-tête et le corps du message 800. Le champ de numéro de séquence dans le deuxième octet 808 de la queue peut inclure un numéro de séquence pour le message 800 qui est spécifique au canal de priorité sur lequel le message 800 est transmis. Ainsi, le système peut assigner des numéros de séquence à des messages transmis sur un canal de priorité donné, indépendamment des autres canaux de priorité. Le numéro de séquence peut également dépendre du noeud qui forme et commence l'émission du message 800.
De cette manière, chaque noeud dans le système peut avoir un numéro de séquence de début différent pour chaque canal de priorité sur le noeud. Le numéro de séquence pour un noeud et un canal de priorité donnés est incrémenté après qu'un message a été émis avec succès à partir de ce noeud particulier sur ce canal de priorité particulier.
Le champ de total de contrôle dans les troisième et quatrième octets 809 à 810 de la queue peut être une sommation des octets dans l'en-tête et le corps. Le champ de total de contrôle peut être utilisé pour détecter des erreurs dans le message 800. Le corps du message 800 peut également inclure un total de contrôle par CRC, pour une détection d'erreurs plus robuste. Lorsque le système est mis sous tension, un logiciel dans un noeud maître (par exemple à la console du chirurgien dans un système chirurgical assisté par robot) peut assigner des identificateurs (ID) de noeud à chaque noeud dans le système, et ces identificateurs seront utilisés pour identifier le noeud respectif dans les champs de source et de destination du message 800. Un ou plusieurs identificateurs spéciaux peuvent être réservés et utilisés pour indiquer qu'un message qui inclut cet identificateur spécial dans le champ de destination doit être diffusé vers de multiples noeuds.
Le logiciel dans le noeud maître peut interroger les autres noeuds dans le système pour déterminer la version de logiciel que les autres noeuds exécutent. Si un noeud dans le système exécute une version de logiciel inattendue (par exemple la version qui ne concorde pas avec la version du noeud maître ou ne concorde pas avec une information de version exigée qui est stockée dans l'unité de commande maîtresse), 24 un défaut peut être déclenché, et les noeuds dans le système peuvent être placés dans un état de sécurité jusqu'à ce qu'un opérateur charge dans le noeud la version de logiciel correcte, ou remplace le noeud par un noeud différent dans lequel la version de logiciel correcte est installée.
Lorsqu'un défaut se produit dans le système, la cause du défaut est stockée de façon caractéristique dans un journal d'erreurs dans le noeud où le défaut s'est produit. Une information sur la cause du défaut est également transmise de façon caractéristique au noeud maître pour être également consignée dans un journal dans celui-ci.
Dans une forme de réalisation, un noeud peut inclure un port pour communiquer en utilisant la couche liaison décrite ci-dessus, un port USB, un port RS-232 et un port Ethernet. Certains ou la totalité des ports peuvent être utilisés pour communiquer avec d'autres noeuds, et certains ou la totalité des ports peuvent être utilisés pour connecter un équipement qui teste ou actualise le système. Lorsqu'un équipement qui teste ou actualise le système est connecté à un port, le système peut exiger que l'équipement fournisse un mot de passe, pour la sécurité. Des messages peuvent être utilisés pour la maintenance et l'actualisation du système. Par exemple, des messages peuvent être utilisés pour transmettre des actualisations de logiciel à un noeud à partir d'un autre noeud ou à partir d'un équipement d'actualisation (par exemple un ordinateur portable) couplé à l'un des noeuds. Un équipement de diagnostic ou d'actualisation qui est couplé à un noeud peut communiquer avec ce noeud et peut également communiquer avec d'autres noeuds dans le système en utilisant le noeud auquel l'équipement est connecté, pour envoyer des messages au noeud désiré (par exemple en spécifiant le noeud désiré dans le champ de destination du message 800). L'utilisation d'un format commun pour le message 700 dans l'ensemble du système permet à l'équipement de diagnostic ou d'actualisation de communiquer très simplement avec n'importe quel noeud dans le système. Des modes de réalisation de l'invention et toutes les opérations fonctionnelles décrits dans cette description peuvent être mis en oeuvre dans des circuits électroniques numériques, ou dans un logiciel, un microprogramme ou un matériel d'ordinateur, ceci incluant les structures exposées dans cette description et leurs structures équivalentes, ou dans des combinaisons d'un ou plusieurs d'entre eux. Des modes de réalisation de l'invention peuvent être mis en oeuvre sous la forme d'un ou plusieurs produits programmes d'ordinateur, c'est-à-dire un ou plusieurs modules d'instructions de programme d'ordinateur codées sur un support lisible par ordinateur, pour l'exécution par un appareil de traitement de données, ou pour la commande du fonctionnement de celui-ci. Le support lisible par ordinateur peut êtreun dispositif de stockage lisible par machine, un substrat de stockage lisible par machine, un dispositif de mémoire, une composition de matière produisant un signal qui se propage et est lisible par machine, ou une combinaison d'un ou plusieurs d'entre eux. Le terme "appareil de traitement de données" englobe tous les appareils, dispositifs et machines pour traiter des données, incluant par exemple un processeur programmable, un ordinateur ou de multiples processeurs ou ordinateurs. L'appareil peut inclure, en plus du matériel, un code qui crée un environnement d'exécution pour le programme d'ordinateur en question, par exemple un code qui constitue un microprogramme de processeur, une pile de protocoles, un système de gestion de base de données, un système d'exploitation ou une combinaison d'un ou plusieurs d'entre eux. Un signal qui se propage est un signal généré artificiellement, par exemple un signal électrique, optique ou électromagnétique généré par une machine, qui est généré de façon à coder de l'information pour l'émission vers un appareil récepteur approprié. Un programme d'ordinateur (qu'on appelle également un programme, logiciel, application logicielle, script ou code) peut être écrit dans n'importe quelle forme de langage de programmation, incluant des langages compilés ou interprétés, et il peut être déployé sous n'importe quelle forme, comprenant la forme d'un programme autonome ou la forme d'un module, composant, sous-programme ou autre unité convenant pour l'utilisation dans un environnement informatique. Un programme d'ordinateur ne correspond pas nécessairement à un fichier dans un système de fichiers. Un programme peut être stocké dans une partie d'un fichier qui contient d'autres programmes ou données (par exemple un ou plusieurs scripts stockés dans un document en langage de balisage), dans un seul fichier dédié au programme en question, ou dans de multiples fichiers coordonnés (par exemple des fichiers qui stockent un ou 26 plusieurs modules, sous-programmes ou parties de code). Un programme d'ordinateur peut être déployé pour être exécuté sur un seul ordinateur ou sur de multiples ordinateurs qui sont situés à un seul site ou sont répartis à travers de multiples sites et interconnectés par un réseau de communication. Les processus et séquences logiques décrits dans cette description peuvent être accomplis par un ou plusieurs processeurs programmables exécutant un ou plusieurs programmes d'ordinateur pour accomplir des fonctions en travaillant sur des données d'entrée et en générant de l'information de sortie. Les processus et séquences logiques peuvent également être accomplis par des circuits logiques spécialisés, par exemple un réseau de portes programmables par l'utilisateur ou FPGA (Field Programmable Gate Array) ou un circuit intégré à application spécifique ou ASIC (Application-Specific Integrated Circuit), et un appareil peut également être réalisé sous la forme d'un tel circuit logique. Des processeurs convenant pour l'exécution d'un programme d'ordinateur comprennent, à titre d'exemple, à la fois des microprocesseurs généraux et spécialisés, et un ou plusieurs processeurs quelconques de n'importe quelle sorte d'ordinateur. De façon générale, un processeur recevra des instructions et des données provenant d'une mémoire morte ou d'une mémoire vive, ou des deux. Les éléments essentiels d'un ordinateur sont un processeur pour exécuter des instructions et un ou plusieurs dispositifs de mémoire pour stocker des instructions et des données. De façon générale, un ordinateur comprendra également un ou plusieurs dispositifs de stockage de masse pour stocker des données, par exemple des disques magnétiques, magnéto-optiques ou optiques, ou sera couplé fonctionnellement pour recevoir des données à partir de tels dispositifs de stockage de masse, ou pour transférer des données vers eux, ou les deux. Cependant, un ordinateur ne doit pas nécessairement avoir de tels dispositifs. En outre, un ordinateur peut être embarqué dans un autre dispositif, par exemple un téléphone mobile, un assistant numérique personnel (PDA pour "Personal Digital Assistant"), un lecteur audio mobile, un récepteur GPS (Global Positioning System), pour n'en citer que quelques uns. Des supports lisibles par ordinateur convenant pour stocker des instructions de programme et des données d'ordinateur incluent toutes les formes de mémoire, supports et dispositifs de mémoire de type non volatil, incluant à titre d'exemple des dispositifs de mémoire à semiconducteur, par exemple des dispositifs EPROM, EEPROM et de mémoire flash; des disques magnétiques, par exemple des disques durs internes ou des disques amovibles; des disques magnéto-optiques; et des disques CDROM et DVD-ROM. Le processeur et la mémoire peuvent comporter en supplément des circuits logiques spécialisés, ou être incorporés dans ceux-ci. Pour permettre une interaction avec un utilisateur, des modes de réalisation de l'invention peuvent être mis en oeuvre sur un ordinateur ayant un dispositif de visualisation, par exemple un moniteur à tube cathodique ou à cristaux liquides, pour présenter de l'information à l'utilisateur, et un clavier et un dispositif de pointage, par exemple une souris ou une boule de commande, au moyen desquels l'utilisateur peut introduire de l'information dans l'ordinateur. D'autres sortes de dispositifs peuvent également être utilisés pour permettre une interaction avec un utilisateur; par exemple, un retour présenté à l'utilisateur peut consister en n'importe quelle forme de retour perceptible, par exemple un retour visuel, un retour auditif ou un retour tactile; et de l'information d'entrée provenant de l'utilisateur peut être reçue sous n'importe quelle forme, incluant une information d'entrée acoustique, vocale ou tactile. Bien que cette description contienne de nombreux éléments spécifiques, ceux-ci ne doivent pas être interprétés comme des limitations du cadre de l'invention ou de ce qui peut être revendiqué, mais plutôt comme des descriptions de caractéristiques spécifiques à des modes de réalisation particuliers de l'invention. Certaines caractéristiques qui sont décrites dans cette description dans le contexte de modes de réalisation séparés peuvent également être mises en oeuvre en combinaison dans un seul mode de réalisation. Inversement, diverses caractéristiques qui sont décrites dans le contexte d'un seul mode de réalisation peuvent également être mises en oeuvre séparément dans de multiples modes de réalisation, ou selon n'importe quelle sous-combinaison appropriée. En outre, bien que des caractéristiques puissent être décrites ci-dessus comme agissant dans certaines combinaisons et même revendiquées initialement comme telles, une ou plusieurs caractéristiques tirées d'une combinaison revendiquée peuvent dans certains cas être extraites de la combinaison, et la combinaison revendiquée peut porter sur une sous-combinaison ou une variante d'une sous-combinaison. De façon similaire, bien que des opérations soient représentées dans les dessins dans un ordre particulier, ceci ne doit pas être considéré comme une obligation que de telles opérations soient accomplies dans l'ordre particulier représenté ou dans un ordre séquentiel, ou que toutes les opérations illustrées soient accomplies, pour obtenir des résultats souhaitables. Dans certaines circonstances, un traitement multitâche et parallèle peut être avantageux. En outre, on ne doit pas considérer que la séparation de divers composants de système dans les modes de réalisation décrits ci-dessus exige une telle séparation dans tous les modes de réalisation, et il faut noter que les composants de programme et systèmes décrits peuvent de façon générale être intégrés ensemble en un seul produit logiciel ou incorporés dans de multiples produits logiciels. On a donc décrit des modes de réalisation particuliers de l'invention. D'autres modes de réalisation entrent dans le cadre des revendications suivantes. Par exemple, les actions énumérées dans les revendications peuvent être effectuées dans un ordre différent et produire néanmoins des résultats souhaitables. Les procédés, systèmes et appareils décrits ci-dessus peuvent être utilisés avec divers mécanismes de transport physique, incluant des fibres optiques (fonctionnant par exemple à 160 Mbit/s), la transmission de signaux différentiels à basse tension (fonctionnant par exemple à 122 Mbit/s), et des fils de fond de panier pour une transmission asynchrone et une transmission série synchrone à partir d'une source. Dans une forme de réalisation, des paquets corrompus ne doivent pas nécessairement être réémis lorsque les paquets contiennent des données qui peuvent tolérer des erreurs. Par exemple, des parasites occasionnels dans un train vidéo ou audio sont acceptables. Une détecteur d'erreur et une resynchronisation peuvent néanmoins être utilisées dans cette forme de réalisation pour permettre une reprise rapide, réalisée par matériel, en cas d'erreurs de synchronisation.

Claims (23)

REVENDICATIONS
1. Système chirurgical assisté par robot, comprenant : un processeur programmable (174) pouvant fonctionner de façon à exécuter des instructions; un premier tampon de données (182-1) couplé au processeur programmable (174), le processeur programmable pouvant fonctionner de façon à transférer des données de première priorité vers le premier tampon de données (182-1) en réponse aux instructions, le premier tampon de données étant prévu pour l'utilisation avec seulement les données de première priorité; un deuxième tampon de données (182-3) couplé au processeur programmable (174), le processeur programmable pouvant fonctionner de façon à transférer des données de deuxième priorité vers le deuxième tampon de données (182-3) en réponse aux instructions, le deuxième tampon de données étant prévu pour l'utilisation avec seulement les données de deuxième priorité; une liaison de données (186); et une logique d'émission (178) couplée aux premier (182-1) et deuxième (182-3) tampons et à la liaison de données (186), la logique d'émission (178) pouvant fonctionner de façon à émettre sur la liaison de données (186), les données de première priorité de façon privilégiée par rapport aux données de deuxième priorité, conformément à un protocole de messagerie.
2. Système chirurgical assisté par robot selon la revendication 1, dans lequel les données de première priorité incluent des ordres pour commander le mouvement d'un bras de robot; et les données de deuxième priorité incluent au moins une information choisie parmi une information d'état non critique et une information de consignation d'erreur.
3. Système chirurgical assisté par un robot selon la revendication 1, comprenant en outre : un troisième tampon de données (182-2) couplé au processeur programmable (174), le processeur programmable (174) pouvant fonctionner de façon à transférer des données de troisième priorité vers le troisième tampon de données (182-2) en réponse aux instructions, le troisième tampon de données (182-2) étant prévu pour l'utilisation avec seulement les données de troisième 30 priorité; et dans lequel les données de première priorité sont des données de priorité élevée, les données de deuxième priorité sont des données de faible priorité, et les données de troisième priorité sont des données de priorité moyenne.
4. Système chirurgical assisté par robot selon la revendication 3, dans lequel le protocole de messagerie exige que la logique d'émission (178) émette les données de première priorité provenant du premier tampon de données (182-1) de façon privilégiée par rapport aux données de deuxième priorité provenant du deuxième tampon de données (182-3).
5. Système chirurgical assisté par robot selon la revendication 4, dans lequel le protocole de messagerie exige en outre que la logique d'émission (178) émette les données de première priorité provenant du premier tampon de données (182-1) de façon privilégiée par rapport aux données de troisième priorité provenant du troisième tampon de données (182-2).
6. Système chirurgical assisté par robot selon la revendication 5, dans lequel le protocole de messagerie exige en outre que la logique d'émission (178) émette les données de troisième priorité provenant du troisième tampon de données (182-2) de façon privilégiée par rapport aux données de deuxième priorité provenant du deuxième tampon de données (182-3).
7. Système chirurgical assisté par robot selon la revendication 4, dans lequel l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité comprend l'émission de toute donnée de première priorité disponible avant toute donnée de deuxième priorité disponible.
8. Système chirurgical assisté par robot selon la revendication 4, dans lequel l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité comprend l'allocation d'un plus grand nombre de créneaux d'émission aux données de première priorité disponibles qu'aux données de deuxième priorité disponibles.
9. Système chirurgical assisté par robot selon la revendication 1, dans lequel le processeur programmable (174) inclut la logique d'émission (178).
10. Procédé comprenant les étapes suivantes : fournir un système chirurgical assisté par robot qui comprend une multiplicité de noeuds (110, 120, 130), la multiplicité de noeuds incluant au moins un noeud d'émission (170) couplé par une liaison de données (186) à un noeud de réception, et, au noeud d'émission : générer des données de première priorité et des données de deuxième priorité; placer les données de première priorité dans un premier tampon de données (182-1), le premier tampon de données (182-1) étant prévu pour l'utilisation avec seulement les données de première priorité; placer les données de deuxième priorité dans un deuxième tampon de données (182-3), le deuxième tampon de données (182-3) étant prévu pour l'utilisation avec seulement des données de deuxième priorité; et émettre les données de première priorité et les données de deuxième priorité sur la liaison de données (186) à partir des premier (182-1) et deuxième (182-3) tampons de données, les données de première priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité.
11. Procédé selon la revendication 10, comprenant en outre, au noeud d'émission (170), les opérations suivantes : générer des données de troisième priorité, les données de première priorité étant des données de priorité élevée, les données de deuxième priorité étant des données de faible priorité et les données de troisième priorité étant des données de priorité moyenne; placer les données de troisième priorité dans un troisième tampon de données (182-2), le troisième tampon de données (182-2) étant prévu pour l'utilisation avec seulement des données de troisième priorité; et émettre les données de troisième priorité sur la liaison de données, à partir du troisième tampon de données (182-2), les données de première priorité étant émises de façon privilégiée par rapport aux données de troisième priorité, et les données de troisième priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité.
12. Procédé selon la revendication 10, comprenant en outre, aunoeud d'émission (170), l'étape consistant à identifier un protocole de messagerie, l'émission de façon privilégiée incluant l'émission de façon privilégiée conformément au protocole de messagerie.
13. Procédé selon la revendication 10, dans lequel l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité comprend l'émission de toute donnée de première priorité disponible avant toute donnée de deuxième priorité disponible.
14. Procédé selon la revendication 10, dans lequel l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité comprend l'allocation d'un plus grand nombre de créneaux d'émission aux données de première priorité disponibles qu'aux données de deuxième priorité disponibles.
15. Procédé selon la revendication 10, dans lequel les données de première priorité incluent des messages critiques vis-à-vis du temps.
16. Procédé selon la revendication 10, dans lequel les données de deuxième priorité incluent au moins une information choisie parmi une information d'état non critique et une information de consignation d'erreurs.
17. Produit programme d'ordinateur, matérialisé dans un support lisible par ordinateur inclus dans un noeud d'émission (170) d'un système chirurgical assisté par robot, le noeud d'émission (170) étant couplé par une liaison de données (186) à un noeud de réception, le support lisible par ordinateur comprenant des instructions pouvant être exécutées pour faire en sorte qu'un processeur programmable (174) effectue les opérations suivantes : générer des données de première priorité et des données de deuxième priorité; placer les données de première priorité dans un premier tampon de données (182-1), le premier tampon de données (182-1) étant prévu pour l'utilisation avec seulement les données de première priorité; placer les données de deuxième priorité dans un deuxième tampon de données (182-3), le deuxième tampon de données (182-3) étant prévu pour l'utilisation avec seulement des données de deuxième priorité; etémettre les données de première priorité et les données de deuxième priorité sur une même liaison de données (186) à partir des premier (182-1) et deuxième (182-3) tampons de données, les données de première priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité.
18. Produit programme d'ordinateur selon la revendication 17, comprenant en outre des instructions pouvant être exécutées pour effectuer les opérations suivantes : générer des données de troisième priorité, les données de première priorité étant des données de priorité élevée, les données de deuxième priorité étant des données de faible priorité et les données de troisième priorité étant des données de priorité moyenne; placer les données de troisième priorité dans un troisième tampon de données (182-2), le troisième tampon de données (182-2) étant prévu pour l'utilisation avec seulement des données de troisième priorité; et émettre les données de troisième priorité sur la liaison de données (186), à partir du troisième tampon de données (182-2), les données de première priorité étant émises de façon privilégiée par rapport aux données de troisième priorité, et les données de troisième priorité étant émises de façon privilégiée par rapport aux données de deuxième priorité.
19. Produit programme d'ordinateur selon la revendication 17, comprenant en outre des instructions pouvant être exécutées pour effectuer les opérations suivantes : identifier un protocole de messagerie, l'émission de façon privilégiée incluant l'émission de façon privilégiée conformément au protocole de messagerie.
20. Produit programme d'ordinateur selon la revendication 17, dans lequel l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité comprend l'émission de toute donnée de première priorité disponible avant toute donnée de deuxième priorité disponible.
21. Produit programme d'ordinateur selon la revendication 17, dans lequel l'émission des données de première priorité de façon privilégiée par rapport aux données de deuxième priorité comprendl'allocation d'un plus grand nombre de créneaux d'émission aux données de première priorité disponibles qu'aux données de deuxième priorité disponibles.
22. Produit programme d'ordinateur selon la revendication 17, dans lequel les données de première priorité incluent des messages critiques vis-à-vis du temps.
23. Produit programme d'ordinateur selon la revendication 17, dans lequel les données de deuxième priorité incluent au moins une information choisie parmi une information d'état non critique et une information de consignation d'erreur.
FR0611223A 2005-12-22 2006-12-21 Systeme, procede et produit programme d'ordinateur pour transmettre des donnees ayant de multiples priorites. Withdrawn FR2895618A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75399105P 2005-12-22 2005-12-22
US11/480,282 US7757028B2 (en) 2005-12-22 2006-06-30 Multi-priority messaging

Publications (1)

Publication Number Publication Date
FR2895618A1 true FR2895618A1 (fr) 2007-06-29

Family

ID=38137703

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0611223A Withdrawn FR2895618A1 (fr) 2005-12-22 2006-12-21 Systeme, procede et produit programme d'ordinateur pour transmettre des donnees ayant de multiples priorites.

Country Status (6)

Country Link
US (1) US7757028B2 (fr)
EP (1) EP1963976B1 (fr)
KR (1) KR101325022B1 (fr)
DE (1) DE102006059378A1 (fr)
FR (1) FR2895618A1 (fr)
WO (1) WO2007130155A2 (fr)

Families Citing this family (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227898A1 (en) * 2003-07-10 2006-10-12 Gibson Timothy P Radio receiver
US7756036B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Synchronous data communication
US8054752B2 (en) 2005-12-22 2011-11-08 Intuitive Surgical Operations, Inc. Synchronous data communication
US8006019B2 (en) * 2006-05-22 2011-08-23 Apple, Inc. Method and system for transferring stored data between a media player and an accessory
US8150933B2 (en) * 2006-09-08 2012-04-03 Research In Motion Limited Apparatus and method for delivering messages over multiple mediums
US20080084861A1 (en) * 2006-10-10 2008-04-10 Honeywell International Inc. Avionics communication system and method utilizing multi-channel radio technology and a shared data bus
US8081933B2 (en) * 2007-07-13 2011-12-20 Honeywell International Inc. Reconfigurable aircraft radio communications system
US7948945B2 (en) * 2008-01-23 2011-05-24 Honeywell International Inc. Method and apparatus for improved message delivery for higher priority nodes or messages in an industrial wireless network
US8483223B2 (en) * 2008-02-01 2013-07-09 Qualcomm Incorporated Packet transmission via multiple links in a wireless communication system
US8019338B2 (en) * 2008-05-29 2011-09-13 Honeywell International Inc. Reconfigurable aircraft communications system with integrated avionics communication router and audio management functions
US8344852B2 (en) * 2008-12-24 2013-01-01 Blackboard Connect Inc. Method and system for transmitting a plurality of notifications in a notification pool
WO2010112327A1 (fr) * 2009-04-03 2010-10-07 Continental Teves Ag & Co. Ohg Sécurité des données pour la communication avec des dispositifs utilisateurs homologues
CN101673255B (zh) * 2009-10-21 2012-07-11 威盛电子股份有限公司 通用串行总线主机控制器和通用串行总线主机控制方法
CN101692213B (zh) * 2009-10-23 2012-06-27 威盛电子股份有限公司 通用串行总线主机控制方法和通用串行总线主机控制器
TWI493351B (zh) * 2009-11-16 2015-07-21 Via Tech Inc 通用串列匯流排主機控制方法和通用串列匯流排主機控制器
DE102010020446B4 (de) * 2010-05-12 2012-12-06 Wago Verwaltungsgesellschaft Mbh Automatisierungsgerät und Verfahren zur beschleunigten Verarbeitung von selektierten Prozessdaten
JP5492750B2 (ja) * 2010-11-24 2014-05-14 株式会社日立製作所 パケット転送装置およびパケット転送方法
US8711993B2 (en) 2010-12-10 2014-04-29 Honeywell International Inc. Wideband multi-channel receiver with fixed-frequency notch filter for interference rejection
US8943236B1 (en) * 2011-06-21 2015-01-27 Netlogic Microsystems, Inc. Packet scheduling using a programmable weighted fair queuing scheduler that employs deficit round robin
GB2496681A (en) * 2011-11-21 2013-05-22 Push Technology Ltd A publish/subscribe system with time-sensitive message delivery to subscribers
US11871901B2 (en) 2012-05-20 2024-01-16 Cilag Gmbh International Method for situational awareness for surgical network or surgical network connected device capable of adjusting function based on a sensed situation or usage
GB2513345B (en) * 2013-04-23 2017-07-26 Gurulogic Microsystems Oy Data communication system and method
US9413797B2 (en) 2013-04-23 2016-08-09 Gurulogic Microsystems Oy Data communication system and method
US9454499B2 (en) * 2013-06-11 2016-09-27 Intel Corporation Asynchronous communication between devices
US9855107B2 (en) 2013-08-09 2018-01-02 Intuitive Surgical Operations, Inc. Medical robotic system with remote current controller for controlling a plurality of distally housed motors
US9446517B2 (en) * 2013-10-17 2016-09-20 Intuitive Surgical Operations, Inc. Fault reaction, fault isolation, and graceful degradation in a robotic system
US9397792B2 (en) 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
EP3834752B1 (fr) 2013-12-11 2024-03-13 Covidien LP Ensembles poignet et mâchoire pour des systèmes chirurgicaux robotisés
US9826039B2 (en) * 2014-02-04 2017-11-21 Honeywell International Inc. Configurable communication systems and methods for communication
US9628382B2 (en) 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
US9883641B2 (en) * 2014-05-07 2018-02-06 Vivint, Inc. Sprinkler control systems and methods
CN110063791B (zh) 2014-08-13 2022-04-15 柯惠Lp公司 机器人控制的具有机械优势的夹持
US11504192B2 (en) 2014-10-30 2022-11-22 Cilag Gmbh International Method of hub communication with surgical instrument systems
WO2016133633A1 (fr) 2015-02-19 2016-08-25 Covidien Lp Procédé de repositionnement de dispositif d'entrée pour système chirurgical robotique
US10716639B2 (en) 2015-03-10 2020-07-21 Covidien Lp Measuring health of a connector member of a robotic surgical system
EP3302335A4 (fr) 2015-06-03 2019-02-20 Covidien LP Unité d'entraînement d'instrument offset
US10360267B2 (en) * 2015-06-10 2019-07-23 Futurewei Technologies, Inc. Query plan and operation-aware communication buffer management
CN107743384B (zh) 2015-06-16 2020-12-22 柯惠Lp公司 机器人外科手术系统扭矩传感感测
JP6719487B2 (ja) 2015-06-23 2020-07-08 コヴィディエン リミテッド パートナーシップ ロボット外科手術アセンブリ
US10806454B2 (en) 2015-09-25 2020-10-20 Covidien Lp Robotic surgical assemblies and instrument drive connectors thereof
CN108135670B (zh) 2015-10-23 2021-02-26 柯惠Lp公司 用于检测灌注中逐步变化的手术系统
CN108348297B (zh) 2015-11-19 2021-08-31 柯惠Lp公司 用于机器人手术系统的光学力传感器
WO2017173524A1 (fr) 2016-04-07 2017-10-12 Titan Medical Inc. Procédé et appareil de positionnement de caméra pour capturer des images pendant une procédure médicale
CA3022164A1 (fr) 2016-05-26 2017-11-30 Covidien Lp Ensembles robotiques chirurgicaux
CN113328581B (zh) 2016-05-26 2024-06-11 柯惠Lp公司 器械驱动单元
CN109152612A (zh) 2016-06-03 2019-01-04 柯惠Lp公司 具有嵌入式成像仪的机器人手术系统
CN107735040B (zh) 2016-06-03 2021-06-18 柯惠Lp公司 用于机器人手术系统的控制臂
CN109275333B (zh) 2016-06-03 2022-05-17 柯惠Lp公司 用于控制机器人递送操纵器的系统、方法和计算机可读程序产品
WO2017210074A1 (fr) 2016-06-03 2017-12-07 Covidien Lp Système d'axe passif pour systèmes chirurgicaux robotiques
US10574788B2 (en) * 2016-08-23 2020-02-25 Ebay Inc. System for data transfer based on associated transfer paths
CA3048039A1 (fr) 2017-02-15 2018-08-23 Covidien Lp Systeme et appareil pour la prevention de l'ecrasement pour des applications robotiques medicales
US10158431B2 (en) 2017-04-25 2018-12-18 Bae Systems Information And Electronic Systems Integration Inc. Dynamic relay assignment for jamming mitigation in wireless networks
US10237885B2 (en) * 2017-05-01 2019-03-19 Bae Systems Information And Electronic Systems Integration Inc. Multiple access wireless network with low latency subnet
EP3629979A4 (fr) 2017-05-24 2021-02-17 Covidien LP Détection de présence pour outils électrochirurgicaux dans un système robotisé
US11839441B2 (en) 2017-05-25 2023-12-12 Covidien Lp Robotic surgical system with automated guidance
EP3629981A4 (fr) 2017-05-25 2021-04-07 Covidien LP Systèmes et procédés de détection d'objets à l'intérieur d'un champ de vision d'un dispositif de capture d'image
JP2020520694A (ja) 2017-05-25 2020-07-16 コヴィディエン リミテッド パートナーシップ ロボット手術システムおよびロボット手術システムのコンポーネントを覆うためのドレープ
CN110177516B (zh) 2017-09-05 2023-10-24 柯惠Lp公司 用于机器人手术系统的碰撞处理算法
CN111132629B (zh) 2017-09-06 2024-04-16 柯惠Lp公司 手术机器人的边界缩放
US10624707B2 (en) * 2017-09-18 2020-04-21 Verb Surgical Inc. Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm
US10779901B2 (en) 2017-09-18 2020-09-22 Verb Surgical Inc. Robotic surgical system having a communication network of a ring topology and method for use therewith
US11510741B2 (en) 2017-10-30 2022-11-29 Cilag Gmbh International Method for producing a surgical instrument comprising a smart electrical system
US11026687B2 (en) 2017-10-30 2021-06-08 Cilag Gmbh International Clip applier comprising clip advancing systems
US11317919B2 (en) 2017-10-30 2022-05-03 Cilag Gmbh International Clip applier comprising a clip crimping system
US11911045B2 (en) 2017-10-30 2024-02-27 Cllag GmbH International Method for operating a powered articulating multi-clip applier
US11291510B2 (en) 2017-10-30 2022-04-05 Cilag Gmbh International Method of hub communication with surgical instrument systems
US11311342B2 (en) 2017-10-30 2022-04-26 Cilag Gmbh International Method for communicating with surgical instrument systems
US11801098B2 (en) 2017-10-30 2023-10-31 Cilag Gmbh International Method of hub communication with surgical instrument systems
US11759224B2 (en) 2017-10-30 2023-09-19 Cilag Gmbh International Surgical instrument systems comprising handle arrangements
US11564756B2 (en) 2017-10-30 2023-01-31 Cilag Gmbh International Method of hub communication with surgical instrument systems
US11744604B2 (en) 2017-12-28 2023-09-05 Cilag Gmbh International Surgical instrument with a hardware-only control circuit
US11410259B2 (en) 2017-12-28 2022-08-09 Cilag Gmbh International Adaptive control program updates for surgical devices
US11576677B2 (en) 2017-12-28 2023-02-14 Cilag Gmbh International Method of hub communication, processing, display, and cloud analytics
US11464535B2 (en) 2017-12-28 2022-10-11 Cilag Gmbh International Detection of end effector emersion in liquid
US11969142B2 (en) 2017-12-28 2024-04-30 Cilag Gmbh International Method of compressing tissue within a stapling device and simultaneously displaying the location of the tissue within the jaws
US11324557B2 (en) 2017-12-28 2022-05-10 Cilag Gmbh International Surgical instrument with a sensing array
US11602393B2 (en) 2017-12-28 2023-03-14 Cilag Gmbh International Surgical evacuation sensing and generator control
US11166772B2 (en) 2017-12-28 2021-11-09 Cilag Gmbh International Surgical hub coordination of control and communication of operating room devices
US11013563B2 (en) 2017-12-28 2021-05-25 Ethicon Llc Drive arrangements for robot-assisted surgical platforms
US11937769B2 (en) 2017-12-28 2024-03-26 Cilag Gmbh International Method of hub communication, processing, storage and display
US11832899B2 (en) 2017-12-28 2023-12-05 Cilag Gmbh International Surgical systems with autonomously adjustable control programs
US11844579B2 (en) 2017-12-28 2023-12-19 Cilag Gmbh International Adjustments based on airborne particle properties
US11786251B2 (en) 2017-12-28 2023-10-17 Cilag Gmbh International Method for adaptive control schemes for surgical network control and interaction
US11998193B2 (en) 2017-12-28 2024-06-04 Cilag Gmbh International Method for usage of the shroud as an aspect of sensing or controlling a powered surgical device, and a control algorithm to adjust its default operation
US11678881B2 (en) 2017-12-28 2023-06-20 Cilag Gmbh International Spatial awareness of surgical hubs in operating rooms
US10758310B2 (en) 2017-12-28 2020-09-01 Ethicon Llc Wireless pairing of a surgical device with another device within a sterile surgical field based on the usage and situational awareness of devices
US20190201146A1 (en) 2017-12-28 2019-07-04 Ethicon Llc Safety systems for smart powered surgical stapling
US11304720B2 (en) 2017-12-28 2022-04-19 Cilag Gmbh International Activation of energy devices
US11257589B2 (en) 2017-12-28 2022-02-22 Cilag Gmbh International Real-time analysis of comprehensive cost of all instrumentation used in surgery utilizing data fluidity to track instruments through stocking and in-house processes
US11446052B2 (en) 2017-12-28 2022-09-20 Cilag Gmbh International Variation of radio frequency and ultrasonic power level in cooperation with varying clamp arm pressure to achieve predefined heat flux or power applied to tissue
US11464559B2 (en) 2017-12-28 2022-10-11 Cilag Gmbh International Estimating state of ultrasonic end effector and control system therefor
US11903601B2 (en) 2017-12-28 2024-02-20 Cilag Gmbh International Surgical instrument comprising a plurality of drive systems
US11896322B2 (en) 2017-12-28 2024-02-13 Cilag Gmbh International Sensing the patient position and contact utilizing the mono-polar return pad electrode to provide situational awareness to the hub
US11559307B2 (en) 2017-12-28 2023-01-24 Cilag Gmbh International Method of robotic hub communication, detection, and control
US11832840B2 (en) 2017-12-28 2023-12-05 Cilag Gmbh International Surgical instrument having a flexible circuit
US11659023B2 (en) 2017-12-28 2023-05-23 Cilag Gmbh International Method of hub communication
US11612408B2 (en) 2017-12-28 2023-03-28 Cilag Gmbh International Determining tissue composition via an ultrasonic system
US11540855B2 (en) 2017-12-28 2023-01-03 Cilag Gmbh International Controlling activation of an ultrasonic surgical instrument according to the presence of tissue
US11864728B2 (en) 2017-12-28 2024-01-09 Cilag Gmbh International Characterization of tissue irregularities through the use of mono-chromatic light refractivity
US11317937B2 (en) 2018-03-08 2022-05-03 Cilag Gmbh International Determining the state of an ultrasonic end effector
US11857152B2 (en) 2017-12-28 2024-01-02 Cilag Gmbh International Surgical hub spatial awareness to determine devices in operating theater
US10892995B2 (en) 2017-12-28 2021-01-12 Ethicon Llc Surgical network determination of prioritization of communication, interaction, or processing based on system or device needs
US11896443B2 (en) 2017-12-28 2024-02-13 Cilag Gmbh International Control of a surgical system through a surgical barrier
US11389164B2 (en) 2017-12-28 2022-07-19 Cilag Gmbh International Method of using reinforced flexible circuits with multiple sensors to optimize performance of radio frequency devices
US11311306B2 (en) 2017-12-28 2022-04-26 Cilag Gmbh International Surgical systems for detecting end effector tissue distribution irregularities
US11969216B2 (en) 2017-12-28 2024-04-30 Cilag Gmbh International Surgical network recommendations from real time analysis of procedure variables against a baseline highlighting differences from the optimal solution
US11559308B2 (en) 2017-12-28 2023-01-24 Cilag Gmbh International Method for smart energy device infrastructure
US11304763B2 (en) 2017-12-28 2022-04-19 Cilag Gmbh International Image capturing of the areas outside the abdomen to improve placement and control of a surgical device in use
US11234756B2 (en) 2017-12-28 2022-02-01 Cilag Gmbh International Powered surgical tool with predefined adjustable control algorithm for controlling end effector parameter
US11253315B2 (en) 2017-12-28 2022-02-22 Cilag Gmbh International Increasing radio frequency to create pad-less monopolar loop
US11423007B2 (en) 2017-12-28 2022-08-23 Cilag Gmbh International Adjustment of device control programs based on stratified contextual data in addition to the data
US11771487B2 (en) 2017-12-28 2023-10-03 Cilag Gmbh International Mechanisms for controlling different electromechanical systems of an electrosurgical instrument
US11419630B2 (en) 2017-12-28 2022-08-23 Cilag Gmbh International Surgical system distributed processing
US11109866B2 (en) 2017-12-28 2021-09-07 Cilag Gmbh International Method for circular stapler control algorithm adjustment based on situational awareness
US11132462B2 (en) 2017-12-28 2021-09-28 Cilag Gmbh International Data stripping method to interrogate patient records and create anonymized record
US11308075B2 (en) 2017-12-28 2022-04-19 Cilag Gmbh International Surgical network, instrument, and cloud responses based on validation of received dataset and authentication of its source and integrity
US11202570B2 (en) 2017-12-28 2021-12-21 Cilag Gmbh International Communication hub and storage device for storing parameters and status of a surgical device to be shared with cloud based analytics systems
US11291495B2 (en) 2017-12-28 2022-04-05 Cilag Gmbh International Interruption of energy due to inadvertent capacitive coupling
US11571234B2 (en) 2017-12-28 2023-02-07 Cilag Gmbh International Temperature control of ultrasonic end effector and control system therefor
US11026751B2 (en) 2017-12-28 2021-06-08 Cilag Gmbh International Display of alignment of staple cartridge to prior linear staple line
US11266468B2 (en) 2017-12-28 2022-03-08 Cilag Gmbh International Cooperative utilization of data derived from secondary sources by intelligent surgical hubs
US11818052B2 (en) 2017-12-28 2023-11-14 Cilag Gmbh International Surgical network determination of prioritization of communication, interaction, or processing based on system or device needs
US11304699B2 (en) 2017-12-28 2022-04-19 Cilag Gmbh International Method for adaptive control schemes for surgical network control and interaction
US11432885B2 (en) 2017-12-28 2022-09-06 Cilag Gmbh International Sensing arrangements for robot-assisted surgical platforms
US11633237B2 (en) 2017-12-28 2023-04-25 Cilag Gmbh International Usage and technique analysis of surgeon / staff performance against a baseline to optimize device utilization and performance for both current and future procedures
US11424027B2 (en) 2017-12-28 2022-08-23 Cilag Gmbh International Method for operating surgical instrument systems
US11304745B2 (en) 2017-12-28 2022-04-19 Cilag Gmbh International Surgical evacuation sensing and display
US11529187B2 (en) 2017-12-28 2022-12-20 Cilag Gmbh International Surgical evacuation sensor arrangements
US11284936B2 (en) 2017-12-28 2022-03-29 Cilag Gmbh International Surgical instrument having a flexible electrode
US11786245B2 (en) 2017-12-28 2023-10-17 Cilag Gmbh International Surgical systems with prioritized data transmission capabilities
US11589888B2 (en) 2017-12-28 2023-02-28 Cilag Gmbh International Method for controlling smart energy devices
US11666331B2 (en) 2017-12-28 2023-06-06 Cilag Gmbh International Systems for detecting proximity of surgical end effector to cancerous tissue
US11364075B2 (en) 2017-12-28 2022-06-21 Cilag Gmbh International Radio frequency energy device for delivering combined electrical signals
US11278281B2 (en) 2017-12-28 2022-03-22 Cilag Gmbh International Interactive surgical system
US11419667B2 (en) 2017-12-28 2022-08-23 Cilag Gmbh International Ultrasonic energy device which varies pressure applied by clamp arm to provide threshold control pressure at a cut progression location
US11432890B2 (en) 2018-01-04 2022-09-06 Covidien Lp Systems and assemblies for mounting a surgical accessory to robotic surgical systems, and providing access therethrough
US12004831B2 (en) 2018-02-02 2024-06-11 Covidien Lp Surgical robotic system including synchronous and asynchronous networks and a method employing the same
CA3090594A1 (fr) * 2018-02-02 2019-08-08 Covidien Lp Systeme robotique chirurgical comprenant des reseaux synchrones et asynchrones et procede d'utilisation de celui-ci
US11189379B2 (en) 2018-03-06 2021-11-30 Digital Surgery Limited Methods and systems for using multiple data structures to process surgical data
WO2019173056A1 (fr) 2018-03-08 2019-09-12 Covidien Lp Systèmes robotiques chirurgicaux
US11707293B2 (en) 2018-03-08 2023-07-25 Cilag Gmbh International Ultrasonic sealing algorithm with temperature control
US11259830B2 (en) 2018-03-08 2022-03-01 Cilag Gmbh International Methods for controlling temperature in ultrasonic device
US11701162B2 (en) 2018-03-08 2023-07-18 Cilag Gmbh International Smart blade application for reusable and disposable devices
US11278280B2 (en) 2018-03-28 2022-03-22 Cilag Gmbh International Surgical instrument comprising a jaw closure lockout
US11090047B2 (en) 2018-03-28 2021-08-17 Cilag Gmbh International Surgical instrument comprising an adaptive control system
US11406382B2 (en) 2018-03-28 2022-08-09 Cilag Gmbh International Staple cartridge comprising a lockout key configured to lift a firing member
US11471156B2 (en) 2018-03-28 2022-10-18 Cilag Gmbh International Surgical stapling devices with improved rotary driven closure systems
US11259806B2 (en) 2018-03-28 2022-03-01 Cilag Gmbh International Surgical stapling devices with features for blocking advancement of a camming assembly of an incompatible cartridge installed therein
CN111989065A (zh) 2018-04-20 2020-11-24 柯惠Lp公司 具有立体显示器的机器人手术系统中的观察者移动的补偿
EP3781367A4 (fr) 2018-04-20 2022-04-20 Covidien LP Systèmes et procédés de placement de chariot robotique chirurgical
US10623523B2 (en) * 2018-05-18 2020-04-14 Oracle International Corporation Distributed communication and task handling to facilitate operations of application system
WO2020009830A1 (fr) 2018-07-03 2020-01-09 Covidien Lp Systèmes, procédés et supports lisibles par ordinateur pour détecter une dégradation d'image pendant des interventions chirurgicales
US11923084B2 (en) * 2018-09-07 2024-03-05 Cilag Gmbh International First and second communication protocol arrangement for driving primary and secondary devices through a single port
US11804679B2 (en) 2018-09-07 2023-10-31 Cilag Gmbh International Flexible hand-switch circuit
US20200078118A1 (en) 2018-09-07 2020-03-12 Ethicon Llc Power and communication mitigation arrangement for modular surgical energy system
US11696789B2 (en) 2018-09-07 2023-07-11 Cilag Gmbh International Consolidated user interface for modular energy system
EP3852667A4 (fr) 2018-09-17 2022-06-15 Covidien LP Systèmes robotisés chirurgicaux
US11109746B2 (en) 2018-10-10 2021-09-07 Titan Medical Inc. Instrument insertion system, method, and apparatus for performing medical procedures
GB2593644B (en) * 2018-11-14 2023-09-06 Skywave Networks Llc Communication system and method of using variable-length messages
US11586106B2 (en) 2018-12-28 2023-02-21 Titan Medical Inc. Imaging apparatus having configurable stereoscopic perspective
US11185379B2 (en) * 2019-01-10 2021-11-30 Verily Life Sciences Llc Comprehensive messaging system for robotic surgical systems
US11717355B2 (en) 2019-01-29 2023-08-08 Covidien Lp Drive mechanisms for surgical instruments such as for use in robotic surgical systems
US11576733B2 (en) 2019-02-06 2023-02-14 Covidien Lp Robotic surgical assemblies including electrosurgical instruments having articulatable wrist assemblies
US11484372B2 (en) 2019-02-15 2022-11-01 Covidien Lp Articulation mechanisms for surgical instruments such as for use in robotic surgical systems
US11369377B2 (en) 2019-02-19 2022-06-28 Cilag Gmbh International Surgical stapling assembly with cartridge based retainer configured to unlock a firing lockout
US11317915B2 (en) 2019-02-19 2022-05-03 Cilag Gmbh International Universal cartridge based key feature that unlocks multiple lockout arrangements in different surgical staplers
US11751872B2 (en) 2019-02-19 2023-09-12 Cilag Gmbh International Insertable deactivator element for surgical stapler lockouts
US11298129B2 (en) 2019-02-19 2022-04-12 Cilag Gmbh International Method for providing an authentication lockout in a surgical stapler with a replaceable cartridge
US11357503B2 (en) 2019-02-19 2022-06-14 Cilag Gmbh International Staple cartridge retainers with frangible retention features and methods of using same
US11218822B2 (en) 2019-03-29 2022-01-04 Cilag Gmbh International Audio tone construction for an energy module of a modular energy system
US11318618B2 (en) 2019-04-05 2022-05-03 Verb Surgical Inc. Robotic surgical system and method for handling real-time and non-real-time traffic
USD950728S1 (en) 2019-06-25 2022-05-03 Cilag Gmbh International Surgical staple cartridge
USD952144S1 (en) 2019-06-25 2022-05-17 Cilag Gmbh International Surgical staple cartridge retainer with firing system authentication key
USD964564S1 (en) 2019-06-25 2022-09-20 Cilag Gmbh International Surgical staple cartridge retainer with a closure system authentication key
USD928726S1 (en) 2019-09-05 2021-08-24 Cilag Gmbh International Energy module monopolar port
USD928725S1 (en) 2019-09-05 2021-08-24 Cilag Gmbh International Energy module
USD924139S1 (en) 2019-09-05 2021-07-06 Ethicon Llc Energy module with a backplane connector
USD939545S1 (en) 2019-09-05 2021-12-28 Cilag Gmbh International Display panel or portion thereof with graphical user interface for energy module
USD963851S1 (en) 2020-07-10 2022-09-13 Covidien Lp Port apparatus
CN113300816B (zh) * 2020-07-15 2022-04-12 阿里巴巴集团控股有限公司 节点定位方法、网络传输方法、装置及设备
US11857252B2 (en) 2021-03-30 2024-01-02 Cilag Gmbh International Bezel with light blocking features for modular energy system
US11978554B2 (en) 2021-03-30 2024-05-07 Cilag Gmbh International Radio frequency identification token for wireless surgical instruments
US12004824B2 (en) 2021-03-30 2024-06-11 Cilag Gmbh International Architecture for modular energy system
US11968776B2 (en) 2021-03-30 2024-04-23 Cilag Gmbh International Method for mechanical packaging for modular energy system
US11980411B2 (en) 2021-03-30 2024-05-14 Cilag Gmbh International Header for modular energy system
US11950860B2 (en) 2021-03-30 2024-04-09 Cilag Gmbh International User interface mitigation techniques for modular energy systems
US11963727B2 (en) 2021-03-30 2024-04-23 Cilag Gmbh International Method for system architecture for modular energy system
US11948226B2 (en) 2021-05-28 2024-04-02 Covidien Lp Systems and methods for clinical workspace simulation
WO2023101968A1 (fr) 2021-11-30 2023-06-08 Endoquest Robotics, Inc. Ensembles de surtubes orientables pour les systèmes de chirurgie robotique

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5068851A (en) 1989-08-01 1991-11-26 Digital Equipment Corporation Apparatus and method for documenting faults in computing modules
US6595420B1 (en) * 1990-09-10 2003-07-22 Metrologic Instruments, Inc. Automatically-activated body-wearable laser scanning bar code symbol reading system having data-transmission activation switch
US5762458A (en) * 1996-02-20 1998-06-09 Computer Motion, Inc. Method and apparatus for performing minimally invasive cardiac procedures
EP0733965B1 (fr) 1995-03-23 2001-12-05 Agfa-Gevaert N.V. Traitement parallèle de flux de données de langage de description de page
US6041345A (en) * 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
US6182120B1 (en) * 1997-09-30 2001-01-30 International Business Machines Corporation Method and system for scheduling queued messages based on queue delay and queue priority
US6035228A (en) * 1997-11-28 2000-03-07 Picker International, Inc. Frameless stereotactic arm apparatus and method of using same
US6680944B1 (en) * 1998-03-09 2004-01-20 Sony Corporation Apparatus for and method of predictive time stamping of isochronous data packets transmitted over an IEEE 1394-1995 serial bus network
US6424625B1 (en) 1998-10-28 2002-07-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for discarding packets in a data network having automatic repeat request
US7002988B1 (en) * 1998-12-04 2006-02-21 Tekelec Methods and systems for communicating SS7 messages over packet-based network using transport adapter layer interface
US6021129A (en) * 1999-03-08 2000-02-01 Efficient Networks, Inc. System and method for communicating information from a communications link to a host using a universal serial bus
DE19915846C1 (de) 1999-04-08 2000-08-31 Implex Hear Tech Ag Mindestens teilweise implantierbares System zur Rehabilitation einer Hörstörung
US6760337B1 (en) * 1999-08-17 2004-07-06 Conexant Systems, Inc. Integrated circuit that processes communication packets with scheduler circuitry having multiple priority levels
US6674731B1 (en) 1999-08-27 2004-01-06 Tachyon, Inc. Transmission and reception of TCP/IP data over a wireless communication channel
US7447229B2 (en) * 1999-12-16 2008-11-04 Intel Corporation Method for providing prioritized data movement between endpoints connected by multiple logical channels
US20020080719A1 (en) * 2000-12-22 2002-06-27 Stefan Parkvall Scheduling transmission of data over a transmission channel based on signal quality of a receive channel
US20040196861A1 (en) * 2001-01-12 2004-10-07 Joseph Rinchiuso Packet data transmission within a broad-band communication system
US7388872B2 (en) * 2001-04-06 2008-06-17 Montgomery Jr Charles D Dynamic communication channel allocation method and system
US6728599B2 (en) * 2001-09-07 2004-04-27 Computer Motion, Inc. Modularity system for computer assisted surgery
US20030112758A1 (en) * 2001-12-03 2003-06-19 Pang Jon Laurent Methods and systems for managing variable delays in packet transmission
JP3937855B2 (ja) * 2002-02-06 2007-06-27 日本電気株式会社 マルチリング制御方法およびそれを用いるノード並びに制御プログラム
US8010180B2 (en) * 2002-03-06 2011-08-30 Mako Surgical Corp. Haptic guidance system and method
WO2003083679A1 (fr) * 2002-03-25 2003-10-09 Netli, Inc. Systeme de recuperation rapide de pertes pour des protocoles fiables de communication de donnees
EP1690173A4 (fr) * 2003-11-17 2010-04-21 Roy G Biv Corp Systemes et procedes de traitement de commandes
US7302282B2 (en) * 2003-12-05 2007-11-27 Agilent Technologies, Inc. Communications system for implementation of synchronous, multichannel, galvanically isolated instrumentation devices
US6920586B1 (en) 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
US7440793B2 (en) 2004-07-22 2008-10-21 Sunita Chauhan Apparatus and method for removing abnormal tissue
WO2007070854A2 (fr) * 2005-12-14 2007-06-21 Adtran, Inc. Systemes et procedes permettant de synchroniser un signal d'horloge
US8054752B2 (en) * 2005-12-22 2011-11-08 Intuitive Surgical Operations, Inc. Synchronous data communication
US7756036B2 (en) * 2005-12-22 2010-07-13 Intuitive Surgical Operations, Inc. Synchronous data communication

Also Published As

Publication number Publication date
DE102006059378A1 (de) 2007-09-06
US7757028B2 (en) 2010-07-13
EP1963976B1 (fr) 2015-10-21
EP1963976A2 (fr) 2008-09-03
KR101325022B1 (ko) 2013-11-04
KR20080086503A (ko) 2008-09-25
US20070150631A1 (en) 2007-06-28
WO2007130155A2 (fr) 2007-11-15
EP1963976A4 (fr) 2011-12-21
WO2007130155A3 (fr) 2008-08-14

Similar Documents

Publication Publication Date Title
FR2895618A1 (fr) Systeme, procede et produit programme d'ordinateur pour transmettre des donnees ayant de multiples priorites.
FR2895619A1 (fr) Paquet de donnees, procede et produit programme d'ordinateur pour la transmission synchrone de donnees.
FR2895620A1 (fr) Peocede et produit programme d'ordinateur pour la transmission synchrone de paquets de donnees.
Marx et al. Same standards, different decisions: A study of QUIC and HTTP/3 implementation diversity
JP2007174666A (ja) マルチ優先度メッセージング
EP2119141B1 (fr) Procede de transmission/reception en temps reel de donnees par paquets entre un serveur et un terminal client, serveur et terminal correspondants
EP2885899B1 (fr) Dispositif et procédé de transfert unidirectionnel de données
RU2011108113A (ru) Устройство и способ для формирования протокольного модуля данных мас в системе беспроводной связи
CA2529599C (fr) Procede et appareil permettant d'assurer une connexion en tandem, une surveillance de performance et des architectures de protection sur des protocoles ethernet
US20050083970A1 (en) Apparatus, system and method of transmitting data
JP7034397B2 (ja) 経路冗長化システム、送信側装置、受信側装置、経路冗長化方法、および、経路冗長化プログラム
FR2957736A1 (fr) Procedes et dispositifs de transmission et de reception d'un flux de donnees, avec gestion de retransmission de donnees de parite, produit programme d'ordinateur et moyen de stockage correspondants
FR2921777A1 (fr) Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants.
EP4138365A1 (fr) Procédé de gestion de la livraison de messages dans une infrastructure informatique et infrastructure informatique associée
Marx et al. Quicly now! Go take two pieces of Quiche to Quinn!
JP2016092680A (ja) 配信システム、配信プログラム、および、配信方法
JP2008205797A (ja) データ通信装置およびデータ通信システム
KR20070066868A (ko) 데이터 패킷 전송 방법 및 장치

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20100831