KR20110026408A - 구내 고객 위치와 원격 호스팅 서비스 사이에 속성들을 동기화시키기 위한 공존 도구 - Google Patents

구내 고객 위치와 원격 호스팅 서비스 사이에 속성들을 동기화시키기 위한 공존 도구 Download PDF

Info

Publication number
KR20110026408A
KR20110026408A KR1020107016695A KR20107016695A KR20110026408A KR 20110026408 A KR20110026408 A KR 20110026408A KR 1020107016695 A KR1020107016695 A KR 1020107016695A KR 20107016695 A KR20107016695 A KR 20107016695A KR 20110026408 A KR20110026408 A KR 20110026408A
Authority
KR
South Korea
Prior art keywords
premises
customer
synchronizing
hosted
attribute
Prior art date
Application number
KR1020107016695A
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 KR20110026408A publication Critical patent/KR20110026408A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 공존 도구들이 설명된다. 이들 도구들은 고객 사이트들에 위치하는 구내 인프라에 설치하기 위해 상기 도구들을 송신하고, 호스팅되는 서비스를 통해 원격으로 고객 인프라를 관리하기 위해 상기 도구들을 실행하고, 고객 사이트에서의 속성들을 호스팅되는 서비스와 동기화시키는 방법들을 제공할 수 있다. 다른 방법들은 호스팅되는 서비스로부터 상기 도구들을 수신하고, 상기 도구들을 조작하는 것에 관련된 구성 파라미터들을 전달하고, 그 구성 파라미터들에 응답하여 상기 도구들을 실행하는 것을 포함할 수 있다. 상기 도구들은 또한 고객 인프라와 관련된 구내 서버들을 포함하는 시스템들을 제공할 수 있고, 구내 서버들은 고객 사이트에서 속성을 유지하기 위한 구내 공존 컴포넌트들을 포함한다. 이들 시스템들은 또한 호스팅되는 서비스와 관련된 관리 서버들을 포함할 수 있다. 관리 서버들은 구내 속성들의 대응물들을 유지하고 동기화시키기 위한 호스팅되는 측의 공존 컴포넌트들을 포함할 수 있다.

Description

구내 고객 위치와 원격 호스팅 서비스 사이에 속성들을 동기화시키기 위한 공존 도구{COEXISTENCE TOOLS FOR SYNCHRONIZING PROPERTIES BETWEEN ON-PREMISES CUSTOMER LOCATI0NS AND REMOTE HOSTING SERVICES}
법인 기업들은 전형적으로 그들의 컴퓨팅 인프라를 취득하고 유지하는 데에 상당한 자원들을 바친다. 이들 자원들은 인프라를 구입하거나 임대하기 위한 재정 지출 및 투입(commitments)을 포함할 수 있고, 또한 취득 후에 인프라를 유지하기 위한 지속적인 노동 비용을 포함할 수 있다.
구내 고객 위치들(on-premises customer locations)과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 공존 도구들이 설명된다. 이들 도구들은 고객 사이트들에 위치하는 구내 인프라(on-premises infrastructure)에 설치하기 위해 상기 도구들을 송신하고, 호스팅되는 서비스를 통해 원격으로 고객 인프라를 관리하기 위해 상기 도구들을 실행하고, 고객 사이트에서의 속성들을 호스팅되는 서비스와 동기화시키는 방법들을 제공할 수 있다. 다른 방법들은 호스팅되는 서비스로부터 상기 도구들을 수신하고, 상기 도구들을 조작하는 것에 관련된 구성 파라미터들을 전달하고, 그 구성 파라미터들에 응답하여 상기 도구들을 실행하는 것을 포함할 수 있다. 상기 도구들은 또한 고객 인프라와 관련된 구내 서버들을 포함하는 시스템들을 제공할 수 있고, 구내 서버들은 고객 사이트에서 속성을 유지하기 위한 구내 공존 컴포넌트들을 포함한다. 이들 시스템들은 또한 호스팅되는 서비스와 관련된 관리 서버들을 포함할 수 있다. 관리 서버들은 구내 속성들의 대응물들(counterparts)을 유지하고 동기화시키기 위한 호스팅되는 측의 공존 컴포넌트들(hosted-side coexistence components)을 포함할 수 있다.
전술한 내용은 또한 방법, 컴퓨터 제어되는 장치, 컴퓨터 프로세스, 컴퓨팅 시스템으로서, 또는 컴퓨터 판독가능 매체와 같은 제조물로서 구현될 수 있다. 이들 및 다양한 다른 특징들은 다음의 상세한 설명을 읽고 관련 도면들을 검토하는 것으로부터 명백할 것이다.
이 개요는 아래 상세한 설명에서 더 설명되는 개념들 중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 내용의 중요한 특징들 또는 본질적인 특징들을 식별하기 위해 의도된 것이 아니고, 그것은 청구된 내용의 범위를 제한하기 위해 이용되도록 의도되어 있지도 않다. 또한, 청구된 내용은 이 명세의 임의의 부분에서 지적된 임의의 또는 모든 불리점들을 해결하는 구현들에 제한되지 않는다.
도 1은 구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 시스템들 또는 운영 환경들을 예시하는 조합된 블록 및 흐름도이다.
도 2는 구내 컴포넌트들과 호스팅되는 서비스 컴포넌트들 사이의 관계들의 추가적인 상세를 예시하는 조합된 블록 및 흐름도이다.
도 3은 호스팅되는 서비스 컴포넌트들에 관한 추가적인 상세를 예시할 뿐만 아니라, 그들 사이의 데이터 및/또는 프로세스 흐름들을 예시하는 조합된 블록 및 흐름도이다.
도 4는 구내 공존 서버와 관리 서버 사이에 다양한 유형의 데이터가 교환되는 동기화 시나리오들을 예시하는 블록도이다.
도 5는 여기에 설명된 공존 도구들이 고객 구내에서 및 호스팅되는 서비스들 내에서 수행할 수 있는 프로세스들을 예시하는 조합된 프로세스 및 데이터 흐름도이다.
도 6은 호스팅되는 비즈니스 서비스들이 상이한 고객 구내에서 상이한 고객 인프라들과 공존할 수 있는 시나리오들을 예시하는 블록도이다.
다음의 상세한 설명은 구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 기술들에 관련된다. 여기에 설명된 내용은 컴퓨터 시스템 상의 운영 체제 및 애플리케이션 프로그램들의 실행과 관련하여 실행되는 프로그램 모듈들의 일반적인 컨텍스트에서 제시되지만, 숙련된 당업자들은 다른 유형의 프로그램 모듈들과 협력하여 다른 구현들이 수행될 수 있다는 것을 인지할 것이다. 일반적으로, 프로그램 모듈들은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 다른 유형의 구조들을 포함한다. 또한, 숙련된 당업자들은 여기에 설명된 내용은 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 가전제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성들과 함께 실시될 수 있다는 것을 알 것이다.
다음의 상세한 설명에서는, 본 명세서의 일부를 형성하고, 특정한 실시예들 또는 예들이 예시로서 도시되어 있는 첨부 도면들이 참조된다. 이제, 같은 번호들이 몇몇 도면들을 통하여 같은 엘리먼트들을 나타내고 있는 도면들을 참조하여, 구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 도구들 및 기법들의 양태들이 설명될 것이다.
도 1은 구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한, 일반적으로 100에서 표시된, 시스템들 또는 운영 환경들을 예시한다. 이들 시스템들(100)은 하나 이상의 서버 시스템들(102)을 포함할 수 있고, 도 1은 관리 웹 서비스로서 동작하는 서버의 예를 예시한다. 관리 웹 서비스는, 일반적으로 106에서 표시된, 호스팅되는 서비스 컴포넌트들의 세트가, 하나 이상의 고객들의 구내에 위치하는, 일반적으로 104에서 표시된, 복수의 컴포넌트들과 공존하는 것을 가능하게 할 수 있다.
구내 컴포넌트들(104) 및 호스팅되는 서비스 컴포넌트들(106)은 일반적으로 108에서 표시된 네트워크 인프라를 통해 서로 통신할 수 있다. 이 네트워크 인프라(108)는 예를 들면 LAN(local area networks), 지역 네트워크(regional networks), 또는 글로벌 통신 네트워크(예를 들면, 인터넷)를 포함하는, 네트워크들 중 하나 이상의 인스턴스들을 나타낼 수 있다. 도 1에서 네트워크(108)의 표현을 통하여 지나가는 대시 기호로 된 선은 일반적으로 호스팅되는 서비스 컴포넌트들(106)과 구내 컴포넌트들(104) 사이의 경계를 나타낸다.
구내 컴포넌트들(104) 및 호스팅되는 서비스 컴포넌트들(106)은 네트워크(108)를 통하여 통신하기 때문에, 컴포넌트들(104 및 106)은 다른 또는 이종의 네트워크들 또는 운영 환경들에 걸쳐서 동작할 수 있다. 더 구체적으로는, 컴포넌트들(104 및 106)을 호스팅하는 물리적 하드웨어는 서로 원격에 있을 수 있다(즉, 물리적으로 및/또는 지리적으로 분리되거나, 또는 하나 이상의 네트워크 경계들에 의해 분리될 수 있다). 이들 상이한 운영 환경들은 그것들이 상이한 운영 체제들을 실행할 수 있다는 점에서 다를 수 있다. 예를 들면, 이들 환경들은 마이크로소프트로부터 입수 가능한 WINDOWS® 계열의 운영 체제들 내의 상이한 운영 체제들을 실행할 수 있고, 또는 다른 벤더들에 의해 제공되는 운영 체제들과 조합된 그러한 운영 체제들의 인스턴스들을 실행할 수 있고, 또는 그러한 다른 벤더들에 의해 제공되는 운영 체제들의 인스턴스들을 실행할 수 있다. 다른 예들에서, 이들 상이한 운영 환경들은 상이한 인증 메커니즘들을 채용할 수 있다. 전형적으로, 호스팅되는 컴포넌트들은, 표준 프로토콜을 제외하고는, 구내 컴포넌트들과 공통점이 거의 없을 수 있다. 트러스트된 링크를 통하여 통신하는 2개 이상의 엔티티들을 수반할 수 있는 이전의 공존 도구들과 대조를 이루어, 여기에 설명된 공존 도구들은 하나 이상의 트러스트되지 않는 네트워크 링크들을 통하여 통신할 수 있다.
도 1은 하나의 관리 서버 시스템(102)을 예시하고 있지만, 여기의 설명의 구현들은 임의의 수의 서버들을 포함할 수 있다. 서버 시스템들뿐만 아니라, 도면의 다른 곳에 예시된 다른 항목들을 도시하기 위해 도 1에서 이용되는 그래픽 요소들은 여기의 설명의 가능한 구현들을 제한하기 위해서가 아니라 단지 예시를 용이하게 하기 위해 선택되었다.
관리 서버들(102)을 더 상세히 살펴보면, 이들 서버들은 특정한 구현들을 위해 적절한 것으로 선택된 특정한 유형 또는 아키텍처를 가질 수 있는 하나 이상의 프로세서들(110)을 포함할 수 있다. 프로세서들(110)은 프로세서들(110)과의 호환성을 위해 선택된 하나 이상의 버스 시스템들(112)에 연결될 수 있다.
서버들(102)은 또한 버스 시스템(112)에 연결되는 컴퓨터 판독가능 저장 매체(114)의 하나 이상의 인스턴스들을 포함할 수 있다. 버스 시스템들은 프로세서들(110)이 컴퓨터 판독가능 저장 매체(114)로/로부터 코드 및/또는 데이터를 판독하는 것을 가능하게 할 수 있다. 매체(114)는 반도체, 자기 재료, 광학 등을 포함하지만, 이들에 제한되지 않는 임의의 적합한 기술을 이용하여 구현된 저장 엘리먼트들을 나타낼 수 있다. 매체(114)는, RAM으로 분류되든, ROM으로 분류되든, 플래시로 분류되든, 또는 다른 유형으로 분류되든 간에, 메모리 컴포넌트들을 포함할 수 있고, 또한 하드 디스크 드라이브들을 나타낼 수 있다.
저장 매체(114)는, 프로세서(110)에 로딩되어 실행될 때, 서버(102)로 하여금 구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 다양한 기법들을 수행하게 하는, 명령어들의 하나 이상의 모듈들을 포함할 수 있다. 이 설명의 전반에 걸쳐서 상세히 설명되는 바와 같이, 이들 서버들(102)은 여기에 설명된 컴포넌트들 및 데이터 구조들을 이용하여 공존 서비스들을 제공할 수 있다.
컴퓨터 판독가능 매체(114)를 더 상세히 살펴보면, 이들은 일반적으로 116에서 표시된 하나 이상의 호스팅되는 측의 공존 컴포넌트들을 포함할 수 있다. 공존 컴포넌트들(116)은, 예를 들면, 실행될 때, 서버(102)로 하여금, 관리 웹 서비스를 수행하는 것과 관련하여 그것에 할당된 기능들 중 임의의 것을 수행하게 하는 임의의 수의 소프트웨어 모듈들을 나타낼 수 있다.
호스팅되는 측의 공존 소프트웨어 컴포넌트(116)는 호스팅되는 서비스 컴포넌트들(106)의 인스턴스일 수 있다. 더 구체적으로는, 호스팅되는 측의 공존 컴포넌트들(116)은 하나 이상의 고객 사이트들의 구내에 위치하는 하나 이상의 구내 컴포넌트들(104)과 네트워크(108)를 통하여 통신할 수 있다. 도 1은 118에서 호스팅되는 서비스 컴포넌트들(106)과 구내 컴포넌트들(104) 사이의 공존을 가능하게 하는 것에 관련된 임의의 데이터 및/또는 프로세스 흐름들을 표시한다.
구내 컴포넌트들 또는 속성들(104)을 더 상세히 살펴보면, 이들 컴포넌트들은 복수의 사용자들과 각각 관련되어 있는 아이덴티티(identity)들, 문서들, 계정들, 및 다른 속성들을 관리하도록 기능하는 하나 이상의 서브시스템들 또는 서버들(120)을 포함할 수 있다. 도 1에 도시된 예에서 나타내어진 바와 같이, 서브시스템들(120)은 하나 이상의 서버들로 구현될 수 있다. 아이덴티티 관리 서브시스템의 비제한적인 예들은 워싱턴주 레드먼드의 마이크로소프트사로부터 입수 가능한 액티브 디렉터리(ACTIVE DIRECTORYTM) 서비스를 포함할 수 있지만, 여기의 설명의 구현들은 노벨 이디렉터리(Novell eDirectoryTM)(이전의 Novell NDSTM, 로터스 도미노(Lotus DOMINOTM) 등을 포함하지만 이들에 제한되지 않는, 다른 벤더들에 의해 제공되는 아이덴티티 관리의 예들을 기꺼이 포함할 수 있다.
구내 컴포넌트들(104)은 또한 하나 이상의 사용자들을 위하여 통신, 전자 메일, 콘택트 정보 등을 관리하기 위한 하나 이상의 서브시스템들 또는 서버들(122)을 포함할 수 있다. 콘택트 관리 서브시스템(122)의 비제한적인 예들은 마이크로소프트로부터 입수 가능한 익스체인지(EXCHANGETM) 전자 메일 관리 서비스, IBM으로부터 입수 가능한 노트(NOTESTM) 서비스, 또는 다른 벤더들로부터의 제품들을 포함할 수 있다.
도 1은 또한 일반적으로 애플리케이션, 서버, 서비스, 계정, 또는 다른 속성들을 나타내는 구내 고객 속성(on-premises customer property)(124)을 예시한다. 다른 속성들(124)은 일반적으로 호스팅되는 서비스 컴포넌트들(106)과 구내 컴포넌트들(104) 사이의 공존을 달성하기 위한 여기에 설명된 도구들 및 기법들이 아이덴티티 관리 서브시스템(120) 및/또는 콘택트 관리 서브시스템(122)을 넘어서 확장될 수 있다는 것을 나타낸다. 예를 들면, 속성(124)은 마이크로소프트로부터 입수 가능한 셰어포인트(SHAREPOINTTM)와 같은 협력 도구들, 또는 다른 벤더들로부터 입수 가능한 유사한 협력 도구들을 나타낼 수 있다.
구내 컴포넌트들(104)은 또한 다양한 서브시스템들(120, 122, 및 124)에의 인터페이스 또는 커넥터로서 기능하는 하나 이상의 서버들(126)을 포함할 수 있다. 이 점에서, 서버(126)는 또한 서브시스템들(120, 122, 및 124)에의 게이트웨이 또는 동기화 에이전트로서 구실을 할 수 있다. 도 1은 가능한 구현들을 제한하기 위해서가 아니라 단지 참조 및 설명의 용이함을 위하여 서브시스템들(120, 122, 및 124)과 별도로 서버(126)를 예시한다는 것에 유의한다. 더 구체적으로는, 여기의 논의는 다양한 기능들을 서버(126)에 의해 수행되는 것으로 기술할 수 있지만, 이 설명의 구현들은 이들 기능들을 하나 이상의 다른 컴포넌트들에 할당할 수 있다.
커넥터 서버(126)를 더 상세히 살펴보면, 그것은 특정한 구현을 위해 적절한 것으로서 선택된 특정한 유형 또는 아키텍처를 가질 수 있는 하나 이상의 프로세서들(128)을 포함할 수 있다. 프로세서들(128)의 유형 또는 아키텍처는 관리 서버(102)와 함께 설명된 프로세서들(110)의 유형 또는 아키텍처와 동일하거나 동일하지 않을 수 있다. 프로세서들(128)은 프로세서들(128)과의 호환성을 위해 선택되는 하나 이상의 버스 시스템들(130)에 연결될 수 있다.
서버들(126)은 또한 버스 시스템(130)에 연결되는 컴퓨터 판독가능 매체(132)의 하나 이상의 인스턴스들을 포함할 수 있다. 버스 시스템들은 프로세서들(128)이 컴퓨터 판독가능 저장 매체(132)로/로부터 코드 및/또는 데이터를 판독하는 것을 가능하게 할 수 있다. 매체(132)는 반도체, 자기 재료, 광학 등을 포함하지만, 이들에 제한되지 않는 임의의 적합한 기술을 이용하여 구현된 저장 엘리먼트들을 나타낼 수 있다. 매체(132)는, RAM으로 분류되든, ROM으로 분류되든, 플래시로 분류되든, 또는 다른 유형으로 분류되든 간에, 메모리 컴포넌트들을 포함할 수 있고, 또한 하드 디스크 드라이브들을 나타낼 수 있다.
저장 매체(132)는, 프로세서(128)에 로딩되어 실행될 때, 서버(126)로 하여금 구내 고객 위치들과 원격 호스팅 서비스들 사이에 속성들을 동기화시키기 위한 다양한 기법들을 수행하게 하는, 명령어들의 하나 이상의 모듈들을 포함할 수 있다. 이 설명의 전반에 걸쳐서 상세히 설명되는 바와 같이, 이들 서버들(126)은 도 1과 관련하여 설명된 컴포넌트들 및 데이터 구조들을 이용하여 공존 서비스들을 제공할 수 있다.
컴퓨터 판독가능 매체(132)를 더 상세히 살펴보면, 그것은 일반적으로 134에서 표시된 구내 공존 컴포넌트들의 하나 이상의 인스턴스들을 포함할 수 있다. 공존 컴포넌트들(134)은, 예를 들면, 실행될 때, 서버(126)로 하여금, 관리 웹 서비스를 수행하는 것과 관련하여 그것에 할당된 기능들 중 임의의 것을 수행하게 하는 임의의 수의 소프트웨어 모듈들을 나타낼 수 있다. 더 구체적으로는, 구내 컴포넌트들(134)은 호스팅되는 서비스 컴포넌트들(106)과 구내 컴포넌트들(104) 사이의 공존의 레벨을 가능하게 하기 위해 호스팅되는 측의 컴포넌트들(116)과 네트워크(108)를 통하여 통신할 수 있다.
예시적인 시나리오에서, 관리 웹 서비스 서버(102)는 하나 이상의 고객들을 위하여 호스팅되는 비즈니스 서비스들을 운영할 수 있다. 그리고, 이들 고객들은 호스팅되는 비즈니스 서비스들에 가입하는 것에 더하여, 그들 자신의 구내에서 다양한 서브시스템들(예를 들면, 120, 122, 및/또는 124)을 운영할 수 있다. 그러한 환경들에서, 호스팅되는 비즈니스 서비스들은, 예를 들면, 고객의 구내 인프라의 적어도 일부 양태들을 복제할 수 있다. 그들의 호스팅되는 비즈니스 서비스들은 또한 고객과 관련된 사용자들이 직접 구내 컴포넌트들을 통하여 또는 호스팅되는 비즈니스 서비스들을 통하여 고객 인프라와 상호 작용하는 것을 가능하게 할 수 있다. 또한, 호스팅되는 비즈니스 서비스들은, 구내 고객 인프라를 통해 행해졌든, 또는 호스팅되는 비즈니스 서비스들을 통하여 행해졌든 간에, 속성들 또는 계정들에 대해 사용자들에 의해 행해진 변경들을 동기화시킬 수 있다.
이들 예시적인 시나리오에서, 고객의 기업은, 전체로서, 고객 인프라에 걸쳐서뿐만 아니라, 호스팅되는 비즈니스 서비스들에도 분포될 수 있다. 따라서, 여기에 설명된 도구들 및 기법들은 (예를 들면, 호스팅되는 서비스 컴포넌트들(106)에 의해) 원격으로 호스팅되는 고객의 기업의 양태들과 함께 고객의 구내 인프라(예를 들면, 컴포넌트들 또는 속성들(104))을 관리할 수 있다. 이런 식으로, 이들 도구들 및 기법들은 구내에 전개되고 원격으로 포스팅되는 고객 인프라의 양태들을 갖는 것으로부터 생길 수 있는 관리 노력의 중복을 피할 수 있다.
도 1은 136에서 구내 컴포넌트들(134)과 네트워크(108) 사이의 공존을 달성하는 것에 관련된 임의의 데이터, 프로세스, 및/또는 다른 흐름들을 표시한다. 이들 흐름들(136)은 주어진 고객 기업에서 호스팅되는 비즈니스 서비스 사이의 공존을 달성하는 것에 관련된 그러한 데이터, 프로세스 및/또는 흐름들을 나타낼 수 있다. 단지 예시의 명료함을 위하여, 도 1은 단 하나의 고객 기업만을 예시하지만, 여기에 설명된 도구들 및 기법들은 임의의 수의 고객 기업들을 지원할 수 있다는 것은 말할 것도 없다.
주어진 고객 기업 내에서, 로컬 흐름들(138)은 기업 내의 다양한 구내 서브시스템들(예를 들면, 120, 122, 및/또는 124) 사이의 흐름들을 나타낸다. 이들 로컬 흐름들(138)은 또한, 그 로컬 흐름들이 공존 흐름들(136)의 주어진 인스턴스를 유발하든, 또는 공존 흐름들(136)의 주어진 인스턴스로부터의 결과이든 간에, 공존 흐름들(136)에 어떻게든 해서 관련되어 있는 로컬 흐름들을 나타낼 수 있다.
서버(126), 또는 더 구체적으로는 구내 공존 컴포넌트들(134)은 미리 존재하는 동기화 엔진(도 1에 도시되지 않음)과 관련하여 구현될 수 있다. 그러한 동기화 엔진들은 비교적 노련한 사용자들 또는 관리자들이 동기화 엔진들의 동작을 제어하는 다양한 파라미터들을 미세 조정하거나 구성하는 것을 가능하게 하는 다양한 사용자 인터페이스들(UI들)을 제공할 수 있다. 그러나, 공존 컴포넌트들은 미리 존재하는 동기화 엔진을 프로그램적으로 구성하고, 따라서 그것의 동작의 상세를 덜 훈련된 관리자들로부터 보호할 수 있다.
도 1에 도시된 운영 환경들 또는 시스템들을 설명하였고, 이제 논의는 구내 및 호스팅되는 측의 공존 컴포넌트들에 관한 설명으로 진행한다. 이 설명은 이제 도 2와 함께 제시된다.
도 2는 구내 컴포넌트들과 호스팅되는 서비스 컴포넌트들 사이의 관계에 대한, 일반적으로 200에서 표시된, 추가 상세들을 예시한다. 제한이 아니라, 참조의 용이함을 위하여, 도 2는 유사한 항목들을 지시하기 위해 이전의 도면들로부터의 일부 참조 번호들을 이월할 수 있다. 예를 들면, 도 2는 구내 공존 소프트웨어 컴포넌트들(134), 호스팅되는 측의 공존 소프트웨어 컴포넌트들(116), 네트워크(108)를 통하여 흐를 수 있는 공존 흐름들(118 및 136), 고객 구내 안에서 일어날 수 있는 로컬 흐름들(138), 호스팅되는 측의 컴포넌트들(106)의 일반적인 표현, 비구내(non-premises) 컴포넌트들(104)의 일반적인 표현, 및 고객 속성 예들(예를 들면, 서브시스템들(120, 122, 및 124))을 이월한다.
도 2를, 더 구체적으로 호스팅되는 컴포넌트들(106)을 더 상세히 살펴보면, 이들 컴포넌트들은, 어떤 점에서, 주어진 고객 시설에서 구내에 제공된 인프라의 양태들을 복제할 수 있다. 예를 들면, 고객 시설에서의 구내 컴포넌트들(104)이 아이덴티티 관리 서브시스템(예를 들면, 120)을 포함한다고 가정하면, 호스팅되는 측의 컴포넌트들(106)은 202에서 표시된 대응하는 아이덴티티 관리 서브시스템을 포함할 수 있다. 아이덴티티 관리 서브시스템(202)은 그 자신의 서버에 존재할 수 있고, 또는 하나 이상의 다른 호스팅되는 측의 컴포넌트들(106)과 물리적 박스를 공유할 수 있다. 아래에 더 상세히 설명되는 바와 같이, 공존 소프트웨어 컴포넌트들(116 및 134)은 2개의 서브시스템들(120 및 202) 사이에 저장된 데이터 및/또는 속성들의 최소한의 부분을 복제할 수 있다. 도 2는 이 복제를, 서브시스템들(120 및 202) 사이의 공존을 유지하는 것에 기인하는 공존 흐름들(118 및 136)의 그 부분을 일반적으로 나타내는, 점선(204)으로 나타낸다.
유사하게, 구내 컴포넌트들(104)이 메일/콘택트 관리 서브시스템(122)을 포함한다고 가정하면, 호스팅되는 측의 컴포넌트들(106)은 대응하는 메일/콘택트 관리 서브시스템(206)을 포함할 수 있다. 도 2는 점선(208)에서 서브시스템들(122 및 206) 사이의 정보 및/또는 속성들의 복제를 표시한다.
마지막으로, 구내 컴포넌트들(104)이 일반 고객 서브시스템(124)을 포함한다고 가정하면, 호스팅되는 측의 컴포넌트들(106)은 대응하는 서브시스템(210)을 포함할 수 있다. 도 2는 점선(212)에서 서브시스템들(124 및 210) 사이의 정보 및/또는 속성들의 복제를 표시한다.
호스팅되는 측의 소프트웨어 컴포넌트들(116)은 호스팅되는 측의 컴포넌트들(106) 내에 포함된 다양한 서브시스템들을 이용하여 및 그 다양한 서브시스템들 사이에 로컬 흐름들(214)을 용이하게 할 수 있다. 도시된 바와 같이, 그러한 서브시스템들의 예들은 202, 206, 및 210에 도시된 것들을 포함할 수 있다.
운영상의 예로서, 아이덴티티 관리 서브시스템(120)의 일부 양태들이 고객 사이트의 구내에서 변화한다고 가정한다. 그리고, 로컬 흐름들(138)은 이 변화를 구내 공존 컴포넌트들(134)에 제시할 수 있다. 그 후 이들 컴포넌트들(134)은 이 변화의 통지를 제공하는 공존 흐름들(136)을 생성할 수 있고, 그것은 이들 흐름들(136)을 네트워크(108)를 통하여 호스팅되는 측의 공존 컴포넌트들(116)에 송신할 수 있다. 그리고, 공존 컴포넌트들(116)은 흐름들(136)에 대응하고 서브시스템(120) 상에서 일어난 변화의 통지들을 포함하는 공존 흐름들(118)을 수신할 수 있다.
호스팅되는 측에서, 공존 컴포넌트들(116)은 흐름들(118)로부터 서브시스템(120)에 대한 변화의 통지를 추출하고, 고객 구내에서 변화한 서브시스템(120)에 대응하는 호스팅되는 측의 서브시스템을 식별할 수 있다. 이 예에서, 호스팅되는 측의 서브시스템(202)은, 점선(204)에 의해 나타내어진 바와 같이, 변화된 구내 서브시스템(120)에 대응한다. 따라서, 공존 컴포넌트들(116)은 서브시스템(202)에의 로컬 흐름들(214)을 생성할 수 있다. 그리고, 이들 흐름들은 무엇이든 구내 서브시스템(120)에서 일어난 변화로 서브시스템(202)을 업데이트할 수 있고, 그에 의해 구내 서브시스템(120) 및 호스팅되는 측의 서브시스템(202)이 공존하는 것을 가능하게 할 수 있다.
전술한 예는 여기에 설명된 도구들 및 기법들이 어떻게 임의의 수의 구내 서브시스템들 또는 컴포넌트들(예를 들면 일반적으로 104, 예로는 120, 122 및/또는 124)이 호스팅되는 측의 서브시스템 또는 컴포넌트들의 대응하는 인스턴스들(예를 들면 일반적으로 106, 예로는 202, 206 및/또는 210)과 공존하는 것을 가능하게 할 수 있는지를 예시한다. 도 2에서, 점선들(204, 208, 및 212)은 다양한 구내 컴포넌트들(104)과 호스팅되는 측의 컴포넌트들(106) 사이의 관계들을 나타낸다. 그러나, 통신 또는 흐름들은 이들 서브시스템들 사이에 직접 지나가거나 그렇지 않을 수 있지만, 대신에 공존 컴포넌트들(134 및 116)을 통하여 흐를 수 있다.
도 2에서는 구내 컴포넌트들과 호스팅되는 서비스 컴포넌트들 사이의 관계들의 추가 상세를 설명하였고, 이제 논의는 호스팅되는 서비스 컴포넌트들, 및 그들 사이의 관계들에 대한 더 상세한 설명으로 향한다. 이 설명은 이제 도 3과 함께 제시된다.
도 3은 호스팅되는 서비스 컴포넌트들에 관한, 일반적으로 300에서 표시된, 추가적인 상세들 예시할 뿐만 아니라, 그들 사이의 데이터 및/또는 프로세스 흐름들을 예시한다. 제한이 아니라, 참조의 용이함을 위하여, 도 3은 유사한 항목들을 지시하기 위해 이전의 도면들로부터의 일부 참조 번호들을 이월할 수 있다. 예를 들면, 도 3은 네트워크(108), 호스팅되는 서비스 컴포넌트들(106), 공존 흐름들(118), 서버(102), 호스팅되는 측의 공존 소프트웨어(116), 및 호스팅되는 서브시스템들의 예들(202, 206, 및 210)을 이월한다.
전술한 바와 같이, 관리 웹 서비스를 위한 서버(102)는 다양한 호스팅되는 서비스 컴포넌트들(106)과 고객 구내에서 현지에 위치하는 대응하는 컴포넌트들 또는 서브시스템들 사이의 공존을 가능하게 하는 소프트웨어 컴포넌트들(116)을 포함할 수 있다. 도 3에 도시된 예에서, 호스팅되는 서비스 컴포넌트들(106)은 서브시스템들(202, 206, 및/또는 210)을 포함할 수 있다. 도 3은 또한 로컬 데이터/프로세스 흐름들(214)의 예들을 이월하고, 이들 로컬 흐름들의 특정한 인스턴스들이 도 3에서 적절하게 나타내어져 있다. 예를 들면, 흐름들(214)은 공존 소프트웨어(116)를 SOM(service object model)을 호스팅하는 서버(302)와 연결할 수 있다.
SOM을 호스팅하는 서버(302)(이하에서, SOM 서버)를 살펴보면, SOM은 관리 웹 서비스에 걸쳐서 이용되는 공통의 개체 모델을 나타낼 수 있다. 예를 들면, SOM은 다양한 호스팅되는 서비스 컴포넌트들(106)에 걸쳐서 전개되는 공통의 로직을 통합할 수 있다. 도시된 예에서, SOM을 호스팅하는 서버(302)는, 대시 기호로 된 선(304a)에 의해 나타내어진 바와 같이, 호스팅되는 아이덴티티 관리 서브시스템(202)과 통신할 수 있다. 또한, 서버(302)는 또한, 각각의 대시 기호로 된 선들(304b 및 304c)에 의해 나타내어진 바와 같이, 서브시스템들(206 및 210)과 통신할 수 있다. 도 3에서, 로컬 데이터 흐름들(214)은 아이덴티티 관리 서브시스템(202), 호스팅되는 메일/콘택트 관리 서브시스템(206), 및 호스팅되는 고객 서브시스템(210) 중 어느 하나 또는 그 이상의 것과 공존 소프트웨어(116) 사이의 통신을 나타낼 수 있다.
SOM 서버(302)는 또한 사용자 인터페이스(UI)를 제시할 수 있고, 그것에 의해 고객 사이트와 관련된 관리 직원이 관리 웹 서비스와 상호 작용할 수 있다. 도 3은 이 UI의 예를 관리 포털(admin portal)(306)로서 예시하고, 308에서 관리 직원(admin personnel)의 예를 예시한다. 관리 직원(308)은, 관리 포털(306)을 제시할 수 있는, 콘솔 또는 데스크톱(310)에 액세스할 수 있다. 관리 직원은, 예를 들면, 관리자가 책임을 맡고 있는 고객 사이트에 대한 관리 웹 서비스, 또는 여기에 설명된 다른 기능 예들을 구성하기 위해 적절하게 관리 포털과 상호 작용할 수 있다. 도 3은 일반적으로 이들 상호 작용들을 312에서 나타낸다. 이들 상호 작용들은 초기 구성들뿐만 아니라, 일단 동작들이 진행중이면 일어날 수 있는 재구성들을 나타낼 수 있다.
관리 서버(102)는 적어도 부분적으로 공존 흐름들(118 및 136)을 용이하게 하기 위해 고객 데이터 센터들에 API(application program interface)들의 세트를 익스포즈(expose)할 수 있다. 관리 서버(102)는 또한 그를 통해 관리 서버가 호스팅되는 서비스들의 일부로서 사용자들 및 개체들을 준비(provision)할 수 있는 SOM 서버(302)를 통하여 API들의 제2 세트를 익스포즈할 수 있다.
호스팅되는 서비스 컴포넌트들, 및 그들 사이의 데이터 및/또는 프로세스 흐름들에 관한 추가 상세들을 설명하였고, 이제 논의는 구내 컴포넌트들과 호스팅되는 서비스 컴포넌트들 사이에 동기화될 수 있는 유형들에 대한 설명으로 향한다. 이 설명은 이제 도 4와 함께 제시된다.
도 4는 예를 들면 구내 공존 서버와 관리 웹 서비스와 관련된 서버 사이에 다양한 유형의 데이터가 교환되는, 일반적으로 400에서 표시된, 동기화 시나리오들을 예시한다. 제한이 아니라, 참조의 용이함을 위하여, 도 4는 유사한 항목들을 지시하기 위해 이전의 도면들로부터의 일부 참조 번호들을 이월할 수 있다. 예를 들면, 도 4는 서버들(126 및 102)을 이월한다.
먼저 주어진 고객의 구내에 위치하는 컴포넌트들(104)을 살펴보면, 도 4는 주어진 고객 기업과 관련된 구내 컴포넌트들(104)에 액세스하고 있을 수 있는 사용자 예들(402a 및 402n)(집합적으로, 사용자들(402))을 예시한다. 예를 들면, 이들 사용자들은 하나 이상의 서버들(예를 들면, 도 1에 도시된 120, 122, 및/또는 124)에 액세스할 수 있다. 도 4는 사용자들(402a 및 402n)을 예시하고 있지만, 이 설명의 구현들은 임의의 수의 사용자들을 수용할 수 있다.
그리고, 구내 컴포넌트들(104)은 사용자들(402)과 관련된 각각의 계정 레코드들을 유지할 수 있다. 특정한 사용자들에 대하여 유지되는 계정 레코드들의 정확한 내용은, 특정한 사용자들에게 액세스 가능하게 되는 서버들, 애플리케이션들, 및/또는 서비스들에 따라서, 변할 수 있다. 그러므로, 도 4는 계정 레코드들이 유지할 수 있는 정보의 다양한 예들을 제시하고, 이 설명의 구현들은 이 설명의 범위 및 정신에서 벗어나지 않고 다를 수 있다는 것을 명심한다.
도 4는 404a 및 404n에서 표시된, 고객 구내에 유지되는 계정 레코드들의 예들(집합적으로, 계정 레코드들(404))을 제공한다. 계정 레코드들(404)의 각각의 인스턴스들은, 계정 레코드들(404) 및 사용자들(402)을 연결하는 대시 기호로 된 선들에 의해 나타내어진 바와 같이, 각각의 사용자들(402)과 관련될 수 있다. 도 4는 계정 레코드들의 2개의 예를 예시하지만, 이 설명의 구현들은 각각의 사용자들과 임의의 편리한 관계를 가질 수 있는, 임의의 수의 계정 레코드들을 수용할 수 있다는 것에 유의한다. 예시의 명료함을 위하여, 도 4는 계정 레코드(404a)의 예 시적인 내용들에 대해서 상세히 설명하지만, 이 설명은 계정 레코드들(404) 중 임의의 것에 적용될 수 있다는 것은 말할 것도 없다.
계정 레코드(404a)를 더 상세히 살펴보면, 계정 레코드 예들은 일반적으로 406에서 표시된 콘택트 목록 정보를 유지할 수 있다. 콘택트 목록 정보(406)의 예들은 특정한 사용자들에 의해 유지되는 전자 메일 주소 목록들, GAL(global address list)들, 배포 리스트들(distribution lists) 등을 포함할 수 있다.
계정 레코드들(404)은 일반적으로 408에서 표시된, 특정한 사용자들과 관련된 문서들 또는 파일들을 유지할 수 있다. 이들 문서들 또는 파일들의 특정한 유형 또는 포맷은, 사용자들(402)에게 이용 가능하게 되는 애플리케이션들 또는 도구들에 따라서 변할 수 있다.
계정 레코드들(404)은 일반적으로 410에서 표시된, 특정한 사용자들과 관련된 디렉터리 구조들 및 다른 아이덴티티 정보를 유지할 수 있다. 예를 들면, 디렉터리 구조들(410)은 액티브 디렉터리(ACTIVE DIRECTORYTM)와 같은 서비스들 또는 다른 유사한 서비스들에 의해 유지되는 정보를 나타낼 수 있다. 일반적으로, 디렉터리 구조들(410)은 또한 특정한 사용자들과 관련된 ID(identification) 또는 인증 정보를 포함할 수 있다. 또한, 여기에 설명된 공존 도구들은, 사용자 아이덴티티들이 구내 고객 시스템들로부터 원격의 호스팅되는 환경들로 매핑되는, 연합 능력(federation capability)을 제공할 수 있다.
계정 레코드들(404)은 일반적으로 412에서 표시된, 특정한 사용자들과 관련된 통신 레코드들을 유지할 수 있다. 그러한 통신 레코드들의 예들은 수신된 전자 메일들, 송신된 전자 메일들, 이전의 전자 메일들의 아카이브들, 또는 그러한 송신들의 유사한 레코드들을 포함할 수 있다.
이제 호스팅되는 서비스 컴포넌트들(106)을 살펴보면, 도 4는 서버(102)를 통해서든, 또는 관리 웹 서비스와 관련된 서버들(예를 들면, 202, 206, 및/또는 210)을 통해서든 간에, 호스팅되는 서비스들에 액세스할 수 있는 사용자들(414a 및 414n)을 예시한다. 그리고, 사용자들(414a 및 414n)은, 관리 웹 서비스에 의해 유지되는, 계정 레코드들(416a 및 416n)의 각각의 인스턴스들과 관련된다.
일부 시나리오들에서는, 주어진 사용자(예를 들면, 402a)가 구내 컴포넌트들(104)을 통하여 그의 계정 레코드들(예를 들면, 404a)에 액세스할 수 있지만, 어떤 다른 때에는 호스팅되는 서비스 컴포넌트들(106)을 통하여 그의 계정 레코드들에 액세스할 수 있다. 이 예에서, 사용자(402a) 및 사용자(414n)는 상이한 때에 그의 계정 레코드들에 액세스하는 동일한 주어진 사용자에 대응할 수 있다. 따라서, 구내 컴포넌트들(104)은 주어진 사용자가 서버(126)를 통하여 액세스할 수 있는 계정 레코드들(404a)을 유지할 수 있고, 호스팅되는 서비스 컴포넌트들(106)은 주어진 사용자가 서버(102)를 통하여 액세스할 수 있는 대응하는 계정 레코드들(416n)을 유지할 수 있다.
계정 레코드들(416n)을 더 상세히 살펴보면, 이들 레코드들은 구내 컴포넌트들(104)에 의해 유지되는 것들에 대응하는 레코드들을 포함할 수 있다. 예를 들면, 이들 레코드들은, 도 4에서 콘택트 목록들(406)과 콘택트 목록들(418)을 연결하는 대시 기호로 된 화살표(420)에 의해 나타내어진 바와 같이, 콘택트 목록들(406)에 대응하는 콘택트 목록들(418)을 포함할 수 있다. 집합적으로 취해질 때, 고객 사이트의 구내에 유지된 콘택트 목록들(406) 및 원격의 호스팅되는 서비스에 의해 유지된 콘택트 목록들(418)은 고객 사이트 및 원격의 호스팅되는 서비스들의 양쪽에 걸쳐서 단일화된, 동기화되거나 통합된 콘택트 또는 주소 목록으로 구성될 수 있다.
더 일반적으로, 대시 기호로 된 화살표(420)는 고객 구내 또는 데이터 센터와 원격의 호스팅되는 서비스 사이의 데이터 흐름들을 나타낼 수 있다. 전술한 동작들의 예로서, 고객 구내에 존재하는 속성 또는 데이터 개체가 원격의 호스팅되는 서비스로 마이그레이션(migration)될 예정이라고 가정한다. 이 마이그레이션 동안에, 이 속성 또는 데이터 개체와 관련된 특성들(attributes)은 고객 데이터 센터로부터 원격의 호스팅되는 서비스로 "섀도잉될"(shadowed) 수 있다. 일단 원격의 호스팅되는 서비스가 이들 섀도잉된 속성들을 수신하면, 그것은 이들 섀도잉된 속성들을 마이그레이션된 속성 또는 데이터 개체와 관련되는 실제의 특성들에 복제할 수 있다.
마찬가지로, 문서/파일 레코드들(422)은 문서/파일 레코드들(408)에 대응할 수 있고, 디렉터리 구조 레코드들(424)은 디렉터리 구조 레코드들(410)에 대응할 수 있고, 임의의 통신 레코드들(426)은 통신 레코드들(412)에 대응할 수 있다.
고객 사이트의 구내에 유지된 디렉터리 구조들(410) 및 원격의 호스팅되는 서비스들에 의해 유지된 디렉터리 구조들(424)에 관하여, 이들 2개의 구조들은 고객 사이트 및 원격의 호스팅되는 서비스들 양쪽 모두에 걸쳐서 정의되는, 단일화된 또는 집합적인 사용자들의 목록을 컴파일하기 위해 통합되거나 동기화될 수 있다. 이 집합적인 사용자들의 목록은 특정한 고객, 및/또는 그 고객 내의 특정한 조직과 관련될 수 있다. 또한, 공존 도구들은 구내 고객 환경으로부터 동기화된 이들 사용자들의 서브세트를 선택하고, 호스팅되는 서비스들에 액세스하기 위해 그들을 활성화할 수 있다. 이들 경우에, 공존 도구들은 활성화된 동기화된 사용자들의 서브세트에 적절한 라이센스들을 할당할 수 있다.
이전의 예를 계속하여, 주어진 사용자(414n)가 이 사용자와 관련된 콘택트 목록 레코드(418)를 변경하기 위해 호스팅되는 서비스 컴포넌트들(106)에 액세스한다고 가정한다. 콘택트 목록 레코드(418)는 구내 컴포넌트들(104)에 의해 유지되는 콘택트 목록 레코드(406)와 관련되기 때문에, 사용자에 의해 레코드(418)에 행해진 임의의 변경들은 레코드(406)와 동기화될 것이다. 이런 식으로, 여기에 설명된 호스팅되는 서비스 컴포넌트들(106) 및 구내 컴포넌트들(104)은, 레코드(406)는 고객 시설에서 구내에 존재할 수 있고, 레코드(418)는 호스팅되는 서비스와 함께 존재할 수 있다 할지라도, 콘택트 목록 레코드들(406 및 418)이 공존하는 것을 가능하게 할 수 있다.
도 4에 도시된 동기화 시나리오들을 설명하였고, 이제 논의는 여기에 설명된 공존 도구들과 관련된 예시적인 프로세스 및 데이터 흐름들에 대한 설명으로 향한다. 이 설명은 이제 도 5와 함께 제시된다.
도 5는 여기에 설명된 공존 도구들이 수행할 수 있는, 일반적으로 500에서 표시된, 프로세스 및 데이터 흐름들의 예들을 예시한다. 제한이 아니라, 참조의 용이함을 위하여, 도 5는 유사한 항목들을 지시하기 위해 이전의 도면들로부터의 일부 참조 번호들을 이월할 수 있다. 예를 들면, 도 5는 서버들(126 및 102)을 이월하고, 이들 서버들 상의 소프트웨어 컴포넌트들은 도 5에 예시된 처리를 수행할 수 있다는 것을 명심한다.
도 5를 상세히 살펴보면, 블록 502는 일반적으로 공존 도구들을 하나 이상의 고객 구내에 송신하는 것을 나타낸다. 도 5는 504에서 고객 구내에 송신되는 공존 도구들을 나타낸다. 공존 도구들의 예들은 임의의 데이터 저장소들 등과 함께 여기에 설명된 소프트웨어 컴포넌트들 또는 모듈들 중 임의의 것을 포함할 수 있다. 블록 502는 또한 설치 스크립트들 또는 마법사들을 다양한 고객 구내에 송신하는 것을 포함할 수 있다.
고객들에게 어플라이언스 같은 경험(appliance-like experience)을 제공하기 위해, 블록 502는 공존 도구들이 의존할 수 있는 임의의 소프트웨어를 공존 도구들과 함께 번들링하는 것을 포함할 수 있다. 달리 표현하여, 만일 공존 도구들이 다른 소프트웨어를 토대로 한다면, 이 다른 소프트웨어는 공존 도구들과 함께 번들링되고 설치될 수 있다. 이런 식으로, 고객 직원은 그러한 다른 소프트웨어를 식별하고, 그것을 개별적으로 다운로드하는 부담을 덜 수 있다.
"어플라이언스 같은(appliance-like)"이라는 용어는 최소의 사용자 구성 및 상호 작용으로 구성되고 운영될 수 있는 시스템을 지시한다. 따라서 여기에 설명된 시스템들은 공존 도구들을 설치하고 실행하는 것과 관련되는 복잡성 및 기술 수준을 감소시킬 수 있다. 더 구체적으로는, 여기에 설명된 도구들을 조작하는 것과 관련된 기술 또는 훈련의 수준은 이전의 공존 도구들을 조작하는 것과 관련된 기술 또는 훈련의 수준보다 다소 낮을 수 있다.
어플라이언스 개념은 또한 오류들을 처리하기 위한 기법들을 참조할 수 있다. 예를 들면, 고객 사이트의 구내에서 어떤 오류가 일어난다고 가정하고, 또한 이 오류가 여기에 설명된 공존 도구들 하에 관리되고 있는 속성을 수반한다고 가정한다. 이 시나리오에서, 이 오류에 관한 보고들은 고객 사이트의 관리자들에게 송신되기보다는, "클라우드(cloud)"(즉, 여기에 설명된 호스팅되는 서비스 컴포넌트들)에 송신될 수 있다. 이런 식으로, 오류 처리 및 해결은 더 고도로 숙련된 직원에게 라우팅될 수 있고, 그에 의해 고객 사이트의 관리 직원에게서 이들 의무들을 덜어줄 수 있다.
블록 502는 일단 주어진 고객이 호스팅되는 비즈니스 서비스들에 가입하면 자동으로 실행될 수 있다. 다른 경우들에서, 블록 502는 주어진 고객으로부터의 도구들을 다운로드하는 요청에 응답하여 실행되고 호스팅되는 비즈니스 서비스들 하에서 동작을 시작할 수 있다.
고객 구내에서, 블록 506은 호스팅되는 비즈니스 서비스들로부터 송신된 공존 도구들을 수신하는 것을 나타내고, 고객 구내에서 공존 도구들을 설치하거나 로딩하기 위해 임의의 적절한 설치 스크립트들 또는 마법사들을 실행하는 것을 나타낸다. 블록 502에 대하여 위에 설명된 바와 같이, 고객에게 어플라이언스 같은 경험을 제공하기 위하여, 블록 506은 공존 도구들(504)뿐만 아니라, 그 공존 도구들이 의존할 수 있는 임의의 다른 소프트웨어도 설치하기 위해 단일 설치 스크립트 또는 마법사를 실행하는 것을 포함할 수 있다.
공존 도구들을 설치하고 로딩한 후, 블록 508은 주어진 고객 구내에 설치된 특정한 속성들과 함께 동작하기 위해 도구들을 구성하는 것을 나타낸다. 예를 들면, 블록 508은 고객 구내의 관리자들(예를 들면, 도 3의 308)이 공존 도구들에 의해 제공되는 관리 포털들(예를 들면, 316)과 상호 작용하는 것을 가능하게 하는 것을 포함할 수 있다.
블록 508은 그러한 관리자들로부터의 입력에 응답하여 공존 도구들이 고객 구내에서 어떻게 동작해야 할지를 지정하는 다양한 파라미터들(510)을 송신하는 것을 포함할 수 있다. 그러한 파라미터들의 예들은 고객 구내에 위치하는 속성이 호스팅되는 비즈니스 서비스들에 의해 유지되는 대응하는 속성들과 동기화되어야 하는 때를 지정할 수 있다(예를 들면, 24시간마다). 그러한 파라미터들의 다른 예들은 어느 속성들이 고객 프로세스로부터 호스팅되는 비즈니스 서비스들로 마이그레이션되고 동기화되어야 할지를 식별할 수 있다. 이들 예들은, 동기화 시간들, 동기화 주파수, 동기화 범위(예를 들면, 어느 컨테이너들, 서브세트들 등이 동기화되어야 할지), 동기화에 대한 특정한 제외들(예를 들면, 이름에 "-"를 갖는 개체들을 동기화시키지 않는 것), 동기화를 투어링(touring)하는 데이터를 오버라이팅하는 것에 관한 규칙들(즉, 편집 우선 순위), 데이터에 대한 충돌 관리를 처리하는 것에 관한 규칙들, 오류 처리 및 통지에 대한 규칙들 등을 포함할 수 있지만, 이들에 제한되는 것은 아니다.
호스팅되는 비즈니스 서비스들에서, 블록 512는 지정된 공존 파라미터들을 수신하고 저장하는 것, 및 상이한 공존 파라미터들을 그것들을 지정한 관리자들과 관련시키는 것을 나타낸다. 이런 식으로, 여기에 설명된 도구들은 상이한 관리자들이 그들의 특정한 책임 영역들 내에서 적용할 특정한 공존 파라미터들을 지정하는 것을 가능하게 할 수 있다. 도 5는 514에서 관리 ID의 예를 표시한다.
또한, 블록 512는 특정한 파라미터들을 지정한 특정한 고객 또는 조직을 식별하는 정보를 저장하는 것을 포함할 수 있다. 도 5는 516에서 조직 ID의 예를 표시한다. 도 6과 관련하여 더 예시되는 바와 같이, 호스팅되는 비즈니스 서비스들에 의해 제공되는 공존 도구들은 복수의 상이한 조직들과 함께 동작할 수 있고, 조직 ID는 이들 상이한 조직들과 관련된 마이그레이션 및 동기화 데이터를 추적하고 유지하는 것을 용이하게 할 수 있다.
이 설명은 단지 논의의 용이함을 위해 공존 파라미터들(510)의 상기 예들을 제공한다. 그러나, 이들 예들은 공존 파라미터들의 다른 예들을 포함할 수 있는 구현들을 배제하지 않는다.
주어진 고객 구내에 공존 도구들을 설치하고, 그것들을 호스팅되는 비즈니스 서비스들과 함께 구성한 후, 이제 고객 구내 및 호스팅되는 비즈니스 서비스들에 설치된 도구들이 동작을 시작할 수 있다. 도 5는 일반적으로 518에서 고객 구내에서의 진행중인 동작들을 나타내고, 일반적으로 520에서 호스팅되는 비즈니스 서비스들에서의 동작을 나타낸다.
도 5에 나타내어진 바와 같이, 고객 사이트에서의 블록 518은, 블록 522에서 일반적으로 나타내어진 바와 같이, 임의의 식별된 사용자 계정들 또는 속성들을 웹 서비스에 마이그레이션하는 것을 포함할 수 있다. 더 구체적으로는, 블록 522는 블록 508에서 발행된 구성 파라미터들에 응답하여 속성들을 마이그레이션하는 것을 포함할 수 있다. 예를 들면, 전술한 바와 같이, 고객 구내에서 특정한 속성들에 대하여 책임이 있는 관리자들이 어느 속성들이 호스팅되는 비즈니스 서비스들에 마이그레이션되어야 할지를 지정할 수 있다. 도 5는 524에서 그 마이그레이션된 계정들 또는 속성들을 표시한다.
호스팅되는 비즈니스 서비스들에서, 블록 526은 마이그레이션된 속성들 또는 사용자 계정들(524)을 수신하는 것을 나타낸다. 블록 526은 마이그레이션된 속성들을 호스팅하기 위해 임의의 데이터 저장소를 할당하고 적절한 임의의 데이터 구조들을 구성하는 것을 포함할 수 있다.
고객 구내와 호스팅되는 비즈니스 서비스 사이에 지정된 특정한 속성들을 마이그레이션시킨 후, 고객 구내 및 호스팅되는 비즈니스 서비스들에서 그 속성들에 행해진 임의의 변경들이 이제 동기화되거나 조화(reconcile)될 수 있다. 전술한 바와 같이, 상이한 사용자들이 고객 구내를 통하여 직접, 또는 호스팅되는 비즈니스 서비스에 액세스하는 것에 의해, 속성들에 액세스할 수 있다. 이들 변경들이 시간에 걸쳐서 일어날 때, 여기에 설명된 공존 도구들은 이들 변경들을 동기화시킬 수 있고, 따라서 고객 구내에 유지된 속성들은 호스팅되는 비즈니스 서비스들에 의해 유지된 그 속성들과 일치한다.
도 5에 도시된 바와 같이, 공존 도구들은 고객 구내와 호스팅되는 비즈니스 서비스들 사이의 전체 동기화를 수행할 수 있다. 도 5는 일반적으로 528에서(고객 측에서) 및 530에서(호스팅되는 비즈니스 서비스들에서) 전체 동기화들에 관련된 동작들을 나타낸다. 도 5는 또한 일반적으로 532에서 전체 동기화들에 관련된 데이터 전송들을 나타낸다.
또한 도 5에 도시된 바와 같이, 공존 도구들은 고객 구내와 호스팅되는 비즈니스 서비스들 사이에 증분적인(incremental) 또는 "델타" 동기화들을 수행할 수 있다. 도 5는 일반적으로 534에서(고객 측에서) 및 536에서(호스팅되는 비즈니스 서비스들에서) 증분적인 동기화들에 관련된 동작들을 나타낸다. 도 5는 또한 일반적으로 538에서 증분적인 동기화들에 관련된 데이터 전송들을 나타낸다. 이들 데이터 흐름들(538)에 기초하여, 코드 시스템 도구들은 구내 사이트 및 호스팅되는 서비스들에 걸쳐서 공통의 사용자 목록을 유지하기 위하여, 뿐만 아니라 단일화된 전자 메일 주소 목록을 유지하기 위하여 적절한 임의의 속성들 또는 데이터 개체들을 계산할 수 있다.
여기에 사용된, "전체 동기화(total synchronization)"라는 용어는 고객 구내와 호스팅되는 비즈니스 서비스 사이의 마이그레이션된 속성들에서 일어났을 수 있는 임의의 변경들에 관계없이, 그 속성들을 나타내는 데이터의 완전한 전송을 지시한다. 여기에 사용된, "증분적인 동기화(incremental synchronization)"라는 용어는 고객 구내와 호스팅되는 비즈니스 서비스 사이의 마이그레이션된 속성들을 나타내는 데이터의 부분적인 전송을 지시한다. 더 구체적으로는, 증분적인 동기화들은 고객 구내와 호스팅되는 비즈니스 서비스들 사이의 변경된 데이터만의 전송들을 수반할 수 있다. 이런 식으로, 고객 구내 및 호스팅되는 비즈니스 서비스들은, 전체 동기화와 비교해서 보다 적은 정보를 교환하면서, 변경들을 조화시킬 수 있다.
도 5에서 프로세스들 및 데이터 흐름들의 상기 예들을 설명하였고, 이제 논의는 호스팅되는 비즈니스 서비스들이 복수의 상이한 고객 구내 및 관련된 조직들을 지원할 수 있는 시나리오들에 대한 설명으로 향한다. 이 설명은 이제 도 6과 함께 제시된다.
도 6은 호스팅되는 비즈니스 서비스들이 상이한 고객 구내에 존재하는 상이한 고객 인프라들과 공존할 수 있는, 일반적으로 600에서 표시된, 시나리오들을 예시한다. 제한이 아니라, 참조의 용이함을 위하여, 도 6은 유사한 항목들을 지시하기 위해 이전의 도면들로부터의 일부 참조 번호들을 이월할 수 있다. 예를 들면, 도 6은 호스팅되는 비즈니스 서비스들과 관련하여 수행되는 처리를 나타내기 위해 관리 서버(102)를 이월한다.
도 6에 도시된 바와 같이, 호스팅되는 비즈니스 서비스들은 상이한 고객 구내의 서로 다른 다양한 고객 조직들과의 복수의 공존 관계들을 확립하고 유지할 수 있다. 도 6은 602a 및 602n에서 이들 공존 관계들의 예들(집합적으로, 공존 관계들(602))을 제공한다. 이들 공존 관계들(602)은 일반적으로 도 2에 도시된 상이한 유형의 관계들을 나타낼 수 있다(예를 들면, 204, 208, 및/또는 212에서).
공존 관계들(602a)은, 일반적으로 서버(126a)에 의해 나타내어지는, 제1 고객과 관련된 구내에 유지된 인프라 사이에 존재할 수 있다. 이들 고객 구내는 일반적으로 604a에서 표시된 하나 이상의 고객 조직들을 지원할 수 있다. 이들 고객 조직들 내에서, 복수의 사용자들이 대응하는 복수의 계정 레코드들 또는 다른 속성들과 관련될 수 있다. 도 6은 402a 및 402n에서 이 조직(604a) 내의 사용자들의 예들을 이월하고, 404a 및 404n에서 대응하는 계정 레코드들의 예들을 이월한다.
호스팅되는 비즈니스 서비스들은, 일반적으로 606a에서 표시된, 고객 조직(604a)의 호스팅되는 대응물을 확립하고 유지할 수 있다. 고객 조직의 이 호스팅되는 대응물은 고객 조직 내의 상이한 사용자들과 관련된 계정 레코드들 또는 다른 속성들을 표현들을 포함할 수 있다. 설명의 용이함을 위하여, 도 6은 416a 및 416n에서 호스팅되는 계정 레코드들의 예들을 이월하고, 414a 및 414n에서 사용자들의 예들을 이월한다.
도 6은 또한 (일반적으로 서버(126b)에 의해 나타내어진) 고객 구내와 호스팅되는 대응물(606n) 사이에 확립된, 다른 공존 관계(602n)를 예시한다. 고객 구내에서, 하나 이상의 조직들(604n)은 임의의 수의 사용자들을 포함하고, 도 6은 402b 및 402m에서 사용자들의 예들을 이월한다. 도 6은 또한 404b 및 404m에서 표시된, 이들 사용자들과 관련된 계정 레코드들 또는 다른 속성들의 예들을 이월한다.
서버(126b)에 의해 나타내어진 고객 구내에 대한 호스팅되는 서비스들에 의해 유지된, 호스팅되는 대응물(606n)을 살펴보면, 도 6은 414b 및 414m에서 표시된, 사용자들의 예들을 이월한다. 도 6은 또한 416b 및 416m에서 표시된 이들 사용자들과 관련된 계정 레코드들의 예들을 이월한다.
공존 관계들(602)의 적어도 일부로서, 호스팅되는 비즈니스 서비스들은 고객 구내에서 또는 그 고객 구내의 호스팅되는 대응물들에서 일어날 수 있는 변경들을 동기화시키거나 조화시킬 수 있다. 제1 예로서, 이들 변경들이 호스팅되는 비즈니스 서비스들에 의해 유지된 인프라에서 일어날 때, 호스팅되는 비즈니스 서비스들은 고객 식별자들, 관리 식별자들, 및/또는 조직 식별자들을 이들 변경들과 관련시킬 수 있다. 도 5는 관리 ID(514) 및 조직 ID(516)의 예들을 예시한다. 이들 식별자들을 이용하여, 호스팅되는 비즈니스 서비스들은 이들 변경들의 통지들을 수신할 적절한 구내 고객을 식별할 수 있고, 이들 변경들을 그 적절한 고객과 동기화시킬 수 있다.
공존 관계들(602)의 일부로서 수행되는 처리의 다른 예로서, 변경들이 고객 구내 인프라에서 일어날 때, 구내 공존 서버들(126)은 이들 변경들을 적절한 식별자들(예를 들면, 고객 식별자들, 관리 식별자들, 조직 식별자들 등)과 관련시킬 수 있다. 공존 서버들(146)은 또한 이들 변경들을, 적절한 식별자들을 이용하여, 호스팅되는 비즈니스 서비스들과 조화시킬 수 있다. 그리고, 호스팅되는 비즈니스 서비스들은, 그 호스팅되는 비즈니스 서비스들이 고객의 구내 인프라의 호스팅되는 대응물(예를 들면, 606) 내에 유지하는, 적절한 계정 레코드들을 업데이트할 수 있다.
설명의 편의를 위하여, 전술한 도구들 및 기법들은 법인 또는 기업 애플리케이션들의 컨텍스트에서 설명된다. 그러나, 전술한 도구들 및 기법들 중 적어도 일부는 고객 애플리케이션들에서도 적용될 수 있다는 것에 유의한다.
전술한 설명은 구내 고객 데이터 센터들과 원격의 호스팅되는 서비스들 사이의 공존을 달성하기 위한 다양한 도구들 및 기법들을 제공하지만, 이들 도구들 및 기법들은 또한 추가적인 원격 서비스들에의 커넥터들을 제공할 수 있다. 예시적인 시나리오에서, 주어진 고객이, 예를 들면, 어떤 수의 기업 사서함들을 스팸, 바이러스 등으로부터 보호하기 위해, 원격의 서비스 제공자에 의해 제공되는 전자 메일 보호 서비스에 가입할 수 있다. 그러나, 이들 서비스들 외에도, 원격 서비스 제공자는 또한 그 고객에게 고객 사이트의 구내에 있는 전자 메일 서버를 보호하는 장애 조치(fail-over) 능력 또는 연속성 서비스를 제공할 수 있다. 이 시나리오에서, 만일 고객의 구내 전자 메일 서버가 장애가 생기면, 이 전자 메일 서버는 원격의 서비스 제공자로 장애 조치될 수 있다. 원격 서비스 제공자는 이미 사서함들의 일부 세트에 전자 메일 보호 서비스를 제공하고 있기 때문에, 이들 서비스 제공자는 고객의 사이트로부터 장애 조치해야 할 그 사서함들을 식별할 수 있다.
여기에 제시된 내용은 컴퓨터 구조적 특징들, 방법적 단계들, 및 컴퓨터 판독가능 매체에 특정한 언어로 설명되었지만, 부속된 청구항들은 반드시 여기에 설명된 특정한 특징들, 단계들, 또는 매체에 제한되지는 않는다는 것을 이해해야 한다. 오히려, 그 특정한 특징들, 단계들 및 매체들은 청구항들을 구현하는 형태들의 예로서 개시되어 있다. 또한, 특정한 데이터 흐름들 및 프로세스 흐름들은 도면들 내에서 화살표들에 의해 나타내어진다. 이들 화살표들의 방향들은 가능한 구현들을 제한하기 위해서가 아니라, 단지 도면들을 설명함에 있어서 편의를 위하여 제공된다는 것에 유의한다. 더 구체적으로는, 화살표들의 방향들은 반대 방향으로의 데이터 또는 프로세스 흐름들을 배제하거나 제한하지 않는다.
전술한 내용은 예시로서만 제공되고 제한적인 것으로 해석되지 않아야 한다. 예시되고 설명된 실시예들 및 응용들을 따르지 않고, 및 다음의 청구항들의 진정한 정신 및 범위에서 벗어나지 않고 여기에 설명된 내용에 다양한 수정들 및 변경들이 행해질 수 있다.

Claims (20)

  1. 적어도 하나의 고객 사이트(customer site) 내에 위치하는 구내 인프라(on-premises infrastructure)(126) 상에 설치될 공존 도구들(coexistence tools)(504)을 송신하는 단계(502);
    호스팅되는 서비스(hosted service)(102)를 통해 원격으로 상기 구내 고객 인프라를 관리하기 위해 상기 공존 도구들을 실행하는 단계(520); 및
    상기 공존 도구들을 이용하여 상기 고객 사이트 상에 위치하는 적어도 하나의 속성(120, 122, 또는 124)을 동기화시키는 단계(530 또는 536)
    를 포함하는 방법.
  2. 제1항에 있어서, 적어도 추가의 고객 사이트 내에 위치하는 구내 인프라 상에 설치될 공존 도구들을 송신하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 고객 사이트로부터 적어도 하나의 식별자를 수신하는 단계를 더 포함하고, 적어도 하나의 속성을 동기화시키는 단계는 상기 식별자에 기초하여 상기 속성을 동기화시키는 단계를 포함하는 방법.
  4. 제1항에 있어서, 상기 고객 사이트로부터 적어도 상기 속성의 마이그레이션(migration)을 수신하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서, 적어도 하나의 속성을 동기화시키는 단계는 상기 호스팅되는 서비스와 상기 구내 인프라 사이에 상기 속성의 전체 동기화(total synchronization)를 수행하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 적어도 하나의 속성을 동기화시키는 단계는 상기 호스팅되는 서비스와 상기 구내 인프라 사이에 상기 속성의 증분적인 동기화(incremental synchronization)를 수행하는 단계를 포함하는 방법.
  7. 제1항에 있어서, 적어도 하나의 속성을 동기화시키는 단계는 상기 호스팅되는 서비스와 상기 구내 인프라 사이에 적어도 하나의 콘택트 목록, 적어도 하나의 디렉터리 구조, 또는 적어도 하나의 사용자 목록을 동기화시키는 단계를 포함하는 방법.
  8. 제1항에 있어서, 상기 호스팅되는 서비스 상에 적어도 상기 속성의 대응물(counterpart)을 생성하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서, 적어도 상기 속성의 대응물을 생성하는 단계는 상기 고객 사이트의 구내에 유지된 적어도 하나의 콘택트 목록의 대응물을 생성하는 단계를 포함하고, 적어도 하나의 속성을 동기화시키는 단계는 상기 고객 사이트와 상기 호스팅되는 서비스에 걸쳐서 단일화된 적어도 하나의 글로벌 콘택트 목록을 생성하기 위해 상기 콘택트 목록을 동기화시키는 단계를 포함하는 방법.
  10. 제8항에 있어서, 적어도 상기 속성의 대응물을 생성하는 단계는 상기 고객 사이트의 구내에 유지된 적어도 하나의 사용자 목록의 대응물을 생성하는 단계를 포함하고, 적어도 하나의 속성을 동기화시키는 단계는 상기 고객 사이트와 상기 호스팅되는 서비스에 걸쳐서 단일화된 적어도 하나의 글로벌 사용자 목록을 생성하기 위해 상기 콘택트 목록을 동기화시키는 단계를 포함하는 방법.
  11. 제1항에 있어서, 적어도 하나의 속성을 동기화시키는 단계는 상기 고객 사이트에서의 사용자 동작(user action)의 결과로 생긴 변경에 응답하여 상기 속성을 동기화시키는 단계를 포함하는 방법.
  12. 제1항에 있어서, 적어도 하나의 속성을 동기화시키는 단계는 상기 호스팅되는 서비스에서의 사용자 동작의 결과로 생긴 변경에 응답하여 상기 속성을 동기화시키는 단계를 포함하는 방법.
  13. 적어도 하나의 원격의 호스팅되는 서비스(102)로부터 공존 도구들(504)을 수신하는 단계(506);
    상기 원격의 호스팅되는 서비스에 적어도 하나의 구성 파라미터(510)를 전달하는 단계(508) - 상기 구성 파라미터는 상기 공존 도구들의 동작에 관련됨 -;
    상기 구성 파라미터에 따라서 상기 공존 도구들을 실행하는 단계(518); 및
    고객 사이트의 구내에 유지된 적어도 하나의 속성을 상기 원격의 호스팅되는 서비스와 동기화시키는 단계(528 또는 534)
    를 포함하는 방법.
  14. 제13항에 있어서, 적어도 하나의 구성 파라미터를 전달하는 단계는 상기 고객 사이트에 대응하는 적어도 하나의 식별자를 전달하는 단계를 포함하고, 적어도 하나의 속성을 동기화시키는 단계는 상기 식별자를 참조하는 단계를 포함하는 방법.
  15. 제13항에 있어서, 상기 고객 사이트의 구내의 상기 속성에 액세스하는 제1 복수의 사용자들 및 상기 원격의 호스팅되는 서비스에 유지되는 상기 속성에의 적어도 하나의 대응물에 액세스하는 적어도 제2 복수의 사용자들을 포함하는, 사용자들의 적어도 하나의 글로벌 목록을 컴파일하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서, 상기 사용자들의 적어도 서브세트를 선택하는 단계, 및 상기 원격의 호스팅되는 서비스에 액세스하기 위해 상기 선택된 사용자들의 서브세트를 활성화하는 단계를 더 포함하는 방법.
  17. 제16항에 있어서, 상기 선택된 사용자들의 서브세트에 적어도 하나의 라이센스를 할당하는 단계를 더 포함하고, 상기 라이센스는 상기 선택된 사용자들의 서브세트가 상기 원격의 호스팅되는 서비스에 액세스하는 것을 허용하는 방법.
  18. 고객 사이트에 위치하는 인프라와 관련된 적어도 하나의 구내 서버(on-premises server)(126) - 상기 구내 서버는 상기 고객 사이트에 적어도 하나의 속성(120, 122, 또는 124)을 유지하기 위한 적어도 구내 공존 컴포넌트(on-premises coexistence component)(134)를 포함함 -; 및
    원격의 호스팅되는 서비스와 관련된 적어도 하나의 관리 서버(102) - 상기 관리 서버는 구내 속성의 적어도 하나의 대응물(606)을 유지하고, 상기 대응물을 상기 구내 속성과 동기화시키기 위해 적어도 호스팅되는 측의 공존 컴포넌트(hosted-side coexistence component)(116)를 포함함 -
    를 포함하는 시스템.
  19. 제18항에 있어서, 상기 관리 서버는 상기 원격의 호스팅되는 서비스를 통해 상기 속성의 대응물에 행해진 적어도 하나의 변경을 상기 구내 서버와 동기화시키기 위한 것인 시스템.
  20. 제18항에 있어서, 상기 구내 서버는 상기 고객 사이트에서 상기 속성에 행해진 적어도 하나의 변경을 상기 관리 서버와 동기화시키기 위한 것인 시스템.
KR1020107016695A 2008-01-31 2008-12-31 구내 고객 위치와 원격 호스팅 서비스 사이에 속성들을 동기화시키기 위한 공존 도구 KR20110026408A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/024,088 US9063993B2 (en) 2008-01-31 2008-01-31 Coexistence tools for synchronizing properties between on-premises customer locations and remote hosting services
US12/024,088 2008-01-31

Publications (1)

Publication Number Publication Date
KR20110026408A true KR20110026408A (ko) 2011-03-15

Family

ID=40913461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107016695A KR20110026408A (ko) 2008-01-31 2008-12-31 구내 고객 위치와 원격 호스팅 서비스 사이에 속성들을 동기화시키기 위한 공존 도구

Country Status (7)

Country Link
US (1) US9063993B2 (ko)
EP (1) EP2255294A2 (ko)
JP (1) JP2011511363A (ko)
KR (1) KR20110026408A (ko)
CN (1) CN102016815A (ko)
RU (1) RU2010132203A (ko)
WO (1) WO2009097073A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140138182A (ko) * 2012-03-20 2014-12-03 마이크로소프트 코포레이션 클라우드에서 투명하게 호스팅되는 조직들에 대한 아이덴티티 서비스
KR20150050449A (ko) * 2013-10-31 2015-05-08 주식회사 엘지화학 이차 전지용 프레임 및 이를 포함하는 배터리 모듈
US10749854B2 (en) 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189367B2 (en) 2010-04-20 2015-11-17 Salesforce.Com, Inc. Methods and systems for debugging bytecode in an on-demand service environment
US8290900B2 (en) * 2010-04-24 2012-10-16 Research In Motion Limited Apparatus, and associated method, for synchronizing directory services
US9094394B2 (en) 2012-01-23 2015-07-28 Microsoft Technology Licensing, Llc Managing cross-premises resources through integrated view
US9110892B2 (en) 2012-03-13 2015-08-18 Microsoft Technology Licensing, Llc Synchronizing local and remote data
CN103281383B (zh) * 2013-05-31 2016-03-23 重庆大学 一种面向分布式数据源的时序信息记录方法
US10511566B2 (en) * 2013-11-11 2019-12-17 Amazon Technologies, Inc. Managed directory service with extension
US10908937B2 (en) 2013-11-11 2021-02-02 Amazon Technologies, Inc. Automatic directory join for virtual machine instances
US10509663B1 (en) 2015-02-04 2019-12-17 Amazon Technologies, Inc. Automatic domain join for virtual machine instances
EP3365790A1 (en) * 2015-10-19 2018-08-29 Leaptest A/S Method, apparatus and system for task automation of computer operations based on visual flowchart script design and image/text recognition
US10057337B2 (en) * 2016-08-19 2018-08-21 AvaSure, LLC Video load balancing system for a peer-to-peer server network
CN108282668B (zh) * 2018-01-26 2020-11-24 北京奇艺世纪科技有限公司 一种视频的获取方法及系统
CN110298527B (zh) * 2018-03-23 2023-05-30 阿里巴巴集团控股有限公司 信息输出方法、系统及设备
US11392554B2 (en) * 2020-10-19 2022-07-19 Dropbox, Inc. Synchronizing an external location

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061740A (en) 1996-12-09 2000-05-09 Novell, Inc. Method and apparatus for heterogeneous network management
US5937414A (en) * 1997-02-28 1999-08-10 Oracle Corporation Method and apparatus for providing database system replication in a mixed propagation environment
US20020010865A1 (en) * 1998-01-30 2002-01-24 Christina E. Fulton Method and apparatus for remote office access management
US7103797B1 (en) * 1998-03-30 2006-09-05 Emc Corporation Resource allocation throttling in remote data mirroring system
US6981041B2 (en) * 2000-04-13 2005-12-27 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
AU2001271291A1 (en) * 2000-06-07 2001-12-17 Quark Media House Sarl System for software license control and method therefore
EP1352343A2 (en) * 2001-01-03 2003-10-15 Synchrologic Inc. A system and method for data synchronization between remote devices
US20030083947A1 (en) 2001-04-13 2003-05-01 Hoffman George Harry System, method and computer program product for governing a supply chain consortium in a supply chain management framework
US7213114B2 (en) * 2001-05-10 2007-05-01 Hitachi, Ltd. Remote copy for a storage controller in a heterogeneous environment
US6996565B2 (en) 2001-09-06 2006-02-07 Initiate Systems, Inc. System and method for dynamically mapping dynamic multi-sourced persisted EJBs
US7124183B2 (en) * 2001-09-26 2006-10-17 Bell Security Solutions Inc. Method and apparatus for secure distributed managed network information services with redundancy
US6901595B2 (en) 2001-09-29 2005-05-31 Siebel Systems, Inc. Method, apparatus, and system for implementing a framework to support a web-based application
US7392421B1 (en) * 2002-03-18 2008-06-24 Symantec Operating Corporation Framework for managing clustering and replication
US7606881B2 (en) 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
JP2005530258A (ja) 2002-06-20 2005-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアント・デバイスをサーバからリフレッシュする間に再同期化するためのシステムおよび方法
US7379978B2 (en) * 2002-07-19 2008-05-27 Fiserv Incorporated Electronic item management and archival system and method of operating the same
US20040139180A1 (en) 2003-01-10 2004-07-15 Sony Corporation Automobile media synchronization
US20040172278A1 (en) 2003-02-27 2004-09-02 Bell Kevin R. System for completing a requisitioning cycle
US7080104B2 (en) 2003-11-07 2006-07-18 Plaxo, Inc. Synchronization and merge engines
US7181493B2 (en) 2003-12-23 2007-02-20 Unisys Corporation Platform independent model-based framework for exchanging information in the justice system
US7149859B2 (en) * 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US20050289539A1 (en) * 2004-06-29 2005-12-29 Sudhir Krishna S Central installation, deployment, and configuration of remote systems
JP2006134204A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd リモートコピーシステムおよびその制御方法
US7484206B2 (en) 2005-01-12 2009-01-27 International Business Machines Corporation Synchronization of password and user data during migration from a first operating system platform to a second operating system platform
US7941602B2 (en) * 2005-02-10 2011-05-10 Xiotech Corporation Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
WO2007031963A2 (en) 2005-09-16 2007-03-22 Jeroen Oostendorp Platform for intelligent message management
US8081970B2 (en) 2006-03-27 2011-12-20 Research In Motion Limited System and method for provisioning a mobile wireless communications device, including indicators representative of image and sound data
US9112891B2 (en) * 2007-02-02 2015-08-18 Sharp Laboratories Of America, Inc. Remote firmware management for electronic devices
US20080288937A1 (en) * 2007-05-15 2008-11-20 International Business Machines Corporation Enabling software service in a hosted environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140138182A (ko) * 2012-03-20 2014-12-03 마이크로소프트 코포레이션 클라우드에서 투명하게 호스팅되는 조직들에 대한 아이덴티티 서비스
KR20150050449A (ko) * 2013-10-31 2015-05-08 주식회사 엘지화학 이차 전지용 프레임 및 이를 포함하는 배터리 모듈
US10749854B2 (en) 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems

Also Published As

Publication number Publication date
RU2010132203A (ru) 2012-02-10
EP2255294A2 (en) 2010-12-01
JP2011511363A (ja) 2011-04-07
WO2009097073A8 (en) 2010-12-23
US9063993B2 (en) 2015-06-23
CN102016815A (zh) 2011-04-13
WO2009097073A2 (en) 2009-08-06
US20090198835A1 (en) 2009-08-06
WO2009097073A3 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
KR20110026408A (ko) 구내 고객 위치와 원격 호스팅 서비스 사이에 속성들을 동기화시키기 위한 공존 도구
US11170316B2 (en) System and method for determining fuzzy cause and effect relationships in an intelligent workload management system
US10104053B2 (en) System and method for providing annotated service blueprints in an intelligent workload management system
US11449478B2 (en) Blockchain implemented data migration audit trail
US8706692B1 (en) Corporate infrastructure management system
US8234639B2 (en) Autonomic auto-configuration using prior installation configuration relationships
US8452873B2 (en) Provisioning of resources in a computer network
US20120066487A1 (en) System and method for providing load balancer visibility in an intelligent workload management system
US8250185B2 (en) Semantic matching of federation intents and services capabilities in a planning system for automatic service federation
US20210194929A1 (en) Determination of Compliance with Security Technical Implementation Guide Standards
CN109725930A (zh) 基于web平台的SVN权限管理方法及其装置
CN114745397B (zh) 一种基于私有云的在线存储方法、系统
US20220179931A1 (en) Protection of a content repository using dynamic watermarking
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制
US11736525B1 (en) Generating access control policies using static analysis
Hirway Hybrid Cloud for Developers: Develop and deploy cost-effective applications on the AWS and OpenStack platforms with ease
US20210044541A1 (en) Resource allocation for data integration
Volodarsky et al. Internet Information Services (IIS) 7.0 Resource Kit
Miller et al. Automating File Operations via Python
Montalbano Definition of a Microservices-based Management and Monitoring System for Oracle Cloud
Watson Pro Oracle Collaboration Suite 10g
McAmis et al. Microsoft Exchange Server 2003 Delta Guide
over HTTPS et al. ASP .NET device emulators supported by, 537–538 Device Update 2.0, 48 mobile devices supported by, 527–535 OMA and, 458
Collins et al. Office 365 Overview

Legal Events

Date Code Title Description
SUBM Surrender of laid-open application requested