KR101325022B1 - 다중 우선순위 메시징 - Google Patents
다중 우선순위 메시징 Download PDFInfo
- Publication number
- KR101325022B1 KR101325022B1 KR1020087016953A KR20087016953A KR101325022B1 KR 101325022 B1 KR101325022 B1 KR 101325022B1 KR 1020087016953 A KR1020087016953 A KR 1020087016953A KR 20087016953 A KR20087016953 A KR 20087016953A KR 101325022 B1 KR101325022 B1 KR 101325022B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- priority
- priority data
- node
- message
- Prior art date
Links
- 239000000872 buffer Substances 0.000 claims abstract description 111
- 230000005540 biological transmission Effects 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 9
- 230000003319 supportive effect Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 239000000945 filler Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000014121 butter Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0086—Unequal error protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/35—Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25221—Identification of messages and their relative priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1664—Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1671—Details of the supervisory signal the supervisory signal being transmitted together with control information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Robotics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Mechanical Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
제 1 우선순위 데이터 및 제 2 우선순위 데이터를 전송하는 방법, 시스템, 및 컴퓨터 프로그램 제품이 제공된다. 상기 제 1 우선순위 데이터 및 제 2 우선순위 데이터는 별도의 데이터 버퍼에 저장되고, 상기 제 1 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송된다.
로봇 지원 수술 시스템, 프로그래밍 가능한 프로세서, 제 1 데이터 버퍼, 제 2 데이터 버퍼, 데이터 링크, 메시징 프로토콜, 제 1 우선순위 데이터, 전송 로직, 제 2 우선순위 데이터
Description
본 발명은 정보 시스템에 관한 것이다.
특정한 시스템들은 시스템 컴포넌트 사이에 다양한 중요도를 가지는 정보를 전송한다. 보다 중요한 정보는 처리하는 동안 보다 높은 우선순위가 주어질 수 있다. 종래 로봇-지원 수술 시스템에서, 예를 들면 제어 및 피드백 신호는 일반적으로 처리하는 동안 보다 높은 우선순위가 주어진다. 루틴 시스템 상태 메시지와 같은 다른 유형의 신호는 일반적으로 처리하는 동안 보다 낮은 우선순위가 주어진다. 상기 시스템은 일반적으로 낮은 우선순위 신호의 지연에 대해 탄력적이다.
로봇-지원 수술 시스템에 사용되는 하나의 종래 통신 시스템은 로봇 팔로 외과의사의 제어 콘솔을 연결시키기 위한 수백개의 경로(예를 들면 와이어)를 사용한다. 그러나, 수백개의 경로의 사용은 설계시 특정한 신호를 대상으로 한 각 유형의 신호에 대한 전용 경로를 허용한다. 그러나, 상기 수백개의 경로의 사용은 상기 시스템의 셋업과 보수관리를 힘들게하여, 상기 경로 모두를 라우팅하는데에 충분한 빈 공간을 필요로한다.
일 측면에서, 지시를 실행하기 위해 동작하는 프로그래밍 가능한 프로세서와 상기 프로그래밍 가능한 프로세서에 결합된 제 1 데이터 버퍼를 포함하는 시스템이 제공된다. 상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 제 1 우선순위 데이터를 제 1 데이터 버퍼로 전송한다. 상기 제 1 데이터 버퍼는 오직 제 1 우선순위 데이터로만 사용하기 위한 것이다. 제 2 데이터 버퍼는 프로그래밍 가능한 프로세서에 연결되며, 상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 제 2 우선순위 데이터를 제 2 데이터 버퍼로 전송한다. 상기 제 2 데이터 버퍼는 오직 제 2 우선순위 데이터로만 사용하기 위한 것이다. 상기 시스템은 또한 데이터 링크와 상기 제 1 및 제 2 버터와 데이터 링크에 연결된 전송 로직을 포함한다. 상기 전송 로직은 메시징 프로토콜에 따라 데이터 링크를 통해 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송한다.
특정한 구현은 하기의 특징 중 하나 이상을 포함한다.
상기 제 1 우선순위 데이터는 로봇 팔의 움직임을 제어하는 명령어를 포함할 수 있고, 상기 제 2 우선순위 데이터는 적어도 하나의 중요하지 않은 상태 정보와 오류-로그 정보를 포함할 수 있다. 제 3 데이터 버퍼는 상기 프로그래밍 가능한 프로세서로 연결될 수 있다. 상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 제 3 우선순위 데이터를 제 3 데이터 버퍼로 전송하고, 상기 제 3 데이터 버퍼는 오직 제 3 우선순위 데이터로만 사용하기 위한 것이다. 상기 제 1 우선순위 데이터는 높은 우선순위 데이터가 될 수 있고, 제 2 우선순위 데이터는 낮은 우선순위 데이터가 될 수 있으며, 제 3 우선순위 데이터는 중간 우선순위 데이터가 될 수 있다.
메시징 프로토콜은 전송 로직이 제 2 데이터 버퍼로부터의 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 데이터 버퍼로부터의 제 1 우선순위 데이터를 전송하는 것을 요구할 수 있다. 상기 메시징 프로토콜은 전송 로직이 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터에 비해 우선적으로 상기 제 1 데이터 버퍼로부터의 제 1 우선순위 데이터를 전송하는 것을 요구할 수 있다. 상기 메시징 프로토콜은 전송 로직이 제 2 데이터 버퍼로부터의 제 2 우선순위 데이터에 비해 우선적으로 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터를 전송하는 것을 요구할 수 있다. 제 2 우선순위 데이터에 비해 우선적으로 제 1 우선순위 데이터를 전송하는 것은 임의의 가용한 제 2 우선순위 데이터이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 것을 포함할 수 있다. 제 2 우선순위 데이터에 비해 우선적으로 제 1 우선순위 데이터를 전송하는 것은 가용한 제 2 우선순위 데이터에 비해 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 것을 포함할 수 있다. 상기 프로그래밍 가능한 프로세서는 전송 로직을 포함할 수 있다.
또다른 측면에서, 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 생성하는 것을 포함하는 방법 및 컴퓨터 프로그램 제품이 제공된다. 상기 제 1 우선순위 데이터는 제 1 데이터 버퍼에 배치되며, 상기 제 1 데이터 버퍼는 제 1 우선순위 데이터로만 사용된다. 상기 제 2 우선순위 데이터는 제 2 데이터 버퍼에 배치되며, 상기 제 2 데이터 버퍼는 제 2 우선순위 데이터로만 사용된다. 상기 제 1 우선순위 데이터와 제 2 우선순위 데이터는 데이터 링크를 통해 제 1 및 제 2 데이터 버퍼로부터 전송된다. 상기 제 1 우선순위 데이터는 제 2 우선순위 데이터에 비해 우선적으로 전송된다.
특정한 구현이 하기의 특징 중 하나 이상을 포함한다.
제 3 우선순위 데이터가 생성될 수 있고, 여기서 제 1 우선순위 데이터는 높은 우선순위 데이터이고, 제 2 우선순위 데이터는 낮은 우선순위 데이터이고, 제 3 우선순위 데이터는 중간 우선순위 데이터이다. 상기 제 3 우선순위 데이터는 제 3 데이터 버퍼에 배치되며, 상기 제 3 데이터 버퍼는 제 3 우선순위 데이터로만 사용된다. 상기 제 3 우선순위 데이터는 데이터 링크를 통해 제 3 데이터 버퍼로부터 전송된다. 상기 제 1 우선순위 데이터는 제 3 우선순위 데이터에 비해 우선적으로 전송되고, 제 3 우선순위 데이터는 제 2 우선순위 데이터에 비해 우선적으로 전송될 수 있다. 메시징 프로토콜은 식별될 수 있고, 전송은 메시징 프로토콜에 따라 우선적으로 전송하는 것을 포함할 수 있다. 제 2 우선순위 데이터에 비해 우선적으로 제 1 우선순위 데이터를 전송하는 것은 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 것을 포함할 수 있다. 제 2 우선순위 데이터에 비해 우선적으로 제 1 우선순위 데이터를 전송하는 것은 가용한 제 2 우선순위 데이터에 비해 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 것을 포함할 수 있다. 상기 제 1 우선순위 데이터는 시간 제한이 있는 메시지를 포함할 수 있다. 상기 제 2 우선순위 데이터는 적어도 하나의 중요하지 않은 상태 정보와 오류-로그 정보를 포함할 수 있다.
하기의 하나 이상의 이점을 실현하기 위해 특정한 실시예가 구현될 수 있다. 상이한 우선순위 레벨에 할당된 다중 독립적인 데이터 스트림이 포인트-투-포인트 직렬 연결을 이용하여 시스템을 통해 전송될 수 있다. 동일한 메시징 프로토콜이 시스템에서 상이한 유형과 속도를 가진 다중 통신 링크에 대해 사용될 수 있다.
본 발명의 하나 이상의 실시예의 상세한 사항은 첨부한 도면과 하기의 설명에서 기술된다. 본 발명의 기타 특징, 측면 및 이점은 상기 설명, 도면, 및 청구범위로부터 명료해질 것이다.
도 1A는 링크에 의해 연결된 다수의 노드를 포함하는 시스템의 블록도,
도 1B는 단일 노드의 블록도,
도 1C는 노드에서 수행되는 전송 프로세스의 플로우 차트,
도 2는 하드웨어 레벨 데이터 패킷의 구조의 다이어그램,
도 3은 노드 사이의 패킷 전송의 타이밍 다이어그램,
도 4는 오류 복구 시나리오의 타이밍 다이어그램,
도 5는 오류 복구 시나리오의 타이밍 다이어그램,
도 6은 노드에서 실행되는 프로세스의 플로우 차트,
도 7은 메시지 구조의 다이어그램,
도 8은 메시지 구조의 다이어그램이다.
다양한 도면에서 동일한 참조 번호와 지시는 동일한 엘리먼트를 가리킨다.
상이한 우선순위를 가진 메시지가 2 개의 시스템 노드 사이의 단일 시리얼 경로를 통해 전송되는 것을 허용하는, 시스템에서 데이터 메시지를 통신하는 방법 및 아키텍처(데이터 구조를 포함)가 기술된다. 노드는 예를 들면, 컴퓨터, 프로그래밍 가능한 프로세서, 필드-프로그래밍 가능한 게이트 어레이(FPGA), 또는 기타 데이터 처리 장치를 포함할 수 있다. 상기 데이터 메시지(예를 들면 소프트웨어 메시지)는 임의의 적절한 링크 레이어를 이용하여 전송될 수 있다. 본 출원에서, 2 개 노드 사이의 풀-듀플렉스 시리얼 데이터의 거의 연속한 스트림을 전송하는 구현이 기술된다. 상기 데이터 메시지는 하나 이상의 세그먼트로 분할되며, 이들 각각은 고정된 길이의 하드웨어 패킷으로 전송된다. 상기 데이터 메시지는 일반적으로 본 출원에서 "메시지"라고 간단하게 칭한다.
고정된 길이의 패킷이 메시지 데이터가 전송에 가용한지 여부에 관계없이 2 개의 노드 사이에 계속해서 전송된다. 전송에 가용한 데이터가 없을 때, 상기 패킷의 데이터 필드는 수신 노드에서 폐기될 수 있는 "필러" 데이터로 채워질 수 있다. 상기 전송된 패킷은 이전에 수신된 패킷의 수신 확인을 포함하고, 송신 노드는 제 1 패킷을 전송하고 상기 수신 노드로부터의 제 1 패킷의 수신확인을 수신하기 전에 적어도 하나의 연속한 패킷을 전송하기 시작한다. 노드에서의 상기 패킷의 송수신은 상호연동되며, 하기에 보다 상세히 기술된다.
도 1A에 도시된 바와 같이, 제 1 노드(110)로부터의 메시지 데이터는 시리얼 링크상에 데이터를 멀티플렉싱함으로써 예를 들면, 제 2 노드(120), 제 3 노드(130), 및 제 4 노드(140)와 같은 다중 행선지 노드로 전송될 수 있다. 상기 제 1 노드(110) 및 특정한 행선지 노드 사이의 노드는 데이터를 라우팅할 수 있다. 상기 제 1 노드(110)는 제 1 링크(125)를 통해 제 2 노드(120)에 대해 데이터를 전 송한다. 상기 제 1 노드(110)는 또한 제 1 링크(125)를 통해 제 2 노드(120)로 제 3 노드(130)에 대해 데이터를 전송하고, 상기 제 2 노드(120)는 상기 제 3 노드(130)로 제 2 링크(135)를 통해 데이터를 라우팅할 수 있다. 유사하게, 상기 제 1 노드(110)는 제 1 링크(125)를 통해 제 4 노드(140)에 대해 데이터를 전송하고, 상기 제 2 노드(120)는 제 3 링크(145)를 통해 제 4 노드(140)로 데이터를 라우팅할 수 있다.
상기 행선지 노드의 행선지는, 일 구현에서, 전송되는 메시지 데이터로 핸들링될 수 있다. 본 구현에서, 상기 제 2 노드(120)는 일반적으로 상기 행선지 노드로의 메시지의 부분을 구비하는 하드웨어 레벨 패킷을 전송하기 전에 상기 제 1 노드(110)로부터 전송된 메시지의 적어도 일부를 처리한다. 상기 제 2 노드(120)가 그 자체로 행선지 노드라면, 상기 메시지는 더이상 전송될 필요가 없다.
일부 시스템에서, 상기 제 1 노드(110)와 제 3 노드(130), 및 제 4 노드 사이의 통신은 상기 제 3 노드와 제 4 노드 사이의 통신이 발생하는 것 보다 더 자주 발생한다. 이러한 시스템에서, 상기 제 1 링크(125)는 상기 제 1 링크(125)를 통해 통과하는 더 큰 데이터의 체적에 대해 충분한 용량을 제공하기 위해 제 2 링크(135) 또는 제 3 링크(145) 보다 더 고속의 링크가 될 수 있다.
상기 노드(110, 120, 130, 및 140)는, 상기 각각의 노드 또는 각각의 노드와 통신하는 데이터 처리 장치에서 실행하는 소프트웨어가 메시지를 수신하기에 준비가 될 때까지 메시지를 수신하고 상기 메시지를 유지하는 하나 이상의 하드웨어 데이터 버퍼(152-164)를 포함할 수 있다. 상기 하드웨어 데이터 버퍼(152-164)는 또 한 상기 각각의 노드에 연관된 소프트웨어 애플리케이션으로부터 메시지를 수신하고 상기 노드가 메시지를 전송하기에 준비가 될 때까지 상기 메시지를 유지할 수 있다.
도 1B에 도시된 바와 같이, 노드(170)의 일구현은 메시지 매니저(174), 송/수신 로직(178), 전송 버퍼(182), 및 수신 버퍼(184)를 포함한다. 상기 전송 버퍼(182)와 수신 버퍼(184)는 각각 하기에 기술되는 바와 같이, 상이한 우선순위의 메시지에 대해 지정되는 부분으로 분할된다(예를 들면 개별 전송 버퍼(182-1, 2, 3)와 수신 버퍼(184-1, 2, 3)를 각각 생성). 일 구현에서, 복수의 전송 버퍼(182)는 각각의 우선순위 레벨에 대해 하나 이상 제공된다. 하기의 논의의 목적으로, 복수의 전송 및 수신 버퍼를 포함하는 구현을 참조한다. 다른 구성도 가능하다. 각각의 버퍼는 메시지 매니저(174)와 송/수신 로직(178)이 바이트를 임의의 버퍼에 배치하거나 또는 다른 버퍼에 독립적으로 임의의 버퍼로부터 판독할 수 있도록 개별적으로 어드레스로 불러낼 수 있다.
상기 메시지 매니저(174)는 메시지 또는 메시지의 일부를 임의의 전송 버퍼(182-1, 2, 3)로 배치할 수 있다. 일 구현에서, 상기 메시지 매니저(174)는 높은 우선순위 메시지를 높은 우선순위 전송 버퍼(182-1)로, 중간 우선순위 메시지를 중간 우선순위 전송 버퍼(182-2)로, 그리고 낮은 우선순위 메시지를 낮은 우선순위 전송 버퍼(182-3)로 배치할 수 있다. 3 개의 우선순위 레벨이 본 예에서 도시되었지만, 더 적은(예를 들면 2) 또는 더 많은 우선순위 레벨이 시스템에 의해 할당되거나 또는 처리될 수 있다.
송/수신 로직(178)은 메시징 프로토콜에 따라 시리얼 링크(186)를 통해 전송 버퍼(182)로부터 메시지 또는 메시지의 일부를 전송한다. 상기 메시징 프로토콜은 각각의 노드 사이에 통신 채널을 생성하는 상이한 우선순위 레벨의 메시지를 위한 미리 지정된 품질의 서비스(메시지가 할당되는 버퍼에 기초하여)를 제공할 수 있다. 일 구현에서, 각각의 채널은 상이한 우선순위 레벨을 가진다. 상기 송/수신 로직(178)은 충분한 데이터가 하드웨어 레벨 패킷을 채우기 위해 버퍼로 기록될 때 메시지의 일부를 자동으로 전송할 수 있다. 즉, 메시지 전송은 데이터가 가용하게 되고, 전체 메시지가 버퍼에 기록될 때까지 대기할 필요가 없을때 수행될 수 있다.
상기 메시징 프로토콜은 선택가능한 품질의 서비스를(예를 들면 사용자에게 또는 정해진) 제공하기 위해 구현될 수 있다. 일 구현에서, 상이한 우선순위를 가진 메시지가 전송에 가용할 때(예를 들면 메시지가 높고 중간의 우선순위 전송 버퍼(182-1 및 182-2)에 있을 때), 송/수신 로직(178)은 다른 더 낮은 우선순위 메시지에 비해 우선적으로 가장 높은 우선순위의 메시지 또는 메시지의 일부를 전송한다. 예를 들면, 송/수신 로직(178)은 중간 우선순위(182-2) 또는 낮은 우선순위(182-3) 전송 버퍼로부터의 메시지 또는 메시지의 일부가 전송되기 전에 높은 우선순위 전송 버퍼(182-1)로부터의 메시지를 전송한다. 유사하게, 낮은 우선순위 전송 버퍼(182-3)에 저장된 메시 이전에 상기 중간 우선순위 전송 버퍼(182-2)로부터 메시지 또는 메시지의 일부가 전송된다.
또다른 구현에서, 송/수신 로직(178)은 메시지를 멀티플렉싱하는 메시징 프로토콜을 구현할 수 있다. 본 구현에서, 상기 송/수신 로직(178)은 노드 사이의 전송을 위한 슬롯을 정의한다. 상기 슬롯은 미리 지정된 서비스 품질에 따라 채워질 수 있다. 예를 들면, 높은 우선순위 전송 버퍼(182-1)에서의 가용한 메시지 또는 메시지의 일부는 중간 우선순위(182-2) 또는 낮은 우선순위(182-1) 전송 버퍼에서의 가용한 메시지 또는 메시지의 일부보다 더 많은 전송 슬롯이 할당된다.
또다른 구현에서, 송/수신 로직(178)은 라운드로빈 방식으로 전송 버퍼(182)에서 가용한 메시지 또는 메시지의 일부를 서비스하는(예를 들면 전송하는) 메시징 프로토콜을 구현하지만, 중간 우선순위 버퍼(예를 들면 2) 또는 낮은 우선순위 버퍼(예를 들면 1) 보다 높은 우선순위 전송 버퍼(예를 들면 4)가 더 제공된다.
송/수신 로직(178)은 또한 시리얼 링크(186)로부터 메시지 및 메시지의 일부를 수신하고, 상기 메시지 또는 메시지의 일부를 수신 버퍼(184)에서의 적절한 버퍼에 배치한다. 상기 송/수신 로직(178)은 주어진 메시지 또는 그의 일부가 속한 것이 어떤 우선순위 레벨인지를 판정하기 위해 시리얼 링크(186)(하기에 논의)를 통해 전송되는 하드웨어 레벨 패킷에서의 채널의 지시를 이용한다. 일 구현에서, 송/수신 로직(178)은 수신된 메시지를 메시지 매니저(174)로 보내고, 상기 수신 버퍼(184)는 사용되지 않는다. 또다른 구현에서, 수신된 메시지는 수신 버퍼(184)에서의 우선순위에 따라 분리되지 않는다.
상기 메시지 매니저(174)와 송/수신 로직(178)은 각각 컴퓨터, 프로그래밍 가능한 프로세서, FPGA, 엔진, 또는 기타 데이터 처리 장치가 될 수 있다. 메시지 매니저(174) 및 송/수신 로직(178)이 개별 컴포넌트로서 예시되지 않았지만, 그것들은 단일 컴포넌트로 조합될 수 있다. 송/수신 로직(178)은 또한 개별 전송 로직 및 수신 로직 엘리먼트로 분할될 수 있다.
전송 버퍼(182) 및 수신 버퍼(184)는 선입선출(FIFO) 데이터 버퍼 또는 판독 및 기록 포인터를 가진 순환 버퍼가 될 수 있다. 전송 버퍼(182) 및 수신 버퍼(184)는 각각 개별 디바이스(예를 들면 개별 집적회로) 상에서 구현되거나 또는 단일 디바이스의 일부에서 구현될 수 있다. 일 구현에서, 버퍼를 포함하는 노드(170)의 모든 컴포넌트는 단일 FPGA에서 구현된다.
도 1C는 상이한 우선순위를 가진 메시지를 전송하는 프로세스(102)를 도시한다. 본 예시에서, 3 개의 메시지 우선순위가 포함되는데: 높은, 중간, 낮은 우선순위 메시지이다. 최초 단계로서, 전송할 메시지가 식별되고 타이핑된다(단계(190))(예를 들면 도 1B에서의 메시지 매니저(174) 상에서 실행하는 소프트웨어에 의해). 상기 메시지는 유형에 따라 각각의 전송 버퍼에 배치되는데, 높은 우선순위 전송 버퍼에는 높은 우선순위 메시지, 중간 우선순위 버퍼에는 중간 우선순위 메시지, 낮은 우선순위 버퍼에는 낮은 우선순위 메시지가 배치된다(단계(192)). 메시징 프로토콜이 식별된다(예를 들면 송/수신 로직(178)은 각각의 유형의 메시지에 대한 서비스 품질을 판정한다(단계(193))). 상기 메시지는 그런다음 상기 식별된 메시지 프로토콜에 따라 (예를 들면 송/수신 로직(178)에 의해) 전송된다(예를 들면, 높은 우선순위 메시지는 중간- 및 낮은 우선순위 메시지에 비해 우선적으로 전송되고(단계(194)), 중간 우선순위 메시지는 낮은 우선순위 메시지에 비해 우선적으로 전송된다(단계(196)). 메시지가 우선적으로 전송될 수 있는 가능한 방식들이 송/수신 로직(178)에 대해 상술되었다.
도 2에 도시된 바와 같이, 일 구현의 고정된 길이 패킷(200)은 다중 바이트(201-240)를 포함할 수 있다. 40 바이트 패킷이 도시되었지만, 고정된 길이의 패킷은 다른 길이가 될 수 있다. 도시된 구현에서, 제어 정보는 상기 40 바이트의 8에 배치되고, 데이터는 나머지 32 바이트에 배치된다. 상기 제 1 바이트(201)는 상기 패킷을 수신하는 노드에서의 바이트 프레이밍을 관리하는 데에 사용될 수 있는 동기화 필드이다. 추가적인 동기화 바이트는 노드 사이의 클록 드리프트를 보상하기 위해 패킷에 주기적으로 추가될 수 있다(예를 들면, 128 패킷 마다 한번 씩). 제 2 바이트(202)는 노드 전송 패킷(200)에 의해 수신된 마지막 패킷이 정확하게 수신되었는지 여부를 지시하는 수신확인 필드(예를 들면, 유효한 오류-체크 정보를 포함하는)이다. 제 2 바이트(202)는 마지막 패킷이 정확하게 수신된 수신확인(ACK)을 지시하는 하나의 값(예를 들면, 0xAC)과 마지막 패킷이 정확하게 수신되지 않은 것(비수신확인, 또는 NAK)을 지시하는 역의 값(예를 들면 0x53)으로 설정될 수 있다. 일 구현에서, 상기 수신확인 값이 아닌 다른 값은 비수신확인 값으로 번역될 수 있다. 본 구현에서, 상기 NAK 값이 ACK 값의 역이라면, 8-비트 오류는 전송된 NAK를 ACK로 변환하는 데에 필요하다.
제 3 바이트(203)는 시스템이 다중 메시지 채널(예를 들면, 저-, 중간-, 고 우선순위 채널)의 각각에 대해 XOFF 비트와 진단 테스트 모드에 있는 것을 지시하는 테스트 모드 비트와 같은, 다중 제어 비트를 구비하는 응답 필드이다. 상기 제어 비트는 또한 설정시 상기 패킷(200)이 보다 이전의 패킷의 재전송임을 지시하는 재전송 비트를 포함할 수 있다. 하나 이상의 제어비트는 또한 시스템에 오류가 발 생했음을 지시하는 장애 비트가 될 수 있다.
제 4 바이트(204)는 헤더 필드이다. 상기 헤더 필드는 채널-선택 서브필드와 명령어 서브필드와 같은 다중 서브필드를 포함할 수 있다. 상기 채널-선택 서브필드는 패킷(200)에서의 데이터가 전송되는 것이 어떠한 우선순위 채널인지를 지시하는 데에 사용된다. 상기 명령어 서브필드는 버퍼를 플러시하고 메시지 스트림을 재시작하는 지시를 포함할 수 있다. 상기 명령어 서브 필드는 특정한 데이터가 하드웨어 채널을 통해 전송되는 것을 요청하는 지시나 또는 상기 데이터를 식별하는 코드를 포함할 수 있다. 상기 명령어 서브 필드는 또한 상기 시스템을 동기화하는 데에 사용될 수 있다. 예를 들면, 동기화 사이클의 시작시에, 동기화 명령을 포함하는 패킷이 전송되어, 상기 시스템 내의 서브시스템이 동기화를 유지관리할 수 있도록 한다(예를 들면 10 마이크로초 내에서). 제 5 바이트(205)는 전송 오류를 검지하기 위해 수신 노드에 의해 사용될 수 있는 하드웨어 레벨 패킷의 시퀀스 번호를 구비하는 시퀀스 번호 필드이다. 제 6 바이트(206) 내지 37번째 바이트(237)는 메시지 또는 메시지 부분과 같은 32 바이트의 데이터를 유지하는 데이터 필드에 속한다.
38번째 바이트(238)는 데이터 필드에서 얼마나 많은 바이트가 메시지에 대응하고 얼마나 많은 바이트가 필러 바이트에 대응하는 지를 지정할 수 있는 패킷 엔드의 필드이다. 상기 패킷 엔드의 필드는 또한 데이터 필드에서 바이트가 메시지를 언제 종료하는지 설정되는 메시지 끝단의 지시자 비트를 포함할 수 있다. 상기 메시지 끝단의 지시자 비트는 수신 노드에서 인터럽트를 트리거할 수 있다. 39번 째 바이트(239) 및 40번째 바이트(240)는 일 구현에서 16 비트 CRC 값(예를 들면 CCITT 16비트 CRC 알고리즘을 이용하여 연산된)을 구비하는 오류 체크 필드의 일부이다. 노드가 패킷을 수신할 때, 상기 노드는 상기 패킷이 전송되거나 수신될 때 오류가 발생했었는지를 판정하기 위해 오류 체크 필드를 이용할 수 있다.
패킷(200)의 구조는 노드에서의 장애를 지시하는 장애반응 로직(FRL) 신호가 다중 방식으로 통신되도록 한다. 예를 들면 FRL 신호는 패킷 제어 정보(예를 들면 패킷(200)의 응답 필드의 제어 비트로) 및/또는 메시지로 전송될 수 있다. 직접적으로 패킷 제어 정보로 FRL 신호를 전송하는 것은 전 시스템에 걸쳐 매우 빠르게 장애 정보가 전송되고 매우 낮은 레벨에서 핸들링되도록 한다. 전 시스템에 걸친 장애 신호는 소프트웨어의 개입없이 전달될 수 있고, 장애 반응 하드웨어는 장애 신호가 수신될 때 상기 시스템을 안전 상태로 놓는다. 장애를 야기한 문제가 해결되면(예를 들면 인간 오퍼레이터의 개입에 의해), 장애 신호는 클리어될 수 있고, 상기 시스템은 동작 상태로 리턴할 수 있다. 장애 신호가 클리어되면, 상기 장애를 지시하는 FRL 신호는 일반적으로 다른 장애가 발생할 때까지 패킷 제어 정보로 전송되지 않는다. 여분의 FRL 신호가 높은, 중간 우선순위 메시지로 전송될 수 있다.
상술한 하드웨어 패킷 구조는 메시지가 단일 채널 또는 시리얼 링크 상에서 멀티플렉싱되는 다중 채널로 전송될 수 있도록 한다. 특정한 메시지가 전송되는 채널은 패킷(200)에서의 채널 선택 서브필드에 의해 지시된다. 시간 제한이 있는 메시지는 높은 우선순위 채널로 전송될 수 있지만, 상대적으로 중요하지 않은 메시 지는 낮은 우선순위 채널로 전송될 수 있다.
상이한 우선순위 레벨을 가지는 메시지를 전송하는 시스템의 예는 로봇-지원 수술 시스템이 있다. 이러한 시스템은 그 일부가 환자의 내부에 있는 외과 수술 기구 또는 디바이스(예를 들면, 복강경, 내시경, 조명, 카메라, 취입기 등)를 유지하는 다중 로봇 팔을 포함할 수 있다. 상기 로봇 팔은 일반적으로 제어 콘솔에서 앉아있는 외과의사에 의해 원격으로 조정된다. 외과의사가 운영하는 컨트롤과 로봇 팔을 제어하는 노드 사이의 통신은 본 개시물에 기술된 방법, 시스템, 및 장치를 이용할 수 있다. 로봇 팔의 움직임을 제어하기 위한 외과의사로부터의 명령어는 일반적으로 높은 우선순위 채널로 전송되어, 명령의 배포와 그 결과인 움직임 사이에서 지연이 최소화되도록 할 수 있다. 로봇 팔로부터의 반응(예를 들면, 팔에서의 센서로부터의 상기 팔의 실제 움직임의 측정)은 또한 상기 명령어에 대한 팔의 반응 상의 빠른 피드백을 허용하도록 높은 우선순위 채널로 전송될 수 있다. 중요하지 않은 상태 정보 및 오류-로그 정보와 같은 비동기 시스템 메시지는 중간, 또는 낮은 우선순위 채널로 전송될 수 있다.
제 3 바이트(203)에서의 XOFF 비트는 채널에서의 데이터 흐름을 제어한다. 각 노드는 다중 채널 중 각각의 하나로 전송된 메시지를 수신하는 다중 하드웨어 버퍼를 포함할 수 있다. 예를 들면, 높은 순위 메시지는 높은 순위 버퍼에 저장되고, 낮은 순위 메시지는 낮은 순위 버퍼에 저장된다. 패킷(200)을 전송하는 제 1 노드가 XOFF 비트를 패킷(200)에서 설정할 때, 상기 제 1 노드는 각각의 데이터 채널 상으로의 제 1 노드로의 데이터 전송을 중단시키도록 상기 패킷(200)을 수신하 는 제 2 노드에 지시한다. 예를 들면 제 1 노드가 그 데이터 채널로부터의 메시지를 배치하는 버퍼가 모두 채워졌을 때, 상기 제 1 노드의 하드웨어는 자동으로 데이터 채널에 대해 XOFF 비트를 설정할 수 있다. 일 구현에서, 노드가 주어진 채널에 대해 XOFF 비트를 설정할 때에 대한 임계값은 노드에서의 각각의 채널의 수신 버퍼(예를 들면 512워드)에서 32 워드(4 패킷)를 뺀 크기와 동일하게 설정된다. 상기 32 워드 마진은 수신을 위한 수신 노드 시간을 제공하고, 오류에 대한 마진을 가진 XOFF 신호에서 작동한다. 다른 임계 레벨도 가능하다. 상기 제 1 노드의 하드웨어는 또한 다수(예를 들면 12)의 메시지가 수신 버퍼에 있을 때, 데이터 채널에 대해 XOFF 비트를 설정할 수 있다. 상기 하드웨어는, 패킷 또는 메시지가 버퍼로부터 제거되면, 데이터 채널에 대해 XOFF 비트를 자동으로 클리어할 수 있다. 각 우선순위 채널은 노드에서 각각의 수신 버퍼를 구비할 수 있다. 상기 XOFF 비트는 모든 패킷에서 전송되기 때문에, 상기 오류-체크 필드는 XOFF 비트에 적용하고 상기 XOFF 비트의 손상에 대해 보호한다.
통신의 다중 채널은 상술한 채널-선택 서브 필드를 이용하여 링크 레이어에서 가용하게 될 수 있다. 예를 들면, 하드웨어 채널과 높은, 중간, 및 낮은 우선순위 채널이 구현될 수 있다. 메시지는 길이가 변할 수 있고(예를 들면 3 내지 128 워드), 상기 메시지의 길이에 따라 하나 이상의 패킷으로 전송될 수 있다. 시스템 하드웨어는 전송 노드에서의 다중 패킷으로 메시지를 단편화(fragment)하고, 상기 메시지를 수신 노드에서 단편화를 제거(defragment)할 수 있다. 메시지가 패킷의 데이터 부분을 채우지 못한다면, 필러 데이터가 데이터 부분의 나머지 부분으 로 삽입될 수 있다. 메시지에 대한 송수신 버퍼가 하드웨어로 구현될 수 있다. 예를 들면, 노드는 각 채널(예를 들면, 고, 중간, 낮은 우선순위 채널)에 대한 하드웨어 송수신 버퍼를 포함할 수 있다. 일 구현에서, 채널에 대한 송수신 버퍼는 1.5배의 최대 메시지 크기이다.
도 3은 도 2에 관해 상술된 것과 같은 패킷을 이용한 2 개의 노드 사이의 통신에 대한 개념적인 타이밍 다이어그램을 도시한다. 패킷(301-304)은 제 1 노드에서 제 2 노드로 순차적으로 전송된다. 전송 오류가 발생한다면 패킷(311-314)이 각각의 패킷(301-304)의 손상된 버전이 될지라도, 패킷(311-314)은 제 2 노드에서 수신되고, 상기 패킷(301-304)에 대응된다. 상기 패킷(311-314)의 수신은 링크를 따라 패킷의 한정된 전파 시간 때문에, 상기 패킷(301-304)의 전송에 비해 시간상으로 지연된다. 도 3에 도시된 예에서, 상기 패킷의 전파 시간은 패킷의 듀레이션(패킷을 전송하기 위해 상기 제 1 노드에 의해 필요한 시간의 양) 이하이다.
제 2 노드는 패킷(355-358)을 제 1 노드로 전송한다. 패킷(365-368)은 지연후에 제 1 노드에서 수신되고, 상기 패킷(355-368)에 대응한다. 상기 패킷(356)은 패킷(301)에 적용하는 수신확인 필드를 포함한다. 패킷(311)(패킷(301)에 대응하는)이 제 2 노드에서 정확하게 수신되었다면, 상기 패킷(356)은 패킷(301)에 대한 ACK를 포함한다. 패킷(311)이 정확하게 수신되지 않았다면, 패킷(356)은 NAK를 포함한다. 상기 패킷(357)은 패킷(302)에 대응하는 수신확인 필드를 포함한다. 유사하게, 패킷(303)은 패킷(365)이 제 1 노드에서 정확하게 수신되었는지 여부를 지시하는 수신확인 필드를 포함하고, 상기 패킷(304)은 패킷(366)에 대한 수신확인 필드를 포함한다.
일 구현에서, 제 2 노드는 제 1 수신확인 필드가 제 1 노드로부터 수신될 때까지 패킷 전송을 시작하지 않는다. 예를 들면, 제 2 노드가 패킷(311)에서 수신확인 필드를 수신할 때까지 상기 제 2 노드는 패킷(355) 전송을 시작하지 않는다. 제 1 노드와 제 2 노드 사이의 최초 동기화를 촉진하기 위해, 2 개의 노드는 상기 제 1 노드가 패킷(301)을 전송하기 전에 서로간에 다수의 시퀀스 동기화 바이트를 전송할 수 있다.
도 3은 제 1 노드와 제 2 노드 사이에 2- 패킷 "파이프라인"이 있는 경우를 도시한다. 상기 패킷(356)은 패킷(301)에 대해 수신확인 필드를 포함한다. 상기 수신확인 필드가 ACK를 포함한다면, 제 1 노드는 패킷(303)을 전송한다. 그러나, 패킷(356)의 수신확인 필드가 NAK를 포함한다면, 제 1 노드는 패킷(301, 302)을 리프레이밍하고 재전송할 수 있다. 상기 구현에서, 2 개의 패킷은 NAK가 상기 시스템의 재동기화를 위해 2 개의 패킷 중 첫번째 것에 대해 수신될 때 재전송된다. 상기 2 개 패킷 중 첫번째 것이 정확하게 수신되지 않으면, 상기 제 2 패킷은 그것이 전송된 첫번째에 상기 제 2 패킷이 정확하게 수신되었는지를 체크하지 않고서 재전송될 수 있다. 제 1 패킷에서의 오류가 상기 2 개 노드 사이의 동기화의 손실에 기인한 경우에, 상기 제 2 패킷은 오류를 포함하는 경향이 있으며, 그에 따라 상기 제 2 패킷은 우선적으로 재전송된다. NAK를 전송한 노드는 또한 상기 NAK를 전송하기 전에 그것이 전송한 마지막 2 개의 패킷을 재전송한다. 도 3은, 수신확인 필드가 또다른 패킷이 전송된 후에만 주어진 패킷에 대해 수신되기 때문에, 상 기 제 1 노드와 제 2 노드 사이에 2-패킷 파이프라인을 구비하는 것으로 기술된다. 상기 제 1 노드와 제 2 노드 사이의 라운드-트립 시간은 하나의 패킷을 전송하기 위해 필요한 시간 이하로, 즉, 상기 제 1 노드는, 상기 제 1 노드가 상기 패킷(301)의 전송을 완료하기 전에 상기 패킷(365)의 수신을 시작한다. 상기 라운드-트립 시간은 일반적으로 링크로의 전파 지연과 노드에서의 처리 시간에 따른다. 더 긴 라운드-트립 시간(절대 시간 또는 패킷 듀레이션에 대해 상대적인 시간)이 시스템에서 사용될 수 있고, 2 개의 패킷 보다 더 깊은 파이프 라인을 야기할 수 있다.
패킷은, 상기 패킷의 데이터 필드에 배치되는 메시지가 있는 지 여부에 관계없이, 상기 제 1 노드와 제 2 노드 사이에 거의 연속적으로 전송된다. 상기 패킷은 도 3에 도시된 바와 같은 상호연동되는 방식으로 전송된다. 고정된 길이의 패킷의 상호연동된 전송은 노드에서 수신된 패킷과 노드에 의해 전송되는 패킷 사이의 고정된 위상 오프셋을 야기한다. 상기 노드는, 이전에 전송된 패킷의 전송후의 미리 정해진 시간에, 이전에 전송된 패킷의 오류-없는 수신의 수신확인을 포함하는 원격 노드로부터의 패킷을 수신한다. 상호연동된 패킷의 연속한 전송은 고 대역폭에 대해, 노드 사이의 정확한 동기화로 낮은-대기 시간의 통신을 하도록 한다. 추가로, 패킷의 연속한 전송은 상기 시스템으로 하여금 정확하게 그리고 거의 연속하여 노드 사이의 연결의 비트 오류 비율(BER)을 연산하도록 한다.
도 4에 도시된 바와 같이, 상기 제 2 노드가 제 1 노드로부터 패킷(411)을 수신하고 패킷(411)에서의 데이터가 손상되도록 하는 전송 오류가 발생하였는지를 판정할 때, 상기 제 2 노드는 패킷 전송을 완료하고, 다음 패킷을 전송하는 대신에 제 1 노드로 NAK와 리프레이밍 시퀀스(456)를 전송한다. 패킷(411)이 손상되는 하나의 이유는 제 1 노드와 제 2 노드 사이의 동기화가 감소되거나 또는 손상되는 것이기 때문에, 리프레이밍 시퀀스(456)는 제 1 노드와 제 2 노드 사이의 동기화를 재구축하기 위해 전송된다. 상기 리프레이밍 시퀀스는 동기화 필드와 링크 필드가 교대로 나타나는 것으로 구성될 수 있으며, 여기서 링크 필드는 0xA3와 같은 미리정해진 코드가 될 수 있다. 일 구현에서, 4 개의 링크 바이크는 노드가 리프레이밍되는 것으로 간주되기 전에 수신되어야 한다. 상기 제 1 노드는 NAK와 리프레이밍 시퀀스(466)를 수신하고, 리프레이밍 시퀀스(403)를 전송한다. 제 1 노드가 리프레이밍 시퀀스(403)를 전송한 후에, 제 1 노드는 상기 NAK를 수신하기 전에 전송된 마지막 패킷을 재전송한다. N-패킷 파이프라인의 경우에, 마지막 N 패킷이 재전송된다. 제 2 노드가 제 1 재전송된 패킷(414)에서 ACK를 수신하면, 상기 제 2 노드는 또한 패킷 재전송을 시작한다.
도 5에 도시된 바와 같이, 상기 제 1 노드가 제 2 노드로부터의 패킷(565)을 수신하고, 패킷(565)에서의 데이터가 손상되도록 하는 전송 오류가 발행했는지를 판정할 때, 상기 제 1 노드는 제 2 노드로 NAK와 리프레이밍 시퀀스(503)를 전송한다. 상기 제 2 노드는 NAK 및 리프레이밍 시퀀스(513)를 수신하고, 리프레이밍 시퀀스(557)를 전송한다. 제 1 노드가 NAK 및 리프레이밍 시퀀스(503)를 전송한 후에, 상기 제 1 노드는 손상된 패킷을 수신하기 전에 전송된 마지막 패킷을 재전송한다. 제 2 노드가 제 1의 재전송된 패킷(514)에서 ACK를 수신하면, 상기 제 2 노 드는 또한 패킷 재전송을 시작한다.
오류 카운터는 노드에서 발생한 하드웨어 전송 오류의 수의 트랙을 유지할 수 있다. 인터럽트는 상기 카운터가 임계값에 도달할 때 이네이블하게 될 수 있다. 일 구현에서, 상기 오류 카운터는 노드에서 소프트웨어에 의해 판독될 수 있고, 상기 소프트웨어는 인터럽트 임계값을 설정할 수 있다. 오류 검지 및 보정은 본 시스템에서 매우 낮은 레벨에서 핸들링될 수 있고, 상술한 링크 레이어의 탑에서 동작하는 소프트웨어 레이어는 추가적인 오류 검지 및 보정을 구현할 필요가 없다.
도 6은 일 구현에서의 노드에서 수행된 프로세스(600)을 도시한다. 상기 노드는 제 1 패킷(단계(610))의 수신을 시작하고, 제 1 패킷(단계(615))에서의 수신확인 필드를 수신한다. 상기 노드는 상기 수신확인 필드가 ACK 또는 NAK인지를 판정한다(단계(620)). 수신확인 필드가 NAK라면, 노드는 리프레이밍 시퀀스(단계(625))를 전송하고, 수신된 NAK가 상기 패킷 후에 전송된 임의의 패킷과 함께 대응되는 패킷을 재전송한다(단계(630)). 수신확인 필드가 ACK라면, 상기 노드는 제 2 패킷 전송을 시작하고(단계(635)) 예를 들면 패킷에서의 CRC 값을 검증함으로써 오류에 대한 제 1 패킷을 체크한다(단계(640)). 오류가 제 1 패킷에서 검지되면, 노드는 제 2 패킷 전송을 종료하고(단계(645)), NAK와 리프레이밍 시퀀스를 전송한다(단계(650)).
제 1 패킷에서 오류가 검지되지 않으면, 상기 노드는 장애 비트가 제 1 패킷에서 설정되었는지를 판정한다(단계(655)). 장애 비트가 설정되었다면, 상기 노드 는 장애 모드 또는 안정 상태로 놓인다(단계(660)). 장애 비트가 설정되지 않았거나, 또는 노드가 장애 모드로 놓이게 된다면, 상기 노드는 제 2 패킷 전송을 종료하고(단계(665)) 제 3 패킷 전송을 시작한다(단계(670)).
도 7은 시스템의 노드 사이에서 통신하기 위해 도 2-6의 문맥에서 기술된 링크 레이어를 통해 전송될 수 있는 메시지(700)를 도시한다. 상기 메시지(700)는 또한 USB, RS-232 또는 IEEE 802.3(이더넷)과 같은 다른 연결을 통해서 전송될 수 있다. 동일한 메시지(700)가 적절하게 연결에 고유한 랩퍼(wrapper)에 의해 보호되어 각각의 유형의 연결을 통해 전송될 수 있다. 예를 들면, 패킷(200)(도 2)의 6번째 바이트(206) 내지 37번째 바이트(237)로 전송되는 메시지는 도 8의 문맥으로 하기에 기술되는 랩퍼에 의해 보호되는 메시지(700)이다. 공통의 포맷이 메시지(700)에 대한 전체 시스템에 사용되기 때문에, 상기 메시지(700)는 번역없이 시스템의 임의의 노드로 전송될 수 있다.
상기 메시지(700)는 다수의 바이트(701-708)를 포함한다. 메시지(700)의 첫번째 6개의 바이트(701-706)는 헤더를 형성하고, 마지막 바이트(707-708)는 메시지 바디를 형성한다. 마지막 바이트(707-708)에서의 메시지 바디는 길이가 다양하다(바이트(707) 내지 바이트(708) 사이의 바이트는 도시되지 않는다). 헤더의 제 1 바이트(701)는 후속하는 바이트를 위한 체크섬 필드를 포함한다. 제 2 바이트(702)는 예를 들면 동기화 명령어 또는 구성-체크 명령어를 포함할 수 있는 명령어 필드를 포함한다. 노드가 또다른 노드에 의해 발급된 명령어에 응답하고(예를 들면 명령어의 실행의 상태를 보고하기 위해), 상기 명령어 필드는 응답 비트를 포 함할 수 있다. 상기 응답 노드는 상기 명령어를 발급한 노드로 전송된 응답 메시지에 상기 명령어 필드의 응답 비트를 설정할 수 있다. 상기 응답 비트는 상기 메시지가 명령어에 대한 응답이고 새로운 명령어를 포함하지 않는지를 지시한다.
메시지(700)에서의 제 3 바이트(703)는 메시지(700)가 전송된 노드가 어디인지를 지시하는 소스 필드를 포함한다. 상기 제 4 바이트(704)는 메시지(700)가 전송되어야할 노드(또는 노드들)를 지시하는 행선지 필드를 포함한다. 제 5 바이트(705)는 상태 필드를 지시한다. 응답 노드는 응답 메시지를 전송할 때 상태 필드에서의 명령어의 실행에 관한 정보(예를 들면 성공 또는 실패를 지시하는)를 포함할 수 있다. 제 6 바이트(706)는 메시지(700)의 바디가 얼마나 긴지를 지시하는 길이 필드를 포함한다.
도 8에 도시된 바와 같이, 상술한 링크 레이어를 이용하여 전송하는 메시지(800)는 다수의 바이트(801-810)를 포함한다. 첫번째 4개의 바이트(801-804)는 헤더를 형성하고, 마지막 4개의 바이트(807-810)는 테일을 형성하고, 중간 바이트(805-806)는 메시지(700)를 포함하고 있는 바디를 형성한다(도 7). 상기 헤더의 제 1 바이트(801)는 메시지의 바디가 얼마나 긴지를 지시하는 길이 필드를 포함한다. 상기 헤더의 제 2 바이트(802)는 메시지의 유형을 지정할 수 있는 유형 필드를 포함한다. 헤더의 제 3 바이트(803)는 메시지(800)가 전송되어온 노드를 지시하는 소스 필드를 포함한다. 상기 헤더의 제 4 바이트(804)는 메시지(800)가 전송되어야할 노드(또는 노드들)를 지시하는 행선지 필드를 포함한다.
중간 바이트(805-806)는 길이가 변할 수 있고(바이트(805) 내지 바이트(806) 사이의 바이트는 도시되지 않음) 메시지(700)를 포함할 수 있다(도 7). 테일의 제 1 바이트(807)는 차후의 사용을 위해 보존된 패딩 바이트이다. 테일의 제 2 바이트(808)는 시퀀스 번호 필드가 될 수 있다. 테일의 제 3 및 제 4 바이트(809-810)는 메시지(800)의 헤더 및 바디의 체크섬 필드가 될 수 있다.
테일의 제 2 바이트(808)에서의 시퀀스 번호 필드는 상기 메시지(800)가 전송되는 우선순위 채널에 고유한 메시지에 대한 시퀀스 번호를 포함할 수 있다. 즉, 시스템은 다른 우선순위 채널에 독립하여 주어진 우선순위 채널로 전송되는 메시지에 시퀀스 번호를 할당할 수 있다. 상기 시퀀스 번호는 또한 노드가 메시지(800) 전송을 형성하고 시작하는 것에 따를 수 있다. 이러한 방식으로, 시스템의 각 노드는 노드상의 각 우선순위 채널에 대한 상이한 개시 시퀀스 번호를 가질 수 있다. 주어진 노드 및 우선순위에 대한 시퀀스 번호는 메시지가 특정한 우선순위 채널에 대한 특정한 노드로부터 성공적으로 전송된 후에 증가된다.
테일의 제 3 및 제 4 바이트(809-810)에서의 체크섬 필드는 헤더 및 바디에서의 바이트의 합계이다. 상기 체크섬 필드는 메시지(800)에서의 오류 검지를 위해 사용될 수 있다. 상기 메시지(800)의 바디는 보다 많은 로버스트 오류 검지를 위한 CRC 체크섬을 포함할 수 있다.
시스템에 전력을 켤때, 마스터 노드(에를 들면 로봇-지원 수술 시스템에서의 외과의사의 콘솔에서)에서의 소프트웨어는 노드 ID를 메시지(800)의 소스 및 행선지 필드에서의 각각의 노드를 식별하는 데 사용될 시스템에서의 각 노드로 할당할 수 있다. 하나 이상의 전용 ID가 보존되고, 행선지 필드에서의 전용 ID를 포함하 는 메시지가 다중 노드로 브로드캐스팅되는 것을 지시하기 위해 사용될 수 있다.
마스터 노드에서의 소프트웨어는 다른 노드가 실행하는 소프트웨어의 버전이 무엇인지를 판정하도록 시스템의 다른 노드에 쿼리할 수 있다. 시스템의 노드가 예측되지 않은 버전의 소프트웨어를 실행하고 있다면(예를 들면, 상기 버전이 마스터 노드의 버전과 매칭하지 않거나, 또는 마스터 컨트롤러에 저장된 필요한 버전 정보와 매칭하지 않는다면), 장애 신호가 트리거될 수 있고, 상기 시스템의 노드는 오퍼레이터가 상기 노드로 정확한 버전의 소프트웨어를 로딩하거나 또는 노드를 정확한 버전의 소프트웨어가 설치된 상이한 노드로 대체할 때까지 안전 상태로 놓일 수 있다.
장애가 시스템에서 발생할 때, 상기 장애의 원인은 일반적으로 장애가 발생한 노드 상의 오류 로그에 저장된다. 상기 장애의 원인에 대한 정보는 또한 일반적으로 마찬가지로 그에 로그될 마스터 노드로 전송된다.
일 구현에서, 노드는 상술한 링크 레이어를 이용하여 통신하는 포트, USB 포트, RS-232 포트, 및 이더넷 포트를 포함할 수 있다. 상기 포트의 일부 또는 모두가 다른 노드와 통신하기위해 사용될 수 있고, 상기 포트의 일부 또는 모두는 시스템을 테스트 또는 업데이트하는 장비에 연결하기 위해 사용될 수 있다. 시스템을 테스트하거나 또는 업데이트하는 장비가 포트에 연결될 때, 상기 시스템은 상기 장비가 보안을 위해 암호를 제공하는 것을 필요로한다.
메시지가 시스템 유지관리 및 업데이트를 위해 사용될 수 있다. 예를 들면, 메시지는 다른 노드 또는 노드중 어느 하나에 결합된 업데이터 장비(예를 들면 랩 탑 컴퓨터)로부터 노드로 소프트웨어 업데이트를 전송하는 데에 사용될 수 있다. 노드에 결합된 진단 또는 업데이트 장비는 그 노드와 통신할 수 있고, 또한 상기 장비가 원하는 노드로 메시지를 포워딩하도록 연결된 노드를 이용하여(예를 들면 원하는 노드를 상기 메시지(800)의 행선지 필드에 지정함으로써) 상기 시스템의 다른 노드와 통신할 수 있다. 전체 시스템에서의 메시지(700)에 대한 공통 포캣의 사용은 진단 또는 업데이트 장비가 직접적인 포워딩 방식으로 시스템의 노드와 통신할 수 있도록 한다.
본 명세서에 기술된 본 발명의 실시예와 모든 기능적 동작은 본 명세서에 개시된 구조와 그의 구조적 등가물을 포함하는, 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어, 또는 그들의 하나 이상의 조합, 또는 디지털 전자회로로 구현될 수 있다. 본 발명의 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의해 실행하거나 또는, 그의 동작을 제어하는 컴퓨터-판독가능 매체에서 인코딩된 하나 이상의 컴퓨터 프로그램 지시어의 모듈로서 구현될 수 있다. 상기 컴퓨터-판독가능 매체는 기계판독가능 스토리지 디바이스, 기계판독가능 스토리지 기판, 메모리 디바이스, 기계판독가능 전달 신호를 수행하는 물질의 구성, 또는 상기의 것들의 하나 이상의 조합이 될 수 있다. 상기 "데이터 처리 장치" 라는 용어는 예를 들면 프로그래밍 가능한 프로세서, 컴퓨터, 또는 멀티 프로세서 또는 컴퓨터를 포함하는, 데이터 처리를 위한 모든 장치, 디바이스, 및 기계를 포함한다. 상기 장치는 하드웨어에 추가하여, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 그들의 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전달 신호는 예를 들면, 기계생성 전기, 광학 또는 전자기 신호와 같은, 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하도록 생성된 인위적으로 생성된 신호이다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로 알려진)은 컴파일 또는 인터프리트 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 그것은 스탠드어론 프로그램 또는 모듈로서, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적절한 기타 유닛을 포함하는 임의 형태로 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템에서 파일에 필수적으로 대응하는 것은 아니다. 프로그램은 해당 프로그램에 전용인 단일 파일, 또는 멀티 공통작용하는 파일(예를 들면 하나 이상의 모듈, 서브프로그램, 또는 코드의 부분을 저장하는 파일)로 다른 프로그램 또는 데이터(예를 들면 마크업 언어 문서로 저장된 하나 이상의 스크립트)를 유지하는 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는, 하나의 사이트 또는 분산된 다수의 사이트에 배치되고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터에서 실행되도록 전개될 수 있다.
본 명세서에서 기술된 프로세스 및 로직의 흐름은 입력 데이터에 따라 동작하고 출력을 생성함으로써 함수를 실행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 상기 프로세스 및 로직 흐름은 또한, 예를 들면 FPGA(필드 프로그래밍 가능한 게이트 어레이) 또는 ASIC(응용 주문형 집적 회로)와 같은 특별한 목적의 로직 회로에 의해 수행되고, 또한 장치가 상기 특별한 목적의 로직 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서는 예를 들면 범용 및 전용 마이크로프로세서, 하나 이상의 임의의 유형의 디지털 컴퓨터의 프로세서를 포함한다. 일반적으로, 프로세서는 판독전용 메모리 또는 랜덤 액세스 메모리, 또는 그 모두로부터 지시와 데이터를 수신한다. 컴퓨터의 필수적인 엘리먼트는 지시를 수행하기 위한 프로세서와 지시와 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 예를 들면 자기, 자기-광 디스크, 또는 광디스크와 같은 데이터 저장을 위한 하나 이상의 대용량 저장 디바이스를 포함하고, 또는 그로부터 데이터를 송수신하기위해 결합되도록 동작한다. 그러나, 컴퓨터는 그러한 디바이스를 구비할 필요가 없다. 또한 컴퓨터는 소수를 지정하기 위해, 예를 들면 휴대 전화, 개인휴대통신단말기(PDA), 모바일 오디오 플레이어, 범용지구측위시스템(GPS) 수신기와 같은 다른 디바이스에 내장될 수 있다. 컴퓨터 프로그램 지시 및 데이터를 저장하기에 적절한 컴퓨터 판독가능 매체는 예를 들면 EPROM, EEPROM, 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스, 내장 하드디스크 또는 착탈식 디스크와 같은 자기 디스크, 및 CD-ROM 및 DVD-ROM 디스크와 같은 자기-광 디스크를 포함하는, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 상기 프로세서 및 메모리는 전용 로직 회로에 의해 보충되고, 또는 그에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 발명의 실시예는 예를 들면, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터와 같은 사용자에게 정보를 표시 하기 위한 디스플레이 디바이스, 및 마우스 또는 트랙볼과 같은 사용자가 컴퓨터에 입력할 수 있는 포인팅 디바이스 및 키보드를 구비하는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스가 사용자와의 상호작용을 제공하기 위해 사용될 수 있는데: 예를 들면 사용자에 제공된 피드백이 예를 들면 시각적 피드백, 음성 피드백, 또는 촉각 피드백과 같은 감각 피드백의 형태가 될 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서가 다수의 특정한 사항을 포함하였지만, 이것들은 본 발명의 특정한 실시예에 고유한 특징의 설명일 뿐, 본 발명의 범위 또는 그것이 청구하는 것을 한정하는 것으로 해석되어서는 안된다. 본 명세서에서 개별 실시예에 관해 기술된 특정한 특징들은 또한 단일 실시예로 조합하여 구현될 수 있다. 반대로, 단일 실시예에 관해 기술된 다양한 특징들은 또한 개별적으로 다수의 실시예에서 또는 임의의 적절한 서브조합으로 구현될 수 있다. 또한, 특징들이 특정한 조합으로 작용하는 것으로 상술되고, 초기에 청구되었지만, 청구된 조합으로부터 하나 이상의 특징들이 일부 경우에 상기 조합으로부터 삭제될 수 있고, 상기 청구된 조합이 서브조합으로 또는 서브 조합의 변형으로 지향된다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 상기의 것은 이러한 동작이 도시된 특정한 순서 또는 시퀀스 순서로 수행되거나, 또는 모든 도시된 동작이 원하는 결과를 달성하기 위해 수행되는 것이 필요한 것으로 이해되어서는 안된다. 특정한 환경에서, 멀티태스킹 및 병렬 처리가 유익할 수 있다. 또한, 상술한 실시예에서의 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 이러한 분 리가 필요한 것으로 이해되어서는 안되며, 기술된 프로그램 컴포넌트 및 시스템이 일반적으로 단일 소프트웨어 제품으로 통합되거나 또는 다수의 소프트웨어 제품으로 패키지화될 수 있다는 것이 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 또한 하기의 청구범위의 범위 내에 있다. 예를 들면, 상기 청구범위에 인용된 액션들은 상이한 순서로 수행되고, 원하는 결과를 달성할 수 있다. 상술한 방법, 시스템, 및 장치는 광섬유(예를 들면 160Mb/sec에서 동작), 저압 차동 시그널링(예를 들면 122Mb/sec에서 동작), 소스 동기화 시리얼, 및 비동기화 백본 와이어를 포함하는 다양한 물리적 전송 메커니즘으로 사용될 수 있다. 일 구현에서, 손상된 패킷은, 상기 패킷이 오류를 감내할 수 있는 데이터를 포함할 때 재전송될 필요가 없다. 예를 들면, 비디오 또는 오디오 스트림에서의 간헐적인 글리치는 수용가능하다. 오류 검지 및 리프레이밍은 프레이밍 오류로부터의 고속 하드웨어-구현 복구를 허용하기 위해 본 구현에서 사용될 수 있다.
Claims (26)
- 로봇-지원 수술 시스템에 있어서,복수의 노드를 포함하고 있으며, 상기 복수의 노드 중 각각의 노드는 적어도 하나의 다른 노드와 직렬 데이터 링크로 결합되어 있고, 상기 직렬 데이터 링크는 상기 각각의 노드 사이에 다른 우선 순위를 가지는 데이터를 전송하도록 구성되어 있으며, 상기 각각의 노드는:지시를 실행하도록 동작가능한 프로그래밍 가능한 프로세서;상기 프로그래밍 가능한 프로세서에 결합되는 제 1 데이터 버퍼;상기 프로그래밍 가능한 프로세서에 결합되는 제 2 데이터 버퍼; 및상기 제 1 데이터 버퍼, 제 2 데이터 버퍼, 및 상기 직렬 데이터 링크에 결합되고, 메시징 프로토콜에 따라 상기 직렬 데이터 링크를 통해 제 2 우선순위 데이터에 비해 우선적으로 제 1 우선순위 데이터를 전송하도록 동작하는 전송 로직;을 포함하고,상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 제 1 직렬 데이터 링크를 통해 노드에 의해 수신된 상기 제 1 우선순위 데이터를 상기 제 1 우선순위 데이터에만 사용되는 제 1 데이터 버퍼로 전송하도록 동작하고, 상기 제 1 우선순위 데이터는 제 1 우선순위로 지정되고 상기 로봇-지원 수술 시스템의 수술 제어 명령을 포함하는 메시지이고,상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 상기 제 1 직렬 데이터 링크를 통해 노드에 의해 수신된 상기 제 2 우선순위 데이터를 상기 제 2 우선순위 데이터에만 사용되는 제 2 데이터 버퍼로 전송하도록 동작하고, 상기 제 2 우선순위 데이터는 제 2 우선순위로 지정되고 상기 로봇-지원 시스템의 중요하지 않은 시스템 통신을 포함하는 메시지인 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 1 항에 있어서,상기 제 1 우선순위 데이터는 로봇 팔의 움직임을 제어하는 명령어를 포함하고,상기 제 2 우선순위 데이터는 적어도 하나의 중요하지 않은 상태 정보와 오류-로그 정보를 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 1 항에 있어서,상기 프로그래밍 가능한 프로세서에 결합되는 제 3 데이터 버퍼를 더 포함하고,상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 상기 제 3 우선순위 데이터에만 사용되는 제 3 데이터 버퍼로 제 3 우선순위 데이터를 전송하도록 동작하고, 여기서 상기 제 1 우선순위는 높은 우선순위 데이터이고, 상기 제 2 우선순위 데이터는 낮은 우선순위 데이터이며, 상기 제 3 우선순위 데이터는 중간 우선순위 데이터인 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 3 항에 있어서,상기 메시징 프로토콜은 상기 전송 로직이 상기 제 2 데이터 버퍼로부터의 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 데이터 버퍼로부터의 제 1 우선순위 데이터를 전송하는 것을 요구하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 4 항에 있어서,상기 메시징 프로토콜은 상기 전송 로직이 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터에 비해 우선적으로 상기 제 1 데이터 버퍼로부터의 제 1 우선순위 데이터를 전송하는 것을 더 요구하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 5 항에 있어서,상기 메시징 프로토콜은 상기 전송 로직이 상기 제 2 데이터 버퍼로부터의 제 2 우선순위 데이터에 비해 우선적으로 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터를 전송하는 것을 요구하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 4 항에 있어서,상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 제 4 항에 있어서,상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 가용한 제 2 우선순위 데이터에 비해 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 단계를 포함하는 것을 특징으로 하는 로봇-지 원 수술 시스템.
- 제 1 항에 있어서,상기 프로그래밍 가능한 프로세서는 전송 로직을 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 수신 노드에 직렬 데이터 링크에 의해 결합된 적어도 하나의 전송 노드를 구비하는 복수의 노드를 포함하고, 상기 직렬 데이터 링크는 상기 전송 노드 및 상기 수신 노드 사이에서 다른 우선순위를 가지는 데이터를 전송하도록 구성되어 있는 로봇-지원 수술 시스템을 제공하는 단계로서, 상기 전송노드에서,제 1 우선순위로 지정되고 중요한 수술 명령 메시지와 연관된 메시지 데이터인 제 1 우선순위 데이터 및 제 2 우선순위로 지정되고 중요하지 않은 메시지와 연관된 메시지 데이터인 제 2 우선순위 데이터를 생성하는 단계;상기 제 1 우선순위 데이터를 제 1 우선순위 데이터에만 사용되는 제 1 데이터 버퍼에 배치하는 단계;상기 제 2 우선순위 데이터를 제 2 우선순위 데이터에만 사용되는 제 2 데이터 버퍼에 배치하는 단계;상기 직렬 데이터 링크를 통해 상기 제 1 및 제 2 데이터 버퍼로부터의 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 상기 수신 노드로 전송하고, 상기 제 1 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서, 전송노드에서,제 3 우선순위 데이터를 생성하는 단계로서, 상기 제 1 우선순위 데이터는 높은 우선순위 데이터이고, 상기 제 2 우선순위 데이터는 낮은 우선순위 데이터이며, 상기 제 3 우선순위 데이터는 중간 우선순위 데이터인 단계;상기 제 3 우선순위 데이터에만 사용되는 제 3 데이터 버퍼에 상기 제 3 우선순위 데이터를 배치하는 단계; 및상기 직렬 데이터 링크를 통해 상기 제 3 데이터 버퍼로부터 상기 제 3 우선순위 데이터를 전송하는 단계로서, 상기 제 1 우선순위 데이터는 상기 제 3 우선순위 데이터에 비해 우선적으로 전송되고, 상기 제 3 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;를 더 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서, 상기 전송 노드에서,메시징 프로토콜을 식별하는 단계를 더 포함하고, 상기 메시징 프로토콜을 식별하는 단계는 다른 우선순위의 메시지에 대해 소정의 서비스 품질을 제공하기 위해 특정 메시지 프로토콜을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서,상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서,상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 가용한 제 2 우선순위 데이터보다 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서,상기 제 1 우선순위 데이터는 시간 제한이 있는 메시지를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서,상기 제 2 우선순위 데이터는 적어도 하나의 중요하지않은 상태 정보와 오류-로그 정보를 포함하는 것을 특징으로 하는 방법.
- 전송 노드 및 수신 노드 사이에서 다른 우선순위를 가지는 데이터를 전송하도록 구성된 직렬 데이터 링크에 의해 수신 노드에 결합된, 로봇-지원 수술 시스템의 전송 노드에 포함되어 있는 컴퓨터 판독가능한 기록 매체로서, 상기 컴퓨터 판독가능한 기록 매체는, 프로그래밍 가능한 프로세서로 하여금,제 1 우선순위로 지정되고 중요한 수술 명령 메시지와 연관된 메시지 데이터인 제 1 우선순위 데이터 및 제 2 우선순위로 지정되고 중요하지 않은 메시지와 연관된 메시지 데이터인 제 2 우선순위 데이터를 생성하는 단계;상기 제 1 우선순위 데이터를 제 1 우선순위 데이터에만 사용되는 제 1 데이터 버퍼에 배치하는 단계;상기 제 2 우선순위 데이터를 제 2 우선순위 데이터에만 사용되는 제 2 데이터 버퍼에 배치하는 단계;동일한 직렬 데이터 링크를 통해 상기 제 1 및 제 2 데이터 버퍼로부터의 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 전송하고, 상기 제 1 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;의 동작을 수행하도록 동작하는 명령어를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 17 항에 있어서,제 3 우선순위 데이터를 생성하는 단계로서, 상기 제 1 우선순위 데이터는 높은 우선순위 데이터이고, 상기 제 2 우선순위 데이터는 낮은 우선순위 데이터이며, 상기 제 3 우선순위 데이터는 중간 우선순위 데이터인 단계;상기 제 3 우선순위 데이터를 제 3 우선순위 데이터에만 사용되는 제 3 데이터 버퍼에 배치하는 단계; 및상기 직렬 데이터 링크를 통해 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터를 전송하고, 상기 제 1 우선순위 데이터는 상기 제 3 우선순위 데이터에 비해 우선적으로 전송되고, 상기 제 3 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;의 동작을 수행하도록 동작하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 17 항에 있어서,메시징 프로토콜을 식별하는 단계로서, 다른 우선순위의 메시지에 대해 소정의 서비스 품질을 제공하기 위해 특정 메시지 프로토콜을 선택하는 단계;의 동작을 수행하도록 동작하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 17 항에 있어서,상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 17 항에 있어서,상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 가용한 제 2 우선순위 데이터보다 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 17 항에 있어서,상기 제 1 우선순위 데이터는 시간 제한이 있는 메시지를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 17 항에 있어서,상기 제 2 우선순위 데이터는 적어도 하나의 중요하지 않은 상태 정보와 오류-로그 정보를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
- 제 10 항에 있어서,상기 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 전송하는 단계는 데이터 버퍼로 기록되어져야 할 전체 메시지를 기다리지 않고 데이터가 이용가능할 때 데이터를 전송하는 단계를 포함하는 것을 특징으로 방법.
- 제 1 항에 있어서,상기 프로그래밍 가능한 프로세서는 하드웨어-레벨 패킷에서의 채널 지시를 이용하여 데이터의 우선순위를 결정하는 것을 특징으로 하는 로봇-지원 수술 시스템.
- 로봇-지원 수술 시스템에서 환자의 안전을 제공하는 방법으로서, 상기 방법은:로봇-지원 수술 시스템의 복수의 노드 중의 제 1 노드에서 다수의 메시지를 수신하는 단계로서, 상기 다수의 메시지는 로봇-지원 수술 시스템 내에서 생성되고, 상기 로봇-지원 수술 시스템을 작동시키는 것과 연관되어 있으며, 직렬 데이터 링크를 통해 수신되고, 수신된 다른 메시지의 우선순위와는 다른 우선순위로 지정된 하나 이상의 메시지를 포함하고 있으며, 상기 직렬 데이터 링크는 상기 로봇-지원 수술 시스템의 각각의 노드 사이에서 다른 우선순위를 가지는 메시지를 전송하도록 구성되어 있는 단계;상기 메시지의 지정된 우선순위에 따라 수신된 메시지 각각에 대해 우선순위를 결정하는 단계로서, 상기 결정된 우선순위는 로봇-지원 수술 시스템의 로봇 팔의 움직임을 제어하는 것에 연관된 메시지에 대해 제 1 우선순위이고, 상기 로봇-지원 수술 시스템의 로봇 팔의 움직임을 제어하는 것에 연관되지 않는 메시지에 대해서는 제 2 우선순위인 단계; 및상기 결정된 제 1 우선순위 메시지를 상기 제 2 우선순위 메시지에 우선하여 전송하는 단계로서, 메시징 프로토콜에 따라 상기 제 1 노드로부터 상기 직렬 데이터 링크를 통해 전송하는 단계;를 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템에서 환자의 안전을 제공하는 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75399105P | 2005-12-22 | 2005-12-22 | |
US60/753,991 | 2005-12-22 | ||
US11/480,282 US7757028B2 (en) | 2005-12-22 | 2006-06-30 | Multi-priority messaging |
US11/480,282 | 2006-06-30 | ||
PCT/US2006/062367 WO2007130155A2 (en) | 2005-12-22 | 2006-12-20 | Multi priority messaging |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080086503A KR20080086503A (ko) | 2008-09-25 |
KR101325022B1 true KR101325022B1 (ko) | 2013-11-04 |
Family
ID=38137703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087016953A KR101325022B1 (ko) | 2005-12-22 | 2006-12-20 | 다중 우선순위 메시징 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7757028B2 (ko) |
EP (1) | EP1963976B1 (ko) |
KR (1) | KR101325022B1 (ko) |
DE (1) | DE102006059378A1 (ko) |
FR (1) | FR2895618A1 (ko) |
WO (1) | WO2007130155A2 (ko) |
Families Citing this family (196)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060227898A1 (en) * | 2003-07-10 | 2006-10-12 | Gibson Timothy P | Radio receiver |
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 |
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 |
DE102010002883A1 (de) | 2009-04-03 | 2010-10-07 | Continental Teves Ag & Co. Ohg | Datensicherheit für die Kommunikation mit gleichgestellten Teilnehmern |
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 |
US9413797B2 (en) | 2013-04-23 | 2016-08-09 | Gurulogic Microsystems Oy | Data communication system and method |
GB2513345B (en) * | 2013-04-23 | 2017-07-26 | Gurulogic Microsystems Oy | Data communication system and method |
US9454499B2 (en) * | 2013-06-11 | 2016-09-27 | Intel Corporation | Asynchronous communication between devices |
JP6382310B2 (ja) | 2013-08-09 | 2018-08-29 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | 複数の遠位に収容されるモータを制御する遠隔電流コントローラを備える医療ロボットシステム |
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 |
EP3578119B1 (en) | 2013-12-11 | 2021-03-17 | Covidien LP | Wrist and jaw assemblies for robotic surgical systems |
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 |
US10390853B2 (en) | 2014-08-13 | 2019-08-27 | Covidien Lp | Robotically controlling mechanical advantage gripping |
US11504192B2 (en) | 2014-10-30 | 2022-11-22 | Cilag Gmbh International | Method of hub communication with surgical instrument systems |
EP3258874B1 (en) | 2015-02-19 | 2024-01-17 | Covidien LP | Input device for robotic surgical system |
CN113040921A (zh) | 2015-03-10 | 2021-06-29 | 柯惠Lp公司 | 测量机器人手术***的连接器部件的健康状况 |
WO2016196238A1 (en) | 2015-06-03 | 2016-12-08 | Covidien Lp | Offset instrument drive unit |
US10360267B2 (en) * | 2015-06-10 | 2019-07-23 | Futurewei Technologies, Inc. | Query plan and operation-aware communication buffer management |
JP6761822B2 (ja) | 2015-06-16 | 2020-09-30 | コヴィディエン リミテッド パートナーシップ | ロボット外科用システムトルク変換検知 |
AU2016284040B2 (en) | 2015-06-23 | 2020-04-30 | Covidien Lp | Robotic surgical assemblies |
US10806454B2 (en) | 2015-09-25 | 2020-10-20 | Covidien Lp | Robotic surgical assemblies and instrument drive connectors thereof |
CN112842228A (zh) | 2015-10-23 | 2021-05-28 | 柯惠Lp公司 | 用于检测灌注中逐步变化的手术*** |
CN108348297B (zh) | 2015-11-19 | 2021-08-31 | 柯惠Lp公司 | 用于机器人手术***的光学力传感器 |
US11576562B2 (en) | 2016-04-07 | 2023-02-14 | Titan Medical Inc. | Camera positioning method and apparatus for capturing images during a medical procedure |
US10736219B2 (en) | 2016-05-26 | 2020-08-04 | Covidien Lp | Instrument drive units |
EP3463146A4 (en) | 2016-05-26 | 2020-03-11 | Covidien LP | ROBOTIC SURGICAL ASSEMBLIES |
CN109275333B (zh) | 2016-06-03 | 2022-05-17 | 柯惠Lp公司 | 用于控制机器人递送操纵器的***、方法和计算机可读程序产品 |
CN109195543A (zh) | 2016-06-03 | 2019-01-11 | 柯惠Lp公司 | 用于机器人手术***的被动轴*** |
US11446099B2 (en) | 2016-06-03 | 2022-09-20 | Covidien Lp | Control arm for robotic surgical systems |
WO2017210500A1 (en) | 2016-06-03 | 2017-12-07 | Covidien Lp | Robotic surgical system with an embedded imager |
US10574788B2 (en) * | 2016-08-23 | 2020-02-25 | Ebay Inc. | System for data transfer based on associated transfer paths |
CA3048039A1 (en) | 2017-02-15 | 2018-08-23 | Covidien Lp | System and apparatus for crush prevention for medical robot applications |
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 |
US11717361B2 (en) | 2017-05-24 | 2023-08-08 | Covidien Lp | Electrosurgical robotic system having tool presence detection |
CN110662507A (zh) | 2017-05-25 | 2020-01-07 | 柯惠Lp公司 | 具有自动引导的机器人手术*** |
JP7130003B2 (ja) | 2017-05-25 | 2022-09-02 | コヴィディエン リミテッド パートナーシップ | 画像捕捉デバイスの視野内の物体の検出のためのシステムおよび方法 |
JP2020520694A (ja) | 2017-05-25 | 2020-07-16 | コヴィディエン リミテッド パートナーシップ | ロボット手術システムおよびロボット手術システムのコンポーネントを覆うためのドレープ |
JP7349992B2 (ja) | 2017-09-05 | 2023-09-25 | コヴィディエン リミテッド パートナーシップ | ロボット手術システムのための衝突処理アルゴリズム |
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 |
US11801098B2 (en) | 2017-10-30 | 2023-10-31 | Cilag Gmbh International | Method of hub communication with surgical instrument systems |
US11291510B2 (en) | 2017-10-30 | 2022-04-05 | Cilag Gmbh International | Method of hub communication with surgical instrument systems |
US11911045B2 (en) | 2017-10-30 | 2024-02-27 | Cllag GmbH International | Method for operating a powered articulating multi-clip applier |
US11311342B2 (en) | 2017-10-30 | 2022-04-26 | Cilag Gmbh International | Method for communicating with surgical instrument systems |
US11317919B2 (en) | 2017-10-30 | 2022-05-03 | Cilag Gmbh International | Clip applier comprising a clip crimping system |
US11141160B2 (en) | 2017-10-30 | 2021-10-12 | Cilag Gmbh International | Clip applier comprising a motor controller |
US11564756B2 (en) | 2017-10-30 | 2023-01-31 | Cilag Gmbh International | Method of hub communication with surgical instrument systems |
US20190125320A1 (en) | 2017-10-30 | 2019-05-02 | Ethicon Llc | Control system arrangements for a modular surgical instrument |
US11510741B2 (en) | 2017-10-30 | 2022-11-29 | Cilag Gmbh International | Method for producing a surgical instrument comprising a smart electrical system |
CN111417356A (zh) | 2017-12-01 | 2020-07-14 | 柯惠Lp公司 | 用于机器人手术***的帷帘管理组件 |
US11464535B2 (en) | 2017-12-28 | 2022-10-11 | Cilag Gmbh International | Detection of end effector emersion in liquid |
US11304720B2 (en) | 2017-12-28 | 2022-04-19 | Cilag Gmbh International | Activation of energy devices |
US11432885B2 (en) | 2017-12-28 | 2022-09-06 | Cilag Gmbh International | Sensing arrangements for robot-assisted surgical platforms |
US11464559B2 (en) | 2017-12-28 | 2022-10-11 | Cilag Gmbh International | Estimating state of ultrasonic end effector and control system therefor |
US11857152B2 (en) | 2017-12-28 | 2024-01-02 | Cilag Gmbh International | Surgical hub spatial awareness to determine devices in operating theater |
US10595887B2 (en) | 2017-12-28 | 2020-03-24 | Ethicon Llc | Systems for adjusting end effector parameters based on perioperative information |
US11571234B2 (en) | 2017-12-28 | 2023-02-07 | Cilag Gmbh International | Temperature control of ultrasonic end effector and control system therefor |
US11678881B2 (en) | 2017-12-28 | 2023-06-20 | Cilag Gmbh International | Spatial awareness of surgical hubs in operating rooms |
US11132462B2 (en) | 2017-12-28 | 2021-09-28 | Cilag Gmbh International | Data stripping method to interrogate patient records and create anonymized record |
US11304699B2 (en) | 2017-12-28 | 2022-04-19 | Cilag Gmbh International | Method for adaptive control schemes for surgical network control and interaction |
US11832840B2 (en) | 2017-12-28 | 2023-12-05 | Cilag Gmbh International | Surgical instrument having a flexible circuit |
US11304745B2 (en) | 2017-12-28 | 2022-04-19 | Cilag Gmbh International | Surgical evacuation sensing and display |
US11234756B2 (en) | 2017-12-28 | 2022-02-01 | Cilag Gmbh International | Powered surgical tool with predefined adjustable control algorithm for controlling end effector parameter |
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 |
US20190201039A1 (en) | 2017-12-28 | 2019-07-04 | Ethicon Llc | Situational awareness of electrosurgical systems |
US11364075B2 (en) | 2017-12-28 | 2022-06-21 | Cilag Gmbh International | Radio frequency energy device for delivering combined electrical signals |
US11529187B2 (en) | 2017-12-28 | 2022-12-20 | Cilag Gmbh International | Surgical evacuation sensor arrangements |
US11278281B2 (en) | 2017-12-28 | 2022-03-22 | Cilag Gmbh International | Interactive surgical system |
US11419630B2 (en) | 2017-12-28 | 2022-08-23 | Cilag Gmbh International | Surgical system distributed processing |
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 |
US11576677B2 (en) | 2017-12-28 | 2023-02-14 | Cilag Gmbh International | Method of hub communication, processing, display, and cloud analytics |
US11559308B2 (en) | 2017-12-28 | 2023-01-24 | Cilag Gmbh International | Method for smart energy device infrastructure |
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 |
US11317937B2 (en) | 2018-03-08 | 2022-05-03 | Cilag Gmbh International | Determining the state of an ultrasonic end effector |
US11589888B2 (en) | 2017-12-28 | 2023-02-28 | Cilag Gmbh International | Method for controlling smart energy devices |
US11311306B2 (en) | 2017-12-28 | 2022-04-26 | Cilag Gmbh International | Surgical systems for detecting end effector tissue distribution irregularities |
US20190201594A1 (en) | 2017-12-28 | 2019-07-04 | Ethicon Llc | Method of sensing particulate from smoke evacuated from a patient, adjusting the pump speed based on the sensed information, and communicating the functional parameters of the system to the hub |
US11253315B2 (en) | 2017-12-28 | 2022-02-22 | Cilag Gmbh International | Increasing radio frequency to create pad-less monopolar loop |
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 |
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 |
US11559307B2 (en) | 2017-12-28 | 2023-01-24 | Cilag Gmbh International | Method of robotic hub communication, detection, and control |
US11179175B2 (en) | 2017-12-28 | 2021-11-23 | Cilag Gmbh International | Controlling an ultrasonic surgical instrument according to tissue location |
US11109866B2 (en) | 2017-12-28 | 2021-09-07 | Cilag Gmbh International | Method for circular stapler control algorithm adjustment based on situational awareness |
US11666331B2 (en) | 2017-12-28 | 2023-06-06 | Cilag Gmbh International | Systems for detecting proximity of surgical end effector to cancerous tissue |
US11744604B2 (en) | 2017-12-28 | 2023-09-05 | Cilag Gmbh International | Surgical instrument with a hardware-only control circuit |
US20190206569A1 (en) | 2017-12-28 | 2019-07-04 | Ethicon Llc | Method of cloud based data analytics for use with the hub |
US11540855B2 (en) | 2017-12-28 | 2023-01-03 | Cilag Gmbh International | Controlling activation of an ultrasonic surgical instrument according to the presence of tissue |
US11903601B2 (en) | 2017-12-28 | 2024-02-20 | Cilag Gmbh International | Surgical instrument comprising a plurality of drive systems |
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 |
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 |
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 |
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 |
US11844579B2 (en) | 2017-12-28 | 2023-12-19 | Cilag Gmbh International | Adjustments based on airborne particle properties |
US11896443B2 (en) | 2017-12-28 | 2024-02-13 | Cilag Gmbh International | Control of a surgical system through a surgical barrier |
US20190201139A1 (en) | 2017-12-28 | 2019-07-04 | Ethicon Llc | Communication arrangements for robot-assisted surgical platforms |
US11324557B2 (en) | 2017-12-28 | 2022-05-10 | Cilag Gmbh International | Surgical instrument with a sensing array |
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 |
US11284936B2 (en) | 2017-12-28 | 2022-03-29 | Cilag Gmbh International | Surgical instrument having a flexible electrode |
US11266468B2 (en) | 2017-12-28 | 2022-03-08 | Cilag Gmbh International | Cooperative utilization of data derived from secondary sources by intelligent surgical hubs |
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 |
US11786251B2 (en) | 2017-12-28 | 2023-10-17 | Cilag Gmbh International | Method for adaptive control schemes for surgical network control and interaction |
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 |
US11786245B2 (en) | 2017-12-28 | 2023-10-17 | Cilag Gmbh International | Surgical systems with prioritized data transmission capabilities |
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 |
US11659023B2 (en) | 2017-12-28 | 2023-05-23 | Cilag Gmbh International | Method of hub communication |
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 |
US11672605B2 (en) | 2017-12-28 | 2023-06-13 | Cilag Gmbh International | Sterile field interactive control displays |
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 |
US11410259B2 (en) | 2017-12-28 | 2022-08-09 | Cilag Gmbh International | Adaptive control program updates for surgical devices |
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 |
US11864728B2 (en) | 2017-12-28 | 2024-01-09 | Cilag Gmbh International | Characterization of tissue irregularities through the use of mono-chromatic light refractivity |
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 |
US11937769B2 (en) | 2017-12-28 | 2024-03-26 | Cilag Gmbh International | Method of hub communication, processing, storage and display |
US11424027B2 (en) | 2017-12-28 | 2022-08-23 | Cilag Gmbh International | Method for operating surgical instrument systems |
US11832899B2 (en) | 2017-12-28 | 2023-12-05 | Cilag Gmbh International | Surgical systems with autonomously adjustable control programs |
US11291495B2 (en) | 2017-12-28 | 2022-04-05 | Cilag Gmbh International | Interruption of energy due to inadvertent capacitive coupling |
JP2021510562A (ja) | 2018-01-04 | 2021-04-30 | コヴィディエン リミテッド パートナーシップ | 手術付属品をロボット手術システムに搭載し、それを通したアクセスを提供するためのシステムおよびアセンブリ |
US12029510B2 (en) | 2018-01-10 | 2024-07-09 | Covidien Lp | Determining positions and conditions of tools of a robotic surgical system utilizing computer vision |
CA3090594A1 (en) * | 2018-02-02 | 2019-08-08 | Covidien Lp | Surgical robotic system including synchronous and asynchronous networks and a method employing the same |
US12004831B2 (en) | 2018-02-02 | 2024-06-11 | Covidien Lp | Surgical robotic system including synchronous and asynchronous networks and a method employing the same |
US11189379B2 (en) | 2018-03-06 | 2021-11-30 | Digital Surgery Limited | Methods and systems for using multiple data structures to process surgical data |
US11259830B2 (en) | 2018-03-08 | 2022-03-01 | Cilag Gmbh International | Methods for controlling temperature in ultrasonic device |
US11589915B2 (en) | 2018-03-08 | 2023-02-28 | Cilag Gmbh International | In-the-jaw classifier based on a model |
US11628024B2 (en) | 2018-03-08 | 2023-04-18 | Covidien Lp | Surgical robotic systems |
US11464532B2 (en) | 2018-03-08 | 2022-10-11 | Cilag Gmbh International | Methods for estimating and controlling state of ultrasonic end effector |
US11090047B2 (en) | 2018-03-28 | 2021-08-17 | Cilag Gmbh International | Surgical instrument comprising an adaptive control system |
US11471156B2 (en) | 2018-03-28 | 2022-10-18 | Cilag Gmbh International | Surgical stapling devices with improved rotary driven closure systems |
US11197668B2 (en) | 2018-03-28 | 2021-12-14 | Cilag Gmbh International | Surgical stapling assembly comprising a lockout and an exterior access orifice to permit artificial unlocking of the lockout |
US11278280B2 (en) | 2018-03-28 | 2022-03-22 | Cilag Gmbh International | Surgical instrument comprising a jaw closure lockout |
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 |
CN111971150A (zh) | 2018-04-20 | 2020-11-20 | 柯惠Lp公司 | 手术机器人手推车放置的***和方法 |
EP3781073A4 (en) | 2018-04-20 | 2022-01-26 | Covidien LP | COMPENSATION OF OBSERVER MOTION IN ROBOTIC SURGICAL SYSTEMS WITH STEREOSCOPIC DISPLAYS |
US10623523B2 (en) * | 2018-05-18 | 2020-04-14 | Oracle International Corporation | Distributed communication and task handling to facilitate operations of application system |
CN112105312A (zh) | 2018-07-03 | 2020-12-18 | 柯惠Lp公司 | 用于在手术程序期间检测图像退化的***、方法和计算机可读介质 |
US12035956B2 (en) | 2018-09-07 | 2024-07-16 | Cilag Gmbh International | Instrument tracking arrangement based on real time clock information |
US11804679B2 (en) | 2018-09-07 | 2023-10-31 | Cilag Gmbh International | Flexible hand-switch circuit |
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 |
US11471206B2 (en) | 2018-09-07 | 2022-10-18 | Cilag Gmbh International | Method for controlling a modular energy system user interface |
CN112739282A (zh) | 2018-09-17 | 2021-04-30 | 柯惠Lp公司 | 手术机器人*** |
US11109746B2 (en) | 2018-10-10 | 2021-09-07 | Titan Medical Inc. | Instrument insertion system, method, and apparatus for performing medical procedures |
WO2020102823A2 (en) * | 2018-11-14 | 2020-05-22 | 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 |
US11357503B2 (en) | 2019-02-19 | 2022-06-14 | Cilag Gmbh International | Staple cartridge retainers with frangible retention features and methods of using same |
US11291444B2 (en) | 2019-02-19 | 2022-04-05 | Cilag Gmbh International | Surgical stapling assembly with cartridge based retainer configured to unlock a closure lockout |
US11464511B2 (en) | 2019-02-19 | 2022-10-11 | Cilag Gmbh International | Surgical staple cartridges with movable authentication key arrangements |
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 |
USD952144S1 (en) | 2019-06-25 | 2022-05-17 | Cilag Gmbh International | Surgical staple cartridge retainer with firing system authentication key |
USD950728S1 (en) | 2019-06-25 | 2022-05-03 | Cilag Gmbh International | Surgical staple cartridge |
USD964564S1 (en) | 2019-06-25 | 2022-09-20 | Cilag Gmbh International | Surgical staple cartridge retainer with a closure system authentication key |
USD939545S1 (en) | 2019-09-05 | 2021-12-28 | Cilag Gmbh International | Display panel or portion thereof with graphical user interface for energy module |
USD928725S1 (en) | 2019-09-05 | 2021-08-24 | Cilag Gmbh International | Energy module |
USD928726S1 (en) | 2019-09-05 | 2021-08-24 | Cilag Gmbh International | Energy module monopolar port |
USD924139S1 (en) | 2019-09-05 | 2021-07-06 | Ethicon Llc | Energy module with a backplane connector |
US12030195B2 (en) | 2020-05-27 | 2024-07-09 | Covidien Lp | Tensioning mechanisms and methods for articulating surgical instruments such as for use in robotic surgical systems |
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 |
US12040749B2 (en) | 2021-03-30 | 2024-07-16 | Cilag Gmbh International | Modular energy system with dual amplifiers and techniques for updating parameters thereof |
US11963727B2 (en) | 2021-03-30 | 2024-04-23 | Cilag Gmbh International | Method for system architecture for modular energy system |
US11978554B2 (en) | 2021-03-30 | 2024-05-07 | Cilag Gmbh International | Radio frequency identification token for wireless surgical instruments |
US11950860B2 (en) | 2021-03-30 | 2024-04-09 | Cilag Gmbh International | User interface mitigation techniques for modular energy systems |
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 |
US11948226B2 (en) | 2021-05-28 | 2024-04-02 | Covidien Lp | Systems and methods for clinical workspace simulation |
WO2023101968A1 (en) | 2021-11-30 | 2023-06-08 | Endoquest Robotics, Inc. | Steerable overtube assemblies for robotic surgical systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US20030050733A1 (en) | 2001-09-07 | 2003-03-13 | Yulun Wang | Modularity system for computer assisted surgery |
Family Cites Families (28)
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 |
DE69524381T2 (de) | 1995-03-23 | 2002-08-14 | Agfa-Gevaert N.V., Mortsel | Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache |
US6041345A (en) * | 1996-03-08 | 2000-03-21 | Microsoft Corporation | Active stream format for holding multiple media streams |
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 |
US6804239B1 (en) * | 1999-08-17 | 2004-10-12 | Mindspeed Technologies, Inc. | Integrated circuit that processes communication packets with co-processor circuitry to correlate a packet stream with context information |
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 |
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 |
US7607062B2 (en) * | 2002-03-25 | 2009-10-20 | Akamai Technologies, Inc. | System for fast recovery from losses for reliable data communication protocols |
WO2005048086A2 (en) * | 2003-11-17 | 2005-05-26 | Roy-G-Biv Corporation | Command processing systems and methods |
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 (en) * | 2005-12-14 | 2007-06-21 | Adtran, Inc. | Systems and methods for enabling clock signal synchronization |
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 |
-
2006
- 2006-06-30 US US11/480,282 patent/US7757028B2/en active Active
- 2006-12-15 DE DE102006059378A patent/DE102006059378A1/de not_active Withdrawn
- 2006-12-20 WO PCT/US2006/062367 patent/WO2007130155A2/en active Application Filing
- 2006-12-20 EP EP06851009.8A patent/EP1963976B1/en active Active
- 2006-12-20 KR KR1020087016953A patent/KR101325022B1/ko active IP Right Grant
- 2006-12-21 FR FR0611223A patent/FR2895618A1/fr not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US20030050733A1 (en) | 2001-09-07 | 2003-03-13 | Yulun Wang | Modularity system for computer assisted surgery |
Also Published As
Publication number | Publication date |
---|---|
EP1963976A2 (en) | 2008-09-03 |
KR20080086503A (ko) | 2008-09-25 |
WO2007130155A3 (en) | 2008-08-14 |
US7757028B2 (en) | 2010-07-13 |
DE102006059378A1 (de) | 2007-09-06 |
FR2895618A1 (fr) | 2007-06-29 |
WO2007130155A2 (en) | 2007-11-15 |
EP1963976A4 (en) | 2011-12-21 |
US20070150631A1 (en) | 2007-06-28 |
EP1963976B1 (en) | 2015-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101325022B1 (ko) | 다중 우선순위 메시징 | |
KR101279827B1 (ko) | 동기화 데이터 통신 | |
KR101336005B1 (ko) | 동기화 데이터 통신 | |
CN101432629B (zh) | 同步数据通信 | |
EP0055404B1 (en) | Method and system for data communication | |
US5793770A (en) | High-performance parallel interface to synchronous optical network gateway | |
JP2010011296A (ja) | 送受信回路、送信回路及び送受信方法 | |
CN109905205A (zh) | 数据发送、接收的方法及设备、数据传输方法及*** | |
US20050083954A1 (en) | Method and apparatus for the transmission of data via a bus network using the broadcast principle | |
JP4807828B2 (ja) | ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア | |
US20130238946A1 (en) | Trace protocol efficiency | |
EP2571187A1 (en) | Information processing system, transmitting apparatus, receiving apparatus, and method of processing information | |
KR100995621B1 (ko) | 에러 제어 장치 | |
KR100985684B1 (ko) | 데이터 패킷 전송 방법 및 장치 | |
US20120243622A1 (en) | Method and apparatus for improving the error rate of a serial/de-serial backplane connection | |
CN115934593A (zh) | 在数据流中传输usb数据 | |
JP2005522942A (ja) | データ部分の補填方法,その装置及びバスシステム | |
KR20040037480A (ko) | 셀 전송 에러 검출 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161020 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171020 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191017 Year of fee payment: 7 |