KR20080021631A - 확장 가능하고 자동으로 복제되는 서버 팜 구성 관리인프라스트럭처를 위한 서버 팜, 시스템 및 방법 - Google Patents
확장 가능하고 자동으로 복제되는 서버 팜 구성 관리인프라스트럭처를 위한 서버 팜, 시스템 및 방법 Download PDFInfo
- Publication number
- KR20080021631A KR20080021631A KR1020077027937A KR20077027937A KR20080021631A KR 20080021631 A KR20080021631 A KR 20080021631A KR 1020077027937 A KR1020077027937 A KR 1020077027937A KR 20077027937 A KR20077027937 A KR 20077027937A KR 20080021631 A KR20080021631 A KR 20080021631A
- Authority
- KR
- South Korea
- Prior art keywords
- server
- configuration
- server farm
- configuration data
- farm
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
확장이 가능하고 자동으로 복제하는 서버 팜 구성 관리 인프라스트럭처가 제공된다. 중앙집중화된 구성 데이터베이스는 서버 팜에 대한 모든 구성 데이터를 저장한다. 새로운 구성 데이터는 구성 개체 모델을 확장함으로써 구성 데이터 베이스의 스키마(schema)를 알거나 변경하지 않은 채 구성 데이터베이스에 추가될 수 있다. 서버 팜 내의 각각의 서버에 대해 동기화 메커니즘이 제공되어 서버 팜에 구성 데이터가 서버 팜 내의 다수의 서버간에 자동으로 동기화되게 한다.
서버 팜, 구성 데이터베이스, 구성 데이터, 동기화
Description
요즘, 브라우저를 이용하여 사용자에게 애플리케이션을 전송하기 위해 인터넷이 널리 사용된다. 인터넷은 또한 개인 고객과 회사가 웹(Web)을 이용하여 다양한 상품 및 서비스를 구매하는 웹상에서의 상업적 거래를 위해 사용된다. 사실, 일부 회사들은 그들의 영역을 확장하기 위해 웹을 이용하는 반면에 다른 회사들은 상품 및 서비스를 오로지 웹을 통해서만 제공한다.
이러한 상업적 활동 및 기타의 것에 관해서는, 사업 및 기타 컨텐트 제공자들이 다양한 사용자들로부터의 요청을 처리하기 위해 서버를 사용한다. 여러 가지의 아키텍처가 이러한 요청을 다루는 데에 사용된다. 종종, 클러스터("서버 팜(server farm)") 내의 서버들의 집합인 분산된 아키텍처가 요청을 다루는 데에 사용된다. 이러한 서버 팜 시스템에서, 서버들의 집합은 사용자에게 하나의 서버로 보이게 된다. 서버 팜에 보내진 여러 가지 요청을 다루기 위해 서버 팜 내의 어떤 서버가 사용될지를 결정하도록 로드-밸런싱(load-balancing) 메커니즘이 사용될 수 있다.
서버 팜 내에 여러 가지의 서버를 구성하고 유지하는 것은 역사적으로 어려 운 작업이었다. 이 문제는 소정의 서버 팜에서 사용되는 서버의 개수가 수적으로 증가함에 따라 악화되었다. 서버 팜 내에서 서버를 적절하게 유지하기 위해, 서버는 이따금 업데이트될 필요가 있다. 이러한 업데이트는, 각각의 서버의 특정한 설정이 서로서로 동기화되어 있음을 보장하고, 서버 팜의 서버에 존재하는 다양한 서비스 및 애플리케이션의 거의 실시간 인식을 유지하는, 서버에 의해 제공되는 구성 데이터 및 서비스를 포함한다.
불행히도, 서버 관리를 수행하는 현재의 기술은 서버 팜 내의 서버의 체계적이고 포괄적인 관리를 가능케 하기 위한 응집적 방법론(cohesive methodology)을 제공하는 데에 실패하였다. 예를 들면, 통상적으로, 대부분의 애플리케이션은 구성 데이터를 파일에 저장한다. 그러한 접근법은 몇 가지의 주요 문제점을 갖는다. 첫째로는, 이러한 구성 파일은 그 애플리케이션을 실행하는 모든 서버들 사이에서 동기가 유지될 필요가 있다. Microsoft의 애플리케이션 서버(Application Server)와 같은 기술은 서버들 간에 구성 파일을 복사함으로써 다수의 서버들 간에 구성 파일의 동기화가 유지되도록 관리한다. 그러나, 구성 파일을 서버 기기에 복사할 때에 서버-특정 정보를 제공하기 위해서는 많은 추가적인 작업이 필요하다. 그러므로, 서버 팜에 대한 모든 구성 데이터를 중앙에 저장하고 서버 팜의 어느 곳에서나 자동으로 이용가능한 애플리케이션에 대한 구성 데이터를 만드는 메커니즘을 갖는 것이 바람직하다.
또한, 하나의 애플리케이션이 다른 애플리케이션("기초(base) 애플리케이션")의 위에 구축될 때에는, 그 애플리케이션은 기초 애플리케이션이 고유한 파일 포맷을 갖고 있음을 알아차릴 필요가 있으며 애플리케이션은 일반적으로 자신의 설정을 별도의 파일에 저장할 필요가 있다. XML과 같은 기술이 파일 포맷을 보다 쉽게 확장가능하게 만들더라도, 그러한 기술은 기초 애플리케이션이, 스키마(schema) 및 메커니즘을 게시하도록 하여 서로 다른 애플리케이션이 그 스키마를 호환할 수 없는 방식으로 확장되는 것을 방지할 것을 요구한다. 또한, 기초 애플리케이션이 XML에 저장된 설정을 업그레이드하기 원하는 경우에는, 기초 애플리케이션은 다른 애플리케이션의 설정이나 그러한 애플리케이션들이 의존하는 설정을 부수적으로 변경하지 않음을 보장할 필요가 있다. 마찬가지로, 기초 애플리케이션은 그 기초 애플리케이션에 의존하는 애플리케이션의 설정을 포함하는 파일의 위치를 바꿀 수 없다. 다른 일반적 설계에서는 애플리케이션 설정을 각각의 기기의 레지스트리에 저장한다. 이 설계는 서버 팜 곳곳에 걸쳐 설정을 분산하는 것을 사실상 불가능하게 하고 시스템 리소스 사용에 악영향을 미칠 수 있다. 그러므로, 고정된 파일 포맷에 의존하지 않고 애플리케이션 설정을 저장하기 위한, 중앙집중화된, 확장 가능한 메커니즘을 제공하는 것이 바람직하다.
본 발명은 서버 팜을 위해 확장 가능하고 자동으로 복제하는 구성 관리 인프라스트럭처를 제공함으로써 상기에 확인된 필요성을 다룬다. 인프라스트럭처는, 서버 팜 내의 모든 구성 데이터의 마스터 카피이며 구성 데이터가 자동으로 존속되는 곳인 구성 데이터베이스를 포함한다.
구성 인프라스트럭처는, 기본적인 구성 데이터베이스 스키마를 이해하거나 변경하지 않고도 임의의 제3자가 구성 데이터베이스 내의 구성 데이터를 업데이트할 수 있게 해주는 구성 관리 개체 모델을 더 포함한다. 바람직하게는, 구성 관리 개체 모델은 구성 데이터베이스와 상호작용하기 위한 유일한 방법이다.
본 발명의 다른 양태에 따르면, 구성 관리 인프라스트럭처는, 서버 팜 내의 모든 서버들이 구성 데이터베이스내의 임의의 구성 변화에 따라 업데이트됨을 보장하는 안전한 동기화 메커니즘을 더 포함한다. 예를 들면, 서버 팜 내의 각각의 서버는 타이머 서비스와 같이, 매 분마다 등의 특정한 시간 인터벌로 구성 데이터베이스를 자동으로 쿼리하는 에이전트(agent)를 포함한다. 에이전트는 그러면 구성 데이터베이스의 임의의 변화를 서버에 다운로드한다.
요약하자면, 본 발명은 확장 가능하고 자동으로 복제하는 서버 팜 구성 관리 인프라스트럭처를 제공한다. 결국, 서버 팜의 구성은 자동으로 동기화될 수 있고 구성의 변화는, 기본적인 구성 데이터베이스 스키마를 사용자가 알거나 변경하지 않고도 중앙집중화된 구성 데이터베이스에 추가될 수 있다.
이 요약은 아래의 실시예에서 더 설명되는 컨셉의 선택을 단순화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 주제의 주요 특징이나 근본적인 특징을 확인하기 위한 것이거나 청구된 주제의 범위를 결정하기 위한 목적으로 사용되기 위한 것은 아니다.
본 발명의 특성으로 여겨지는 새로운 특징들이 첨부된 청구항에 개시된다. 그러나 본 발명 자체는 선호되는 사용의 모드뿐만 아니라, 그것의 추후의 목적 및 장점은 또한 첨부되는 도면에 관련하여 읽을 때에 다음의 예시적인 실시예의 자세한 설명과 관련하여 가장 잘 이해될 것이다.
도 1은 본 발명의 양태가 구현될 수 있는 데이터 처리 시스템의 예시적인 네트워크를 도시하는 도면;
도 2는 도 1에서 사용되는 예시적인 서버 팜을 도시하는 블록도;
도 3은 다른 예시적인 서버 팜을 도시하는 블록도; 및
도 4는 서버 팜의 확장 가능하고 자동으로 복제하는 구성 관리를 위한 예시적인 프로세스를 도시하는 흐름도.
도 1은 본 발명의 예시적인 실시예가 구현될 수 있는 데이터 처리 시스템의 네트워크(100)의 그림 표현을 도시한다. 데이터 처리 시스템의 네트워크(100)는 네트워크(102)를 포함하는데, 이는 데이터 처리 시스템의 네트워크(100) 내에서 함께 연결된 다양한 장치 및 컴퓨터 사이의 통신 링크를 제공하기 위해 사용되는 매체이다. 네트워크(102)는 유선 또는 무선 통신 링크, 광섬유 케이블 등과 같은 연결을 포함할 수 있다.
도 1에 도시된 바와 같이, 데이터 처리 시스템의 네트워크(100)는 적어도 하나의 서버 팜(104) 및 다수의 클라이언트(108-112)를 포함하는데, 이것들은 모두 네트워크(102)에 연결되어 있다. 서버 팜(104)은 일반적으로 요청을 처리하기 위한 하나의 서버 또는 "가상의" 서버로 나타나는 서버의 집합으로 이루어져 있다. 클라이언트들(108, 110 및 112)은 서버 팜(104)에 대한 클라이언트이다. 이러한 클라이언트들(108, 110 및 112)은 예를 들면, 퍼스널 컴퓨터 또는 네트워크 컴퓨터일 수 있다. 일반적으로, 서버 팜(104)은 부팅 파일, 운영 시스템 이미지, 및 애플리케이션과 같은 데이터를 클라이언트(108-112)에 제공한다. 데이터 처리 시스템의 네트워크(100)는 추가적인 서버, 클라이언트, 및 도시되지 않은 기타 장치를 포함할 수 있다.
도시된 예에서는, 데이터 처리 시스템의 네트워크(100)는 인터넷인데, 여기서 네트워크(102)는, 다른 네트워크와 통신하기 위해 TCP/IP 프로토콜 스위트를 사용하는 네트워크 및 게이트웨이의 월드와이드 컬렉션을 나타낸다. 인터넷의 중심부에는 주요 노드 또는 호스트 컴퓨터 간의 고속 데이터 통신 선의 백본이 있다. 이러한 노드 또는 호스트 컴퓨터들은 데이터 및 메시지를 라우팅하는 수천 개의 상업, 정부, 교육, 및 기타 컴퓨터 시스템을 포함한다. 네트워크 데이터 처리 시스템(100)은 또한 예를 들면, 인트라넷, LAN(local area net), 또는 WAN(wide area network)과 같은, 서로 다른 타입의 다수의 네트워크로서 구현될 수 있다. 도 1은 예시를 위한 것이며, 본 발명의 구조적인 제한을 위한 것은 아니다.
도 2는 본 발명의 예시적인 실시예에 따른 서버 팜(104)의 블록도이다. 도 2에서 도시된 바와 같이, 서버 팜(104)은 통신 시스템(212)을 통해 서로 통신하는, 서버(202A, 202B, 202C)와 같은, 복수의 서버들을 포함한다. 통신 시스템(212)은 서버 팜(104)을 향한 라우팅 요청과 응답을 다루기 위해 사용된다. 통신 시스템(212)은 예를 들면, 버스, 네트워크, 공유된 메모리 등을 비롯한 다양한 형태를 취할 수 있다.
서버 팜(104)은 통신 시스템(212)에 연결되고 네트워크(102)로부터 서버 팜(104)에 대한 요청을 수신하도록 기능 하는 로드 관리자(214)를 포함할 수 있다. 요청은 클라이언트(108-112: 도 1)로부터 수신된 요청을 포함할 수 있고 예를 들면, 웹 페이지, 파일, 및 기타 컨텐트 요청을 포함할 수 있다. 로드 관리자(214)는 요청을 서버들(202A-202C)에 분배하여 처리하도록 한다. 근본적으로는, 로드 관리자(214)는, 서버 팜(104)의 어떤 서버(202A-202C)도 서버 팜(104)의 요청을 불필요하게 부담하지 않아도 됨을 보장하도록 동작한다.
본 발명의 실시예에서는, 서버 팜(104)은 필수적으로 서버 팜(104)에 대한 모든 구성 데이터를 저장하는 구성 데이터베이스(218)를 포함한다. 구성 데이터베이스(218)는, 구성 데이터가 서버 팜(104) 내의 각각의 서버(202A-202C)에 전송되는 것을 허용하도록 통신 시스템(212)에 동작가능하게 연결된다. 구성 데이터베이스(218)는 각각의 서버(202A-202C)의 구성 설정을 관리하는 데에 사용된다. 구성 데이터베이스(218)는 그러므로, 반드시 변경되고/되거나 서버 팜(104)의 여러 서버(202A-202C)에 추가되어야 하는 임의의 구성 설정을 위한 중앙 리포지토리로 동작한다. 구성 데이터베이스(218)를 제공하는 것은 서버(202A-202C)의 구성 설정을 수동으로 업데이트하고/하거나 추가할 필요성을 없앤다. 서버 토폴로지에 관한 정보를 저장하는 것 이외에도, 구성 데이터베이스(218)는 또한 보안 정책, 앤티바이러스 규정, 언어 설정 등과 같은 애플리케이션-특정 설정을 저장할 수 있다. 본 발명의 실시예에서는, 구성 데이터베이스(218)는 서버 팜(104) 내의 모든 구성 데이터의 마스터 카피이므로, 동일한 정보가 서버 팜(104) 내의 서버의 집합 전체에 걸쳐 사용가능하게 할 수 있다.
서버 팜(104)은 또한 적어도 하나의 컨텐트 저장소(220)를 포함할 수 있다. 서버 팜(104)의 다른 운영 요소와 유사하게, 컨텐트 저장소(220)에 저장된 정보가 서버 팜(104)의 다양한 컴포넌트에 분산되도록 허용하기 위해 컨텐트 저장소(220)는 통신 시스템(212)에 동작가능하게 연결된다. 본 발명의 예시적인 실시예에서, 컨텐트 저장소(220)의 컨텐트는 서버 팜(104)의 서버에 대한 데이터이다. 그러한 데이터는 문서, 데이터 항목, 논의, 작업 등을 포함한다. 컨텐트 저장소(220)는 하나 이상의 서버(202A-202C)의 주어진 구성 변경에 특히 관련되는 컨텐트를 제공하도록 구성 데이터베이스(218)와 결부되어 동작한다. 본 발명의 예시적인 실시예에서는, 컨텐트 저장소(220)는 구성 데이터베이스(218)와 인터페이싱하지 않고 있다. 구성 데이터베이스(218)는 어떤 컨텐트 데이터베이스가 서버에 대한 데이터를 저장하는지에 관한 맵(map)을 포함한다. 결국, 컨텐트 저장소가 서버 팜(104) 내의 특정 서버에 대한 컨텐트를 포함하는지를 알기 위해 서버 팜(104) 내의 각각의 컨텐트 저장소(220)에 쿼리하는 것은 불필요하다.
본 발명의 예시적인 실시예에서는, 서버 팜(104)은 임의적으로 확장이 가능하다. 이는 서버 팜(104)이 서버(202A-202C)와는 다른 다수의 서버를 포함하여 임의적으로 확장될 수 있음을 포함한다. 또한, 서버 팜(104)은 다수의 컨텐트 저장소(220)를 포함하여 다수의 서버에 대한 데이터를 저장할 수 있다.
상세하게는, 도 3에 도시된 바와 같이 본 발명의 예시적인 실시예는 구성 개체 모델(302)을 제공하여 구성 데이터베이스(218)에 구성 데이터를 추가하거나 구 성 데이터베이스(218) 내의 구성 데이터를 관리함으로써 서버 팜(104)의 임의적인 확장을 가능하게 한다. 예를 들면, 도 3에 도시된 바와 같이, 구성 개체 모델(302)은 사용자로 하여금 새로운 구성 데이터(304)를 구성 데이터베이스(218)에 추가하도록 허용한다. 구성 개체 모델은 사용자에게 구성 데이터베이스(218)의 스키마를 이해할 것을 요구하지 않고 또한 사용자에게 구성 데이터베이스(218)를 편집하도록 요구하지도 않은 채 사용자로 하여금 서버 팜(104)에 대한 구성 데이터를 확장하거나 업데이트하도록 허용한다. 본 발명의 예시적인 실시예에서는, 구성 개체 모델(302)에 대한 .Net 개체 기반의 클래스가 제공된다. 사용자가 특정 구성 데이터를 갖는 기본(base) 클래스를 확장할 수 있다. 그러한 데이터는 그러면 구성 데이터베이스(218)에 통합된다. 결국, 사용자는 구성 데이터베이스(218)의 스키마를 이해하거나 변경하지 않은 채, 구성 데이터베이스(218)와 상호작용하고 다양한 타입의 데이터를 구성 데이터베이스(218)에 추가하기 위해 구성 개체 모델(302)을 통하기만 하면 된다. 본 발명의 예시적인 실시예에서는, 애플리케이션에 대한 구성 정보를 포함하는 개체는 예컨대, SPPersistedObject라고 불리는 기본 클래스로부터 유도되거나 이에 포함된다. 업데이트되는 경우에는, 이 클래스가 "존속되는(persisted)" 속성으로 표시된 모든 필드를 XML로 연속적으로 나열하고, XML 블럽(blob)을 구성 데이터베이스(218)에 기재할 것이다. 기본 클래스는 기본 타입, 다른 SPPersistedObject, 또는 둘 중 하나의 컬렉션인 그것의 모든 구성원이 연속적으로 나열되도록 하는 코드를 포함한다. 그러한 설계는 애플리케이션에 대한 구성 데이터를 포함하는 새로운 개체가 서버 팜(104)의 일부분인 애플리케이션에게 필요한 만큼 구성 데이터베이스(218)에 추가되도록 허용한다.
본 발명의 실시예는 또한 구성 데이터베이스(218)에서 임의의 변경을 자동으로 복제하는 동기화 메커니즘을 서버 팜(104)의 서버에 제공한다. 본 발명의 예시적인 실시예에서는, 서버 팜(104)의 각 서버(202A-202C)는 에이전트를 포함한다. 이 에이전트는 로컬 메모리 및/또는 서버 내의 하드 디스크에 동작가능하게 저장된다. 도 3에 도시된 바와 같이, 서버(202A)는 에이전트(306)를 포함한다. 동작적으로, 에이전트(306)은 구성 데이터베이스(218) 내의 구성 데이터에 수정이 일어났는지의 여부를 판별하기 위해 동작한다. 바람직하게는, 에이전트(306)는 구성 데이터베이스(218)에 변경 및/또는 추가가 일어났는지를 판별하기 위해 구성 데이터베이스(218)의 주기적인 폴링(polling)을 허용하는 시간 기반에 따라 동작한다.
본 발명의 예시적인 실시예에서는, 에이전트(306)는 SharePoint Timer와 같은 Microsoft Windows 서비스 내의 스레드(thread)이다. 에이전트(306)는 구성 데이터베이스(218)에 매 분당 적어도 한번 접속하고 쿼리를 실행한다. 쿼리는 서버(202A)의 가장 새로운 구성 기록의 타임스탬프를 사용한다. 쿼리는 타임스탬프를 입력으로 이용하여 구성 데이터베이스(218)를 쿼리하고 타임스탬프에 의해 기록된 시간 이래로 생성되었거나, 변경되었거나, 또는 삭제된 임의의 구성 기록을 구성 데이터베이스(218)에 반환한다.
본 발명의 예시적인 실시예에서는, 에이전트(306)는 컨텐트 저장소(220)와 직접 인터페이싱하지는 않는다. 그러나, 에이전트(306)는 서버 팜(104)의 서버상의 다른 프로세스에 필요한 정보를 전파하는 것을 돕기 위해 컨텐트 저장소(220)에 접속한다. 예를 들면, 본 발명의 예시적인 실시예에서는, 새로운 컨텐트 데이터베이스가 서버 팜(104)에 추가되어 추가적인 용도를 수용하는 경우에는, 에이전트(306)는 새로운 클라이언트 데이터베이스에 대한 연결 스트링을 서버 팜(104) 내의 각각의 서버에 분배하여 서버 팜(104) 내의 이용가능한 컨텐트 데이터베이스를 식별하는 서버상의 목록에 새로운 컨텐트 데이터베이스를 등록하도록 할 것이다. 결국, 서버 팜(104) 내의 서버의 다른 프로세스는 컨텐트 저장소를 위한 새로운 컨텐트 데이터베이스를 사용할 수 있다. 본 발명의 실시예에서는, 에이전트(306)는 적어도 매 분마다 구성 데이터베이스(218)를 쿼리하고, 쿼리를 실행하며, 임의의 구성 기록 변경에 관한 정보를 전파하기 위한 루프를 실행한다.
본 발명의 실시예는 따라서 서버 팜(104)과 같은 서버 팜에 대해 확장 가능하고 자동으로 복제하는 구성 관리를 위한 방법을 제공한다. 도 4는 적어도 하나의 서버를 포함하는 서버 팜에 대해 확장 가능하고 자동으로 복제하는 구성 관리의 예시적인 프로세스(400)를 도시한다. 도 4에 도시된 바와 같이, 프로세스(400)는 서버 팜과 관련된 모든 구성 데이터를 구성 데이터베이스(218)과 같은 구성 데이터베이스에 저장한다. 블록(402)을 보자. 구성 데이터는 서버 토폴로지, 보안 정책과 같은 애플리케이션-특정 설정, 앤티바이러스 규정, 언어 설정 등을 포함할 수 있다. 프로세스(400)는 또한 구성 개체 모델(302)와 같은 구성 개체 모델을 구축한다. 블록(404)을 보자, 예를 들면, 구성 개체 모델은 구성 데이터베이스의 스키마를 알거나 사용하지 않은 채, 구성 데이터베이스에 대한 새로운 구성 데이터를 제공하기 위해 서브클래싱(subclassing) 또는 인스턴스화(instantiating)함으로써 확장될 수 있는 기초 클래스이다. 프로세스(400)는 또한 서버 팜의 각각의 서버에 에이전트(306)와 같은 동기화 메커니즘을 구축한다. 블록(406)을 보자. 본 발명의 예시적인 실시예에서는, 동기화 메커니즘은 구성 데이터베이스를 주기적으로 쿼리하고, 마지막 쿼리 이래로 존재하는 구성 데이터베이스의 임의의 변경을 업데이트한다. 프로세스(400)는 그 후 종료한다. 프로세스(400)에서 동작의 기술 순서는 이러한 동작이 제시된 순서로 또는 순서의존적으로 반드시 수행됨을 내포하는 것으로 해석되어서는 안된다.
본 발명의 예시적인 실시예가 설명되고 기술되었지만, 본 발명의 사상 및 범위로부터 일탈함이 없이 다양한 변화가 본원에서 가능함이 이해될 것이다.
Claims (17)
- 서버 팜으로서,서버 팜에 대한 구성 데이터를 저장하는 구성 데이터베이스; 및적어도 하나의 서버-상기 서버는 상기 구성 데이터의 임의의 변경을 상기 서버에 자동으로 업데이트하기 위한 동기화 메커니즘을 포함함-를 포함하는 서버 팜.
- 제1항에 있어서, 상기 구성 데이터베이스는 구성 개체 모델을 확장하는 구성 데이터 개체에 의해 제공되는 구성 데이터에 의해 업데이트되는 서버 팜.
- 제2항에 있어서, 상기 구성 개체 모델을 확장하는 상기 구성 데이터 개체는 상기 구성 데이터베이스의 스키마를 이용하지 않는 서버 팜.
- 제1항에 있어서, 상기 동기화 메커니즘은,상기 구성 데이터베이스를 주기적으로 쿼리하고,상기 구성 데이터의 변경을 상기 서버에 다운로드하는 것에 의해,상기 구성 데이터의 임의의 변경을 상기 서버에 자동으로 업데이트하는 서버 팜.
- 제4항에 있어서, 상기 동기화 메커니즘은 타이머 서비스인 서버 팜.
- 제1항에 있어서, 상기 서버 팜 내의 적어도 하나의 서버에 대한 데이터를 저장하는 적어도 하나의 컨텐트 저장소를 더 포함하는 서버 팜.
- 제6항에 있어서, 상기 동기화 메커니즘은 상기 컨텐트 저장소에 관한 정보를 상기 서버에 전파하는 서버 팜.
- 제1항에 있어서, 상기 서버 팜에게 만들어진 요청을 상기 서버 팜의 서버들에 분배하기 위한 로드 관리자를 더 포함하는 서버 팜.
- 적어도 하나의 서버를 포함하는 서버 팜의 위한 확장 가능하고 자동으로 복제하는 구성 관리를 위한 시스템으로서,상기 서버 팜에 대한 구성 데이터를 저장하는 구성 데이터베이스;상기 구성 데이터베이스의 스키마를 사용하지 않고 상기 구성 데이터를 상기 구성 데이터베이스에 업데이트하기 위한, 확장 가능한 구성 개체 모델; 및상기 구성 데이터의 임의의 변경을 상기 서버에 자동으로 업데이트하기 위한, 상기 서버 팜 내의 각각의 서버 내의 동기화 메커니즘을 포함하는 적어도 하나의 서버를 포함하는 서버 팜의 위한 확장 가능하고 자동으로 복제하는 구성 관리를 위한 시스템.
- 제9항에 있어서, 상기 동기화 메커니즘은,상기 구성 데이터베이스를 주기적으로 쿼리하고,상기 구성 데이터에서의 상기 변경을 상기 서버에 다운로드하는 것에 의해,상기 구성 데이터의 임의의 변경을 상기 서버에 자동으로 업데이트하는 시스템.
- 제9항에 있어서, 상기 동기화 메커니즘은 타이머 서비스인 시스템.
- 제9항에 있어서, 상기 서버 내의 적어도 하나의 상기 서버에 대한 데이터를 저장하는 적어도 하나의 컨텐트 저장소를 더 포함하는 시스템.
- 제12항에 있어서, 상기 동기화 메커니즘은 상기 컨텐트 저장소에 관한 정보를 상기 서버에 전파하는 시스템.
- 제9항에 있어서, 상기 서버 팜에게 행해진 요청을 상기 서버 팜의 서버들에 분배하기 위한 로드 관리자를 더 포함하는 시스템.
- 제9항에 있어서, 적어도 하나의 요청을 상기 서버 팜에 전송하는 적어도 하나의 클라이언트 장치를 더 포함하는 시스템.
- 적어도 하나의 서버를 포함하는 서버 팜을 위한 확장 가능하고 자동으로 복제하는 구성 관리를 위한 방법으로서,상기 서버 팜에 대한 구성 데이터를 구성 데이터베이스에 저장하는 단계;상기 구성 데이터베이스의 스키마를 사용하지 않고 상기 구성 데이터를 상기 구성 데이터베이스에 업데이트하기 위해 확장될 수 있는 구성 개체 모델을 제공하는 단계; 및상기 서버 팜 내의 각각의 서버에, 상기 구성 데이터베이스의 구성 데이터의 임의의 변경을 상기 서버에 자동으로 업데이트하기 위한 동기화 메커니즘을 구축하는 단계를 포함하는 적어도 하나의 서버를 포함하는 서버 팜을 위한 확장 가능하고 자동으로 복제하는 구성 관리를 위한 방법.
- 제16항에 있어서, 상기 동기화 메커니즘은,상기 구성 데이터베이스를 주기적으로 쿼리하고,상기 구성 데이터의 변경을 상기 서버에 다운로드하는 것에 의해,상기 구성 데이터의 임의의 변경을 상기 서버에 자동으로 업데이트하는 방 법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/171,617 US7577661B2 (en) | 2005-06-30 | 2005-06-30 | Extensible and automatically replicating server farm configuration management infrastructure |
US11/171,617 | 2005-06-30 | ||
PCT/US2006/017586 WO2007005106A2 (en) | 2005-06-30 | 2006-05-08 | Extensible and automatically replicating server farm configuration management infrastructure |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080021631A true KR20080021631A (ko) | 2008-03-07 |
KR101169117B1 KR101169117B1 (ko) | 2012-07-26 |
Family
ID=37591005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077027937A KR101169117B1 (ko) | 2005-06-30 | 2006-05-08 | 확장 가능하고 자동으로 복제되는 서버 팜 구성 관리인프라스트럭처를 위한 서버 팜, 시스템 및 방법 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7577661B2 (ko) |
EP (1) | EP1899862B1 (ko) |
JP (1) | JP2009500716A (ko) |
KR (1) | KR101169117B1 (ko) |
CN (1) | CN101189611B (ko) |
BR (1) | BRPI0612629B1 (ko) |
MX (1) | MX2007015188A (ko) |
RU (1) | RU2404451C2 (ko) |
WO (1) | WO2007005106A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140079385A (ko) * | 2011-09-27 | 2014-06-26 | 마이크로소프트 코포레이션 | 장애 허용 외부 애플리케이션 서버 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176408B2 (en) * | 2005-09-12 | 2012-05-08 | Microsoft Corporation | Modularized web provisioning |
EP1791293A1 (en) * | 2005-11-29 | 2007-05-30 | Ipanto | Network service configuration management |
US7979789B2 (en) * | 2005-12-19 | 2011-07-12 | Microsoft Corporation | System and method of replacing a delegate component associated with a delegate modular software component at software execution time |
US8601130B2 (en) * | 2006-06-07 | 2013-12-03 | Qualcomm Incorporated | Propagating session state changes to network functions in an active set |
JP2008293256A (ja) * | 2007-05-24 | 2008-12-04 | Nec Corp | 冗長構成サーバシステムにおけるファイルバックアップ方法、プログラム、及び、冗長構成サーバシステム |
US7877590B2 (en) * | 2007-08-13 | 2011-01-25 | International Business Machines Corporation | Consistent data storage subsystem configuration replication |
US9239767B2 (en) * | 2008-12-22 | 2016-01-19 | Rpx Clearinghouse Llc | Selective database replication |
US8832235B1 (en) * | 2009-03-10 | 2014-09-09 | Hewlett-Packard Development Company, L.P. | Deploying and releasing logical servers |
US8595334B2 (en) * | 2010-02-22 | 2013-11-26 | Microsoft Corporation | Incrementally managing distributed configuration data |
CN102402441B (zh) * | 2010-09-16 | 2014-08-20 | 腾讯科技(深圳)有限公司 | 一种对多台计算机进行配置的系统和方法 |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
RU2444056C1 (ru) | 2010-11-01 | 2012-02-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ ускорения решения проблем за счет накопления статистической информации |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
CN102075358B (zh) * | 2010-12-31 | 2013-10-30 | 网宿科技股份有限公司 | 针对大规模服务器集群的内容分发和部署的系统和方法 |
US20130036212A1 (en) * | 2011-08-02 | 2013-02-07 | Jibbe Mahmoud K | Backup, restore, and/or replication of configuration settings in a storage area network environment using a management interface |
US20130066832A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Application state synchronization |
CN102930368B (zh) * | 2011-09-27 | 2017-05-03 | 微软技术许可有限责任公司 | 容错外部应用服务器 |
US9047129B2 (en) * | 2012-07-23 | 2015-06-02 | Adobe Systems Incorporated | Systems and methods for load balancing of time-based tasks in a distributed computing system |
US9542177B1 (en) * | 2012-10-30 | 2017-01-10 | Amazon Technologies, Inc. | Peer configuration analysis and enforcement |
CN103209338A (zh) * | 2013-02-04 | 2013-07-17 | 奥维通信股份有限公司 | 一种复用器在线动态配置系统及方法 |
US9305044B2 (en) * | 2013-07-18 | 2016-04-05 | Bank Of America, N.A. | System and method for modelling data |
US10050832B2 (en) * | 2014-09-19 | 2018-08-14 | Sybase 365, Inc. | Server clustering in mobile computing environment |
US9864791B2 (en) | 2014-12-19 | 2018-01-09 | Microsoft Technology Licensing, Llc | Flow for multi-master replication in distributed storage |
US10021186B2 (en) | 2014-12-19 | 2018-07-10 | Microsoft Technology Licensing, Llc | Guaranteed delivery of replication message |
US9959114B2 (en) * | 2015-03-16 | 2018-05-01 | Microsoft Technology Licensing, Llc | Representation of customizable types in a development environment |
US9923768B2 (en) * | 2015-04-14 | 2018-03-20 | International Business Machines Corporation | Replicating configuration between multiple geographically distributed servers using the rest layer, requiring minimal changes to existing service architecture |
US9760459B2 (en) | 2015-06-10 | 2017-09-12 | International Business Machines Corporation | Synchronization policies among nodes |
US20170063986A1 (en) * | 2015-08-31 | 2017-03-02 | Microsoft Technology Licensing, Llc | Target-driven tenant identity synchronization |
JP6338189B2 (ja) * | 2015-09-11 | 2018-06-06 | Necフィールディング株式会社 | 管理装置、管理システム、管理装置の制御方法、及びプログラム |
US10200242B2 (en) | 2015-10-12 | 2019-02-05 | Dell Products, Lp | System and method to replicate server configurations across systems using sticky attributions |
CN111314479B (zh) * | 2016-06-20 | 2022-08-23 | 北京奥星贝斯科技有限公司 | 一种数据处理方法和设备 |
US10263845B2 (en) * | 2017-05-16 | 2019-04-16 | Palantir Technologies Inc. | Systems and methods for continuous configuration deployment |
US10353699B1 (en) | 2017-06-26 | 2019-07-16 | Palantir Technologies Inc. | Systems and methods for managing states of deployment |
US10558454B2 (en) | 2018-06-04 | 2020-02-11 | Palantir Technologies Inc. | Constraint-based upgrade and deployment |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838918A (en) * | 1993-12-13 | 1998-11-17 | International Business Machines Corporation | Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US7181539B1 (en) * | 1999-09-01 | 2007-02-20 | Microsoft Corporation | System and method for data synchronization |
JP2001075900A (ja) * | 1999-09-07 | 2001-03-23 | Toshiba Corp | 監視制御システムおよび記録媒体 |
JP2001273269A (ja) * | 2000-03-24 | 2001-10-05 | Hitachi Ltd | 複数プロセッサの構成情報更新方式 |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7287090B1 (en) * | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
US7600021B2 (en) * | 2002-04-03 | 2009-10-06 | Microsoft Corporation | Delta replication of source files and packages across networked resources |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US7065674B2 (en) * | 2002-08-01 | 2006-06-20 | Microsoft Corporation | Computer system fault recovery using distributed fault-recovery information |
US20050015471A1 (en) * | 2003-07-18 | 2005-01-20 | Zhang Pu Paul | Secure cluster configuration data set transfer protocol |
-
2005
- 2005-06-30 US US11/171,617 patent/US7577661B2/en active Active
-
2006
- 2006-05-08 JP JP2008519287A patent/JP2009500716A/ja active Pending
- 2006-05-08 RU RU2007147644/09A patent/RU2404451C2/ru not_active IP Right Cessation
- 2006-05-08 MX MX2007015188A patent/MX2007015188A/es active IP Right Grant
- 2006-05-08 WO PCT/US2006/017586 patent/WO2007005106A2/en active Application Filing
- 2006-05-08 BR BRPI0612629-4A patent/BRPI0612629B1/pt active IP Right Grant
- 2006-05-08 CN CN2006800197032A patent/CN101189611B/zh active Active
- 2006-05-08 KR KR1020077027937A patent/KR101169117B1/ko active IP Right Grant
- 2006-05-08 EP EP06759246.9A patent/EP1899862B1/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140079385A (ko) * | 2011-09-27 | 2014-06-26 | 마이크로소프트 코포레이션 | 장애 허용 외부 애플리케이션 서버 |
Also Published As
Publication number | Publication date |
---|---|
US7577661B2 (en) | 2009-08-18 |
EP1899862A4 (en) | 2010-11-10 |
RU2007147644A (ru) | 2009-06-27 |
WO2007005106A2 (en) | 2007-01-11 |
WO2007005106A3 (en) | 2007-11-08 |
US20070005662A1 (en) | 2007-01-04 |
EP1899862B1 (en) | 2018-02-21 |
CN101189611A (zh) | 2008-05-28 |
BRPI0612629B1 (pt) | 2018-06-05 |
BRPI0612629A2 (pt) | 2010-11-23 |
KR101169117B1 (ko) | 2012-07-26 |
CN101189611B (zh) | 2012-08-29 |
RU2404451C2 (ru) | 2010-11-20 |
MX2007015188A (es) | 2008-02-19 |
JP2009500716A (ja) | 2009-01-08 |
EP1899862A2 (en) | 2008-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101169117B1 (ko) | 확장 가능하고 자동으로 복제되는 서버 팜 구성 관리인프라스트럭처를 위한 서버 팜, 시스템 및 방법 | |
US9473575B2 (en) | Online collaboration | |
KR101278743B1 (ko) | 서버 팜에서의 솔루션 배치 | |
US8843561B2 (en) | Common cluster model for configuring, managing, and operating different clustering technologies in a data center | |
US7174557B2 (en) | Method and apparatus for event distribution and event handling in an enterprise | |
US7937716B2 (en) | Managing collections of appliances | |
US20080306904A1 (en) | System, method, and program product for integrating databases | |
US7619761B2 (en) | Extensible and distributed job execution service in a server farm | |
US20030041139A1 (en) | Event management for a remote network policy management system | |
US20020095524A1 (en) | Method and apparatus for applying policies | |
US20090063650A1 (en) | Managing Collections of Appliances | |
US20080189402A1 (en) | Method and Respective System for Performing Systems Management on IT-Resources Using Web Services | |
US20050240625A1 (en) | Method and apparatus for scalable transport processing fulfillment system | |
JP5257455B2 (ja) | 2相コミットによるデータ更新同期方法及びシステム | |
US7877695B2 (en) | Tailored object | |
US20050015441A1 (en) | Distributed event notification system | |
JP3870701B2 (ja) | コンピュータの階層情報管理方法および装置ならびにその処理プログラムを記録した記録媒体 | |
US20060031185A1 (en) | Systems and methods for interoperation of directory services | |
JP4497983B2 (ja) | ファイル共有制御システム、共有制御サーバおよび共有制御プログラム | |
JP3897538B2 (ja) | 配付資源の配付に用いられる配付元サーバおよび中継サーバ並びにコンピュータプログラム | |
CN108322319B (zh) | 一种基于增量日志的日志管理方法及管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160616 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170616 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190617 Year of fee payment: 8 |