KR20140007363A - 기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스 - Google Patents

기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스 Download PDF

Info

Publication number
KR20140007363A
KR20140007363A KR1020137019705A KR20137019705A KR20140007363A KR 20140007363 A KR20140007363 A KR 20140007363A KR 1020137019705 A KR1020137019705 A KR 1020137019705A KR 20137019705 A KR20137019705 A KR 20137019705A KR 20140007363 A KR20140007363 A KR 20140007363A
Authority
KR
South Korea
Prior art keywords
referral
client device
server
site
referrals
Prior art date
Application number
KR1020137019705A
Other languages
English (en)
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 KR20140007363A publication Critical patent/KR20140007363A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

실시예는 기업 네트워크에 원격으로 접속하는 클라이언트 디바이스가 사이트-인식 방식으로 동작하도록 허용하는 것에 관한 것이다. 분산형 파일 시스템에서, 파일은 네트워크를 가로질러 다수의 장소에서 복제될 수 있다. 실시예는 클라이언트 및 네트워크에 최소 전체 "비용"을 갖고 요구 클라이언트에 의해 액세스 가능한 원하는 정보의 레플리카에 요구 클라이언트 리퍼럴(또는 경로)을 제공하는 것에 관련된다. 본 발명의 시스템 및 방법은 참조 서버(들)가 요구에 응답하여 사이트-인식 리퍼럴을 제공할 수 있도록 원격 클라이언트 디바이스가 이들의 리퍼럴 요구로 사이트를 신뢰적으로 식별하게 할 수 있다.

Description

기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스{SITE-AWARE DISTRIBUTED FILE SYSTEM ACCESS FROM OUTSIDE ENTERPRISE NETWORK}
다수의 법인 및 다른 기업은 기업을 위한 정보의 관리를 용이하게 하기 위해 인트라넷과 같은 네트워크를 유지한다. 인트라넷은 분산형일 수 있고, 다수의 지리학적 위치에 서버 및 디바이스를 포함할 수 있다. 이러한 위치는 위치 내의 디바이스들을 접속하기 위한 근거리 통신망 및 위치들 사이의 머신들을 접속하기 위한 원거리 통신망을 포함할 수 있다. 게다가, 현대 상업의 범세계적 특성은 기업이 가정에서 또는 여행 중에 일하는 피고용인 및 다른 사람들에 의해 그 인트라넷에 저장된 정보로의 원격 액세스를 용이하게 해야 할 가능성이 많게 하고 있다. 본 명세서에 제공된 시스템 및 방법은 이 일반적인 환경과 관련한 것이다.
본 요약은 개념의 선택을 간단화된 형태로 소개하며, 이는 이하의 상세한 설명에 더 설명된다. 이 요약 설명은 청구된 요지의 주요 특징 또는 본질적 특징을 식별하도록 의도된 것은 아니고, 또한 청구된 요지의 범주를 결정하는데 있어서 보조로서 의도된 것도 아니다.
실시예는 기업 네트워크에 원격 접속하는 클라이언트 디바이스가 사이트-인식(site-aware) 방식으로 동작하게 허용하도록 구성된다. 실시예에서, 원격 클라이언트 디바이스는 기업 네트워크의 제 1 게이트웨이 서버에 접속된다. 클라이언트 디바이스는 제 1 게이트웨이 서버가 속하는 사이트를 식별하는 제 1 사이트 식별자를 수신한다. 클라이언트 디바이스는 타겟 객체에 대한 하나 이상의 리퍼럴(referral)을 위한 제 1 리퍼럴 요구를 송신하고, 리퍼럴 요구는 게이트웨이 서버의 사이트 식별자를 포함한다. 클라이언트 디바이스는 타겟 객체에 대한 순서화된 하나 이상의 리퍼럴의 세트를 수신하고 객체에 액세스하기 위해 리퍼럴을 사용한다.
다른 실시예에서, 제 1 게이트웨이 서버, 객체-리퍼럴 서버 및 복수의 저장 서버를 포함하는 시스템이 제공된다. 제 1 게이트웨이 서버는 원격 클라이언트 디바이스를 기업 네트워크에 접속하도록 동작 가능하다. 제 1 게이트웨이 서버는 제 1 게이트웨이 서버가 속하는 사이트를 식별하는 그 사이트 식별자를 원격 클라이언트 디바이스에 송신한다. 객체-리퍼럴 서버는 피요구 객체(들)에 대한 리퍼럴을 제공하도록 동작 가능하다. 피요구 객체(들)는 복제되어 복수의 저장 서버에 저장될 수 있다. 객체-리퍼럴 서버가 리퍼럴에 대한 요구를 수신할 때, 요구는 제 1 게이트웨이 서버의 사이트 식별자를 포함한다. 객체-리퍼럴 서버는 복수의 저장 서버 중 하나 이상으로부터 피요구 객체(들)에 액세스하는 비용을 결정한다. 객체-리퍼럴 서버는 계산된 비용에 따라 피요구 객체(들)에 대한 리퍼럴을 순서화하고, 순서화된 객체를 클라이언트 디바이스에 송신한다.
이들 및 다른 특징 및 장점은 이하의 상세한 설명의 숙독 및 연관 도면의 검토로부터 이해될 수 있을 것이다. 상기 일반적인 설명 및 이하의 상세한 설명은 단지 예시적인 것이고 청구된 바와 같이 발명을 한정하는 것은 아니라는 것이 이해되어야 한다.
도 1은 본 발명에 따른 피요구 객체로의 최소 비용 액세스를 제공하기 위한 시스템의 실시예를 도시하는 도면.
도 2는 본 발명에 따른 피요구 객체로의 최소 비용 액세스를 제공하기 위한 시스템의 다른 실시예를 도시하는 도면.
도 3은 본 발명에 따른 피요구 객체로의 최소 비용 액세스를 제공하기 위한 방법의 실시예를 도시하는 도면.
도 4는 본 발명에 따른 피요구 객체로의 최소 비용 액세스를 제공하기 위한 방법의 다른 실시예를 도시하는 도면.
도 5는 이러한 리퍼럴에 관련된 액세스의 계산된 비용에 따른 피요구 객체에 리퍼럴을 순서화하기 위한 방법의 실시예를 도시하는 도면.
도 6은 이러한 리퍼럴에 관련된 액세스의 계산된 비용에 따른 피요구 객체에 리퍼럴을 순서화하기 위한 방법의 다른 실시예를 도시하는 도면.
도 7은 본 발명의 시스템 및 방법과 관련하여 사용될 수 있는 예시적인 컴퓨팅 환경을 도시하는 도면.
본 발명의 시스템 및 방법은 기업 네트워크에 원격으로 접속하는 클라이언트 디바이스가 사이트-인식 방식으로 동작하는 것을 허용한다. 파일이 네트워크를 가로질러 복수의 장소에서 복제될 수 있는 분산형 파일 시스템에서, 요구 클라이언트에 가장 근접하게 위치된(또는 최소 전체 "비용"으로 요구 클라이언트에 의해 클라이언트 및 네트워크에 액세스 가능한) 원하는 정보의 레플리카(replica)에 요구 클라이언트 리퍼럴(또는 경로)을 제공하는데 있어서 장점이 있다. 예를 들어, 클라이언트가 특정 사이트에 접속되고 클라이언트가 액세스하기를 원하는 파일의 레플리카가 그 사이트에 위치되어 있으면, 일반적으로 다른 레플리카보다는 그 사이트에 있는 레플리카에 클라이언트가 참조하게 하는 것이 바람직하다. 그러나, 이러한 사이트-인식 리퍼럴은 참조 서버가 클라이언트 요구가 오는 사이트를 인식할 때 가능해진다. 이 정보는 일반적으로 클라이언트 요구가 "사이트리스(siteless) 모드"에서 행해지면 이용 가능하지 않고, 여기서 요구는 참조 서버에 인식 가능한 사이트를 식별하지 않는다. 본 발명의 시스템 및 방법은 참조 서버(들)가 요구에 응답하여 사이트-인식 리퍼럴을 제공할 수 있도록 원격 클라이언트 디바이스들이 이들의 리퍼럴 요구로 사이트를 신뢰적으로 식별할 수 있게 한다.
도 1은 본 발명에 따른 시스템(100)의 실시예를 설명한다. 도시된 실시예에서, 3개의 사이트(101, 102, 103)가 제공된다. 실시예에서, 사이트는 제한된 지리학적 영역에 걸쳐 접속된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 예를 들어, 이더넷 또는 와이파이를 경유하여 접속된 컴퓨팅 디바이스의 근거리 통신망이 사이트로 고려될 수도 있다. 이 예에서, 사이트(101)는 원거리 통신망(WAN) 링크(104, 105)를 사용하여 양 사이트(102, 103)에 접속된다. WAN 링크(104, 105)는 실시예에서 사이트(101, 102, 103) 사이에 전용 임대 네트워크 접속성을 포함할 수 있다. 일반적으로 말하면, WAN 링크(104, 105)를 위한 대역폭은 사이트(101, 102, 103) 내의 근거리 통신망을 위한 또는 인터넷과 같은 공개 네트워크(106)의 사용을 위한 것보다 더 고가이다. 이와 함께, 사이트(101, 102, 103) 및 WAN 링크(104, 105)는 법인을 위한 인트라넷과 같은 예시적인 기업 네트워크(109)(도 1에 점선으로 도시됨)를 포함할 수 있다.
도 1에서, 사이트(101, 102, 103)는 동일하지 않다. 예를 들어, 사이트(101)는 법인과 같은 기업의 "가정 사무실"일 수 있다. 사이트(102, 103)는 기업의 위성 사무실일 수 있다. 도시된 예시적인 실시예에서, 사이트(101)는 저장 서버(107), 로컬 접속 클라이언트 디바이스(110), 객체-리퍼럴 서버(115), 게이트웨이 서버(120) 및 디렉토리 서버(122)를 포함하고, 이들 모두는 예를 들어 사이트(101) 내의 근거리 통신망을 사용하여 서로 동작 가능하게 접속된다.
사이트(102)는 게이트웨이 서버(125), 로컬 접속 클라이언트 디바이스(130) 및 저장 서버(135)를 포함하고, 이들 모두는 예를 들어 사이트(102) 내의 근거리 통신망을 사용하여 서로 동작 가능하게 접속된다. 유사하게, 사이트(103)는 게이트웨이 서버(140), 로컬 접속 클라이언트 디바이스(145) 및 저장 서버(150)를 포함하고, 이들 모두는 예를 들어 사이트(103) 내의 근거리 통신망을 사용하여 서로 동작 가능하게 접속된다.
실시예에서, 저장 서버(107, 135, 150)는 포탈, 인트라넷 웹사이트, 설치 가능 소프트웨어 및 다른 문서와 같은 파일을 저장한다. 임의의 이러한 파일은 또한 본 명세서에서 "객체"라 칭할 수 있다. 실시예에서, 일 저장 서버에 저장된 일부 파일은 예를 들어 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션(Microsoft corporation)으로부터 입수 가능한 분산형 파일 시스템 복제 서비스(DFSR)를 사용하여 하나 이상의 다른 저장 서버에 복제될 수 있다. 실시예에서, 특정 파일들은 각각의 사이트(101, 102, 103)에서 로컬 접속 클라이언트(110, 130, 145)가 파일의 로컬 카피에 액세스할 수 있도록 복제된다. 저장 서버(107, 135, 150) 중 하나 이상 내의 파일의 복제는 WAN 링크(104, 105)의 적은 지연 및 제한된 사용을 갖고 로컬 접속 클라이언트 디바이스(110, 130, 145)에 의해 더 용이한 액세스를 허용한다.
실시예에서, 로컬 접속 클라이언트 디바이스(145)와 같은 로컬 접속 클라이언트 디바이스는 이하와 같이 복제된 파일에 액세스한다. 이 예에서, 기업 네트워크(109)는 사이트(101)에 위치된 단일 객체-리퍼럴 서버(115)를 포함한다. 객체-리퍼럴 서버(115)는 클라이언트 디바이스(145)와 같은 클라이언트에 객체[예를 들어, 저장 서버(107, 135, 150)에 저장된 파일]에 대한 리퍼럴을 제공한다. 단일 객체-리퍼럴 서버(115)가 용이한 도시를 위해 도 1에 도시되어 있다. 실시예에서, 부가의 객체-리퍼럴 서버가 기업 네트워크(109) 내에 제공될 수도 있다. 예를 들어, 객체-리퍼럴 서버(115)의 콘텐츠는 사이트(102)에 위치된 서버에 복제될 수 있다. 클라이언트 디바이스(145)가 파일을 위한 리퍼럴 요구를 행할 때, 객체-리퍼럴 서버(115)는 먼저 클라이언트 디바이스(145)가 속하는 사이트(103)를 결정한다. 실시예에서, 클라이언트 디바이스(145)에 의해 행해진 리퍼럴 요구는 클라이언트 디바이스(145)의 IP 어드레스를 포함한다. 실시예에서, 클라이언트 디바이스(145)에 의해 행해진 리퍼럴 요구는 클라이언트 디바이스(145)의 서브넷 마스크를 또한 포함할 수 있다. 객체-리퍼럴 서버(115)는 클라이언트 디바이스(145)가 사이트(103)의 부분이라고 판정하는 그 정보를 디렉토리 서버(122)에 제공하고, 객체-리퍼럴 서버(115)에 그 정보를 재차 제공한다. 실시예에서, 디렉토리 서버(122)는 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션으로부터 입수 가능한 ACTIVE DIRECTORY
Figure pct00001
서버[또는 도메인 컨트롤러(DC)]를 포함할 수 있다. 객체-리퍼럴 서버(115)는 이어서 피요구 파일을 위한 리퍼럴의 세트를 클라이언트 디바이스(145)에 재차 제공한다. 리퍼럴은 저장 서버(107, 135, 150)의 하나 이상에 저장된 피요구 파일의 레플리카로의 경로를 포함할 수 있다.
실시예에서, 클라이언트 디바이스(145)에 반환된 리퍼럴은, 반환된 제 1 리퍼럴이 동일한 사이트(103)에서 클라이언트 디바이스(145)인 저장 서버(150) 내의 파일의 레플리카로의 경로가 되도록 최소 비용 방식으로 순서화된다. 실시예에서, 피요구 파일은 모든 저장 서버에 복제되지 않을 수도 있고 저장 서버(150)에 존재하지 않을 수도 있다. 이에 따라, 객체-리퍼럴 서버(115)는 피요구 파일에 액세스하기 위해 클라이언트 디바이스(145)를 위한 "차선(next-best)" 옵션에 따라 반환된 리퍼럴을 순서화할 수 있다. 예를 들어, 피요구 파일이 저장 서버(107) 및 저장 서버(135)에 존재하지만 저장 서버(150)에는 존재하지 않으면, 객체-리퍼럴 서버(115)는 저장 서버(135)에 액세스하기 위한 2개의 WAN 링크(104, 1005)에 대해 단지 하나의 WAN 링크(104)만이 저장 서버(107)에 액세스하기 위해 클라이언트 디바이스(145)에 대해 요구되기 때문에 먼저 저장 서버(107) 내에 그리고 둘째로 저장 서버(134) 내의 피요구 파일의 저장 위치에 리퍼럴을 반환할 수 있다.
이 예에서, 디렉토리 서버(122)는, 클라이언트(145)가 사이트(103)로의 로컬 접속을 경유하여 사인할 때 클라이언트 디바이스(145)의 IP 어드레스가 기업 네트워크(109)에 의해 할당되기 때문에 클라이언트 디바이스(145)의 사이트(103)를 결정하는 것이 가능하다. 실시예에서, 이는 기업 네트워크(109)의 외부로부터 원격으로 접속하는 클라이언트에 대해서는 해당하지 않는다. 예를 들어, 게이트웨이 서버(125)와 같은 게이트웨이 서버를 통해 기업 네트워크(109)의 외부로부터 원격으로 접속하는 클라이언트는 일반적으로 그 인터넷 서비스 공급자(ISP)에 의해 할당된 IP 어드레스를 가질 것이다. ISP에 의해 제공된 IP 어드레스는 일반적으로 디렉토리 서버(122)와 같은 디렉토리 서버에 인식 가능하지 않을 수 있다. 클라이언트가 접속하는 사이트를 신뢰적으로 결정하는 능력 없이, 객체-리퍼럴 서버(115)와 같은 객체-리퍼럴 서버는 파일로의 최소 비용 액세스를 성취하는 방식으로 순서화되는 복제된 파일로의 리퍼럴을 지능적으로 제공할 수 없다.
그러나, 본 발명은 복제된 파일로의 사이트-인식 리퍼럴을 성취하기 위해 원격 접속 클라이언트를 위한 시스템 및 방법을 제공한다. 예를 들어, 도 1을 재차 참조하면, 클라이언트 디바이스(160)가 게이트웨이 서버(125)를 통해 기업 네트워크(109)에 원격으로 접속된다. 게이트웨이 서버(125)[및 게이트웨이 서버(107, 140)]는 클라이언트(160)와 같은 원격 클라이언트가 인터넷과 같은 공개 네트워크(106)를 통해 기업 네트워크(109)에 접속하는 것을 허용하는 서버를 포함할 수 있다. 실시예에서, 게이트웨이 서버(125)는 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션으로부터 입수 가능한 DIRECTACCESS
Figure pct00002
서버를 포함한다. 클라이언트 디바이스(160)는 예를 들어 IPv6 및 IPSec 프로토콜을 사용하여 게이트웨이 서버(125)에 보안 접속될 수 있다. 실시예에서, 상호 인증 및 NAP(네트워크 액세스 보호) 검사가 완료된 후에, IPsec 터널이 클라이언트 디바이스(160)와 게이트웨이 서버(125) 사이에 설정된다. 실시예에서, 클라이언트 디바이스(160)는 초기에 클라이언트 디바이스(160)에 지리학적으로 가장 근접한 게이트웨이 서버에 접속된다.
예를 들어, 클라이언트 디바이스(160)의 사용자가 도 1에 사이트(101)에 의해 표현되어 있는 기업의 가정 사무실의 일원인 것으로 가정한다. 사용자는 통상적으로 가정 사무실에 있을 때 사이트(101)에 로컬 접속한다. 이 예에서, 사이트(101)는 미국 뉴욕주 뉴욕시인 것으로 가정한다. 그러나, 사용자는 유럽에서 클라이언트 디바이스(160)를 갖고 여행중이다. 사이트(102)는 영국 런던이고, 클라이언트 디바이스(160)는 현재 독일 베를린의 호텔에서 사용자가 갖고 있다. 사용자가 클라이언트 디바이스(160)에 로그온할 때, 클라이언트 디바이스(160)는 이 경우에 사이트(102)의 게이트웨이 서버(125)인 가장 근접한 게이트웨이 서버를 통해 기업 네트워크(109)에 접속한다. 가장 근접한 게이트웨이 서버의 발견 및 접속은 다양한 공지의 방식으로 수행될 수 있다. 예를 들어, 클라이언트 디바이스(160)는 게이트웨이 서버를 위한 공지의 IP 어드레스의 리스트를 핑(ping)하고 제 1 응답을 클라이언트 디바이스(160)에 재차 제공하는 게이트웨이 서버에 접속할 수 있다. 실시예에서, 클라이언트 디바이스(160)는 또한 IPv6 분류 알고리즘을 사용하여 게이트웨이 서버를 위한 공지의 IP 어드레스의 리스트를 또한 분류할 수 있다.
게이트웨이 서버(125)에 접속시에, 클라이언트 디바이스(160)는 게이트웨이 서버(125)를 위한 사이트 식별자를 게이트웨이 서버(125)로부터 수신한다. 다른 실시예에서, 클라이언트 디바이스(160)는 게이트웨이 서버(125)에 접속에 앞서 게이트웨이 서버(125)를 위한 사이트 식별자를 수신할 수 있다. 예를 들어, 클라이언트 디바이스(160)는 기업 네트워크(109) 내의 모든 게이트웨이 서버(120, 125, 140)의 사이트 식별자와 프리-프로비져닝될 수 있다. 클라이언트 디바이스(160)는 이어서 이것이 로컬 저장 장치 또는 다른 액세스 가능한 저장 위치로부터 접속되는 게이트웨이 서버(125)를 위한 사이트 식별자를 얻을 수 있다. 사이트 식별자는 예를 들어 기업 네트워크(109)에 의해 할당되어 있는 게이트웨이 서버(125)의 IP 어드레스(서브넷 마스크를 갖거나 갖지 않는)를 포함할 수 있다. 다른 실시예에서, 사이트 식별자는 "런던"과 같은 사이트(102)를 위한 확정된 사이트명을 포함할 수 있다.
실시예에서, 클라이언트 디바이스(160) 상에서 실행하는 네트워크 액세스 클라이언트 프로그램(165)은 기업 네트워크(109)로의 접속을 협상하기 위해 메시지의 교환 중에 사이트 식별자를 수신한다. 전술된 바와 같이, 다른 실시예에서, 게이트웨이(125)를 위한 사이트 식별자는 클라이언트 디바이스(160)에 미리 공지되고, 네트워크 액세스 클라이언트 프로그램(165)은 클라이언트 디바이스(160) 상의 로컬 저장 장치로부터 또는 다른 액세스 가능한 저장 위치로부터 사이트 식별자를 얻는다. 일단 사이트 식별자가 게이트웨이(125)를 위해 얻어지면, 네트워크 액세스 클라이언트 프로그램(165)은 클라이언트 디바이스 파라미터(170) 내에 사이트 식별자를 기입한다. 실시예에서, 클라이언트 디바이스 파라미터(170)는 클라이언트 디바이스(160)를 위한 구성 및 운영 체제 파라미터를 위한 파일 또는 다른 저장 메커니즘을 포함할 수 있다. 클라이언트 디바이스(165)가 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션으로부터 입수 가능한 마이크로소프트 윈도우즈(Microsoft WINDOWS)
Figure pct00003
를 실행하는 실시예에서, 클라이언트 디바이스 파라미터(170)는 레지스트리 키를 포함할 수 있다. 이 예에서, 사이트 식별자는 NetLogon에 의해 유지되는 "사이트명" 레지스트리 키 내에 기입된다.
실시예에서, 클라이언트 디바이스 파라미터(170)로의 변경은 통지가 클라이언트 디바이스(160) 상에서 실행하는 객체-리퍼럴 클라이언트 프로그램(175)에 송신되게 한다. 객체-리퍼럴 클라이언트 프로그램(175)은 클라이언트 디바이스 파라미터(170)로부터 사이트 식별자를 판독하고, 기업 네트워크(109) 내의 객체 리퍼럴을 위해 미래 요구에서 사이트 식별자를 사용한다. 실제로, 클라이언트 디바이스(160)는 이것이 접속되는 게이트웨이 서버(125)로부터 사이트(102)를 채택한다.
상기 예를 계속하여 객체-리퍼럴 클라이언트 프로그램(175)의 객체-리퍼럴 클라이언트 프로그램(175)은 그 레플리카가 저장 서버(107) 및 저장 서버(135)의 모두에 저장되는 타겟 파일에 사이트-인식 리퍼럴을 위한 요구를 송신한다. 리퍼럴을 위한 요구는 게이트웨이 서버(125) 및 WAN 링크(105)를 통해 객체-리퍼럴 서버(115)에 송신된다. 요구는 게이트웨이 서버(125)로부터 얻어진 사이트 식별자의 명시적 선언을 포함한다. 사이트 식별자가 완전 확정된 사이트명(예를 들어, "런던")이면, 객체-리퍼럴 서버(115)는 클라이언트(160)의 사이트를 결정하기 위해 디렉토리 서버(122)에 컨택트할 필요가 없다. 사이트 식별자가 게이트웨이 디바이스(125)의 IP 어드레스와 같이 미확정이면, 객체-리퍼럴 서버(115)는 미확정된 사이트명을 반환하는 디렉토리 서버(122)에 사이트 식별자를 송신함으로써 클라이언트(160)의 사이트를 결정한다.
어느 경우든, 객체-리퍼럴 서버(115)는 피요구 타겟 파일에 하나 이상의 리퍼럴의 리스트를 생성한다. 이 예에서, 타겟 파일은 저장 서버(107) 및 저장 서버(135)의 모두 상에 레플리카를 포함한다. 클라이언트 디바이스(160)는 리퍼럴 요구시에 사이트 식별자가 제공되기 때문에, 객체-리퍼럴 서버는 사이트 식별자에 의해 식별된 사이트[본 예에서, 사이트(102)]로부터 타겟 파일로 최소 비용 리퍼럴을 결정한다. 이에 따라, 타겟 파일은 사이트(102) 내에 있는 저장 서버(135) 상에서 이용 가능하기 때문에, 객체-리퍼럴 서버(115)는 타겟 파일로의 최소 비용 액세스가 저장 서버(135) 상에 저장된 레플리카를 경유하는 것으로 결정할 가능성이 있을 것이다. 이에 따라, 객체-리퍼럴 서버(115)는 클라이언트 디바이스(160)에 반환된 리퍼럴의 리스트에서 먼저 저장 서버(135) 상의 레플리카에 대한 리퍼럴을 순서화한다. 객체-리퍼럴 서버(115)는 또한 실시예에서, 저장 서버(135)가 이용 불가능하거나 동작 불가능한 경우에, 저장 서버(107) 상에 타겟 파일의 레플리카에 대한 리퍼럴을 반환한다. 저장 서버(107) 상의 타겟 파일의 레플리카에 대한 리퍼럴은 이 예에서 저장 서버(135) 상의 레플리카에 대한 리퍼럴 후에 순서화될 것이다. 설명된 바와 같이, 실시예에서, 클라이언트 디바이스(160)에 대한 객체-리퍼럴 서버(115)에 의해 제공된 리퍼럴은 타겟 파일(들)의 각각의 레플리카로의 파일-시스템 경로를 포함할 수 있다.
실시예에서, 객체-리퍼럴 서버(115)는 다양한 팩터에 기초하여 최소 비용 액세스 결정을 행할 수 있다. 예를 들어, 최소 비용 액세스 결정은 리퍼럴 요구에 제공된 사이트와 타겟 파일 레플리카를 포함하는 최근접 저장 서버 사이의 지리학적 거리에 기초하여 행해질 수 있다. 다른 실시예에서, 최소 비용 액세스 결정은 클라이언트 디바이스(160)가 타겟 파일 레플리카에 액세스하게 하기 위해 순회하도록 요구되는 통신 링크의 비용에 기초하여 행해질 수 있다. 예를 들어, 실시예에서, 클라이언트 디바이스(160)는 사이트(103)에서 저장 서버(150) 상에 저장된 레플리카에 액세스하기 위해, 게이트웨이 서버(125)와 같은 게이트웨이 서버로부터 분리되고, 게이트웨이 서버(140)와 같은 다른 게이트웨이 서버에 재접속될 수 있다.
실시예에서, 도 1에 설명된 시스템은 클라이언트 디바이스가 기업 네트워크(109)를 위한 다양한 상이한 액세스 포인트에 대해 접속, 분리 및 재접속하는 것을 허용한다. 예를 들어, 클라이언트 디바이스(160)는 피고용인이 메인 사무실에서 업무하는 동안 사이트(101)에서 로컬 접속 디바이스로서 먼저 접속될 수 있다. 피고용인은 이어서 퇴근하여 클라이언트 디바이스를 가정으로 가져가고, 여기서 피고용인이 재차 로그온할 때, 클라이언트 디바이스(160)가 게이트웨이 디바이스(120)에 접속한다. 클라이언트 디바이스(160)는 이어서 예를 들어 게이트웨이 서버(120)로부터 또는 로컬 저장 장치 또는 다른 액세스 가능 저장 위치로부터 게이트웨이 서버(120)의 사이트 식별자를 얻는다. 클라이언트 디바이스(160)가 접속되는 동안 리퍼럴 요구는 사이트(101)에 위치된 클라이언트에 대해 최적화된 피요구 객체에 대한 리퍼럴을 수신하기 위해 전술된 방식으로 게이트웨이 서버(120)의 사이트 식별자를 사용한다. 상기 예를 계속하면, 피고용인은 그녀의 클라이언트 디바이스를 최대 절전 모드로 하고 이어서 유럽으로 여행하여 그녀의 호텔룸으로부터 작업하는 것으로 가정한다. 클라이언트 디바이스(160)는 최대 절전 모드에서 해제될 때, 이것이 게이트웨이 서버(125)에 더 근접해 있다는 것을 발견한다. 이에 따라, 클라이언트 디바이스(160)는 게이트웨이 서버(125)와의 신규 접속을 설정하고, 예를 들어 게이트웨이 서버(125)로부터 또는 로컬 저장 장치 또는 다른 액세스 가능한 저장 위치로부터 게이트웨이 서버(125)를 위한 사이트 식별자를 얻는다. 객체 리퍼럴을 위한 후속의 요구는 이어서 수신된 리퍼럴이 사이트(102)에 접속된 클라이언트에 대해 최적화되도록 게이트웨이 서버(125)의 사이트 식별자를 사용할 것이다. 실시예에서, 신규 사이트 식별자가 수신될 때마다[예를 들어, 클라이언트 디바이스가 최대 절전 모드에서 해제되어 게이트웨이 서버(125)에 재접속될 때], 네트워크 액세스 클라이언트 프로그램(165)은 클라이언트 디바이스 파라미터(170)의 이전에 설정된 사이트 식별자를 신규 사이트 식별자로 덮어쓴다. 게다가, 실시예에서, 객체-리퍼럴 클라이언트 프로그램(175)은 클라이언트 디바이스 파라미터(170)에 저장된 사이트 식별자에 대한 변경이 행해질 때마다 경고한다.
본 출원에 개시된 파일 복제 및 리퍼럴은 실시예에서, 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션에 의해 제공된 분산형 파일 시스템(DFS) 서비스를 사용하여 성취될 수 있다. DFS는 복제 및 복제된 파일에 대한 리퍼럴을 수행하기 위해 다수의 관련 프로토콜을 이용한다. 예를 들어, 파일 복제는 마이크로소프트 코포레이션으로부터 입수 가능한 분산형 파일 시스템 복제 프로토콜 사양(MS-FRS2)을 사용하여 성취될 수 있다. 게다가, 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션으로부터 입수 가능한 분산형 파일 시스템(DFS) 리퍼럴 프로토콜 사양(DFS 리퍼럴)은 파일 시스템 클라이언트가 공유를 위해 DFS 경로(또는 가상 명칭)를 사용하여 원격 파일 공유에 액세스할 수 있게 하고, 이는 이어서 실제 파일 서버 상의 실제 공유 명칭으로 투명하게 확정된다. 예를 들어, DFS는 상이한 파일 서버[저장 서버(107, 135, 150)와 같은] 상에 위치된 공유의 세트의 통합된 네임스페이스로의 그룹화를 가능하게 할 수 있다. DFS가 없이, 서버 메시지 블록(SMB) 및 서버 메시지 블록 버전 2(SMB2)와 같은 네트워크 파일 시스템의 사용자들은 이들이 액세스를 필요로 하는 모든 파일 서버의 명칭 및 이들 파일 서버에 상주하는 파일을 인지하도록 요구된다. DFS 리퍼럴에 의해, 사용자는 데이터를 호스팅하는 개별 파일 서버 및 공유의 명칭의 인지 없이 파일 및 폴더에 액세스하기 위해 통합된 네임스페이스를 네비게이팅할 수 있다.
DFS 리퍼럴은 2개의 유형의 네임스페이스, 즉 높은 이용 가능성 및 부하 조절을 제공하는 도메인-기반 네임스페이스 및 단일 DFS 루트 타겟 서버에 상주하고 도메인 인프라구조를 필요로 하지 않는 자립형 네임스페이스를 지원한다. 자립형 DFS 네임스페이스에서, 클라이언트는 루트 리퍼럴 요구를 발행하고 DFS 루트 타겟 서버에 직접 리퍼럴 요구를 링크한다. 도 1과 관련하여 설명된 실시예는 자립형 DFS 네임스페이스를 사용하여 생성될 수 있다. 예를 들어, 객체-리퍼럴 클라이언트 프로그램(175)은 DFS 클라이언트 애플리케이션을 포함할 수 있고, 객체-리퍼럴 서버(115)는 파일 서버[저장 서버(107, 135, 150)와 같은] 상에 위치된 기업 네트워크(109) 내의 모든 복제된 파일을 위한 리퍼럴을 발행하는 자립형 DFS 네임스페이스 서버를 포함할 수 있다. 도 1의 예에서, 객체-리퍼럴 서버(115)는 단일 네임스페이스의 부분인 모든 저장 서버(107, 135, 150) 내의 타겟 파일에 대한 리퍼럴을 제공한다.
도 2는 도 1에 도시된 실시예와 유사하지만, 다중 객체-리퍼럴 서버(215, 227, 247)가 이용되는 실시예를 도시한다. 이 실시예에서, 각각의 사이트(201, 202, 203)는 그 자신의 디렉토리 서버(222, 228, 248)를 각각 갖는다. 디렉토리 서버(222, 228, 248)는 이 예시적인 실시예에서, 객체-리퍼럴 서버(215, 227, 247)를 위한 로케이터를 포함할 수 있다.
이 예에서, 사이트(201)는 WAN 링크(204, 205)를 사용하여 양 사이트(202, 203)에 접속된다. 이와 함께, 사이트(201, 202, 203) 및 WAN 링크(204, 205)는 법인을 위한 인트라넷과 같은 예시적인 기업 네트워크(209)를 포함할 수 있다. 도 1과 유사하게, 도 2의 사이트(201, 202, 203)는 동일하지 않고, 각각은 개별 네임스페이스를 포함할 수 있다. 예를 들어, 사이트(201)는 법인과 같은 기업체의 "가정 사무실"일 수 있다. 사이트(202, 203)는 기업의 위성 사무실일 수 있다. 도시된 예시적인 실시예에서, 사이트(201)는 저장 서버(207), 로컬 접속 클라이언트 디바이스(210), 객체-리퍼럴 서버(215), 게이트웨이 서버(220) 및 디렉토리 서버(222)를 포함하고, 이들 모두는 예를 들어 사이트(201) 내의 근거리 통신망을 사용하여 서로 동작 가능하게 접속된다.
사이트(202)는 게이트웨이 서버(225), 로컬 접속 클라이언트 디바이스(230), 객체-리퍼럴 서버(227), 디렉토리 서버(228) 및 저장 서버(235)를 포함하고, 이들 모두는 예를 들어 사이트(202) 내의 근거리 통신망을 사용하여 서로 동작 가능하게 접속된다. 유사하게, 사이트(203)는 게이트웨이 서버(240), 로컬 접속 클라이언트 디바이스(245), 객체-리퍼럴 서버(247), 디렉토리 서버(248) 및 저장 서버(250)를 포함하고, 이들 모두는 예를 들어 사이트(203) 내의 근거리 통신망을 사용하여 서로 동작 가능하게 접속된다.
실시예에서, 저장 서버(207, 235, 250)는 포탈, 인트라넷 웹사이트, 설치 가능 소프트웨어 및 다른 문서와 같은 파일을 저장한다. 임의의 이러한 파일은 또한 본 명세서에서 "객체"라 칭할 수 있다. 게다가, 본 명세서 더 설명되는 바와 같이, 객체-리퍼럴 서버(215, 227, 247)는 또한 리퍼럴이 이루어지는 "객체"로 고려될 수도 있다. 실시예에서 하나의 저장 서버에 저장된 파일들의 일부는 예를 들어 DFSR을 사용하여 하나 이상의 다른 저장 서버에 복제될 수 있다. 실시예에서, 특정 파일은 각각의 사이트(201, 202, 203)에서 로컬 접속 클라이언트(210, 230, 245)가 파일의 로컬 카피에 액세스할 수 있도록 복제된다.
본 발명은 다중 객체-리퍼럴 서버 및 디렉토리 서버를 갖는 분산형 파일 시스템에서 복제된 파일로의 사이트-인식 리퍼럴을 수신하기 위해 원격 접속 클라이언트를 위한 시스템 및 방법을 제공한다. 예를 들어, 도 2를 재차 참조하면, 클라이언트 디바이스(260)가 게이트웨이 서버(225)를 통해 기업 네트워크(209)에 원격으로 접속된다. 게이트웨이 서버(225)[및 게이트웨이 서버(207, 240)]는 클라이언트(260)와 같은 원격 클라이언트가 인터넷과 같은 공개 네트워크(206)를 통해 기업 네트워크(209)에 접속하는 것을 허용하는 서버를 포함할 수 있다. 실시예에서, 게이트웨이 서버(225)는 DIRECTACCESS 서버를 포함한다. 클라이언트 디바이스(260)는 예를 들어 IPv6 프로토콜을 사용하여 게이트웨이 서버(225)에 보안 접속될 수 있다. 상호 인증 및 NAP 검사가 완료된 후에, IPsec 터널이 클라이언트 디바이스(260)와 게이트웨이 서버(225) 사이에 설정된다. 실시예에서, 클라이언트 디바이스(260)는 초기에 클라이언트 디바이스(260)에 지리학적으로 가장 근접한 게이트웨이 서버에 접속된다.
예를 들어, 클라이언트 디바이스(260)의 사용자가 도 2에 사이트(201)에 의해 표현되어 있는 기업의 가정 사무실의 일원인 것으로 가정한다. 사용자는 통상적으로 가정 사무실에 있을 때 사이트(201)에 로컬 접속한다. 이 예에서, 사이트(201)는 미국 뉴욕주 뉴욕시인 것으로 가정한다. 그러나, 사용자는 유럽에서 클라이언트 디바이스(160)를 갖고 여행중이다. 사이트(202)는 영국 런던이고, 클라이언트 디바이스(260)는 현재 독일 베를린의 호텔에서 사용자가 갖고 있다. 사용자가 클라이언트 디바이스(260)에 로그온할 때, 클라이언트 디바이스(260)는 이 경우에 사이트(202)의 게이트웨이 서버(225)인 가장 근접한 게이트웨이 서버를 통해 기업 네트워크(209)에 접속한다.
게이트웨이 서버(225)에 접속시에, 클라이언트 디바이스(260)는 게이트웨이 서버(225)를 위한 사이트 식별자를 게이트웨이 서버(225)로부터 수신한다. 실시예에서, 클라이언트 디바이스(260)는 게이트웨이 서버(225)에 접속에 앞서 게이트웨이 서버(225)를 위한 사이트 식별자를 수신할 수 있다. 예를 들어, 클라이언트 디바이스(260)는 기업 네트워크(209) 내의 모든 게이트웨이 서버(220, 225, 240)의 사이트 식별자와 프리-프로비져닝될 수 있다. 사이트 식별자는 예를 들어 기업 네트워크(209)에 의해 할당되어 있는 게이트웨이 서버(225)의 IP 어드레스(서브넷 마스크를 갖거나 갖지 않는)를 포함할 수 있다. 다른 실시예에서, 사이트 식별자는 "런던"과 같은 사이트(202)를 위한 확정된 사이트명을 포함할 수 있다.
실시예에서, 클라이언트 디바이스(260) 상에서 실행하는 네트워크 액세스 클라이언트 프로그램(265)은 기업 네트워크(209)로의 접속을 협상하기 위해 메시지의 교환 중에 사이트 식별자를 수신한다. 전술된 바와 같이, 다른 실시예에서, 게이트웨이(225)를 위한 사이트 식별자는 클라이언트 디바이스(260)에 미리 공지되고, 네트워크 액세스 클라이언트 프로그램(265)은 클라이언트 디바이스(260) 상의 로컬 저장 장치로부터 또는 다른 액세스 가능한 저장 위치로부터 사이트 식별자를 얻는다. 일단 사이트 식별자가 게이트웨이(225)로부터 얻어지면, 네트워크 액세스 클라이언트 프로그램(265)은 클라이언트 디바이스 파라미터(270) 내에 사이트 식별자를 기입한다. 실시예에서, 클라이언트 디바이스 파라미터(270)로의 변경은 통지가 클라이언트 디바이스(260) 상에서 실행하는 객체-리퍼럴 클라이언트 프로그램(275)에 송신되게 한다. 객체-리퍼럴 클라이언트 프로그램(275)은 클라이언트 디바이스 파라미터(270)로부터 사이트 식별자를 판독하고, 기업 네트워크(209) 내의 객체 리퍼럴을 위해 미래 요구에서 사이트 식별자를 사용한다. 실제로, 클라이언트 디바이스(260)는 이것이 접속되는 게이트웨이 서버(225)로부터 사이트(202)를 채택한다.
클라이언트 디바이스(260)는 다음에 그 레플리카가 양 저장 서버(235, 207) 상에 존재하는 타겟 파일에 액세스하려고 시도한다. 상기 예를 계속하면, 객체-리퍼럴 클라이언트 프로그램(275)은 타겟 파일의 네임스페이스를 위해 적절한 디렉토리 서버의 리스트를 위한 도메인명 시스템(DNS) 서버(도시 생략)에 요구를 송신한다. 이 예에서, 객체-리퍼럴 프로그램(275)은 디렉토리 서버(228)를 위한 어드레스를 수신한다. 객체-리퍼럴 클라이언트 프로그램(275)은 객체-리퍼럴 서버로의 최소 비용 액세스를 위해 디렉토리 서버(228)에 리퍼럴 요구를 송신한다. 리퍼럴 요구는 게이트웨이 서버(225)를 위한 얻어진 사이트 식별자의 명시적 선언을 포함한다. 디렉토리 서버(228)는 이러한 객체-리퍼럴 서버로의 최소 비용 액세스에 기초하여 객체-리퍼럴 서버의 순서화된 리스트를 반환할 수 있다. 이 예에서, 디렉토리 서버(228)는 사이트(202)에서 객체-리퍼럴 서버(227)로의 리퍼럴을 포함하는 객체-리퍼럴 서버로의 리퍼럴의 순서화된 리스트를 반환한다. 실시예에서, 디렉토리 서버(228)와 같은 디렉토리 서버는 객체-리퍼럴 서버(227)와 같은 객체로의 리퍼럴을 제공하기 위한 객체-리퍼럴 서버로서 작용한다.
객체-리퍼럴 클라이언트 프로그램(275)은 이어서 객체-리퍼럴 서버(227)로부터 특정 파일을 위한 리퍼럴을 요구한다. 리퍼럴 요구는 게이트웨이 서버(225)로부터 수신된 사이트 식별자를 포함한다. 객체-리퍼럴 서버(227)는 피요구 타겟 파일에 대한 하나 이상의 리퍼럴의 리스트를 생성한다. 이 예에서, 타겟 파일은 양 저장 서버(207) 및 저장 서버(235) 상에 레플리카를 포함한다. 클라이언트 디바이스(260)는 리퍼럴 요구에 사이트 식별자를 제공하기 때문에, 객체-리퍼럴 서버는 사이트 식별자에 의해 식별된 사이트[이 예에서, 사이트(202)]로부터 타겟 파일에 대한 최소 비용 리퍼럴을 결정한다. 이에 따라, 타겟 파일이 사이트(202) 내에 있는 저장 서버(235) 상에서 이용 가능하기 때문에, 객체-리퍼럴 서버(227)는 타겟 파일에 대한 최소 비용 액세스가 저장 서버(235) 상에 저장된 레플리카를 경유하는 것으로 결정할 수 있다. 이에 따라, 객체-리퍼럴 서버(227)는 클라이언트 디바이스(260)에 반환된 리퍼럴의 리스트에서 먼저 저장 서버(235) 상의 레플리카에 대한 리퍼럴을 순서화한다. 객체-리퍼럴 서버(227)는 또한 실시예에서, 저장 서버(235)가 이용 불가능하거나 동작 불가능한 경우에, 저장 서버(207) 상에 타겟 파일의 레플리카에 대한 리퍼럴을 반환한다. 저장 서버(207) 상의 타겟 파일의 레플리카에 대한 리퍼럴은 이 예에서 저장 서버(235) 상의 레플리카에 대한 리퍼럴 후에 순서화될 것이다. 설명된 바와 같이, 실시예에서, 클라이언트 디바이스(260)에 대한 객체-리퍼럴 서버(227)에 의해 제공된 리퍼럴은 타겟 파일(들)의 각각의 레플리카로의 파일-시스템 경로를 포함할 수 있다.
실시예에서, 객체-리퍼럴 서버(227)는 다양한 팩터에 기초하여 최소 비용 액세스 결정을 행할 수 있다. 예를 들어, 최소 비용 액세스 결정은 리퍼럴 요구에 제공된 사이트와 타겟 파일 레플리카를 포함하는 최근접 저장 서버 사이의 지리학적 거리에 기초하여 행해질 수 있다. 다른 실시예에서, 최소 비용 액세스 결정은 클라이언트 디바이스(260)가 타겟 파일 레플리카에 액세스하게 하기 위해 순회하도록 요구되는 통신 링크의 비용에 기초하여 행해질 수 있다. 예를 들어, 실시예에서, 클라이언트 디바이스(260)는 사이트(201)에서 저장 서버(207) 상에 저장된 레플리카에 액세스하기 위해, 게이트웨이 서버(225)와 같은 게이트웨이 서버로부터 분리되고, 게이트웨이 서버(220)와 같은 다른 게이트웨이 서버에 재접속될 수 있다.
윈도우즈 운영 체제 및 DFS 리퍼럴을 사용하는 도메인-기반 네임스페이스를 이용하는 실시예에서, 클라이언트[클라이언트(260)와 같은]는 도메인의 존재 및 DFS 네임스페이스의 존재를 발견하기 위해 도메인 컨트롤러(DC)[디렉토리 서버(228)와 같은]에 DFS 리퍼럴을 발행한다. 클라이언트는 특정 DFS 네임스페이스를 호스팅하는 DFS 루트 타겟 서버[객체-리퍼럴 서버(227)와 같은]를 발견하기 위해 DC에 리퍼럴 요구를 발행한다. 클라이언트는 또한 DFS 네임스페이스를 호스팅하는 다른 DFS 루트 타겟 서버[객체-리퍼럴 서버(215)와 같은]를 발견하기 위해 DFS 루트 타겟 서버에 리퍼럴 요구를 발행할 수 있다. 클라이언트는 파일 서버[저장 서버(207, 235, 250)와 같은] 상의 파일과 같은 DFS 링크 타겟의 위치를 발견하기 위해 DFS 루트 타겟 서버에 리퍼럴 요구를 발행한다. DFS 경로의 구성 요소들이 특정 타겟으로 확정된 후에, 클라이언트는 이어서 그 서버에 대한 적절한 원격 파일 시스템 프로토콜을 사용하여 파일 서버에 직접 파일 시스템 요구를 발행한다.
도 1 및 도 2에 설명된 실시예에서, 리퍼럴 요구를 위해 사용된 기초 전송 프로토콜은 애플리케이션-계층 네트워크 프로토콜을 포함할 수 있다. 예를 들어, DFS 리퍼럴을 사용하는 실시예에서, 서버 메시지 블록(SMB) 프로토콜 또는 서버 메시지 블록 버전 2(SMB2) 프로토콜이 전송 계층으로서 사용될 수 있다. DFS 리퍼럴은 SMB 및 SMB2 파일 시스템 클라이언트가 다수의 서버 및 지리를 가로질러 분산된 네임스페이스로부터 명칭을 특정 파일 서버 상의 로컬 명칭으로 확정하게 한다. 명칭이 확정된 후에, 클라이언트는 SMB 프로토콜, SMB 버전 2.0 프로토콜 및 NFS 프로토콜과 같은 파일 시스템 프로토콜을 사용하여 식별된 서버 상에 파일을 직접 액세스할 수 있다.
도 3은 도 1과 관련하여 설명된 시스템과 같은 분산형 파일 시스템 상에 위치된 파일로의 최소 비용 액세스를 얻기 위한 방법(300)을 도시한다. 이해될 수 있는 바와 같이, 본 명세서의 임의의 방법에 대해 설명된 특정 단계 및 방법은 한정적인 것은 아니고, 당 기술 분야의 숙련자들에 의해 이해될 수 있는 바와 같이, 본 명세서에 설명된 바와 같은 단계의 특정 순서화는 방법을 한정하도록 의도된 것은 아닌데, 예를 들어 단계들은 다른 순서로 수행될 수 있고, 부가의 단계가 수행될 수 있고, 개시된 단계들은 본 발명의 사상으로부터 벗어나지 않고 배제될 수도 있다.
방법(300)은 클라이언트 디바이스(160)와 같은 원격 클라이언트를 게이트웨이 서버(125)와 같은 제 1 게이트웨이 서버에 접속함으로써(310) 시작한다. 실시예에서, 이는 클라이언트 디바이스 상에 설치된 네트워크 액세스 클라이언트 프로그램(165)과 같은 네트워크 액세스 클라이언트 프로그램을 사용하여 성취된다. 방법(300)은 단계 320으로 계속되고, 여기서 제 1 사이트 식별자가 얻어진다. 실시예에서, 클라이언트 디바이스는 게이트웨이 서버로의 접속 후에 게이트웨이 서버를 위한 사이트 식별자를 수신할 수 있다. 다른 실시예에서, 게이트웨이 서버를 위한 사이트 식별자는 게이트웨이 서버에 접속에 앞서 수신되어 클라이언트 디바이스에 로컬 저장될 수 있고, 로컬 저장 장치 또는 다른 액세스 가능한 저장 위치로부터 사이트 식별자를 검색함으로써 얻어질 수 있다. 예를 들어, 클라이언트 디바이스는 기업 네트워크의 모든 게이트웨이 서버의 사이트 식별자로 프리-프로비져닝될 수 있다. 실시예에서, 수신된 사이트 식별자는 게이트웨이 서버를 위한 IP 어드레스(서브넷 마스크를 갖거나 갖지 않는)를 포함할 수 있다. 다른 실시예에서, 사이트 식별자는 완전 확정된 사이트명을 포함할 수 있다.
방법(300)은 단계 330으로 계속되고, 여기서 제 1 사이트 식별자가 클라이언트 디바이스의 클라이언트 파라미터에 저장된다. 예를 들어, 클라이언트가 마이크로소프트 윈도우즈 운영 체제를 사용하는 실시예에서, 단계 330은 클라이언트 디바이스의 레지스트리 키를 설정하는 것을 포함할 수 있다. 예를 들어, 사이트 식별자는 Netlogon에 의해 유지된 SiteName 레지스트리 키에 지속될 수 있다. 이 레지스트리 키의 상세는 이하에 제공된다.
키 명칭: SiteName
경로: HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
이 레지스트리 키는 클라이언트 디바이스가 이것이 위치되어 있는 것을 어서트하는 사이트를 결정할 수 있다. 네트워크 액세스 클라이언트 프로그램은 일단 게이트웨이 서버로부터 사이트명을 수신하면 Netlogon에 의해 유지된 SiteName 레지스트리 키를 파퓰레이팅한다. 게다가, 실시예에서, SiteName 레지스트리 키를 설정하는 것은 클라이언트 디바이스 상의 객체-리퍼럴 클라이언트 프로그램이 원격 네트워크 접속이 설정되어 있는 것을 경고하게 할 수 있다. 다른 실시예에서, 객체-리퍼럴 클라이언트 프로그램은 네트워크 리스트 관리자 인프라구조로 레지스터할 수 있고, 클라이언트 디바이스가 네트워크에 원격 접속되는 것을 결정하도록 사이트 접속성 플래그를 검사할 수 있다.
클라이언트 디바이스가 게이트웨이로부터 분리될 때, 사이트 식별자는 클라이언트 파라미터로부터 삭제될 수 있고 그리고/또는 접속성 플래그는 클라이언트 디바이스가 게이트웨이 서버의 사이트에 더 이상 속하지 않는다는 것을 객체-리퍼럴 클라이언트 프로그램에 통지하도록 리셋될 수 있다. 게다가, 클라이언트 디바이스가 게이트웨이 서버로부터 분리되고 다른 게이트웨이 서버에 재접속되면, 신규 게이트웨이 서버의 사이트 식별자는 클라이언트 디바이스가 원격 접속되는 신규 사이트의 객체-리퍼럴 클라이언트 프로그램에 경고하도록 클라이언트 파라미터에 삽입될 수 있다. 대안적으로, 객체-리퍼럴 클라이언트 프로그램은 클라이언트 파라미터에 저장된 사이트 식별자가 변경될 때마다 또는 클라이언트 디바이스에 의한 원격 접속성의 상황이 변경될 때 통지를 수신하도록 클라이언트 디바이스 상에 응용 프로그래밍 인터페이스(API)로 레지스터할 수 있다. 예를 들어, 이하의 상황 중 임의의 하나가 클라이언트 파라미터에 저장된 사이트명에 반영된 클라이언트 디바이스의 사이트의 변경을 유발할 수 있는데, 이들 상황은 (a) 클라이언트 디바이스가 사이트의 근거리 통신망(LAN)에 접속된 후에 게이트웨이 서버에 접속하는 것(예를 들어, 해외 여행중인 피고용인이 사이트의 LAN에 접속할 때 그녀의 랩탑을 최대 절전 모드로 하고 이어서 랩탑을 재시작하고 다른 사이트의 게이트웨이 서버에 접속함), (b) 클라이언트 디바이스가 소정 시간 기간 동안 게이트웨이 서버로부터 접속 후에 기업 네트워크에 재참가하는 것(예를 들어, 해외 여행중인 피고용인이 호텔룸으로부터 원격으로 작업하고, 랩탑을 최대 절전 모드로 하고, 이어서 사이트의 LAN에 직접 접속될 때 랩탑을 재시작함), 또는 (c) 클라이언트 디바이스가 다른 게이트웨이 서버 및 사이트에 접속하는 것(예를 들어, 피고용인이 상이한 사이트 근처에서 여행함)(예를 들어, 피고용인이 가정으로부터 로컬 게이트웨이 서버로 접속할 때 랩탑이 최대 절전 모드로 되고 랩탑은 그 후에 재시작되고 상이한 사이트에서 다른 게이트웨이 서버에 접속됨)이다.
단계 340에서, 사이트 식별자가 검색된다. 실시예에서, 이는 클라이언트 디바이스 상에 저장된 클라이언트 파라미터로부터 사이트 식별자를 검색하는 객체-리퍼럴 클라이언트 프로그램을 포함할 수 있다. 예를 들어, 사이트-인식 리퍼럴 요구를 행하기 위해, 객체-리퍼럴 클라이언트 프로그램은 클라이언트 디바이스가 접속되는 현재 사이트로 복귀하는 디렉토리 서비스 응용 프로그래밍 인터페이스(API)를 호출할 수 있다. 실시예에서, 이러한 API는 통상적으로 사이트를 동적으로 결정하도록 구성될 수 있지만, 사이트 식별자가 클라이언트 파라미터에 명시적으로 설정되어 있을 때(단계 330에서와 같이), 명시적으로 설정된 클라이언트 파라미터의 값은 동적으로 결정된 사이트를 오버라이드할 수 있다.
단계 350에서, 사이트-인식 리퍼럴 요구가 객체-리퍼럴 서버에 송신된다. 리퍼럴 요구는 단계 340에서 검색된 사이트 식별자를 포함한다. 실시예에서, 리퍼럴 요구는 액세스가 추구되는 타겟 객체 또는 파일을 포함한다. 비한정적 예로서, 이하는 DFS 리퍼럴을 참조하여 일 가능한 리퍼럴 요구를 설명한다.
DFS 리퍼럴 프로토콜은 리퍼럴 요구를 행하기 위해 규정된 메시지, REQ_GET_DFS_REFERRAL을 제공한다. 이 REQ_GET_DFS_REFERRAL 메시지는 SMB 및 SMB2가 전송 프로토콜로서 각각 사용될 때, SMB_COM_TRANSACTION2 메시지 및 FSCTL_DFS_GET_REFERRALS IOCTL 상에서 이동하는 페이로드이다. 그러나, REQ_GET_DFS_REFERRAL 메시지는 사이트-인식 리퍼럴을 수신하기 위해, 클라이언트 컴퓨터가 객체-리퍼럴 서버를 가로질러 그 사이트명을 송신하게 하기 위한 방식을 제공하지 않는다.
따라서, REQ_GET_DFS_REFERRAL_EX라 칭하는 신규한 유형의 리퍼럴 요구 메시지가 원격 접속 클라이언트 디바이스[클라이언트 디바이스(160)와 같은]가 이것이 리퍼럴을 요구하는 타겟 파일 경로에 추가하여, 객체-리퍼럴 서버를 가로질러 게이트웨이 서버로부터 얻어진 사이트명을 송신하는 것을 가능하게 하는데 사용될 수 있다. 이 메시지는 이하에 설명되는 바와 같이 SMB2에 추가될 수 있는 신규한 FSCTL_DFS_GET_REFERRALS_EX IOCTL 상의 페이로드일 수 있다. 이 예에서 REQ_GET_DFS_REFERRAL_EX라 칭하는 사이트-인식 리퍼럴 요구의 메시지 및 패킷 포맷 및 그 응답이 이하에 지정된다. 예를 들어, 사이트-인식 리퍼럴 요구를 위한 가능한 메시지 포맷은 이하를 포함한다.
Figure pct00004
전술된 예시적인 메시지 포맷에서, Max Referral Level은 클라이언트 디바이스에 의해 이해된 최고 DFS 리퍼럴 버전을 지시하는 16-비트 정수를 포함한다. RequestFlags는 일련의 플래그를 표현하는 16-비트 필드를 포함한다. 플래그 내의 각각의 비트는 이어지는 요구 버퍼 내의 필드의 존재를 지시하기 위해 설정된다. 이 예에서, 단지 SiteName 비트만이 규정되어 사용된다. 'SiteName' 비트는 패킷이 리퍼럴을 요구하는 클라이언트 디바이스의 사이트 식별자를 포함하면 1로 설정된다. RequestDataLength는 리퍼럴 요구를 수반하는 데이터의 길이를 지정하는 32-비트 정수를 포함한다. 리퍼럴 요구를 수반하는 데이터(RequestData)의 포맷은 RequestFlags 필드의 비트 세트에 따라 해석된다. RequestData는 길이 RequestDataLength의 버퍼를 포함하고, DFS Namespace 서버로부터 요구되는 리퍼럴에 특정한 정보를 포함한다.
비한정적 실시예에서, REQ_GET_DFS_REFERRAL_EX 리퍼럴 요구의 RequestData 부분은 이하를 포함할 수 있다.
Figure pct00005
이 예에서, RequestFileNameLength는 리퍼럴 요구 내의 RequestFileName 스트링의 길이를 지정하는 16-비트 정수값을 포함한다. RequestFileName은 확정될 경로를 지정하는 널 종료된 UNICODE 스트링을 포함할 수 있다. 필드의 순서는 구현예 특정적이고, 실시예에서 포맷은 클라이언트 디바이스에 의해 행해지는 리퍼럴 요구의 유형에 의존할 수 있다.
· 도메인 리퍼럴: 경로는 비어 있는 스트링(단지 널 종료자만을 포함함)일 수 있다. 클라이언트는 도메인 리퍼럴 요구에 대해 DFS 리퍼럴 버전 3 또는 그 이후 버전을 사용할 수 있다.
· 디렉토리 서버 리퍼럴: 경로는 "\<domain>" 또는 "<domain>"일 수 있고, 여기서 <domain>은 NetBIOS 또는 완전 지정된 도메인명 형태일 수 있는 도메인명이다. 응답 경로의 포맷은 요구 경로의 포맷에 정합할 수 있다. 예를 들어, 요구 경로가 NetBIOS 형태이면, 응답 경로는 또한 NetBIOS 형태일 수 있다. 클라이언트는 도메인 컨트롤러 리퍼럴 요구를 위해 DFS 리퍼럴 버전 3 또는 그 이후 버전을 사용할 수 있다.
· Sysvol 리퍼럴: 경로는 "\<domain>\SYSVOL" 또는 \<domain>\NETLOGON"일 수 있고, 여기서 <domain>은 NetBIOS 또는 완전 지정된 도메인명 형태일 수 있는 도메인명이다. 응답 경로의 포맷은 요구 경로의 포맷에 정합할 수 있다. 예를 들어, 요구 경로가 NetBIOS 형태이면, 응답 경로는 또한 NetBIOS 형태일 수 있다. 클라이언트는 sysvol 리퍼럴 요구를 위해 DFS 리퍼럴 버전 3 또는 그 이후 버전을 사용할 수 있다.
· 루트 리퍼럴: 경로는 형태 "\<domain>\<dfsname>" 또는 형태 "\<server>\<dfsname>"일 수 있고, 여기서 <domain>은 DFS 네임스페이스를 호스팅하는 도메인의 명칭이고, <dfsname>은 DFS 네임스페이스의 명칭이고, <server>는 DFS 루트 타겟 호스트명이다. NetBIOS 및 완전 지정된 도메인명이 지원될 수 있다.
· 링크 리퍼럴: 경로는 형태 "\<domain>\<dfsname>\<linkpath>" 또는 형태 "\<server>\<dfsname>\<linkpath>"일 수 있고, 여기서 <domain>은 DFS 네임스페이스를 호스팅하는 도메인의 명칭이고, <dfsname>은 DFS 네임스페이스의 명칭이고, <server>는 DFS 루트 타겟 호스트명이고, <linkpath>는 DFS 링크를 가질 수 있는 경로이다. NetBIOS 및 완전 지정된 도메인명이 지원될 수 있다.
이 예에서, SiteNameLength는 리퍼럴 요구에 SiteName 스트링의 길이를 지정하는 32-비트 정수값을 포함할 수 있다. 유사하게, SiteName은 전술된 바와 같이 클라이언트 디바이스가 접속되는 게이트웨이 서버의 얻어진 사이트 식별자와 같은 사이트 식별자를 지정하는 널 종료된 UNICODE 스트링을 포함할 수 있다. 설명된 바와 같이, 실시예에서, 이 게이트웨이 서버가 속하는 사이트의 사이트명이다. 다른 실시예에서, 사이트 식별자는 클라이언트 디바이스가 접속되는 게이트웨이 서버의 IP 어드레스를 포함할 수 있고, 이 경우에 전술된 패킷 구조는 사이트명에 추가하여 또는 그 대신에 게이트웨이 서버의 IP 어드레스를 수용하도록 변경될 것이다. 이 스트링의 길이는 SiteNameLength 필드의 값에 의해 결정된다.
본 발명에 의해 고려되는 리퍼럴 요구를 수용하기 위해, 기초 전송 프로토콜은 보정될 필요가 있을 수 있다. 예를 들어, SMB2가 전술된 예시적인 REQ_GET_DFS_REFERRAL_EX 리퍼럴 요구를 지원하기 위한 기초 전송 프로토콜로서 사용되는 정도로, SMB2는 이하와 같이 보정될 필요가 있을 수 있다. 이 예에서, FSCTL_DFS_GET_REFERRAL_EX라 칭하는 신규한 SMB IOCTL이 규정된다. 객체-리퍼럴 클라이언트 프로그램은 REQ_GET_DFS_REFERRAL_EX 메시지 구조를 필링하고, FSCTL_DFS_GET_REFERRAL_EX IOCTL을 SMB2에 발행한다. IOCTL의 페이로드는 클라이언트 컴퓨터의 IP 어드레스(리퍼럴을 요구하는 DFS 네임스페이스 클라이언트)와 함께, 객체-리퍼럴 서버(드라이버)에 SMB에 의해 전달된다.
도 3을 재차 참조하면, 단계 360에서, 순서화된 객체 리퍼럴이 수신된다. 실시예에서, 원격 클라이언트 디바이스 상에서 동작하는 객체-리퍼럴 클라이언트 프로그램은 단계 350에서 행해진 리퍼럴 요구에 응답하여 객체-리퍼럴 서버로부터 순서화된 리퍼럴을 수신할 수 있다. 실시예에서, 객체 리퍼럴은 RESP_GET_DFS_REFERRAL 메시지와 같은 DFS 리퍼럴 메시지에 수신될 수 있다.
방법(300)은 단계 370으로 계속되고, 여기서 타겟 객체 또는 파일이 단계 360에서 수신된 객체 리퍼럴 중 하나 이상을 사용하여 액세스된다. 예를 들어, 수신된 객체 리퍼럴(들)이 공유된 저장 서버 상의 하나 이상의 파일 레플리카로의 경로를 포함할 때, 클라이언트 디바이스는 수신된 객체 리퍼럴을 사용하여 이러한 레플리카(들)를 검색하기 위해 요구를 발행할 수 있다. 예를 들어, 클라이언트 디바이스는 최초-순서화된 객체 리퍼럴을 사용하려고 시도할 수 있고, 이것이 실패하면, 타겟 객체 또는 파일로의 액세스가 성취될 때까지 다음-순서화된 객체 리퍼럴을 사용한다. 실시예에서, 클라이언트 디바이스는 어느 객체 리퍼럴이 타겟 객체 또는 타일에 액세스하려고 시도하기 위해 먼저 사용되는지를 판정하도록 자체로 객체 리퍼럴을 분류하거나 재순서화할 수 있다.
도 4는 도 2의 예시적인 시스템과 같은 다중 디렉토리 서버 및 객체-리퍼럴 서버를 갖는 시스템 내의 파일로의 최소 비용 액세스를 얻기 위한 방법(400)의 실시예를 도시한다. 단계 410에서, 클라이언트 디바이스(260)에 의해 게이트웨이 서버(225)와 같은 제 1 게이트웨이 서버로의 접속이 행해진다. 방법(400)은 제 1 사이트 식별자가 얻어지는 단계 420으로 진행한다. 설명된 바와 같이, 게이트웨이 서버의 사이트 식별자는 단계 410에서 접속 프로세스의 부분으로서 클라이언트 디바이스에 의해 수신될 수 있다. 다른 실시예에서, 게이트웨이 서버의 사이트 식별자는 로컬 저장 장치 또는 다른 액세스 가능한 저장 위치로부터 사이트 식별자를 검색함으로써 얻어질 수 있다. 실시예에서, 사이트 식별자는 게이트웨이 서버의 IP 어드레스 또는 게이트웨이 서버가 속하는 사이트의 사이트명을 포함한다. 일단 게이트웨이 서버의 사이트 식별자가 얻어지면(420), 방법(400)은 사이트 식별자가 클라이언트 디바이스의 클라이언트 파라미터에 저장되는 단계 430으로 계속된다. 설명된 바와 같이, 클라이언트 디바이스 상에서 동작하는 네트워크 액세스 클라이언트 프로그램은 클라이언트 디바이스 상에 레지스트리 키와 같은 클라이언트 파라미터 세팅에 사이트 식별자를 저장할 수 있다.
단계 440에서, 사이트 식별자가 검색된다. 설명된 바와 같이, 클라이언트 디바이스 상에서 동작하는 객체-리퍼럴 클라이언트 프로그램은 예를 들어 클라이언트 파라미터가 변경되어 있다는 통지를 수신한 후에 사이트 식별자를 검색할 수 있다. 단계 450에서, 하나 이상의 디렉토리 서버(들)가 발견된다. 실시예에서, 클라이언트 디바이스는 특정 타겟 파일의 네임스페이스를 위해 적절한 디렉토리 서버의 리스트를 위한 도메인명 시스템(DNS) 서버에 요구를 송신한다. 일단 디렉토리 서버(들)의 리스트가 수신되면, 흐름은 단계 460으로 진행한다.
단계 460에서, 리퍼럴 요구는 단계 450에서 식별된 디렉토리 서버(들) 중 적어도 하나에 송신된다. 리퍼럴 요구는 단계 440에서 검색된 사이트 식별자를 포함할 수 있다. 이 경우에, 리퍼럴 요구는 타겟 파일에 리퍼럴을 제공하기 위해 적절한 객체-리퍼럴 서버에 대한 리퍼럴을 위한 요구이다. 단계 470에서, 객체-리퍼럴 서버에 대한 순서화된 리퍼럴의 리스트가 수신된다.
단계 480에서, 리퍼럴 요구는 예를 들어 게이트웨이 서버를 통한 클라이언트 디바이스에 의해, 단계 470에서 수신된 리퍼럴에서 식별된 객체-리퍼럴 서버 중 적어도 하나에 송신된다. 실시예에서, 클라이언트 디바이스는 리퍼럴이 단계 4709에서 수신된 리퍼럴의 순서화된 리스트에 열거되어 있는 제1 객체-리퍼럴 서버에 리퍼럴 요구를 송신하려고 시도한다. 이러한 요구가 실패하면, 클라이언트 디바이스는 리퍼럴 요구가 성공적일 때까지 리스트 상에 다음 리퍼럴을 사용하려고 시도한다.
단계 490에서, 객체 리퍼럴의 리스트가 수신된다. 실시예에서, 리퍼럴의 리스트는 액세스의 최소 비용에 따라 순서화된다. 다른 실시예에서, 클라이언트 디바이스는 리퍼럴의 리스트를 갖고 수신되거나 다른 방식으로 클라이언트에 의해 얻어진 정보에 기초하여 리퍼럴을 순서화할 수 있다. 단계 495에서, 타겟 파일 또는 객체는 단계 490에서 수신된 리퍼럴의 리스트를 사용하여 액세스된다. 예를 들어, 클라이언트 디바이스는 최초-순서화된 객체 리퍼럴을 사용하려고 시도할 수 있고, 이것이 실패하면, 타겟 객체 또는 파일로의 액세스가 성취될 때까지 다음-순서화된 객체 리퍼럴을 사용한다.
도 5는 객체-리퍼럴 서버가 클라이언트 디바이스에 대한 순서화된 객체 리퍼럴을 제공하는 방법(500)의 실시예를 도시한다. 실시예에서, 방법(500)은 객체-리퍼럴 서버[객체-리퍼럴 서버(115, 215, 272, 247) 또는 디렉토리 서버(122, 222, 228, 248)와 같은]에 의해 수행될 수 있다. 단계 500에서, 리퍼럴 요구가 수신된다. 실시예에서, 리퍼럴 요구는 요구 클라이언트 디바이스의 사이트를 식별하는 사이트 식별자 및 타겟 객체의 모두를 포함한다. 실시예에서, 타겟 객체는 무엇보다도, 저장 서버 상에 저장된 파일 또는 객체-리퍼럴 서버일 수 있다.
단계 520에서, 리퍼럴을 위한 기준에 부합하는 후보 객체가 결정된다. 예를 들어, 리퍼럴이 요구되는 객체가 분산형 파일 시스템에 저장된 파일을 포함하면, 그 파일의 레플리카는 후보 객체이고, 그 파일의 레플리카의 위치가 결정된다. 단계 530에서, 각각의 후보 객체로의 액세스의 비용이 결정된다. 예를 들어, 실시예에서, 액세스의 비용은 리퍼럴 요구에 포함된 사이트 식별자에 식별된 사이트와 각각의 후보 객체를 저장하는 저장 서버 사이의 지리학적 거리에 기초하여 결정된다. 다른 실시예에서, 더 진보된 비용 결정이 행해진다.
예를 들어, 실시예에서, 단계 510에서 수신된 리퍼럴 요구는 (a) 클라이언트 디바이스가 게이트웨이 서버를 경유하여 원격 접속되는지 및 (b) 클라이언트 디바이스가 그 현재 게이트웨이 서버로부터 분리되어 다른 게이트웨이 서버에 재접속될 의향이 있는지 여부를 지시할 수 있다. 이 실시예에서, 클라이언트가 상이한 게이트웨이 서버에 재접속할 의향이 있으면, 각각의 후보 객체로의 액세스를 위한 비용 계산이 리퍼럴 요구에서 식별된 것과는 상이한 사이트로부터 액세스의 비용을 고려할 수 있다.
예를 들어, 도 1의 예시적인 시스템을 참조하면, 타겟 객체는 레플리카가 저장 서버(107, 150)에 존재하지만 저장 서버(135)에는 존재하지 않는 파일인 것으로 가정한다. 게이트웨이 서버(120)는 동작 불가능한 것으로 또한 가정한다. 객체-리퍼럴 서버(115)가 클라이언트 디바이스(160)로부터 리퍼럴 요구를 수신할 때, 리퍼럴 요구는 사이트(102)에 속하는 것으로서 클라이언트를 식별하는 사이트 식별자를 포함한다[클라이언트 디바이스가 수신되고 이어서 게이트웨이(125)에 의해 제공된 사이트 식별자를 사용하기 때문에]. 또한 이 예에서, 리퍼럴 요구는 클라이언트 디바이스(160)가 원격 접속되고 상이한 게이트웨이 서버를 통해 재접속될 의향이 있는 것을 객체-리퍼럴 서버(115)에 지시한다.
객체-리퍼럴 서버(115)는 2개의 후보 객체, 즉 저장 서버(107, 150) 상에 존재하는 타겟 파일의 레프리카들을 식별한다. 객체-리퍼럴 서버(115)가 사이트(102)인 클라이언트(160)의 사이트에 기초하여 각각의 후보 객체에 액세스하기 위한 비용을 계산하면, 이는 이하와 같이, 즉 첫째로 저장 서버(107) 상의 레플리카 및 둘째로 저장 서버(150) 상의 레플리카로 후보 객체에 대한 리퍼럴을 순서화할 것이다. 이는 사이트(102)로부터 저장 서버(107)로의 액세스가 단지 하나의(비교적 고가의) WAN 링크(105)만을 필요로 하는 반면에, 저장 서버(150)로의 액세스는 2개의 WAN 링크(105, 104)의 순회를 필요로 하기 때문이다. 그러나, 실시예에서, 객체-리퍼럴 서버(15)는 또한 클라이언트 디바이스(160)가 상이한 게이트웨이 서버에 재접속하기 위한 의향을 지시하고 있다는 것을 고려할 수 있다. 게이트웨이 서버(120)는 동작 불가능하고, 따라서 저장 서버(107) 상의 레플리카에 액세스하는 비용은 여전히 WAN 링크(105)의 순회를 수반할 것이다. 그러나, 저장 서버(150) 상의 레플리카로의 액세스는 게이트웨이 서버(125)로부터 클라이언트 디바이스(160)를 분리하고 게이트웨이 서버(140)에 재접속함으로써 성취될 수 있다. 클라이언트 디바이스(160)로부터 게이트웨이 서버(140)로의 공개 네트워크 접속은 실제로 WAN 링크(105)보다 상당히 비용이 적을 수 있다. 이에 따라, 저장 서버(150)가 저장 서버(107)보다 사이트(102)로부터 지리학적으로 더 멀리 있을 수 있더라도, 객체-리퍼럴 서버(115)는 저장 서버(107) 상의 레플리카보다 저장 서버(150) 상의 레플리카에 액세스하기 위한 더 낮은 "비용"을 계산할 수 있다.
실시예에서, 후보 객체의 비용의 계산은 다수의 형태를 취할 수 있고, 상이한 게이트웨이 서버에 원격 클라이언트를 접속하기 위해 공개 네트워크 또는 다른 통신 라인의 사용에 대한 WAN 링크(또는 전용 임대 라인)의 상대 비용에 관한 정보를 갖고 통지된다. 게다가, 이 실시예에서, 객체-리퍼럴 서버는 이들이 위치되는 사이트 및 이용 가능한 게이트웨이 서버의 리스트로의 액세스를 갖는다.
도 5를 재차 참조하면, 후보 객체로의 피요구 리퍼럴이 단계 540에서 순서화된다. 실시예에서, 리퍼럴은 액세스를 위한 비용의 상승 순서로 순서화된다. 다른 순서화 프로토콜이 이용될 수 있다. 단계 550에서, 순서화된 리퍼럴은 예를 들어 요구 클라이언트 디바이스로 송신된다. 실시예에서, 리퍼럴은 후보 객체를 위한 간단한 비용 계산(예를 들어, 리퍼럴 요구에 식별된 사이트로부터 후보 객체의 지리학적 거리)에 기초하여 순서화될 수 있다. 다른 실시예에서, 리퍼럴은 클라이언트 디바이스가 상이한 게이트웨이 서버에 재접속될 것이라는 가정을 포함하는 계산에 기초하여 순서화될 수 있다. 후자의 경우에, 순서화된 리퍼럴은 타겟 객체로의 최소 비용 액세스를 성취하기 위해 접속이 행해질 수 있거나 행해져야 하는 하나 이상의 대안 게이트웨이 서버(들)의 명령 또는 어드레스를 또한 포함할 수 있다. 예를 들어, 각각의 순서화된 리퍼럴은 클라이언트 디바이스가 접속해야 하는 게이트웨이 서버 및 피요구 객체로의 경로의 모두를 식별할 수 있다.
도 6은 최소 비용 액세스가 소정의 객체 리퍼럴 세트에 대해 결정되는 방법(600)을 설명한다. 예를 들어, 클라이언트 디바이스는 타겟 객체를 위한 리퍼럴의 리스트를 수신할 수 있고, 자체로 이들 리퍼럴의 각각을 사용하여 액세스의 비용을 계산(또는 재계산)할 수 있다. 실시예에서, 단계 610에서, 타겟 객체를 위한 리퍼럴의 리스트가 수신된다. 리스트는 예를 들어 객체-리퍼럴 서버에 대한 리퍼럴을 위한 요구에 응답하여 수신될 수 있다. 실시예에서, 리스트는 객체-리퍼럴 서버에 의한 비용 계산에 따라 순서화될 수도 있고 순서화되지 않을 수도 있다. 예를 들어, 리퍼럴 요구가 클라이언트 디바이스의 사이트의 명시적 선언을 포함하면(클라이언트 디바이스가 접속되는 게이트웨이 서버로부터 수신된 사이트 식별자에 기초하여), 객체-리퍼럴 서버는 식별된 사이트로부터 후보 객체에 액세스하기 위한 비용에 기초하여 리퍼럴을 순서화할 수 있다. 실시예에서, 객체-리퍼럴 서버는 후보 객체에 대한 리퍼럴을 위해 더 복잡한 비용 계산을 행하는 것이 불가능할 수 있다. 실시예에서, 클라이언트 디바이스는 그 자신의 비용 계산에 기초하여 리퍼럴을 순서화하거나 재순서화할 수 있다.
단계 620에서, 타겟 객체에 대한 각각의 리퍼럴을 위한 액세스의 비용이 계산된다. 실시예에서, 클라이언트 디바이스는 이 계산을 자신이 행하도록 프로그램된다. 다른 실시예에서, 클라이언트 디바이스는 다른 디바이스 또는 서비스가 이러한 계산을 수행하도록 요구할 수 있다. 도 5와 관련하여 설명된 바와 같이, 비용 계산은 그 현재 게이트웨이 서버로부터 분리하고 다른 사이트에서 상이한 게이트웨이 서버에 재접속하는 것이 가능한(그리고 의향이 있는) 우연성을 포함할 수 있다. 이와 같이, 비용 계산은 가장 근접한 게이트웨이 서버로부터 그 타겟 객체로 타겟 객체에 액세스하는 비용을 포함할 수 있다. 예를 들어, 방법(500)의 단계 530과 관련하여 설명된 바와 같이, 비용 계산은 참조된 타겟 객체와 동일한 사이트에 있는 지리학적으로 이격된 게이트웨이 서버로의 공개 네트워크 접속(예를 들어, 인터넷 접속)이 WAN 링크 또는 다른 전용 임대 통신 라인에 의해 타겟 객체를 수용하는 저장 서버에 접속된 지리학적으로 근접한 게이트웨이 서버로의 접속보다 비용이 적을 수 있다는 것을 고려할 수 있다.
실시예에서, 비용의 계산은 (a) 이용 가능한 게이트웨이 서버, (b) 이들 게이트웨이 서버가 속하는 사이트(및 이들 사이트의 위치), 게이트웨이 서버(들)에 클라이언트 디바이스를 접속하는데 사용된 공개 네트워크에 대한 기업 네트워크에 사용된 임의의 전용 임대 통신 링크의 상대 비용(들), 참조된 타겟 객체가 저장되는 사이트(들)에 관한 클라이언트 디바이스에 의해 수신된 정보에 의해 용이하게 된다. 이 정보의 일부 또는 모두는 객체 리퍼럴과 함께 객체-리퍼럴 서버에 의해 또는 하나 이상의 상이한 네트워크 디바이스에 의해 클라이언트 디바이스에 제공될 수 있다.
단계 630에서, 리퍼럴의 리스트는 단계 620에서 비용 계산에 따라 순서화(또는 재순서화)된다. 단계 640에서, 사용될 리퍼럴이 클라이언트 디바이스가 그 현재 게이트웨이 서버로부터 분리되고 상이한 서버에 재접속되는 것을 요구하는지 여부에 대한 판정이 행해진다. 만일 그렇지 않으면, 흐름은 단계 660으로 진행한다. 만일 그러하면, 단계 650에서, 클라이언트 디바이스는 그 현재 게이트웨이 서버로부터 분리되어 사용될 객체 리퍼럴을 위해 요구된 게이트웨이 서버에 재접속된다. 단계 660에서, 객체 리퍼럴은 전술된 타겟 객체에 액세스하는데 사용된다.
도 7은 본 명세서에 설명된 실시예를 구현하는데 사용될 수 있는 범용 컴퓨팅 디바이스(700)(또한, 본 명세서에서 디바이스, 컴퓨터 또는 컴퓨터 시스템이라 칭함)를 도시한다. 컴퓨팅 디바이스(700)는 단지 컴퓨팅 환경의 일 예일 뿐이고, 컴퓨터 및 네트워크 아키텍처의 사용 또는 기능성의 범주에 대한 임의의 한정을 제안하도록 의도된 것은 아니다. 컴퓨팅 디바이스(700)는 예시적인 컴퓨팅 디바이스(700)에 예시된 구성 요소 중 임의의 하나 또는 조합에 관한 임의의 종속성 또는 요구를 갖는 것으로서 해석되어서도 안된다. 실시예에서, 컴퓨팅 디바이스(700)는 예를 들어, 도 1과 관련하여 전술된 바와 같은 클라이언트 디바이스(160, 260), 객체-리퍼럴 서버(115, 215, 227, 247), 디렉토리 서버(122, 222, 228, 248), 저장 서버(107, 207, 135, 235, 150, 250) 및 게이트웨이 서버(120, 220, 125, 225, 140, 240)로서 사용될 수 있다.
그 가장 기본적인 구성에서, 컴퓨팅 디바이스(700)는 통상적으로 적어도 하나의 프로세싱 유닛(702) 및 메모리(704)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 따라, 메모리(704)는 휘발성(RAM과 같은), 비휘발성(ROM, 플래시 메모리 등과 같은) 또는 양자의 소정의 조합일 수 있다. 이 가장 기본적인 구성은 점선(706)으로 도 7에 도시된다. 시스템 메모리(704)는 컴퓨팅 디바이스(700) 상에서 실행하는 애플리케이션을 저장한다. 애플리케이션에 추가하여, 메모리(704)는 도 1 내지 도 6과 관련하여 설명된 바와 같이, 리퍼럴 요구(710)와 같은 컴퓨팅 디바이스(700)에 의해 수행되는 동작에 사용되는 정보를 또한 저장할 수 있다.
부가적으로, 컴퓨팅 디바이스(700)는 부가의 특징/기능성을 또한 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(700)는 이들에 한정되는 것은 아니지만, 자기 또는 광학 디스크 또는 테이프를 포함하는 부가의 저장 장치(708)(제거 가능 및/또는 제거 불가능)를 또한 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술에 구현되는 휘발성 및 비휘발성, 제거 가능 및 제거 불가능 매체를 포함한다. 메모리(704) 및 저장 장치(708)는 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 이들에 한정되는 것은 아니지만, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 디바이스(700)에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다. 임의의 컴퓨터 저장 매체는 컴퓨팅 디바이스(700)의 부분일 수 있다. 당 기술 분야의 숙련자가 이해할 수 있는 바와 같이, 저장 장치(708)는 다양한 정보를 저장할 수 있다. 다른 유형의 정보 중에, 저장 장치(708)는 리퍼럴(730)의 리스트를 저장할 수 있다.
컴퓨팅 디바이스(700)는 시스템이 다른 디바이스와 통신하게 하는 통신 접속부(들)(712)를 또한 포함할 수 있다. 통신 접속부(들)(712)는 통신 매체의 예이다. 통신 매체는 통상적으로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데이터를 구체화하고, 임의의 정보 전송 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호 내의 정보를 인코딩하는 이러한 방식으로 변경되거나 설정된 그 특성의 하나 이상을 갖는 신호를 의미한다. 예로서, 비한정적으로, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 용어 컴퓨터 판독 가능 매체는 본 명세서에 사용될 때 저장 매체 및 통신 매체의 모두를 포함한다.
컴퓨팅 디바이스(700)는 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스 등과 같은 입력 디바이스(들)(714)를 또한 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(716)가 또한 포함될 수 있다.
본 명세서에 설명된 시스템 및 방법은 언급된 뿐만 아니라 그에 고유적인 목표 및 장점을 얻도록 양호하게 적용된다는 것이 명백할 것이다. 당 기술 분야의 숙련자들은 본 명세서의 방법 및 시스템이 다수의 방식으로 구현될 수 있고, 이와 같은 것이 상기 예시된 실시예 및 예에 의해 한정되는 것은 아니다. 달리 말하면, 하드웨어와 소프트웨어의 다양한 조합에서 단일 또는 다수의 구성 요소에 의해 수행되는 기능적 요소 및 개별 기능은 클라이언트 또는 서버 레벨에서 소프트웨어 애플리케이션 사이에 분산될 수 있다. 이와 관련하여, 본 명세서에 설명된 상이한 실시예의 임의의 수의 특징들은 하나의 단일 실시예로 조합될 수 있고, 본 명세서에 설명된 모든 특징보다 적거나 많은 특징을 갖는 대안 실시예가 가능하다.
다양한 실시예가 본 개시의 목적으로 설명되어 있지만, 본 발명의 범주 내에 양호하게 있는 다양한 변경 및 수정이 행해질 수 있다. 당 기술 분야의 숙련자들 자신이 즉시 제안할 수 있고 첨부된 청구범위에 규정된 바와 같은 본 발명의 사상 내에 포함되고 수많은 다른 변경이 행해질 수 있다.

Claims (15)

  1. 객체로의 최소 비용 액세스(least-cost access)를 얻기 위한 컴퓨터 구현 방법에 있어서,
    클라이언트 디바이스에 의해, 기업 네트워크의 제 1 게이트웨이 서버에 접속하는 단계 - 상기 클라이언트 디바이스는 상기 기업 네트워크로부터 원격임 - 와,
    상기 클라이언트 디바이스에 의해, 상기 제 1 게이트웨이 서버를 위한 제 1 사이트를 식별하는 제 1 사이트 식별자를 얻는 단계와,
    상기 클라이언트 디바이스에 의해, 객체에 대한 제 1 하나 이상의 리퍼럴을 위한 제 1 리퍼럴 요구를 객체-리퍼럴 서버에 송신하는 단계 - 상기 제 1 리퍼럴 요구는 상기 제 1 사이트 식별자를 포함함 - 와,
    상기 클라이언트 디바이스에 의해, 객체에 대한 제 1 하나 이상의 리퍼럴을 수신하는 단계 - 상기 제 1 하나 이상의 리퍼럴은 순서화됨 - 와,
    객체에 액세스하기 위해 제 1 하나 이상의 리퍼럴을 사용하는 단계를 포함하는
    컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 객체는 복제되어 기업 네트워크 내의 복수의 저장 서버에 저장되고, 상기 제 1 하나 이상의 리퍼럴은 각각 복수의 저장 서버 중 하나로의 경로를 포함하는
    컴퓨터 구현 방법.
  3. 제 2 항에 있어서,
    상기 제 1 하나 이상의 리퍼럴은 제 1 게이트웨이 서버의 제 1 사이트와 복수의 저장 서버 중 가장 근접한 것 사이의 지리학적 거리에 의해 순서화되는
    컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    상기 제 1 게이트웨이 서버로부터 클라이언트 디바이스를 분리하고 제 2 게이트웨이 서버에 접속하는 단계, 및
    제 2 게이트웨이 서버에 접속하는 단계를 추가로 포함하고,
    상기 객체에 액세스하기 위해 제 1 하나 이상의 리퍼럴을 사용하는 단계는 제 2 게이트웨이를 통해 객체에 액세스하도록 요구하는 단계를 포함하는
    컴퓨터 구현 방법.

  5. 제 1 항에 있어서,
    상기 제 2 게이트웨이 서버는 제 2 사이트에 위치되고, 상기 제 1 하나 이상의 리퍼럴은 제 2 게이트웨이 서버의 제 2 사이트와 복수의 저장 서버 중 가장 근접한 것 사이의 지리학적 거리에 의해 순서화되는
    컴퓨터 구현 방법.
  6. 제 1 항에 있어서,
    상기 제 1 게이트웨이 서버로부터 클라이언트 디바이스를 분리하는 단계,
    상기 클라이언트 디바이스를 제 2 게이트웨이 서버에 접속하는 단계,
    상기 클라이언트 디바이스에 의해, 제 2 게이트웨이 서버를 위한 제 2 사이트를 식별하는 제 2 사이트 식별자를 얻는 단계,
    상기 클라이언트 디바이스에 의해, 객체에 대한 제 2 하나 이상의 리퍼럴을 위한 제 2 리퍼럴 요구를 객체-리퍼럴 서버에 송신하는 단계 - 상기 제 2 리퍼럴 요구는 제 2 사이트 식별자를 포함함- ,
    상기 클라이언트 디바이스에 의해, 객체에 대한 제 2 하나 이상의 리퍼럴을 수신하는 단계 - 상기 제 2 하나 이상의 리퍼럴은 제 1 하나 이상의 리퍼럴과는 상이하게 순서화됨 -,
    객체에 액세스하기 위해 제 2 하나 이상의 리퍼럴을 사용하는 단계를 추가로 포함하는
    컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    상기 객체는 파일, 서비스, 애플리케이션, 네임스페이스 서버 또는 웹사이트 중 적어도 하나를 포함하는
    컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    제 1 리퍼럴 요구를 생성하는 단계를 추가로 포함하고, 상기 제 1 리퍼럴 요구를 생성하는 단계는
    제 1 클라이언트 디바이스를 위한 파라미터 세팅에 상기 제 1 사이트 식별자를 저장하는 단계,
    상기 파라미터 세팅으로부터 상기 제 1 사이트 식별자를 검색하는 단계, 및
    상기 제 1 사이트 식별자를 상기 제 1 리퍼럴 요구에 삽입하는 단계를 포함하는
    컴퓨터 구현 방법.
  9. 객체로의 최소 비용 액세스를 얻기 위한 시스템에 있어서,
    적어도 하나의 프로세싱 유닛과,
    상기 적어도 하나의 프로세싱 유닛에 동작 가능하게 접속되고, 상기 적어도 하나의 프로세싱 유닛에 의해 실행될 때, 상기 적어도 하나의 프로세싱 유닛이 방법을 수행하게 하는 명령을 포함하는 메모리를 포함하고,
    상기 방법은
    클라이언트 디바이스에 의해, 기업 네트워크의 제 1 게이트웨이 서버에 접속하는 단계 - 상기 클라이언트 디바이스는 상기 기업 네트워크로부터 원격임 - 와,
    상기 클라이언트 디바이스에 의해, 상기 제 1 게이트웨이 서버를 위한 제 1 사이트를 식별하는 제 1 사이트 식별자를 얻는 단계와,
    상기 클라이언트 디바이스에 의해, 객체에 대한 제 1 하나 이상의 리퍼럴을 위한 제 1 리퍼럴 요구를 객체-리퍼럴 서버에 송신하는 단계 - 상기 제 1 리퍼럴 요구는 상기 제 1 사이트 식별자를 포함함 - 와,
    상기 클라이언트 디바이스에 의해, 객체에 대한 제 1 하나 이상의 리퍼럴을 수신하는 단계 - 상기 제 1 하나 이상의 리퍼럴은 순서화됨 - 와,
    객체에 액세스하기 위해 제 1 하나 이상의 리퍼럴을 사용하는 단계를 포함하는
    시스템.
  10. 제 9 항에 있어서,
    상기 방법은
    상기 제 1 게이트웨이 서버로부터 클라이언트 디바이스를 분리하고 제 2 게이트웨이 서버에 접속하는 단계, 및
    제 2 게이트웨이 서버에 접속하는 단계를 추가로 포함하고,
    상기 객체에 액세스하기 위해 제 1 하나 이상의 리퍼럴을 사용하는 단계는 상기 제 2 게이트웨이를 통해 객체에 액세스하도록 요구하는 단계를 포함하는
    시스템.
  11. 제 10 항에 있어서,
    상기 제 2 게이트웨이 서버는 제 2 사이트에 위치되고, 상기 제 1 하나 이상의 리퍼럴은 제 2 게이트웨이 서버의 제 2 사이트와 복수의 저장 서버 중 가장 근접한 것 사이의 지리학적 거리에 의해 순서화되는
    시스템.
  12. 제 9 항에 있어서,
    상기 방법은
    상기 제 1 게이트웨이 서버로부터 클라이언트 디바이스를 분리하는 단계,
    상기 클라이언트 디바이스를 제 2 게이트웨이 서버에 접속하는 단계,
    상기 클라이언트 디바이스에 의해, 상기 제 2 게이트웨이 서버를 위한 제 2 사이트를 식별하는 제 2 사이트 식별자를 얻는 단계,
    상기 클라이언트 디바이스에 의해, 상기 객체에 대한 제 2 하나 이상의 리퍼럴을 위한 제 2 리퍼럴 요구를 상기 객체-리퍼럴 서버에 송신하는 단계 - 상기 제 2 리퍼럴 요구는 제 2 사이트 식별자를 포함함- ,
    상기 클라이언트 디바이스에 의해, 상기 객체에 대한 제 2 하나 이상의 리퍼럴을 수신하는 단계 - 상기 제 2 하나 이상의 리퍼럴은 상기 제 1 하나 이상의 리퍼럴과는 상이하게 순서화됨 -,
    객체에 액세스하기 위해 상기 제 2 하나 이상의 리퍼럴을 사용하는 단계를 추가로 포함하는
    시스템.
  13. 제 1 항에 있어서,
    제 1 리퍼럴 요구를 생성하는 단계를 추가로 포함하고, 상기 제 1 리퍼럴 요구를 생성하는 단계는
    제 1 클라이언트 디바이스를 위한 파라미터 세팅에 제 1 사이트 식별자를 저장하는 단계,
    상기 파라미터 세팅으로부터 상기 제 1 사이트 식별자를 검색하는 단계, 및
    상기 제 1 사이트 식별자를 상기 제 1 리퍼럴 요구에 삽입하는 단계를 포함하는
    컴퓨터 구현 방법.
  14. 원격 클라이언트 디바이스에 의해 객체로의 최소 비용 액세스를 제공하기 위한 시스템에 있어서,
    제 1 사이트에 위치되고 기업 네트워크로의 원격 클라이언트 디바이스를 위한 액세스를 제공하도록 구성된 제 1 게이트웨이 서버와,
    상기 제 1 게이트웨이 서버에 동작 가능하게 접속되고, 복제되어 상기 기업 네트워크 상의 복수의 저장 서버에 저장된 제 1 객체에 대한 순서화된 리퍼럴을 제공하도록 구성된 객체-리퍼럴 서버와,
    상기 제 1 게이트웨이 서버에 동작 가능하게 접속되고 복제된 제 1 객체를 저장하도록 구성된 복수의 저장 서버를 포함하고,
    상기 제 1 게이트웨이 서버는 원격 클라이언트 디바이스에 접속하도록 구성되고,
    상기 객체-리퍼럴 서버는
    제 1 복제된 객체에 대한 제 1 하나 이상의 리퍼럴을 위한 제 1 리퍼럴 요구를 원격 클라이언트 디바이스로부터 수신하고 - 상기 제 1 리퍼럴 요구는 제 1 게이트웨이 서버를 위한 제 1 사이트 식별자를 포함함 -,
    상기 제 1 사이트로부터 복수의 저장 서버의 하나 이상으로의 최소 비용 액세스 계산을 수행하고,
    상기 계산에 기초하여 하나 이상의 리퍼럴을 순서화하고,
    상기 원격 클라이언트 디바이스에 하나 이상의 리퍼럴을 제공하도록 구성되는
    시스템.
  15. 제 14 항에 있어서,
    상기 객체-리퍼럴 서버는 최소 비용 액세스 계산을 수행할 때에, 리퍼럴들 중 적어도 하나에 대해 제 2 게이트웨이 서버로부터 상기 제 1 객체로의 액세스의 비용을 결정하도록 더 구성되는
    시스템.
KR1020137019705A 2011-01-25 2012-01-17 기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스 KR20140007363A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/013,661 US20120191769A1 (en) 2011-01-25 2011-01-25 Site-aware distributed file system access from outside enterprise network
US13/013,661 2011-01-25
PCT/US2012/021463 WO2012102893A2 (en) 2011-01-25 2012-01-17 Site-aware distributed file system access from outside enterprise network

Publications (1)

Publication Number Publication Date
KR20140007363A true KR20140007363A (ko) 2014-01-17

Family

ID=46416432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137019705A KR20140007363A (ko) 2011-01-25 2012-01-17 기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스

Country Status (6)

Country Link
US (1) US20120191769A1 (ko)
EP (1) EP2668740A4 (ko)
JP (1) JP5932841B2 (ko)
KR (1) KR20140007363A (ko)
CN (1) CN102571972B (ko)
WO (1) WO2012102893A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022140006A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Condensation curable composition comprising siloxane-imide base polymer
WO2022140005A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Siloxane-imide copolymer and addition curable composition comprising same
WO2022140003A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Addition curable composition comprising siloxane-imide copolymers
WO2022140004A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Condensation curable composition comprising siloxane-imide crosslinker

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724050A (zh) * 2011-03-30 2012-10-10 华为终端有限公司 设备管理系统中对网关进行初始化的方法及装置
US9781192B2 (en) 2013-01-25 2017-10-03 Qualcomm Incorporated Device management service
US9535681B2 (en) * 2013-03-15 2017-01-03 Qualcomm Incorporated Validating availability of firmware updates for client devices
US20150220953A1 (en) * 2014-02-04 2015-08-06 Ricoh Company, Ltd. Systems, apparatuses and methods for performing enterprise analysis and site analysis of information technology costs
US9652212B2 (en) * 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
US11558363B2 (en) * 2019-08-19 2023-01-17 Verizon Patent And Licensing Inc. Method and device for provisioning a node in a wireless network

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249186A (ja) * 1995-03-09 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> 分散オブジェクトの名前管理方法
US5968121A (en) * 1997-08-13 1999-10-19 Microsoft Corporation Method and apparatus for representing and applying network topological data
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US7395353B1 (en) * 1999-12-07 2008-07-01 Telleo, Incorporated Method and apparatus for processing internet site names through regular expression comparison
US7454500B1 (en) * 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7325058B1 (en) * 2000-11-13 2008-01-29 Cisco Technology, Inc. Method and system for controlling subscriber access in a network capable of establishing connections with a plurality of domain sites
US7653700B1 (en) * 2000-11-16 2010-01-26 Microsoft Corporation System and method for performing client-centric load balancing of multiple globally-dispersed servers
DE60202863T2 (de) * 2002-08-30 2005-06-30 Errikos Pitsos Verfahren, Gateway und System zur Datenübertragung zwischen einer Netzwerkvorrichtung in einem öffentlichen Netzwerk und einer Netzwerkvorrichtung in einem privaten Netzwerk
US7584220B2 (en) * 2004-10-01 2009-09-01 Microsoft Corporation System and method for determining target failback and target priority for a distributed file system
US7499905B2 (en) * 2005-10-17 2009-03-03 Cisco Technology, Inc. Method and apparatus for accessing information based on distributed file system (DFS) paths
US20070168405A1 (en) * 2006-01-17 2007-07-19 Ori Pomerantz Self-optimizing network attached storage for multiple geographic locations
CN100496029C (zh) * 2006-07-11 2009-06-03 深圳市深信服电子科技有限公司 一种基于网关/网桥的线路自动选路方法
US8090766B2 (en) * 2006-08-15 2012-01-03 Microsoft Corporation System and method to identify, rank, and audit network provided configurables
US20080080365A1 (en) * 2006-09-28 2008-04-03 Weeresinghe Ranjith Thomas Mah Wireless Access Point Failover System and Method
US7991910B2 (en) * 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8126426B2 (en) * 2009-07-27 2012-02-28 Neustar, Inc. System and method for assessing mobile application value
US20110231477A1 (en) * 2010-03-22 2011-09-22 Ido Safruti System and method to service requests from a plurality of sources

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022140006A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Condensation curable composition comprising siloxane-imide base polymer
WO2022140005A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Siloxane-imide copolymer and addition curable composition comprising same
WO2022140003A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Addition curable composition comprising siloxane-imide copolymers
WO2022140004A1 (en) 2020-12-23 2022-06-30 Momentive Performance Materials Inc. Condensation curable composition comprising siloxane-imide crosslinker

Also Published As

Publication number Publication date
EP2668740A4 (en) 2017-07-12
WO2012102893A2 (en) 2012-08-02
WO2012102893A3 (en) 2013-01-03
EP2668740A2 (en) 2013-12-04
CN102571972A (zh) 2012-07-11
CN102571972B (zh) 2016-03-02
JP5932841B2 (ja) 2016-06-08
JP2014508350A (ja) 2014-04-03
US20120191769A1 (en) 2012-07-26

Similar Documents

Publication Publication Date Title
US11095711B2 (en) DNS Resolution of internal tenant-specific domain addresses in a multi-tenant computing environment
US10374955B2 (en) Managing network computing components utilizing request routing
KR20140007363A (ko) 기업 네트워크 외부로부터의 사이트-인식 분산형 파일 시스템 액세스
US10212124B2 (en) Facilitating content accessibility via different communication formats
US9160703B2 (en) Request routing management based on network components
US9800539B2 (en) Request routing management based on network components
US9521217B2 (en) System and method for remote access to cloud-enabled network devices
US7992201B2 (en) Dynamic network tunnel endpoint selection
JP5893034B2 (ja) ネットワーク環境における要求ルーティング
US10263950B2 (en) Directing clients based on communication format
US8140647B1 (en) System and method for accelerated data uploading
JP2004266568A (ja) 名前解決サーバおよびパケット転送装置
WO2013104172A1 (zh) 实现负载均衡的方法、dns服务器和客户端
US10069941B2 (en) Scalable event-based notifications
WO2017096888A1 (zh) 域名解析系统的实现方法及装置
WO2017161965A1 (zh) 一种动态域名系统dns重定向方法、装置及系统
CN113364741A (zh) 一种应用访问方法及代理服务器
JP6540063B2 (ja) 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム
US11122131B1 (en) Edge cloud resource location using enhanced DNS service
US10122630B1 (en) Methods for network traffic presteering and devices thereof
US20190052681A1 (en) Shared terminal detection method and device therefor
JP2005318653A (ja) 名前解決サーバおよびパケット転送装置
JP2007166659A (ja) 名前解決サーバおよびパケット転送装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
WITB Written withdrawal of application