KR100232247B1 - 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법 - Google Patents

클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법 Download PDF

Info

Publication number
KR100232247B1
KR100232247B1 KR1019950036939A KR19950036939A KR100232247B1 KR 100232247 B1 KR100232247 B1 KR 100232247B1 KR 1019950036939 A KR1019950036939 A KR 1019950036939A KR 19950036939 A KR19950036939 A KR 19950036939A KR 100232247 B1 KR100232247 B1 KR 100232247B1
Authority
KR
South Korea
Prior art keywords
disk
node
access
failure
path
Prior art date
Application number
KR1019950036939A
Other languages
English (en)
Other versions
KR960015278A (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
Priority to US332,157 priority Critical
Priority to US33215794A priority
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR960015278A publication Critical patent/KR960015278A/ko
Application granted granted Critical
Publication of KR100232247B1 publication Critical patent/KR100232247B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1423Reconfiguring to eliminate the error by reconfiguration of paths
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/202Error 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 processing functionality is redundant
    • G06F11/2035Error 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 processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/202Error 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 processing functionality is redundant
    • G06F11/2046Error 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 processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

클러스터화된 계산기 시스템의 디스크 액세스 경로 고장으로부터 회복하기 위한 시스템 및 방법. 상기 클러스터화 된 계산기 시스템의 각 노드에는 그 노드에서 실행되는 응용들로부터의 물리적 디스크 액세스 요구들을 처리하고 또한 상기 디스크 액세스 요구들을 그 디스크가 물리적으로 연결되어 있는 적절한 서버로 향하게 하기 위한 대리 소프트웨어가 제공된다. 각 노드상의 상기 대리 소프트웨어는 그 노드로부터 나온 모든 펜딩된 요구들을 위한 상태 정보를 유지한다. 디스크 액세스 경로상의 고장 검출에 응답하여, 모든 노드들에 있는 대리 소프트 웨어는 디스크 액세스에 대한 계속적인 모든 요구들을 상기 디스크에 물리적으로 연결 제2노드로 향하게 한다.

Description

클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법

제1도는 본 발명의 바람직한 일실시예에 대한 전체적 블럭도.

제2도는 트윈-테일 디스크의 바람직한 구조를 보이는 도면.

제3도는 클라이언트 노드에서 요구를 처리하는데 관련되는 단계들을 보이는 흐름도.

제4도는 서버 노드에서 요구를 처리하는데 관련되는 단계들을 보이는 흐름도.

제5도는 조정자 노드에서 복구에 관련되는 단계들을 보이는 흐름도.

제6도는 참가자 노드에서 복구에 관련되는 단계들을 보이는 도면.

제7도는 가상 공유 디스크들에 관련된 데이터 및 메모리 상주 논리에 대한 상세한 블럭도.

* 도면의 주요부분에 대한 부호의 설명

100 : 노드 150 : 프로세서

200 : 메모리 300 : 디스크 어댑터

400 : 디스크 500 : 상호 연결부

[발명의 배경]

[발명의 분야]

본 발명은 일반적으로 분산 컴퓨터 환경(distributed computing environment)에 관한 것이다. 좀더 구체적으로는, 클러스터내의 각 프로세서가 그 클러스터내의 어떠한 디스크도 액세스할 수 있는 프로세서들의 클러스터에서의 사용 방법에 관한 것이다.

[관련기술]

고성능 마이크로프로세서들에 대한 가용성(availability)은 클러스터(cluster)를 모놀리식 시스템(monolithic system)에 대한 매력적인 대안이 되게 만들었다. 자신의 계산(computation)을 여러 노드들로 분할시킬 수 있는 응용들은 이러한 구조를 이용할 수 있는데, 이러한 구조는 일반적으로 모놀리식 시스템보다 더 우수한 가격 대 성능비를 제공한다. 그러한 응용들은 대량의 과학적 계산, 데이터 베이스 및 트랙잭션 처리(transaction processing) 시스템, 판단 지원 시스템 등을 포함한다.

마이크로프로세서 클러스터(microprocessor cluster)는 네트워크나 통신 스위치와 같은 프로세서간 통신 메커니즘에 결합된 다수의 개별적인 계산기 시스템(computing system)으로 구성된다. 각 계산기 시스템은 자신의 프로세서, 메모리, I/O 서브시스템을 가지며 별도의 운영 체제(operating system)를 실행한다.

그러나 최대의 효과를 얻기 위해서는 응용이 특정 계산기 시스템으로부터 분리되어 클러스터내의 모든 노드들을 동등하게 다룰수 있는 것이 바람직하다. 이러한 능력은 때로 “단일 시스템 이미지(single system image)”라 불린다.

단일 시스템 이미지의 유용한 점으로는 동일한 I/O 디바이스 자원들이 클러스터내 모든 프로세서들에게 동등하게 이용가능해야 한다는 요건이다. 이는 처리 작업들이 프로세서들 사이에서 자유롭게 이동될 수 있게 한다. 게다가 이는 자신들의 계산을 위해 데이터 공유 모델(data sharing model)을 채택하는 병렬 응용들(parallel applications)의 개발을 용이하게 한다.

바람직하게는 가용성을 높이기 위해, 모든 프로세서들에게 동일한 I/O 자원들을 제공하기 위한 많은 다양한 접근법들이 있을 수 있다. 데이터 복제(data replication)는 가장 간단한 형태(특히 판독 전용 데이터인 경우)이지만, 이 방법은 비용(공유되지 않는 자원들)을 증가시키며 시간의 경과에 따라 정보가 변경되는 경우는 곤란한 점들을 드러낸다.

대안적인 방법의 하나로는 여러 프로세서들에 물리적으로 부착될 수 있는 디바이스들을 구비하는 것이다. 예를 들면 트윈-테일(twin-tailed)(이중 포트형)디스크들이 보편적인 것이다. 4-테일 디스크 및 8-테일 디스크까지 만들 수 있기는 하지만 이들은 비용도 증가시키고 동작도 난해하다.

상기 두 경우 모두에 있어, 각 프로세서는 자원들에 대해 독립적인 액세스를 가지므로, 프로세서 및/또는 어댑터의 고장이 발생한 경우에 데이터의 연속적인 액세스를 위해 아무런 조처도 제공할 필요가 없다.

NFS, AFS, DFS와 같은 분산 화일 시스템(distributed file system)은 특정 I/O 디바이스를 그 디바이스에 의도된 서비스로부터 분리시키고, 이러한 서비스들을 클러스터내 프로세서들에게 제공한다. 이는 상기 디바이스의 사용을 상기 서비스들로 제한하여, 메모리 계층내에서 데이터의 위치를 명시적으로 알고 있는 응용들에는 적합하지 않게 한다. 예를 들어, 데이터 베이스 시스템은 데이터 버퍼링이나 데이터 배열등의 서비스를 제공하는 화일 시스템에 의존하기 보다는 자기 자신의 버퍼링에 의존할 수도 있고 디스크상에 데이터를 자신만의 방식으로 배열하기를 원할 수도 있다. 이러한 경우, 응용은 I/O 디바이스에 대한 직접적인 액세스를 선호할 수도 있다.

높은 가용성면에서 보자면, HA-NFS는 NFS 고객들에게 가용성이 높은 NFS서버를 제공하지만 높은 가용성을 가능하게 하는 중요한 기능들을 제공하기 위해서는 그 기저에 깔린 네트워크 기술(IP 어드레스 인수(takeover))에 지나치게 의존한다.

[발명의 개요]

본 발명의 목적은, 모든 I/O 디바이스가 모든 노드에 부착됨을 요구하지 않고도 클러스터내 프로세서들로 하여금 I/O 디바이스들을 공유할 수 있게 하는 시스템에서, 노드 및/또는 어댑터 고장시에 투명한 복구(transparent recovery)를 제공하며 응용들로 하여금 생존 노드들(surviving nodes)에서 실행되게 하여 상기 고장에도 불구하고 처리를 계속할 수 있게 하는 것이다. 상기 투명성은 고장이 나기 전에 발송한 어떠한 요구들도 응용이 재발송할 필요가 없음을 의미한다.

따라서 본 발명은 클러스터화된 계산기 시스템의 디스크 액세스 경로내 고장들로부터 회복시키기 위한 시스템 및 방법을 제공한다. 클러스터화된 계산기 시스템의 각 노드에는, 그 노드에서 실행되는 응용들로부터의 물리적 디스크 액세스 요구들을 처리하고 상기 디스크 액세스 요구들을 그 디스크가 물리적으로 연결된 적절한 서버로 향하게 하기 위한 대리 소프트웨어(proxy software)가 제공된다.

상기 각 노드상의 대리 소프트웨어는 그 노드로부터 개시되는 모든 펜딩된 요구들을 위한 상태 정보를 유지한다. 디스크 액세스 경로(예를 들면 노드 내부 또는 디스크 어댑터)의 고장 검출에 응답하여, 모든 노드들상에 있는 대리 소프트웨어는 또다른 모든 디스크 액세스 요구들을 동일한 디스크에 물리적으로 연결된 제2노드로 향하게 한다.

본 발명의 바람직한 일 실시예에 있어서, 상기 대리 소프트웨어(proxy software)는 하나의 소프트웨어 계층으로 구현되는데, 이는 가상 디바이스들을 정의하고 이 디바이스들로의 I/O 요구들을 인터셉트하고 이 요구들(기록을 위해서는, 데이터도 포함하여)을 실제디바이스가 물리적으로 연결되어 있는 적절한 서버 프로세서에게 경로설정함으로써 프로세서들로 하여금 원격 프로세서들에 물리적으로 연결된 I/O 디바이스들을 액세스할 수 있게 한다. 서버 프로세서(server processor)는 실제의 I/O 동작을 수행하며 종료 메시지(판독을 위해서는, 데이터도 포함하여)를 개시 프로세서(originating processor)에게 되돌려 준다. 상기 종료 메세지를 받자 마자, 개시 프로세서는 그에 따라 상기 요구를 발송한 프로세스에게 알려준다.

트윈-테일 디스크를 사용하면, 다음과 같이 높은 가용성을 얻을 수 있다.

특정한 한 디스크에 대하여 그 디스크에 연결된 프로세서들 중 하나가 1차 서버(primlary server)로 지정된다. 정상적인 동작 동안에는 클러스터내 임의의 장소에서 개시된 상기 디스크에 대한 I/O 요구가 1차 서버로 보내진다. 만약 1차 서버나 그의 디스크 어댑터가 고장나면 그 디스크에 연결된 나머지 프로세서들 중 하나가 상기 디스크를 위한 1차 서버가 되며, 각 프로세서에 대한 요구 경로설정 정보(request routing information)는 변경되어 새로운 요구들은 새로운 1차 서버로 전송되도록 한다.

본 실시예에 있어서, 상기 서버는 완전히 상태가 없다(stateless). 즉, 펜딩된 원격 요구들의 모든 상태는 클라이언트상에서 유지된다. 그러므로 서버 또는 어댑터가 고장나는 경우, 고장전에 발송되었던 펜딩된 요구들은 클라이언트에 의해 새로운 서버로 재발송될 수 있으며 응용들은 상기 고장을 절대 알지 못한다.

[바람직한 실시예에 대한 상세한 설명]

제1도는 본 발명의 바람직한 일실시예에 대한 블럭도로서, 회복가능한 가상 공유 디스크들의 서브시스템을 포함한다. 이는 독립적인 계산 노드(computing node)(이하 노드로 칭함)(100-1 내지 100-N)들의 집합(클러스터)을 포함한다.

각 노드는 노드(100-1로 표시)를 위한 프로세서(150-1로 표시)와 메모리(200-1로 표시)를 구비한다(따라서, 노드(100-N)는 프로세서(150-N)와 메모리(200-N)를 구비한다). 본 기술분야의 당업자라면 각 노드가 별도의 메모리를 가질 수도 있고 노드들이 메모리를 공유할 수도 있음을 쉽게 인식할 것이다.

노드들은 상호 연결부(interconnection)(500)을 통해 통신할 수 있다. 이 상호 연결부는 스위치, 근거리 통신망, 공유 메모리 또는 클러스터내 노드들로 하여금 데이터를 교환할 수 있게 하는 어떠한 종류의 매체도 가능하다.

각 노드는 노드(100-1)를 위해 다수의 디스크 어댑터(300-1-1 내지 300-1-I로 표시)를 구비한다(따라서 노드(100-N)를 위해서는 (300-N-1 내지 300-N-I)로 표시되는 디스크 어댑터들을 구비). (400-1-1-1 내지 400-1-1-J)로 표시된 디스크들은 어댑터(300-1-1)에 부착된다(따라서, (400-N-I-1 내지 400-N-I-J)로 표시된 디스크들은 어댑터(300-N-I)에 부착된다). 노드당 디스크 어댑터들의 갯수는 모든 노드들이 동일할 필요가 없다. 또한 어댑터당 디스크들의 갯수도 모든 디스크 어댑터들이 동일할 필요가 없다. 어떤 노드들은 심지어 디스크 어댑터를 전혀 가지지 않을 수도 있다.

다수의 노드들에 의해 공유되는 디스크들은 직접적으로 연결된 물리적 디스크들을 어드레스하기 위해 노드에 의해 사용되는 동일한 프로그래밍 인터페이스를 이용함으로써 클러스터 전체를 통해 하나의 공통 명칭으로 어드레스된다. 이는 디스크들이 클러스터내 각 노드에 물리적으로 연결되었다는 착각(illusion)을 갖게 한다. 상기와 같은 액세스를 가능하게 하는 소프트웨어 및 프로그래밍 인터페이스를 가상 공유 디스크(Virtual shared disk)라 부른다.

각 프로세서의 메모리는 가상 공유 디스크에 관한 대리 논리(proxy logic) 및 상태 데이터(state data)를 포함한다. 상기 상태 데이터는 물리적으로 연결된 디스크들을 위해 일반적으로 운영 체제에 의해 유지되는 유형의 데이터(예를 들면, 디바이스 상태, 디바이스 명칭, 펜딩된 요구 정보)뿐 아니라 후술하는 몇가지 부가적인 정보들도 포함한다. 상기 논리 및 관련 데이터는 노드(100-1)에 대해 블럭(250-1)로 보여진다(따라서, 노드(100-N)에 대해서는 블럭(250-N)), 노드(100-K)를 위한 위와 같은 블럭이 제7도에 상세히 보여진다. 상기 대리 논리는 제7도의 블럭(250-K-A)으로서 보여진다.

노드 또는 어댑터가 고장난 경우에도 계속 액세스 가능하도록 유지되어야 하는 디스크들은 서로 다른 노드들상에서 하나 이상의 어댑터에 연결된다. 제2도는 트윈-테일 디스크의 구조를 보이는데, 여기서 디스크(400-L-P-X)는 노드(100-L)상의 어댑터(300-L-P) 및 노드(100-M)상의 어댑터 (300-M-Q)에 연결된다.

정상적인 동작 동안에는, 모든 디스크마다 그 테일들중 하나가 1차 테일(primary tail)로서 선택된다. 각 노드는 시스템내 모든 가상 디스크를 현재 1차 테일을 보유하는 노드로 매핑시키는 테이블(제7도의 블럭 250-K-B)을 가진다.

상기 1차 테일은 사용되는 유일한 테일이다. 디스크의 나머지 테일은 대기(stand-by)중이다.

임의의 노드에서 실행되는 응용들은, 마치 모든 디스크들이 국부적으로 연결되어 있는 것처럼 임의의 디스크에 대한 I/O 요구도 발송할 수 있다. 개시 노드(node of origin)에서 요구를 처리하는 논리가 제3도에 보여진다. 요구가 발송되면(블럭 700), 어떤 노드가 1차 테일을 가졌는가를 판별하기 위해서 전술한 맵(테이블)(250-K-B)이 검사된다. 만약 개시 노드가 또한 서버 노드(즉 1차 테일을 보유하는 노드)라면, 상기 요구는 국부적으로 서비스된다(블럭 715). 만약 서버 노드가 개시 노드와 다르다면 서버 노드에 요구 설명자(request descriptor)가 전송된다. 만약 상기 요구가 기록 요구라면(블럭 730에서 판별됨), 기록될 데이터도 서버에 전송된다(블럭 740).

블럭(750)에서 상기 요구(판독이건 기록이건)는 원격 서버로부터의 응답을 기다린다. 응답이 도착할 때, 만약 상기 요구가 판독(블럭 760에서 판별됨)이었다면 네트워크에 도착한 데이터는 개시 요구에 주어진다(블럭 770). 만약 상기 요구가 판독이 아니었다면 요구는 종료된다(블럭 780).

요구 설명자는 운영 체제가 통상적으로 물리적 디스크 디바이스 드라이버에 보내는 데이터와 동일한 유형의 데이터(예를 들면, 디바이스 명칭, 오프셋, 요구의 크기, 옵션 플래그, 요구의 유형)를 포함할 뿐 아니라 개시 노드, 특정한 요구 식별자, 1차 노드의 어드레스와 같은 부가적인 데이터도 포함한다.

서버 노드에서 요구를 처리하는 논리가 제4도에 보여진다. 요구(블럭 800)는 국부적으로 실행되는 프로세스에 의해 발송된 것일 수도 있고, 원격 노드로 부터 네트워크에 도착한 것일 수도 있다. 블럭(810)에서 액세스 요구는 디바이스에 발송된다. 블럭(820)에서 상기 논리는 요구의 소스(source)를 판별한다. 만약 상기 요구가 국부적으로 생긴 것이라면 I/O가 종료되자 마자 동작이 종료되고 개시 프로세스(originating process)가 이를 통보받는다. 만약 요구가 다른 노드에서 개시된 것이라면, 블럭(830)에서 응답이 그 개시 노드로 되돌려 보내진다. 만약 상기 요구가 판독이라면 판독된 데이터도 전송된다. 응답이 개시 노드에 도착하면 동작은 종료되며 개시 프로세스가 이를 통보받는다.

프로세서나 어댑터의 고장이 발생하면, 이는 종래의 방식으로 검출되며 그에 따라 모든 노드들이 통보를 받는다. 본 기술분야의 당업자라면 고장을 검출하는데 여러가지 메커니즘들(예를 들면, 주기적인 건강 진단에 근거하여)이 사용될 수 있음을 인식할 것이다.

노드가 고장인 경우에 영향을 받는 가상 공유 디스크들은 그 기초를 이루는 물리적 디바이스를 위해 상기 고장난 노드가 1차 테일 역할을 하는 디스크들이다.

어댑터가 고장난 경우에 영향을 받는 가상 공유 디스크들은 그 기초를 이루는 물리적 디바이스들의 1차 테일이 상기 고장난 어댑터에 연결된 디스크들이다. 상기 영향을 받은 모든 가상 공유 디스크들을 위해, 그 기초를 이루는 물리적 디바이스의 나머지 테일이 새로운 1차 테일로 선택된다. 이 선택은 소정의 우선 순위에 기초하여 통계적으로 이루어지거나 또는 런-타임 정보를 사용하는 정책 모듈(policy module)에 의해 동적으로 이루어 질 수 있다. 상기 동적인 선택 논리(dynamic selection logic)는 남아 있는 활성 테일들(active tails)간에 부하 균형(load balancing)을 이루도록 의도될 수 있다.

클러스터내 노드들중 하나가 조정자(coordinator)로 지정된다. 이 조정자는 클러스터내에 있는 모든 노드들에게 고장에 대해 알려줄 책임이 있다. 조정자에 의해 실행되는 논리가 제5도에 보여진다. 각 참가자 노드(participant node)를 위한 논리가 제6도에 보여진다. 상기 조정자도 또한 참가자이다.

고장을 검출하면(블럭 900), 조정자는 모든 참가자들에게 고장의 영향을 받는 가상 공유 디스크들을 중단(suspend)시킬 것을 알리는 메세지를 방송한다(블럭 910). 이 메세지를 수신하면(블럭 1000), 각 참가자는 상기 영향받은 가상 공유디스크들을 중단시킨다(블럭 1010). 가상 공유 디스크의 중단(suspension)이란 가상 디바이스가 일시적으로 아무런 1차 테일도 갖지 않는 것으로 표시된다는 것을 뜻한다. 고장난 서버에 전송된 펜딩된 요구(pending request)들은 개시 클라이언트(client of origin)에 의해 상기 요구의 저장 목적으로 제공된 큐에 저장된다. 가상 디바이스가 중단된 동안 도착하는 요구들도 개시 클라이언트에 의해 동일한 큐에 저장된다.

고장의 영향을 받은 디바이스들이 중단된 다음에 각 참가자는 조정자에게 애크놀리지(acknowledgement)를 보낸 후(블럭 1020), 조정자로부터 재개 메세지(resume message)를 수신할 때까지 대기한다(즉, 영향받은 VSD 에 대해 더 이상의 동작을 취하지 않는다)(블럭 1030). 다른 처리는 영향을 받지 않는다. 조정자는 모든 참가자로부터의 응답을 기다리며(블럭 920), 그 후 상기 영향받은 가상 공유 디스크를 재개시키는 메세지를 모든 참가자들에게 방송한다(블럭 930). 이 메세지를 받으면, 각 참가자들은 영향받은 가상 디바이스들을 재개시킨다(블럭 1040).

가상 디바이스의 재개(resumption)란, 선택된 새로운 1차 테일을 보유하고 있는 노드가 그 가상 디바이스를 위한 목적지 맵(destination map)에 기록된다는 것을 의미한다. 재개후에 참가자는 조정자에게 애크놀리지를 보내고(블럭 1050), 모든 펜딩된 요구들(중단전에 펜딩된 것뿐 아니라 중단 기간동안 시작된 요구도)을 그 디바이스를 위한 새로운 서버로 재발송한다(블럭 1060). 조정자는 모든 노드들로 부터 2차 애크놀리지를 받는다(블럭 940).

고장의 영향을 받은 가상 공유 디스크들의 중단 및 재개를 달성하기 위해, 전술한 두 단계 수행(two-phase commit)의 변형 대신에 협약 프로토콜(agreement protocol)들이 사용될 수 있다. 더 나아가 조정자 고장의 경우는 회복의 조정을 수행하기 위한 다른 조정자가 선택될 수 있다.

빈번하게 또는 최근에 액세스된 데이터를 가진 버퍼는 디스크의 1차 테일을 보유한 노드에 있는 메모리에 유지될 수 있다. 만약 요구된 데이터가 메모리에서 이용가능하다면 버퍼링된 메모리 사본이 사용된다. 만약 이용가능하지 않다면 물리적인 디스크 액세스가 일어나야만 한다.

트윈-테일 또는 일반적인 다중-테일 디스크(multi- tailed disk)에 대해, 디스크에 물리적으로 연결된 어떠한 노드도 서버의 역할을 할 수 있다. 더 나아가, 그 디스크에 물리적으로 연결된 프로세서들의 임의의 부분 집합이 동시에 서버 역할을 할 수 있다. 즉, 하나 이상의 1차 테일들이 동시에 활성화(active)될 수 있다. 특정 디스크에 연결되지 않은 노드들은 상기 요구를 자신의 활성 서버중 하나에 보냄으로써 디스크를 액세스할 수 있다. 서버의 선택은 통계적으로 또는 동적으로 이루어질 수 있다.

고장이 발생한 경우에 처리되고 재 경로설정되는 디스크 액세스들은 화일 시스템 동작이 아닌 물리적 액세스 명령들임을 이해해야 한다. 다시 말하면 본 발명의 시스템에서는 가상 공유 디스크를 구비한 각 노드가 디스크 디바이스 드라이버에 명령들(물리적 디스크의 특정 위치로의 판독 및 기록과 같은)을 발송함에 있어 , 마치 상기 물리적 디스크가 디스크 어댑터를 통해 상기 노드에 직접 연결되어 있는 것처럼 명령을 발송한다. 이 명령들은 가상 공유 디스크 소프트웨어로부터 디스크의 1차 테일(포트)에 직접 연결된 노드상의 디스크 드라이버 소프트웨어로 전달되고, 이 디스크 드라이버 소프트웨어는 연결된 포트를 통해서 디스크 제어기로 명령을 발송한다.

본 발명이 바람직한 실시예를 통하여 설명되기는 하였으나, 본 기술분야의 당업자라면 여러가지 변형 및 개선을 행할 수 있다. 그러므로 전술한 바람직한 실시예는 예시로서 제공된 것이지 본 발명에 대한 제한이 아니다. 본 발명의 범위는 첨부된 특허청구범위에 의해 정해진다.

Claims (9)

  1. 적어도 세 개의 상호연결된 노드들 - 상기 노드들중의 일부는 서버 노드이고, 각 노드는 메모리와 멀티 포트 디스크를 포함하고, 상기 멀티 포트 디스크는 1차 서버 노드에 물리적으로 연결된 적어도 하나의 1차 테일과 2차 서버 노드에 물리적으로 연결된 2차 테일을 가진다 - 을 포함하는 클러스터화된 계산기 시스템의 디스크 액세스 경로 고장으로부터 회복하는 방법에 있어서, ① 상기 클러스터화된 계산기 시스템의 디스크 액세스 경로의 고장을 검출하는 단계 - 고장난 액세스 경로는 상기 1차 테일과 관련된다 - 와, ② 상기 고장을 검출하면, 조정자 노드는 상기 디스크로의 액세스를 가지는 상기 시스템의 모든 노드들로 제1메시지를 방송하는 단계와, ③ 각 노드가 상기 디스크로의 액세스를 중단시키는 상기 제1메시지를 수신하고, 상기 디스크로의 액세스 중단을 상기 조정자 노드에 애크놀리지하는 단계와, ④ 상기 디스크로의 액세스 중단을 애크놀리지하는 상기 단계에 응답해서, 상기 조정자 노드가 상기 디스크로의 액세스를 재개시키라는 제2메시지를 상기 노드들로 방송하는 단계와, ⑤ 각 노드는 상기 제2메시지를 수신하고, 상기 2차 테일에 의해 상기 디스크로의 액세스를 재개하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
  2. 제1항에 있어서, 모든 서버 노드들은 디스크 어댑터를 포함하고, 상기 디스크 액세스 경로는 상기 디스크 어댑터와 상기 서버 노드들을 포함하고, 고장을 검출하는 상기 단계는 상기 노드들중의 적어도 하나 또는 상기 디스크 어댑터들의 상기 고장을 검출하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
  3. 제1항에 있어서, 상기 조정자 노드가 고장난 경우에는, 회복의 조정을 수행하기 위해서 백업 조정자 노드를 지정하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
  4. 클러스터화된 다중 처리 시스템에 있어서, ① 적어도 세 개의 상호연결된 노드들 - 상기 노드들중의 일부는 서버 노드들이고, 각 노드는 메모리를 포함한다 - 과, ② 1차 서버 노드에 물리적으로 연결된 적어도 하나의 1차 테일과 2차 서버 노드에 물리적으로 연결된 2차 테일을 가지는 멀티 포트 디스크와, ③ 개시 노드로부터의 디스크 액세스 요구를 상기 개시 노드, 상기 서버 노드들과 상기 디스크 사이에 정의된 1차 디스크 액세스 경로와 2차 디스크 액세스 경로중의 적어도 하나를 따라서 상기 디스크에 물리적으로 연결된 서버 노드로 전달하도록 상기 노드들에 결합된 디스크 액세스 요구 메커니즘과, ④ 상기 1차 디스크 액세스 경로와 상기 2차 디스크 액세스 경로중의 하나에서의 고장을 검출하도록 상기 노드들에 결합된 고장 검출 메커니즘과, ⑤ 고장이 검출될 때, 상기 디스크로의 비고장 디스크 액세스 경로를 따라서 계속적인 디스크 액세스 요구들을 재방향설정하도록 상기 각 노드들의 메모리에 저장되고 상기 고장 검출 메커니즘에 결합된 대리 논리(proxy logic)를 포함하고, 상기 대리 논리는, ⑥ 고장난 디스크 액세스 경로로의 액세스를 중단시키는 중단 메시지를 참가 노드들에 방송하고, 모든 참가 노드들로부터의 애크놀리지 메시지를 기다리도록 적응된 조정자 노드를 포함하고, ⑦ 각 참가 노드는 상기 중단 메시지를 수신하여, 상기 고장난 디스크 액세스 경로로의 액세스를 중단하고, 상기 고장난 디스크 액세스 경로로의 액세스의 중단을 확인시키는 상기 애크놀리지 메시지를 상기 조정자 노드로 보내고, 상기 조정자 노드로부터의 재개 메시지를 기다리도록 적응되고, ⑧ 상기 조정자 노드는 상기 모든 참가 노드들로부터 상기 애크놀리지 메시지를 수신하면 상기 재개 메시지를 보내도록 더 적응되고, ⑨ 상기 각 참가 노드는 상기 재개 메시지를 수신하면 상기 비고장 디스크 액세스 경로를 따라서 상기 계속적인 디스크 액세스 요구들을 재 방향설정하도록 더 적응되는, 2단계 수행 프로토콜을 포함하는, 클러스터화된 다중 처리 시스템.
  5. 제4항에 있어서, 상기 디스크로 들어오는 액세스 요구들을 저장하기 위한 상기 각 노드들의 큐와, 상기 큐에 있는 상기 요구들을 상기 비고장 디스크 액세스 경로를 통해 상기 디스크로 재 경로설정하는 수단을 포함하는, 클러스터화된 다중 처리 시스템.
  6. 제4항에 있어서, 모든 서버 노드들은 상기 디스크에 연결된 디스크 어댑터를 포함하고, 상기 고장 검출 메커니즘은 상기 서버 노드들과 상기 디스크 어댑터에서의 고장을 검출하는 수단을 포함하는. 클러스터화된 다중 처리 시스템.
  7. 제1항에 있어서, ① 상기 제1메시지에 응답하여, 상기 고장난 액세스 경로를 따라 상기 디스크로 전송되었던 펜딩된 요구들을 저장하고, 상기 디스크로의 액세스가 중단된 동안 도착한 요구들을 저장하는 단계와, ② 각 노드에서 상기 디스크로의 액세스를 재개하는 상기 단계에 응답하여, 상기 모든 요구들을 상기 2차 서버로 재발송하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
  8. 제7항에 있어서, 상기 모든 요구들은 큐에 저장되고, 재발송하는 상기 단계는 상기 2차 서버 노드에 의해 상기 큐에 저장된 상기 요구들을 상기 2차 서버 노드에 의한 디스크로 재 경로설정하는 단계를 더 포함하는, 디스크 액세스 경로 고장 회복 방법.
  9. 클러스터화된 다중 처리 시스템에 있어서, ① 적어도 세 개의 상호연결된 노드들 - 상기 노드들중의 일부는 서버 노드들이고, 각 노드는 메모리를 포함한다 - 과, ② 1차 서버 노드에 물리적으로 연결된 적어도 하나의 1차 테일과 2차 서버 노드에 물리적으로 연결된 2차 테일을 가지는 멀티 포트 디스크와, ③ 개시 노드로부터의 디스크 액세스 요구를 상기 개시 노드, 상기 서버 노드들과 상기 디스크 사이에 정의된 1차 디스크 액세스 경로와 2차 디스크 액세스 경로중의 적어도 하나를 따라서 상기 디스크에 물리적으로 연결된 서버 노드로 전달하도록 상기 노드들에 결합된 디스크 액세스 요구 메커니즘과, ④ 상기 1차 디스크 액세스 경로와 상기 2차 디스크 액세스 경로중의 하나에서의 고장을 검출하도록 상기 노드들에 결합된 고장 검출 메커니즘과, ⑤ 고장이 검출될 때, 상기 디스크로의 비고장 디스크 액세스 경로를 따라서 2단계 수행 프로토콜을 통해 계속적인 디스크 액세스 요구들을 재방향설정하도록 상기 고장 검출 메커니즘에 결합된 대리 논리 수단를 포함하는, 클러스터화된 다중 처리 시스템.
KR1019950036939A 1994-10-31 1995-10-25 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법 KR100232247B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US332,157 1989-04-03
US33215794A true 1994-10-31 1994-10-31

Publications (2)

Publication Number Publication Date
KR960015278A KR960015278A (ko) 1996-05-22
KR100232247B1 true KR100232247B1 (ko) 1999-12-01

Family

ID=23296958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950036939A KR100232247B1 (ko) 1994-10-31 1995-10-25 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법

Country Status (5)

Country Link
US (1) US5668943A (ko)
EP (1) EP0709779B1 (ko)
JP (1) JP3266481B2 (ko)
KR (1) KR100232247B1 (ko)
DE (2) DE69521101T2 (ko)

Families Citing this family (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
JPH096706A (ja) * 1995-06-22 1997-01-10 Hitachi Ltd 疎結合計算機システム
US5941994A (en) * 1995-12-22 1999-08-24 Lsi Logic Corporation Technique for sharing hot spare drives among multiple subsystems
US5961601A (en) * 1996-06-07 1999-10-05 International Business Machines Corporation Preserving state information in a continuing conversation between a client and server networked via a stateless protocol
US5852724A (en) * 1996-06-18 1998-12-22 Veritas Software Corp. System and method for "N" primary servers to fail over to "1" secondary server
US6044367A (en) * 1996-08-02 2000-03-28 Hewlett-Packard Company Distributed I/O store
US6101508A (en) * 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
AU3861399A (en) * 1998-04-15 1999-11-01 Hewlett-Packard Company Distributed processing over a network
US6484208B1 (en) * 1996-10-15 2002-11-19 Compaq Information Technologies Group, L.P. Local access of a remotely mirrored disk in a computer network
US5922077A (en) * 1996-11-14 1999-07-13 Data General Corporation Fail-over switching system
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6189109B1 (en) 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6292905B1 (en) * 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US5907849A (en) * 1997-05-29 1999-05-25 International Business Machines Corporation Method and system for recovery in a partitioned shared nothing database system using virtual share disks
US5991893A (en) * 1997-08-29 1999-11-23 Hewlett-Packard Company Virtually reliable shared memory
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6449731B1 (en) 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US6725392B1 (en) 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
US6799224B1 (en) 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
US6185695B1 (en) 1998-04-09 2001-02-06 Sun Microsystems, Inc. Method and apparatus for transparent server failover for highly available objects
US6260155B1 (en) * 1998-05-01 2001-07-10 Quad Research Network information server
JP4501096B2 (ja) * 1998-05-12 2010-07-14 オラクル・アメリカ・インコーポレーテッド 高可用性クラスタ仮想ディスク・システム
US6421787B1 (en) 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6173413B1 (en) 1998-05-12 2001-01-09 Sun Microsystems, Inc. Mechanism for maintaining constant permissions for multiple instances of a device within a cluster
US5964886A (en) * 1998-05-12 1999-10-12 Sun Microsystems, Inc. Highly available cluster virtual disk system
US6161191A (en) 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6182197B1 (en) 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6594698B1 (en) * 1998-09-25 2003-07-15 Ncr Corporation Protocol for dynamic binding of shared resources
US6223231B1 (en) 1998-11-12 2001-04-24 Sun Microsystems, Inc. Method and apparatus for highly-available processing of I/O requests while application processing continues
JP2000172624A (ja) * 1998-12-07 2000-06-23 Hitachi Information Technology Co Ltd 入出力処理システム
US6530036B1 (en) 1999-08-17 2003-03-04 Tricord Systems, Inc. Self-healing computer system storage
US6546482B1 (en) * 1999-05-07 2003-04-08 Advanced Micro Devices, Inc. Invalid configuration detection resource
EP1214663B1 (en) * 1999-08-24 2006-06-14 Network Appliance, Inc. Scalable file server with highly available pairs
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
JP2001134546A (ja) * 1999-11-05 2001-05-18 Nec Corp マルチプロセッサシステムの障害処理方法
GB2359384B (en) * 2000-02-16 2004-06-16 Data Connection Ltd Automatic reconnection of partner software processes in a fault-tolerant computer system
US6782440B2 (en) 2000-07-26 2004-08-24 T.N.S. Holdings, Inc. Resource locking and thread synchronization in a multiprocessor environment
US6715059B2 (en) 2000-07-26 2004-03-30 Tas Holdings, Inc. Methods and systems for a shared memory unit with extendable functions
US6892298B2 (en) 2000-07-26 2005-05-10 Times N Systems, Inc. Load/store micropacket handling system
JP3992427B2 (ja) * 2000-08-01 2007-10-17 株式会社日立製作所 ファイルシステム
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US7296073B1 (en) 2000-09-13 2007-11-13 Network Appliance, Inc. Mechanism to survive server failures when using the CIFS protocol
US6725393B1 (en) * 2000-11-06 2004-04-20 Hewlett-Packard Development Company, L.P. System, machine, and method for maintenance of mirrored datasets through surrogate writes during storage-area network transients
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US7512673B2 (en) * 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US8195760B2 (en) 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7415506B2 (en) * 2001-02-13 2008-08-19 Netapp, Inc. Storage virtualization and storage management to provide higher level storage services
DE10204457B4 (de) * 2001-03-07 2005-04-28 Conti Temic Microelectronic Mikroprozessor mit einem Taktgenerator und einer Überwachungseinheit sowie Verfahren zum Betrieb eines solchen
US6668264B1 (en) 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7308512B1 (en) 2001-05-16 2007-12-11 Network Appliance, Inc. Fiber channel adaptor for serial or parallel ATA disks
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7245632B2 (en) 2001-08-10 2007-07-17 Sun Microsystems, Inc. External storage for modular computer systems
US6944787B2 (en) * 2001-10-01 2005-09-13 International Business Machines Corporation System-managed duplexing of coupling facility structures
JPWO2003075161A1 (ja) * 2002-03-07 2005-06-30 富士通株式会社 ストレージ仮想化システムの変換管理装置およびストレージ仮想化システムの変換管理方法
BRPI0304523B1 (pt) * 2002-04-16 2016-09-27 Thomson Licensing Sa método, aparelho e sistema para suportar várias sessões de colaboração em dispositivo de comunicação bidirecional
US7254745B2 (en) 2002-10-03 2007-08-07 International Business Machines Corporation Diagnostic probe management in data processing systems
EP2299375A3 (en) * 2002-11-14 2012-02-01 EMC Corporation Systems and methods for restriping files in a distributed file system
JP3944449B2 (ja) * 2002-12-19 2007-07-11 株式会社日立製作所 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US20040133606A1 (en) 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
JP2004234555A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP4342804B2 (ja) * 2003-01-31 2009-10-14 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP2004234558A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd 記憶デバイス制御装置、及びプログラム
US7739543B1 (en) * 2003-04-23 2010-06-15 Netapp, Inc. System and method for transport-level failover for loosely coupled iSCSI target devices
US7260589B2 (en) * 2003-12-04 2007-08-21 International Business Machines Corporation High performance support for XA protocols in a clustered shared database
US20050144299A1 (en) * 2003-12-04 2005-06-30 Blevins Delmar E. System and method for supporting XA 2-phase commit protocols with a loosely coupled clustered database server
EP1564975B1 (en) * 2004-02-12 2006-11-15 Alcatel Service request handling method and storage system
US7908445B2 (en) * 2004-07-19 2011-03-15 Infortrend Technology, Inc. Redundant controller dynamic logical media unit reassignment
JP2006039814A (ja) * 2004-07-26 2006-02-09 Hitachi Ltd ネットワークストレージシステム及び複数ネットワークストレージ間の引継方法
US20060026788A1 (en) * 2004-08-06 2006-02-09 Fischer Richard J Upright vacuum cleaner incorporating telescopic handle and wand assembly with electrified hose
GB2419703A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
GB2419697A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructures each having an infrastructure controller
GB2419702A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructures which can be suspended and later reactivated
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US7568121B2 (en) 2004-11-16 2009-07-28 International Business Machines Corporation Recovery from failure in data storage systems
US7885970B2 (en) 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US20060212870A1 (en) * 2005-02-25 2006-09-21 International Business Machines Corporation Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization
US7496790B2 (en) * 2005-02-25 2009-02-24 International Business Machines Corporation Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization
US8239354B2 (en) * 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
JP4387968B2 (ja) * 2005-03-28 2009-12-24 富士通株式会社 障害検出装置および障害検出方法
US7623515B2 (en) 2005-07-14 2009-11-24 Yahoo! Inc. Content router notification
US7849199B2 (en) 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US7631045B2 (en) 2005-07-14 2009-12-08 Yahoo! Inc. Content router asynchronous exchange
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7346720B2 (en) * 2005-10-21 2008-03-18 Isilon Systems, Inc. Systems and methods for managing concurrent access requests to a shared resource
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7551572B2 (en) * 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7386675B2 (en) * 2005-10-21 2008-06-10 Isilon Systems, Inc. Systems and methods for using excitement values to predict future access to resources
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
EP1949214B1 (en) * 2005-10-28 2012-12-19 Network Appliance, Inc. System and method for optimizing multi-pathing support in a distributed storage system environment
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
US9367832B2 (en) * 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US8539056B2 (en) 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7752402B2 (en) 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
GB2446177A (en) * 2007-02-03 2008-08-06 Katherine Bean Data storage system
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
WO2008147973A2 (en) 2007-05-25 2008-12-04 Attune Systems, Inc. Remote file virtualization in a switched file system
US8560691B2 (en) * 2007-06-19 2013-10-15 Microsoft Corporation Relocating item in distributed storage system
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8352785B1 (en) * 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7953709B2 (en) 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US8001425B2 (en) * 2009-04-08 2011-08-16 Hewlett-Packard Development Company, L.P, Preserving state information of a storage subsystem in response to communication loss to the storage subsystem
US8161142B2 (en) * 2009-10-26 2012-04-17 International Business Machines Corporation Addressing node failure during a hyperswap operation
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
CN102455878A (zh) * 2010-10-19 2012-05-16 英业达股份有限公司 动态磁盘访问方法
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
WO2013105433A1 (ja) * 2012-01-13 2013-07-18 株式会社日立製作所 情報処理システム
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US20130346532A1 (en) * 2012-06-21 2013-12-26 Microsoft Corporation Virtual shared storage in a cluster
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9069674B2 (en) 2012-11-27 2015-06-30 International Business Machines Corporation Coherent proxy for attached processor
US9135174B2 (en) 2012-11-27 2015-09-15 International Business Machines Corporation Coherent attached processor proxy supporting master parking
US9442852B2 (en) * 2012-11-27 2016-09-13 International Business Machines Corporation Programmable coherent proxy for attached processor
US9021211B2 (en) 2013-01-11 2015-04-28 International Business Machines Corporation Epoch-based recovery for coherent attached processor proxy
US8938587B2 (en) 2013-01-11 2015-01-20 International Business Machines Corporation Data recovery for coherent attached processor proxy
US8990513B2 (en) 2013-01-11 2015-03-24 International Business Machines Corporation Accelerated recovery for snooped addresses in a coherent attached processor proxy
US9195483B2 (en) 2013-01-28 2015-11-24 Dell Products L.P. Systems and methods for mirroring virtual functions in a chassis configured to receive a plurality of modular information handling systems and a plurality of modular information handling resources
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US20170031765A1 (en) * 2015-07-28 2017-02-02 Futurewei Technologies, Inc. Apparatus and method for utilizing different data storage types to store primary and replicated database directories
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10459632B1 (en) * 2016-09-16 2019-10-29 EMC IP Holding Company LLC Method and system for automatic replication data verification and recovery
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3854384D1 (de) * 1987-11-30 1995-10-05 Ibm Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems.
US5193086A (en) * 1988-08-26 1993-03-09 Hitachi, Ltd. Network system having a line switching function
JPH0394321A (en) * 1989-06-21 1991-04-19 Hitachi Comput Eng Corp Ltd Duplex shared dasd control method and shared memory device
JPH03132143A (en) * 1989-10-17 1991-06-05 Fujitsu Ltd Emergency restart processing system in exchange system
CA2032620C (en) * 1989-12-22 1995-08-15 Takafumi Chujo Method for searching for alternate path in communication network
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5155845A (en) * 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
JP2825630B2 (ja) * 1990-09-07 1998-11-18 株式会社日立製作所 回線切替方式

Also Published As

Publication number Publication date
EP0709779B1 (en) 2001-05-30
DE69521101T2 (de) 2001-10-18
DE69521101D1 (de) 2001-07-05
US5668943A (en) 1997-09-16
JPH08255122A (ja) 1996-10-01
JP3266481B2 (ja) 2002-03-18
EP0709779A2 (en) 1996-05-01
KR960015278A (ko) 1996-05-22
EP0709779A3 (en) 1996-10-16

Similar Documents

Publication Publication Date Title
EP1543422B1 (en) Remote direct memory access enabled network interface controller switchover and switchback support
US5157663A (en) Fault tolerant computer system
KR100711396B1 (ko) 서버의 이중화 방법 및 이중화 서버시스템
US7266706B2 (en) Methods and systems for implementing shared disk array management functions
US7415589B2 (en) Data processing system with multiple storage systems
JP4618654B2 (ja) 並列処理コンピュータ・システムにおけるデータ通信方法
US6470397B1 (en) Systems and methods for network and I/O device drivers
US7921169B2 (en) System and method for exactly once message store communication
US7237027B1 (en) Scalable storage system
EP1402420B1 (en) Mirroring network data to establish virtual storage area network
US6253234B1 (en) Shared web page caching at browsers for an intranet
US6243814B1 (en) Method and apparatus for reliable disk fencing in a multicomputer system
US8341115B1 (en) Dynamically switching between synchronous and asynchronous replication
US7103626B1 (en) Partitioning in distributed computer system
US7231461B2 (en) Synchronization of group state data when rejoining a member to a primary-backup group in a clustered computer system
CN1291315C (zh) 有状态程序实体的数据处理方法和系统
US7383463B2 (en) Internet protocol based disaster recovery of a server
US7660949B2 (en) Exactly once cache framework
US6192408B1 (en) Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6389555B2 (en) System and method for fail-over data transport
CN100544342C (zh) 存储系统
US7676616B2 (en) Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system
US8291094B2 (en) Method and apparatus for implementing high-performance, scaleable data processing and storage systems
KR100326988B1 (ko) 컴퓨터 클러스터용 실시간 공유 디스크 시스템
US8699322B1 (en) Port identifier management for path failover in cluster environments

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100824

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee