KR20090025198A - 배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법 - Google Patents

배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법 Download PDF

Info

Publication number
KR20090025198A
KR20090025198A KR1020087027043A KR20087027043A KR20090025198A KR 20090025198 A KR20090025198 A KR 20090025198A KR 1020087027043 A KR1020087027043 A KR 1020087027043A KR 20087027043 A KR20087027043 A KR 20087027043A KR 20090025198 A KR20090025198 A KR 20090025198A
Authority
KR
South Korea
Prior art keywords
provisioning
global
client
information
deployment unit
Prior art date
Application number
KR1020087027043A
Other languages
English (en)
Other versions
KR101376815B1 (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 KR20090025198A publication Critical patent/KR20090025198A/ko
Application granted granted Critical
Publication of KR101376815B1 publication Critical patent/KR101376815B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • 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/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • 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/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 특히, 전역 서비스 프로비저닝 기술을 개시한다. 이 기술은 프로비저닝 서버가 클라이언트에 대한 위치 정보를 획득하는 것에 관련된다. 프로비저닝 서버는 위치 정보에 기초하여, 클라이언트가 배정받게 될 적합한 배치 유닛을 결정한다. 프로비저닝 서버는 클라이언트에게 적합한 배치 유닛에 대한 배정 정보를 전송한다. 그러면, 클라이언트는 배정받은 배치 유닛에 통신에 관해 결합하여 그 배치 유닛으로부터 서비스를 수신하기 시작한다.
Figure P1020087027043
전역 서비스 프로비저닝, 배치 유닛, 클라이언트, 레플리카, 위치 정보

Description

배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법{GLOBAL PROVISIONING OF MILLIONS OF USERS WITH DEPLOYMENT UNITS}
최근 몇 년간, 인터넷은 정보를 게시하는 단순 수단으로부터 자원-풍부(resource-rich) 멀티미디어 환경으로까지 진화하고 있다. 가정과 기업에서의 광범위한 기술의 확산으로, 인터넷을 통해 각종 유형의 서비스를 제공할 기회가 생겨나고 있다. 이들 서비스 중 일부는 전역 비즈니스를 간소화하는데 도움을 준다. 예를 들어, 한 유형의 기술은 지구의 반대 편에 있는 사무실에서 일하는 사람들이 가상의 사무실 환경에서 협동할 수 있게 해준다. 이러한 서비스는 일반적으로 하나 이상의 서버에 의해 호스팅된다.
이러한 서비스들에 대한 요구가 증가함에 따라, 그 서비스들을 호스팅하기 위 위해 더 많은 서버들을 제공하는 것이 필요해 질 것이다. 게다가, 서비스가 광역적으로 제공되면, 각각의 해당 지역에 더 큰 대역폭을 제공하기 위해 서로 다른 지역에 서버들을 분산(예컨대, 미국에 하나의 서버 및 아시아에 하나의 서버)시키는 것이 바람직할 수 있다. 또한, 한 지역이 특별히 심한 부하를 경험한다면, 또한 그 지역을 더 세분(예컨대, 미국 태평양 연안 지역에 하나의 서버, 미국 중서부 지역에 하나의 서버 및 미국 대서양 연안 지역에 하나의 서버)하는 것이 바람직할 수 있다.
이와 같이, 서버들이 여러 다른 지리적 위치에 분산되어 있으므로, 대역폭 및 시스템 성능이 최적화될 수 있도록 서비스의 각 사용자가 적절한 서버를 배정받는 방식으로 서비스를 프로비저닝하는(provision) 것이 바람직할 것이다.
본 요약은 상세한 설명에서 상술되는 개념들에 대한 선택을 단순화된 형태로 소개하도록 제공된 것이다. 본 요약은 청구된 요지의 중요 특징들 또는 본질적인 특징들을 확인하려는 의도도, 또한 청구된 요지의 범주를 제한하려는 의도도 아니다.
본원은 무엇보다도 서비스의 전역 프로비저닝 기술을 개시한다. 이 기술은 신규 클라이언트가 그 위치 정보를 프로비저닝 서버에 제공하는 것에 관련된다. 위치 정보는 클라이언트의 지역 ID 및 시간대를 포함할 수 있지만, 이에만 제한적인 것은 아니다. 프로비저닝 서버는 위치 정보에 기초하여, 신규 클라이언트가 배정받게 될 적절한 배치 유닛(deployment unit)을 결정한다. 프로비저닝 서버는 적절한 배치 유닛에 관한 배정 정보를 전송한다. 그러면, 클라이언트는 배정받은 배치 유닛에 통신에 관해(communicatively) 결합하고 배치 유닛으로부터 서비스를 수신하기 시작한다.
어떤 이유로 해서, 특정 클라이언트가 현재의 배치 유닛으로부터 신규 또는 다른 배치 유닛으로 재배정 받는 것이 바람직할 경우, 현재의 배치 유닛은 그 클라이언트에게 재배정 필요성(need-reassignment) 정보를 전송한다. 클라이언트는 재배정 필요성 정보를 수신함에 따라 상기 단계들을 거처 다른 배치 유닛에 대해 프로비저닝하게 된다. 그러면, 클라이언트는 재배정 정보에서 지시받은 신규 배치 유닛과 통신에 관해 결합한다.
이와 같이, 본 실시예들은 서비스를 전역적으로 프로비저닝하기에 매우 적응가능한 기술을 제공한다. 이 기술은 클라이언트들을 서비스를 수신할 목적에 적합한(흔히 가장 근접한) 배치 유닛들에 지능적으로 배정할 수 있다. 또한 본 실시예들은 클라이언트들을 즉시(on the fly) 재배정함으로써 배치 유닛의 동적인 추가 또는 제거를 허용한다. 이러한 아키텍처는 수백만의 클라이언트들을 지원하는 데 이상적이다.
본 명세서에 일부로 포함되는 첨부된 도면은 실시예들을 예시하고, 설명과 함께 실시예들의 원리를 설명하는 데 도움을 준다.
도 1은 일 실시예에 따라, 서비스의 전역 프로비저닝을 위한 시스템을 예시하는 블록도.
도 2는 예시적인 실시예에 따라, 서비스의 전역 프로비저닝을 위한 시스템을 예시하는 블록도.
도 3은 일 실시예에 따라, 클라이언트에서 서비스의 전역 프로비저닝을 수신하기 위한 프로세스를 예시하는 흐름도.
도 4A는 일 실시예에 따라, 서비스의 전역 프로비저닝을 위한 프로세스를 예시하는 흐름도.
도 4B는 일 실시예에 따라, 신규 클라이언트가 배정받게 될 적합한 배치 유 닛을 결정하는 프로세스를 예시하는 흐름도.
도 4C는 일 실시예에 따라, GPD 레플리카가 해당 프로세스를 활용하는 장치와 결합되어 있을 때에 신규 클라이언트가 배정받게 될 적합한 배치 유닛을 결정하기 위한 프로세스를 도시하는 흐름도.
도 4D는 일 실시예에 따라, 현 클라이언트를 신규 배치 유닛에 재배정하기 위한 프로세스를 예시하는 흐름도.
도 5는 실시예들을 구현할 수 있는 적합한 컴퓨팅 시스템 환경의 일례에 대한 다이어그램.
지금부터, 청구된 요지의 바람직한 실시예들에 대해 상세히 기술하고자 하며, 이들 실시예들 중 예들이 첨부된 도면에 예시된다. 비록 본 발명은 바람직한 실시예들에 관련하여 설명하겠지만, 이들은 청구된 요지를 이들 실시예에만 제한시키려는 의도가 아님을 이해할 수 있을 것이다. 이와는 반대로, 청구된 요지는 청구범위에서 한정된 청구된 요지의 사상 및 범주 내에 포함될 수 있는, 대체, 변경 및 등가를 커버하는 것으로 의도된다. 또한, 본 발명의 상세한 설명에서, 청구된 요지의 전반적인 이해를 제공하기 위해 다수의 특정된 상세한 사항들이 설명되어 있다. 그러나, 당업자라면, 청구된 요지는 특정된 상세 사항 없이도 실시될 수 있다는 것은 주지된 사실이다. 다른 사례들에서, 청구된 요지의 특징들을 불필요하게 불명하게 하지 않도록 하기 위해, 잘 알려진 방법들, 프로시저들, 구성요소들 및 회로들은 상세히 기술하지 않았다.
이어지는 상세한 설명의 일부는 컴퓨터 또는 디지털 시스템 메모리 내의 데이터 비트들에 대한 연산들(operations)의 프로시저들, 논리 블록들, 처리 및 기타의 심볼 표현들에 관해 제시되어 있다. 이들 기술들(descriptions) 및 표현들은 데이터 처리 기술 분야의 숙련자들이 다른 숙련자들에게 그들의 작업(work)의 본질(substance)을 가장 효과적으로 전달하기 위해 이용되는 수단(means)이다. 프로시저, 논리 블록, 프로세스 등은 이러한 이유로 인해, 그리고 일반적으로는 바람직한 결과를 이끌어내는 시종일관한(self-consistent) 단계들(steps) 또는 명령어들의 시퀀스인 것으로 여겨진다. 단계들은 물리량의 물리적 조작들을 필요로 하는 것들이다. 통상적으로, 반드시 필요한 것은 아니지만, 이들 물리적 조작들은 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 시스템에서 저장, 전달, 결합, 비교, 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 편의 상, 그리고 일반적인 사용과 관련하여, 이들 신호는 청구된 요지에 관하여, 비트들, 값들(values), 엘리먼트들, 심볼들, 문자들(characters), 항들(terms), 숫자들(numbers) 등으로 일컬어진다.
그러나, 이들 용어 모두 물리적 조작들 및 물리량들을 참조하는 것으로 해석되어야 하며 단지 편리한 라벨(label)이며, 그리고 본 기술 분야에서 통용되는 용어에 비추어 한층 더 해석되어야 한다. 구체적으로 본원에서 명백히 달리 언급하지 않는 한, 본 실시예의 기재 전체를 통해, "결정"(판단; determining)", 또는 "출력(outputting)", 또는 "전송(transmitting)", 또는 "기록(recording)", 또는 "로케이팅(locating)" 또는 "저장(storing)" 또는 "디스플레이(displaying)" 또는 " 수신(receiving)" 또는 "인식(recognizing)" 또는 "이용(utilizing)" 또는 "생성(generating)" 또는 "제공(providing)" 또는 "액세스(accessing)" 또는 "검사(checking)" 또는 "통지(notifying)" 또는 "배신(delivering)" 등의 용어를 이용한 기재는 데이터를 조작하고 변환하는, 컴퓨터 시스템의 동작(action) 및 프로세스, 또는 유사한 전자 컴퓨팅 장치를 일컫는다. 데이터는 컴퓨터 시스템의 레지스터 및 메모리 내에서 물리(전자)적 양으로 표현되며 컴퓨터 시스템의 메모리나 레지스터, 또는 여타의 이런 정보 저장, 전송 또는 디스플레이 장치에서 물리량으로 유사하게 표현되는 다른 데이터로 변환된다.
간략히 기술하자면, 본 발명의 실시예들은 클라이언트에 대한 위치 정보를 획득하는 프로비저닝 서버에 관련된다. 프로비저닝 서버는 위치 정보에 기초하여, 클라이언트가 배정받게 될 적절한 배치 유닛을 결정한다. 프로비저닝 서버는 클라이언트에게 적절한 배치 유닛에 대한 배정 정보를 전송한다. 그러면, 클라이언트는 배정받은 배치 유닛에 통신에 관해 결합하여 그 배치 유닛으로부터 서비스를 수신하기 시작한다.
도 1은 본 발명의 일 실시예에 따른, 전역 서비스 프로비저닝을 위한 시스템(100)을 도시한다. 비록 도 1에서는 하드웨어 시스템을 예시하였지만, 본원에 기술된 실시예들은 소프트웨어로 구현되기에 매우 적합하다는 것을 인식할 수 있으며, 도 1의 컴포넌트들의 기능은 개별 하드웨어 시스템 상의 등가의 소프트웨어 모듈들에 의해 수행된다.
시스템(100)에 의해 제공되는 서비스는 전역 프로비저닝에 매우 적합한 임의 서비스일 수 있다. 일 실시예에서, 서비스는 가장 사무실 서비스이다. 시스템(100)은 배치 유닛(DU1 내지 DUN)을 포함한다. 가장 기본적인 형태의 배치 유닛(DU1 내지 DUN)은 서비스를 클라이언트(예컨대, 클라이언트(110))에게 제공한다. 시스템(100)은 또한 프로비저닝 서버(120)를 포함한다. 비록 도 1에서는 프로비저닝 서버를 단지 하나만 도시하였지만, 시스템(100)은 클라이언트-로드를 적절히 다루기 위해 지리적 장소에 걸쳐 다수의 프로비저닝 서버를 포함하기에 적합하다는 것이 이해되어야 겠다.
일 실시예에서, 개별 사용자가 서비스에 관한 계정을 만들 준비가 되어 있으면, 클라이언트(110)는 우선 프로비저닝 서버(120)에 연결될 것이다. 이 시점에서, 프로비저닝 서버(120)는 클라이언트의 위치 정보를 획득할 것이다. 일 실시예에서, 위치 정보는 전역 네트워크 라우팅 기반구조로부터 획득된다. 다른 실시예에서, 클라이언트(110)는 그 위치 정보를 프로비저닝 서버(120)에 전송한다. 또 다른 실시예에서는, 클라이언트가 보낸 위치 정보와 전역 네트워크 라우팅 기반구조로부터 획득한 위치 정보의 조합을 이용한다. 위치 정보는 국가 식별자 등의 지역 ID및 클라이언트의 시간대를 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 위치 정보는 또한 계정 ID, 계정 인증서, 라이센스 유형 및 거래 ID를 포함할 수 있다.
시스템(100)은 또한 전역 프로비저닝 서비스(140)를 포함하며, 이 서비스(140)는 프로비저닝 서버(120)와 같은 프로비저닝 서버들 및 다수의 데이터베이 스에 통신에 관해 결합된다. 프로비저닝 서버는, 클라이언트(110)로부터 위치 정보를 수신함에 의해, 전역 프로비저닝 서비스(140)와 연락할 것이고, 이후 서비스(140)는 클라이언트(110)에 대한 배정 정보를 제공할 것이다. 예를 들어, 클라이언트의 지역 ID가 미국에 대응하고, 클라이언트의 시간대가 태평양 표준시이면, 전역 프로비저닝 서비스(140)는 클라이언트에게 미국 태평양 연안 지역의 배치 유닛을 배정할 것이다. 일 실시예에서, 각 배치 유닛은 단지 소정의 라이센스 유형만을 지원할 수 있다. 예를 들어, 미국 대서양 연안 지역의 배치 유닛은 라이센스 유형 A 및 B를 지원할 수 있는 한편, 미국 태평양 연안 지역의 배치 유닛은 라이센스 유형 A만을 지원한다. 따라서, 이전 예시로부터 클라이언트가 라이센스 유형 B를 갖는다면, 미국 태평양 연안의 배치 유닛이 클라이언트의 라이센스를 지원하지 않으므로, 전역 프로비저닝 서비스는 클라이언트에게 미국의 대서양 연안 배치 유닛을 배정할 것이다. 전역 프로비저닝 서버(140)에 의해 제공되는 배정 정보는 배정받은 배치 유닛에 대응하는 URL, 배정받은 배치 유닛에 대응하는 인증서, 권한 부여 토큰 및 해시 코드를 포함할 수 있지만, 이것에만 한정되는 것은 아니다.
일 실시예에서, 전역 프로비저닝 서비스가 결합되는 데이터베이스는 배정받은 배치 유닛(DU1 내지 DUN)에 관한 정보를 호스팅하는 전역 프로비저닝 디렉토리(GPD)(150)를 포함한다. 이 정보는 배치 유닛의 이름 및 위치, 배치 유닛에 대응하는 URL 및 인증서, 배치 유닛의 사용자 자격(capacity) 정보, 배치 유닛에 의해 지원되는 라이센스 유형 등을 포함할 수 있지만, 이것에만 한정되는 것은 아니 다.
일단 프로비저닝 서버(120)가 전역 프로비저닝 서비스(140)로부터 배정 정보를 수신하면, 프로비저닝 서버(120)는 클라이언트(110)에 배정 정보를 도로 중계할 것이다. 클라이언트(110)는 이에 응답하여, 배정 정보에 나타난 배정받은 배치 유닛(예컨대, DU1)에 통신에 관해 결합될 것이다. 일단 클라이언트(110)가 그 해당 배정받은 배치 유닛(예컨대, DU1)에 결합되면, 클라이언트(110)는 그 배치 유닛으로부터 서비스 수신을 시작할 것이다.
일 실시예에서, 전역 프로비저닝 서비스가 결합되는 데이터베이스는 시스템(100)의 사용자들에 대한 연락처 정보를 호스팅하는 전역 연락처 디렉토리(160)를 포함한다. 일 실시예에서, 전역 연락처 디렉토리는 가입(opt-in) 기능(feature)이다. 따라서, 사용자들((예컨대, 클라이언트(110))은 전역 연락처 디렉토리(160)에 소정의 연락처 정보를 게시하기로 결정할 수 있다. 전역 연락처 디렉토리(160)에 저장된 연락처 정보는 이름, 이메일 주소, vCards, 전화 번호 등을 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 전역 연락처 디렉토리로의 게시는 선택적일 수 있으므로, 게시는 언제든지 일어날 수 있다. 예를 들어, 클라이언트(110)는 그가 배정 정보를 요청할 때 프로비저닝 서버(120)를 통해 그 연락처 정보를 게시할 수 있다. 또는, 클라이언트(110)는 그가 배정받은 배치 유닛 배정을 수신한 후 그 해당 배정받은 배치 유닛((예컨대, DU1)을 통해 그 연락처 정보를 게시할 수 있다.
일 실시예에서, 시스템(100)은 프로비저닝 서버(120)에 통신에 관해 결합된 GPD 레플리카(170)를 포함한다. 이상적으로, GPD 레플리카(170)는 프로비저닝 서버(120)에 근접하게 위치된다. GPD 레플리카(170)를 갖는 이득은 프로비저닝 서버(120)가 전역 프로비저닝 서비스(140)로부터 배정 정보를 획득하기 보다는, GPD 레플리카(170) 내의 정보에 기초하여 프로비저닝 판단을 자체적으로 행할 수 있다는 것이다. 이는 클라이언트를 프로비저닝하는 데 필요한 시간을 단축시키고 전역 프로비저닝 서비스(140)의 대역폭 사용량을 감축시킨다. 시스템(100)에서의 각 프로비저닝 서버(예를 들어, 프로비저닝 서버(120))가 해당 GPD 레플리카(예컨대, GPD 레플리카(170))에 결합되면, 전역 프로비저닝 서비스(140)는 전역 연락처 디렉토리에 대한 변경 및 쿼리를 관리하고 GPD 레플리카(170)(예컨대, GPD 레플리카(170))를 원본 GPD(150)와 주기적으로 동기화시키는 것에만 관여할 필요가 있다.
특정 지역(예컨대, 미국)에서 서비스를 액세스하는 클라이언트들의 수가 증가함에 따라, 시스템(100)에 하나 이상의 새로운 배치 유닛(예컨대, DUN+1, DUN+2, 등, 도시 안 됨))을 추가할 필요가 있을 수 있다. 예를 들어, 미국이 현재 태평양 연안 지역의 배치 유닛 및 대서양 연안 지역의 배치 유닛-이들 두 유닛 모두 그들의 용량 한계에 다다름-을 갖고 있으면, 시스템(100)은, 예를 들어, 중서부 지역의 배치 유닛의 동적인 추가를 고려할 것이다. 일단 새로운 배치 유닛이 적소에서 동작하면, 로드를 더 균등하게 분배하기 위해 새로운 배치 유닛에 일부 클라이언트들을 재배정하는 것이 바람직하다. 클라이언트들을 새로운 또는 다른 배치 유닛에 재-프로비저닝하는 것은 역시 다른 상황에서도 바람직할 수 있는 데, 예컨대, 클라이언트가 한 지역에서 다른 지역으로 옮겨가면 클라이언트를 재배정하거나 특정 계급의 사용자들(예컨대, 베타 사용자들)을 특정 배치 유닛(예컨대, 전용 베타 테스팅용)으로 이동하는 상황이다. 이들 클라이언트들이 이동될 특정 배치 유닛들이 존재하면, 배치 유닛은 이들 클라이언트들용 전역 데이터베이스에서 마크될 것이다. 이런 경우, 배치 유닛들은 클라이언트들에게 재배정 필요성 정보를 전송할 것이다. 클라이언트들은, 재배정 필요성 정보를 수신함에 의해, 프로비저닝 서버에 연락함으로써 동일한 프로비저닝 단계들을 거칠 것이다. 클라이언트가 이동되었으면, 그 위치 변경으로 인해, 클라이언트는 현재 그에게 보다 가까운 다른 배치 유닛을 배정받게 될 것이다. 전역 데이터베이스에 대응하는 레코드가 마크되어 있으면, 클라이언트는 사전에 배정받은 배치 유닛을 배정받게 될 것이다. 그러면, 재배정받은 클라이언트들은 적절한 배치 유닛에 재연결될 것이다. 배치 유닛을 시스템(100)에서 제거할 경우에도 유사한 기능을 사용할 수 있음을 인식할 것이다.
도 2는 예시적인 실시예에 따른, 전역 서비스 프로비저닝을 위한 시스템(200)을 예시한다. 비록 도 2에서는 하드웨어 시스템을 예시하였지만, 본원에 기술된 실시예들은 소프트웨어로 구현되기에 매우 적합하다는 것을 인식할 수 있으며, 도 2의 컴포넌트들의 기능은 개별 하드웨어 시스템 상의 등가의 소프트웨어 모듈들에 의해 수행된다.
시스템(200)에서, 프로비저닝 서버(2201-220N) 및 GPD 레플리카(2701-270N)가 각각의 배치 유닛(DU1' 및 DUN') 내에 통합된다. 또한, 전역 프로비저닝 서비스(240), GPD(250), 및 전역 연락처 디렉토리(260)가 전역 데이터 센터(230)에 통합된다. 기능적으로, 시스템(200)은 시스템(100)와 유사하게 동작한다.
일 실시예에서, 개별 사용자가 서비스에 관한 계정을 만들 준비가 되어 있으면, 클라이언트(210)는 우선 해당 배치 유닛(예컨대, DU1') 내에 통합되는 프로비저닝 서버(예컨대, 2201)에 연결된다. 일 실시예에서, 프로비저닝 서버들은 클라이언트(210)에 기본으로 제공되는, 공지의 이름 또는 별명(예컨대, provision.groove.microsoft.com)을 갖는다. 프로비저닝 서버(예컨대, 2201)는 클라이언트의 위치 정보를 획득할 것이다. 일 실시예에서, 위치 정보는 전역 네트워크 라우팅 기반구조로부터 획득된다. 다른 실시예에서는, 클라이언트(210)는 그 위치 정보를 프로비저닝 서버(예컨대, 2201)에 전송한다. 또 다른 실시예에서는, 클라이언트가 보낸 위치정보와 전역 네트워크 라우팅 기반구조로부터 획득한 위치 정보의 조합을 이용한다. 위치 정보는 국가 식별자 등의 지역 ID, 및 클라이언트의 시간대를 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 위치 정보는 또한 계정 ID, 계정 인증서, 라이센스 유형 및 거래 ID를 포함할 수 있다.
프로비저닝 서버(예컨대, 2201)는, 클라이언트(210)로부터 위치 정보를 수신함에 의해, 전역 데이터 센터(230)에 통합되어 있는 전역 프로비저닝 서비스(240)에 연락할 것이다. 전역 프로비저닝 서비스(240)는 이어서 클라이언트(210)에 대 한 배정 정보를 제공할 것이다. 전역 프로비저닝 서비스(240)에 의해 제공되는 배정 정보는 배정받은 배치 유닛(예컨대, DUN')에 대응하는 URL, 배정받은 배치 유닛에 대응하는 인증서, 권한 부여 토큰 및 해시 코드를 포함할 수 있지만, 이것에만 한정되는 것은 아니다.
일 실시예에서, 전역 데이터 센터(230)에 통합된 GPD(250)는 배치 유닛들(DU1'-DUN')에 관한 정보를 호스팅한다. 이 정보는 배치 유닛의 이름 및 위치, 배치 유닛에 대응하는 URL 및 인증서, 배치 유닛의 사용자 자격 정보, 배치 유닛에 의해 지원되는 라이센스 유형 등을 포함할 수 있지만, 이것에만 한정되는 것은 아니다.
일단 프로비저닝 서버(예컨대, 2201)가 전역 프로비저닝 서비스(240)로부터 배정 정보를 수신하면, 프로비저닝 서버(예컨대, 2201)는 배정 정보를 클라이언트(210)에 도로 중계할 것이다. 클라이언트(210)는 이것에 응답하여, 배정 정보에 나타난 배치 유닛(예컨대, DUN')에 통신에 관해 결합될 것이다. 일단 클라이언트(210)가 배정받은 배치 유닛(예컨대, DUN')에 결합되면, 클라이언트(210)는 그 배치 유닛으로부터 서비스 수신을 시작할 수 있다. 도시된 바와 같이, 시스템(200)에서, 클라이언트(210)가 배정받은 배치 유닛(예컨대, DUN')은 배정 정보를 처음으로 수신한 배치 유닛(예컨대, DU1')과는 다른 배치 유닛이다.
일 실시예에서, 전역 데이터 센터(230)에 통합된 전역 연락처 디렉토리(260) 는 시스템(200)의 사용자들에 대한 연락처 정보를 호스팅한다. 일 실시예에서, 전역 연락처 디렉토리는 가입(opt-in) 기능이다. 따라서, 사용자들(예컨대, 클라이언트(210))은 전역 연락처 디렉토리(260)에 소정의 연락처 정보를 게시하기로 결정할 수 있다. 전역 연락처 디렉토리(260)에 저장된 연락처 정보는 이름, 이메일 주소, vCards, 전화 번호 등을 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 전역 연락처 디렉토리로의 게시는 선택적일 수 있으므로, 게시는 언제든지 일어날 수 있다. 예를 들어, 클라이언트(210)는 그가 배정 정보를 요청할 때 최초 배치 유닛(예컨대, DU1')을 통해 그 연락처 정보를 게시할 수 있다. 또는, 클라이언트(210)는 그가 배치 유닛 배정을 수신한 후 그 배정받은 배치 유닛((예컨대, DUN')을 통해 그 연락처 정보를 게시할 수 있다.
각각의 배치 유닛(DU1'-DUN') 내에 통합된 GPD 레플리카(2701-270N)는 각각의 프로비저닝 서버(예컨대, 2201-220N)가 전역 프로비저닝 서비스(240)로부터 배정 정보를 획득하기 보다는, GPD 레플리카(2701-270N) 내의 정보에 기초하여 프로비저닝 판단을 스스로 행할 수 있게 해준다. 이는 클라이언트를 프로비저닝하는 데 필요한 시간을 단축시키고 전역 프로비저닝 서비스(240)의 대역폭 사용량을 감축시킨다. GPD 레플리카(2701-270N)를 배치 유닛(DU1'-DUN')에 통합시킴에 의해, 전역 프로비저닝 서비스(240) 상에서의 처리 로드가 상당히 줄어든다. 그래서, 전역 프로비저닝 서비스(240)는 전역 연락처 디렉토리(260)에 대한 변경 및 쿼리를 관리하고 GPD 레플리카(2701-270N)를 원본 GPD(250)와 주기적으로 동기화시키는 것에만 관여할 필요가 있다.
일 실시예에서, 시스템(200)은 클라이언트(예컨대, 클라이언트(210))를 재프로비저닝할 수 있다. 사용자의 재프로비저닝에는 시스템(200)에서 배치 유닛을 추가 또는 제거한 후 사용자들을 재배정하거나, 클라이언트가 한 지역에서 다른 지역으로 옮겨가면 클라이언트(210)를 재배정하거나, 또는 특정 계급의 사용자(예컨대, 베타 사용자)를 특정 배치 유닛(예컨대, 전용 베타 테스팅용)으로 이동하는 것이 바람직하거나 또는 이동할 필요가 있을 수 있지만, 이것에만 한정되는 것은 아니다. 이런 경우에, 배치 유닛들은 재-프로비저닝될 클라이언트에 대한 새로운 배정 정보를 획득하여, 나중에 클라이언트들에게 새로운 배정 정보를 전송할 것이다. 그러면 재배정받은 클라이언트들은 적절한 배치 유닛에 재연결될 것이다.
도 3은 일 실시예에 따른, 클라이언트에서 전역 서비스 프로비저닝을 수신하기 위한 프로세스(300)를 예시한다. 일부 실시예들은 도 3에 도시된 모든 단계들을 이용하지 않을 수 있다는 것을 인식할 수 있을 것이다. 또한, 일부 실시예들은 도 3에 도시되지 않은 추가의 단계들을 포함할 수 있다는 것을 인식할 수 있을 것이다. 프로세스(300)의 단계들은 컴퓨터 판독가능 매체 상에 명령어로서 저장되며 컴퓨터 프로세서 상에서 실행될 수 있다.
프로세스(300)의 단계(310)는 프로비저닝 서버에 위치 정보를 전송하는 것을 포함한다. 위치 정보는 국가 식별자 등의 지역 ID 및 클라이언트의 시간대를 포함 할 수 있지만, 이것에만 한정되는 것은 아니다. 위치 정보는 또한 계정 ID, 계정 인증서, 라이센스 유형 및 거래 ID를 포함한다.
단계(320)는 프로비저닝 서버로부터 배정 정보를 수신하는 것을 포함한다. 배정 정보는 클라이언트를 특정의 배치 유닛에 배정한다. 배정 정보는 위치 정보에 적어도 일부분 기초하며, 배정받은 배치 유닛에 대응하는 URL, 배정받은 배치 유닛에 대응하는 인증서, 권한 부여 토큰 및 해시 코드를 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 단계(330)에서, 클라이언트는 배정받은 배치 유닛에 통신에 관해 결합된다. 단계(340)에서, 클라이언트는 배치 유닛에 대해 인증을 행한다. 인증 단계는 검증을 위해 배치 유닛에 대한 프로비저닝 서버에 대응하는 계정 ID, 계정 인증서, 거래 ID, 인증 토큰 및 URL을 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 일단 클라이언트가 인증받으면, 클라이언트는 배치 유닛으로부터 서비스 수신(단계 350) 및 주기적인 업데이트(단계 360)를 시작할 수 있다.
단계(315 및 345)는 전역 연락처 디렉토리에 포함시키기 위한 클라이언트 연락처 정보를 전송하는 것을 포함한다. 이들 두 블록은 연락처 정보가 프로세스(300)의 여러 지점에서 제출될 수 있다는 것을 나타낸다. 또한, 연락처 정보는 도 3에는 미도시된 프로세스(300)의 다른 지점에서 제출될 수 있다는 것을 인식할 수 있을 것이다. 일 실시예에서, 전역 연락처 디렉토리에 연락처 정보를 게시하는 것은 클라이언트마다에 따른 가입 기능이다.
상술한 바와 같이, 특정 클라이언트를 다른 배치 유닛에 재배정할 필요가 있는 특정한 상황이 발생할 수 있다. 재배정 정보는, 있다면, 단계(360)에서 클라이 언트에 의해 수신된 업데이트에 포함된다. 단계(370)에서, 프로세스(300)는 업데이트가 재배정 필요성 정보를 포함하는가를 판단한다. 아닌 경우, 프로세스(300)는 정상 동작을 속행하고 단계(350)로 복귀한다. 엡데이트가 재배정 필요성 정보를 포함하고 있으면, 프로세스(300)는 단계(310)로 진행하여, 클라이언트(110)는 동일한 프로비저닝 단계들을 거쳐 새로운 배치 유닛을 배정받아 그 배치 유닛에 통신에 관해 결합되게 된다.
도 4A는 일 실시예에 따른, 전역 서비스 프로비저닝을 위한 프로세스(400)를 예시한다. 일부 실시예들은 도 4A에 도시된 단계들을 전부 이용하지 않을 수 있다는 것을 인식할 것이다. 또한, 일부 실시예들은 도 4A에 미도시된 추가의 단계들을 포함할 수 있다는 것을 인식할 것이다. 프로세스(400)의 단계들은 컴퓨터 판독가능 매체 상에 명령어로서 저장될 수 있으며 컴퓨터 프로세서 상에서 실행될 수 있다.
프로세스(400)는 단계(410)에서 클라이언트에 대한 위치 정보를 획득함으로써 시작된다. 위치 정보는 다양한 방법으로, 예를 들어, 클라이언트로부터 직접, 전역 네트워크 라우팅 기반구조를 통해, 클라이언트의 위치 정보와 전역 네트워크 라우팅 기반구조로부터 획득한 위치 정보의 조합으로부터 획득될 수 있다. 위치 정보는 국가 식별자 등의 지역 ID 및 클라이언트의 시간대를 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 위치 정보는 또한 계정 ID, 계정 인증서, 라이센스 유형 및 거래 ID를 포함할 수 있다.
단계(420)에서, 클라이언트가 배정받게 될 바람직한 배치 유닛을 결정한다. 단계(420)는 다양한 방법으로 달성될 수 있다. 도 4B는 일 실시예에 따라, 클라이언트가 배정받게 될 바람직한 배치 유닛을 결정하기 위한 프로세스(430)를 예시한다. 프로세스(430)의 단계(431)에서, 클라이언트의 위치 정보는 전역 데이터 센터로 전송된다. 단계(432)에서. 배정 정보는 전역 데이터 센터로부터 수신된다. 배정 정보는 클라이언트를 특정의 배치 유닛에 배정한다. 배정 정보는 위치 정보에 적어도 일부분 기초하고, 배정받은 배치 유닛에 대응하는 URL, 배정받은 배치 유닛에 대응하는 인증서, 권한 부여 토큰 및 해시 코드를 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 도 4C는 일 실시예에 따라, GPD 레플리카가 프로세스(400 및 440)를 이용하여 클라이언트가 배정받게 될 바람직한 배치 유닛에 결합될 때의, 바람직한 배치 유닛을 결정하기 위한 프로세스(440)를 도시한다. 단계(441)에서, 배정 정보는 GPD 레플리카로부터 획득된다.
단계(420)로부터, 프로세스(400)는 단계(450)로 진행하여, 배정 정보가 암호화 키로 서명된다. 이어 배정 정보는 클라이언트에게 전송된다(단계 460).
일 실시예에서, 프로세스(400)를 이용하는 장치는 그 자체가 배치 유닛일 수 있어, 서비스를 다른 현재 클라이언트에게 제공할 수 있다. 상술한 바와 같이, 특정의 현재 클라이언트를 다른 배치 유닛에 재배정할 필요가 있는 특정의 상황이 발생할 수 있다. 도 4D는 일 실시예에 따라, 현재 클라이언트를 새로운 배치 유닛에 재배정하기 위한 프로세스(470)를 예시한다. 일부 실시예들은 도 4D에 도시된 모든 단계들을 이용하지 않을 수 있다는 것을 인식할 수 있을 것이다. 또한, 일부 실시예들은 도 4D에 도시되지 않은 추가의 단계들을 포함할 수 있다는 것을 인식할 수 있을 것이다. 프로세스(470)의 단계들은 컴퓨터 판독가능 매체 상에 명령어로서 저장되며 컴퓨터 프로세서 상에서 실행될 수 있다.
단계(471)에서, 현재 클라이언트가 새로운 배치 유닛에 재배정될 필요가 있는가에 대한 판단이 이루어진다. 이런 판단은 완전히 현재 배치 유닛에 대한 내적인 것일 수 있거나(예컨대, 배치 유닛이 최대 용량에 다다름), 또는 외적인 변수(예컨대, 전역 데이터 센터로부터 현재 클라이언트에 대한 재배정을 요구하는 지시)의 결과일 수 있다. 현재 클라이언트가 재배정될 필요가 없다면, 현재 배치 유닛은 현재 클라이언트에 대해 정상 동작을 계속하고, 현재 클라이언트에게 서비스를 제공하고(단계 472) 주기적인 업데이트를 제공한다(단계 473). 현재 클라이언트가 재배정될 필요가 있으면, 프로세스(470)는 단계(474)로 진행하여, 새로운 배치 유닛이 이미 알려져 있으면 현재 클라이언트에 대해 전역 데이터 센터에 마킹한다. 단계(475)에서, 재배정 필요성 정보가 현재 클라이언트에게 제공되어, 현재 클라이언트가 동일한 프로비저닝 단계들을 효과적으로 거치도록 하여 새로운 배치 유닛을 배정받도록 하게 한다. 배정 정보는 현재 클라이언트에게 다양한 방법으로 제공될 수 있다. 예를 들어, 배정 정보는 단계(473)에서 클라이언트에 전송되는 것과 유사한 업데이트에서 현재 클라이언트에 제공될 수 있다.
도 5는 본 발명의 실시예들이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(500)의 일례를 도시한다. 컴퓨팅 시스템 환경(500)은 단지 적합한 컴퓨팅 환경의 일례로서, 본 발명의 범주 또는 기능에 대해 제한하려는 의도는 아니다. 또한, 컴퓨팅 시스템 환경(500)이 예시적인 운영 환경(500)에서 도시된 컴포넌트들의 임 의 하나 또는 조합에 관련하는 임의 종속성이나 요건을 갖는 것으로 해석되어도 안 된다.
도 5를 참조해 보면, 실시예들을 구현하는 예시적인 시스템은 컴퓨팅 시스템 환경(500)과 같은 범용 컴퓨팅 시스템 환경을 포함한다. 컴퓨팅 시스템 환경(500)은, 가장 일반적인 구성으로, 통상 적어도 하나의 처리 유닛(502) 및 메모리(504)를 포함한다. 컴퓨팅 시스템 환경의 그 구성 및 유형에 따라, 메모리(504)는 휘발성(예컨대, RAM), 비휘발성(예컨대, ROM, 플래시 메모리 등), 또는 이들 두 유형의 임의 조합일 수 있다. 이런 가장 기본적인 구성은 도 5에서 대시선(505)으로 도시되어 있다. 또한, 컴퓨팅 시스템 환경(500)은 추가의 특징/기능을 가질 수 있다. 예를 들어, 컴퓨팅 시스템 환경(500)은 자기나 광 디스크 또는 테이프를 비롯하여 추가의 저장 장치(이동식 및/또는 이동불가식 저장 장치)을 포함할 수 있지만, 이것에만 한정되는 것은 아니다. 이런 추가의 저장 장치는 도 5에서 이동식 저장 장치(508) 및 이동불가식 저장 장치(510)으로 도시되어 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보를 저장하기 위한 임의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 이동불가식 매체를 포함한다. 메모리(504), 이동식 저장 장치(508) 및 이동불가식 저장 장치(510)는 컴퓨터 저장 매체의 모든 예들이다, 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자지 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데 이용될 수 있으며 컴퓨팅 시스템 환경(500) 에 의해 액세스될 수 있는 임의 기타 매체을 포함하지만, 이것에만 한정되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체는 컴퓨팅 시스템 환경(500)의 일부일 수 있다.
컴퓨팅 시스템 환경(500)은 또한 다른 장치들과 통신을 하게 해주는 통신 연결(들)(512)을 포함할 수 있다. 통신 연결(들)(512)은 통신 매체의 일례이다. 통신 매치는 전형적으로 반송파 또는 다른 전송 메커니즘 등의 피변조 데이터 신호에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현시키며 임의 정보 전달 매체를 포함한다. "피변조 데이터 신호"란 용어는 하나 이상의 특징을 정보를 인코딩하는 방식으로 설정 또는 변경시킨 신호를 의미한다. 제한되지 않는 일례로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다. 컴퓨팅 시스템 환경(500)은 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등의 입력 장치(들)(514)을 포함할 수 있다. 디스플레이, 스피커, 프린터 등의 출력 장치(들)(516)가 또한 포함될 수 있다. 이들 장치들 모두는 당해 기술분야에 공지되어 있어서 본원에서 길게 논의할 필요는 없다.
이와 같이, 실시예들은 서비스를 전역으로 프로비저닝하는 데 매우 적합한 기술을 제공한다. 이 기술은 그 서비스를 수신할 목적으로 클라이언트들을 적합한(흔히 가장 근접해 있는) 배치 유닛을 지능적으로 배정할 수 있다. 또한, 실시 예들은 클라이언트들을 즉시 재배정함으로써 배치 유닛의 동적인 추가 또는 제거를 행할 수 있다. 이런 아키텍처는 수백만의 클라이언트들을 지원하는 데 이상적이다.
상기 실시예들은 당업자가 청구된 요지를 행하거나 이용할 수 있도록 기술되었다. 이들 실시예들은 당업자라면 쉽사리 여러 변경이 가능하다는 것을 인식할 수 있을 것으며, 본원에 기재된 전반적인 원리는 청구된 요지의 사상 및 범주를 벗어나지 않는 한 다른 실시예에도 적용가능하다. 따라서, 청구된 요지는 본원에 기재된 실시예들에만 한정되는 것이 아니라 본원에 기개된 원리 및 새로운 특징들과 일치하는 광범위한 범주와 일치된다.

Claims (20)

  1. 클라이언트(110)에게 전역적인 서비스 프로비저닝을 위한 시스템(100)으로서,
    다수의 클라이언트(110)에게 서비스를 제공하도록 구성된 복수의 배치 유닛(DU1-DUN), 및
    상기 클라이언트(110)에 대한 위치 정보를 획득하고 상기 클라이언트(110)에게 그 위치 정보에 기초하여 배정 정보를 전송하도록 구성된 프로비저닝 서버(120)-상기 배정 정보는 배치 유닛 배정을 포함하고, 또한 클라이언트(110)는 상기 프로비저닝 서버(120)에 의해 제공되는 상기 배치 유닛 배정에 기초하여 특정 배치 유닛과 통신에 관해 결합되는
    전역 서비스 프로비저닝 시스템.
  2. 제1항에 있어서,
    상기 프로비저닝 서버(120) 및 다수의 데이터베이스(150, 160)에 통신에 관해 결합되는 전역 프로비저닝 서비스(140)를 포함하고, 상기 전역 프로비저닝 서비스는 상기 프로비저닝 서버(120)로부터 위치 정보를 수신하고, 상기 위치 정보 및 상기 데이터베이스(150, 160)를 이용하여 상기 배정 정보를 결정하고, 또한 상기 전역 프로비저닝 서비스(140)는 상기 프로비저닝 서버(120)에 상기 배정 정보를 제 공하는 전역 서비스 프로비저닝 시스템.
  3. 제2항에 있어서,
    상기 프로비저닝 서버(120)는 또한 상기 클라이언트(110)로부터 연락처 정보를 수신하고 상기 연락처 정보를 상기 전역 프로비저닝 서비스(140)에 제공하도록 구성되고, 상기 다수의 데이터베이스(150, 160)는
    상기 전역 프로비저닝 서비스(140)에 통신에 관해 결합되며 상기 연락처 정보를 호스팅하는 전역 연락처 디렉토리(160)를 포함하는 전역 서비스 프로비저닝 시스템.
  4. 제2항에 있어서,
    상기 다수의 데이터베이스(150, 160)는
    상기 전역 프로비저닝 서비스(140)에 통신에 관해 결합되며 알려진 모든 배치 유닛(DU1-DUN)을 호스팅하는 전역 프로비저닝 디렉토리(150)를 포함하는 전역 서비스 프로비저닝 시스템.
  5. 제4항에 있어서,
    상기 프로비저닝 서버(120)에 통신에 관해 결합되는 상기 전역 프로비저닝 디렉토리(150)의 레플리카(170)를 더 포함하고, 상기 프로비저닝 서버(120)는 상기 전역 프로비저닝 서비스(140)를 통하기보다는 상기 전역 프로비저닝 디렉토리(150)의 상기 레플리카(170)를 선택적으로 액세스하여 상기 배정 정보를 결정하도록 구성되며, 또한 상기 전역 프로비저닝 디렉토리(150)의 상기 레플리카(170)는 상기 전역 프로비저닝 디렉토리(150)와 주기적으로 동기를 이루도록 구성되는 전역 서비스 프로비저닝 시스템.
  6. 제5항에 있어서,
    전역 프로비저닝 디렉토리(250)의 복수의 프로비저닝 서버(2201-220N) 및 복수의 레플리카(2701-270N)를 더 포함하고, 상기 전역 프로비저닝 디렉토리(250)의 상기 프로비저닝 서버(2201-220N) 및 상기 레플리카(2701-270N)는 각각의 배치 유닛(DU1'-DUN')에 통합되는 전역 서비스 프로비저닝 시스템.
  7. 제1항에 있어서,
    상기 프로비저닝 서버(120)는 상기 클라이언트(110)로부터 위치 정보를 획득하고 상기 위치 정보는 지역 ID 및 시간대를 포함하는 전역 서비스 프로비저닝 시스템.
  8. 제1항에 있어서,
    상기 프로비저닝 서버(120)는 전역 네트워크 라우팅 기반 구조로부터 위치 정보를 획득하는 전역 서비스 프로비저닝 시스템.
  9. 클라이언트에서 전역 서비스 프로비저닝을 수신하는 방법(300)으로서,
    (a) 프로비저닝 서버에 위치 정보를 전송하는 단계(310),
    (b) 상기 프로비저닝 서버로부터 배정 정보를 수신하는 단계(320)-상기 배정 정보는 상기 클라이언트를 특정의 배치 유닛에 배정하고 상기 위치 정보에 기초함-, 및
    (c) 상기 서비스를 상기 클라이언트에게 제공하는 상기 특정의 배치 유닛에 통신에 관해 결합하는 단계(330)
    를 포함하는 전역 서비스 프로비저닝 방법.
  10. 제9항에 있어서,
    (d) 상기 특정의 배치 유닛으로부터 업데이트를 주기적으로 수신하는 단계(360)를 더 포함하는 전역 서비스 프로비저닝 방법.
  11. 제10항에 있어서,
    (e) 상기 특정의 배치 유닛으로부터 재배정 필요성 정보를 수신하는 단계(360, 370)-상기 재배정 필요성 정보는 상기 클라이언트에게 재-프로비저닝을 지시함-, 및
    (f) 상기 단계 (a), (b) 및 (c)를 반복하는 단계를 더 포함하는 전역 서비스 프로비저닝 방법.
  12. 제9항에 있어서,
    상기 위치 정보는 계정 ID, 계정 인증서, 라이센스 유형, 거래 ID 및 시간대를 포함하는 전역 서비스 프로비저닝 방법.
  13. 제9항에 있어서,
    상기 배정 정보는 상기 특정의 배치 유닛에 대응하는 URL, 상기 특정의 배치 유닛에 대응하는 제1 인증서, 권한 부여 토큰, 및 해시 코드를 포함하는 전역 서비스 프로비저닝 방법.
  14. 제13항에 있어서,
    상기 권한 부여 토큰은 상기 프로비저닝 서버의 이름을 포함하는 전역 서비스 프로비저닝 방법.
  15. 제13항에 있어서,
    상기 해시 코드는 거래 ID, 상기 특정의 배치 유닛에 대응하는 상기 URL, 상기 프로비저닝 서버에 대응하는 URL, 및 상기 프로비저닝 서버에 대응하는 제2 인증서, 및 상기 계정 ID의 해시를 포함하는 전역 서비스 프로비저닝 방법.
  16. 전역 서비스 프로비저닝 방법(400)으로서,
    클라이언트에 대한 위치 정보를 획득하는 단계(410),
    상기 클라이언트가 배정받게 될 바람직한 배치 유닛을 결정하는 단계(420), 및
    상기 클라이언트에게 상기 바람직한 배치 유닛에 관한 배정 정보를 전송하는 단계(460)-상기 클라이언트는 상기 배정 정보를 수신함에 의해 상기 바람직한 배치 유닛에 통신에 관해 결합하여 상기 바람직한 배치 유닛으로부터 상기 서비스를 수신함-
    를 포함하는 전역 서비스 프로비저닝 방법.
  17. 제16항에 있어서,
    상기 배정 정보를 상기 클라이언트에게 전송하기 전에 상기 배정 정보를 암호 키로 서명하는 단계(450)를 더 포함하는 전역 서비스 프로비저닝 방법.
  18. 제16항에 있어서,
    상기 결정 단계(420)는
    상기 바람직한 배치 유닛의 결정을 위해 전역 데이터 센터에 상기 위치 정보를 전송하는 단계(431), 및
    상기 전역 데이터 센터로부터 상기 배정 정보를 수신하는 단계(432)를 포함하는 전역 서비스 프로비저닝 방법.
  19. 제18항에 있어서,
    상기 전역 데이터 센터는 알려진 모든 배치 유닛을 호스팅하는 전역 프로비저닝 디렉토리를 포함하고, 상기 결정 단계(420)는
    상기 배정 정보를 상기 전역 데이터 센터보다는 상기 전역 프로비저닝 디렉토리의 레플리카로부터 선택적으로 획득하는 단계(441)를 더 포함하는 전역 서비스 프로비저닝 방법.
  20. 제16항에 있어서,
    새로운 배치 유닛이 알려지면, 현재 클라이언트에 대해 전역 데이터 센터에 마킹하는 단계(474), 및
    상기 현재 클라이언트에게 재배정 필요성 정보를 전송하는 단계(475)-상기 재배정 필요성 정보는 상기 현재 클라이언트가 재-프로비저닝되도록 하게 함-를 더 포함하는 전역 서비스 프로비저닝 방법.
KR1020087027043A 2006-05-05 2008-11-04 배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법 KR101376815B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/418,687 US9049268B2 (en) 2006-05-05 2006-05-05 Global provisioning of millions of users with deployment units
US11/418,687 2006-05-05
PCT/US2007/010874 WO2007130595A2 (en) 2006-05-05 2007-05-04 Global provisioning of millions of users with deployment units

Publications (2)

Publication Number Publication Date
KR20090025198A true KR20090025198A (ko) 2009-03-10
KR101376815B1 KR101376815B1 (ko) 2014-03-20

Family

ID=38668345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087027043A KR101376815B1 (ko) 2006-05-05 2008-11-04 배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법

Country Status (9)

Country Link
US (3) US9049268B2 (ko)
JP (1) JP5080563B2 (ko)
KR (1) KR101376815B1 (ko)
CN (1) CN101438273B (ko)
BR (1) BRPI0711095B1 (ko)
MX (1) MX2008013946A (ko)
RU (1) RU2467381C2 (ko)
TW (1) TWI504201B (ko)
WO (1) WO2007130595A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612556B2 (en) * 2006-05-03 2013-12-17 Comcast Cable Holdings, Llc Method of provisioning network elements
US8165041B2 (en) * 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
JP6015660B2 (ja) * 2011-09-06 2016-10-26 日本電気株式会社 データ配置システム、分散アクセスノード、データ配置方法およびプログラム
US10701113B2 (en) * 2011-10-25 2020-06-30 Nokia Technologies Oy Method for securing host configuration messages
JP5914198B2 (ja) * 2012-06-14 2016-05-11 シャープ株式会社 データ配信システム、データ配信方法及び配信制御サーバー
EP2912551A1 (en) * 2012-10-23 2015-09-02 Telefonaktiebolaget LM Ericsson (Publ) Method and system for cloud service deployment
JP6399382B2 (ja) * 2014-01-08 2018-10-03 パナソニックIpマネジメント株式会社 認証システム
TWI693565B (zh) * 2018-02-08 2020-05-11 鼎新電腦股份有限公司 資料部署方法及資料部署系統
US20210211510A1 (en) * 2018-05-18 2021-07-08 Idac Holdings, Inc. Pinning service function chains to context-specific service instances
US11539787B2 (en) * 2020-04-30 2022-12-27 T-Mobile Usa, Inc. 5G enabled massively distributed on-demand personal cloud system and method

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302236A (ja) * 1994-05-06 1995-11-14 Hitachi Ltd 情報処理システムおよびその方法並びに情報処理システムにおけるサービス提供方法
US5557678A (en) * 1994-07-18 1996-09-17 Bell Atlantic Network Services, Inc. System and method for centralized session key distribution, privacy enhanced messaging and information distribution using a split private key public cryptosystem
SE510048C3 (sv) 1997-07-24 1999-05-03 Mirror Image Internet Ab Internet caching system
US6330324B1 (en) * 1997-12-09 2001-12-11 Sbc Technology Resources, Inc. Geographical call routing for a non-emergency calling service
US5987233A (en) 1998-03-16 1999-11-16 Skycache Inc. Comprehensive global information network broadcasting system and implementation thereof
US6665702B1 (en) * 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6438652B1 (en) 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
KR100708335B1 (ko) * 1999-10-04 2007-04-17 김홍년 비 영어권 국가에서의 자국어를 이용한 도메인 네임 등록 서비스 방법
US6668272B1 (en) 1999-11-05 2003-12-23 General Electric Company Internet-based process optimization system and method
KR100375121B1 (ko) 1999-12-23 2003-03-08 주식회사 아라기술 웹 콘텐츠 전송 제어 방법
US6415018B1 (en) * 2000-02-08 2002-07-02 Lucent Technologies Inc. Telecommunication system and method for handling special number calls having geographic sensitivity
US6799214B1 (en) * 2000-03-03 2004-09-28 Nec Corporation System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites
US7555542B1 (en) 2000-05-22 2009-06-30 Internap Network Services Corporation Method and system for directing requests for content to a content server based on network performance
NO323907B1 (no) 2000-07-07 2007-07-16 Ericsson Telefon Ab L M Personlig mobilt Internett
US7165116B2 (en) 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US7194764B2 (en) * 2000-07-10 2007-03-20 Oracle International Corporation User authentication
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
KR20020029441A (ko) 2000-08-21 2002-04-19 김영민 분산 서버 시스템 및 이를 이용한 데이터 제공 방법
US7152109B2 (en) 2001-04-20 2006-12-19 Opsware, Inc Automated provisioning of computing networks according to customer accounts using a network database data model
US8107937B2 (en) * 2001-07-31 2012-01-31 Nokia Corporation System and method for automatic provisioning detection and notification
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
US6782352B2 (en) 2001-12-28 2004-08-24 Inventec Corporation System and method for monitoring server host operation
US20030126203A1 (en) 2001-12-28 2003-07-03 Inventec Corporation Server system with geographical location service and method of using the same
CN100403293C (zh) 2002-01-28 2008-07-16 特瑞帝德国际公司 用于阶层式服务和内容分布的网络系统方法和协定
JP2003256308A (ja) * 2002-03-01 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信制御システムと方法およびコンテンツ配信サービス受付制御装置ならびにプログラムと記録媒体
US6871076B2 (en) 2002-07-11 2005-03-22 International Business Machines Corporation Method and system for automatically adjusting location based system information in a mobile computer
US6898435B2 (en) 2002-07-16 2005-05-24 David A Milman Method of processing and billing work orders
JP2004086697A (ja) 2002-08-28 2004-03-18 Seiko Epson Corp ネットワークにおける接続管理技術
US7310686B2 (en) * 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US7200658B2 (en) * 2002-11-12 2007-04-03 Movielink, Llc Network geo-location system
DE10256457B4 (de) 2002-12-03 2005-05-25 Siemens Ag Austausch geographischer Positionsinformation zwischen Positionsinformations-Server und Kernnetzwerk-Element
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
US20040242240A1 (en) 2003-05-27 2004-12-02 Motorola, Inc. Location assisted communications mode switching
GB2415328B (en) 2004-06-16 2006-10-04 Matsushita Electric Ind Co Ltd Method for home agent location
JP2006039738A (ja) 2004-07-23 2006-02-09 Sumitomo Metal Ind Ltd クライアントサーバシステム
JP4852938B2 (ja) * 2005-09-02 2012-01-11 富士ゼロックス株式会社 データサーバ及びデータ管理方法及びプログラム

Also Published As

Publication number Publication date
RU2008143608A (ru) 2010-05-10
JP2009536402A (ja) 2009-10-08
KR101376815B1 (ko) 2014-03-20
WO2007130595A3 (en) 2008-01-03
TW200807963A (en) 2008-02-01
RU2467381C2 (ru) 2012-11-20
US10721317B2 (en) 2020-07-21
US20190182341A1 (en) 2019-06-13
US10462235B2 (en) 2019-10-29
JP5080563B2 (ja) 2012-11-21
BRPI0711095A2 (pt) 2011-08-23
US9049268B2 (en) 2015-06-02
WO2007130595A2 (en) 2007-11-15
US20150381747A1 (en) 2015-12-31
CN101438273B (zh) 2013-08-28
MX2008013946A (es) 2008-11-12
CN101438273A (zh) 2009-05-20
BRPI0711095B1 (pt) 2018-11-21
TWI504201B (zh) 2015-10-11
US20070276900A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
KR101376815B1 (ko) 배치 유닛을 이용한 수백만 사용자의 전역 서비스 프로비저닝 시스템 및 방법
CN101390087B (zh) 域名查询解析方法、域名系统、和域名注册方法
RU2701124C2 (ru) Составные функции разбиения
US8312285B2 (en) Global profile management method and system
US20110314520A1 (en) Online service access controls using scale out directory features
US20060195688A1 (en) Method, system and program product for managing applications in a shared computer infrastructure
US20060123064A1 (en) Contents conversion communication terminal, server system, and method
US8706856B2 (en) Service directory
CN112035244A (zh) 在多租户环境中虚拟节点集群的部署
CN105978744A (zh) 一种资源分配方法、装置及系统
US8996607B1 (en) Identity-based casting of network addresses
US10819775B2 (en) Systems and methods for server failover and load balancing
CN102333070A (zh) 一种信息的获取方法和设备
US20080059475A1 (en) Numeric identifier assignment in a networked computer environment
US11652746B1 (en) Resilient consistent hashing for a distributed cache
US11683413B2 (en) Number management system, number management method, number management device and number management program
JP3873975B2 (ja) ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
US7411984B1 (en) Method of providing tone information to nodes in a packet network
JPWO2008111132A1 (ja) 通信制御システム
CN106020841A (zh) 软件推荐方法、装置及服务器
KR20050002560A (ko) 피투피 기반의 멀티미디어 콘텐츠 제공 시스템 및 그 방법
JP2005037987A (ja) ソフトウェア配信システム、配信サーバ、受信クライアント及びソフトウェア配信方法
KR20060003691A (ko) 전화번호 도메인 네이밍 방법 및 서버

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 7