KR101325022B1 - 다중 우선순위 메시징 - Google Patents

다중 우선순위 메시징 Download PDF

Info

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
Application number
KR1020087016953A
Other languages
English (en)
Other versions
KR20080086503A (ko
Inventor
마이클 드루크
필립 그레이브스
데오도르 워커
Original Assignee
인튜어티브 서지컬 인코포레이티드
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 인튜어티브 서지컬 인코포레이티드 filed Critical 인튜어티브 서지컬 인코포레이티드
Publication of KR20080086503A publication Critical patent/KR20080086503A/ko
Application granted granted Critical
Publication of KR101325022B1 publication Critical patent/KR101325022B1/ko

Links

Images

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)
  • 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

다중 우선순위 메시징{MULTI­PRIORITY MESSAGING}
본 발명은 정보 시스템에 관한 것이다.
특정한 시스템들은 시스템 컴포넌트 사이에 다양한 중요도를 가지는 정보를 전송한다. 보다 중요한 정보는 처리하는 동안 보다 높은 우선순위가 주어질 수 있다. 종래 로봇-지원 수술 시스템에서, 예를 들면 제어 및 피드백 신호는 일반적으로 처리하는 동안 보다 높은 우선순위가 주어진다. 루틴 시스템 상태 메시지와 같은 다른 유형의 신호는 일반적으로 처리하는 동안 보다 낮은 우선순위가 주어진다. 상기 시스템은 일반적으로 낮은 우선순위 신호의 지연에 대해 탄력적이다.
로봇-지원 수술 시스템에 사용되는 하나의 종래 통신 시스템은 로봇 팔로 외과의사의 제어 콘솔을 연결시키기 위한 수백개의 경로(예를 들면 와이어)를 사용한다. 그러나, 수백개의 경로의 사용은 설계시 특정한 신호를 대상으로 한 각 유형의 신호에 대한 전용 경로를 허용한다. 그러나, 상기 수백개의 경로의 사용은 상기 시스템의 셋업과 보수관리를 힘들게하여, 상기 경로 모두를 라우팅하는데에 충분한 빈 공간을 필요로한다.
일 측면에서, 지시를 실행하기 위해 동작하는 프로그래밍 가능한 프로세서와 상기 프로그래밍 가능한 프로세서에 결합된 제 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. 로봇-지원 수술 시스템에 있어서,
    복수의 노드를 포함하고 있으며, 상기 복수의 노드 중 각각의 노드는 적어도 하나의 다른 노드와 직렬 데이터 링크로 결합되어 있고, 상기 직렬 데이터 링크는 상기 각각의 노드 사이에 다른 우선 순위를 가지는 데이터를 전송하도록 구성되어 있으며, 상기 각각의 노드는:
    지시를 실행하도록 동작가능한 프로그래밍 가능한 프로세서;
    상기 프로그래밍 가능한 프로세서에 결합되는 제 1 데이터 버퍼;
    상기 프로그래밍 가능한 프로세서에 결합되는 제 2 데이터 버퍼; 및
    상기 제 1 데이터 버퍼, 제 2 데이터 버퍼, 및 상기 직렬 데이터 링크에 결합되고, 메시징 프로토콜에 따라 상기 직렬 데이터 링크를 통해 제 2 우선순위 데이터에 비해 우선적으로 제 1 우선순위 데이터를 전송하도록 동작하는 전송 로직;을 포함하고,
    상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 제 1 직렬 데이터 링크를 통해 노드에 의해 수신된 상기 제 1 우선순위 데이터를 상기 제 1 우선순위 데이터에만 사용되는 제 1 데이터 버퍼로 전송하도록 동작하고, 상기 제 1 우선순위 데이터는 제 1 우선순위로 지정되고 상기 로봇-지원 수술 시스템의 수술 제어 명령을 포함하는 메시지이고,
    상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 상기 제 1 직렬 데이터 링크를 통해 노드에 의해 수신된 상기 제 2 우선순위 데이터를 상기 제 2 우선순위 데이터에만 사용되는 제 2 데이터 버퍼로 전송하도록 동작하고, 상기 제 2 우선순위 데이터는 제 2 우선순위로 지정되고 상기 로봇-지원 시스템의 중요하지 않은 시스템 통신을 포함하는 메시지인 것을 특징으로 하는 로봇-지원 수술 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 우선순위 데이터는 로봇 팔의 움직임을 제어하는 명령어를 포함하고,
    상기 제 2 우선순위 데이터는 적어도 하나의 중요하지 않은 상태 정보와 오류-로그 정보를 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  3. 제 1 항에 있어서,
    상기 프로그래밍 가능한 프로세서에 결합되는 제 3 데이터 버퍼를 더 포함하고,
    상기 프로그래밍 가능한 프로세서는 상기 지시에 응답하여 상기 제 3 우선순위 데이터에만 사용되는 제 3 데이터 버퍼로 제 3 우선순위 데이터를 전송하도록 동작하고, 여기서 상기 제 1 우선순위는 높은 우선순위 데이터이고, 상기 제 2 우선순위 데이터는 낮은 우선순위 데이터이며, 상기 제 3 우선순위 데이터는 중간 우선순위 데이터인 것을 특징으로 하는 로봇-지원 수술 시스템.
  4. 제 3 항에 있어서,
    상기 메시징 프로토콜은 상기 전송 로직이 상기 제 2 데이터 버퍼로부터의 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 데이터 버퍼로부터의 제 1 우선순위 데이터를 전송하는 것을 요구하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  5. 제 4 항에 있어서,
    상기 메시징 프로토콜은 상기 전송 로직이 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터에 비해 우선적으로 상기 제 1 데이터 버퍼로부터의 제 1 우선순위 데이터를 전송하는 것을 더 요구하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  6. 제 5 항에 있어서,
    상기 메시징 프로토콜은 상기 전송 로직이 상기 제 2 데이터 버퍼로부터의 제 2 우선순위 데이터에 비해 우선적으로 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터를 전송하는 것을 요구하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  7. 제 4 항에 있어서,
    상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  8. 제 4 항에 있어서,
    상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 가용한 제 2 우선순위 데이터에 비해 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 단계를 포함하는 것을 특징으로 하는 로봇-지 원 수술 시스템.
  9. 제 1 항에 있어서,
    상기 프로그래밍 가능한 프로세서는 전송 로직을 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  10. 수신 노드에 직렬 데이터 링크에 의해 결합된 적어도 하나의 전송 노드를 구비하는 복수의 노드를 포함하고, 상기 직렬 데이터 링크는 상기 전송 노드 및 상기 수신 노드 사이에서 다른 우선순위를 가지는 데이터를 전송하도록 구성되어 있는 로봇-지원 수술 시스템을 제공하는 단계로서, 상기 전송노드에서,
    제 1 우선순위로 지정되고 중요한 수술 명령 메시지와 연관된 메시지 데이터인 제 1 우선순위 데이터 및 제 2 우선순위로 지정되고 중요하지 않은 메시지와 연관된 메시지 데이터인 제 2 우선순위 데이터를 생성하는 단계;
    상기 제 1 우선순위 데이터를 제 1 우선순위 데이터에만 사용되는 제 1 데이터 버퍼에 배치하는 단계;
    상기 제 2 우선순위 데이터를 제 2 우선순위 데이터에만 사용되는 제 2 데이터 버퍼에 배치하는 단계;
    상기 직렬 데이터 링크를 통해 상기 제 1 및 제 2 데이터 버퍼로부터의 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 상기 수신 노드로 전송하고, 상기 제 1 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서, 전송노드에서,
    제 3 우선순위 데이터를 생성하는 단계로서, 상기 제 1 우선순위 데이터는 높은 우선순위 데이터이고, 상기 제 2 우선순위 데이터는 낮은 우선순위 데이터이며, 상기 제 3 우선순위 데이터는 중간 우선순위 데이터인 단계;
    상기 제 3 우선순위 데이터에만 사용되는 제 3 데이터 버퍼에 상기 제 3 우선순위 데이터를 배치하는 단계; 및
    상기 직렬 데이터 링크를 통해 상기 제 3 데이터 버퍼로부터 상기 제 3 우선순위 데이터를 전송하는 단계로서, 상기 제 1 우선순위 데이터는 상기 제 3 우선순위 데이터에 비해 우선적으로 전송되고, 상기 제 3 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서, 상기 전송 노드에서,
    메시징 프로토콜을 식별하는 단계를 더 포함하고, 상기 메시징 프로토콜을 식별하는 단계는 다른 우선순위의 메시지에 대해 소정의 서비스 품질을 제공하기 위해 특정 메시지 프로토콜을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제 10 항에 있어서,
    상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 10 항에 있어서,
    상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 가용한 제 2 우선순위 데이터보다 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제 10 항에 있어서,
    상기 제 1 우선순위 데이터는 시간 제한이 있는 메시지를 포함하는 것을 특징으로 하는 방법.
  16. 제 10 항에 있어서,
    상기 제 2 우선순위 데이터는 적어도 하나의 중요하지않은 상태 정보와 오류-로그 정보를 포함하는 것을 특징으로 하는 방법.
  17. 전송 노드 및 수신 노드 사이에서 다른 우선순위를 가지는 데이터를 전송하도록 구성된 직렬 데이터 링크에 의해 수신 노드에 결합된, 로봇-지원 수술 시스템의 전송 노드에 포함되어 있는 컴퓨터 판독가능한 기록 매체로서, 상기 컴퓨터 판독가능한 기록 매체는, 프로그래밍 가능한 프로세서로 하여금,
    제 1 우선순위로 지정되고 중요한 수술 명령 메시지와 연관된 메시지 데이터인 제 1 우선순위 데이터 및 제 2 우선순위로 지정되고 중요하지 않은 메시지와 연관된 메시지 데이터인 제 2 우선순위 데이터를 생성하는 단계;
    상기 제 1 우선순위 데이터를 제 1 우선순위 데이터에만 사용되는 제 1 데이터 버퍼에 배치하는 단계;
    상기 제 2 우선순위 데이터를 제 2 우선순위 데이터에만 사용되는 제 2 데이터 버퍼에 배치하는 단계;
    동일한 직렬 데이터 링크를 통해 상기 제 1 및 제 2 데이터 버퍼로부터의 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 전송하고, 상기 제 1 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;의 동작을 수행하도록 동작하는 명령어를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  18. 제 17 항에 있어서,
    제 3 우선순위 데이터를 생성하는 단계로서, 상기 제 1 우선순위 데이터는 높은 우선순위 데이터이고, 상기 제 2 우선순위 데이터는 낮은 우선순위 데이터이며, 상기 제 3 우선순위 데이터는 중간 우선순위 데이터인 단계;
    상기 제 3 우선순위 데이터를 제 3 우선순위 데이터에만 사용되는 제 3 데이터 버퍼에 배치하는 단계; 및
    상기 직렬 데이터 링크를 통해 상기 제 3 데이터 버퍼로부터의 제 3 우선순위 데이터를 전송하고, 상기 제 1 우선순위 데이터는 상기 제 3 우선순위 데이터에 비해 우선적으로 전송되고, 상기 제 3 우선순위 데이터는 상기 제 2 우선순위 데이터에 비해 우선적으로 전송되는 단계;의 동작을 수행하도록 동작하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  19. 제 17 항에 있어서,
    메시징 프로토콜을 식별하는 단계로서, 다른 우선순위의 메시지에 대해 소정의 서비스 품질을 제공하기 위해 특정 메시지 프로토콜을 선택하는 단계;의 동작을 수행하도록 동작하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  20. 제 17 항에 있어서,
    상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 임의의 가용한 제 2 우선순위 데이터 이전에 임의의 가용한 제 1 우선순위 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  21. 제 17 항에 있어서,
    상기 제 2 우선순위 데이터에 비해 우선적으로 상기 제 1 우선순위 데이터를 전송하는 단계는 가용한 제 2 우선순위 데이터보다 가용한 제 1 우선순위 데이터에 더 많은 전송 슬롯을 할당하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  22. 제 17 항에 있어서,
    상기 제 1 우선순위 데이터는 시간 제한이 있는 메시지를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  23. 제 17 항에 있어서,
    상기 제 2 우선순위 데이터는 적어도 하나의 중요하지 않은 상태 정보와 오류-로그 정보를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체.
  24. 제 10 항에 있어서,
    상기 제 1 우선순위 데이터 및 제 2 우선순위 데이터를 전송하는 단계는 데이터 버퍼로 기록되어져야 할 전체 메시지를 기다리지 않고 데이터가 이용가능할 때 데이터를 전송하는 단계를 포함하는 것을 특징으로 방법.
  25. 제 1 항에 있어서,
    상기 프로그래밍 가능한 프로세서는 하드웨어-레벨 패킷에서의 채널 지시를 이용하여 데이터의 우선순위를 결정하는 것을 특징으로 하는 로봇-지원 수술 시스템.
  26. 로봇-지원 수술 시스템에서 환자의 안전을 제공하는 방법으로서, 상기 방법은:
    로봇-지원 수술 시스템의 복수의 노드 중의 제 1 노드에서 다수의 메시지를 수신하는 단계로서, 상기 다수의 메시지는 로봇-지원 수술 시스템 내에서 생성되고, 상기 로봇-지원 수술 시스템을 작동시키는 것과 연관되어 있으며, 직렬 데이터 링크를 통해 수신되고, 수신된 다른 메시지의 우선순위와는 다른 우선순위로 지정된 하나 이상의 메시지를 포함하고 있으며, 상기 직렬 데이터 링크는 상기 로봇-지원 수술 시스템의 각각의 노드 사이에서 다른 우선순위를 가지는 메시지를 전송하도록 구성되어 있는 단계;
    상기 메시지의 지정된 우선순위에 따라 수신된 메시지 각각에 대해 우선순위를 결정하는 단계로서, 상기 결정된 우선순위는 로봇-지원 수술 시스템의 로봇 팔의 움직임을 제어하는 것에 연관된 메시지에 대해 제 1 우선순위이고, 상기 로봇-지원 수술 시스템의 로봇 팔의 움직임을 제어하는 것에 연관되지 않는 메시지에 대해서는 제 2 우선순위인 단계; 및
    상기 결정된 제 1 우선순위 메시지를 상기 제 2 우선순위 메시지에 우선하여 전송하는 단계로서, 메시징 프로토콜에 따라 상기 제 1 노드로부터 상기 직렬 데이터 링크를 통해 전송하는 단계;를 포함하는 것을 특징으로 하는 로봇-지원 수술 시스템에서 환자의 안전을 제공하는 방법.
KR1020087016953A 2005-12-22 2006-12-20 다중 우선순위 메시징 KR101325022B1 (ko)

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)

* 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
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)

* Cited by examiner, † Cited by third party
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)

* 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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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