KR101947851B1 - Smb2 스케일아웃 기법 - Google Patents
Smb2 스케일아웃 기법 Download PDFInfo
- Publication number
- KR101947851B1 KR101947851B1 KR1020147006137A KR20147006137A KR101947851B1 KR 101947851 B1 KR101947851 B1 KR 101947851B1 KR 1020147006137 A KR1020147006137 A KR 1020147006137A KR 20147006137 A KR20147006137 A KR 20147006137A KR 101947851 B1 KR101947851 B1 KR 101947851B1
- Authority
- KR
- South Korea
- Prior art keywords
- previously established
- established session
- server
- node
- session
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1038—Load balancing arrangements to avoid a single path through a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
스케일형 클러스터 환경 내에서 동작하는 클라이언트 및 서버를 위한 시스템 및 방법이 개시된다. 복수의 서버와의 접속을 병렬로 시도하는 능력을 클라이언트에게 제공함으로써 클러스터 환경에 클라이언트를 접속하는 프로세스에 효율이 도입된다. 클러스터 환경 내에서 동작하는 서버는 파일 핸들 및 다른 상태 정보의 지속적인 저장도 또한 제공할 수 있다. 상태 정보 및 지속적 핸들의 소유권이 서버들 사이에서 전달됨으로써 클라이언트에게 클러스터 환경 내에서 자원에 접근하는 것을 유지하면서 하나의 서버로부터 또 다른 서버로 이동할 기회를 제공할 수 있다.
Description
클라이언트에게 장애 조치(failover)와 정보의 높은 이용 가능성을 제공하기 위해 서버 클러스터가 통상적으로 사용된다. 전통적으로, 클러스터 환경은 서버에게 이용 가능한 자원(resource)에 접근하기 위해 클라이언트가 서버에 접속하는 클라이언트-서버 프로토콜에 따라 설계된다. 전통적인 클러스터 환경에서, 환경을 구성하는 상이한 서버는 상이한 파일 시스템에 접근할 수 있다. 공동 파일 시스템에 대한 접근 불능은 전통적인 파일 시스템 클러스터의 기능을 제한한다.
실시예는 이들 고려 사항 및 다른 고려 사항에 관련하여 만들어졌다. 또한, 비교적 특정된 문제가 논의되었지만, 실시예가 배경기술에서 식별되는 특정 문제를 해결하는 것으로 제한되지 않아야 한다는 점이 이해되어야 한다.
본 요약은 상세한 설명 부분에서 추가로 후술되는 개념의 발췌를 단순한 형태로 소개하기 위해 제공된다. 이러한 요약은 청구된 발명 대상의 주요 특징 또는 필수 특징을 식별하도록 의도되지 않으며, 청구된 발명 대상의 범위를 판단하기 위한 보조물로서 사용되도록 의도되지도 않는다.
본 개시의 실시예는 클러스터 내의 각각의 노드가 클러스터 내에 상주하는 모든 자원에 접근하도록 파일 시스템이 논리적으로 클러스터될 수 있는 스케일아웃 클러스터 환경(scaled out clustered environment)을 제공한다. 파일 시스템이 클러스터 환경 내의 각각의 노드에 접근 가능하므로, 클라이언트는 클라이언트가 어떤 노드에 접속하는지에 무관하게 클러스터의 자원에 접근할 수 있다. 이러한 환경은 클러스터 환경에 접속할 때의 선택사양을 클라이언트에게 제공한다. 클라이언트는 서버 클러스터에 효율적으로 접속하도록 스케일 클러스터 노드의 유연성(flexibility)을 증대시킬 수 있다.
다른 실시예에서, 스케일 클러스터 환경은 클라이언트가 접속을 설정하는 실제 노드에 무관하게 클라이언트가 클러스터를 가로질러 자원에 접근하도록 허용하지만, 일단 클라이언트가 노드와의 접속을 설정하면, 클라이언트는 클러스터 환경의 노드들 사이에서 전달되는 상태 정보의 양을 감소시키도록 클라이언트의 동일한 노드와의 접속을 유지하려고 시도한다.
그러나, 일부 경우에, 클라이언트는 동일한 노드와의 접속을 유지할 수 없으며, 스케일 클러스터 환경 내의 상이한 노드에 접속하라는 요구를 받는다. 추가 환경에서, 스케일형 클러스터 환경은 하나의 노드로부터 또 다른 노드로 클라이언트의 이동을 용이하게 하도록 세션 정보, 상태 정보 및/또는 핸들(handle)의 저장 및 유지에 대비한다. 클러스터의 노드들은 클라이언트 접속의 이동을 용이하도록 하기 위해 이러한 정보를 서로 주고 받을 수 있다.
실시예는 컴퓨터 프로세스로서, 컴퓨팅 시스템으로서, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독 가능 매체와 같은 제조 품목으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 읽기 가능하며 컴퓨터 프로세스를 실행하기 위한 명령으로 된 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨터 시스템에 의해 읽기 가능하며 컴퓨터 프로세스를 실행하기 위한 명령으로 된 컴퓨터 프로그램을 인코딩하는 반송파(carrier) 상의 전파 신호일 수 있다.
다음 도면을 참조하여 비제한적이며 비배타적인 실시예가 설명된다.
도 1은 본 명세서에서 설명된 실시예를 구현하기 위해 사용될 수 있는 시스템을 예시한다.
도 2는 서버 클러스터에 연결할 때 클라이언트가 수행할 수 있는 방법의 일 실시예이다.
도 3은 클러스터 환경 내의 노드들 사이에서 접속을 전달할 때 클라이언트가 수행할 수 있는 방법의 일 실시예이다.
도 4는 지속적 핸들을 유지하고 전달하기 위해 클러스터 환경 내의 노드에 의해 수행된 방법의 일 실시예이다.
도 5는 이전에 설정된 세션의 소유권을 요구하기 위해 클러스터 환경 내의 노드에 의해 수행된 방법의 일 실시예이다.
도 6은 실시예를 구현하기에 적절한 컴퓨팅 환경의 블록도를 예시한다.
도 1은 본 명세서에서 설명된 실시예를 구현하기 위해 사용될 수 있는 시스템을 예시한다.
도 2는 서버 클러스터에 연결할 때 클라이언트가 수행할 수 있는 방법의 일 실시예이다.
도 3은 클러스터 환경 내의 노드들 사이에서 접속을 전달할 때 클라이언트가 수행할 수 있는 방법의 일 실시예이다.
도 4는 지속적 핸들을 유지하고 전달하기 위해 클러스터 환경 내의 노드에 의해 수행된 방법의 일 실시예이다.
도 5는 이전에 설정된 세션의 소유권을 요구하기 위해 클러스터 환경 내의 노드에 의해 수행된 방법의 일 실시예이다.
도 6은 실시예를 구현하기에 적절한 컴퓨팅 환경의 블록도를 예시한다.
다양한 실시예가 첨부 도면을 참조하여 이하에 보다 완전하게 설명되고, 이 첨부 도면은 다양한 실시예의 일부를 형성하고 예시적인 특정 실시예를 도시한다. 그러나, 실시예는 많은 상이한 형태로 구현될 수 있고 본 명세서에서 제시된 실시예로 제한되는 것으로 해석되지 않아야 하고, 오히려 이들 실시예는 이러한 개시가 철저하고 완전하게 되도록 제공되고 당업자에게 실시예의 범위를 완전하게 전달할 것이다. 실시예는 방법, 시스템 또는 디바이스로서 실시될 수 있다. 따라서, 실시예는 하드웨어 구현, 전면적인 소프트웨어 구현, 또는 소프트웨어 및 하드웨어 양태를 조합하는 구현의 형태를 취할 수 있다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 해석되지 않아야 한다.
도 1은 본 명세서에 개시된 실시예의 일부를 구현하기 위해 사용될 수 있는 시스템(100)을 예시한다. 시스템(100)은 하나 이상의 노드를 포함하는 예시적인 클러스터 시스템일 수 있다. 클러스터 시스템의 일 예는 도 1에 예시된 바와 같이 하나 이상의 서버를 갖는 서버 클러스터이다. 시스템(100)은 클라이언트(102 및 104) 및 서버 클러스터(106)를 포함한다. 클라이언트(102 및 104)는 네트워크(108)를 통해 서버 클러스터(106)와 통신한다. 실시예에서, 네트워크(108)는 인터넷, WAN, LAN, 또는 당업계에 알려진 모든 다른 유형의 네트워크일 수 있다. 서버 클러스터(106)는 클라이언트(102 및 104) 상의 애플리케이션에 의해 접근되는 자원을 저장한다. 클라이언트(102 및 104)는 서버 클러스터(106) 상의 자원에 접근하도록 서버 클러스터(106)와의 세션을 설정한다. 비록 도 1에서는 오직 클라이언트(102 및 104)가 서버 클러스터(106)와 통신하는 것으로 도시되어 있지만, 다른 실시예에서 서버 클러스터(106)로부터의 정보에 접근하는 두 개 초과의 클라이언트가 존재할 수 있다. 실시예에서, 클라이언트(102 및 104)는 SMB2 프로토콜에 따라 서버 클러스터(106)에 접근할 수 있거나 서버 클러스터(106)와 통신할 수 있다.
도 1에 도시된 바와 같이, 서버 클러스터(106)는 서버 클러스터(106) 상에 저장된 정보에 대한 높은 이용 가능성 및 리던던시(redundancy)를 제공하는 하나 이상의 노드, 예를 들어 서버(106A, 106B 및 106C)를 포함한다. 서버 클러스터(106)의 하나 이상의 노드는 인터넷, WAN, LAN, 또는 당업계에 알려진 모든 다른 유형의 네트워크와 같은 네트워크를 통해 서로 통신할 수 있다. 실시예에서, 서버 클러스터(106)는 파일 시스템, 데이터베이스, 또는 클라이언트(102 및 104)에 의해 접근되는 다른 정보를 가질 수 있다. 비록 세 개의 서버가 도 1에 도시되지만, 다른 실시예에서, 서버 클러스터(106)는 세 개 초과의 서버 또는 세 개 미만의 서버를 포함할 수 있다.
실시예에서, 서버 클러스터(106)는 스케일아웃 서버 클러스터(scaled out server cluster)이다. 실시예에서, 스케일아웃 서버 클러스터는 서버 클러스터(예를 들어, 서버(106A, 106B 및 106C)) 내의 각각의 노드에 의해 접근 가능한 파일 시스템(108)을 포함한다. 예를 들어, 스케일아웃 클러스터에서, 파일 시스템은 파일 시스템을 구성하는 하나 이상의 디스크가 서버 클러스터 내의 각각의 서버로부터 가시적이도록 논리적으로 클러스터링된다. 이러한 실시예에서, 스케일형 서버 클러스터는 클러스터 내의 노드를 가로질러 자원을 공유하는 것을 가능하게 한다. 이러한 하나의 실시예에서, 서버 클러스터(106)는 서버 클러스터(106) 내의 각각의 서버가 접근하는 하나 이상의 데이터 저장(datastore)을 포함하는 중앙 데이터 보관소(central data repository)를 포함한다. 이러한 하나의 실시예에서, 중앙 보관소 내에 자원을 저장하는 것은 각각의 서버가 파일 시스템에 접근하도록 허용한다. 또 다른 실시예에서, 서버 클러스터(106) 내의 각각의 서버의 국부 파일 시스템을 가로질러 자원을 복제함으로써 공유식 파일 시스템(shared file system)이 제공될 수 있다. 이러한 실시예에서, 클러스터를 구성하는 서버를 가로질러 클러스터 자원을 복제하기 위해 당업계에 알려진 데이터를 복제하는 모든 방식이 이용될 수 있다.
서버 클러스터(106)와 같은 스케일아웃 서버 클러스터 내에 논리적 클러스터 파일 시스템을 포함함으로써 전통적인 서버 클러스터 내에서는 이용 가능하지 않은 추가 기능이 제공된다. 하나의 실시예에서, 논리적 클러스터 파일 시스템은 클러스터 환경의 일부인 각각의 노드가 클러스터 환경 상의 모든 자원에 접근할 수 있다는 것을 보장한다. 실시예에서, 자원은 애플리케이션, 파일, 객체(object), 데이터, 또는 클러스터 환경 내에 제공된 모든 다른 유형의 자원일 수 있다. 이는 클라이언트가 어떤 노드(예를 들어, 서버(106A, 106B 및 106C))에 접속을 설정하는지에 무관하게 클라이언트가 파일 시스템 상의 모든 자원에 접근하도록 허용하고/하거나 그렇지 않으면 파일 시스템 상의 모든 자원을 조작하도록 허용한다. 실시예에서, 파일 서버(106)는 네임 분석 기법(name resolution technic)을 사용하여 공통 네임(common name) 아래에 모든 노드를 등록할 수 있다. 네임 분석 기법의 비제한적인 예는 도메인 네임 시스템(DNS(domain name system))이다. 예를 들어, 서버 클러스터(106)는 DNS 서버(도 1에 도시되지 않음) 내의 공통 네임 아래에 서버(106A, 106B 및 106C)를 등록할 수 있다. DNS 서버는 서버 클러스터(106)의 일부일 수 있거나, 서버 클러스터(106) 외부에 존재할 수 있다.
클라이언트가 서버 클러스터(106) 내의 서버에 접근하려고 시도할 때, 클라이언트는 서버에 대한 어드레스를 획득하기 위해 네임 분석 기법에 접근할 수 있다. 예를 들어, 클라이언트는 서버 클러스터(106) 내의 서버에 대한 어드레스를 획득하기 위해 DNS 서버에 접촉할 수 있다. 서버 시스템이 공통 네임 아래에 모든 서버를 등록시켰으므로, DNS 서버는 서버 클러스터(106)를 구성하는 각각의 서버(예를 들어, 서버(106A, 106B 및 106C))에 대한 어드레스 리스트를 반환할 수 있다. 실시예에서, 어드레스는 IP 어드레스, URL, URI, 또는 당업계에 알려진 모든 다른 유형의 어드레스일 수 있다. 복수의 어드레스가 반환되므로, 클라이언트는 어떤 서버에 접속하는지에 대한 선택을 구비한다. 실시예에서, 클라이언트는 클라이언트가 서버로부터 수신하는 리스트 내의 제 1 어드레스에 접속하는 것을 선택할 수 있다. 일부 경우에, 클라이언트는 제 1 어드레스에 의해 식별된 제 1 서버(예를 들어, 서버(106A))에 접속하는데 문제가 있을 수 있다. 서버 클러스터(106) 내의 각각의 서버가 클라이언트에게 유사한 기능을 제공할 수 있으므로, 클라이언트는 서버 클러스터(106) 내의 또 다른 서버에 접속하기로 결정할 수 있다. 클라이언트가 제 1 서버에 성공적으로 접속할 수 없으면, 미리 정해진 기간을 대기한 후에, 클라이언트는 클라이언트가 네임 분석 기법으로부터 수신하였던 어드레스의 부분집합(예를 들어, 서버(106B) 및 서버(106C))에 접속하라는 하나 이상의 요구를 발부할 수 있으며, 성공한 접속을 고를 수 있다. 하나 이상의 요구는 병렬로 생성될 수 있고, 이러한 경우에 클라이언트는 성공적인 접속이 설정되는 제 1 서버에 접속할 수 있다.
비록 어드레스 리스트의 특정 배열이 상기에 제공되었지만(예를 들어, 제 1 리스트된 어드레스로서의 서버(106A)), 당업자라면 어드레스 리스트가 어떤 순서도 가능하다는 것을 이해할 것이다. 실시예에서, DNS 라운드 로빈(round robin)과 같은 네임 라운드 로빈 기법이 네임 분석 기법과 함께 이용될 수 있으며, 네임 분석 기법이 네트워크를 가로질러 부하 균형(load balancing)을 제공하도록 강화될 수 있다. 복수의 클라이언트(예를 들어, 클라이언트(102 및 104))가 서버 클러스터(106)에 동시에 접속할 수 있으므로, 라운드 로빈 기법은 상이한 클라이언트에게 제공된 제 1 어드레스가 변하는 것을 보장한다. 따라서, 초기 접속 요구는 클러스터 환경의 모든 노드를 가로질러 확산된다. 또한, 클라이언트는 제 1 서버와의 접속 시도가 실패한 후에 클라이언트가 추가 접속 요구를 발부하는 어드레스의 부분집합을 무작위로 선택함으로써 추가 부하 균형 메커니즘을 제공할 수 있다.
실시예에서, 일단 클라이언트가 서버 클러스터(106) 내의 서버에 접속되면, 클라이언트는 클라이언트가 동일한 서버에 계속 접속되는 것을 보장할 수 있다. 비록 각각의 서버(예를 들어, 서버(106A, 106B 및 106C))가 논리적 클러스터 파일 시스템을 공유하지만, 클라이언트의 세션 상태는 클라이언트가 접속되는 서버에 의해 핸들링(handling)될 수 있다. 따라서, 서버를 가로질러 상태 동기 트래픽(state synchronization traffic)을 최소로 하기 위해, 클라이언트는 클라이언트가 동일한 서버에 계속 접속되는 것을 보장할 수 있다. 예를 들어, 클라이언트(102)가 서버(106A)에 접속되면, 클라이언트(102)는 클라이언트의 접속 및 자원 사용(예를 들어 오픈 파일(open file)) 모두가 서버(106A) 상에 존재하는 것을 보장하려고 시도할 수 있다. 이러한 실시예에서, 클라이언트(102)가 서버(106A)에 대한 클라이언트의 접속을 상실하면, 클라이언트(102)가 서버 클러스터(106)에 재접속할 때 클라이언트(102)는 서버(106B 및 106C) 대신에 서버(106A)에 재접속하려고 시도함으로써 서버 클러스터(106) 내의 상이한 서버들 사이에서 세션 상태를 전달하기 위한 필요성을 감소시킬 것이다. 실시예에서, 클라이언트가 접속을 상실할 때 동일한 서버에 재접속하려고 시도하므로, 심지어 서버가 클라이언트와의 통신을 상실한 후에도 서버는 클라이언트의 세션 상태를 유지할 수 있다. 예를 들어, 클라이언트(102)가 서버(106A)와의 접속을 상실하면, 서버(106A)는 클라이언트(102)에 대한 세션 상태를 유지할 수 있다. 클라이언트(102)가 클라이언트의 접속을 재설정할 때, 세션 상태의 지속은 서버(106A)에 재접속할 때 클라이언트(102)가 클라이언트의 세션 정보(예를 들어, 상태 정보)를 재사용하도록 허용한다.
그러나, 일부 상황에서, 클라이언트가 서버 클러스터(106) 내의 단일 서버에 대한 클라이언트의 접속을 유지하는 것이 효율적이지 않을 수 있거나 가능하지 않을 수 있다. 예를 들어, 서버 노드 장애, 주어진 서버에 대한 접속 상실, 또는 부하 균형(load balancing), 서버의 패칭(patching), 또는 모든 다른 유형의 관리 행동과 같은 관리 행동은 클라이언트가 동일한 노드에 재접속하는 것을 불가능하게 할 수 있다. 노드의 변경을 용이하게 하기 위해, 서버 클러스터(106)는 클라이언트에 의해 접근된 자원에 대한 지속적 핸들을 지원할 수 있다. 지속적 핸들은 제 2 노드에 접속할 때 클라이언트가 제 1 노드 상에 설정했었던 핸들을 클라이언트가 재개하도록 허용한다. 예를 들어, 클라이언트(102)가 서버(106A)로부터 서버(106C)로의 클라이언트의 초기 접속을 변경하면, 서버(106A)에 대해 클라이언트(102)에 의해 사용된 핸들은 서버(106C)로 전달될 수 있다.
실시예에서, 서버 클러스터(106)는 지속적 핸들을 제공하기 위해 지속적인 상태 저장을 이용할 수 있다. 예시적인 지속적인 상태 저장은 서버 클러스터(106)의 하나 이상의 노드 내에 존재할 수 있는 재개 키 관리자(resume key manager)이다. 그러나, 당업자라면 지속적 핸들을 용이하게 하기 위해 서버 클러스터(106)에 의해 모든 유형의 캐시 또는 데이터저장이 사용될 수 있다는 것을 이해할 것이다. 하나의 실시예에서, 서버 클러스터(106)는 중앙집중식 지속적인 상태 저장을 제공한다. 이러한 실시예에서, 서버 클러스터(106) 내의 단일 노드(예를 들어 서버(106A))가 클라이언트 세션을 위해 오픈 핸들(open handles)의 지속적인 상태를 유지한다. 이러한 실시예에서, 클라이언트가 하나의 노드로부터 또 다른 노드로 절환(예를 들어, 서버(106A)로부터 서버(106C)로의 절환)할 때마다, 전반적인 기재 사항이 본 명세서에 참조로서 합체되고 2011년 9월 9일자로 출원된 발명의 명칭이 "클러스터 클라이언트 장애 조치(Clustered Client Failover)"(대리인 문서 번호 제 14917.1840US01호)인 공동으로 양도되고 동시에 계류 중인 미국 특허 출원 제 13/228,732호 내에서 설명된 무효 기법(invalidation technique)과 같은 이전 세션 무효 로직(previous session invalidation logic)을 이용함으로써 클라이언트 세션의 일부인 핸들의 소유권이 노드들 사이에서 전달(소유권이 예를 들어, 서버(106A)로부터 서버(106C)로 전달)될 수 있다. 다른 실시예에서, 핸들의 소유권은 핸들에 기반하여 클라이언트에 의해 명시적으로 전달될 수 있다.
또 다른 실시예에서, 지속적인 상태 저장은 분산형 상태 저장(distributed state store)일 수 있다. 이러한 실시예에서, 지속적인 상태 저장은 서버 클러스터(106)의 노드들을 가로질러 분산될 수 있다. 이러한 실시예에서, 각각의 노드는 지속적인 상태 저장을 저장할 수 있다. 분산형 상태 저장을 가로질러 상태를 복제하기 위해 전체 클러스터 복제 알고리즘(clusterwide state replication algorithm)이 사용될 수 있다. 이러한 실시예에서, 서버 클러스터(106)는 노드의 부분집합이 장애일 때를 대비하여 상태 정보를 유지한다.
논의된 바와 같이, 스케일형 클러스터의 각각의 노드는 논리적 클러스터 파일 시스템에 접속된다. 복수의 클라이언트가 동일한 자원에 접근할 때 충돌(conflict)을 피하기 위해, 하나 이상의 노드(예를 들어, 106A, 106B 및/또는 106C)가 하나의 자원 상의 옵록(oplock) 또는 하나의 리스(lease)를 차지할 가능성을 제공함으로써 서버 클러스터(106)는 분산형 상태 분석(distributed state resolution)을 수행할 수 있다. 실시예에서, 공유 판독장치(shared reader)는 RH 옵록을 사용함으로써 지원될 수 있으며, 이는 복수의 판독장치가 클러스터의 복수의 노드 상에서 동일한 파일에 접근하도록 허용한다. 추가 실시예에서, 쓰기 록(write lock)도 또한 서버 클러스터(106)에 의해 지원될 수 있다.
본 명세서에서 설명된 바와 같이, 당업자라면 스케일 서버 클러스터(scaled server cluster)가 비스케일형 서버 클러스터(non-scaled server cluster) 내에서 이용 가능하지 않은 추가 기능을 제공한다는 것을 이해할 것이다. 비록 추가 기능의 특정 예가 도 1을 참조하여 제공되었지만, 당업자라면 이러한 것들이 스케일형 서버 클러스터에 의해 제공된 혜택 및 기능의 비제한적인 예라는 것을 이해할 것이다.
도 2는 클러스터 환경에 접속할 때 클라이언트가 수행할 수 있는 방법(200)의 일 실시예이다. 예를 들어, 클라이언트(102)(도 1)와 같은 클라이언트는 클러스터 환경에 접속할 때 어떤 노드(예를 들어, 106A, 106B 및/또는 106C)와 접속을 설정했는지를 판단하기 위해 방법(200)을 이용할 수 있다. 흐름(flow)은 클라이언트가 DNS 서버와 같은 네임 분석 메커니즘으로부터 어드레스 리스트를 수신하는 동작(202)에서 시작한다. 도 1을 참조하여 논의된 바와 같이, 실시예에서, 클러스터 환경 내의 각각의 노드는 클라이언트에게 유사한 기능을 제공할 수 있다. 따라서, 클라이언트는 클라이언트가 어떤 노드에 접속하는지에 무관하게 요구된 자원에 성공적으로 접근하거나 클러스터 환경 내의 요구된 동작을 성공적으로 수행할 수 있다.
흐름은 동작(204)으로 계속되어, 클라이언트는 동작(202)에서 수신된 어드레스 리스트 내의 제 1 어드레스에 의해 식별된 제 1 노드에 접속하려고 시도한다. 클라이언트는 동작(204)에서 제 1 어드레스에 의해 식별된 노드로 초기 접속 요구를 송신함으로써 제 1 노드에 접속하려고 시도할 수 있다. 그러나, 당업자라면 동작(203)에서 노드(예를 들어, 서버)와의 접속을 시도하는 모든 방식을 이해할 것이다. 실시예에서, 클라이언트는 동작(206)에 의해 표시된 바와 같이 제 1 시도가 성공하도록 미리 정해진 기간을 대기할 수 있다. 그러나, 클러스터 환경 내의 모든 노드가 클라이언트를 대신하여 모든 자원에 접근할 수 있으므로, 제 1 시도가 실패하거나 오래 걸리면 클라이언트는 다른 서버 클러스터로 시도 요구를 발부할 수 있다. 동작(206)이 클라이언트가 미리 정해진 기간을 대기한다고 설명하지만, 기간도 또한 클라이언트에 의해 동적으로 결정될 수 있다.
또 다른 실시예에서, 서버에 접속하려는 제 1 시도는 성공할 수 있지만, 노드는 클러스터 환경의 자원에 접근하지 못할 수 있다. 예를 들어, 어드레스 리스트는 부정확한 어드레스 또는 더 이상 클러스터 환경의 일부가 아닌 노드의 어드레스를 포함할 수 있다. 추가 실시예에서, 오류는 노드가 클러스터 환경 자원에 대한 접근을 차단할 수 있다. 클라이언트는 이러한 상황을 식별하기 위해 필요한 로직을 이용할 수 있다. 이들 상황에서, 클라이언트는 성공적인 시도를 실패로 처리할 수 있으며 계속하여 방법(200)을 수행할 수 있다.
제 1 시도가 실패할 때 또는 기간이 만료한 후에, 흐름은 클라이언트가 어드레스 리스트로부터 어드레스의 부분집합을 무작위로 선택하는 동작(208)으로 계속된다. 실시예에서, 부분집합 주소의 무작위 선택은 단일 시기에 노드에 접속하려고 시도하는 복수의 클라이언트를 가질 수 있는 클러스터 환경에 부하 균형 혜택을 제공한다. 각각의 클라이언트가 각각의 클라이언트에 접속하려는 노드의 부분집합을 무작위로 선택하면, 클러스터 환경을 가로질러 접속의 더 양호한 균형이 설정될 수 있다. 그러나, 다른 실시예에서, 클라이언트는 무작위 부분집합을 선택하지 않고 리스트 상에 어드레스들이 표시된 순서대로 어드레스를 선택할 수 있다. 추가 실시예에서, 동작(208)에서 어드레스 리스트의 부분집합을 선택하는 대신에, 클라이언트는 리스트 내의 모든 어드레스를 선택할 수 있다.
흐름은 클라이언트가 선택된 부분집합 내의 어드레스에 의해 식별된 하나 이상의 노드에 접속하려고 시도하는 동작(210)으로 계속된다. 하나의 실시예에서, 클라이언트는 동작(210)에서 복수의 노드에 병렬로 접속하려고 시도함으로써 접속 프로세스를 신속하게 할 수 있다. 실시예에서, 클라이언트는 동작(210)에서 상이한 노드로 하나 이상의 추가 접속 요구를 송신할 수 있지만, 동작(204)을 참조하여 설명된 바와 같이, 접속하려고 시도하는 모든 방법이 본 명세서에서 설명된 실시예와 함께 이용될 수 있다.
흐름은 동작(212)으로 계속되어, 클라이언트는 성공적인 접속의 표시를 수신한다. 실시예에서, 표시는 클라이언트가 노드에 접속할 수 있다는 것을 표시하면서 클라이언트가 노드로부터 수신하는 메시지일 수 있다. 실시예에서, 클라이언트가 동작(210)에서 병렬로 시도하면, 클라이언트는 동작(212)에서 클라이언트에 성공적으로 응답하는 제 1 노드에 연결하기로 결정할 수 있다. 다른 실시예에서, 클라이언트는 클러스터 환경 내의 상이한 노드로부터 복수의 성공적인 시도의 표시를 수신할 수 있다. 이러한 실시예에서, 클라이언트는 어떤 노드에 접속할지를 선택할 수 있다. 추가 실시예에서, 표시는 노드의 현재의 부하와 같은 노드에 대한 성능을 제공할 수 있다. 클라이언트는 어떤 노드에 대한 접속을 설정할지를 판단하기 위해 이러한 정보를 사용할 수 있다. 예를 들어, 클라이언트는 보다 가벼운 부하, 특정 하드웨어 구성 등을 갖는 노드에 접속하기로 선택할 수 있다. 일단 클라이언트가 하나의 노드를 선택했으면, 흐름은 동작(214)으로 진행하고, 클라이언트는 노드에 접속한다.
클라이언트가 노드에 접속한 후에, 클라이언트는 노드와의 세션을 설정하고 클러스터 환경 내의 자원에 접근할 수 있다. 도 1을 참조하여 설명된 바와 같이, 일단 클라이언트가 노드에 대한 접속을 설정하면, 클라이언트는 동일한 노드와의 클라이언트의 접속을 유지하려고 시도한다. 이는 클라이언트가 하나의 노드로부터 또 다른 노드로 접속을 전달할 때 발생할 수 있는 상태 정보의 전송을 감소시킨다. 이러한 실시예에서, 예를 들어 네트워크 장애 또는 클라이언트 고장(client crashing)과 같은 오류로 인해 클라이언트가 노드로부터 접속해제되면, 클라이언트는 오류로부터 복구한 후에 동일한 노드에 재접속하려고 시도할 수 있다.
그러나, 클라이언트가 동일한 노드에 재접속하는 것이 항상 가능하지 않을 수 있다. 예를 들어, 노드에 장애가 있거나, 클라이언트는 노드와의 접속을 상실하거나, 노드가 관리 목적을 위해(예를 들어, 부하 균형 요건, 노드의 패칭(patching) 등으로 인해) 이용 불가능하면, 클라이언트는 상이한 노드를 통해 클러스터 환경에 대한 클라이언트의 접속을 재설정할 수 있다. 도 3은 클러스터 환경 내의 노드들 사이에서 접속을 전달할 때 클라이언트가 수행할 수 있는 방법(300)의 일 실시예이다.
흐름은 클라이언트가 신규 노드와의 접속이 요구된다고 판단하는 동작(302)에서 시작한다. 예를 들어, 네트워크 또는 노드 장애로 인해 노드와의 접속을 상실할 때, 클라이언트는 클라이언트가 클러스터 환경 내의 동일한 노드에 재접속할 수 없다고 판단할 수 있다. 또 다른 실시예에서, 클라이언트는 노드로부터 성능 정보를 수신할 수 있다. 성능 정보에 기반하여, 클라이언트는 클라이언트에게 더 양호한 서비스를 제공할 수 있는 또 다른 노드로 접속을 전달하기로 결정할 수 있다. 예를 들어, 클라이언트는 노드가 극심한 트래픽을 경험하고 있다는 것을 표시하는 정보를 수신할 수 있다. 이러한 상황에서, 클라이언트는 또 다른 노드에 재접속하라고 요구되지 않을 수 있고 성능 때문에 그렇게 하기로 선택사양으로 결정할 수 있다. 마찬가지로, 클라이언트는 예를 들어 노드가 요구를 수행하는 데 얼마나 걸리는지를 모니터링함으로써 노드로부터 성능 정보를 수신하지 않고 자체적으로 이러한 정보를 판단할 수 있다.
또 다른 실시예에서, 노드는 클라이언트가 클러스터 내의 상이한 노드로 클라이언트의 접속을 전달할 것을 요구할 수 있다. 예를 들어, 패치를 위해 또는 부하 균형 목적을 위해 노드가 오프라인(offline)되려고 하면, 노드는 클라이언트에게 상이한 노드로 클라이언트의 접속을 전달할 것을 요구할 수 있다. 이러한 실시예에서, 노드는 클라이언트가 클라이언트의 접속을 전달해야 한다고 표시하는 메시지를 클라이언트에게로 전송할 수 있다. 이러한 통신을 수행하는 실시예는 전반적인 기재 사항이 본 명세서에 참조로서 합체되고 2011년 3월 29일자로 출원된 발명의 명칭이 "증인 서비스 제공(Providing a Witness Service)"(미국 특허 출원 제 13/074,920호)인 공동으로 양도되고 동시에 계류 중인 특허 출원에서 설명된다.
노드들 사이에서 접속의 전달이 요구된다고 판단한 후에, 흐름은 동작(304)으로 계속된다. 동작(304)에서, 클라이언트는 클러스터 환경 내의 상이한 노드에 접속하려고 시도한다. 예를 들어, 클라이언트는 클러스터 환경 내의 하나 이상의 노드로 접속 요구를 송신할 수 있다. 실시예에서, 클라이언트는 방법(200)을 참조하여 설명된 단계들을 모두 수행하거나 그 단계들의 부분집합을 수행함으로써 클러스터 환경 내의 제 2 노드에 접속할 수 있다. 또 다른 실시예에서, 클라이언트는 클러스터 환경에 의해 특정 노드에 접속하기로 의도될 수 있다. 시도가 성공할 때, 흐름은 동작(306)으로 계속되고, 클라이언트는 클러스터 환경 내의 제 2 노드에 접속한다.
그러나, 클라이언트가 이전에 설정된 세션을 갖고 있으므로, 세션은 상이한 노드로 전달될 수 있다. 동작(308)에서, 클라이언트는 제 2 노드로 세션 설정 요구(session set up request)를 송신한다. 실시예에서, 세션 설정 요구는 클라이언트의 이전에 설정된 접속을 식별하는 세션 식별자를 포함하는 메시지일 수 있다. 도 5를 참조하여 추가로 논의되는 바와 같이, 세션 설정 요구를 수신하는 것에 응답하여, 제 2 노드는 이전에 설정된 접속의 소유권을 차지할 수 있다. 방법(300)은 세션 설정 요구를 송신하는 것을 별개의 단계로 설명하고 있지만, 당업자라면 클라이언트가 동작(304)에서 제 2 노드에 접속하라는 요구와 함께 세션 설정 요구 또는 세션 식별자를 송신할 수 있다는 것을 이해할 것이다.
이제 클라이언트가 스케일아웃 클러스터 환경에 접속할 때 이용할 수 있는 방법을 설명하면서, 본 개시는 이제 이러한 환경 내의 하나 이상의 노드에 의해 이용될 수 있는 기능을 설명할 것이다. 도 4는 클러스터 서버 환경 내의 지속적 핸들을 유지하고 전달하기 위해 클러스터 환경 내의 노드에 의해 수행된 방법(400)의 일 실시예이다. 예를 들어, 방법(400)은 클러스터 서버 환경(예를 들어, 서버 클러스터(106))의 일부인 서버(106A, 106B 및 106C)와 같은 서버에 의해 수행될 수 있다. 흐름은 클라이언트로부터의 접속 요구를 승낙함으로써 노드와 클라이언트 사이에 접속을 설정하는 동작(402)에서 시작한다. 초기 접속은 클라이언트가 노드 상에 또는 클러스터 환경 내의 또 다른 노드 상에 이전에 설정된 세션을 갖지 않는다는 것을 표시한다. 실시예에서, 노드가 클라이언트의 접속 요구의 일부로서 클라이언트로부터 세션 설정 요구를 수신하지 않을 때 또는 클라이언트에 대한 접속을 설정한 직후에, 노드는 노드가 클라이언트와의 접속을 설정하고 있다고 판단할 수 있다.
흐름은 노드가 클라이언트와의 세션을 생성하는 동작(404)으로 계속된다. 동작(404)에서, 노드는 세션 식별자를 세션에 할당할 수 있다. 세션 식별자는 클러스터 환경 내의 모든 노드를 가로질러 GUID(globally unique identifier)일 수 있다. 세션을 생성할 때, 노드는 자원을 할당할 수 있고/있거나 클라이언트를 대신하여 자원 상의 동작을 수행할 수 있다. 그렇게 할 때, 예를 들어 상태 정보와 같은 세션 정보가 생성될 수 있다. 노드는 세션 정보를 저장할 수 있다. 상태 정보에 추가하여, 노드는 하나 이상의 핸들을 저장할 수 있다. 예를 들어, 클라이언트가 파일을 오픈하면, 파일에 대한 핸들이 클라이언트로 제공될 수 있다. 노드는 세션 정보와 함께 또는 세션 정보에 추가하여 핸들을 저장할 수 있다.
흐름은 노드가 클라이언트에 대한 노드의 접속을 상실하는 동작(406)으로 계속된다. 예를 들어, 클라이언트는 오류(예를 들어, 네트워크 접속의 고장(crash) 또는 상실)를 겪을 수 있다. 클라이언트가 재접속할 수 있다고 기대하면서, 서버는 동작(408)에서 세션 및/또는 정보를 유지할 것이다. 예를 들어, 노드는 국부 메모리에, 지속적인 중앙집중식 저장에, 또는 분산형 상태 저장에 세션 및/또는 상태 정보를 쓸 수 있다. 전술된 바와 같이, 클라이언트는 단일 노드와의 접속을 유지하려고 시도할 것이다. 실시예에서, 클라이언트가 오류로부터 회복한 후에, 클라이언트는 노드에 재접속할 수 있다. 재접속할 때, 노드는 예를 들어 클라이언트로부터 세션 식별자를 수신함으로써 클라이언트가 이전에 설정된 상태를 가졌다는 것은 식별할 수 있다. 이러한 실시예에서, 유지된 세션 상태는 클라이언트가 클라이언트의 이전에 설정된 세션을 계속하도록 허용한다.
그러나, 특정 상황에서, 클라이언트는 노드에 재접속하지 못할 수 있다. 대신에, 클라이언트는 클러스터 환경 내의 상이한 노드에 재접속할 수 있다. 이러한 상황에서, 흐름은 노드가 클러스터 환경 내의 또 다른 노드로부터 세션 정보를 전달하라는 요구를 수신하는 동작(410)으로 계속된다. 실시예에서, 또 다른 노드는 클라이언트에 대한 세션을 재설정하기 위해 세션 정보의 소유권을 요구하며, 클라이언트는 이제 소유권을 요구하는 노드에 접속된다. 세션 소유권에 대한 요구는 방법(400)을 수행하는 노드가 소유하고/하거나 유지하는 이전에 설정된 세션을 식별하기 위해 노드가 사용할 수 있는 세션 식별자를 포함할 수 있다.
세션 소유권에 대한 요구를 수신할 때, 흐름은 노드가 이전에 설정된 세션에 연관된 자원 상에 수행되고 있는 미해결된 입력/출력(I/O) 동작이 존재하지 않는다는 것을 보장하는 동작(412)으로 계속된다. 실시예에서, 미해결된 I/O 동작이 존재하면, 노드는 동작(414)으로 진행하기 전에 동작이 완료되도록 대기한다. 다른 실시예에서, 노드는 동작(410)에서 세션 자원 상의 계류 중인 I/O 동작을 취소할 수 있다. 노드는 자원 무결성(resource integrity)을 유지하기 위해 계류 중인 I/O 동작을 대기할 수 있고/있거나 취소할 수 있다.
모든 I/O가 완료되었다(또는 취소되었다)는 것을 노드가 보장한 후에, 흐름은 동작(414)으로 계속된다. 동작(414)에서, 노드는 이전에 설정된 세션을 무효로 한다. 세션을 무효로 하는 것은 세션의 일부인 모든 오픈 핸들을 폐쇄하는 것을 포함한다. 다른 실시예에서, 세션을 무효로 하는 것은 자원 상에 존재할 수 있는 모든 잠금(lock)을 해제하는 것을 포함할 수 있다. 실시예에서, 세션의 무효는 도 1을 참조하여 설명된 무효 로직(invalidation logic)도 또한 포함할 수 있다. 또한, 실시예에서, 노드가 각각의 파일 핸들(file handle)을 개별적으로 무효로 할 필요성을 제거하기 위해 노드가 이전에 설정된 세션에 대한 모든 핸들 및/또는 잠금을 무효로 하는 단일 단계 무효(single step invalidation)가 수행될 수 있다.
이전에 설정된 세션이 무효로 된 후에, 흐름은 노드가 요구하는 노드로 세션의 소유권을 전달하는 동작(416)으로 계속된다. 실시예에서, 세션의 소유권의 전달은 세션에 관련된 모든 연관된 자원의 소유권을 전달하는 것을 포함할 수 있다. 동작(416)에서 전달될 수 있는 예시적인 자원은 파일 핸들이지만, 다른 자원의 소유권도 또한 동작(416)에서 전달될 수 있다. 추가 실시예에서, 세션에 관련된 자원의 소유권을 전달하는 것은 하나의 노드로부터 또 다른 노드로의 자원의 전달을 포함할 수 있다. 효율을 위해, 동작(416)에서 모든 세션 정보가 벌크(bulk)로 전달됨으로써 노드들 사이에 요구된 통신 횟수를 감소시킬 수 있다.
도 5는 이전에 설정된 세션의 소유권을 요구하기 위해 클러스터 환경 내의 노드에 의해 수행된 방법(500)의 일 실시예이다. 예를 들어, 방법(500)은 클러스터 서버 환경(예를 들어, 서버 클러스터(106))의 일부인 서버(106A, 106B 및 106C)와 같은 서버에 의해 수행될 수 있다. 흐름은 노드가 클라이언트와의 접속을 설정하는 동작(502)에서 시작한다. 예를 들어, 노드는 동작(502)에서 클라이언트로부터 접속 요구에 대한 요구를 수신할 수 있다. 노드는 접속 요구를 승낙할 수 있고 클라이언트에 접속할 수 있다.
흐름은 클라이언트가 클러스터 환경 내의 또 다른 노드와의 세션을 이전에 설정하였다고 노드가 식별하는 동작(504)으로 계속된다. 실시예에서, 노드는 클라이언트로부터 세션 설정 요구를 수신할 수 있다. 세션 설정 요구는 접속 요구와 함께 또는 클라이언트에 접속한 후에 수신될 수 있다. 실시예에서, 세션 설정 요구는 이전에 설정된 접속을 식별하는 세션 식별자를 포함한다.
흐름은 노드가 클라이언트의 이전에 설정된 세션을 현재 소유하는 클러스터 환경 내의 제 2 노드로 소유권 요구를 송신하는 동작(506)으로 계속된다. 소유권 요구는 이전 세션에 연관된 핸들을 무효로 하고 노드로 세션 정보를 전달하는 명령을 포함할 수 있다. 실시예에서, 소유권 요구는 동작(504)에서 수신된 세션 설정 요구 및/또는 세션 ID를 포함할 수 있다.
흐름은 노드가 이전에 설정된 세션에 대한 세션 및/또는 상태 정보를 수신하는 동작(508)으로 계속된다. 실시예에서, 세션 및/또는 상태 정보는 제 2 노드로부터, 중앙 보관소로부터, 또는 클러스터 환경 내의 또 다른 위치로부터 수신될 수 있다. 또 다른 실시예에서, 동작(508)에서 세션 및/또는 상태 정보를 수신하는 대신에, 노드가 동작(508)에서 중앙집중식 보관소 내에 상주하는 세션 및/또는 상태 정보에 접근하도록 허용될 수 있다. 흐름은 클라이언트의 세션을 재설정하기 위해 그리고 클라이언트가 클러스터 환경 내의 자원에 계속하여 접근하도록 허용하기 위해 노드가 수신되고/되거나 접근된 세션 또는 상태 정보를 사용하는 동작(510)으로 계속된다.
방법(300 내지 500)은 단지 실시예에 따라 수행될 수 있는 동작 흐름의 단지 일부 예시이다. 실시예는 도 3 내지 도 5를 참조하여 상기에 제공된 특정 설명으로 제한되지 않으며 추가 동작을 포함할 수 있다. 또한, 설명된 동작 단계는 다른 단계와 조합될 수 있으며/있거나 재배열될 수 있다. 또한, 도 3 내지 도 5에서 설명된 방법과 함께 보다 적은 단계 또는 더욱 많은 단계가 사용되고 이용될 수 있다.
도 6은 본 명세서에서 설명된 실시예를 구현하기 위해 사용될 수 있는 일반적인 컴퓨터 시스템(600)을 예시한다. 컴퓨터 시스템(600)은 컴퓨팅 환경의 단지 하나의 예이고 컴퓨터 및 네트워크 아키텍처의 용도 또는 기능의 범위에 대한 어떠한 제한도 제안하도록 의도되지 않는다. 컴퓨터 시스템(600)은 예시적인 컴퓨터 시스템(600) 내에 예시된 컴포넌트 중 어떠한 하나의 컴포넌트 또는 그 조합에 관한 모든 의존성 또는 요건을 갖는 것으로 해석되지 않아야 한다. 실시예에서, 컴퓨터 시스템(600)은 도 1을 참조하여 전술된 클라이언트 및/또는 서버로서 사용될 수 있다.
컴퓨터 시스템(600)의 가장 기본적인 구성에서, 컴퓨터 시스템(600)은 전형적으로 적어도 하나의 프로세싱 유닛(602) 및 시스템 메모리(604)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 따라, 시스템 메모리(604)는 휘발성(예를 들어, RAM), 비휘발성(예를 들어, ROM, 플래시 메모리 등) 또는 일부 조합일 수 있다. 이러한 가장 기본적인 구성은 도 6에서 점선(606)으로 도시된다. 시스템 메모리(604)는 본 명세서에 개시된 스케일형 클러스터 환경에 접속하라는 명령과 같은 명령(620), 및 저장소(608)와 같은 저장소를 갖는 파일 저장소 시스템 내에 저장될 수 있는 세션 상태 정보와 같은 데이터(622)를 저장한다.
본 명세서에 사용된 바와 같은 용어 컴퓨터 판독 가능 매체(computer readable media)는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위해 모든 방법 또는 기술에서 구현된 휘발성 및 비휘발성, 제거 가능한 및 제거 가능하지 않은 매체를 포함할 수 있다. 시스템 메모리(604), 제거 가능한 저장소, 및 제거 가능하지 않은 저장소(608)는 모두 컴퓨터 저장소 매체의 예시(예를 들어, 메모리 저장소)이다. 컴퓨터 저장 매체는 RAM, ROM, 전기 소거 가능하고 프로그램 가능한 읽기 전용 메모리(EEPROM(electrically erasable programmable read-only memory)), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 정보를 저장하기 위해 사용될 수 있고 컴퓨터 시스템(600)에 의해 접근될 수 있는 모든 다른 매체를 포함할 수 있지만, 그에 제한되지는 않는다. 모든 이러한 컴퓨터 저장 매체는 디바이스(600)의 일부일 수 있다. 컴퓨팅 디바이스(600)는 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스 등과 같은 입력 디바이스(614)도 또한 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(616)도 또한 포함될 수 있다. 전술된 디바이스는 예이며, 다른 디바이스가 사용될 수 있다.
본 명세서에 사용된 바와 같은 용어 컴퓨터 판독 가능 매체는 통신 매체도 또한 포함할 수 있다. 통신 매체는 반송파 또는 다른 전송 메커니즘과 같은 변조 데이터 신호(modulated data signal) 내의 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터에 의해 구현될 수 있고, 모든 정보 전달 매체를 포함한다. 용어 "변조 데이터 신호"는 하나 이상의 특성 세트를 갖거나 신호 내에 정보를 인코딩하는 것과 같은 방식으로 변경된 신호를 설명할 수 있다. 예를 들어 그리고 비제한적인 의미에서, 통신 매체는 유선 네트워크 또는 직결식 접속(direct-wired connection)과 같은 유선 매체, 및 음향, 무선 주파수(radio frequency, RF), 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다.
본 발명의 실시예는 도 6에 예시된 각각의 컴포넌트 또는 많은 컴포넌트가 단일 집적 회로 상으로 집적될 수 있는 시스템 온 칩(system-on-a-chip, SOC)을 통해 실시될 수 있다. 이러한 SOC 디바이스는 하나 이상의 프로세싱 유닛, 그래픽 유닛, 통신 유닛, 시스템 가상현실 유닛(system virtualization unit), 및 다양한 애플리케이션 기능을 포함할 수 있으며, 이들 모두는 단일 집적 회로로서 칩 기판 상으로 집적(또는 버닝(burning))된다. SOC를 통해 동작할 때, 자원에 대한 계속적인 접근을 제공하는 것에 대하여 본 명세서에서 설명된 기능은 단일 집적 회로(칩) 상의 컴퓨팅 디바이스/시스템(600)의 다른 컴포넌트와 함께 집적된 주문형 로직(application specific logic)를 통해 동작할 수 있다.
"하나의 실시예(one embodiment)" 또는 "일 실시예(an embdoiment)"가 본 명세서를 통해 언급되었으며, 이는 설명된 특정 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 이러한 어구의 사용은 단지 하나 초과의 실시예를 나타낼 수 있다. 또한, 설명된 특징, 구조 또는 특성은 하나 이상의 실시예에서 적절한 모든 방식으로 조합될 수 있다.
그러나, 당업자라면 하나 이상의 특정 세부사항 없이 또는 다른 방법, 자원, 재료 등을 사용하여 실시예가 실시될 수 있다는 점을 인식할 수 있다. 다른 경우, 단지 실시예의 양태를 불명료하게 하는 것을 방지하기 위해 공지의 구조, 자원 또는 동작이 도시되지 않거나 상세하게 설명되지 않았다.
예시적인 실시예 또는 애플리케이션이 예시되고 설명되었지만, 실시예는 전술된 정확한 구성 및 자원으로 제한되지 않는다는 점이 이해되어야 한다. 청구된 실시예의 범위를 벗어나지 않으면서 방법 및 시스템의 배열, 동작 및 세부사항에서 당업자에게 명백한 다양한 수정, 변경, 및 변화가 이루어질 수 있다.
Claims (20)
- 지속적 핸들을 제공하기 위한 컴퓨터 시스템으로서,
적어도 제 1 서버 및 제 2 서버를 포함하되, 상기 제1 서버 및 상기 제2 서버는 서버 클러스터의 일부분이며,
상기 제 1 서버는
클라이언트로부터 접속 요구를 수신하고 - 상기 접속 요구는 상기 제 2 서버와의 이전에 설정된 세션을 식별하는 세션 셋업 요구를 포함함 - ,
상기 이전에 설정된 세션의 소유권 요구를 상기 제 2 서버로 송신하도록 구성되고,
상기 제 2 서버는
상기 제 1 서버로부터 상기 소유권 요구를 수신하고, - 상기 소유권 요구는 세션 셋업 요구를 포함함 - ,
상기 이전에 설정된 세션과 연관된 하나 이상의 자원에 대한 계류 중인 동작이 존재하지 않음을 보증하고,
상기 이전에 설정된 세션을 무효로 하도록 구성되는
컴퓨터 시스템.
- 제1항에 있어서,
상기 세션을 무효로 하는 것은
상기 이전에 설정된 세션과 연관된 적어도 하나의 오픈 핸들(open handle)을 폐쇄하는 것과,
상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 적어도 하나의 잠금(lock)을 해제하는 것
중 적어도 하나를 포함하는
컴퓨터 시스템.
- 제2항에 있어서,
상기 제 2 서버는 또한 상기 이전에 설정된 세션의 소유권을 상기 제 1 서버에게 전송하도록 구성되는
컴퓨터 시스템.
- 제3항에 있어서,
상기 이전에 설정된 세션의 소유권을 상기 제 1 서버에게 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원의 소유권을 상기 제 1 서버에게 전송하는 것을 포함하는
컴퓨터 시스템.
- 제3항에 있어서,
상기 이전에 설정된 세션의 소유권을 상기 제 1 서버에게 전송하는 것은 상기 이전에 설정된 세션과 연관된 하나 이상의 자원을 상기 제 1 서버에게 전송하는 것을 포함하는
컴퓨터 시스템.
- 제1항에 있어서,
계류 중인 동작이 존재하지 않음을 보증하는 것은
하나 이상의 계류 중인 동작을 완료하는 것과,
상기 하나 이상의 계류 중인 동작을 취소하는 것
중 적어도 하나를 포함하는
컴퓨터 시스템.
- 서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법으로서,
상기 서버 클러스터 내 제 1 노드에서, 상기 이전에 설정된 세션을 상기 서버 클러스터 내의 제 2 노드에게 전송하라는 소유권 요구를 상기 제 2 노드로부터 수신하는 단계 - 상기 소유권 요구는 세션 셋업 요구를 포함함 - 와,
상기 이전에 설정된 세션과 연관된 하나 이상의 자원에 대한 계류 중인 동작이 존재하는지 여부를 판단하는 단계와,
계류 중인 동작이 존재하지 않는 경우에, 상기 이전에 설정된 세션을 무효로 하는 단계를 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제7항에 있어서,
상기 이전에 설정된 세션을 전송하라는 요구는 세션 식별자를 포함하고, 상기 세션 식별자는 상기 이전에 설정된 세션을 식별하는 데 사용되는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제7항에 있어서,
상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 계류 중인 동작이 존재하는 경우, 상기 계류 중인 동작이 완료되기를 기다리는 단계를 더 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제7항에 있어서,
상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 계류 중인 동작이 존재하는 경우, 상기 계류 중인 동작을 취소하는 단계를 더 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제7항에 있어서,
상기 이전에 설정된 세션을 무효로 하는 단계는
상기 이전에 설정된 세션과 연관된 적어도 하나의 오픈 핸들을 폐쇄하는 것과,
상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 적어도 하나의 잠금을 해제하는 것
중 적어도 하나를 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제7항에 있어서,
상기 이전에 설정된 세션의 소유권을 상기 제2 노드로 전송하는 단계를 더 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제12항에 있어서,
상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원의 소유권을 상기 제 2 노드에게 전송하는 것을 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 제12항에 있어서,
상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원을 상기 제 1 노드로 전송하는 것을 포함하는
서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
- 적어도 하나의 프로세서에 의해 실행될 때 방법을 수행하는 컴퓨터 실행 가능 명령어를 인코딩하는 컴퓨터 저장 장치로서,
상기 방법은
서버 클러스터 내 제 1 노드에서, 이전에 설정된 세션을 상기 서버 클러스터 내의 제 2 노드에게 전송하라는 소유권 요구를 상기 제 2 노드로부터 수신하는 단계 - 상기 소유권 요구는 세션 셋업 요구를 포함함 - 와,
상기 이전에 설정된 세션과 연관된 하나 이상의 자원에 대한 계류 중인 동작이 존재하는지 여부를 판단하는 단계와,
계류 중인 동작이 존재하지 않는 경우에, 상기 이전에 설정된 세션을 무효로 하는 단계를 포함하는
컴퓨터 저장 장치.
- 제15항에 있어서,
상기 이전에 설정된 세션을 전송하라는 요구는 세션 식별자를 포함하고, 상기 세션 식별자는 상기 이전에 설정된 세션을 식별하는 데 사용되는
컴퓨터 저장 장치.
- 제15항에 있어서,
상기 이전에 설정된 세션을 무효로 하는 단계는
상기 이전에 설정된 세션과 연관된 적어도 하나의 오픈 핸들을 폐쇄하는 것과,
상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 적어도 하나의 잠금을 해제하는 것
중 적어도 하나를 포함하는
컴퓨터 저장 장치.
- 제15항에 있어서,
상기 방법은 상기 이전에 설정된 세션의 소유권을 상기 제2 노드로 전송하는 단계를 더 포함하는
컴퓨터 저장 장치.
- 제18항에 있어서,
상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원의 소유권을 상기 제 2 노드에게 전송하는 것을 포함하는
컴퓨터 저장 장치.
- 제18항에 있어서,
상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원을 상기 제 1 노드로 전송하는 것을 포함하는
컴퓨터 저장 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/228,818 | 2011-09-09 | ||
US13/228,818 US20130067095A1 (en) | 2011-09-09 | 2011-09-09 | Smb2 scaleout |
PCT/US2012/054039 WO2013036698A2 (en) | 2011-09-09 | 2012-09-07 | Smb2 scaleout |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140064844A KR20140064844A (ko) | 2014-05-28 |
KR101947851B1 true KR101947851B1 (ko) | 2019-02-13 |
Family
ID=47729311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147006137A KR101947851B1 (ko) | 2011-09-09 | 2012-09-07 | Smb2 스케일아웃 기법 |
Country Status (11)
Country | Link |
---|---|
US (3) | US20130067095A1 (ko) |
EP (2) | EP2754063A4 (ko) |
JP (2) | JP2014532210A (ko) |
KR (1) | KR101947851B1 (ko) |
CN (2) | CN105743996A (ko) |
AU (1) | AU2012304550B2 (ko) |
BR (1) | BR112014005315A2 (ko) |
CA (1) | CA2847735A1 (ko) |
MX (1) | MX2014002782A (ko) |
RU (1) | RU2613040C2 (ko) |
WO (1) | WO2013036698A2 (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332526B2 (en) | 2005-05-25 | 2012-12-11 | Microsoft Corporation | Data communication protocol including negotiation and command compounding |
US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
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 |
US9253144B2 (en) * | 2011-12-22 | 2016-02-02 | International Business Machines Corporation | Client-driven load balancing of dynamic IP address allocation |
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 |
GB2531341B (en) | 2014-10-17 | 2016-10-12 | Ibm | Reconnection of a client to a server in a transaction processing server cluster |
CN106161404A (zh) * | 2015-04-22 | 2016-11-23 | 阿里巴巴集团控股有限公司 | Ssl会话重用的方法、服务器和系统 |
CN106059986A (zh) * | 2015-04-22 | 2016-10-26 | 阿里巴巴集团控股有限公司 | Ssl会话重用的方法和服务器 |
US10303660B2 (en) | 2015-11-12 | 2019-05-28 | Microsoft Technology Licensing, Llc | File system with distributed entity state |
CN106534328B (zh) * | 2016-11-28 | 2020-01-31 | 网宿科技股份有限公司 | 节点连接方法及分布式计算系统 |
CN113766035B (zh) * | 2017-03-28 | 2023-05-23 | 创新先进技术有限公司 | 一种业务受理及共识的方法及装置 |
JP6838707B2 (ja) * | 2017-06-30 | 2021-03-03 | 京セラドキュメントソリューションズ株式会社 | リモート通信制御システム、セッション管理システムおよびセッション管理プログラム |
US11553046B1 (en) * | 2017-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Seamless scaling via proxy replay of session state |
US11349937B2 (en) * | 2020-09-18 | 2022-05-31 | EMC IP Holding Company LLC | Passive management of network connections |
US12003586B2 (en) * | 2020-12-22 | 2024-06-04 | Texas Instruments Incorporated | Distributed session owner across multiple entities |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228884A1 (en) | 2002-06-10 | 2005-10-13 | Caplin Systems Limited | Resource management |
US20090222582A1 (en) | 2008-03-03 | 2009-09-03 | Microsoft Corporation | Failover in an internet location coordinate enhanced domain name system |
US7962129B2 (en) | 2005-10-24 | 2011-06-14 | At&T Intellectual Property I, L.P. | Method and system of creating customized ringtones |
Family Cites Families (278)
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 |
JPS6019341A (ja) | 1983-07-13 | 1985-01-31 | Usac Electronics Ind Co Ltd | 回線制御方式 |
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 |
US4736369A (en) | 1986-06-13 | 1988-04-05 | International Business Machines Corp. | Adaptive session-level pacing |
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 |
JPH076917B2 (ja) | 1986-09-01 | 1995-01-30 | 富士写真フイルム株式会社 | 乾式分析方法における検量線の補正方法 |
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 |
JPS63205747A (ja) | 1987-02-13 | 1988-08-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 通信方法及びデータ処理システム |
US4791566A (en) | 1987-03-27 | 1988-12-13 | Digital Equipment Corporation | Terminal device session management protocol |
JPS63256165A (ja) | 1987-04-14 | 1988-10-24 | Seiko Epson Corp | 嫌気性液体の定量吐出方法 |
JPS6461148A (en) | 1987-08-31 | 1989-03-08 | Nec Corp | Flow control system |
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 |
JPH0821969B2 (ja) | 1988-09-13 | 1996-03-04 | 日本電気株式会社 | 伝送制御方法 |
JPH02101847A (ja) | 1988-10-11 | 1990-04-13 | Nec Corp | 通信制御方式 |
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 |
JPH0374745A (ja) | 1989-08-15 | 1991-03-29 | Oki Electric Ind Co Ltd | データ処理装置 |
JPH03245939A (ja) | 1990-02-20 | 1991-11-01 | Fudoo Kk | 工具ホルダー把持装置 |
JP2575543B2 (ja) | 1990-04-04 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時アクセス管理方法 |
US5130986A (en) | 1990-04-27 | 1992-07-14 | At&T Bell Laboratories | High speed transport protocol with two windows |
JPH04172039A (ja) | 1990-11-05 | 1992-06-19 | Matsushita Electric Ind Co Ltd | パケット通信装置 |
JPH0589048A (ja) | 1991-09-25 | 1993-04-09 | Nec Corp | コマンド処理方式 |
JPH05143488A (ja) | 1991-11-18 | 1993-06-11 | Nippon Telegr & Teleph Corp <Ntt> | 複数コマンドの転送方法 |
JPH0619771A (ja) | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
KR0123773B1 (ko) | 1992-06-27 | 1997-11-26 | 강진구 | Pip 신호의 pop 신호로의 위치변환회로 |
JPH0675890A (ja) | 1992-08-26 | 1994-03-18 | Chugoku Nippon Denki Software Kk | クライアント・サーバ間の要求データ応答データ授受方式 |
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 |
JPH08314784A (ja) | 1995-05-19 | 1996-11-29 | Toshiba Corp | ファイル管理装置 |
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 |
US5633899A (en) | 1996-02-02 | 1997-05-27 | Lsi Logic Corporation | Phase locked loop for high speed data capture of a serial data stream |
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 |
RU2118051C1 (ru) | 1996-04-30 | 1998-08-20 | Лихачев Александр Геннадьевич | Способ доступа к ресурсам "всемирной паутины" через шлюзы-представители |
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 |
FR2759518B1 (fr) | 1997-02-07 | 1999-04-23 | France Telecom | Procede et dispositif d'allocation de ressources dans un reseau numerique de transmission par paquets |
US5987621A (en) | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
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 |
JP3341637B2 (ja) | 1997-06-20 | 2002-11-05 | 日本電気株式会社 | トランザクション処理システムにおける端末状態管理方法及びコンピュータ読み取り可能な記録媒体 |
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 |
JPH1155314A (ja) | 1997-07-30 | 1999-02-26 | Nippon Telegr & Teleph Corp <Ntt> | データ転送制御方法 |
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 |
US6131125A (en) | 1997-11-14 | 2000-10-10 | Kawasaki Lsi U.S.A., Inc. | Plug-and-play data cable with protocol translation |
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 |
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 |
KR100272567B1 (ko) | 1997-12-31 | 2000-11-15 | 서평원 | 이동통신 네트워크를 이용한 이동 인터넷 |
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次記憶装置への格納競合防止方法 |
JP4527882B2 (ja) | 1998-10-07 | 2010-08-18 | アドビ・システムズ・インコーポレーテッド | データ項目に対するアクセスを配布する方法及びシステム |
US6230190B1 (en) | 1998-10-09 | 2001-05-08 | Openwave Systems Inc. | Shared-everything file storage for clustered system |
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 |
JP2000163369A (ja) | 1998-11-30 | 2000-06-16 | Nippon Telegr & Teleph Corp <Ntt> | 処理結果分散管理方法及びシステム及び処理結果分散管理サーバ装置及び処理結果分散管理プログラムを格納した記憶媒体 |
US6347337B1 (en) | 1999-01-08 | 2002-02-12 | Intel Corporation | Credit based flow control scheme over virtual interface architecture for system area networks |
US6883000B1 (en) | 1999-02-12 | 2005-04-19 | Robert L. Gropper | Business card and contact management system |
US6453354B1 (en) | 1999-03-03 | 2002-09-17 | Emc Corporation | File server system using connection-oriented protocol and sharing data sets among data movers |
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 |
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 |
US6622127B1 (en) | 1999-05-11 | 2003-09-16 | Kaiser Foundation Hospitals | Order allocation to select from inventory locations stocking few units of inventory |
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 |
JP2001077844A (ja) | 1999-09-06 | 2001-03-23 | Axle Linkage Labo Inc | ネットワーク制御方法、サーバ装置、クライアント装置、遊技台装置用ネットワーク制御方法、ホールサーバコンピュータ装置、遊技台装置 |
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 |
US7050984B1 (en) | 1999-12-22 | 2006-05-23 | Ge Medical Systems, Inc. | Integrated interactive service to a plurality of medical diagnostic systems |
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 |
JPWO2001077844A1 (ja) | 2000-04-10 | 2004-04-30 | 富士通株式会社 | 情報処理システム及び方法並びにサーバ |
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 |
ATE267502T1 (de) | 2000-07-05 | 2004-06-15 | Roke Manor Research | Verfahren zum betreiben eines puffers für das wiederzusammenstellen von paketen und netzwerk- router |
US7693976B2 (en) | 2000-07-11 | 2010-04-06 | Ciena Corporation | Granular management of network resources |
US6732289B1 (en) | 2000-08-31 | 2004-05-04 | Sun Microsystems, Inc. | Fault tolerant data storage system |
US6349250B1 (en) | 2000-10-26 | 2002-02-19 | Detroit Diesel Corporation | Clear historic data from a vehicle data recorder |
US20020062379A1 (en) | 2000-11-06 | 2002-05-23 | Widegren Ina B. | Method and apparatus for coordinating quality of service requirements for media flows in a multimedia session with IP bearer services |
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 |
US6862692B2 (en) * | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
KR100750735B1 (ko) | 2001-02-03 | 2007-08-22 | 삼성전자주식회사 | 홈네트워크내의 기기 제어장치 및 방법 및 이를 적용한홈네트워크 시스템 |
US7493391B2 (en) * | 2001-02-12 | 2009-02-17 | International Business Machines Corporation | System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds |
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 |
US7287079B2 (en) | 2001-06-29 | 2007-10-23 | Qualcomm Incorporated | Implementing and coordinating configuration of protocol processes |
JP4249915B2 (ja) | 2001-07-13 | 2009-04-08 | 株式会社バンダイ | 配信システム、そのサーバ及び収容装置と、携帯端末システムと、プログラム |
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 |
US7870258B2 (en) * | 2001-08-08 | 2011-01-11 | Microsoft Corporation | Seamless fail-over support for virtual interface architecture (VIA) or the like |
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 |
WO2003049384A1 (en) * | 2001-12-07 | 2003-06-12 | Research In Motion Limited | System and method of managing information distribution to mobile stations |
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 |
US20030154398A1 (en) | 2002-02-08 | 2003-08-14 | Eaton Eric Thomas | System for providing continuity between session clients and method therefor |
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 | 富士通株式会社 | ホスト端末エミュレーションプログラム、中継用プログラムおよびホスト端末エミュレーション方法 |
CA2385344A1 (en) | 2002-05-08 | 2003-11-08 | Bell Globemedia Inc. | Data transfer method and apparatus |
JP4000905B2 (ja) | 2002-05-22 | 2007-10-31 | ソニー株式会社 | 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム |
JP2003337717A (ja) | 2002-05-22 | 2003-11-28 | Nec Corp | オンライントランザクション処理の障害時復旧同期システム |
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 |
US7290141B2 (en) | 2002-06-27 | 2007-10-30 | Nokia, Inc. | Authentication of remotely originating network messages |
CN1666188A (zh) | 2002-07-01 | 2005-09-07 | 株式会社东芝 | 无缝系统和记录介质以及计算机系统的处理继续方法 |
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 |
US7386855B2 (en) | 2002-08-12 | 2008-06-10 | Ntt Docomo, Inc. | Application mobility service |
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 |
JP3938002B2 (ja) | 2002-10-18 | 2007-06-27 | キヤノン株式会社 | 印刷システムの制御方法 |
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 |
US20040153700A1 (en) | 2003-01-02 | 2004-08-05 | Nixon Mark J. | Redundant application stations for process control systems |
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 | 株式会社エヌ・ティ・ティ・ドコモ | 通信システム、データ送信方法、通信装置、プログラムおよび記録媒体 |
US7526658B1 (en) | 2003-01-24 | 2009-04-28 | Nortel Networks Limited | Scalable, distributed method and apparatus for transforming packets to enable secure communication between two stations |
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 |
US20040255202A1 (en) | 2003-06-13 | 2004-12-16 | Alcatel | Intelligent fault recovery in a line card with control plane and data plane separation |
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 |
US7693998B2 (en) | 2003-06-30 | 2010-04-06 | Microsoft Corporation | System and method for message-based scalable data transport |
US20050015511A1 (en) | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
JP4229774B2 (ja) | 2003-07-11 | 2009-02-25 | 日本電信電話株式会社 | セッション制御プログラムと通信端末装置 |
US7296264B2 (en) | 2003-07-18 | 2007-11-13 | Bea Systems, Inc. | System and method for performing code completion in an integrated development environment |
CN100394401C (zh) | 2003-07-24 | 2008-06-11 | 松下电器产业株式会社 | 文件管理方法和信息处理设备 |
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 |
US7231397B2 (en) | 2003-10-24 | 2007-06-12 | Microsoft Corporation | Method and system for transacted file operations over a network |
KR20060111492A (ko) | 2003-11-07 | 2006-10-27 | 소니 일렉트로닉스 인코포레이티드 | 모바일 컴퓨터용 파일 전송 프로토콜 |
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 |
US7730489B1 (en) | 2003-12-10 | 2010-06-01 | Oracle America, Inc. | Horizontally scalable and reliable distributed transaction management in a clustered application server environment |
US7243284B2 (en) | 2003-12-11 | 2007-07-10 | International Business Machines Corporation | Limiting number of retransmission attempts for data transfer via network interface controller |
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 |
US7478381B2 (en) | 2003-12-15 | 2009-01-13 | Microsoft Corporation | Managing software updates and a software distribution service |
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 |
US7493394B2 (en) | 2003-12-31 | 2009-02-17 | Cisco Technology, Inc. | Dynamic timeout in a client-server system |
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 |
US7487353B2 (en) | 2004-05-20 | 2009-02-03 | International Business Machines Corporation | System, method and program for protecting communication |
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 |
US7620687B2 (en) * | 2004-06-25 | 2009-11-17 | Telcordia Technologies, Inc. | Distributed request routing |
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 |
US7428655B2 (en) * | 2004-09-08 | 2008-09-23 | Hewlett-Packard Development Company, L.P. | Smart card for high-availability clustering |
KR20060025100A (ko) | 2004-09-15 | 2006-03-20 | 삼성전자주식회사 | 다국어를 지원하는 메타 데이터를 기록한 정보저장매체 및메타 데이터 처리방법 |
US20060067244A1 (en) | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Registration identifier reuse |
US7451347B2 (en) * | 2004-10-08 | 2008-11-11 | Microsoft Corporation | Failover scopes for nodes of a computer cluster |
JP4398843B2 (ja) * | 2004-10-13 | 2010-01-13 | 日本放送協会 | 配信サーバ及び配信プログラム |
CN1767472A (zh) | 2004-10-27 | 2006-05-03 | 乐金电子(天津)电器有限公司 | 家庭网络系统 |
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 |
JP4451293B2 (ja) | 2004-12-10 | 2010-04-14 | 株式会社日立製作所 | 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 |
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 |
US8515490B2 (en) | 2004-12-30 | 2013-08-20 | Alcatel Lucent | Method and apparatus for providing same session switchover between end-user terminals |
WO2006084503A1 (en) | 2005-02-08 | 2006-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | On-demand multi-channel streaming session over packet-switched networks |
US7685312B1 (en) * | 2005-02-10 | 2010-03-23 | Sun Microsystems, Inc. | Resource location by address space allocation |
US7743245B2 (en) | 2005-03-10 | 2010-06-22 | Intel Corporation | Security protocols on incompatible transports |
JP4516458B2 (ja) | 2005-03-18 | 2010-08-04 | 株式会社日立製作所 | フェイルオーバークラスタシステム及びフェイルオーバー方法 |
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 |
EP1727056B1 (en) | 2005-05-25 | 2008-11-05 | Microsoft Corporation | Data communication protocol |
US8332526B2 (en) | 2005-05-25 | 2012-12-11 | Microsoft Corporation | Data communication protocol including negotiation and command compounding |
EP1727055B1 (en) | 2005-05-25 | 2016-09-07 | Microsoft Technology Licensing, LLC | Data communication coordination with sequence numbers |
JP2007058506A (ja) | 2005-08-24 | 2007-03-08 | Ricoh Co Ltd | 文書管理サーバ、文書管理システム、及び、文書管理プログラムとその記録媒体 |
GB0519246D0 (en) * | 2005-09-21 | 2005-10-26 | Ibm | A method, apparatus and computer program for handling web server failure |
RU2313824C2 (ru) | 2005-09-26 | 2007-12-27 | Михаил Васильевич Беляев | Информационная система клиент - сервер и способ предоставления графического пользовательского интерфейса |
US20070150602A1 (en) * | 2005-10-04 | 2007-06-28 | Peter Yared | Distributed and Replicated Sessions on Computing Grids |
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 |
US7685227B2 (en) * | 2006-11-10 | 2010-03-23 | Gerber Robert H | Message forwarding backup manager in a distributed server system |
US7774544B1 (en) | 2006-11-15 | 2010-08-10 | Netapp, Inc. | Reliable disk ownership changes |
US7743039B2 (en) * | 2006-12-11 | 2010-06-22 | Simdesk Technologies, Inc. | File operations with multiple level file locking techniques |
KR20080057483A (ko) * | 2006-12-20 | 2008-06-25 | 삼성전자주식회사 | 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법 |
US7809828B2 (en) | 2007-04-11 | 2010-10-05 | International Business Machines Corporation | Method for maintaining state consistency among multiple state-driven file system entities when entities become disconnected |
WO2008130983A1 (en) | 2007-04-16 | 2008-10-30 | Attune Systems, Inc. | File aggregation in a switched file system |
US8271669B2 (en) | 2007-05-30 | 2012-09-18 | Broadcom Corporation | Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers |
US8073922B2 (en) * | 2007-07-27 | 2011-12-06 | Twinstrata, Inc | System and method for remote asynchronous data replication |
US8954526B2 (en) | 2007-09-28 | 2015-02-10 | 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 |
US20090158221A1 (en) | 2007-12-17 | 2009-06-18 | Nokia Corporation | Device feature manipulation based on presented content |
CN101217483A (zh) * | 2008-01-21 | 2008-07-09 | 中兴通讯股份有限公司 | 用于实现集群服务器内负载分担代理的方法 |
US7930427B2 (en) * | 2008-03-03 | 2011-04-19 | Microsoft Corporation | Client-side load balancing |
JP5054618B2 (ja) * | 2008-06-10 | 2012-10-24 | 京セラドキュメントソリューションズ株式会社 | ネットワークファイル処理システム |
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 |
US8271996B1 (en) * | 2008-09-29 | 2012-09-18 | Emc Corporation | Event queues |
US8185566B2 (en) | 2009-01-15 | 2012-05-22 | Microsoft Corporation | Client-based caching of remote files |
CN101594320B (zh) | 2009-06-23 | 2012-05-09 | 中兴通讯股份有限公司 | 一种基于snmp协议的消息交互方法 |
US9749387B2 (en) | 2009-08-13 | 2017-08-29 | Sap Se | Transparently stateful execution of stateless applications |
US8751533B1 (en) * | 2009-11-25 | 2014-06-10 | Netapp, Inc. | Method and system for transparently migrating storage objects between nodes in a clustered storage system |
JP2011119794A (ja) * | 2009-11-30 | 2011-06-16 | Toshiba Corp | 電子機器及び通信制御方法 |
US20110280247A1 (en) * | 2010-05-17 | 2011-11-17 | Google Inc. | System and method for reducing latency via multiple network connections |
US8806030B2 (en) | 2010-12-06 | 2014-08-12 | Microsoft Corporation | Multichannel connections in file system sessions |
US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
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 |
US8844201B2 (en) | 2012-03-05 | 2014-09-30 | Gator Kennels Llc | Hinged gate with latch |
US9888068B2 (en) * | 2013-04-06 | 2018-02-06 | Citrix Systems, Inc. | Systems and methods for maintaining session persistence in a cluster system |
-
2011
- 2011-09-09 US US13/228,818 patent/US20130067095A1/en not_active Abandoned
-
2012
- 2012-09-07 RU RU2014108994A patent/RU2613040C2/ru active
- 2012-09-07 MX MX2014002782A patent/MX2014002782A/es unknown
- 2012-09-07 BR BR112014005315A patent/BR112014005315A2/pt not_active Application Discontinuation
- 2012-09-07 WO PCT/US2012/054039 patent/WO2013036698A2/en active Application Filing
- 2012-09-07 KR KR1020147006137A patent/KR101947851B1/ko active IP Right Grant
- 2012-09-07 CN CN201610207685.6A patent/CN105743996A/zh active Pending
- 2012-09-07 CA CA2847735A patent/CA2847735A1/en not_active Abandoned
- 2012-09-07 CN CN201210331041XA patent/CN102946405A/zh active Pending
- 2012-09-07 EP EP12830847.5A patent/EP2754063A4/en not_active Withdrawn
- 2012-09-07 AU AU2012304550A patent/AU2012304550B2/en active Active
- 2012-09-07 EP EP17165513.7A patent/EP3206378B1/en active Active
- 2012-09-07 JP JP2014529877A patent/JP2014532210A/ja active Pending
-
2015
- 2015-08-25 US US14/834,959 patent/US10630781B2/en active Active
-
2016
- 2016-10-19 JP JP2016204949A patent/JP6334643B2/ja active Active
-
2020
- 2020-03-02 US US16/806,369 patent/US11570255B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228884A1 (en) | 2002-06-10 | 2005-10-13 | Caplin Systems Limited | Resource management |
US7962129B2 (en) | 2005-10-24 | 2011-06-14 | At&T Intellectual Property I, L.P. | Method and system of creating customized ringtones |
US20090222582A1 (en) | 2008-03-03 | 2009-09-03 | Microsoft Corporation | Failover in an internet location coordinate enhanced domain name system |
Also Published As
Publication number | Publication date |
---|---|
AU2012304550B2 (en) | 2017-02-02 |
CN105743996A (zh) | 2016-07-06 |
US20130067095A1 (en) | 2013-03-14 |
MX2014002782A (es) | 2014-06-05 |
JP6334643B2 (ja) | 2018-05-30 |
US20150365482A1 (en) | 2015-12-17 |
JP2017079064A (ja) | 2017-04-27 |
US20200204633A1 (en) | 2020-06-25 |
WO2013036698A2 (en) | 2013-03-14 |
RU2014108994A (ru) | 2015-09-20 |
CA2847735A1 (en) | 2013-03-14 |
EP2754063A2 (en) | 2014-07-16 |
KR20140064844A (ko) | 2014-05-28 |
EP3206378A1 (en) | 2017-08-16 |
US11570255B2 (en) | 2023-01-31 |
CN102946405A (zh) | 2013-02-27 |
BR112014005315A2 (pt) | 2017-03-28 |
AU2012304550A1 (en) | 2014-03-20 |
WO2013036698A3 (en) | 2013-05-10 |
US10630781B2 (en) | 2020-04-21 |
JP2014532210A (ja) | 2014-12-04 |
EP3206378B1 (en) | 2019-12-25 |
EP2754063A4 (en) | 2015-08-05 |
RU2613040C2 (ru) | 2017-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101947851B1 (ko) | Smb2 스케일아웃 기법 | |
JP5016063B2 (ja) | 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク | |
US7024483B2 (en) | System and method for topology manager employing finite state automata for dynamic cluster formation | |
US7035858B2 (en) | System and method dynamic cluster membership in a distributed data system | |
US7139925B2 (en) | System and method for dynamic cluster adjustment to node failures in a distributed data system | |
US7739391B2 (en) | Gateway for wireless mobile clients | |
US9069835B2 (en) | Organizing data in a distributed storage system | |
US10146848B2 (en) | Systems and methods for autonomous, scalable, and distributed database management | |
US8788579B2 (en) | Clustered client failover | |
EP1987657B1 (en) | Scalable wireless messaging system | |
US20060242283A1 (en) | System and method for managing local storage resources to reduce I/O demand in a storage area network | |
US10367676B1 (en) | Stable leader selection for distributed services | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
EP3014537A2 (en) | Producer system partitioning among leasing agent systems | |
US8230086B2 (en) | Hidden group membership in clustered computer system | |
US20220345445A1 (en) | Generation and use of micro-pools to assign an ip address to a requesting computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |