KR20130131362A - 파일 시스템 내에 투명 페일오버의 제공 - Google Patents
파일 시스템 내에 투명 페일오버의 제공 Download PDFInfo
- Publication number
- KR20130131362A KR20130131362A KR1020137014719A KR20137014719A KR20130131362A KR 20130131362 A KR20130131362 A KR 20130131362A KR 1020137014719 A KR1020137014719 A KR 1020137014719A KR 20137014719 A KR20137014719 A KR 20137014719A KR 20130131362 A KR20130131362 A KR 20130131362A
- Authority
- KR
- South Korea
- Prior art keywords
- server
- resume
- client
- file
- state
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 18
- 230000009471 action Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 6
- 230000009850 completed effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- 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/1443—Transmit or communication errors
-
- 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/203—Failover techniques using migration
-
- 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/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- 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/2038—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 with a single idle spare processing component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Retry When Errors Occur (AREA)
Abstract
클라이언트가 재개 키에 연관하여 클라이언트 상태 정보를 원격 저장함으로써 서버 또는 상이한 대체 서버를 이용하여 접속을 재개하게 하는 접속 상태 시스템이 본 명세서에서 설명된다. 시스템은 휘발성 서버 상태 정보의 저장을 용이하게 하는 서버에서 동작하는 재개 키 필터를 제공한다. 상태 정보는 편의적 잠금, 클라이언트에게 허여된 대여, 및 파일 핸들 상의 인 플라이트 동작과 같은 정보를 포함할 수 있다. 재개 키 필터 드라이버는 파일 시스템 상에 위치하며, 이는 복수의 파일 접근 프로토콜이 필터를 사용하게 해준다. 서버가 작동 중단되거나 클라이언트로의 접속을 상실하는 것과 같은 페일오버인 경우에, 시스템은 또 다른 서버 또는 동일한 서버를 드러낼 수 있으며, 재개 키 필터를 사용하여 다양한 클라이언트에 의해 유지된 파일 핸들을 위한 상태를 재설정할 수 있다.
Description
네트워크 상의 두 개의 컴퓨터 사이에서 파일, 프린터, 및 다른 자원을 공유하기 위한 다양한 기법이 존재한다. 예를 들어, 자원을 공유하기 위한 두 개의 애플리케이션 계층 네트워크 프로토콜(application-layer network protocol)은 서버 메시지 블록(Server Message Block(SMB)) 및 네트워크 파일 시스템(Network File System(NFS))이다. SMB는, 두 개의 컴퓨터 또는 다른 자원이 통신하고, 자원으로의 접근을 요구하고, 자원의 의도된 접근(예를 들어, 읽기, 쓰기 등)을 명시하며, 자원을 잠그는 것 등을 할 수 있도록 하기 위해 마이크로소프트(MICROSOFT)™ 윈도우즈(WINDOWS)™ 및 다른 운영 체제에 의해 사용된다. 마이크로소프트™ 윈도우즈™ 비스타(Vista)는 SMB 2.0을 도입했으며, 이는 SMB 1.0의 명령 세트를 단순화했고 많은 다른 개선 사항을 추가했다. 마이크로소프트™ 윈도우즈™ 7 및 서버 2008 R2는 SMB 2.1을 도입했으며, 이는 편의적 잠금(opportunistic locking(oplocks)) 및 다른 개선 사항을 추가했다.
자원의 원격 공유를 위한 대부분의 프로토콜은 접속과 세션 사이에 일 대 일 관계를 가정한다. 세션은 접속이 종료될 때까지 자원에 접근하려는 임의의 단일 요구의 존속 기간 및 그러한 자원의 후속 접근을 표시한다. 세션은 또한 세션 중에 인가되는 동작을 판단하는 특정 보안 원리 및 유효한 보안 크리덴셜과 연관될 수 있다. 접속은 전송 제어 프로토콜(Transmission Control Protocol(TCP)), 사용자 데이터그램 프로토콜(User Datagram Protocol(UDP)), 또는 명령을 수행하기 위해 SMB 및 NFS와 같은 더 높은 레벨의 프로토콜이 통신할 수 있는 다른 유형의 접속을 포함할 수 있다. SMB 또는 NFS 세션은 대개 요구의 소스(source)와 요구의 타깃(target) 사이에서 TCP 또는 UDP 접속을 여는 것, 타깃 자원에 접속하도록 하나 이상의 SMB 또는 NFS 명령을 송신하는 것, 및 그런 다음 세션을 닫는 것을 수반할 수 있다. 때때로, 접속은 (예를 들어, 네트워크 장애로 인해) 세션 중에 상실되어, 접속 중에 설정된 임의의 클라이언트 및 서버 상태를 붕괴시킨다. 접속을 재설정하기 위해, 클라이언트 및 서버는 대개 초기에 접속을 설정하기 위해 사용된 모든 단계들을 처음부터 다시 반복해야 한다.
SMB2 프로토콜은 클라이언트가 서버로부터 접속 해제되는 경우 클라이언트가 서버로 파일 핸들(file handle)을 신속하게 재설정하게 해주는 재개 키(resume key)를 제공하여, 클라이언트가 서버로의 네트워크 왕복(network round trip)을 줄이게 해주며 클라이언트가 재접속할 때 서버 상의 부하를 줄이게 해준다. 그러나, 현재 재개 키는 SMB2 서버가 클러스터(cluster)의 서버 리부팅(server rebooting)이나 페일오버(failover) 중에 휘발성 상태(volatile state)를 상실하는 서버 페일오버(server failover)의 경우 상태의 복원을 제공하지 않는다. 기존의 열기(open)에 연관된 상태 정보는 상실되며 재설정되어야 한다. 아울러, 재개 키는 애플리케이션의 경계 내에서만 오직 생성되고 사용될 수 있지만 공유되지는 않는 애플리케이션 레벨의 개념(application-level concept)이다.
클라이언트가 재개 키에 연관하여 클라이언트 상태 정보를 원격 저장함으로써 서버 또는 상이한 대체 서버를 이용하여 접속을 재개하게 해주는 접속 상태 시스템이 본 명세서에서 설명된다. 시스템은 휘발성 서버 상태 정보의 저장을 용이하게 하는 서버에서 동작하는 재개 키 필터를 제공한다. 상태 정보는 편의적 잠금, 클라이언트에게 허여된 대여, 및 파일 핸들 상의 인 플라이트(in-flight) 동작과 같은 정보를 포함할 수 있다. 재개 키 필터 드라이버는 파일 시스템 상부에 위치하며, 이는 복수의 파일 접근 프로토콜이 필터를 사용하게 해주는 것은 물론 필터가 복수의 파일 시스템을 가로질러 이러한 기능을 제공하게 해준다. 시스템은 실제 프로토콜과 독립적으로 상태 정보를 프로토콜로 제공한다. 서버가 작동 중단되거나 클라이언트로의 접속을 상실하는 것과 같은 페일오버 이벤트의 경우에, 시스템은 또 다른 서버 또는 동일한 서버를 호출할 수 있으며, 재개 키 필터를 사용하여 다양한 클라이언트에 의해 유지되는 파일 핸들을 위한 상태를 재설정할 수 있다. 필터는 페일오버 후에 활성 파일에 대해 활성 파일 상태가 일관되게 복원될 수 있고 다른 클라이언트가 중간에 이 파일에 접근하지 않도록 보장하는 블랙아웃 윈도우(blackout window)를 시행한다. 재개 단계에서, 기존의 페일오버 전의 파일 핸들(pre-failover file handle)을 재개 키 필터에 의해 저장된 페일오버 후 보존된 파일 상태(post-failover preserved file state)로 매핑하기 위해 재개 키가 사용된다. 따라서, 접속 상태 시스템은 동일한 서버 또는 또 다른 서버가 클라이언트들을 가능한 적게 방해하면서 페일오버 이벤트 후에 하나의 클라이언트를 이용하여 이전 세션의 상태를 재개하게 한다.
이러한 발명의 요약은 발명의 상세한 설명에서 추가로 후술되는 개념의 선택을 단순화된 형태로 소개하기 위해 제공된다. 이러한 발명의 요약은 청구된 주제의 주요 특징 또는 필수 특징을 식별하도록 의도되지 않으며, 청구된 발명 대상의 범위를 결정하는 데에 보조로서 사용되도록 의도되지도 않는다.
도 1은 하나의 실시예에서 접속 상태 시스템의 컴포넌트를 예시하는 블록 다이어그램이다.
도 2는 하나의 실시예에서 파일 시스템 상태 정보를 캡처하는 접속 상태 시스템의 프로세싱을 예시하는 흐름도이다.
도 3은 하나의 실시예에서 페일오버 후에 접속을 재개하는 접속 상태 시스템의 프로세싱을 예시하는 흐름도이다.
도 4는 하나의 실시예에서 접속 상태 시스템의 동작 환경을 예시하는 블록 다이어그램이다.
도 2는 하나의 실시예에서 파일 시스템 상태 정보를 캡처하는 접속 상태 시스템의 프로세싱을 예시하는 흐름도이다.
도 3은 하나의 실시예에서 페일오버 후에 접속을 재개하는 접속 상태 시스템의 프로세싱을 예시하는 흐름도이다.
도 4는 하나의 실시예에서 접속 상태 시스템의 동작 환경을 예시하는 블록 다이어그램이다.
클라이언트가 재개 키에 연관하여 클라이언트 상태 정보를 원격 저장함으로써 서버 또는 상이한 대체 서버를 이용하여 접속을 재개하게 하는 접속 상태 시스템이 본 명세서에서 설명된다. 시스템은 휘발성 서버 상태 정보의 저장을 용이하게 하는 서버에서 동작하는 재개 키 필터를 제공한다. 상태 정보는 편의적 잠금, 클라이언트에게 허여된 대여, 및 파일 핸들 상의 인 플라이트 동작과 같은 정보를 포함할 수 있다. 재개 키 필터 드라이버는 파일 시스템 상부에 위치하며, 이는 복수의 파일 접근 프로토콜이 필터를 사용하게 하는 것은 물론 필터가 복수의 파일 시스템을 가로질러 이러한 기능을 제공하게 해준다. 시스템은 실제 프로토콜과 독립적으로 상태 정보를 프로토콜로 제공한다. 서버가 작동 중단되거나 클라이언트로의 접속을 상실하는 것과 같은 페일오버 이벤트인 경우에, 시스템은 또 다른 서버 또는 (예를 들어, 잉여 이더넷 접속(redundant Ethernet connection)과 같은 상이한 접속을 통해) 동일한 서버를 호출할 수 있으며, 재개 키 필터를 사용하여 다양한 클라이언트에 의해 유지된 파일 핸들을 위한 상태를 재설정할 수 있다.
시스템은 서버가 서버의 클라이언트로의 접속을 상실한 후에 투명 페일오버를 위해 사용될 수 있는 재개 키 필터를 제공한다. 재개 키 필터는 파일 시스템 맨 위에 위치하며, 따라서 파일 시스템에 접근하기 위해 사용된 프로토콜과 독립적이다. 재개 키 필터는 활성 파일 상태를 기록하며 그 후 페일오버 후에 활성 파일 상태를 복원한다. 재개 키 필터는 다양한 상태 정보를 캡처할 수 있다. 예를 들어, 필터는 (재개 키에 의해 정적으로 참조된) 열린 핸들, (닫기 시 삭제(delete on close), 현안 삭제(delete pending), 및 잠금 상태와 같은) 약속되지 않은 파일 상태, 및 소정의 인 플라이트/차단된 파일 동작을 포함하는 활성 필터 시스템 상태를 기록한다. 필터는 열린 핸들이 페일오버 이전의 열려있는 핸들에 정합하도록 재개되며 인 플라이트 동작이 일관되게 재생될 수 있도록 페일오버 후에 활성 파일 시스템 상태를 복원한다. 필터는 재개 키를 통해 참조된 열린 파일 핸들에 연관된 사적인 불투명 데이터(private opaque data)를 저장하여 검색하는 복수의 원격 파일 시스템(Remote File System(RFS))을 위한 수단을 제공한다. 필터는 페일오버 후에 활성 파일에 대해 활성 파일 상태가 일관되게 복원될 수 있고 다른 클라이언트가 중간에 이 파일에 접근하지 않는 것을 보장하는 블랙아웃 윈도우를 시행한다. 필터는 또한 노드가 페일오버하는 클러스터 시나리오에서 SMB를 지원하기 위해 현재 활성 파일이 "유예(suspended)"되고 그 후 페일오버 없이 재개되게 해준다.
원격 파일 시스템(remote file system(RFS))은 재개 키에게 모든 파일 생성 동작을 생성 중인 여분의 매개변수로서 제공한다. 키는 RFS에 고유하다. 재개 키 필터는 파일 핸들을 위한 전역적으로 유일한 식별자(globally unique identifier(GUID))로서 재개 키 및 RFS 식별 키를 함께 사용한다. 재개 단계에서, 기존의 페일오버 전의 파일 핸들을 재개 키 필터에 의해 저장된 페일오버 후의 보존된 파일 상태로 매핑하기 위해 재개 키가 사용된다. 따라서, 접속 상태 시스템은 동일한 서버 또는 또 다른 서버가 클라이언트들을 가능한 적게 방해하면서 페일오버 이벤트 후에 하나의 클라이언트를 이용하여 이전 세션의 상태를 재개하게 한다.
도 1은 하나의 실시예에서 접속 상태 시스템의 컴포넌트를 예시하는 블록 다이어그램이다. 접속 상태 시스템(100)은 상태 수집 컴포넌트(110), 상태 저장 컴포넌트(120), 상태 데이터 저장소(130), 재개 검출 컴포넌트(140), 상태 검색 컴포넌트(150), 상태 복원 컴포넌트(160), 블랙아웃 시행 컴포넌트(170), 및 자원 유예 컴포넌트(180)를 포함한다. 이들 컴포넌트는 각각 본 명세서에서 추가로 상술된다.
상태 수집 컴포넌트(110)는 각각의 파일 핸들에 대한 상태 기록을 생성하며 상기 파일 핸들을 사용하여 동작하는 클라이언트 요구로서 상태 정보를 수집한다. 상태 수집 컴포넌트(110)는 서버가 이용 불가능한 경우에 상태 정보가 접근될 수 있도록 서버에서 동작할 수 있으며 서버로부터 외부에 상태 정보를 저장할 수 있다. 예를 들어, 상태 수집 컴포넌트(110)는 본 명세서에서 추가 설명된 상태 데이터 저장소(130)에 상태 정보를 저장할 수 있다. 상태 수집 컴포넌트(110)는 클라이언트가 서버에 접속할 때 클라이언트로부터 재개 키를 수신할 수 있으며, 상태 수집 컴포넌트(110)는 수집된 상태 정보를 상태 데이터 저장소(130) 내의 재개 키에 연관시킨다. 페일오버 후에 클라이언트가 재접속하는 경우에, 클라이언트는 초기 접속을 열기 위해 사용된 동일한 재개 키를 제공할 것이며, 현재 서버는 이전 서버에 의해 저장된 상태 정보를 발견할 수 있고 상태 정보로부터 서버 상태를 재생성할 수 있다.
상태 저장 컴포넌트(120)는 클라이언트에 의해 제공된 재개 키에 연관하여 수집된 상태 정보를 저장한다. 상태 저장 컴포넌트(120)는 상태 데이터 저장소(130) 내에 상태 정보를 저장하며, 페일오버가 발생하는 경우에 복원될 재개 키에 관련된 동작의 기록을 유지한다. 상태 정보는 열린 파일 핸들(open file handles), 허여된 편의적 잠금, 대여 및 대여 정보, 진행 중인(in-progress) 파일 동작, 바이트 범위 잠금(byte range lock), 및 클라이언트가 모든 이전 상태를 재설정하지 않으면서 클라이언트의 요구를 수행하기 위해 또 다른 서버가 사용할 임의의 다른 정보를 포함할 수 있다.
상태 데이터 저장소(130)는 장애 서버에 의해 저장된 상태 정보를 재생성하기 위해 재개 서버가 사용한 파일 시스템 상태 정보를 지속적으로 저장한다. 일부 경우에, 재개 서버 및 장애 서버는 클라이언트로의 상이한 접속을 사용하거나 짧은 정전 후에 복귀하면서 동일한 서버일 수 있다. 다른 경우에, 재개 서버 및 장애 서버는 상이한 서버이며, 상태 데이터 저장소(130)는 상태 정보를 공유하기 위해 재개 서버 및 장애 서버 모두에 접근 가능한 위치에 제공된다. 상태 데이터 저장소(130)는 하나 이상의 파일, 파일 시스템, 하드 드라이브, 데이터베이스, 저장 영역 네트워크(storage area network(SAN)), 클라우드 기반 저장 서비스, 또는 정보를 교환하기 위해 장애 서버 및 재개 서버 모두에 접근 가능하며 데이터를 지속적으로 저장하는 다른 저장 시설을 포함할 수 있다. 장애 서버가 동작을 수행하고 있을 때, 장애 서버는 동작의 진행에 대한 상태 정보를 상태 데이터 저장소(130) 내에 저장하고 있다. 장애(failure)인 경우에, 장애 서버는 차단될 것이며, 재개 서버는 상태를 재개하고 완료되지 않았던 임의의 동작을 계속하여 수행하기 위해 상태 정보에 접근한다.
재개 검출 컴포넌트(140)는 장애 서버를 이용 불가능하게 하면서 재개 서버에게 장애 서버의 위치에서 작용하도록 통지하는 조건을 검출한다. 검출은 클라이언트 구동형일 수 있어서, 시스템은 클라이언트가 시스템에 재접속하여 이전에 사용된 재개 키를 제공할 때까지 임의의 재개 단계를 수행하지 않는다. 시스템은 키 및 키에 연관하여 저장된 임의의 상태 정보를 식별하며, 접속을 설정하는 것의 일부로서 그러한 상태 정보를 복원한다. 재개 서버는 장애 서버와 동일한 서버일 수 있거나 상이한 서버일 수 있으며, 재개 검출 컴포넌트(140)는 재개 서버가 클라이언트의 요구를 취급하도록 활성화되는 것을 보장한다. 다른 실시예에서, 검출은 서버 구동형일 수 있으며, 시스템은 장애 서버가 작동 중단되었다는 것을 검출하는 경우 재개 서버를 주도적으로 호출할 수 있다. 시스템은 심지어 클라이언트가 서버로의 접속을 요구하기 전이라도 저장된 상태 정보를 이용하여 재개 서버를 또한 선점할 수 있다.
상태 검색 컴포넌트(150)는 재개 서버로 접근 가능한 위치로부터 저장된 상태 정보를 검색하는데, 상태 정보는 재개 서버가 검출된 장애 조건에 의해 차단되었던 이전에 요구된 임의의 파일 시스템 동작을 재개하게 한다. 상태 검색 컴포넌트(150)는 상태 데이터 저장소(130)로부터 상태 정보를 검색하며 상태 복원 컴포넌트(160)를 작동시켜, 재개 서버가 클라이언트에 의해 요구된 동작을 계속할 수 있도록 재개 서버 내로 정보를 로딩한다.
상태 복원 컴포넌트(160)는 재개 서버가 클라이언트에 의해 이전에 요구된 동작을 계속할 수 있도록 검색된 상태 정보를 재개 서버 내로 로딩한다. 복원은 다른 클라이언트가 이전에 요구된 접근 레벨 및/또는 클라이언트에게로 배타적으로 허여된 접근 레벨을 따르는 것을 보장하도록 클라이언트에 의해 보유된 임의의 편의적 잠금 및/또는 대여를 되살리는 것을 또한 포함할 수 있다. 상태 복원 컴포넌트(160)는 지나간 동작을 반복함으로써 상태 정보를 복원하기 위해 클라이언트 상에 과중한 부하를 주지 않으면서 신규 서버 또는 노드가 장애 서버 또는 노드를 대신하게 한다. SMB 2.0과 같은 프로토콜을 사용하는 클라이언트는 동일한 서버로의 접속을 복원하기 위해 재개 키를 사용하는 방법을 이미 알고 있으며, 접속 상태 시스템은 교체 서버가 장애 서버를 클라이언트로 투명하게 대신하게 한다. NFS와 함께 재개 키가 또한 사용될 수 있다. NFS인 경우에, 재개 키의 개념은 클라이언트에게 완전히 불투명하다. 클라이언트는 재개 키 생성, 관리, 및 연관에 명시적으로 참조하거나 참가하지 않는다. 대신에, 재개 키는 서버 측 개념이다.
블랙아웃 시행 컴포넌트(170)는 재개 서버로의 접속을 재개하는 제 1 클라이언트와 상충하는 방식으로 제 2 클라이언트가 자원을 간섭하는 것을 방지하는 하나 이상의 파일 또는 다른 자원으로의 접근에 대한 블랙아웃 기간을 시행한다. 블랙아웃 시행 컴포넌트(170)는 대부분의 상충하는 동작을 방지하기에는 충분히 길지만 제 1 클라이언트가 접속을 재개하지 않는 경우에 다른 클라이언트가 자원에 접속하는 것을 방지할 만큼 길지는 않다고 간주되는 기간(예를 들어, 15초 또는 30초)을 자동으로 설정할 수 있다. 기간은 제 1 클라이언트가 선택하는 경우 제 1 클라이언트에게 접속을 재개하기 위한 시간을 허용한다. 일부 실시예에서, 시스템은 관리자 또는 다른 사용자가 애플리케이션 특유의 목적을 위해 시스템을 조율하도록 블랙아웃 기간의 지속시간을 구성하게 한다. 시스템은 개별 클라이언트가 생성/열기 요구 또는 다른 애플리케이션 프로그래밍 인터페이스(application programming interface(API))에 대한 매개변수로서 블랙아웃 기간을 또한 요구하게 할 수 있다. 블랙아웃된 자원에 접근하려는 시도에 응답하여, 블랙아웃 시행 컴포넌트(170)는 특정 기간 후에 요구를 다시 시도하거나 그냥 요구를 따르지 않는다는 표시를 제공할 수 있다. 블랙아웃 기간 후에 어떤 클라이언트도 접속을 재개하지 않으면, 블랙아웃이 종료되며 자원에 접근하려는 요구가 평상시처럼 성공할 것이다.
자원 유예 컴포넌트(180)는 클러스터(cluster)가 계획된 방식으로 또 다른 노드로 페일오버하게 하도록 현재 실행 중인 자원이 페일오버 없이 유예되고 재개되게 한다. 하나의 예는 부하 밸런싱(load balancing)이다. 유예는 상태의 부분집합이 신규 노드로 이행되고 있는 시나리오를 허용한다. 예를 들어, 클러스터 내의 하나의 노드가 과부하이면, 관리자는 노드의 클라이언트 중 절반을 신규 노드로 이동하기를 원할 수 있다. 유예는 이동되고 있는 열기(open)의 상태를 캡처하는 것을 허용하며 클라이언트가 (예를 들어, 서버 상태를 재설정하지 않으면서) 동일한 열기(open)의 연속으로서 신규 노드로 접속하게 한다. 또 다른 예로서, SMB는 일반 노드(generic node)가 클러스터 내로 이동되어 클라이언트 요구를 서비스하기 위해 교환 가능하게 사용될 수 있는 클러스터링 시나리오(clustering scenario)를 지원한다. 예를 들어, 유지 보수를 위해 특정 노드를 종종 작동 중단할 이유가 있으며, 현재 노드를 정확히 유예시키고, 신규 노드를 작동시키고, 오래된 노드를 작동 해제시키며, 그런 다음 작동 해제된 노드 상에서 임의의 유지 보수 동작을 수행하는 것이 바람직하다. 이것은 클라이언트에게 바람직하지 않은 영향을 미칠 수 있지만, 본 명세서에 설명된 기법을 이용하여 접속 상태 시스템(100)은 체계화된 방식으로 노드를 유예시킬 수 있으며 클라이언트가 신규 노드를 효율적으로 이용하여 동작을 재개하게 할 수 있다.
접속 상태 시스템이 구현되는 컴퓨팅 디바이스는 중앙 처리 장치, 메모리, 입력 디바이스(예를 들어, 키보드 및 포인팅 디바이스), 출력 디바이스(예를 들어, 디스플레이 디바이스), 및 저장 디바이스(예를 들어, 디스크 드라이브 또는 다른 비휘발성 저장 매체)를 포함할 수 있다. 메모리 및 저장 디바이스는 시스템을 구현하거나 작동 가능하게 하는 컴퓨터 실행 가능한 명령어(예를 들어, 소프트웨어)를 이용하여 부호화될 수 있는 컴퓨터 판독 가능한 저장 매체이다. 또한, 데이터 구조 및 메시지 구조는 통신 링크 상의 신호와 같은 데이터 전송 매체를 통해 저장되거나 전송될 수 있다. 인터넷, 근거리 통신망(local area network(LAN)), 광역 통신망(wide area network(WAN)), 점 대 점 다이얼-업 접속(point-to-point dial-up connection), 무선 전화 네트워크 등과 같은 다양한 통신 링크가 사용될 수 있다.
퍼스널 컴퓨터, 서버 컴퓨터, 휴대용 또는 랩탑 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그래밍 가능한 가전 제품, 디지털 카메라, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전술된 시스템 또는 디바이스 중 임의의 시스템 또는 디바이스를 포함하는 분산형 컴퓨팅 환경, 셋탑 박스, 시스템 온 칩(systems on a chip(SOC)) 등을 포함하는 다양한 동작 환경에서 시스템의 실시예가 구현될 수 있다. 컴퓨터 시스템은 무선 전화, 퍼스널 디지털 어시스턴트(personal digital assistant(PDA)), 스마트 폰, 퍼스널 컴퓨터, 프로그래밍 가능한 가전 제품, 디지털 카메라 등일 수 있다.
시스템은 하나 이상의 컴퓨터 또는 다른 디바이스에 의해 실행된 프로그램 모듈과 같은 컴퓨터 실행 가능한 명령어의 일반적인 맥락으로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 임무를 수행하거나 특정 추상 자료 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 대개, 프로그램 모듈의 기능은 다양한 실시예에서 요구된 바와 같이 조합되거나 분산될 수 있다.
도 2는 하나의 실시예에서 파일 시스템 상태 정보를 캡처하는 접속 상태 시스템의 프로세싱을 예시하는 흐름도이다. 블록 210에서 시작하면서, 시스템은 서버 상에 저장된 원격 자원에 접근하려는 요구를 클라이언트로부터 수신한다. 접근 요구는 접속이 장애인 경우에 복수의 가능한 접속을 가로질러 세션을 식별하기 위해 사용된 재개 키를 포함하는 하나 이상의 매개변수를 포함할 수 있다. 자원 접근 요구는 클라이언트로부터 송신된 일련의 접근 요구에서 첫 번째 접근 요구일 수 있으며, 클라이언트가 서버로부터 접속 해제된 경우에는 언제든지, 클라이언트는 접속을 재개하기 위해 후속 열기 요구 내의 동일한 재개 키를 동일한 서버 또는 신규 서버로 제공할 수 있다. 재개 키는 서버에 의해 (또는 서버들에 걸쳐) 유지된 상태 정보를 상관시킴으로써 서버가 클라이언트에게 보다 신속하게 응답하게 하는데, 그렇지 않다면 이들 간에는 개별적인 클라이언트 접속으로 나타날 것이다.
블록 220으로 계속되어, 시스템은 요구에 관련된 클라이언트 세션을 식별하는 식별자를 결정한다. 일부 경우에, 식별자는 다양한 이유로 접속 해제된 세션을 재개할 수 있도록 허용하는 지속적인 핸들을 위해 클라이언트가 제공하는 재개 키이다. 접근 요구는 시스템이 요구 내에서 적절한 위치를 읽음으로써 키를 추출할 수 있도록 프로토콜 내의 잘 정의된 위치에 하나 이상의 매개변수를 포함할 수 있다. 대안적으로 또는 추가적으로, 서버는 클라이언트에 의해 명시적으로 제공된 정보를 포함하지 않는 식별자를 결정하기 위한 자동화된 프로세스를 포함할 수 있다. 예를 들어, 서버는 인터넷 프로토콜(Internet Protocol(IP)) 어드레스에 의해 또는 클라이언트 접속이 이전 세션에 상관된다는 것을 서버에게 표시하는 다른 추론된 데이터에 의해 클라이언트를 식별할 수 있다.
블록 230으로 계속되어, 시스템은 클라이언트에 의해 요구된 동작에 의해 생성된 상태 정보를 추출된 식별자에 연관시키는 추출된 식별자에 의해 탐색 가능한 재개 기록을 생성한다. 재개 기록은 서버가 장애인 경우에 또 다른 서버가 동작을 재개하고 본래의 서버의 위치에서 작용하기 위해 기록을 판독할 수 있도록 현재의 접근 요구를 취급하는 서버의 외부 위치에 저장될 수 있다. 재개 기록은 파일, 데이터베이스 기록, 또는 다른 형태의 저장을 포함할 수 있다. 기록은 열린 파일 핸들, 클라이언트에 의해 획득된 편의적 잠금, 대여, 또는 다른 파일 시스템 상태 정보의 리스트를 포함할 수 있다.
블록 240으로 계속되어, 시스템은 서버를 통해 접근 가능한 파일로의 접근을 요구하는 클라이언트로부터의 파일 동작을 수신한다. 파일 동작은 파일을 열려는 요구, 파일을 닫으려는 요구, 파일을 읽으려는 요구, 파일을 쓰려는 요구, 공유된 프린터로 프린트하려는 요구, 또는 다른 파일 시스템 동작일 수 있다. 수신된 동작은 서버 상에 생성되고 있는 소정 양의 상태 정보를 포함한다. 예를 들어, 클라이언트가 파일로 핸들을 열면, 서버는 파일에 관련된 다른 클라이언트 요구를 관리하도록 그리고 핸들에 대한 수명 및/또는 소거(cleanup) 프로세싱을 관리하도록 그러한 핸들을 추적한다.
블록 250으로 계속되어, 시스템은 클라이언트가 클라이언트의 서버와의 접속을 상실하는 경우에 수신된 파일 동작을 재개하도록 정보를 제공하는 재개 상태 정보를 생성된 재개 기록 내에 저장한다. 클라이언트 접속이 장애인 경우에, 클라이언트는 원격 자원을 다시 열고 동일한 재개 키 또는 다른 세션 식별자를 명시함으로써 접속을 재개하려고 시도할 것이다. 이는 서버 또는 또 다른 서버가 저장된 재개 기록에 접근하고 이전의 상태 정보를 재설정하게 할 것이다.
블록 260으로 계속되어, 시스템은 요구된 파일 동작을 수행한다. 동작은 파일을 여는 것, 파일의 콘텐츠를 읽는 것, 데이터를 파일에 쓰는 것, 접근 권한을 파일로 변경하는 것, 또는 임의의 다른 파일 시스템 동작일 수 있다. 동작의 결과는 서버에 의해 저장된 상태를 변경시킬 수 있다. 예를 들어, 클라이언트가 핸들을 닫으려고 시도하고 서버가 그 핸들을 성공적으로 닫으면, 서버에 의해 추적된 핸들의 리스트로부터 그 핸들을 제거하도록 서버 상태가 갱신될 것이다.
블록 270으로 계속되어, 시스템은 수행된 파일 동작의 결과에 기반하여 생성된 재개 기록 내의 저장된 재개 상태 정보를 갱신한다. 시스템은 페일오버를 야기하는 장애가 발생할 때를 미리 알 수 없으며, 따라서 시스템은 서버가 이전의 서버의 상태에 가능한 가까운 상태를 재설정하게 하는 서버 상태의 최신 뷰(up to date view)를 재개 기록 내에 유지한다. 완료되었던 동작이 반복될 필요가 없는(그렇지만, 서버는 결과를 클라이언트에게 재송신할 수 있는) 동안에, 완료되지 않았던 동작을 완료하도록 그 동작이 재생될 수 있다. 따라서, 시스템은 서버 상태 정보를 변경하는 다양한 파일 시스템 동작 중에 그리고 그러한 다양한 파일 시스템 동작 후에 필요에 따라 상태를 갱신한다.
블록 280으로 계속되어, 시스템은 요구된 파일 동작의 결과를 표시하는 응답을 클라이언트에게 송신한다. 클라이언트 및 서버가 여전히 접속되어 있으면, 클라이언트에 의해 동작이 요구되며 갱신된 상태 정보를 서버가 계속하여 추적할 때 동작이 계속된다. 접속이 상실되는 경우에는 언제든지, 또 다른 서버가 드러날 수 있거나 기존의 서버가 수리될 수 있으며, 이전 서버 상태를 재설정하기 위해 상태 저장소로부터 상태 정보가 로딩될 수 있다. 세션을 재개하려는 클라이언트로부터의 신규 요구를 수신하는 경우에, 클라이언트는 페일오버가 발생했다는 것과 클라이언트가 본래의 서버와 상이한 서버와 상호 작용할 가능성이 있다는 것을 인지할 필요가 없다. 블록 280 다음에, 이들 단계가 종결한다.
도 3은 하나의 실시예에서 페일오버 후에 접속을 재개하는 접속 상태 시스템의 프로세싱을 예시하는 흐름도이다. 블록 310에서 시작하면서, 시스템은 서버 상에 저장된 원격 자원을 열려는 요구를 클라이언트로부터 수신한다. 시스템 요구는 접속이 장애인 경우에 복수의 가능한 접속을 가로질러 세션을 식별하기 위해 사용된 재개 키를 포함한 하나 이상의 매개변수를 포함할 수 있다. 도 2를 참조하여 논의된 자원 접근 요구와 달리, 이러한 요구는 이전에 접속된 세션으로 재접속하려는 요구이다. 클라이언트가 본래 제공된 재개 키와 동일한 재개 키를 제공하며, 따라서 서버는 현재의 세션 요구를 이전 세션에 상관시킬 수 있다.
블록 320으로 계속되어, 시스템은 요구에 관련된 클라이언트 세션을 식별하는 세션 식별자를 결정한다. 일부 경우에, 식별자는 다양한 이유로 접속 해제된 재개 세션을 허용하는 내구성 핸들을 위해 클라이언트가 제공하는 SMB2 재개 키이다. 접근 요구는 시스템이 요구 내에서 적절한 위치를 읽음으로써 키를 추출할 수 있도록 프로토콜 내의 잘 정의된 위치에 하나 이상의 매개변수를 포함할 수 있다. 다시 말해서, 서버는 클라이언트에 대한 정보에 기반하여 자동적으로 식별자를 결정할 수 있다.
블록 330으로 계속되어, 시스템은 세션 식별자에 연관된 재개 기록을 식별하도록 상태 저장소 내의 수신된 세션 식별자를 순람한다. 재개 가능한 세션을 사용하여 클라이언트와 상호 작용하는 임의의 이전 서버는 클라이언트와의 상호 작용을 통해 진행 중 기반으로(on an ongoing basis) 상태 정보를 저장한다. 클라이언트가 접속을 재설정하려고 시도할 때, 상태 정보는 본래의 서버를 대신하는 페일오버 서버에 이용 가능하다. 상태 정보는 본래의 서버의 장애 후에 그 정보가 접근 가능하도록 본래의 서버 외부에 저장될 수 있다.
블록 340으로 계속되어, 시스템은 재개 기록에 연관된 이전 상태 정보를 상태 저장소로부터 수신한다. 상태 정보는 열린 파일 핸들, 획득된 대여, 획득된 편의적 잠금 등과 같은 정적 상태는 물론 완료되지 않을 수 있는 인 플라이트 동작과 같은 동적 상태를 식별한다. 저장된 상태 정보는 클라이언트에 의한 구체적인 프로세싱 없이 페일오버 서버가 본래의 서버를 대신하게 한다. 클라이언트는 재개 가능한 핸들을 이해하며, 접속을 재개 가능하게 하는 단계를 수행하지만, 임의의 특정 시간에 어떤 서버가 접속을 취급하는 것을 종료할지를 깨닫지 못할 수 있다. 클라이언트는 페일오버 서버를 포함하는 몇 개의 서버 중 임의의 하나의 서버의 어드레스로 해결할 수 있는 도메인 명칭 또는 네트워크 파일 공유를 통해 서버에 접근할 수 있다.
블록 350으로 계속되어, 시스템은 파일 시스템 상태를 추적하는 파일 시스템 컴포넌트 내로 정보를 로딩함으로써 수신된 이전 상태 정보를 복원한다. 상태를 로딩한 후에, 페일오버 서버의 국부 상태는 이전 동작 모두가 페일오버 서버 상에 발생했었다면 보였을 상태와 유사하다. 따라서, 페일오버 서버는 접속이 장애가 아니었다면 일련의 동작을 계속하기 위해 본래의 서버에게 유용했을 만큼 클라이언트에게 유용하다.
블록 360으로 계속되어, 시스템은 서버가 재개 기록을 발견했다는 것을 나타내는 클라이언트 접근 요구에 응답하며, 이전 세션에 관련된 클라이언트 동작을 수신할 준비를 하고 있다. 서버의 응답에 기반하여, 클라이언트는 세션이 재개되는지 여부 또는 클라이언트가 이전 동작을 반복하도록 조치를 취할 필요가 있는지 여부를 판단할 수 있다. 세션이 성공적으로 재개되었다면, 클라이언트는 완료되었거나 또는 서버가 재개된 후에 완료하도록 재생되었던 이전 동작을 계속하여 알 수 있다. 일부 경우에, 시스템은 페일오버 전의 파일 핸들과 동일한 상태를 갖는 신규 파일 핸들을 클라이언트에게 전달할 수 있다. 블록 360 후에, 이들 단계가 종결한다.
도 4는 하나의 실시예에서 접속 상태 시스템의 동작 환경을 예시하는 블록 다이어그램이다. 환경은 파일 시스템과 상호 작용하는 하나 이상의 운영 체제 서비스 또는 애플리케이션을 포함한다. 예를 들어, 마이크로소프트™ 윈도우즈™는 SRV로 공지된 서버 서비스(420), 및 NFS로 공지된 네트워크 파일 시스템 서비스(410)를 포함한다. 네트워크 파일 시스템 서비스(410) 및 서버 서비스(420)는 컴퓨터 시스템들 사이에서 파일 및 프린터와 같은 공유된 자원으로의 접근을 제공한다. 서버 서비스(420)는 윈도우즈™ 네트워크에 공통인 SMB 프로토콜을 사용하는 반면, 네트워크 파일 시스템 서비스(410)는 보다 공통적으로 NFS를 사용하는 유닉스(Unix) 기반 시스템으로의 접근을 제공한다. 프로토콜에 독립적으로, 재개 키 필터(430)는 파일 동작을 캡처하며 동작을 재개하기 위한 상태 정보를 원격 데이터 저장소 내에 저장한다. 동작은 파일 시스템 레벨(440)(예를 들어, NTFS 또는 다른 파일 시스템)을 통과하며, 하나 이상의 사용자 데이터 파일(450)에 영향을 미친다. 한편, 재개 키 필터(430)는 또 다른 서버가 상태 정보를 검색하며 클라이언트로의 접속을 재개하기 위해 접근할 수 있는 로그 파일(460) 또는 다른 데이터 저장소에 상태 정보를 쓴다. 시스템은 관련된 특정 프로토콜 또는 파일 시스템에 독립적으로 동작할 수 있으며, 그들 자신의 특정 상태 정보를 상태 데이터 저장소 내에 저장하기 위해 다양한 컴포넌트가 갱신될 수 있다.
일부 실시예에서, 접속 상태 시스템은 컴포넌트 특유의 지식 없이 시스템이 접속을 재개하게 하도록 파일 시스템 컴포넌트 대신에 데이터의 불투명 블로브(opaque blob)를 저장한다. 예를 들어, 본 명세서에서 설명된 재개 키 필터는 서버 서비스의 현재 상태를 재생성하기 위해 서버 서비스가 필요로 했던 임의의 데이터에 대해 서버 서비스를 요청할 수 있다. 그런 다음, 필터는 임의의 수신된 데이터를 불투명 블로브(즉, 필터가 불투명 블로브 내에 존재하는 것 또는 불투명 블로브 내에 존재하는 것의 의미론적 의미를 알 필요가 없음)로서 상태 저장소 내에 저장할 수 있다. 페일오버 조건인 경우에, 서버 서비스가 서버 서비스 자신의 상태를 복원할 수 있도록, 신규 서버 상에서 동작하는 재개 키 필터는 저장된 상태 정보에 접근할 수 있으며, 저장된 블로브를 검색할 수 있고, 서버 서비스에 블로브를 제공할 수 있다. 이런 방식으로, 시스템은 서버를 위해 각각의 프로토콜을 구현하는 컴포넌트의 내부 동작을 구체적으로 알지 않더라도 많은 유형의 프로토콜과 함께 작업하도록 제작될 수 있다.
일부 실시예에서, 접속 상태 시스템은 다른 클라이언트가 약간의 시간(즉, 블랙아웃 기간) 동안 재개 가능한 핸들에 관련된 파일 또는 다른 자원에 접근하는 것을 방지한다. 블랙아웃 기간 중에 본래의 클라이언트가 재접속하면, 본래의 클라이언트는 모든 이전 상태와 다시 접속하며, 동작을 재개할 수 있다. 또 다른 클라이언트가 접속하려고 시도하는 경우에, 서버는 일정한 양의 시간 또는 재시도를 기다리는 것을 나타내는 메시지를 제공할 수 있다. 재개 인식 클라이언트(resume aware client)는 블랙아웃 기간 후까지 재시도를 지연시키기 위해 이러한 정보를 사용할 수 있는 반면, 더 오래된 클라이언트는 접속에 단순히 장애가 있을 수 있으며 사용자의 요구에 따라 수동으로 재시도할 수 있다. 본래의 클라이언트가 블랙아웃 기간 내에 복귀하지 않는 경우에, 서버는 재개 상태 정보를 소거하고 평소와 같이 신규 클라이언트가 자원에 접근하게 한다.
일부 실시예에서, 접속 상태 시스템은 재개를 촉진하기 위한 다양한 저장 디바이스 또는 전략을 사용할 수 있다. 예를 들어, 시스템을 장애에 의해 이미 차단된 동작을 더 이상 지연시키는 것을 방지하기 위해 재개가 데이터로 보다 신속하게 접근하도록 재개 상태 정보를 저장하기 위한 신속한 비휘발성 저장 디바이스(예를 들어, 고체 상태 디스크(solid state disk(SSD))를 사용할 수 있다. 또 다른 예로서, 시스템은 각각의 서버에 의해 만들어진 모든 변경을 한 그룹의 서버로 방송할 수 있으며, 따라서 각각의 서버는 상태 정보에 대한 각각의 서버 자신의 사본을 유지할 수 있으며, 본래의 서버가 장애인 경우에 각각의 서버는 선택된 페일오버 서버일 수 있다.
앞의 설명으로부터, 접속 상태 시스템의 특정 실시예가 본 명세서에서 예시를 위해 설명되었지만 다양한 변형이 본 발명의 사상 및 범위를 벗어나지 않으면서 이루어질 수 있다는 것이 이해될 것이다. 따라서, 본 발명은 첨부된 특허청구범위에 의한 것과 같은 경우를 제외하고 제한되지 않는다.
Claims (15)
- 접속 재개를 용이하게 하도록 파일 시스템 상태 정보를 캡처하기 위한 컴퓨터 구현 방법으로서,
서버에 저장된 원격 자원에 접근하려는 요구를 클라이언트로부터 수신하는 단계,
상기 요구에 관련된 클라이언트 세션을 식별하는 식별자를 결정하는 단계,
상기 클라이언트에 의해 요구된 동작에 의해 생성된 상태 정보를 상기 추출된 식별자에 연관시키는, 상기 추출된 식별자에 의해 탐색 가능한 재개 기록을 생성하는 단계,
상기 서버를 통해 접근 가능한 파일로의 접근을 요구하는 상기 클라이언트로부터 파일 동작을 수신하는 단계,
상기 클라이언트가 상기 클라이언트의 상기 서버와의 접속을 상실하는 경우에 상기 수신된 파일 동작을 재개하도록 정보를 제공하는 재개 상태 정보를 상기 생성된 재개 기록 내에 저장하는 단계,
상기 요구된 파일 동작을 수행하는 단계,
상기 수행된 파일 동작의 결과에 기반하여 상기 생성된 재개 기록 내의 상기 저장된 재개 상태 정보를 갱신하는 단계, 및
상기 요구된 파일 동작의 상기 결과를 표시하는 응답을 상기 클라이언트에게 송신하는 단계를 포함하며,
상기 선행하는 단계들은 적어도 하나의 프로세서에 의해 수행되는
파일 시스템 상태 정보를 캡처하기 위한 컴퓨터 구현 방법.
- 제 1 항에 있어서,
상기 접근 요구는 접속이 장애가 있는 경우에 복수의 잠재적 접속을 가로질러 상기 클라이언트 세션을 식별하는 재개 키를 포함하는 하나 이상의 매개변수를 포함하며, 상기 재개 키는 상기 결정된 식별자의 적어도 일부인
방법.
- 제 1 항에 있어서,
상기 클라이언트가 상기 서버로부터 접속 해제되는 경우에, 페일오버 서버에서, 복수의 클라이언트 접속 사이에서 상기 서버에 의해 유지되는 상태 정보를 상관시킴으로써 상기 페일오버 서버가 접속 장애 후에 상기 클라이언트에 보다 신속하게 응답하게 하기 위해 상기 서버가 상기 본래의 접근 요구와 상관시킬 수 있는 신규 접근 요구를 수신하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
네트워크 파일 시스템(Network File System(NFS)) 서버가 상기 클라이언트로부터 재개 키를 수신하지 않고 상기 식별자를 자동으로 결정하는
방법.
- 제 1 항에 있어서,
상기 추출된 식별자는 접속 해제된 세션을 재개할 수 있도록 허용하는 지속 핸들(durable handle)을 위해 클라이언트가 제공하는 서버 메시지 블록(Server Message Block(SMB)) 재개 키인
방법.
- 제 1 항에 있어서,
상기 재개 기록을 생성하는 단계는 상기 서버가 장애인 경우에 또 다른 서버가 상기 클라이언트로부터 임의의 동작을 재개하고 상기 본래의 서버의 위치에서 작동하기 위해 상기 기록을 판독할 수 있도록 상기 현재의 접근 요구를 취급하는 상기 서버의 외부 위치에 상기 재개 기록을 저장하는 단계를 포함하는
방법.
- 제 1 항에 있어서,
상기 파일 동작을 수신하는 단계는 파일을 여는 것, 파일을 닫는 것, 파일을 읽는 것, 파일을 쓰는 것, 파일에 대한 대여를 획득하는 것, 및 파일에 대한 잠금을 획득하는 것으로 구성된 그룹으로부터 선택된 하나의 동작을 수행하기 위한 요구를 포함하는
방법.
- 제 1 항에 있어서,
상기 클라이언트가 상기 서버로부터 접속 해제되는 경우에, 상기 클라이언트가 페일오버 서버에 접속할 수 있고 임의의 이전 동작을 계속할 수 있도록 상기 페일오버 서버에서 상기 저장된 재개 기록을 로딩하는 단계를 더 포함하는
방법.
- 제 1 항에 있어서,
상기 요구된 파일 동작을 수행하는 단계는 상기 서버에 의해 저장된 상태를 변형시키며, 상기 저장된 재개 상태 정보를 갱신하는 단계는 상기 변형된 상태를 캡처하는
방법.
- 제 1 항에 있어서,
상기 저장된 재개 상태 정보를 갱신하는 단계는 상기 클라이언트에게 상기 상태 정보의 적어도 일부를 재설정할 것을 요구하지 않으면서 상기 본래의 서버 대신에 또 다른 서버가 상기 상태를 재설정하고 상기 클라이언트 요구를 취급하게 하는 상기 서버 상태의 최신 뷰를 상기 재개 기록 내에 유지하는 단계를 포함하는
방법.
- 파일 시스템 내에 클라이언트에 대해 투명한 페일오버를 제공하기 위한 컴퓨터 시스템으로서,
후속 컴포넌트 내에 구현된 소프트웨어 명령어를 실행하도록 구성된 프로세서 및 메모리,
각각의 파일 핸들에 대한 상태 기록을 생성하며 클라이언트가 상기 파일 핸들을 사용하여 동작을 요구함에 따라 상태 정보를 수집하는 상태 수집 컴포넌트,
상기 클라이언트에 의해 제공된 세션 식별자에 연관하여 수집된 상태 정보를 저장하는 상태 저장 컴포넌트,
장애 서버에 의해 저장된 상태 정보를 재생성하기 위해 재개 서버가 사용한 파일 시스템 상태 정보를 지속적으로 저장하는 상태 데이터 저장소,
상기 장애 서버를 이용 불가능하게 하고 재개 서버에게 장애 서버의 위치에서 작동하도록 통지하는 조건을 검출하는 재개 검출 컴포넌트,
상기 저장된 상태 정보를 상기 재개 서버가 접근 가능한 위치로부터 검색하되, 상기 상태 정보는 상기 재개 서버가 상기 검출된 장애 조건에 의해 차단되었던 이전에 요구된 임의의 파일 시스템 동작을 재개하도록 해주는 상태 검색 컴포넌트, 및
상기 재개 서버가 상기 클라이언트에 의해 이전에 요구된 동작을 계속할 수 있도록 상기 재개 서버 내로 상기 검색된 상태 정보를 로딩하는 상태 복원 컴포넌트를 포함하는
시스템.
- 제 11 항에 있어서,
상기 상태 수집 컴포넌트는, 서버에서 동작하고 상기 서버가 이용 불가능한 경우에 상기 상태 정보가 접근될 수 있도록 상기 서버로부터 외부에 상태 정보를 저장하도록 더 구성된
시스템.
- 제 11 항에 있어서,
상기 상태 수집 컴포넌트는, 상기 클라이언트가 상기 서버에 접속할 때 상기 클라이언트로부터 재개 키를 수신하고 수집된 상태 정보를 상기 상태 데이터 저장소 내의 상기 재개 키에 연관시키도록 더 구성된
시스템.
- 제 11 항에 있어서,
상기 상태 데이터 저장소는 상기 클라이언트로의 상이한 접속을 사용하여 상기 장애 서버와 동일한 서버인 재개 서버를 위해 정보를 저장하고 제공하는
시스템.
- 제 11 항에 있어서,
상기 상태 데이터 저장소는, 상기 장애 서버가 동작을 수행함에 따라 상태 정보를 수신하며, 장애 시 상기 상태를 재개하고 완성되지 않았던 임의의 동작을 계속하여 수행하도록 상기 재개 서버로 상기 이전에 수신된 상태 정보로의 접근을 제공하는
시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/964,749 US8631277B2 (en) | 2010-12-10 | 2010-12-10 | Providing transparent failover in a file system |
US12/964,749 | 2010-12-10 | ||
PCT/US2011/063618 WO2012078693A2 (en) | 2010-12-10 | 2011-12-06 | Providing transparent failover in a file system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130131362A true KR20130131362A (ko) | 2013-12-03 |
KR101801432B1 KR101801432B1 (ko) | 2017-11-24 |
Family
ID=46200659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137014719A KR101801432B1 (ko) | 2010-12-10 | 2011-12-06 | 파일 시스템 내에 투명 페일오버의 제공 |
Country Status (13)
Country | Link |
---|---|
US (1) | US8631277B2 (ko) |
EP (1) | EP2649750B1 (ko) |
JP (1) | JP6141189B2 (ko) |
KR (1) | KR101801432B1 (ko) |
CN (1) | CN102624542B (ko) |
AU (1) | AU2011338485B2 (ko) |
BR (1) | BR112013014070A2 (ko) |
CA (1) | CA2817620A1 (ko) |
ES (1) | ES2566933T3 (ko) |
HK (1) | HK1174451A1 (ko) |
MX (1) | MX2013006427A (ko) |
RU (1) | RU2595482C2 (ko) |
WO (1) | WO2012078693A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190093642A (ko) * | 2016-12-14 | 2019-08-09 | 오라클 인터내셔날 코포레이션 | 연속적으로 이용가능한 네트워크 파일 시스템(nfs) 상태 데이터를 위한 시스템들 및 방법들 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US9342557B2 (en) * | 2013-03-13 | 2016-05-17 | Cloudera, Inc. | Low latency query engine for Apache Hadoop |
US10049022B2 (en) * | 2013-06-24 | 2018-08-14 | Oracle International Corporation | Systems and methods to retain and reclaim resource locks and client states after server failures |
US9665432B2 (en) * | 2014-08-07 | 2017-05-30 | Microsoft Technology Licensing, Llc | Safe data access following storage failure |
US9847918B2 (en) | 2014-08-12 | 2017-12-19 | Microsoft Technology Licensing, Llc | Distributed workload reassignment following communication failure |
KR101627256B1 (ko) * | 2015-01-08 | 2016-06-03 | (주)넷텐션 | 다수 분산서버를 구비한 네트워크 통신의 세션 이양 방법 |
US10084845B2 (en) * | 2015-09-14 | 2018-09-25 | Uber Technologies, Inc. | Data restoration for datacenter failover |
MX2018003767A (es) * | 2015-09-28 | 2018-06-18 | Arris Entpr Llc | Simulacion de respuesta de sistema de nombres de dominio en el dispositivo de equipo de la instalacion del cliente. |
US10303660B2 (en) | 2015-11-12 | 2019-05-28 | Microsoft Technology Licensing, Llc | File system with distributed entity state |
US9946726B2 (en) * | 2015-12-07 | 2018-04-17 | Dell Products L.P. | Method and system for execution of disconnection from and reconnection to persistent handles |
US10038752B2 (en) * | 2015-12-07 | 2018-07-31 | Dell Products L.P. | Method and system for execution of client-initiated operations on file handles in a distributed server system |
US10009428B2 (en) * | 2015-12-07 | 2018-06-26 | Dell Products L.P. | Method and system for reconnecting server message block (SMB) clients to persistent file handles |
US10951652B1 (en) | 2016-01-21 | 2021-03-16 | Amazon Technologies, Inc. | Communication session resumption |
US11550557B2 (en) | 2016-02-12 | 2023-01-10 | Nutanix, Inc. | Virtualized file server |
CN106254490A (zh) * | 2016-08-16 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种分布式存储故障转移方法以及分布式存储*** |
US10560553B2 (en) | 2016-09-14 | 2020-02-11 | International Business Machines Corporation | Assigning IP pools to file access protocols for NAS failover |
CN106571968B (zh) * | 2016-11-10 | 2020-02-21 | 华为技术有限公司 | 一种业务切换方法和*** |
CN106557390A (zh) * | 2016-11-15 | 2017-04-05 | 郑州云海信息技术有限公司 | 一种分布式存储文件连续访问方法及*** |
CN108352995B (zh) | 2016-11-25 | 2020-09-08 | 华为技术有限公司 | 一种smb业务故障处理方法和存储设备 |
CN107395416A (zh) * | 2017-07-20 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种数据发送方法及服务器集群 |
WO2020104447A1 (en) * | 2018-11-19 | 2020-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of operating service instance sets and/or set restoration storage resources and related network nodes |
WO2020104408A2 (en) * | 2018-11-19 | 2020-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of operating service control nodes |
US10866870B2 (en) | 2019-01-31 | 2020-12-15 | Hewlett Packard Enterprise Development Lp | Data store and state information handover |
CN110109620B (zh) * | 2019-04-25 | 2023-08-04 | 上海淇毓信息科技有限公司 | 混合存储方法、装置和电子设备 |
CN111274205B (zh) * | 2020-01-07 | 2024-03-26 | 北京小米松果电子有限公司 | 数据块访问方法及装置、存储介质 |
CN111756578B (zh) * | 2020-06-24 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件***的故障恢复方法和装置 |
US11507512B2 (en) * | 2020-12-08 | 2022-11-22 | EMC IP Holding Company LLC | Fault tolerant cluster data handling |
CN112631837B (zh) * | 2020-12-30 | 2024-04-12 | 凌云光技术股份有限公司 | 一种工程数据的保存方法及*** |
US11481139B1 (en) | 2021-03-31 | 2022-10-25 | Netapp, Inc. | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity |
US11740811B2 (en) | 2021-03-31 | 2023-08-29 | Netapp, Inc. | Reseeding a mediator of a cross-site storage solution |
US11709743B2 (en) | 2021-03-31 | 2023-07-25 | Netapp, Inc. | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11934670B2 (en) | 2021-03-31 | 2024-03-19 | Netapp, Inc. | Performing various operations at the granularity of a consistency group within a cross-site storage solution |
US11550679B2 (en) * | 2021-03-31 | 2023-01-10 | Netapp, Inc. | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
US11360867B1 (en) | 2021-03-31 | 2022-06-14 | Netapp, Inc. | Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event |
US11409622B1 (en) | 2021-04-23 | 2022-08-09 | Netapp, Inc. | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator |
US11928352B2 (en) | 2021-05-05 | 2024-03-12 | Netapp, Inc. | Maintaining the benefit of parallel splitting of ops between primary and secondary storage clusters in synchronous replication while adding support for op logging and early engagement of op logging |
CN113205406A (zh) * | 2021-05-27 | 2021-08-03 | 中国工商银行股份有限公司 | 异常地区数据服务隔离方法、装置、电子设备及介质 |
US11537314B1 (en) | 2021-10-07 | 2022-12-27 | Netapp, Inc. | Resynchronization of individual volumes of a consistency group (CG) within a cross-site storage solution while maintaining synchronization of other volumes of the CG |
US11892982B2 (en) | 2021-10-20 | 2024-02-06 | Netapp, Inc. | Facilitating immediate performance of volume resynchronization with the use of passive cache entries |
US11907562B2 (en) | 2022-07-11 | 2024-02-20 | Netapp, Inc. | Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations |
Family Cites Families (189)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4399504A (en) | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
US4825354A (en) | 1985-11-12 | 1989-04-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of file access in a distributed processing computer network |
US4780821A (en) | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4914570A (en) | 1986-09-15 | 1990-04-03 | Counterpoint Computers, Inc. | Process distribution and sharing system for multiple processor computer system |
US4887204A (en) | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US5202971A (en) | 1987-02-13 | 1993-04-13 | International Business Machines Corporation | System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock |
US4791566A (en) | 1987-03-27 | 1988-12-13 | Digital Equipment Corporation | Terminal device session management protocol |
US5008853A (en) | 1987-12-02 | 1991-04-16 | Xerox Corporation | Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment |
US4891785A (en) | 1988-07-08 | 1990-01-02 | Donohoo Theodore J | Method for transferring data files between computers in a network response to generalized application program instructions |
US5124909A (en) | 1988-10-31 | 1992-06-23 | Hewlett-Packard Company | Software program for providing cooperative processing between personal computers and a host computer |
CA1323448C (en) | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5109519A (en) | 1989-03-28 | 1992-04-28 | Wang Laboratories, Inc. | Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer |
US5560008A (en) | 1989-05-15 | 1996-09-24 | International Business Machines Corporation | Remote authentication and authorization in a distributed data processing system |
US5113519A (en) | 1989-05-15 | 1992-05-12 | International Business Machines Corporation | Maintenance of file attributes in a distributed data processing system |
US5218696A (en) | 1989-07-24 | 1993-06-08 | International Business Machines Corporation | Method for dynamically expanding and rapidly accessing file directories |
US5261051A (en) | 1989-08-14 | 1993-11-09 | Microsoft Corporation | Method and system for open file caching in a networked computer system |
US5265261A (en) | 1989-08-14 | 1993-11-23 | Microsoft Corporation | Method and system for network communications using raw mode protocols |
JP2575543B2 (ja) | 1990-04-04 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時アクセス管理方法 |
JPH0619771A (ja) | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
US5349642A (en) | 1992-11-03 | 1994-09-20 | Novell, Inc. | Method and apparatus for authentication of client server communication |
US5452447A (en) | 1992-12-21 | 1995-09-19 | Sun Microsystems, Inc. | Method and apparatus for a caching file server |
US5493728A (en) | 1993-02-19 | 1996-02-20 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
US5491752A (en) | 1993-03-18 | 1996-02-13 | Digital Equipment Corporation, Patent Law Group | System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens |
JP2513127B2 (ja) * | 1993-05-31 | 1996-07-03 | 日本電気株式会社 | ホットスタンバイ高速切替えシステム |
JPH0736760A (ja) * | 1993-07-20 | 1995-02-07 | Nippon Telegr & Teleph Corp <Ntt> | 装置多重化機能とモジュール間共用機能を併用した外部記憶装置の高信頼化方法 |
US5522042A (en) | 1994-01-28 | 1996-05-28 | Cabletron Systems, Inc. | Distributed chassis agent for distributed network management |
US5588117A (en) | 1994-05-23 | 1996-12-24 | Hewlett-Packard Company | Sender-selective send/receive order processing on a per message basis |
US5513314A (en) | 1995-01-27 | 1996-04-30 | Auspex Systems, Inc. | Fault tolerant NFS server system and mirroring protocol |
US5628005A (en) | 1995-06-07 | 1997-05-06 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment |
US5826027A (en) | 1995-10-11 | 1998-10-20 | Citrix Systems, Inc. | Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system |
US5764887A (en) | 1995-12-11 | 1998-06-09 | International Business Machines Corporation | System and method for supporting distributed computing mechanisms in a local area network server environment |
US6343313B1 (en) | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
WO1997037461A1 (en) | 1996-04-01 | 1997-10-09 | Hewlett-Packard Company | Transmitting messages over a network |
US6434120B1 (en) | 1998-08-25 | 2002-08-13 | Cisco Technology, Inc. | Autosensing LMI protocols in frame relay networks |
US5933602A (en) | 1996-07-31 | 1999-08-03 | Novell, Inc. | System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network |
US6208952B1 (en) | 1996-10-24 | 2001-03-27 | Microsoft Corporation | Method and system for delayed registration of protocols |
JPH10133971A (ja) * | 1996-10-25 | 1998-05-22 | Nec Corp | ファイル転送処理方式 |
US6125122A (en) | 1997-01-21 | 2000-09-26 | At&T Wireless Svcs. Inc. | Dynamic protocol negotiation system |
US5931913A (en) | 1997-05-07 | 1999-08-03 | International Business Machines Corporation | Methods, system and computer program products for establishing a session between a host and a terminal using a reduced protocol |
US6219799B1 (en) | 1997-07-01 | 2001-04-17 | Unisys Corporation | Technique to support pseudo-names |
US6092199A (en) | 1997-07-07 | 2000-07-18 | International Business Machines Corporation | Dynamic creation of a user account in a client following authentication from a non-native server domain |
US6275953B1 (en) * | 1997-09-26 | 2001-08-14 | Emc Corporation | Recovery from failure of a data processor in a network server |
US6247139B1 (en) | 1997-11-11 | 2001-06-12 | Compaq Computer Corp. | Filesystem failover in a single system image environment |
US6085247A (en) | 1998-06-08 | 2000-07-04 | Microsoft Corporation | Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers |
US6131125A (en) | 1997-11-14 | 2000-10-10 | Kawasaki Lsi U.S.A., Inc. | Plug-and-play data cable with protocol translation |
US6516351B2 (en) | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US7010532B1 (en) | 1997-12-31 | 2006-03-07 | International Business Machines Corporation | Low overhead methods and apparatus for shared access storage devices |
US6243862B1 (en) | 1998-01-23 | 2001-06-05 | Unisys Corporation | Methods and apparatus for testing components of a distributed transaction processing system |
US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
JPH11265361A (ja) * | 1998-03-17 | 1999-09-28 | Nec Corp | 多重計算機システム、通信処理装置、トランザクション処理システム、トランザクション処理システム運転引き継ぎ方法、トランザクション処理システム運転引き継ぎプログラムを記録した記録媒体 |
JP3506920B2 (ja) * | 1998-08-25 | 2004-03-15 | 日本電信電話株式会社 | 全命令トレースデータの2次記憶装置への格納競合防止方法 |
US6401123B1 (en) | 1998-11-24 | 2002-06-04 | International Busines Machines Corporation | Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol |
US6883000B1 (en) | 1999-02-12 | 2005-04-19 | Robert L. Gropper | Business card and contact management system |
US6324581B1 (en) | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6453354B1 (en) | 1999-03-03 | 2002-09-17 | Emc Corporation | File server system using connection-oriented protocol and sharing data sets among data movers |
US20040139004A1 (en) | 1999-04-08 | 2004-07-15 | Aceinc Pty Ltd. | Secure online commerce transactions |
US6938096B1 (en) | 1999-04-12 | 2005-08-30 | Softricity, Inc. | Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port |
US7562129B1 (en) | 1999-04-15 | 2009-07-14 | Alcatel-Lucent Canada Inc. | Subscription management system for data communication network |
US6349350B1 (en) | 1999-05-04 | 2002-02-19 | International Business Machines Corporation | System, method, and program for handling failed connections in an input/output (I/O) system |
WO2000068856A2 (en) | 1999-05-11 | 2000-11-16 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
US7318102B1 (en) | 1999-05-24 | 2008-01-08 | Hewlett-Packard Development Company, L.P. | Reliable datagram |
US6430691B1 (en) | 1999-06-21 | 2002-08-06 | Copytele, Inc. | Stand-alone telecommunications security device |
US6490666B1 (en) | 1999-08-20 | 2002-12-03 | Microsoft Corporation | Buffering data in a hierarchical data storage environment |
US6636242B2 (en) | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
JP2001094613A (ja) | 1999-09-21 | 2001-04-06 | Canon Inc | 通信制御装置、方法および記録媒体 |
US6775707B1 (en) | 1999-10-15 | 2004-08-10 | Fisher-Rosemount Systems, Inc. | Deferred acknowledgment communications and alarm management |
US6910082B1 (en) | 1999-11-18 | 2005-06-21 | International Business Machines Corporation | Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server |
US6658476B1 (en) | 1999-11-29 | 2003-12-02 | Microsoft Corporation | Client-server protocol support list for standard request-response protocols |
US7111060B2 (en) | 2000-03-14 | 2006-09-19 | Aep Networks, Inc. | Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser |
US6883015B1 (en) * | 2000-03-30 | 2005-04-19 | Cisco Technology, Inc. | Apparatus and method for providing server state and attribute management for multiple-threaded voice enabled web applications |
US6993587B1 (en) | 2000-04-07 | 2006-01-31 | Network Appliance Inc. | Method and apparatus for election of group leaders in a distributed network |
US7225244B2 (en) | 2000-05-20 | 2007-05-29 | Ciena Corporation | Common command interface |
US6452903B1 (en) | 2000-05-31 | 2002-09-17 | Fujitsu Network Communications, Inc. | Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis |
US6961858B2 (en) | 2000-06-16 | 2005-11-01 | Entriq, Inc. | Method and system to secure content for distribution via a network |
US7693976B2 (en) | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US6349250B1 (en) | 2000-10-26 | 2002-02-19 | Detroit Diesel Corporation | Clear historic data from a vehicle data recorder |
JP2002183000A (ja) | 2000-12-11 | 2002-06-28 | Hitachi Ltd | ネットワークを介するデータ参照方法及びそのシステム |
US20020073211A1 (en) | 2000-12-12 | 2002-06-13 | Raymond Lin | System and method for securely communicating between application servers and webservers |
KR100750735B1 (ko) | 2001-02-03 | 2007-08-22 | 삼성전자주식회사 | 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템 |
US7055036B2 (en) | 2001-04-06 | 2006-05-30 | Mcafee, Inc. | System and method to verify trusted status of peer in a peer-to-peer network environment |
US8051212B2 (en) | 2001-04-11 | 2011-11-01 | Mellanox Technologies Ltd. | Network interface adapter with shared data send resources |
US20030093678A1 (en) | 2001-04-23 | 2003-05-15 | Bowe John J. | Server-side digital signature system |
JP2002328828A (ja) | 2001-04-27 | 2002-11-15 | Fujitsu Ltd | ストレージサービス方法、ストレージサービスユーザ及びストレージサービスプロバイダ |
JP3797236B2 (ja) | 2001-04-27 | 2006-07-12 | 日本ビクター株式会社 | 記録再生装置および記録再生方法 |
US6640226B1 (en) | 2001-06-19 | 2003-10-28 | Informatica Corporation | Ranking query optimization in analytic applications |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US6944785B2 (en) | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
JP2003069610A (ja) | 2001-08-22 | 2003-03-07 | Canon Inc | 通信装置、その制御方法、通信システム、及び制御プログラム |
JP3663627B2 (ja) | 2001-10-18 | 2005-06-22 | ソニー株式会社 | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム |
US7136982B2 (en) | 2001-11-09 | 2006-11-14 | Danger, Inc. | Apparatus and method for allocating memory blocks |
US7394764B2 (en) | 2001-12-14 | 2008-07-01 | Sasken Communication Technologies Limited | Technique for improving transmission control protocol performance in lossy networks |
US7313816B2 (en) | 2001-12-17 | 2007-12-25 | One Touch Systems, Inc. | Method and system for authenticating a user in a web-based environment |
JP3969089B2 (ja) * | 2001-12-25 | 2007-08-29 | 株式会社日立製作所 | 階層構成サーバシステム |
US7111035B2 (en) | 2001-12-26 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Fault tolerance associations for IP transport protocols |
US20030140129A1 (en) | 2002-01-24 | 2003-07-24 | Noam Livnat | Installing communication protocol in a handheld device |
US6829606B2 (en) | 2002-02-14 | 2004-12-07 | Infoglide Software Corporation | Similarity search engine for use with relational databases |
US7178050B2 (en) | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System for highly available transaction recovery for transaction processing systems |
US7984157B2 (en) | 2002-02-26 | 2011-07-19 | Citrix Systems, Inc. | Persistent and reliable session securely traversing network components using an encapsulating protocol |
US7388866B2 (en) | 2002-03-07 | 2008-06-17 | Broadcom Corporation | System and method for expediting upper layer protocol (ULP) connection negotiations |
US7668306B2 (en) | 2002-03-08 | 2010-02-23 | Intel Corporation | Method and apparatus for connecting packet telephony calls between secure and non-secure networks |
JP2003281091A (ja) | 2002-03-25 | 2003-10-03 | Fujitsu Ltd | 同時受付制御システム |
JP4315696B2 (ja) | 2002-03-29 | 2009-08-19 | 富士通株式会社 | ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法 |
JP4000905B2 (ja) | 2002-05-22 | 2007-10-31 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム |
EP1512261A1 (en) | 2002-06-10 | 2005-03-09 | Caplin Systems Limited | Resource management |
US7290141B2 (en) | 2002-06-27 | 2007-10-30 | Nokia, Inc. | Authentication of remotely originating network messages |
US20040003210A1 (en) | 2002-06-27 | 2004-01-01 | International Business Machines Corporation | Method, system, and computer program product to generate test instruction streams while guaranteeing loop termination |
CA2393502A1 (en) | 2002-07-15 | 2004-01-15 | Mark J. Frazer | System and method for reliable transport in a computer network |
US20040019660A1 (en) | 2002-07-24 | 2004-01-29 | Sandhya E. | Lock holding multi-threaded processes for distibuted data systems |
US6829473B2 (en) | 2002-07-25 | 2004-12-07 | Utstarcom, Inc. | Roaming and hand-off support for prepaid billing for wireless data networks |
EP1543420B1 (en) | 2002-07-29 | 2012-04-04 | Open Invention Network LLC | Consistent message ordering for semi-active and passive replication |
US20040032876A1 (en) | 2002-08-19 | 2004-02-19 | Ajay Garg | Selection of transmission channels |
JP3846384B2 (ja) | 2002-08-28 | 2006-11-15 | ブラザー工業株式会社 | 端末装置、接続制御方法、接続制御用プログラム及び記録媒体 |
US6957367B2 (en) | 2002-08-30 | 2005-10-18 | Hewlett-Packard Development Company L.P. | System and method for controlling activity of temporary files in a computer system |
US7109430B2 (en) | 2002-11-05 | 2006-09-19 | Emrise Corporation | Low profile rotary switch with detent in the bushing |
US7386889B2 (en) | 2002-11-18 | 2008-06-10 | Trusted Network Technologies, Inc. | System and method for intrusion prevention in a communications network |
US7421502B2 (en) | 2002-12-06 | 2008-09-02 | International Business Machines Corporation | Method and system for storage-aware flow resource management |
US7475142B2 (en) | 2002-12-06 | 2009-01-06 | Cisco Technology, Inc. | CIFS for scalable NAS architecture |
US7664991B1 (en) | 2002-12-17 | 2010-02-16 | Symantec Operating Corporation | System and method for distributed file system I/O recovery |
US7290051B2 (en) | 2003-01-09 | 2007-10-30 | Sun Microsystems, Inc. | Method and apparatus for hardware implementation independent verification of network layers |
JP3999135B2 (ja) | 2003-01-24 | 2007-10-31 | 株式会社エヌ・ティ・ティ・ドコモ | 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体 |
US7571463B1 (en) | 2003-01-24 | 2009-08-04 | Nortel Networks Limited | Method an apparatus for providing a scalable and secure network without point to point associations |
US7151939B2 (en) | 2003-02-18 | 2006-12-19 | Qualcomm Incorporated | Method, apparatus, and machine-readable medium for providing indication of location service availability and the quality of available location services |
US7072807B2 (en) | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7490152B2 (en) | 2003-04-11 | 2009-02-10 | Alcatel-Lucent Usa Inc. | Version caching mechanism |
US7339885B2 (en) | 2003-06-05 | 2008-03-04 | International Business Machines Corporation | Method and apparatus for customizable surveillance of network interfaces |
US7363629B2 (en) | 2003-06-19 | 2008-04-22 | International Business Machines Corporation | Method, system, and program for remote resource management |
US7526640B2 (en) | 2003-06-30 | 2009-04-28 | Microsoft Corporation | System and method for automatic negotiation of a security protocol |
US7698115B2 (en) | 2003-06-30 | 2010-04-13 | Microsoft Corporation | System and method for dynamically allocating resources in a client/server environment |
US20050015511A1 (en) | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
US7296264B2 (en) | 2003-07-18 | 2007-11-13 | Bea Systems, Inc. | System and method for performing code completion in an integrated development environment |
KR100984497B1 (ko) | 2003-07-24 | 2010-10-01 | 파나소닉 주식회사 | 파일 관리 방법 및 정보 처리 장치 |
US8028078B2 (en) | 2003-08-07 | 2011-09-27 | Teamon Systems, Inc. | Communications system including protocol interface device providing enhanced operating protocol selection features and related methods |
CN100547583C (zh) | 2003-08-14 | 2009-10-07 | 甲骨文国际公司 | 数据库的自动和动态提供的方法 |
US7870268B2 (en) | 2003-09-15 | 2011-01-11 | Intel Corporation | Method, system, and program for managing data transmission through a network |
US20050091226A1 (en) | 2003-10-23 | 2005-04-28 | Yun Lin | Persistent caching directory level support |
US7539722B2 (en) | 2003-10-24 | 2009-05-26 | Microsoft Corporation | Method and system for accessing a file |
US7673066B2 (en) | 2003-11-07 | 2010-03-02 | Sony Corporation | File transfer protocol for mobile computer |
JP4836432B2 (ja) | 2003-11-17 | 2011-12-14 | 株式会社リコー | 文書管理システム、文書管理装置、文書管理方法、文書管理プログラム及び記録媒体 |
US7188273B2 (en) | 2003-11-24 | 2007-03-06 | Tsx Inc. | System and method for failover |
US20050111030A1 (en) | 2003-11-25 | 2005-05-26 | Berkema Alan C. | Hard copy imaging systems, print server systems, and print server connectivity methods |
FI20031779A0 (fi) | 2003-12-05 | 2003-12-05 | Nokia Corp | Menetelmä, järjestelmä ja lähetettävän puolen yhteyskäytäntöyksikkö datapakettien lähettämiseksi kuittaamattoman toimintamuodon palveluissa |
US7383483B2 (en) | 2003-12-11 | 2008-06-03 | International Business Machines Corporation | Data transfer error checking |
US7177941B2 (en) | 2003-12-11 | 2007-02-13 | International Business Machines Corporation | Increasing TCP re-transmission process speed |
US7243284B2 (en) | 2003-12-11 | 2007-07-10 | International Business Machines Corporation | Limiting number of retransmission attempts for data transfer via network interface controller |
US20050177635A1 (en) | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US7698361B2 (en) | 2003-12-31 | 2010-04-13 | Microsoft Corporation | Lightweight input/output protocol |
US7383463B2 (en) * | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US20070171793A1 (en) | 2004-03-17 | 2007-07-26 | Koninklijke Philips Electronics, N.V. | Method and device for scanning a disc-shaped information storage medium |
US7444536B1 (en) | 2004-04-16 | 2008-10-28 | Sun Microsystems, Inc. | RMI-IIOP request failover mechanism |
US7627627B2 (en) | 2004-04-30 | 2009-12-01 | Hewlett-Packard Development Company, L.P. | Controlling command message flow in a network |
US20050246803A1 (en) | 2004-04-30 | 2005-11-03 | Spencer Andrew M | Peripheral device for processing data from a computing device |
JP2005321953A (ja) | 2004-05-07 | 2005-11-17 | Hitachi Ltd | ストレージ制御装置、その動作プログラム、及びアクセス制御方法 |
JP2005322016A (ja) | 2004-05-10 | 2005-11-17 | Yokogawa Electric Corp | サーバ装置および情報配信方法 |
US7380080B2 (en) | 2004-05-17 | 2008-05-27 | Hewlett-Packard Development Company, L.P. | Calculating unneeded data storage credits for a data transmission to a pair of storage devices |
US7330910B2 (en) | 2004-05-20 | 2008-02-12 | International Business Machines Corporation | Fencing of resources allocated to non-cooperative client computers |
US7434087B1 (en) | 2004-05-21 | 2008-10-07 | Sun Microsystems, Inc. | Graceful failover using augmented stubs |
US7080173B2 (en) | 2004-05-27 | 2006-07-18 | Microsoft Corporation | Reducing information reception delays |
US20060059118A1 (en) | 2004-08-10 | 2006-03-16 | Byrd Stephen A | Apparatus, system, and method for associating resources using a behavior based algorithm |
US8023417B2 (en) | 2004-08-30 | 2011-09-20 | International Business Machines Corporation | Failover mechanisms in RDMA operations |
US7418712B2 (en) | 2004-08-31 | 2008-08-26 | Microsoft Corporation | Method and system to support multiple-protocol processing within worker processes |
US7418709B2 (en) | 2004-08-31 | 2008-08-26 | Microsoft Corporation | URL namespace to support multiple-protocol processing within worker processes |
US7451347B2 (en) | 2004-10-08 | 2008-11-11 | Microsoft Corporation | Failover scopes for nodes of a computer cluster |
US8156049B2 (en) | 2004-11-04 | 2012-04-10 | International Business Machines Corporation | Universal DRM support for devices |
US7457722B1 (en) | 2004-11-17 | 2008-11-25 | Symantec Operating Corporation | Correlation of application instance life cycle events in performance monitoring |
US8522293B2 (en) | 2004-12-15 | 2013-08-27 | Time Warner Cable Enterprises Llc | Method and apparatus for high bandwidth data transmission in content-based networks |
WO2006084503A1 (en) | 2005-02-08 | 2006-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | On-demand multi-channel streaming session over packet-switched networks |
US7743245B2 (en) | 2005-03-10 | 2010-06-22 | Intel Corporation | Security protocols on incompatible transports |
US7453879B1 (en) | 2005-04-04 | 2008-11-18 | Sun Microsystems, Inc. | Method and apparatus for determining the landing zone of a TCP packet |
US20060281525A1 (en) | 2005-05-17 | 2006-12-14 | Milo Borissov | Slot type game with player input opportunity |
EP1727055B1 (en) | 2005-05-25 | 2016-09-07 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
US8316129B2 (en) | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
JP2006333433A (ja) | 2005-05-25 | 2006-12-07 | Microsoft Corp | データ通信プロトコル |
US8108548B2 (en) | 2005-12-22 | 2012-01-31 | Microsoft Corporation | Methodology and system for file replication based on a peergroup |
US8051179B2 (en) | 2006-02-01 | 2011-11-01 | Oracle America, Inc. | Distributed session failover |
US8024439B2 (en) | 2006-03-17 | 2011-09-20 | Microsoft Corporation | Server session management application program interface and schema |
US7526668B2 (en) | 2006-06-08 | 2009-04-28 | Hitachi, Ltd. | Failover method of remotely-mirrored clustered file servers |
WO2008130983A1 (en) | 2007-04-16 | 2008-10-30 | Attune Systems, Inc. | File aggregation in a switched file system |
WO2009043029A2 (en) | 2007-09-28 | 2009-04-02 | Xcerion Aktiebolag | Network operating system |
EP2066101B1 (en) | 2007-11-28 | 2012-10-17 | Alcatel Lucent | System and method for an improved high availability component implementation |
JP4549408B2 (ja) | 2008-06-24 | 2010-09-22 | 富士通株式会社 | ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置 |
US7840730B2 (en) | 2008-06-27 | 2010-11-23 | Microsoft Corporation | Cluster shared volumes |
US8700760B2 (en) | 2008-08-18 | 2014-04-15 | Ge Fanuc Intelligent Platforms, Inc. | Method and systems for redundant server automatic failover |
US8275815B2 (en) | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US8185566B2 (en) | 2009-01-15 | 2012-05-22 | Microsoft Corporation | Client-based caching of remote files |
US9749387B2 (en) * | 2009-08-13 | 2017-08-29 | Sap Se | Transparently stateful execution of stateless applications |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
-
2010
- 2010-12-10 US US12/964,749 patent/US8631277B2/en active Active
-
2011
- 2011-12-06 ES ES11846483.3T patent/ES2566933T3/es active Active
- 2011-12-06 WO PCT/US2011/063618 patent/WO2012078693A2/en active Application Filing
- 2011-12-06 JP JP2013543293A patent/JP6141189B2/ja active Active
- 2011-12-06 RU RU2013126471/08A patent/RU2595482C2/ru active
- 2011-12-06 EP EP11846483.3A patent/EP2649750B1/en active Active
- 2011-12-06 AU AU2011338485A patent/AU2011338485B2/en active Active
- 2011-12-06 CA CA2817620A patent/CA2817620A1/en not_active Abandoned
- 2011-12-06 KR KR1020137014719A patent/KR101801432B1/ko active IP Right Grant
- 2011-12-06 MX MX2013006427A patent/MX2013006427A/es active IP Right Grant
- 2011-12-06 BR BR112013014070A patent/BR112013014070A2/pt not_active Application Discontinuation
- 2011-12-09 CN CN201110462797.3A patent/CN102624542B/zh active Active
-
2013
- 2013-01-30 HK HK13101325.9A patent/HK1174451A1/xx unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190093642A (ko) * | 2016-12-14 | 2019-08-09 | 오라클 인터내셔날 코포레이션 | 연속적으로 이용가능한 네트워크 파일 시스템(nfs) 상태 데이터를 위한 시스템들 및 방법들 |
Also Published As
Publication number | Publication date |
---|---|
AU2011338485A1 (en) | 2013-05-30 |
RU2595482C2 (ru) | 2016-08-27 |
BR112013014070A2 (pt) | 2016-09-13 |
EP2649750A4 (en) | 2015-01-14 |
EP2649750B1 (en) | 2016-03-02 |
CA2817620A1 (en) | 2012-06-14 |
US20120151249A1 (en) | 2012-06-14 |
JP6141189B2 (ja) | 2017-06-07 |
KR101801432B1 (ko) | 2017-11-24 |
RU2013126471A (ru) | 2014-12-20 |
WO2012078693A3 (en) | 2012-08-16 |
JP2014500559A (ja) | 2014-01-09 |
CN102624542B (zh) | 2015-06-17 |
MX2013006427A (es) | 2013-12-16 |
HK1174451A1 (en) | 2013-06-07 |
ES2566933T3 (es) | 2016-04-18 |
EP2649750A2 (en) | 2013-10-16 |
CN102624542A (zh) | 2012-08-01 |
AU2011338485B2 (en) | 2016-07-21 |
US8631277B2 (en) | 2014-01-14 |
WO2012078693A2 (en) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101801432B1 (ko) | 파일 시스템 내에 투명 페일오버의 제공 | |
US9785691B2 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
US10353790B1 (en) | Disaster recovery rehearsals | |
US9569480B2 (en) | Method and system for stateful recovery and self-healing | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
US20080281959A1 (en) | Managing addition and removal of nodes in a network | |
EP1171817A2 (en) | Data distribution in a server cluster | |
US10409999B2 (en) | Communication between key manager and storage subsystem kernel via management console | |
US8533525B2 (en) | Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium | |
US8020034B1 (en) | Dependency filter object | |
US20230401337A1 (en) | Two person rule enforcement for backup and recovery systems | |
EP3629180B1 (en) | Method and system for reliably restoring virtual machines | |
Cottrell | MongoDB Topology Design | |
US8271623B2 (en) | Performing configuration in a multimachine environment | |
Lubega | A Detailed Overview of Different Oracle High Availability and Data Protection Scenarios as Compared to Snowflake’s Architecture in Managing Databases | |
Davis et al. | Pro SQL Server 2008 Mirroring | |
Konstantinov | Automated Web Application Monitoring | |
JP2006059273A (ja) | コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
GRNT | Written decision to grant |