KR101369026B1 - 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템 - Google Patents

상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101369026B1
KR101369026B1 KR1020117002202A KR20117002202A KR101369026B1 KR 101369026 B1 KR101369026 B1 KR 101369026B1 KR 1020117002202 A KR1020117002202 A KR 1020117002202A KR 20117002202 A KR20117002202 A KR 20117002202A KR 101369026 B1 KR101369026 B1 KR 101369026B1
Authority
KR
South Korea
Prior art keywords
information
batch
deployment
configuration information
configuration
Prior art date
Application number
KR1020117002202A
Other languages
English (en)
Other versions
KR20110063630A (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 KR20110063630A publication Critical patent/KR20110063630A/ko
Application granted granted Critical
Publication of KR101369026B1 publication Critical patent/KR101369026B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

다수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법 및 시스템이 개시된다. 하나의 구현은 상기 컴퓨팅 노드에서 정보 기술(IT) 제품/솔루션의 배치로부터 성능 정보를 동적으로 획득하고, 획득한 성능 정보를 지식 데이터베이스에 저장하기 위해 통신 네트워크를 통해 서버에 획득한 성능 정보를 전송하는 것을 포함한다. 서버는 데이터베이스 내의 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, 데이터베이스에 새로운 구성을 저장하고, 네트워크를 통해 새로운 구성 정보를 전송함으로써 상기 배치에 새로운 구성 정보를 제공하도록 동작한다.

Description

상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR SHARING PERFORMANCE DATA BETWEEN DIFFERENT INFORMATION TECHNOLOGY PRODUCT/SOLUTION DEPLOYMENTS}
본 발명은 일반적으로 정보 기술(IT; information technology) 제품/솔루션(product/solution)을 구성하는 것에 관한 것으로, 구체적으로는 IT 제품/솔루션 배치들(deployments) 사이에 구성 정보를 공유하는 것에 관한 것이다.
생산 환경에서 정보 기술(IT) 제품/솔루션을 배치할 때, 빈번하고 풀기가 어려운 문제가 특정 서비스 레벨 또는 성능 목표를 달성하기 위해 최적의(optimal) 구성 세트를 찾는 것이다. 오늘날 엔터프라이즈(enterprise) 애플리케이션을 배치하고 최적의 성능을 전달하는 구성을 결정하는데 있어서 쟁점은, 애플리케이션들이 점점 더 애플리케이션에 대한 실행시간 플랫폼(미들웨어)을 제공하는 다른 소프트웨어 제품 세트에 기초한다는 점이다. 다른 쟁점으로는 애플리케이션이 수많은 플랫폼(운영체제) 상에서 실행되도록 개발된다는 점이다. 또 다른 쟁점은 최적의 성능의 전달 및 개발을 위한 최상의 실시가 항상 따라오는 것은 아니므로 각각의 애플리케이션이 특별히 튜닝되어야 한다는 점이 있다.
현재 똑같은 IT 제품/솔루션이 상이한 고객(customer) 환경에서 배치되는 경우, 각각의 고객은 최적의 구성을 찾는데 시간을 보내야 한다. 2개의 고객이 동일한 최적의 구성을 유도하게 되는 유사한 컴퓨팅 환경을 갖는 경우, 각각의 고객은 여전히 최적의 구성을 찾는데 시간을 보내야 하는데, 이들 고객이 최적의 구성에 관한 정보를 공유하는 동적 메커니즘을 갖지 않기 때문이다. IT 서비스 제공자가 제품/솔루션을 다수회 구성해야 할 경우 유사한 문제가 발생한다.
본 발명은 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템을 제공하고자 한다.
본 발명은 본 발명의 실시예에 따라 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템을 제공한다. 하나의 구현은, 다수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법 및 시스템으로서, 상기 컴퓨팅 노드에서 정보 기술(IT) 제품/솔루션의 배치로부터 성능 정보를 동적으로 획득하고, 지식 데이터베이스에 상기 획득한 성능 정보를 저장하기 위해 통신 네트워크를 통해 서버에 상기 획득한 성능 정보를 전송하는 것을 포함하는 방법 및 시스템을 포함한다. 서버는 데이터베이스 내의 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, 데이터베이스에 새로운 구성을 저장하고, 네트워크를 통해 새로운 구성 정보를 전송함으로써 상기 배치에 새로운 구성 정보를 제공하도록 동작된다.
각 배치에서의 성능 정보는 그 배치에서의 현재 구성 정보를 포함하고, 상기 새로운 구성 정보를 결정하는 것은 데이터베이스 내의 구성 정보에 기초하여 새로운 구성 정보를 결정하는 것을 더 포함할 수 있다.
상기 성능 정보는 배치의 구성 정책(configuration policy)에 기초하여 각 배치에서 하드웨어 및 소프트웨어 구성에 대한 현재 구성 파라미터 정보를 포함할 수 있고, 상기 새로운 구성 정보를 결정하는 것은 데이터베이스 내의 정보에 기초하여 최적의 구성을 결정하는 것을 더 포함할 수 있다.
배치에 대한 최적의 구성 정보를 결정하는 것은, 그 배치로부터 획득한 정보에 기초하여, 배치로부터의 획득한 파라미터 정보에 기초하여 배치에 배치 유형 - 상기 배치 유형은 배치의 컴퓨팅 환경의 특성의 함수임 - 을 할당하고, 그 배치 유형에 대하여 최적의 구성이 데이터베이스 내에 존재하는 경우, 그 배치 유형에 대하여 기존의 최적의 구성을 제공하는 것을 더 포함할 수 있다. 그 배치 유형에 대하여 최적의 구성이 데이터베이스 내에 존재하지 않는 경우에는, 그 배치 유형에 대하여 데이터베이스 내의 구성 정보에 기초하여 배치에 대한 최적의 구성을 결정하고, 데이터베이스에 배치에 대한 최적의 구성을 저장하고, 배치에 대한 최적의 구성을 제공하는 것을 더 포함할 수 있다.
새로운 구성 정보는 배치에서의 구성 정책에 기초하여 배치에 적용될 수 있다. 배치가 새로운 구성 정보를 요청할 수 있으며, 그리하여 상기 새로운 구성 정보를 제공하는 것은 요청하는 배치에 새로운 구성 정보를 제공하는 것을 포함할 수 있다.
본 발명의 기타 양상 및 이점은 도면과 함께 참조하여 예로써 본 발명의 원리를 예시한 다음의 상세한 설명으로부터 명백하게 될 것이다.
본 발명에 따르면, 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템을 제공할 수 있다.
본 발명의 속성 및 이점 뿐만 아니라 바람직한 사용 모드의 보다 충분한 이해를 위해, 첨부 도면과 함께 다음의 상세한 설명을 참조하여야 한다.
도 1은 본 발명의 실시예에 따라 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 지식 공유 시스템의 기능 블록도를 도시한다.
도 2는 본 발명의 실시예에 따라 지식 공유 시스템에서 클라이언트 모듈의 기능 블록도를 도시한다.
도 3은 본 발명의 실시예에 따라 지식 공유 시스템에서 서버 모듈의 기능 블록도를 도시한다.
도 4는 본 발명의 실시예에 따라 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 아키텍처의 기능 블록도를 도시한다.
도 5는 본 발명의 실시예에 따라 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 프로세스의 흐름도를 도시한다.
도 6은 본 발명의 실시예에 따라 상이한 정보 기술 제품/솔루션 배치들 사이에 최적의 구성 정보를 결정하고 공유하기 위한 프로세스의 흐름도를 도시한다.
도 7은 본 발명의 실시예에 따라 상이한 정보 기술 제품/솔루션 배치들 사이에 최적의 구성 정보를 공유하고 적용하는 그래픽 예를 도시한다.
다음의 설명은 본 발명의 일반적인 원리를 예시하기 위한 목적으로 이루어지며 본 명세서에서 주장하는 본 발명의 개념을 한정하고자 하는 것이 아니다. 또한, 본 명세서에 기재되는 특정 특징들은 각각의 다양한 가능한 조합 및 치환으로 다른 기재된 특징들과 함께 사용될 수 있다. 본 명세서에서 달리 구체적으로 정의되지 않는 한, 모든 용어들은 명세서로부터 부여되는 의미 뿐만 아니라 당해 기술 분야에서의 숙련자가 이해할 의미 및/또는 사전, 논문 등에서 정의되는 의미를 포함하는 그의 가장 광범위한 가능한 해석으로 주어지는 것이다.
본 발명은 상이한 정보 기술(IT) 제품/솔루션 배치들 사이에 구성 정보와 같은 성능 데이터를 동적으로 공유하기 위한 방법 및 시스템을 제공한다. 하나의 실시예는, 정보 - 상기 정보는 다양한 컴퓨팅 환경에서 IT 제품/솔루션(예를 들어, 소프트웨어 제품)의 배치에 대하여 새로운 구성에 관한 정보를 포함함 - 를 동적으로 획득하여 데이터베이스에 저장하고, 데이터베이스로부터의 환경에 대한 이러한 새로운 구성 정보를 환경의 클라이언트에 제공함으로써 구성 정보를 공유하는 것을 가능하게 해주는 지식 공유 메커니즘(knowledge-sharing mechanism)을 포함한다.
하나의 실시예에서, 새로운 구성 정보는 근본적으로 최적의 구성 정보를 포함한다. 지식 공유 메커니즘은 다수의 배치에서 동일한 작업에 대한 수고의 중복을 피하기 위해 이러한 다수의 배치에서의 최적의 구성을 찾기 위한 기간을 감소시키도록 IT 제품/솔루션의 다수의 배치에 적용된다. 본 발명은 IT 제품/솔루션의 성능 모델을 동적으로 개선하는 것을 더 제공하며, 따라서 정적 로컬 구성 어드바이저를 사용하는 제한을 극복한다.
하나의 구현은 Web2.0과 같은 시스템이 엔터프라이즈 레벨에서 그리고 엔터프라이즈들(Enterprise 2.0) 사이에 값을 전달할 수 있게 하는 지식 공유 메커니즘을 포함한다. 이는 그 IT 제품/솔루션에 대한 최적의 성능 구성을 찾도록 소정의 IT 제품/솔루션의 다수의 배치들 사이에 지식 공유 시스템을 제공한다. 이러한 시스템은 일반적으로 각각의 IT 제품/솔루션 배치에 대한 클라이언트 및 서버를 포함한다. 클라이언트는, 그 배치로부터의 요구되는 하드웨어 및 소프트웨어 데이터를 수집하고, 그 데이터를 서버에 보내고, 그 배치에 대하여 최적인 구성을 수신함으로써, 대응하는 IT 제품/솔루션 배치를 최적화하도록 구성된다. 서버는, IT 제품/솔루션의 모든 배치로부터 데이터를 수집하고, 각각의 배치에 대하여 최상의(최적의) 구성을 찾고, 각각의 배치에 다시 최적의 구성 정보를 보내도록 구성된다.
하나의 동작 시나리오에서, 클라이언트는 특정 IT 제품/솔루션에 포함된 소프트웨어 모듈을 포함하며, 컴퓨팅 환경에서의 IT 제품/솔루션 배치의 구성 상태를, 그 배치에 적용될 최적화 정책과 함께 서버에 주기적으로 보낸다. 서버는 이러한 정보를 분석하여 원하는 고객 최적화 정책에 따라 구성이 그 환경에 대하여 최적인지 여부를 결정한다. 서버는 다른 배치(고객)로부터의 유사한 최적화 정책 및 유사한 컴퓨팅 환경(들)에 대하여 이미 알려져 있는 구성을 레버리지(leverage)함으로써 그리고/또는 분석적 구성 최적화 기술에 의해 구성이 최적인지의 여부를 결정한다.
서버가 컴퓨팅 환경에서 IT 제품/솔루션 배치에 대한 최적의 구성을 결정하면, 서버는 그 배치에 대하여 클라이언트에 최적의 구성 정보를 보낸다. 그러면 배치의 고객은 시스템이 현재의 구성을 최적의 구성 상태로 움직이게 구성 변경을 자동으로 구현하도록 하기를 결정하거나, 그것들을 처리하기 전에 변경을 확인(validate)하도록 수동 확인을 요구할 것을 결정할 수 있다.
IT 제품/솔루션의 배치의 수가 증가함에 따라, 유사한 컴퓨팅 환경에 대한 구성의 최적도(optimality)도 증가한다. 이는 또한 IT 제품/솔루션의 성능 모델의 동적 개선을 허용한다. 상이한 시간(예를 들어 컴퓨팅 로드의 시즌 변동)에 상이한 구성이 필요한 경우, 시스템은 서버로부터 각각의 배치로 다운로딩되도록 즉시 요청될 수 있는 상이한 구성을 제공한다. 시스템은 다양한 구성(포지티브 및 네가티브)에 관한 정보를 수집함으로써 "네가티브" 지식(IT 제품/솔루션에 따라 잘못 되어가고 있을 때 발생되는 지식임) 뿐만 아니라 "포지티브" 지식(IT 제품/솔루션의 양호한 거동의 지식임)을 레버리지하는 것에 기초하여 배치에 대한 최적의 구성을 발생시킴으로써 지식 생성 메커니즘을 제공한다.
도 1은 본 발명의 실시예에 따라 상이한 IT 제품/솔루션 배치들(예를 들어 고객 A 및 고객 B 컴퓨팅 환경에서의 배치) 사이에 성능 데이터를 공유하기 위한 시스템(10)의 기능 블록도를 도시한다. 클라이언트 모듈(11)은 각각의 IT 제품/솔루션 배치에서 최적화될 컴퓨팅 환경에서 제공되고, 서버(12)는 최적의 구성을 발생시키기 위해 상이한 배치들의 지식 공유를 레버리지한다. 클라이언트 모듈(11) 및 서버(12)는 인터넷(기타 통신 네트워크가 이용될 수 있음)과 같은 통신 네트워크를 통하여 접속된다. 각각의 컴퓨팅 환경은 하나 이상의 컴퓨팅 노드를 포함할 수 있으며, 각각의 컴퓨팅 노드는 하나 이상의 프로세서, 저장 디바이스, 데이터베이스 모듈, 통신 모듈, 네트워크 등을 포함할 수 있다.
도 2는 데이터 수집기(15), 데이터 송신기(16), 솔루션 수신기(17), 구성 액추에이터(18), 주기적 검사기(19), 및 최적화 정책 구성기(20)를 포함하는 클라이언트 모듈(11)의 실시예의 기능 블록도를 도시한다. 데이터 수집기(15)는 프로브(21)를 사용하여 성능 모델에 대하여 필요한 데이터를 모은다. 한 예에서 프로브(21)는 OS 프로브, HW 프로브, 및 SW 프로브를 포함하며, 최적의 구성 및 성능 모델에 대하여 필요한 데이터를 추출하도록 각각 배치 컴퓨팅 환경에서 OS, 하드웨어, 미들웨어를 인터페이스하는 소프트웨어 모듈을 포함한다.
데이터 송신기(16)는 서버(12)에 성능 모델 데이터를 보낸다(도 1). 솔루션 수신기(17)는 서버로부터 최적의 구성 세트(즉, "솔루션")를 수신하고 이를 저장장치(22)에 저장한다. 구성 액추에이터(18)는 IT 제품/솔루션 배치에서 요구되는 구성 변경을 실행한다. 주기적 검사기(19)는 성능 모델에 대하여 배치에서의 파라미터 세트를 모니터하고 상기 파라미터 중 하나 이상에 대한 값이 특정 문턱값 위로/아래로 변할 때 데이터 플로우를 시작한다(즉, 서버에 성능 모델 데이터를 보내고 최적의 구성 세트를 수신함). 최적화 정책 구성기(20)는 적용될 최적화 정책을 고객이 지정할 수 있게 해준다.
도 3은 서버(12)의 실시예의 기능 블록도를 도시한다. 서버(12)는 각각의 IT 제품/솔루션에 대하여 플러그인(25)을 제공하는 제품 독립적인 인프라구조를 이용한다. 플러그인(25)은, IT 제품/솔루션 배치에 대하여 각각의 클라이언트(11)로부터 IT 제품/솔루션의 구성을 기술하는데 필요한 성능 데이터 세트를 포함하는 성능 모델 데이터를 수신하고, 각각의 클라이언트에게 대응하는 배치를 최적화하는데 필요한 데이터 세트를 보내는 것을 가능하게 한다. 서버(12)는 지식 데이터베이스(14)에 존재하는 데이터에 기초하여 각각의 IT 제품/솔루션 배치에 대하여 근본적으로 최상의 구성을 제공하는 성능 모델을 동작시키도록 구성된 최적화 엔진(솔루션 파인더)(13)을 포함한다. 최적화 엔진(13)은 각각의 배치에 대하여 최적의 구성을 제공하도록 선형 보간 알고리즘 또는 일반 알고리즘(또는 임의의 기타 최적화 기술)을 이용할 수 있다.
IT 제품/솔루션(예를 들어, 소프트웨어 제품 X, 소프트웨어 제품 Y)에 대한 플러그인(25)은 그 IT 제품/솔루션의 배치에서 클라이언트(11)와 통신할 수 있다. 하나의 실시예에서, IT 제품/솔루션에 대한 플러그인(25)은 데이터 수신기(26), 제품 성능 모델(27), 및 솔루션 송신기(28)를 포함하는 소프트웨어 모듈을 포함한다. 데이터 수신기(26)는 대응하는 IT 제품/솔루션의 배치에 대하여 클라이언트(11)가 보낸 데이터를 수신한다. 제품 성능 모델(27)은 IT 제품/솔루션의 성능 모델을 나타낸다. 하나의 예에서, 분석될 성능 파라미터 세트는 벡터 A = {HW 데이터, SW 데이터, 배치 치수}이고, 최적화될 파라미터 세트는 벡터 P이고, 벡터 P의 각각의 요소 Pi에 대하여 적용될 최적화 정책 세트는 요소 Pi의 현재 값의 원하는 편차로서 고객에 의해 지정될 수 있고, 상태 i에서의 구성은 di = A U P로서 합집합(union)이며, 성능 모델은
Figure 112011006882820-pct00001
에 의해 구성 상태의 함수로서 나타난다.
최적화 엔진(13)은 IT 제품/솔루션의 상이한 배치들(상이한 고객들) 사이에 공유되는 데이터에 액세스함으로써 IT 제품/솔루션의 소정의 성능 모델에 대한 최적의 구성을 결정한다. 최적화 엔진(13)은 각각의 IT 제품/솔루션(소프트웨어 제품 X, 솔루션 제품 Y)에 대하여 클라이언트(11)에게 대응하는 최적의 구성을 제공한다. 도 4의 예시적인 아키텍처(30)에 의해 도시된 바와 같이, 서버(12)는 따라서 각각의 IT 제품/솔루션의 다수의 배치들에서 연관된 클라이언트(11)에 대한 대응하는 플러그인(25)을 통하여 다수의 IT 제품/솔루션에 대하여 최적의 구성 분석을 수행할 수 있다.
도 5는 본 발명의 실시예에 따라 상이한 IT 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 클라이언트 프로세스(40)의 흐름도를 도시한다. 프로세스 블록 41은, 하드웨어 데이터, 소프트웨어 데이터(예를 들어, OS, 미들웨어, 제품 특정), 배치 치수(예를 들어, 이 배치에 의해 지원될 클라이언트의 수)와 같은 분석될 파라미터 세트, 최적화될 파라미터 세트(예를 들어, 이전의 데이터 그룹의 서브세트)를 각각의 파라미터에 대하여 원하는 최적화 정책과 함께 포함하는 현재 구성 데이터를 IT 제품/솔루션 배치에 대하여 클라이언트 측에서 스캔한다. 프로세스 블록 42는 이러한 데이터가 서버에 업로딩되었는지 여부를 결정한다. 그러한 경우, 프로세스는 블록 41로 다시 진행되고, 그렇지 않은 경우에는 블록 43으로 진행된다.
프로세스 블록 43에서, 클라이언트는 서버에 스캔된 데이터를 보낸다. 예를 들어, 스캔된 데이터는 주기적으로 또는 일부 파라미터 값이 미리 정의된 문턱값 이상으로/아래로 변할 때 업로딩될 수 있다. 프로세스 블록 44에서 서버측에서, IT 제품/솔루션에 대하여 모든 상이한 클라이언트들로부터의 데이터가 수집되고, 도 6에 관련하여 아래에 보다 상세하게 설명되는 바와 같이, 각각의 배치에 대하여 최적의 구성이 결정된다. 프로세스 블록 45에서는, 최적의 구성 정보가 각각의 요청하는 클라이언트에 다운로딩된다. 프로세스 블록 46에서 클라이언트측에서, 새로 수신된 구성 정보가 IT 제품/솔루션 배치에 자동으로/수동으로 적용된다. 구체적으로, 클라이언트는 정책 설정에 기초하여, 예를 들어 자동으로(즉, 서버로부터 푸시된 구성 변경을 항상 적용함), 문턱값 아래/위일 때(즉, 미리 정의된 문턱값 아래/위인 구성 파라미터에 구성 변경을 적용함), 요구되는 수동 중재에 기초하여(즉, 오퍼레이터가 변경을 수락하여야 하거나 그 반대여야 함) 최적의 구성을 적용할 수 있다.
도 6은 본 발명의 실시예에 따라 IT 제품/솔루션의 각각의 배치의 최적의 구성을 결정하기 위한 서버 프로세스(50)의 흐름도를 도시한다. 프로세스 블록은 아래에 기재된다:
블록 51: 배치 카테고리를 정의함. 이 프로세스는 배치 유형에 따라 클라이언트로부터 수신된 성능 모델 파라미터 데이터를 필터링하는 것을 포함한다. 각각의 제품 성능 모델은 각 배치의 카테고리를 정의하도록 분석될 파라미터의 서브세트에 대한 범위를 정의한다.
블록 52: 최적화 정책 카테고리를 정의함. 배치가 한 카테고리(예를 들어, SMB 배치, 엔터프라이즈 배치 등)에 할당되었다면, 이는 배치의 고객에 의해 지정된 최적화 정책에 따라 더 필터링된다(예를 들어, 웹 애플리케이션에 대한 2개의 상이한 정책이 "처리량 최대화" 또는 "응답 시간 최소화"일 수 있음).
블록 53: 배치가 알려진 배치 유형 (A)인지 여부를 결정함. 그러한 경우, 블록 54a로 진행하고, 그렇지 않은 경우에는 54b로 진행함.
블록 54a: 배치에 대한 미지의(unknown) 구성 (di)이 이미 최적인지 여부를 결정함. 최적이 아닌 경우, 블록 55로 진행하고, 그렇지 않으면 정지됨.
블록 54b: 배치에 대한 구성 (di)이 이미 최적인지 여부를 결정함. 최적이 아닌 경우, 블록 55로 진행하고, 그렇지 않으면 정지됨.
블록 55: 배치에 대한 새로운 더 나은/최적의 구성을 찾음.
블록 56: 배치에서 클라이언트에 새로운 구성을 보냄.
이로서, 블록 54a 및 54b에서, 그 배치 환경에 대한 최적의 구성이 이미 존재한다면(예를 들어, 동일한 고객에 대하여 또는 다른 고객에 대하여 이전에 식별되었기 때문에), 더 이상의 부가적인 처리가 일어나지 않는다. 블록 55에서, 그 환경에 대한 최적의 솔루션이 존재하지 않으므로, 솔루션 엔진(13)(도 3)은 상이한 배치들로부터의 데이터를 레버리지함으로써 최적의 구성을 결정한다.
도 7에서 예시적인 프로세스(60)를 참조하여, 분석될 성능 모델 파라미터 세트(Pi, i=1,...,8)로 나타나며, 그의 최적화 정책이 파라미터 P2의 값에 대한 원하는 증분으로 표현될 수 있는 IT 제품/솔루션에 대하여 배치(고객 A)를 고려해보자. 그의 배치 유형 및 최적화 정책이 고객 A와 동일한 것인 또다른 고객(고객 B)이 그의 배치에 대한 최적의 구성에 이미 도달했다고 가정하면, 솔루션 엔진(13)은 2개의 성능 모델 파라미터 세트(즉, 고객 A 및 고객 B의 성능 모델 파라미터)를 비교하고, 그것들 중 2개(예를 들어, P5 및 P7)를 변경함으로써 고객 A가 고객 B의 배치와 유사한 자신의 배치에 대하여 원하는 최적의 구성에 도달할 수 있게 해주는 것을 찾을 수 있다.
다음의 예는 (IT 제품/솔루션의 신규 설치에 대응하는) 새로운 차선의 IT 제품/솔루션 구성을 처리하기 위한 지식 공유의 프로세스를 기술하는 시나리오를 제공하며, 그 배치에 대하여 알려진 "양호한" 구성을 제안한다. 지식 공유 시스템은 XML 파일을 사용하여 제품/솔루션에 관련된 모든 구성 정보를 관리한다고 가정한다. 시나리오를 설명하기 위해 고안된 샘플 제품은 다음의 XML 스키마에 의해 정의된 성능 모델을 갖는다:
Figure 112011006882820-pct00002
Figure 112011006882820-pct00003
Figure 112011006882820-pct00004
Figure 112011006882820-pct00005
제품 개발 및 테스트 단계 동안 정의되는 제품 성능 모델은, 키/중요 메트릭의 현재 값(제품이 현재 그 시스템 상에서 어떻게 수행되고 있는지 기술함)과 함께 그의 성능에 영향을 미칠 수 있는 모든 파라미터(예를 들어, 하드웨어, 운영 체제 및 제품 구성에 대한 파라미터), 및 고객에 의해 지정되는 이들 값들의 원하는 편차(그의 성능 목표 또는 최적화 정책)를 포함한다. 설명을 단순하게 하기 위하여, 파라미터 및 메트릭의 수와 유형은 작게 유지된다. 예를 들어, 샘플 제품은 서버 모듈이 그의 구성이 전체 제품의 성능에 영향을 미치는 유일한 모듈인 경우인 단일 서버 토폴로지를 갖는다. 다른 제품 및 성능 모델은 더 많은 정보를 수반할 수 있다. 샘플 제품의 각각의 설치/배치는 그 XML 스키마의 인스턴스(XML 파일)로 나타난다.
샘플 제품이 4개의 상이한 고객 사이트(고객 A, B, C, D)에서 배치되며, 고객들 중 셋(고객 A, C 및 D)은 얼마 동안 제품을 실행했었고, 지식 공유 시스템(10)의 서버(12) 상의 데이터베이스에 그의 구성이 이미 저장되어 있다(예를 들어, 도 6의 프로세스(50)에 따라). 제품의 상기 세 고객 배치의 구성은 아래의 XML 코드로 나타난다.
고객 A는 지식 공유 시스템(10)이 "large"(XML 파일에서의 "Enterprise")로서 분류한 환경에서 샘플 제품을 배치한 클라이언트(11)를 나타낸다. 고객이 여전히 일부 성능 메트릭이 "위로" 또는 "아래로" 변경될 것을 요청하고 있으므로 그의 구성은 아직 "최적"이 아니다. 고객 A 구성:
Figure 112011006882820-pct00006
Figure 112011006882820-pct00007
고객 C는 지식 공유 시스템(10)이 "small"(XML 파일에서의 "SMB")로 분류한 환경에서 샘플 제품을 배치한 클라이언트를 나타낸다. 고객 A에 대하여, 그의 성능 목표는 아직 달성되지 않았다. 고객 C 구성:
Figure 112011006882820-pct00008
Figure 112011006882820-pct00009
고객 D는 고객 C와 같이 지식 공유 시스템(10)이 "SMB"로서 분류한 환경에서 샘플 제품을 배치한 클라이언트를 나타낸다. 고객 D가 제품 성능 키 메트릭에 대한 임의의 변동을 지정하고 있지 않으므로, 그의 구성은 "최적"인 것으로 가정된다. 고객 D 구성:
Figure 112011006882820-pct00010
Figure 112011006882820-pct00011
네 번째 고객(고객 B)은 샘플 제품의 그의 인스턴스를 막 배치하였고, 그의 구성이 처음으로 지식 공유 시스템(10)에 보내진다. 고객 B 구성:
Figure 112011006882820-pct00012
Figure 112011006882820-pct00013
고객 B의 배치 유형은 시스템(10)에 의해 "SMB"로서 분류된다. 따라서, 서버(12)가 다른 고객의 구성과 일치할 때, 부가의 비교를 위해 고객 C 및 고객 D만 고려되고, 그의 배치가 "Enterprise"로 분류된 고객 A는 이 최적화 분석으로부터 제외된다.
지식 공유 시스템(10)이 다음 분류화 단계로 진행할 때(즉, 고객 최적화 정책의 비교를 포함함), 고객 C는 고객 B에 관련하여 다른 최적화 정책을 갖는 것으로 밝혀진다. 따라서, 고객 B 데이터는 이 경우에 최적화에 사용되지 않는다.
대신에, 그의 최적화 정책을 달성한 고객 D는 고객 B에 의해 지정된 성능 목표의 "방향"에 있는 그의 메트릭에 대한 현재 값 세트를 제공한다. 예를 들어, 고객 D CPU 이용률 및 응답 시간은 고객 B에 대한 CPU 이용률 및 응답 시간을 낮출 수 있는 새로운 구성을 막 요청하고 있는 고객 B보다 낮다. 또한, 고객 D는 그의 처리량을 증가시키려고 하고 있는 고객 B보다 더 큰 처리량 값을 갖는다.
따라서, 지식 공유 시스템(10)은 (서버(12)의 동작을 통하여) 고객 D 구성이 고객 B가 그의 성능 목표를 충족시킬 수 있도록 고객 B에도 제안될 수 있다고 결정할 수 있다. 2개 구성 간의 비교를 수행함으로써, 제품 성능의 차이를 야기할 것 같은 파라미터 값은 Thread Pool 크기와 DB Connection Pool 크기인 것을 알 수 있다. 새로운 구성 제안이 서버에 의해 고객 B에 보내지며, Thread Pool 크기와 DB Connection Pool 크기 구성 파라미터의 변동을 제공한다.
이로서, 본 발명의 지식 공유 시스템의 실시예에 따르면, 클라이언트들 사이에 공유되는 지식은 동적으로 발생되며 다수의 클라이언트들로부터 서버에 공급되고, 발생된 지식의 유효성(effectiveness)은 기여자(클라이언트)의 수가 증가함에 따라 개선된다. 지식 공유 시스템은 클라이언트와 공유될 동적 구성 세트를 포함하는 지식 베이스를 이용한다. 지식 공유 시스템은 지식 베이스가 동적으로 업데이트되고 그것을 사용하는 클라이언트의 수에 따라 개선될 수 있게 해준다(예를 들어, 상이한 설치/배치들 사이에 일반적인 애플리케이션에 대한 구성 정보를 공유함). 공유 메커니즘은 클라이언트가 임의의 다른 클라이언트에 의해 사용된 구성에 대한 액세스를 가질 수 있게 해준다. 구체적으로, 그것을 사용하여 그 사용으로부터 어떠한 이점(예를 들어, 응답 시간에 있어서의 더 나은 성능)을 받은 또다른 클라이언트가 이러한 구성을 이용할 수 있게 되자마자 클라이언트에는 그의 필요에 따라 적합한 새로운 구성이 "알려진다".
당해 기술 분야에서의 숙련자에게 알려진 바와 같이, 본 발명에 따라 상기 기재된 전술한 예의 실시예는 프로세서에 의한 실행을 위한 프로그램 명령어, 소프트웨어 모듈로서, 컴퓨터 판독가능한 매체 상의 컴퓨터 프로그램 제품으로서, 로직 회로로서, 실리콘 웨이퍼로서, 집적 회로로서, 애플리케이션 특정 집적 회로로서, 펌웨어로서 등과 같은 많은 방식으로 구현될 수 있다. 본 발명이 그의 특정 버전에 관련하여 기재되었지만, 다른 버전도 가능하다. 따라서, 첨부된 청구항의 사상 및 범위는 본 명세서에 포함된 바람직한 버전의 설명에 한정되어서는 안 된다.
용어 "컴퓨터 프로그램 매체", "컴퓨터 사용가능한 매체", 및 "컴퓨터 판독가능한 매체", "컴퓨터 프로그램 제품"은 메인 메모리, 이차 메모리, 휴대용 저장 디바이스, 하드 디스크 드라이브에 설치된 하드 디스크, 및 신호와 같은 매체를 전반적으로 칭하는데 사용된다. 이들 컴퓨터 프로그램 제품은 컴퓨터 시스템에 소프트웨어를 제공하기 위한 수단이다. 컴퓨터 판독가능한 매체는 컴퓨터 시스템이 컴퓨터 판독가능한 매체로부터 데이터, 명령어, 메시지 또는 메시지 패킷, 및 기타 컴퓨터 판독가능한 정보를 읽어들일 수 있게 해준다. 컴퓨터 판독가능한 매체는 예를 들어 플로피 디스크, ROM, 플래시 메모리, 디스크 드라이브 메모리, CD-ROM, 및 기타 영구 저장장치와 같은 비휘발성 메모리를 포함할 수 있다. 이는 컴퓨터 시스템들 사이에 예를 들어 데이터 및 컴퓨터 명령어와 같은 정보를 전송하기 위해 유용하다. 또한, 컴퓨터 판독가능한 매체는, 컴퓨터가 이러한 컴퓨터 판독가능한 정보를 읽어들일 수 있게 해주는 유선 네트워크 또는 무선 네트워크를 포함하는, 네트워크 링크 및/또는 네트워크 인터페이스와 같은 전이 상태 매체의 컴퓨터 판독가능한 정보를 포함할 수 있다. 컴퓨터 프로그램(컴퓨터 제어 로직으로도 불림)은 메인 메모리 및/또는 이차 메모리에 저장된다. 컴퓨터 프로그램은 또한 통신 인터페이스를 통하여 수신될 수 있다. 이러한 컴퓨터 프로그램은 실행될 때 컴퓨터 시스템이 여기에 설명된 바와 같이 본 발명의 특징을 수행할 수 있게 한다. 특히, 컴퓨터 프로그램은 실행될 때 프로세서 다중 코어 프로세서가 컴퓨터 시스템의 특징을 수행할 수 있게 한다. 따라서, 이러한 컴퓨터 프로그램은 컴퓨터 시스템의 컨트롤러를 나타낸다.
당해 기술 분야에서의 숙련자는 방금 기재한 바람직한 실시예들의 다양한 적용 및 수정이 본 발명의 사상 및 사상에서 벗어나지 않고서 구성될 수 있다는 것을 알 것이다. 따라서, 첨부된 청구항의 범위 내에서 본 발명은 여기에 구체적으로 기재된 것이 아닌 달리 실시될 수 있다는 것을 이해하여야 한다.
10: 지식 공유 시스템
11: 클라이언트
12: 서버
13: 최적화 엔진
14: 지식 데이터베이스

Claims (10)

  1. 복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법에 있어서,
    상기 컴퓨팅 노드에서 정보 기술(IT; information technology) 제품/솔루션의 배치(deployment)로부터 제1 성능 정보 및 제1 구성 정보를 동적으로 획득하고;
    지식 데이터베이스(knowledge database)에 상기 획득한 제1 성능 정보 및 제1 구성 정보를 저장하기 위해 통신 네트워크를 통해 서버에 상기 획득한 제1 성능 정보 및 제1 구성 정보를 전송하고;
    상기 서버에서, 제1 배치 컴퓨팅 환경에서 상기 IT 제품/솔루션의 제1 배치를 위해, 상기 지식 데이터베이스에 저장된 상기 제1 성능 정보 및 상기 제1 구성 정보로부터 선택된, 제2 성능 정보 및 대응하는 제2 구성 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, 하나 이상의 제2 배치 컴퓨팅 환경들에서 상기 IT 제품/솔루션의 하나 이상의 제2 배치들을 위해, 상기 하나 이상의 제2 배치 컴퓨팅 환경들은 상기 제1 배치 컴퓨팅 환경과 유사하도록 결정되고, 상기 지식 데이터베이스에 상기 새로운 구성 정보를 저장하고, 네트워크를 통해 상기 새로운 구성 정보를 전송함으로써 상기 제1 배치에 상기 새로운 구성 정보를 동적으로 제공하는 것;을 포함하고,
    상기 제1 배치를 위해 상기 새로운 구성 정보를 결정하는 것은,
    상기 제1 배치로부터 획득된 상기 정보에 기초하여:
    상기 제1 배치로부터의 획득한 제1 구성 정보에 기초하여 상기 제1 배치에 배치 유형 - 상기 배치 유형은 상기 제1 구성 정보에서 식별된 상기 제1 배치의 상기 제1 컴퓨팅 환경의 특성의 함수임 - 을 할당하고;
    상기 배치 유형에 대하여 최적의 구성이 상기 지식 데이터베이스 내에 존재하는 경우, 그 배치 유형에 대하여 기존의 최적의 구성을 제공하는 것을 더 포함하는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법.
  2. 복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법에 있어서,
    상기 컴퓨팅 노드에서 정보 기술(IT; information technology) 제품/솔루션의 배치들(deployments)로부터 성능 정보를 동적으로 획득하고;
    지식 데이터베이스(knowledge database)에 상기 획득한 성능 정보를 저장하기 위해 통신 네트워크를 통해 서버에 상기 획득한 성능 정보를 전송하고;
    상기 서버에서, 상기 지식 데이터베이스 내의 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, 상기 지식 데이터베이스에 새로운 구성을 저장하고, 네트워크를 통해 상기 새로운 구성 정보를 전송함으로써 상기 배치들에 상기 새로운 구성 정보를 동적으로 제공하는 것;을 포함하고,
    상기 성능 정보는 상기 배치들 중 제1 배치의 구성 정책에 기초하여 각각의 상기 제1 배치에서 하드웨어 및 소프트웨어 구성에 대한 현재 구성 파라미터 정보를 포함하고,
    상기 새로운 구성 정보를 결정하는 것은, 상기 배치들의 각각의 배치에 대하여, 상기 배치로부터 획득한 상기 정보에 기초하여:
    상기 배치로부터 상기 획득한 파라미터 정보에 기초하여 상기 배치에 배치 유형 -상기 배치 유형은 상기 배치의 상기 컴퓨팅 환경의 특성의 함수임- 을 할당하고;
    상기 배치 유형에 대하여 최적의 구성이 상기 지식 데이터베이스 내에 존재하는 것에 응답하여, 그 배치 유형에 대하여 기존의 최적의 구성을 제공하는 것을 더 포함하는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법.
  3. 청구항 1에 있어서,
    상기 배치 유형에 대하여 최적의 구성이 상기 지식 데이터베이스 내에 존재하지 않는 경우에는, 그 배치 유형에 대하여 상기 지식 데이터베이스 내의 제2 구성 정보에 기초하여 상기 제1 배치에 대한 최적의 구성을 결정하고, 상기 지식 데이터베이스에 상기 제1 배치에 대한 최적의 구성을 저장하고, 상기 제1 배치에 대한 최적의 구성을 제공하는 것을 더 포함하는
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법.
  4. 청구항 1에 있어서,
    상기 제1 배치의 구성 정책에 기초하여 상기 제1 배치에서 상기 새로운 구성 정보를 적용하는 것을 더 포함하는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법.
  5. 청구항 1에 있어서,
    상기 제1 배치가 새로운 구성 정보를 요청하는 것에 응답하여, 상기 방법이 수행되는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법.
  6. 청구항 2에 있어서,
    각각의 상기 제1 배치에서의 성능 정보는 상기 제1 배치에서의 현재 구성 정보를 포함하고, 상기 새로운 구성 정보를 결정하는 것은 상기 지식 데이터베이스 내의 상기 구성 정보에 기초하여 상기 새로운 구성 정보를 결정하는 것을 더 포함하는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 방법.
  7. 복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 시스템에 있어서,
    하나 이상의 클라이언트 모듈, 및 서버 모듈;
    각각의 클라이언트 모듈은 컴퓨팅 노드에서 정보 기술(IT) 제품/솔루션의 배치에서 동작하도록 구성되며, 또한 대응하는 배치로부터 성능 정보를 동적으로 획득하고, 상기 획득한 성능 정보를 통신 네트워크를 통해 서버에 전송하도록 구성되고;
    상기 서버 모듈은, 지식 데이터베이스에 상기 획득한 성능 정보를 저장하고, 상기 지식 데이터베이스 내의 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, 상기 지식 데이터베이스에 상기 새로운 구성 정보를 저장하고, 네트워크를 통해 상기 새로운 구성 정보를 전송함으로써 각 배치 클라이언트 모듈에 상기 새로운 구성 정보를 동적으로 제공하도록 구성되며,
    상기 성능 정보는 상기 배치 중 제1 배치의 구성 정책에 기초하여 상기 제1 배치에서 하드웨어 및 소프트웨어 구성에 대한 현재 구성 파라미터 정보를 포함하고,
    상기 서버 모듈은 상기 배치에서 하나의 배치를 위한 최적의 구성 정보를 결정하도록 구성되는 것을 더 포함하며,
    상기 최적의 구성 정보를 결정하는 것은, 상기 배치로부터 획득한 상기 정보에 기초하여:
    상기 배치로부터 상기 획득한 파라미터 정보에 기초하여 상기 배치에 배치 유형 -상기 배치 유형은 상기 배치의 상기 컴퓨팅 환경의 특성의 함수임- 을 할당하고;
    상기 배치 유형에 대하여 최적의 구성이 상기 지식 데이터베이스 내에 존재하는 것에 응답하여, 그 배치 유형에 대하여 기존의 최적의 구성을 제공하는 것을 더 포함하는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 시스템.
  8. 복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 시스템에 있어서,
    하나 이상의 클라이언트 모듈, 및 서버 모듈을 포함하고,
    각각의 클라이언트 모듈은 컴퓨팅 노드에서 정보 기술(IT) 제품/솔루션의 배치에서 동작하도록 구성되며, 또한 대응하는 배치로부터 제1 성능 정보 및 제1 구성 정보를 동적으로 획득하고, 상기 획득한 제1 성능 정보 및 제1 구성 정보를 통신 네트워크를 통해 서버에 전송하도록 구성되고;
    상기 서버 모듈은, 지식 데이터베이스에 상기 획득한 제1 성능 정보 및 제1 구성 정보를 저장하고, 상기 지식 데이터베이스 내의 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, 제1 배치 컴퓨팅 환경에서 상기 IT 제품/솔루션의 제1 배치를 위해, 상기 지식 데이터베이스에 저장된 상기 제1 성능 정보 및 제1 구성 정보로부터 선택된, 제2 성능 정보 및 대응하는 제2 구성 정보에 기초하여 새로운 구성 정보를 동적으로 결정하고, -하나 이상의 제2 배치 컴퓨팅 환경들에서 상기 IT 제품/솔루션의 하나 이상의 제2 배치들을 위해, 상기 하나 이상의 제2 배치 컴퓨팅 환경들은 상기 제1 배치 컴퓨팅 환경과 유사하도록 결정됨-, 상기 지식 데이터베이스에 상기 새로운 구성 정보를 저장하고, 네트워크를 통해 상기 새로운 구성 정보를 전송함으로써 각 배치 클라이언트 모듈에 상기 새로운 구성 정보를 동적으로 제공하도록 구성되며,
    상기 서버 모듈은 상기 제1 배치를 위한 상기 새로운 구성 정보를 결정하도록 더 구성되고, 상기 제1 배치를 위한 상기 새로운 구성 정보를 결정하는 것은 상기 제1 배치로부터 획득된 상기 정보에 기초하여:
    상기 제1 배치로부터 획득한 제1 구성 정보에 기초하여 상기 제1 배치에 배치 유형 -상기 배치 유형은 상기 제1 구성 정보에서 식별된 상기 제1 배치의 상기 제1 컴퓨팅 환경의 특성의 함수임- 을 할당하고;
    상기 배치 유형에 대하여 최적의 구성이 상기 지식 데이터베이스 내에 존재하는 경우, 그 배치 유형에 대하여 기존의 최적의 구성을 제공하는 것을 더 포함하는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 시스템.
  9. 청구항 8에 있어서,
    상기 서버 모듈은,
    상기 배치 유형에 대하여 최적의 구성이 상기 지식 데이터베이스 내에 존재하지 않는 경우에, 그 배치 유형에 대하여 상기 지식 데이터베이스 내의 제2 구성 정보에 기초하여 상기 제1 배치에 대한 최적의 구성을 결정하고, 상기 지식 데이터베이스에 상기 제1 배치에 대한 최적의 구성을 저장하고, 상기 제1 배치에 대한 최적의 구성을 제공하는 것을 포함하는, 상기 배치로부터 획득한 상기 정보에 기초하여 하나의 배치를 위한 최적의 구성 정보를 결정하도록 더 구성되는,
    복수의 컴퓨팅 노드들 사이에 성능 정보를 동적으로 공유하기 위한 시스템.
  10. 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 매체에 있어서, 상기 프로그램이 컴퓨터 상에서 실행될 때 청구항 1 내지 청구항 6 중 어느 한 항에 따른 방법의 단계들을 실행하기 위한 프로그래밍 코드 명령어를 포함하는 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능 매체.
KR1020117002202A 2008-09-09 2009-05-11 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템 KR101369026B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/207,318 2008-09-09
US12/207,318 US8055739B2 (en) 2008-09-09 2008-09-09 Sharing performance data between different information technology product/ solution deployments
PCT/EP2009/055659 WO2010028868A1 (en) 2008-09-09 2009-05-11 Method and system for sharing performance data between different information technology product/solution deployments

Publications (2)

Publication Number Publication Date
KR20110063630A KR20110063630A (ko) 2011-06-13
KR101369026B1 true KR101369026B1 (ko) 2014-02-28

Family

ID=41009917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117002202A KR101369026B1 (ko) 2008-09-09 2009-05-11 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (2) US8055739B2 (ko)
EP (1) EP2335151A1 (ko)
JP (1) JP5629261B2 (ko)
KR (1) KR101369026B1 (ko)
CN (1) CN102150134B (ko)
WO (1) WO2010028868A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220140015A (ko) * 2016-07-21 2022-10-17 이베이 인크. 동적인 재고 관리 시스템 및 방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060025984A1 (en) * 2004-08-02 2006-02-02 Microsoft Corporation Automatic validation and calibration of transaction-based performance models
US8055739B2 (en) 2008-09-09 2011-11-08 International Business Machines Corporation Sharing performance data between different information technology product/ solution deployments
US8589558B2 (en) * 2010-11-29 2013-11-19 Radware, Ltd. Method and system for efficient deployment of web applications in a multi-datacenter system
US9792156B2 (en) 2011-11-03 2017-10-17 Microsoft Technology Licensing, Llc Hybrid configuration engine
EP3249546B1 (en) 2011-12-14 2022-02-09 Level 3 Communications, LLC Content delivery network
US8903993B2 (en) 2012-06-01 2014-12-02 International Business Machines Corporation Performance analysis using anonymous aggregated data
US8966462B2 (en) 2012-08-10 2015-02-24 Concurix Corporation Memory management parameters derived from system modeling
US9043788B2 (en) * 2012-08-10 2015-05-26 Concurix Corporation Experiment manager for manycore systems
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US10708145B2 (en) 2012-12-13 2020-07-07 Level 3 Communications, Llc Devices and methods supporting content delivery with adaptation services with feedback from health service
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
CN104854939B (zh) * 2013-02-06 2019-04-12 东莞宇龙通信科技有限公司 Tdd上下行子帧比例的配置方法、基站和系统
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9755902B2 (en) * 2014-05-20 2017-09-05 Via Alliance Semiconductor Co., Ltd. Dynamic system configuration based on cloud-collaborative experimentation
US20160063379A1 (en) * 2014-09-03 2016-03-03 International Business Machines Corporation Anonymous Crowd Sourced Software Tuning
CN105871584A (zh) * 2015-12-02 2016-08-17 乐视体育文化产业发展(北京)有限公司 一种键值对数据库中的客户端配置更新方法、设备及系统
US20200028739A1 (en) * 2017-01-11 2020-01-23 Nutanix, Inc. Method and apparatus for closed-loop and dynamic capacity management in a web-scale data center
CN107203681B (zh) * 2017-06-23 2020-07-14 马德海 一种硬件模型参数配置平台的工作方法
US10601676B2 (en) 2017-09-15 2020-03-24 Cisco Technology, Inc. Cross-organizational network diagnostics with privacy awareness
CN108733750A (zh) * 2018-04-04 2018-11-02 安徽水利开发股份有限公司 一种数据库优化方法
US11347491B2 (en) * 2019-11-15 2022-05-31 Mastercard International Incorporated Containerized application deployment
US11467947B2 (en) 2020-10-19 2022-10-11 EMC IP Holding Company LLC Automated mocking of computer system deployments
US11663112B2 (en) * 2020-10-22 2023-05-30 EMC IP Holding Company LLC Selection of computer system deployments to mock for testing
US11520675B2 (en) 2020-10-23 2022-12-06 EMC IP Holding Company LLC Accelerated replay of computer system configuration sequences

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421719B1 (en) * 1995-05-25 2002-07-16 Aprisma Management Technologies, Inc. Method and apparatus for reactive and deliberative configuration management
US20040177245A1 (en) * 2003-03-05 2004-09-09 Murphy Richard C. Automated resource management using perceptron prediction

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3512204B2 (ja) * 1992-03-06 2004-03-29 株式会社日立製作所 ファイル配置方法
US6466980B1 (en) * 1999-06-17 2002-10-15 International Business Machines Corporation System and method for capacity shaping in an internet environment
GB2355821A (en) 1999-10-29 2001-05-02 Futuremark Oy Computer upgrading and technical support
US6944759B1 (en) * 2000-09-29 2005-09-13 Hewlett-Packard Development Company, L.P. Automatic system configuration management
US6976063B1 (en) * 2000-11-02 2005-12-13 Microsoft Corporation Method and system for dynamically configuring a server computer
US6877035B2 (en) * 2001-01-29 2005-04-05 International Business Machines Corporation System for optimal resource allocation and planning for hosting computing services
US7328261B2 (en) * 2001-11-21 2008-02-05 Clearcube Technology, Inc. Distributed resource manager
US7644392B2 (en) * 2002-04-12 2010-01-05 Telelogic Technologies North America, Inc. System and method for active configuration management
JP3703460B2 (ja) * 2002-04-16 2005-10-05 キヤノン株式会社 提案処理システム
US7509324B2 (en) * 2004-09-07 2009-03-24 General Electric Company Apparatus and method for sharing configuration data among a plurality of devices
US20060070060A1 (en) * 2004-09-28 2006-03-30 International Business Machines Corporation Coordinating service performance and application placement management
JP4799419B2 (ja) * 2004-10-20 2011-10-26 富士通株式会社 設定プログラム、設定方法、および設定装置
US7941309B2 (en) * 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US20070180433A1 (en) 2006-01-27 2007-08-02 International Business Machines Corporation Method to enable accurate application packaging and deployment with optimized disk space usage
US7853945B2 (en) 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
WO2008024349A2 (en) * 2006-08-21 2008-02-28 Wms Gaming Inc. Automated remote configuration of wagering game machines
US8055739B2 (en) 2008-09-09 2011-11-08 International Business Machines Corporation Sharing performance data between different information technology product/ solution deployments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421719B1 (en) * 1995-05-25 2002-07-16 Aprisma Management Technologies, Inc. Method and apparatus for reactive and deliberative configuration management
US20040177245A1 (en) * 2003-03-05 2004-09-09 Murphy Richard C. Automated resource management using perceptron prediction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220140015A (ko) * 2016-07-21 2022-10-17 이베이 인크. 동적인 재고 관리 시스템 및 방법
KR102492129B1 (ko) 2016-07-21 2023-01-30 이베이 인크. 동적인 재고 관리 시스템 및 방법

Also Published As

Publication number Publication date
US8055739B2 (en) 2011-11-08
EP2335151A1 (en) 2011-06-22
CN102150134B (zh) 2014-04-30
US20120079083A1 (en) 2012-03-29
CN102150134A (zh) 2011-08-10
WO2010028868A1 (en) 2010-03-18
JP5629261B2 (ja) 2014-11-19
US20100064035A1 (en) 2010-03-11
US8316115B2 (en) 2012-11-20
JP2012526304A (ja) 2012-10-25
KR20110063630A (ko) 2011-06-13

Similar Documents

Publication Publication Date Title
KR101369026B1 (ko) 상이한 정보 기술 제품/솔루션 배치들 사이에 성능 데이터를 공유하기 위한 방법 및 시스템
US10904319B2 (en) Dynamic deployment of an application based on micro-services
US10805171B1 (en) Understanding network entity relationships using emulation based continuous learning
JP5030592B2 (ja) 監視ルールのスケーラブル(scalable)な同期処理および非同期処理
Bu et al. Coordinated self-configuration of virtual machines and appliances using a model-free learning approach
US9268613B2 (en) Scheduling and management in a personal datacenter
Larsson et al. Impact of etcd deployment on Kubernetes, Istio, and application performance
US9444717B1 (en) Test generation service
US11283688B2 (en) Delayed recomputation of formal network topology models based on modifications to deployed network topologies
US11256544B2 (en) Redistributing update resources during update campaigns
US10833937B2 (en) Detect impact of network maintenance in software defined infrastructure
JP2007509404A (ja) コンピュータシステムおよび分散アプリケーションのモデルに基づく管理
US9515882B2 (en) Managing imaging of computing devices
US20060250970A1 (en) Method and apparatus for managing capacity utilization estimation of a data center
Faticanti et al. Deployment of application microservices in multi-domain federated fog environments
Soualah et al. A green VNF-FG embedding algorithm
EP2565788B1 (en) Method and apparatus for selecting optimum computing resources
US20240111263A1 (en) Systems and methods for optimization and autoconfiguration of edge processing devices
US11671480B2 (en) Network topology model generation and deployment for machine learning systems
US11914337B2 (en) Building management system with adaptive edge processing
US20240004357A1 (en) Building management system with flexible gateway configuration
Zhang et al. Kubedim: Self-Adaptive Service Degradation of Microservices-Based Systems

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
LAPS Lapse due to unpaid annual fee