KR20140090171A - 연결 방법 - Google Patents

연결 방법 Download PDF

Info

Publication number
KR20140090171A
KR20140090171A KR1020147011657A KR20147011657A KR20140090171A KR 20140090171 A KR20140090171 A KR 20140090171A KR 1020147011657 A KR1020147011657 A KR 1020147011657A KR 20147011657 A KR20147011657 A KR 20147011657A KR 20140090171 A KR20140090171 A KR 20140090171A
Authority
KR
South Korea
Prior art keywords
data
devices
server
communication failure
detecting
Prior art date
Application number
KR1020147011657A
Other languages
English (en)
Other versions
KR102018225B1 (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 KR20140090171A publication Critical patent/KR20140090171A/ko
Application granted granted Critical
Publication of KR102018225B1 publication Critical patent/KR102018225B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법이 개시된다. 그 방법은, 제1 및 제2 디바이스 사이의 중간의 제3 디바이스에서 제1 디바이스와 제2 디바이스 간의 통신 장애를 검출하고, 제3 디바이스로부터 제1 디바이스로 제2 디바이스가 제1 디바이스와는 사용 불가함을 나타내는 제1 데이터를 전송하는 것을 포함한다.

Description

연결 방법 {Connection Method}
본 발명은 제 1 디바이스와 제 2 디바이스 간의 통신 장애를 관리하는 방법에 관한 것이다.
컴퓨터 시스템에서 디바이스들 간에 데이터를 전송하는 것이 종종 필요하다. 예를 들면, 다수의 입출력 디바이스에 프로세싱(processing) 디바이스를 연결하는 것이 종종 필요하다. 유선 링크 또는 무선 링크일 수 있는 링크를 통해 디바이스들이 서로 데이터 패킷을 전송할 수 있게 하는 방식으로 디바이스들을 연결함으로써 적절한 데이터 통신은 달성된다.
연결된 디바이스의 시스템들이 이러한 연결된 디바이스들 중 하나에 대한 예상하지 못한 장애 또는 비가용성을 관리할 수 있게 하는 것이 점차 중요해지고 있다. 예를 들면, 케이블들이 돌발적으로 연결되지 않거나(예를 들면, 그에 따라 연결된 디바이스가 서버로부터 연결이 끊기는 것), 원격 디바이스가 고장인 경우에, 시스템들은 회복력이 있을(resilient) 것(그들의 지정된 서비스의 제공을 계속하는 것)이 필요하다. 일반적으로, 오퍼레이팅(operating) 시스템들은 동작 중인("hot") 시스템(즉, hot-plugging/hot-swapping)에서의 입출력 어댑터(Input/Output(I/O) Adaptor)들의 관리된(즉, 계획된) 제거 또는 대체를 어느 정도 지원하고 있지만, 동작 중인 시스템에서의 디바이스들의 기대하지 않았던 제거를 위한 지원은 거의 없거나 전혀 없다.
종래에, 예를 들면, PCI 익스프레스(PCI Express)는 단지 서버 내의(즉, "in-box") 입출력 어댑터의 영구적인 연결을 위하여 사용되었다. 입출력 디바이스(I/O device)가 서버 내에 영구적으로 설치된 그러한 구성에 있어서, 입출력 디바이스의 장애는 전체로서의 서버 장애를 나타내고, 따라서, 그 서버의 계속된 동작은 필요하다고 간주되지 않는다. 원격으로 연결된 PCI 익스프레스 입출력 디바이스들(즉, 서버의 외부에 연결된 입출력 디바이스들)에 대한 늘어난 관심은, 서버가 연결된 디바이스의 예상하지 못한 핫-제거(hot-removal)를 적절하게 지원하는 것에 대한 요구가 시스템 회복력에 관해 중요하게 되고 있음을 의미한다.
데이터 패킷의 송신 및 수신은 종종 트랜잭션(transaction)의 관점에서 설명된다. 트랜잭션은 디바이스들 간에 송신된 하나 이상의 데이터 패킷을 포함한다. PCI 익스프레스는, 분할 트랜잭션 모델을 시행하고, 여기서 소스 디바이스가 요청 데이터 패킷(request data packet)을 목적지 디바이스로 전송하고, 응답으로 목적지 디바이스로부터 완료 데이터 패킷(completion data packet)을 기다린다. 일반적으로, 오퍼레이팅(operating) 시스템들은 장애가 발생한 PCI 익스프레스 트랜잭션을 정상적으로 다루기에 적합하지 않다. 예를 들면, 서버가 요청 데이터 패킷을 연결된 디바이스로 송신하고, 예기치 않게, 그 요청에 응답하는 완료 데이터 패킷을 수신하지 않았다면, 서버의 오퍼레이팅 시스템은 붕괴되기 쉽다. 따라서, 연결된 PCI 익스프레스 리소스(resource)가 예기치않게 사용 불가가 될 때, PCI 익스프레스 기반의 현재 연결된 시스템들은 붕괴되기 쉽다.
PCI 익스프레스의 표준 구현은 PCI 익스프레스 서브시스템 또는 연결된 PCI 익스프레스 디바이스의 장애를 처리하는 적정한 수단을 제공하지 않는다. 이것은 장애에 대한 회복력의 수용가능한 수준을 갖는, 원격의 또는 공유된 입출력 시스템을 구축하는 것을 어렵게 하고 있다.
상술한 문제들 중 하나 이상을 제거하거나 완화하는 것이 본 발명의 실시예의 목적이다.
본 발명의 제1 측면에 따르면, 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법이 제시된다. 그 방법은, 제1 디바이스와 제2 디바이스 사이의 중간의 제3 디바이스에서, 제1 디바이스와 제2 디바이스 간의 통신 장애를 검출하고, 제2 디바이스가 제1 디바이스와는 사용 불가함을 나타내는 제1 데이터를 제3 디바이스로부터 제1 디바이스로 전송하는 것을 포함한다.
이렇게 하여, 제1 디바이스는, 제1 디바이스에 장애를 일으킬지도 모를 제2 디바이스와의 예기치 않았던 통신 손실의 대상이 되지 않는다. 제1 및 제2 디바이스 간의 통신 손실을 검출함으로써 제3 디바이스는 제1 디바이스의 장애를 방지하도록 적절한 데이터를 제1 디바이스로 송신할 수 있다. 예를 들면, 제2 디바이스가 상태를 변화시켰음을 제1 디바이스에 통지함으로써 제1 데이터는 제1 디바이스에서 동작하는 소프트웨어(OS, 드라이버, 애플리케이션)에게 통신의 장애를 숨길 수 있다. 예를 들면, 제1 디바이스가 "사용가능하지만, 사용할 수 없다"고 해석한 상태에 있는 제2 디바이스이지만, 제3 디바이스는 제2 디바이스의 계속된 존재를 에뮬레이트(emulate)할 수 있다. 제1 디바이스는 서비스 중단없이(예컨대, 제2 디바이스의 대체재와 통신함으로써) "사용 가능하지만, 사용할 수 없다"는 상태를 적절하게 다루도록 조정될 수 있다.
제2 디바이스가 제1 디바이스에 의해 한정된 장애 유닛의 외부에 있을 수 있는 반면에, 제3 디바이스는 제1 디바이스에 의해 한정된 장애 유닛 내에 있을 수 있다.
제2 디바이스가 사용 불가임을 나타냄에 있어서, 제1 데이터는 일시적일 수 있는 외부 문제에 기인하여 제2 디바이스가 그것의 지정된 서비스를 수행할 수 없지만 국부적으로 기능 한다는 것을 나타낼 수 있다.
방법은, 제3 디바이스에서, 제1 디바이스로부터 제2 디바이스로의 제2 데이터를 차단하는 것(intercepting)을 더 포함할 수 있다.
제3 디바이스는 제1 및 제2 디바이스 사이에 있을 수 있기에, 제1 및 제2 디바이스 간의 통신은 제3 디바이스를 통해 이루어진다. 예를 들면, 제3 디바이스는 케이블 어댑터의 형태를 취할 수 있다. 그 대신에, 제1 디바이스로부터 제2 디바이스로 송신된 데이터는 제1 및 제2 디바이스 사이의 또 다른 디바이스에 의해 제3 디바이스로 다시 향할 수 있다.
제1 및 제2 디바이스 간의 통신 장애를 검출하는 것은, 제2 데이터에 대한 응답이 제1 디바이스에 의해 수신되지 않을 것임을 검출하는 것을 포함할 수 있다. 제1 및 제2 디바이스 간의 통신 장애를 검출하는 것은, 제1 및 제2 디바이스를 연결하는 케이블이 연결되지 않았음을 검출하는 것을 포함할 수 있다. 예를 들면, 케이블 불연결을 검출하는 것은 이전에 존재한 "케이블 검출" 신호의 부존재를 검출하는 것을 포함할 수 있다. 그 대신에, 제1 및 제2 디바이스 간의 연결이 무선 연결일 경우, 통신 장애를 검출하는 것은 무선 연결에서의 중단(interruption) 또는 방해(interference)를 검출하는 것을 포함할 수 있다.
제1 데이터의 소스를 나타내고자 하는 제1 데이터의 일부는 제2 디바이스를 나타낼 수 있다. 제1 데이터는 제2 데이터에 응답하여 제1 데이터가 존재하고 있음을 나타내는 데이터를 포함할 수 있다. 예를 들면, 제2 데이터는 제2 데이터가 속하는 트랜잭션을 나타내는 데이터 필드를 포함할 수 있고, 제1 데이터는 제1 데이터가 동일한 트랜잭션에 속함을 나타내는 데이터를 포함할 수 있다.
제1 및 제2 디바이스 중 하나는 서버일 수 있고/있거나, 제1 및 제2 디바이스 중 하나는 제1 또는 제2 디바이스의 원격으로 연결된 리소스일 수 있다. 예를 들면, 제1 및 제2 디바이스 중 하나는 입출력 디바이스 또는 다른 원격의 리소스일 수 있다.
제1 디바이스는 PCI 익스프레스 연결을 통해 제2 디바이스와 연결될 수 있다.
제1 데이터는 제2 디바이스가 도달할 수 없음을 나타낼 수 있고/있거나, 제1 데이터는 제2 디바이스가 오작동함을 나타낼 수 있고/있거나, 제1 데이터는 제1 데이터가 손상되었음을 나타낼 수 있다. 예를 들면, 제1 데이터는 "1"의 값을 갖는 상태 비트를 포함할 수 있다. 상태 비트는 제2 디바이스가 오작동하고 있고/있거나, 제1 데이터가 손상되었음을 나타낸다.
제1 및 제2 디바이스 간의 통신 장애를 검출하는 것은, 제3 디바이스로부터 제2 디바이스로 제3 데이터를 전송하고, 제3 데이터에 대한 응답이 소정의 시간 주기 내에 제2 디바이스로부터 수신되지 않으면, 제1 및 제2 디바이스 간에 통신 장애가 발생하였다고 판단하는 것을 포함할 수 있다.
본 발명의 제2 측면에 따르면, 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하기 위한 장치가 제시된다. 그 장치는, 제1 디바이스와 제2 디바이스 사이의 중간의 제3 디바이스에서, 제1 디바이스와 제2 디바이스 간의 통신 장애를 검출하기 위한 수단과, 제2 디바이스가 제1 디바이스와는 사용 불가함을 나타내는 제1 데이터를 제3 디바이스로부터 제1 디바이스로 전송하기 위한 수단을 포함한다.
본 발명의 제3 측면에 따르면, 제1 디바이스와 제2 디바이스 간의 연결을 위한 회복력있는 케이블 어댑터(resilient cable adaptor)를 제시한다. 그 어댑터는 연결된 제1 및 제2 디바이스 간의 통신 장애를 검출하기 위해 마련된 검출기와, 연결된 제2 디바이스가 제1 디바이스와는 사용 불가함을 나타내는 제1 데이터를 연결된 제1 디바이스로 전송하기 위해 마련된 전송기를 포함한다.
본 발명의 하나의 측면과 관련되어 설명된 많은 특징들은 본 발명의 다른 측면과 관련하여 적용할 수 있음은 이해될 수 있을 것이다.
본 발명의 측면들은 적절한 하드웨어 및/또는 소프트웨어 방식을 포함하는 어떤 편리한 방법으로 시행될 수 있음은 이해될 수 있을 것이다. 예를 들면, 본 발명을 시행하기 위해 마련된 스위칭 디바이스가 적절한 하드웨어 컴포넌트를 사용하여 생성될 수 있을 것이다. 그 대신에, 프로그래머블 디바이스가 본 발명의 실시예를 시행하기 위해 프로그램될 수 있다. 발명은 또한 발명의 측면들을 시행하기 위한 적절한 컴퓨터 프로그램을 제시한다. 그러한 컴퓨터 프로그램은 실재의 캐리어 미디어(예컨대, 하드 디스크, CD ROMs 등) 및 통신 신호 같은 실재하지 않는 캐리어 미디어를 포함하는 적당한 캐리어 미디어에 실릴 수 있다.
본 발명에 따르면, 장애에 대한 회복력의 수용가능한 수준을 갖는, 원격의 또는 공유된 입출력 시스템을 용이하게 구축할 수 있다. 특히, PCI 익스프레스 서브시스템 또는 연결된 PCI 익스프레스 디바이스의 장애를 처리하는 적정한 수단을 제공할 수 있다.
본 발명의 실시예는 첨부된 도면을 참조하여 예로서의 방법으로 설명된다.
도 1 및 도 1a는 입출력 디바이스(I/O device)가 서버의 구성 요소로서 제시된 종래의 입출력 배치의 개략도이다.
도 2는 입출력 디바이스가 서버와 원격으로 연결된 종래의 입출력 배치의 개략도이다.
도 3은 다수의 입출력 디바이스가 서버와 원격으로 연결된 종래의 입출력 배치의 개략도이다.
도 4는 본 발명의 실시예에 따른 입출력 디바이스가 서버와 연결된 입출력 배치의 개략도이다.
도 5는 데이터 패킷 헤더의 개략도이다.
도 6은 본 발명의 실시예에 따른 서버가 입출력 디바이스와 연결된 입출력 배치의 개략도이다.
도 1을 참조하면, 서버(1)는 CPU/PCI 익스프레스 루트 컴플렉스(CPU/PCI Express Root Complex, CPU/RC)(2)와 네트워크 인터페이스 컨트롤러(NIC)(3)을 포함할 수 있다. CPU/RC(2)는 PCI 익스프레스 칩-투-칩 연결(PCI Express chip-to-chip connection)(4)를 통해 NIC(3)와 연결된다. NIC(3)는 이더넷 연결(Ethernet connection)(6)(예컨대, 케이블 또는 무선 연결)을 통해 네트워크(5)와 연결된다. NIC(3)와 적절한 소프트웨어의 사용으로 서버(1)는 서버(1)의 사용자에게 네트워크(5)로의 액세스를 제공한다. 본 발명과는 관련없는 서버(1)의 다른 세부 사항들은 명료함을 위해 제외되었음을 이해할 수 있을 것이다. 그러한 세부 사항들은 통상의 기술자에게 쉽게 명백하다.
일반적으로, 도 1의 서버(1)는 단일의 장애 유닛으로 간주된다. (NIC(3) 또는 연결(4) 같은) 서버(1)의 내부 구성 요소의 장애는, 서버(1)가 더 이상 그것의 의도된 기능(예컨대, 네트워크(5)로의 액세스 간소화)을 제공할 수 없는 것처럼 서버(1)의 전체의 장애로 간주된다. 따라서, NIC(3)의 장애 또는 NIC(3)와 CPU/RC(2) 간의 통신 장애 하에서 서버(1)가 계속하여 기능하도록 하는 요구는 없고, 서버(1)는 고장일 것이다.
내부 구성 요소의 장애와는 대조적으로, 이더넷 연결(6) 또는 다운스트림 스위치(downstream switch)(미도시) 같은 외부 구성 요소(즉, 서버(1)의 단일 장애 유닛의 외부)의 장애는 서버(1)의 장애로 간주되지 않으며, 따라서, 서버(1)의 계속된 작동은 요구된다. 일반적으로, 대체 디바이스가 쉽게 연결될 수 있다(또는 예컨대, 의도하지 않은 단절의 사건에서 재연결될 수 있다)는 것을 고려하면 외부로 연결된 서버(1)의 구성 요소의 장애는 서버(1)의 장애를 초래해서는 안 된다. 따라서, 서버(1)는 외부 리소스가 현재 사용 불가임을 제대로 통지받는 상황들을 적절하게 다루도록 맞춰져 있다. 예를 들면, CPU/RC(2)와 NIC(3) 간의 통신이 유지되면, 이더넷 연결(6)의 장애는 NIC(3)로 하여금 CPU/RC(2)에게 (적당한 에러 메시지의 전송에 의해) 이더넷 연결(6)이 사용 불가하다는 것을 통지하게 한다. 이 메시지를 수신하면, 서버(1)의 전체로서의 장애를 발생하는 것 없이, CPU/RC(2)는 이더넷 연결(6)을 통한 전송을 위해 NIC(3)로 데이터 패킷을 전송하는 것을 중단할 수 있다.
NIC로부터 에러 메시지를 수신하면, CPU/RC는 사용가능한 백업 리소스를 사용하여 그것의 지정된 서비스를 제공하는 것을 계속할 수 있다. 도 1a를 참조하면, 서버(1a)는 PCI 익스프레스 칩-투-칩 연결(4a)을 통해 NIC(3a)와 연결되고, PCI 익스프레스 칩-투-칩 연결(4b)을 통해 NIC(3b)와 연결되는 CPU/RC(2a)를 포함한다. NIC(3a, 3b) 각각은 개별적인 이더넷 연결(6a, 6b)을 통해 네트워크(5)와 연결된다. 따라서, NIC(3a, 3b) 각각은 네트워크(5)로의 액세스를 간소화할 수 있다. 예를 들면, 이더넷 연결(6b)의 장애 하에, 대응하는 NIC(3b)는 CPU/RC(2a)로 이더넷 연결(6b)이 사용불가함을 나타내는 에러 메시지를 전송한다. CPU/RC(2a)는 그런 에러 메시지를 적절하게 다룰 수 있도록 맞춰져 있어서, CPU/RC(2a)는 NIC(3a) 및 이더넷 연결(6a)를 사용하여 그것의 지정된 기능을 제공하는 것을 계속할 수 있다.
도 2의 구성에서, NIC(7)는 서버(8)의 외부로(즉, 서버(8)에 의해 한정된 단일 장애 유닛의 외부로) 수용된다. 도 2를 참조하면, 서버(8)는 PCI 익스프레스 연결(11)을 통해 CPU/RC(10)와 연결된 PCI 익스프레스 케이블 어댑터(Cable Adaptor)(9)를 포함한다. PCI 익스프레스 케이블 어댑터(9)는 케이블(14)을 통해 CPU/RC(10)를 원격 입출력 기기(Remote I/O appliance)(13) 내에 수용된 PCI 익스프레스 케이블 어댑터(12)와 연결한다. 원격 입출력 기기(13)는 또한 PCI 익스프레스 연결(15)을 통해 PCI 익스프레스 케이블 어댑터(12)와 연결된 NIC(7)을 수용한다. PCI 익스프레스 케이블 어댑터들(9, 12)은 단지 케이블(14)을 통해 PCI 익스프레스 신호들을 전달하는데 필요한 케이블-드라이빙(cable-driving) 및 시그널 컨디셔닝 기능성(signal conditioning functionality)을 제공한다. 즉, 케이블 어댑터들(9, 12)은 어떤 로직적인 기능들을 서버(8)로(서버(8)에서 작동하는 소프트웨어로) 제공하지 않는다. 따라서, 도 2의 시스템은 도 1의 시스템과 로직적으로 동일하다.
케이블(14)의 장애 또는 NIC(7) 자체의 장애는 CPU/RC(10)와 NIC(7) 간의 통신을 단절한다. 따라서, CPU/RC(10)는 NIC(7)와의 당해 트랜잭션(outstanding transation)에 대한 응답을 수신할 수 없다. 위에서 설명한 것처럼, 당해 트랜잭션에 대한 응답의 결여는 서버(8)의 전체로서의 장애를 초래한다. 도 1의 구성에서는, NIC(3)(또는 NIC(3)와 CPU/RC(2) 간의 연결(4))의 장애는 서버(1)의 전체로서의 장애를 구성하는 것으로 일반적으로 받아들여지는 것에 반해, 도 2의 구성에서 케이블(14)과 NIC(7)의 원격의 본성은 이 같은 구성 요소들은 용이하게 대체되거나 재연결될 수 있다는 것을 의미한다. 따라서, 도 2의 구성에서, NIC(7) 또는 케이블(14)의 장애는 서버(8)의 장애를 일으켜야 한다는 것은 바라지 않는 바다.
나아가, 도 3의 구성에서 나타난 것처럼, 서버와 원격인 입출력 리소스의 배치는 더욱 쉽게 다수의 입출력 리소스가 제공될 수 있도록 하므로 부차적인 리소스들은 다른 연결된 입출력 리소스의 장애의 사건에서 백업들로서 역할 수행할 수 있다. 도 3을 참조하면, 서버(20)의 CPU/RC(19)는, 케이블 어댑터(21)를 통해, 케이블(23)을 통해 원격의 입출력 기기(22)와, 그리고 케이블(25)을 통해 원격의 입출력 기기(24)와 연결된다. 원격의 입출력 기기(22)는 케이블(23)과의 연결을 위한 케이블 어댑터(26)와, 연결(28)을 통해 케이블 어댑터(26)와 연결된 NIC(27)를 포함한다. 원격의 입출력 기기(24)는 케이블(25)과의 연결을 위한 케이블 어댑터(29)와, 연결(31)을 통해 케이블 어댑터(29)와 연결된 NIC(30)를 포함한다. NIC(27, 30) 각각은 개별적인 연결(32, 33)을 통해 네트워크(5)와 연결된다. 입출력 기기(22, 24) 중 하나가 고장이어서 NIC(27, 30) 중 하나와의 통신이 더 이상 가능하지 않거나, 연결(23, 25) 중 하나가 장애인 경우에, 서버(20)는 입출력 기기(22, 24) 중 다른 하나를 사용하여 지정된 서비스(즉, 네트워크(5)와의 연결)를 제공하는 것을 계속할 수 있다는 것이 이해될 것이다. 그러나, 입출력 기기(22, 24)(또는 연결 (23, 25))의 어느 하나의 장애하에서는, CPU/RC(19)는 서버(20)의 바람직하지 않은 장애를 초래한, NIC(27, 30) 중 연결이 끊긴 하나로 전송된 데이터 패킷에 대한 응답을 수신할 수 없을 것이다.
도 4는 본 발명의 실시예에 따라 변형된 도 2의 일반적인 구성을 도시한다. 특히, 도 4의 구성에서, 서버에 의해 한정된 장애 유닛 내의 케이블 어댑터는 회복력 있는 케이블 어댑터(Resilient Cable Adaptor)로 대체된다. 그것의 동작은 아래에서 더 상세하게 설명된다. 하지만, 일반적으로, 회복력 있는 케이블 어댑터는 (PCI 케이블의 장애와 같은) 치명적인 에러를 치명적이지 않은 에러로 바꾼다.
도 4에서, 서버(35)는 PCI 익스프레스 연결(38)을 통해 회복력 있는 케이블 어댑터(Resilient Cable Adaptor)(37)와 연결되는 CPU/RC(36)을 포함한다. 회복력 있는 케이블 어댑터(37)는 CPU/RC(36)를 케이블(40)을 통해 원격 입출력 기기(Remote I/O appliance)(39) 내에 수용된 PCI 익스프레스 케이블 어댑터(38)에 연결시킨다. 원격 입출력 기기(39)는, PCI 익스프레스 연결(42)에 의해 PCI 익스프레스 케이블 어댑터(38)에 연결되고, 이더넷 연결(43)을 통해 네트워크(5)에 연결되는 NIC(41)를 수용한다.
더 상세하게, 회복력 있는 케이블 어댑터(37)는 회복력 있는 케이블 어댑터(37)의 하류 측 구성요소들(예컨대, 케이블(40), NIC(41) 등)의 장애를 모니터하는데 필요한 로직 및 하드웨어를 제공한다. 예를 들면, 회복력 있는 케이블 어댑터(37)는 케이블이 꽂히지 않은 경우(예컨대, 제공된 "존재 검출" 신호의 방식에 의해, 또는 다른 적절한 방법에 의해)를 검출하고, NIC(41)에 있는 문제를 나타내는 원격 입출력 기기(39)로부터의 메시지를 청취할 수 있도록 구성된다. 회복력 있는 케이블 어댑터(37)는 나아가 서버(35)에 의해 시작된 트랜잭션들에 관한 정보를 판단하고 기록하기 위해 데이터 패킷을 검사하고, 적절한 응답을 기다리도록 맞춰져 있다. 온-보드 타이머를 사용하여, 회복력 있는 케이블 어댑터(37)는 소정의 시간 주기 동안 기다릴 수 있고, 그 주기의 만료는 장애의 발생을 구성할 수 있다. 예를 들면, 시간 주기를 위한 임계치는 설정될 수 있고, 그 임계치는 응답 데이터 패킷을 수신하지 않은 결과로서 서버(35)가 붕괴할지도 모를 시간보다 일찍 만료한다. 회복력 있는 케이블 어댑터(37)는 또한 CPU/RC(36)와는 독립하여 NIC(41)로 전송할 데이터 패킷을 생성하고, 적절한 응답을 기다리도록 구성될 수 있다(그것에 의해 소정의 시간 주기 내 응답의 결여는 NIC(41)의 장애를 구성한다). 회복력 있는 케이블 어댑터(37)의 하류 측 구성요소들의 장애는 다수의 다른 원인 들 중 하나 이상을 가질 수 있음이 이해될 것이고, 회복력 있는 케이블 어댑터(37)는 통상의 기술자에게 용이하게 명백한 것과 같은 사건을 검출하기 위하여 어떤 적절한 수단을 수행할 수 있음이 이해될 것이다.
하류측(downstream) 구성 요소의 장애가 검출되면, 회복력 있는 케이블 어댑터(37)는 NIC(41)가 CPU/RC(36)에게 적당한 비치명적 에러 메시지를 제공하도록 에뮬레이트(emulate)한다. 비치명적 에러 메시지는 NIC(41)가 사용가능하지만 그것이 사용되어질 수 없는 상태에 있는 것을 나타낸다(예컨대, 이더넷 케이블(43)이 꽂히지 않은 상태를 에뮬레이팅하는 것).
NIC(41)를 에뮬레이트하기 위해, 회복력 있는 케이블 어댑터(37)는 NIC(41)에 의해 생성된 것처럼 보이는 데이터 패킷을 생성할 수 있다. 더 상세하게, NIC(41)는 다수의 독립적인 디바이스 기능들, PCI 익스프레스 프로토콜에 의해 지원되는 최대 8 가지의 기능을 가질 수 있다. 즉, NIC(41)는 CPU/RC(36)에게 분리된 디바이스가 8개까지인 것으로 보일 수 있다. NIC(41)의 각각의 디바이스 기능은 그 기능을 유일하게 식별하여 주는 대응하는 식별자를 갖는다. NIC(41)의 특별한 디바이스 기능으로부터 송신된 데이터 패킷은 그 데이터 패킷을 송신한 디바이스 기능의 식별자에 대응하는 요청자 식별자(requester identifier)를 포함하는 트랜잭션 식별자를 갖는다.
PCI 익스프레스 프로토콜에 의해 사용되는 데이터 패킷 헤더의 포맷은 도 5을 참조하면서 설명된다. 요청자 식별자(45)는 데이터 패킷을 발원한 디바이스 기능을 식별하여 주고, 0부터 15까지 인덱스된 16비트를 구성한다. 요청자 식별자(45)는 상위 8비트를 차지하는 버스 넘버 필드(46)와, 중간 5 비트를 차지하는 디바이스 넘버 필드(47)와, 하위 3 비트를 차지하는 기능 넘버 필드(48)를 포함한다. PCI 익스프레스 프로토콜을 사용할 때, 버스 넘버(46), 디바이스 넘버(47), 및 기능 넘버(48)의 조합은 특정 디바이스에 의해 제공된 기능을 유일하게 식별하여 준다.
도 5에 나타난 패킷 헤더는 8비트로 구성된 태그 필드(49)를 더 포함한다. 위에서 설명한 것처럼, 트랜잭션은 요청 데이터 패킷과 하나 이상의 대응하는 완료 데이터 패킷으로 구성될 수 있다. 각각의 요청 데이터 패킷은 태그 필드(49)에 저장된 값과 결부된다. 각각의 대응하는 완료 데이터 패킷은 태그 필드(49)에 저장된 것과 동일한 값을 갖는다. 따라서, 관련 있는 요청 데이터 패킷과 완료 데이터 패킷은 결부된다. 유일한 태그 값들이 목적지 디바이스로부터 하나 이상의 완료 데이터 패킷을 요청하는 모든 당해 요청들(outstanding requests)에 할당된다. 태그 필드(49)가 8비트를 갖는다는 것을 고려하면, 256(28)개의 가능한 태그 값들이 표현될 수 있다.
기능 넘버 필드(48)에는 요청을 송신한 디바이스의 관련 기능에 대한 기능 넘버가 제공된다. 디바이스가 8개의 기능보다 작다면, 기능 넘버 필드(48)에는 사용되지 않는 비트가 있을 수 있다. 따라서, 디바이스의 기능을 나타내기 위해 기능 넘버 필드(48)의 충분한 비트들만을 사용하고, 기능 넘버 필드(48)의 사용되지 않는 비트들은 태그 필드(29)와 로직적으로 결합된 유령 기능 넘버(phantom function number)로서 사용되는 것을 안다. 단지 단일의 기능이 제공되는 경우, 기능 넘버 필드(48)의 모든 비트들은 2048(211)개까지의 당해 요청들(outstanding requests)에 대한 지원을 제공하기 위하여 태그 필드(49)와 로직적으로 결합될 수 있다.
회복력 있는 케이블 어댑터(37)는 데이터 패킷의 트랜잭션 식별자를 판단하기 위하여 수신된 데이터 패킷, 특히 태그 필드 및 요청자 ID를 심사할 수 있다. 이 데이터는 회복력 있는 케이블 어댑터가 제공하는 온-보드 메모리에 저장될 수 있다. 회복력 있는 케이블 어댑터(37)에 의해 생성된 데이터 패킷은 (제공받은 에러 메시지의 타입이 트랜잭션 ID를 요청한다면) 정정 트랜잭션 식별자와 함께 제공될 수 있고, 그 결과, CPU/RC(36)는 메시지들이 CPU/RC(36)와 NIC(41) 간의 당해 트랜잭션과 관련이 있음을 믿게 된다. 유사하게, 데이터 패킷은 NIC(41)의 요청자 ID를 갖는 회복력 있는 케이블 어댑터(37)에 의해 생성될 수 있고, 그 결과, 그 데이터 패킷들은 NIC(41)에 의해 생성된 것처럼 보이게 된다.
적당한 에러 메시지는 트랜잭션에 대하여 회복력 있는 케이블 어댑터(37)에 의해 기록된 정보에 의존하여 선택되어 진다. 예를 들면, CPU/RC(36)와 NIC(41) 간의 통신을 단절하는 하류측 구성 요소의 장애하에서, CPU/RC(36)가 NIC(41)로 레지스터 리드 요청 데이터 패킷(register read request data packet)을 전송하였을 경우, 회복력 있는 케이블 어댑터(37)는 에러 상태 비트가 "1"의 값으로 설정되어 있는 데이터 패킷을 제공할 수 있다. 서버(1)에서 동작하는 소프트웨어는 상태 비트가 에러가 발생하였음을 나타내도록 설정된 데이터 패킷의 수신을 해석할 것이지만, 그 에러는 서버(35)의 장애를 일으키지는 않을 것이다. 다른 예로서, 트랜잭션이 네트워크(5)를 통해 전송된 데이터와 관련된다면, 회복력 있는 케이블 어댑터(37)는 CPU/RC(36)로 이더넷 연결(43)이 끊겼다는 것을 나타내는 메시지를 전송할 수 있다. 각각의 에러 메시지는 회복력 있는 케이블 어댑터(37)의 온-보드 메모리에 단단히 코드화될 수 있다. 회복력 있는 케이블 어댑터(37)에서 동작하는 로직은 저장된 메시지들 중 어느 것이 완료 데이터 패킷을 기다리는 트랜잭션에 비추어 적절한 지를 판단하도록 맞춰질 수 있다.
CPU/RC(36)에 제공될 에러 메시지의 선택은 회복력 있는 케이블 어댑터(37)가 에뮬레이팅하는, 원격으로 연결된 디바이스의 세부들에 추가로 의존할 수 있다. 예를 들면, 원격으로 연결된 디바이스가 저장 리소스인 경우, 이더넷 연결이 단절되었음을 나타내는 에러 메시지는 부적절하다. 따라서, 에러 메시지는, 디바이스가 로직적으로 기능하지만 그것의 지정된 서비스를 수행할 수는 없다는 것을 나타내기 위해(즉, 치명적 에러를 비치명적 에러로 대체하기 위해), 원격으로 연결된 디바이스의 타입에 맞춰질 수 있다.
위에서 설명한 본 발명의 실시예는 두 개의 가정을 기반으로 한다. 첫째, 서버(35)에 원격으로 연결된 어떤 디바이스는, 서버(35)가 그 디바이스는 사용불가하다고 간주하지만 서버(35)가 붕괴하도록 하지는 않는 상태를 갖는다는 것이고, 둘째, 사용불가한 상태는 입출력 디바이스가 완전히 동작하는 상태와 단순 비교된다는 것이다.
연결된 서버(또는 서버로의 연결)가 장애를 일으킬 때, 원격으로 연결된 입출력 디바이스의 장애를 방지하는 것이 추가적으로 또는 대체적으로 바람직하다. 이것은 특히, 그러나 배타적이진 않게, 원격 입출력 디바이스가 다수의 서버에 연결되고 다수의 서버에 의해 공유되어 있는 시스템(예컨대, 멀티-루트 입출력 가상현실화(multi-root I/O virtualization)를 수행하는 시스템)에서 적절하다. 하나의 서버의 장애는 원격 입출력 장치가 장애를 일으키게 해서는 안 된다는 것과 그 이유로 다른 나머지 서버(들)에 원격 입출력 장치의 서비스를 제공할 수 없어서는 안 된다는 것이 이해될 것이다.
도 6은 본 발명의 실시예에 따라 변형된, 도 2의 일반적인 구성을 도시하고 있다. 특히, 도 6의 구성에서, 원격 입출력 기기 내의 케이블 어댑터는 회복력 있는 케이블 어댑터(Resilient Cable Adaptor)로 대체된다.
도 6에서, 서버(50)는 PCI 익스프레스 연결(53)을 통해 케이블 어댑터(52)와 연결된 CPU/RC(51)을 포함한다. 케이블 어댑터(52)는 케이블(56)을 통해 원격 입출력 기기(Remote I/O appliance)(55) 내에 수용된 회복력 있는 케이블 어댑터(Resilient Cable Adaptor)(54)에 CPU/RC(51)를 연결시킨다. 원격 입출력 기기(55)는 또한 PCI 익스프레스 연결(58)에 의해 회복력 있는 케이블 어댑터(54)에 연결되고, 이더넷 연결(59)을 통해 네트워크(5)에 연결된 NIC(57)을 수용한다.
회복력 있는 케이블 어댑터(54)는 회복력 있는 케이블 어댑터(54)의 상류측(upstream)의 구성 요소들의 장애를 검출하도록 맞춰져 있다. 상류측 구성 요소의 장애를 검출하면, 회복력 있는 케이블 어댑터(54)는 서버(50)의 존재를 에뮬레이트(emulate)하도록 맞춰져 있다. 예를 들면, 회복력 있는 케이블 어댑터(54)는 적절한 시기에, 비치명적 에러 상태로, NIC(57)에 의해 발행된 당해 메모리 리드/라이트 요청들(outstanding memory read/write requeats)에 응답하여 완료 데이터 패킷을 발행하도록 구성될 수 있다.
회복력 있는 케이블 어댑터(37)를 참조하여 위에서 설명한 것처럼, NIC(57)로 제공되는 에러 메시지들은 완료 데이터 패킷을 요청하는 트랜잭션에 의존할 것이다.
서버들과 원격 리소스들의 구성은 회복력 있는 케이블 어댑터(37)와 회복력 있는 케이블 어댑터(54) 모두를 포함할 수 있음이 이해될 것이다. 즉, 어떤 구성들에는, 회복력 있는 케이블 어댑터가 하나 이상의 서버에 의해 한정된 하나 이상의 개별적인 장애 유닛 내에, 및 하나 이상의 개별적인 원격 연결된 리소스에 의해 한정된 하나 이상의 장애 유닛 내에 모두 제공될 수 있다.
이전에 설명된 실시예들은 서버와 원격 연결된 PCI 익스프레스 이더넷(PCI Express Ethernet) 네트워크 인터페이스 카드들(network interface cards, NICs)을 포함하는 시스템들을 참조하면서 설명되었다. 그러나, 본 발명은 더 일반적으로 적용가능함이 이해될 것이다. 정말로 본 발명은 PCI 익스프레스를 제외한, NICs를 제외한 원격 디바이스들(예컨대, Fibre Channel Host Adaptors, 스토리지 컨트롤러 등)을 갖는, 상호연결들을 이용한 시스템에 사용될 수 있다.
나아가, 위의 설명이 서버의 원격 연결된 리소스를 갖는 서버를 포함하는 시스템과 관련이 있는 반면에, 본 발명은 제1 서버와 제2 서버 간의 통신을 위하여 사용될 수 있다.
나아가, 본 발명은 멀티-서버 입출력 가상현실화 시스템들(multi-server I/O virtualisation systems) 같은 연결된 디바이스들의 다른 구성에도 적용할 수 있다. 정말로, 많은 실시예에서, 본 발명을 이용하는 시스템들은 각각의 서버가 다수의 독립적인 원격 디바이스와의 연결들을 갖는 다수의 서버를 포함할 수 있음이 이해될 것이다. 그런 구성들은 하나의 원격 디바이스와 결부된 장애의 사건에서 다른 하나의 원격 연결된 디바이스를 이용하여 각각의 서버가 유용한 동작을 계속하게 할 것이다. 멀티플 서버 또는 멀티플 원격 리소스가 제공될 경우에, 회복력 있는 케이블 어댑터(37, 54)는 적절한 비치명적 에러 메시지를 선택하기 위하여 (필요한 경우 장애가 발생한 서버 또는 원격 리소스의 실제 트랜잭션을 고려하면서) 어떤 서버 또는 어떤 원격 리소스가 장애를 일으켰는지에 대한 기록을 유지한다.
회복력 있는 케이블 어댑터는 본 발명의 기능성과 표준 케이블 어댑터의 기능성을 포함하는 단일 디바이스로서 위에서 설명되는 반면, 본 발명은 전용 디바이스에서 수행될 수 있다는 것을 이해할 수 있을 것이다. 예를 들면, 도 2를 참조하면, 본 발명을 실행하는 디바이스는 CPU/RC(10)와 케이블 어댑터(9) 사이에, 또는 케이블 어댑터(9)와 케이블(14) 사이에 배치될 수 있다.
회복력 있는 케이블 어댑터(37, 54)는 필드 프로그래머블 게이트 어레이(Field Programmable Gate Arrary, FPGA) 또는 ASIC(Application Specific Integrated Circuit)에서 실행될 수 있다. 그러나, 회복력 있는 케이블 어댑터(37, 54)는 어떤 적당한 수단을 사용하여 실행될 수 있다.
앞의 설명은 데이터 패킷이 서버와 입출력 디바이스 간에 전송되는 발명의 실시예를 설명하였다. 서버라는 용어는 넓게 의도하는 것임을 그리고 어떠한 컴퓨팅 디바이스를 커버하도록 의도하는 것임을 이해할 수 있을 것이다.
본 발명의 또 다른 변형 및 응용들이 청구항들의 범위를 벗어나지 않으면서, 여기에서의 가르침으로부터 통상의 기술자에게 용이하게 명백할 것이다.
5 : 네트워크
35 : 서버 36 : CPU/RC
37 : 회복력 있는 케이블 어댑터
39 : 원격 입출력 기기
40 : 케이블
41 : NIC
43 : 이더넷 연결

Claims (17)

  1. 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법에 있어서,
    상기 제1 및 제2 디바이스 사이의 중간의 제3 디바이스에서, 상기 제1 디바이스와 상기 제2 디바이스 간의 통신 장애를 검출하고,
    상기 제3 디바이스로부터 상기 제1 디바이스로 상기 제2 디바이스가 상기 제1 디바이스와는 사용불가임을 나타내는 제1 데이터를 전송하는 것을 포함하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  2. 제 1 항에 있어서,
    상기 제3 디바이스에서, 상기 제1 디바이스로부터 상기 제2 디바이스로의 제2 데이터를 차단하는 것을 더 포함하고,
    상기 제1 및 제2 디바이스 간의 통신 장애를 검출하는 것은 상기 제2 데이터에 대한 응답은 상기 제1 디바이스에 수신되지 않을 것임을 검출하는 것을 포함하는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  3. 제 2 항에 있어서,
    상기 제1 데이터의 소스를 나타내도록 의도된 제1 데이터의 일부는 상기 제2 디바이스를 나타내는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 제1 데이터는 상기 제1 데이터가 상기 제2 데이터에 대한 응답임을 나타내는 데이터를 포함하는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  5. 앞선 어느 청구항에 있어서,
    상기 제1 및 제2 디바이스 중 적어도 하나는 서버인 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  6. 앞선 어느 청구항에 있어서,
    상기 제1 및 제2 디바이스 중 적어도 하나는 입출력 디바이스인 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  7. 앞선 어느 청구항에 있어서,
    상기 제1 디바이스는 PCI 익스프레스 연결을 통해 상기 제2 디바이스에 연결되는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  8. 앞선 어느 청구항에 있어서,
    상기 제1 데이터는 상기 제2 디바이스가 도달할 수 없는 것임을 나타내는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  9. 제 1 항 내지 제 8 항 중 어느 항에 있어서,
    상기 제1 데이터는 상기 제2 디바이스가 기능장애인 것을 나타내는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  10. 제 1 항 내지 제 9 항 중 어느 항에 있어서,
    상기 제1 데이터는 상기 제1 데이터가 손상되었음을 나타내는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  11. 앞선 어느 청구항에 있어서,
    상기 제1 및 제2 디바이스 간의 통신 장애를 검출하는 것은 상기 제1 및 제2 디바이스를 연결하는 케이블이 연결되지 않았음을 검출하는 것을 포함하는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  12. 앞선 어느 청구항에 있어서,
    상기 제1 및 제2 디바이스 간의 통신 장애를 검출하는 것은,
    상기 제1 디바이스로부터 상기 제2 디바이스로 제3 데이터를 전송하고,
    상기 제3 데이터에 대한 응답이 소정 시간 주기 내에 상기 제2 디바이스로부터 수신되지 않으면, 상기 제1 및 제2 디바이스 간의 통신 장애가 발생하였음을 판단하는 것을 특징으로 하는 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하는 방법.
  13. 컴퓨터가 제 1 항 내지 제 12 항 중 어느 하나의 항에 따른 방법을 실행할 수 있게 하는 컴퓨터 리드 가능한 지시들을 포함하는 컴퓨터 프로그램.
  14. 제 13 항에 따른 컴퓨터 프로그램을 수용하는 컴퓨터 리드 가능한 매체.
  15. 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하기 위한 컴퓨터 장치에 있어서,
    프로세서 리드 가능한 지시들을 저장하는 메모리; 및
    상기 메모리에 저장된 지시들을 읽고 실행하도록 구성된 프로세서를 포함하고,
    상기 프로세서 리드 가능한 지시들은 상기 컴퓨터가 제 1 항 내지 제 12 항 중 어느 하나의 항에 따른 방법을 실행하도록 제어하는 지시들을 포함하는 컴퓨터 장치.
  16. 제1 디바이스와 제2 디바이스 간의 통신 장애를 관리하기 위한 장치에 있어서,
    상기 제1 및 제2 디바이스 사이의 중간의 제3 디바이스에서, 상기 제1 디바이스와 상기 제2 디바이스 간의 통신 장애를 검출하기 위한 수단;
    상기 제2 디바이스가 상기 제1 디바이스와는 사용 불가함을 나타내는 제1 데이터를 상기 제3 디바이스로부터 상기 제1 디바이스로 전송하기 위한 수단을 포함하는 장치.
  17. 제1 디바이스와 제2 디바이스 간의 연결을 위한 회복력 있는 케이블 어댑터에 있어서,
    연결된 제1 및 제2 디바이스 간의 통신 장애를 검출하는 검출기;
    연결된 제2 디바이스가 상기 제1 디바이스와는 사용 불가함을 나타내는 제1 데이터를 연결된 제1 디바이스로 전송하는 전송기를 포함하는 회복력 있는 케이블 어댑터.
KR1020147011657A 2011-10-05 2012-09-28 연결 방법 KR102018225B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1117230.1A GB2495313B (en) 2011-10-05 2011-10-05 Connection method
GB1117230.1 2011-10-05
PCT/GB2012/052413 WO2013050745A1 (en) 2011-10-05 2012-09-28 Connection method

Publications (2)

Publication Number Publication Date
KR20140090171A true KR20140090171A (ko) 2014-07-16
KR102018225B1 KR102018225B1 (ko) 2019-09-05

Family

ID=45035231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147011657A KR102018225B1 (ko) 2011-10-05 2012-09-28 연결 방법

Country Status (7)

Country Link
US (1) US9798601B2 (ko)
EP (1) EP2764438B1 (ko)
JP (1) JP6134720B2 (ko)
KR (1) KR102018225B1 (ko)
CN (1) CN103858105B (ko)
GB (1) GB2495313B (ko)
WO (1) WO2013050745A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200076828A (ko) 2018-12-19 2020-06-30 주식회사 포스코 코일 틸팅 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140365699A1 (en) * 2013-06-11 2014-12-11 Allied Telesis Holdings Kabushiki Kaisha Adapter card for thin computing devices
US10466220B1 (en) 2018-09-21 2019-11-05 Pace Analytical Services, LLC Alerting for instruments that transfer physical samples

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060046331A (ko) * 2004-06-01 2006-05-17 캐논 가부시끼가이샤 정보처리장치 및 디바이스
KR20060135891A (ko) * 2004-04-19 2006-12-29 캐논 가부시끼가이샤 네트워크 디바이스 관리 장치 및 그 제어 방법
JP2008165269A (ja) * 2006-12-26 2008-07-17 Fujitsu Ltd データ中継装置、ストレージ装置、および応答遅延監視方法
US20080288633A1 (en) * 2007-05-18 2008-11-20 Kestrelink Corporation Network device tracking using a network device server

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100193809B1 (ko) * 1995-11-16 1999-06-15 윤종용 팩시밀리에 있어서 에러상태 통보방법
US5864653A (en) * 1996-12-31 1999-01-26 Compaq Computer Corporation PCI hot spare capability for failed components
US20020194319A1 (en) * 2001-06-13 2002-12-19 Ritche Scott D. Automated operations and service monitoring system for distributed computer networks
JP2005172218A (ja) * 2003-11-21 2005-06-30 Hama International:Kk 管継手
JP4487756B2 (ja) * 2004-12-16 2010-06-23 日本電気株式会社 コンピュータシステム及びシステム監視プログラム
JP2007094706A (ja) * 2005-09-28 2007-04-12 Konica Minolta Business Technologies Inc データ処理装置、システムおよびケーブル接続異常対応方法
US20070240209A1 (en) * 2006-04-05 2007-10-11 Lewis Adam C Session persistence on a wireless network
JP5151500B2 (ja) * 2008-01-18 2013-02-27 日本電気株式会社 コンピュータシステム、障害処理方法および障害処理プログラム
GB2460014B (en) * 2008-04-28 2011-11-23 Virtensys Ltd Method of processing data packets
US7757014B2 (en) * 2008-05-14 2010-07-13 Tsung-Hsien Ho Method for disconnecting a transceiver from a bus in multipoint/multidrop architecture
CN102318276B (zh) * 2008-12-15 2014-07-02 惠普开发有限公司 检测计算机系统中的不可靠的链路
JP5281942B2 (ja) * 2009-03-26 2013-09-04 株式会社日立製作所 計算機およびその障害処理方法
JP2010238150A (ja) * 2009-03-31 2010-10-21 Toshiba Corp PCIExpress通信システム、及びその通信方法
JP2010288148A (ja) * 2009-06-12 2010-12-24 Ricoh Co Ltd データ通信装置、データ通信制御方法、データ通信制御プログラム及び記録媒体
US20110047413A1 (en) * 2009-08-20 2011-02-24 Mcgill Robert E Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060135891A (ko) * 2004-04-19 2006-12-29 캐논 가부시끼가이샤 네트워크 디바이스 관리 장치 및 그 제어 방법
KR20060046331A (ko) * 2004-06-01 2006-05-17 캐논 가부시끼가이샤 정보처리장치 및 디바이스
JP2008165269A (ja) * 2006-12-26 2008-07-17 Fujitsu Ltd データ中継装置、ストレージ装置、および応答遅延監視方法
US20080288633A1 (en) * 2007-05-18 2008-11-20 Kestrelink Corporation Network device tracking using a network device server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200076828A (ko) 2018-12-19 2020-06-30 주식회사 포스코 코일 틸팅 장치

Also Published As

Publication number Publication date
CN103858105B (zh) 2017-08-29
JP6134720B2 (ja) 2017-05-24
EP2764438B1 (en) 2019-04-24
US20130091271A1 (en) 2013-04-11
US9798601B2 (en) 2017-10-24
GB2495313A (en) 2013-04-10
EP2764438A1 (en) 2014-08-13
WO2013050745A1 (en) 2013-04-11
CN103858105A (zh) 2014-06-11
GB2495313B (en) 2013-12-04
KR102018225B1 (ko) 2019-09-05
GB201117230D0 (en) 2011-11-16
JP2014532236A (ja) 2014-12-04

Similar Documents

Publication Publication Date Title
EP2052326B1 (en) Fault-isolating sas expander
US7536584B2 (en) Fault-isolating SAS expander
US8402189B2 (en) Information processing apparatus and data transfer method
US7673185B2 (en) Adaptive SAS PHY configuration
JP5127491B2 (ja) ストレージサブシステム及びこれの制御方法
US7565567B2 (en) Highly available computing platform
US20090094620A1 (en) High data availability sas-based raid system
EP1665048A1 (en) Management of error conditions in high-availability mass-storage-device shelves by storage-shelf routers
JPH086910A (ja) クラスタ型計算機システム
JP6183931B2 (ja) クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びプログラム。
US20170038984A1 (en) Storage system that has a plurality of managers among which a master manager is switchable
KR102018225B1 (ko) 연결 방법
CN106502944A (zh) 计算机、pcie设备以及pcie设备的心跳检测方法
US20140298076A1 (en) Processing apparatus, recording medium storing processing program, and processing method
US8019217B2 (en) Storage system and optical module switching method for storage system
US9760460B2 (en) Storage system, storage device, and monitoring server
WO2007107884A2 (en) Apparatus for detecting errors in a communication system
US10235045B2 (en) Storage system and control apparatus
US10599510B2 (en) Computer system and error isolation method
US11669399B2 (en) System and method for fault identification and fault handling in a multiport power sourcing device
JP2004013723A (ja) 共有メモリを使ったクラスタ構成を採用した情報処理システムの障害処理装置と方法
JP2009104391A (ja) メモリ二重化システム及び情報処理装置
WO2017199288A1 (ja) 計算機システム、及び、障害管理方法
Guide FICON
JP2007026148A (ja) Fc−alシステム、fc−alシステムにおけるコマンド送信方法及びデータ記憶装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right