KR101947851B1 - Smb2 스케일아웃 기법 - Google Patents

Smb2 스케일아웃 기법 Download PDF

Info

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
Application number
KR1020147006137A
Other languages
English (en)
Other versions
KR20140064844A (ko
Inventor
데이비드 엠 크루즈
다니엘 이 러빙거
토마스 이 졸리
제임스 티 핑커톤
매튜 조지
루페쉬 씨 바테파티
밍동 샹
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20140064844A publication Critical patent/KR20140064844A/ko
Application granted granted Critical
Publication of KR101947851B1 publication Critical patent/KR101947851B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel 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

SMB2 스케일아웃 기법{SMB2 SCALEOUT}
클라이언트에게 장애 조치(failover)와 정보의 높은 이용 가능성을 제공하기 위해 서버 클러스터가 통상적으로 사용된다. 전통적으로, 클러스터 환경은 서버에게 이용 가능한 자원(resource)에 접근하기 위해 클라이언트가 서버에 접속하는 클라이언트-서버 프로토콜에 따라 설계된다. 전통적인 클러스터 환경에서, 환경을 구성하는 상이한 서버는 상이한 파일 시스템에 접근할 수 있다. 공동 파일 시스템에 대한 접근 불능은 전통적인 파일 시스템 클러스터의 기능을 제한한다.
실시예는 이들 고려 사항 및 다른 고려 사항에 관련하여 만들어졌다. 또한, 비교적 특정된 문제가 논의되었지만, 실시예가 배경기술에서 식별되는 특정 문제를 해결하는 것으로 제한되지 않아야 한다는 점이 이해되어야 한다.
본 요약은 상세한 설명 부분에서 추가로 후술되는 개념의 발췌를 단순한 형태로 소개하기 위해 제공된다. 이러한 요약은 청구된 발명 대상의 주요 특징 또는 필수 특징을 식별하도록 의도되지 않으며, 청구된 발명 대상의 범위를 판단하기 위한 보조물로서 사용되도록 의도되지도 않는다.
본 개시의 실시예는 클러스터 내의 각각의 노드가 클러스터 내에 상주하는 모든 자원에 접근하도록 파일 시스템이 논리적으로 클러스터될 수 있는 스케일아웃 클러스터 환경(scaled out clustered environment)을 제공한다. 파일 시스템이 클러스터 환경 내의 각각의 노드에 접근 가능하므로, 클라이언트는 클라이언트가 어떤 노드에 접속하는지에 무관하게 클러스터의 자원에 접근할 수 있다. 이러한 환경은 클러스터 환경에 접속할 때의 선택사양을 클라이언트에게 제공한다. 클라이언트는 서버 클러스터에 효율적으로 접속하도록 스케일 클러스터 노드의 유연성(flexibility)을 증대시킬 수 있다.
다른 실시예에서, 스케일 클러스터 환경은 클라이언트가 접속을 설정하는 실제 노드에 무관하게 클라이언트가 클러스터를 가로질러 자원에 접근하도록 허용하지만, 일단 클라이언트가 노드와의 접속을 설정하면, 클라이언트는 클러스터 환경의 노드들 사이에서 전달되는 상태 정보의 양을 감소시키도록 클라이언트의 동일한 노드와의 접속을 유지하려고 시도한다.
그러나, 일부 경우에, 클라이언트는 동일한 노드와의 접속을 유지할 수 없으며, 스케일 클러스터 환경 내의 상이한 노드에 접속하라는 요구를 받는다. 추가 환경에서, 스케일형 클러스터 환경은 하나의 노드로부터 또 다른 노드로 클라이언트의 이동을 용이하게 하도록 세션 정보, 상태 정보 및/또는 핸들(handle)의 저장 및 유지에 대비한다. 클러스터의 노드들은 클라이언트 접속의 이동을 용이하도록 하기 위해 이러한 정보를 서로 주고 받을 수 있다.
실시예는 컴퓨터 프로세스로서, 컴퓨팅 시스템으로서, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독 가능 매체와 같은 제조 품목으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 읽기 가능하며 컴퓨터 프로세스를 실행하기 위한 명령으로 된 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨터 시스템에 의해 읽기 가능하며 컴퓨터 프로세스를 실행하기 위한 명령으로 된 컴퓨터 프로그램을 인코딩하는 반송파(carrier) 상의 전파 신호일 수 있다.
다음 도면을 참조하여 비제한적이며 비배타적인 실시예가 설명된다.
도 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. 지속적 핸들을 제공하기 위한 컴퓨터 시스템으로서,
    적어도 제 1 서버 및 제 2 서버를 포함하되, 상기 제1 서버 및 상기 제2 서버는 서버 클러스터의 일부분이며,
    상기 제 1 서버는
    클라이언트로부터 접속 요구를 수신하고 - 상기 접속 요구는 상기 제 2 서버와의 이전에 설정된 세션을 식별하는 세션 셋업 요구를 포함함 - ,
    상기 이전에 설정된 세션의 소유권 요구를 상기 제 2 서버로 송신하도록 구성되고,
    상기 제 2 서버는
    상기 제 1 서버로부터 상기 소유권 요구를 수신하고, - 상기 소유권 요구는 세션 셋업 요구를 포함함 - ,
    상기 이전에 설정된 세션과 연관된 하나 이상의 자원에 대한 계류 중인 동작이 존재하지 않음을 보증하고,
    상기 이전에 설정된 세션을 무효로 하도록 구성되는
    컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 세션을 무효로 하는 것은
    상기 이전에 설정된 세션과 연관된 적어도 하나의 오픈 핸들(open handle)을 폐쇄하는 것과,
    상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 적어도 하나의 잠금(lock)을 해제하는 것
    중 적어도 하나를 포함하는
    컴퓨터 시스템.
  3. 제2항에 있어서,
    상기 제 2 서버는 또한 상기 이전에 설정된 세션의 소유권을 상기 제 1 서버에게 전송하도록 구성되는
    컴퓨터 시스템.
  4. 제3항에 있어서,
    상기 이전에 설정된 세션의 소유권을 상기 제 1 서버에게 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원의 소유권을 상기 제 1 서버에게 전송하는 것을 포함하는
    컴퓨터 시스템.
  5. 제3항에 있어서,
    상기 이전에 설정된 세션의 소유권을 상기 제 1 서버에게 전송하는 것은 상기 이전에 설정된 세션과 연관된 하나 이상의 자원을 상기 제 1 서버에게 전송하는 것을 포함하는
    컴퓨터 시스템.
  6. 제1항에 있어서,
    계류 중인 동작이 존재하지 않음을 보증하는 것은
    하나 이상의 계류 중인 동작을 완료하는 것과,
    상기 하나 이상의 계류 중인 동작을 취소하는 것
    중 적어도 하나를 포함하는
    컴퓨터 시스템.
  7. 서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법으로서,
    상기 서버 클러스터 내 제 1 노드에서, 상기 이전에 설정된 세션을 상기 서버 클러스터 내의 제 2 노드에게 전송하라는 소유권 요구를 상기 제 2 노드로부터 수신하는 단계 - 상기 소유권 요구는 세션 셋업 요구를 포함함 - 와,
    상기 이전에 설정된 세션과 연관된 하나 이상의 자원에 대한 계류 중인 동작이 존재하는지 여부를 판단하는 단계와,
    계류 중인 동작이 존재하지 않는 경우에, 상기 이전에 설정된 세션을 무효로 하는 단계를 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  8. 제7항에 있어서,
    상기 이전에 설정된 세션을 전송하라는 요구는 세션 식별자를 포함하고, 상기 세션 식별자는 상기 이전에 설정된 세션을 식별하는 데 사용되는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  9. 제7항에 있어서,
    상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 계류 중인 동작이 존재하는 경우, 상기 계류 중인 동작이 완료되기를 기다리는 단계를 더 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  10. 제7항에 있어서,
    상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 계류 중인 동작이 존재하는 경우, 상기 계류 중인 동작을 취소하는 단계를 더 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  11. 제7항에 있어서,
    상기 이전에 설정된 세션을 무효로 하는 단계는
    상기 이전에 설정된 세션과 연관된 적어도 하나의 오픈 핸들을 폐쇄하는 것과,
    상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 적어도 하나의 잠금을 해제하는 것
    중 적어도 하나를 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  12. 제7항에 있어서,
    상기 이전에 설정된 세션의 소유권을 상기 제2 노드로 전송하는 단계를 더 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  13. 제12항에 있어서,
    상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원의 소유권을 상기 제 2 노드에게 전송하는 것을 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  14. 제12항에 있어서,
    상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원을 상기 제 1 노드로 전송하는 것을 포함하는
    서버 클러스터 환경에서 이전에 설정된 세션을 전송하는 방법.
  15. 적어도 하나의 프로세서에 의해 실행될 때 방법을 수행하는 컴퓨터 실행 가능 명령어를 인코딩하는 컴퓨터 저장 장치로서,
    상기 방법은
    서버 클러스터 내 제 1 노드에서, 이전에 설정된 세션을 상기 서버 클러스터 내의 제 2 노드에게 전송하라는 소유권 요구를 상기 제 2 노드로부터 수신하는 단계 - 상기 소유권 요구는 세션 셋업 요구를 포함함 - 와,
    상기 이전에 설정된 세션과 연관된 하나 이상의 자원에 대한 계류 중인 동작이 존재하는지 여부를 판단하는 단계와,
    계류 중인 동작이 존재하지 않는 경우에, 상기 이전에 설정된 세션을 무효로 하는 단계를 포함하는
    컴퓨터 저장 장치.
  16. 제15항에 있어서,
    상기 이전에 설정된 세션을 전송하라는 요구는 세션 식별자를 포함하고, 상기 세션 식별자는 상기 이전에 설정된 세션을 식별하는 데 사용되는
    컴퓨터 저장 장치.
  17. 제15항에 있어서,
    상기 이전에 설정된 세션을 무효로 하는 단계는
    상기 이전에 설정된 세션과 연관된 적어도 하나의 오픈 핸들을 폐쇄하는 것과,
    상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원에 대한 적어도 하나의 잠금을 해제하는 것
    중 적어도 하나를 포함하는
    컴퓨터 저장 장치.
  18. 제15항에 있어서,
    상기 방법은 상기 이전에 설정된 세션의 소유권을 상기 제2 노드로 전송하는 단계를 더 포함하는
    컴퓨터 저장 장치.
  19. 제18항에 있어서,
    상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원의 소유권을 상기 제 2 노드에게 전송하는 것을 포함하는
    컴퓨터 저장 장치.
  20. 제18항에 있어서,
    상기 이전에 설정된 세션의 소유권을 전송하는 것은 상기 이전에 설정된 세션과 연관된 상기 하나 이상의 자원을 상기 제 1 노드로 전송하는 것을 포함하는
    컴퓨터 저장 장치.
KR1020147006137A 2011-09-09 2012-09-07 Smb2 스케일아웃 기법 KR101947851B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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