KR100232247B1 - 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법 - Google Patents
클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법 Download PDFInfo
- 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
- nodes
- server
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1423—Reconfiguring to eliminate the error by reconfiguration of paths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
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차 테일과 2차 서버 노드에 물리적으로 연결된 2차 테일을 가진다 - 을 포함하는 클러스터화된 계산기 시스템의 디스크 액세스 경로 고장으로부터 회복하는 방법에 있어서, ① 상기 클러스터화된 계산기 시스템의 디스크 액세스 경로의 고장을 검출하는 단계 - 고장난 액세스 경로는 상기 1차 테일과 관련된다 - 와, ② 상기 고장을 검출하면, 조정자 노드는 상기 디스크로의 액세스를 가지는 상기 시스템의 모든 노드들로 제1메시지를 방송하는 단계와, ③ 각 노드가 상기 디스크로의 액세스를 중단시키는 상기 제1메시지를 수신하고, 상기 디스크로의 액세스 중단을 상기 조정자 노드에 애크놀리지하는 단계와, ④ 상기 디스크로의 액세스 중단을 애크놀리지하는 상기 단계에 응답해서, 상기 조정자 노드가 상기 디스크로의 액세스를 재개시키라는 제2메시지를 상기 노드들로 방송하는 단계와, ⑤ 각 노드는 상기 제2메시지를 수신하고, 상기 2차 테일에 의해 상기 디스크로의 액세스를 재개하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
- 제1항에 있어서, 모든 서버 노드들은 디스크 어댑터를 포함하고, 상기 디스크 액세스 경로는 상기 디스크 어댑터와 상기 서버 노드들을 포함하고, 고장을 검출하는 상기 단계는 상기 노드들중의 적어도 하나 또는 상기 디스크 어댑터들의 상기 고장을 검출하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
- 제1항에 있어서, 상기 조정자 노드가 고장난 경우에는, 회복의 조정을 수행하기 위해서 백업 조정자 노드를 지정하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
- 클러스터화된 다중 처리 시스템에 있어서, ① 적어도 세 개의 상호연결된 노드들 - 상기 노드들중의 일부는 서버 노드들이고, 각 노드는 메모리를 포함한다 - 과, ② 1차 서버 노드에 물리적으로 연결된 적어도 하나의 1차 테일과 2차 서버 노드에 물리적으로 연결된 2차 테일을 가지는 멀티 포트 디스크와, ③ 개시 노드로부터의 디스크 액세스 요구를 상기 개시 노드, 상기 서버 노드들과 상기 디스크 사이에 정의된 1차 디스크 액세스 경로와 2차 디스크 액세스 경로중의 적어도 하나를 따라서 상기 디스크에 물리적으로 연결된 서버 노드로 전달하도록 상기 노드들에 결합된 디스크 액세스 요구 메커니즘과, ④ 상기 1차 디스크 액세스 경로와 상기 2차 디스크 액세스 경로중의 하나에서의 고장을 검출하도록 상기 노드들에 결합된 고장 검출 메커니즘과, ⑤ 고장이 검출될 때, 상기 디스크로의 비고장 디스크 액세스 경로를 따라서 계속적인 디스크 액세스 요구들을 재방향설정하도록 상기 각 노드들의 메모리에 저장되고 상기 고장 검출 메커니즘에 결합된 대리 논리(proxy logic)를 포함하고, 상기 대리 논리는, ⑥ 고장난 디스크 액세스 경로로의 액세스를 중단시키는 중단 메시지를 참가 노드들에 방송하고, 모든 참가 노드들로부터의 애크놀리지 메시지를 기다리도록 적응된 조정자 노드를 포함하고, ⑦ 각 참가 노드는 상기 중단 메시지를 수신하여, 상기 고장난 디스크 액세스 경로로의 액세스를 중단하고, 상기 고장난 디스크 액세스 경로로의 액세스의 중단을 확인시키는 상기 애크놀리지 메시지를 상기 조정자 노드로 보내고, 상기 조정자 노드로부터의 재개 메시지를 기다리도록 적응되고, ⑧ 상기 조정자 노드는 상기 모든 참가 노드들로부터 상기 애크놀리지 메시지를 수신하면 상기 재개 메시지를 보내도록 더 적응되고, ⑨ 상기 각 참가 노드는 상기 재개 메시지를 수신하면 상기 비고장 디스크 액세스 경로를 따라서 상기 계속적인 디스크 액세스 요구들을 재 방향설정하도록 더 적응되는, 2단계 수행 프로토콜을 포함하는, 클러스터화된 다중 처리 시스템.
- 제4항에 있어서, 상기 디스크로 들어오는 액세스 요구들을 저장하기 위한 상기 각 노드들의 큐와, 상기 큐에 있는 상기 요구들을 상기 비고장 디스크 액세스 경로를 통해 상기 디스크로 재 경로설정하는 수단을 포함하는, 클러스터화된 다중 처리 시스템.
- 제4항에 있어서, 모든 서버 노드들은 상기 디스크에 연결된 디스크 어댑터를 포함하고, 상기 고장 검출 메커니즘은 상기 서버 노드들과 상기 디스크 어댑터에서의 고장을 검출하는 수단을 포함하는. 클러스터화된 다중 처리 시스템.
- 제1항에 있어서, ① 상기 제1메시지에 응답하여, 상기 고장난 액세스 경로를 따라 상기 디스크로 전송되었던 펜딩된 요구들을 저장하고, 상기 디스크로의 액세스가 중단된 동안 도착한 요구들을 저장하는 단계와, ② 각 노드에서 상기 디스크로의 액세스를 재개하는 상기 단계에 응답하여, 상기 모든 요구들을 상기 2차 서버로 재발송하는 단계를 포함하는, 디스크 액세스 경로 고장 회복 방법.
- 제7항에 있어서, 상기 모든 요구들은 큐에 저장되고, 재발송하는 상기 단계는 상기 2차 서버 노드에 의해 상기 큐에 저장된 상기 요구들을 상기 2차 서버 노드에 의한 디스크로 재 경로설정하는 단계를 더 포함하는, 디스크 액세스 경로 고장 회복 방법.
- 클러스터화된 다중 처리 시스템에 있어서, ① 적어도 세 개의 상호연결된 노드들 - 상기 노드들중의 일부는 서버 노드들이고, 각 노드는 메모리를 포함한다 - 과, ② 1차 서버 노드에 물리적으로 연결된 적어도 하나의 1차 테일과 2차 서버 노드에 물리적으로 연결된 2차 테일을 가지는 멀티 포트 디스크와, ③ 개시 노드로부터의 디스크 액세스 요구를 상기 개시 노드, 상기 서버 노드들과 상기 디스크 사이에 정의된 1차 디스크 액세스 경로와 2차 디스크 액세스 경로중의 적어도 하나를 따라서 상기 디스크에 물리적으로 연결된 서버 노드로 전달하도록 상기 노드들에 결합된 디스크 액세스 요구 메커니즘과, ④ 상기 1차 디스크 액세스 경로와 상기 2차 디스크 액세스 경로중의 하나에서의 고장을 검출하도록 상기 노드들에 결합된 고장 검출 메커니즘과, ⑤ 고장이 검출될 때, 상기 디스크로의 비고장 디스크 액세스 경로를 따라서 2단계 수행 프로토콜을 통해 계속적인 디스크 액세스 요구들을 재방향설정하도록 상기 고장 검출 메커니즘에 결합된 대리 논리 수단를 포함하는, 클러스터화된 다중 처리 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US332,157 | 1989-04-03 | ||
US33215794A | 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 (1) | DE69521101T2 (ko) |
Families Citing this family (205)
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 |
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 |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
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 |
US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
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 |
US6272648B1 (en) | 1997-05-13 | 2001-08-07 | Micron Electronics, Inc. | System for communicating a software-generated pulse waveform between two servers in a network |
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 |
US6269412B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Apparatus for recording information system events |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
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 |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6163849A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
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 |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
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 |
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 |
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 |
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 |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
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 |
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 |
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 |
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 |
US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
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 |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US6101508A (en) * | 1997-08-01 | 2000-08-08 | Hewlett-Packard Company | Clustered file management for network resources |
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 |
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 |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
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 |
AU3861399A (en) * | 1998-04-15 | 1999-11-01 | Hewlett-Packard Company | Distributed processing over a network |
US6260155B1 (en) * | 1998-05-01 | 2001-07-10 | Quad Research | Network information server |
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 |
US6421787B1 (en) | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6161191A (en) * | 1998-05-12 | 2000-12-12 | Sun Microsystems, Inc. | Mechanism for reliable update of virtual disk device mappings without corrupting data |
US5964886A (en) * | 1998-05-12 | 1999-10-12 | Sun Microsystems, Inc. | Highly available cluster virtual disk system |
EP1084471B1 (en) * | 1998-05-12 | 2002-07-24 | Sun Microsystems, Inc. | Highly available cluster virtual disk system |
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 Ltd | 入出力処理システム |
US6530036B1 (en) | 1999-08-17 | 2003-03-04 | 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 |
US6449731B1 (en) | 1999-03-03 | 2002-09-10 | Tricord Systems, Inc. | Self-healing computer system storage |
US6546482B1 (en) * | 1999-05-07 | 2003-04-08 | Advanced Micro Devices, Inc. | Invalid configuration detection resource |
US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
EP1214663B1 (en) * | 1999-08-24 | 2006-06-14 | 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 |
US6892298B2 (en) | 2000-07-26 | 2005-05-10 | Times N Systems, Inc. | Load/store micropacket handling 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 |
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 |
US8239354B2 (en) * | 2005-03-03 | 2012-08-07 | F5 Networks, Inc. | System and method for managing small-size files in an aggregated 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 |
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 |
US7509322B2 (en) | 2001-01-11 | 2009-03-24 | F5 Networks, Inc. | Aggregated lock management for locking aggregated files in a switched file system |
US8195760B2 (en) | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
EP1370945B1 (en) * | 2001-02-13 | 2010-09-08 | Candera, Inc. | Failover processing in a storage system |
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 |
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 |
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 |
US20030033463A1 (en) | 2001-08-10 | 2003-02-13 | Garnett Paul J. | Computer system storage |
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 | 富士通株式会社 | ストレージ仮想化システムの変換管理装置およびストレージ仮想化システムの変換管理方法 |
KR101011904B1 (ko) * | 2002-04-16 | 2011-02-01 | 톰슨 라이센싱 | 양방향 통신 장치에서 다수의 협력적인 세션들을 지원하기위한 방법, 장치 및 시스템 |
US7254745B2 (en) | 2002-10-03 | 2007-08-07 | International Business Machines Corporation | Diagnostic probe management in data processing systems |
US7937421B2 (en) * | 2002-11-14 | 2011-05-03 | Emc Corporation | Systems and methods for restriping files in a distributed file system |
JP3944449B2 (ja) * | 2002-12-19 | 2007-07-11 | 株式会社日立製作所 | 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法 |
JP4342804B2 (ja) * | 2003-01-31 | 2009-10-14 | 株式会社日立製作所 | ストレージシステムの制御方法、ストレージシステム、及びプログラム |
JP2004234558A (ja) * | 2003-01-31 | 2004-08-19 | Hitachi Ltd | 記憶デバイス制御装置、及びプログラム |
JP2004234555A (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 |
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 |
US7260589B2 (en) * | 2003-12-04 | 2007-08-21 | International Business Machines Corporation | High performance support for XA protocols in a clustered shared database |
ATE345641T1 (de) * | 2004-02-12 | 2006-12-15 | Cit Alcatel | Verfahren zur behandelung von dienstanforderungen und speichersystem |
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 |
US8051425B2 (en) | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution 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 |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
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 |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol 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 |
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 |
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 |
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 |
US7788303B2 (en) * | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7386675B2 (en) * | 2005-10-21 | 2008-06-10 | Isilon Systems, Inc. | Systems and methods for using excitement values to predict future access to resources |
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 |
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 |
US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | 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 |
US7680842B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
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 |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7752402B2 (en) | 2006-08-18 | 2010-07-06 | Isilon Systems, Inc. | Systems and methods for allowing incremental journaling |
US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
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 |
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 |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US8682916B2 (en) | 2007-05-25 | 2014-03-25 | F5 Networks, 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 |
US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
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 |
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 |
US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
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 |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
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 |
JPWO2013105433A1 (ja) * | 2012-01-13 | 2015-05-11 | 株式会社日立製作所 | 情報処理システム |
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 |
US9442852B2 (en) * | 2012-11-27 | 2016-09-13 | International Business Machines Corporation | Programmable coherent proxy for attached processor |
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 |
US8938587B2 (en) | 2013-01-11 | 2015-01-20 | International Business Machines Corporation | Data recovery for coherent attached processor proxy |
US9021211B2 (en) | 2013-01-11 | 2015-04-28 | International Business Machines Corporation | Epoch-based 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 |
US10404520B2 (en) | 2013-05-29 | 2019-09-03 | Microsoft Technology Licensing, Llc | Efficient programmatic memory access over network file access protocols |
US9641614B2 (en) | 2013-05-29 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distributed storage defense in a cluster |
US9965363B2 (en) * | 2013-12-14 | 2018-05-08 | Netapp, Inc. | Techniques for LIF placement in SAN storage cluster synchronous disaster recovery |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US11030045B2 (en) * | 2015-07-28 | 2021-06-08 | 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 |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices 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 |
US10567492B1 (en) | 2017-05-11 | 2020-02-18 | F5 Networks, Inc. | Methods for load balancing in a federated identity environment and devices thereof |
US11223689B1 (en) | 2018-01-05 | 2022-01-11 | F5 Networks, Inc. | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof |
US10833943B1 (en) | 2018-03-01 | 2020-11-10 | F5 Networks, Inc. | Methods for service chaining and devices thereof |
EP3857347A1 (en) | 2018-09-27 | 2021-08-04 | Telefonaktiebolaget LM Ericsson (publ) | Storage resource controller in a 5g network system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3854384T2 (de) * | 1987-11-30 | 1996-03-28 | 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 (ja) * | 1989-06-21 | 1991-04-19 | Hitachi Ltd | アクセス制御方法 |
JPH03132143A (ja) * | 1989-10-17 | 1991-06-05 | Fujitsu Ltd | 交換機システムにおける非常再開処理方式 |
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 | 株式会社日立製作所 | 回線切替方式 |
-
1995
- 1995-10-06 EP EP95115752A patent/EP0709779B1/en not_active Expired - Lifetime
- 1995-10-06 DE DE69521101T patent/DE69521101T2/de not_active Expired - Lifetime
- 1995-10-25 KR KR1019950036939A patent/KR100232247B1/ko not_active IP Right Cessation
- 1995-10-26 JP JP27866295A patent/JP3266481B2/ja not_active Expired - Fee Related
-
1996
- 1996-05-24 US US08/653,098 patent/US5668943A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5668943A (en) | 1997-09-16 |
JP3266481B2 (ja) | 2002-03-18 |
DE69521101D1 (de) | 2001-07-05 |
JPH08255122A (ja) | 1996-10-01 |
EP0709779A2 (en) | 1996-05-01 |
EP0709779A3 (en) | 1996-10-16 |
EP0709779B1 (en) | 2001-05-30 |
KR960015278A (ko) | 1996-05-22 |
DE69521101T2 (de) | 2001-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100232247B1 (ko) | 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법 | |
US6421787B1 (en) | Highly available cluster message passing facility | |
US6161191A (en) | Mechanism for reliable update of virtual disk device mappings without corrupting data | |
US5964886A (en) | Highly available cluster virtual disk system | |
US9647933B1 (en) | Port identifier management for path failover in cluster environments | |
EP2659375B1 (en) | Non-disruptive failover of rdma connection | |
US8233380B2 (en) | RDMA QP simplex switchless connection | |
US7937617B1 (en) | Automatic clusterwide fail-back | |
US6044367A (en) | Distributed I/O store | |
JP3364572B2 (ja) | 多重パスi/o要求機構を有するデータ処理システム及びキュー・ステータス更新方法 | |
JP2005539284A (ja) | 高アベイラビリティファイバチャネルスイッチを実現する方法および装置 | |
JP2002526821A (ja) | 複数のファイルサーバ間における永続状況情報の調整 | |
US20050050273A1 (en) | RAID controller architecture with integrated map-and-forward function, virtualization, scalability, and mirror consistency | |
US11200082B2 (en) | Data storage system employing dummy namespaces for discovery of NVMe namespace groups as protocol endpoints | |
JP4106014B2 (ja) | 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム | |
JP4501096B2 (ja) | 高可用性クラスタ仮想ディスク・システム | |
US7181642B1 (en) | Method for distributing the processing among multiple synchronization paths in a computer system utilizing separate servers for redundancy | |
JP4208506B2 (ja) | 高性能記憶装置アクセス環境 | |
CN113849136B (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
US20060031622A1 (en) | Software transparent expansion of the number of fabrics coupling multiple processsing nodes of a computer system | |
Cardoza et al. | Design of the TruCluster multicomputer system for the Digital UNIX environment | |
US20080276255A1 (en) | Alternate Communication Path Between ESSNI Server and CEC | |
US7646705B2 (en) | Minimizing data loss chances during controller switching | |
EP1463997B1 (en) | Interdomain data transfer | |
Hai-Ying et al. | NVD: the network virtual device for HA-SonD |
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 |