KR100588032B1 - 제너릭 적응 제어용 오브젝트-지향 프레임워크 - Google Patents

제너릭 적응 제어용 오브젝트-지향 프레임워크 Download PDF

Info

Publication number
KR100588032B1
KR100588032B1 KR1020047001581A KR20047001581A KR100588032B1 KR 100588032 B1 KR100588032 B1 KR 100588032B1 KR 1020047001581 A KR1020047001581 A KR 1020047001581A KR 20047001581 A KR20047001581 A KR 20047001581A KR 100588032 B1 KR100588032 B1 KR 100588032B1
Authority
KR
South Korea
Prior art keywords
adapters
target systems
tuning system
target
metrics
Prior art date
Application number
KR1020047001581A
Other languages
English (en)
Other versions
KR20040084887A (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 KR20040084887A publication Critical patent/KR20040084887A/ko
Application granted granted Critical
Publication of KR100588032B1 publication Critical patent/KR100588032B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

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)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

컴퓨터 시스템 및 애플리케이션의 자동화 튜닝을 위해 제너릭 소프트웨어 에이전트를 구성하고 구현하기 위한 시스템 및 방법이 개시되었다. 프레임워크는 모듈 방식으로 에이전트가 생성되게 하는 모듈 및 인터페이스를 규정한다. 타깃 시스템(260)의 규정은 타깃 시스템(260)에 균일 인터페이스를 공급하는 어댑터(230)에 의해 캡쳐된다. 에이전트에서의 데이터는 메트릭 매니저(240)에 의해 관리되고, 콘트롤러 모듈은 소망의 제어 알고리즘을 구현한다. 모듈 구조 및 공통 인터페이스를 통해서, 다종다양한 타깃 시스템에 적용가능한 제너릭 에이전트의 구성이 가능하고, 다종다양한 제어 알고리즘을 사용할 수 있다.
메트릭, 에이전트, 타깃 시스템, 어댑터, 튜닝, 프레임워크

Description

제너릭 적응 제어용 오브젝트-지향 프레임워크{OBJECT-ORIENTED FRAMEWORK FOR GENERIC ADAPTIVE CONTROL}
본 발명은 일반적으로 컴퓨터 시스템의 성능에 관한 것으로, 특히 제너릭, 애플리케이션-독립 방식으로 컴퓨터 시스템 및 애플리케이션의 자동화 튜닝 성능을 위한 시스템 및 방법에 관한 것이다.
과거 수년에 걸쳐 분산 및 네트워크 시스템의 복합성이 현저하게 성장해왔다. 이는 주로 클라이언트-서버 아키텍쳐의 개발 및 다른 패러다임의 분산 컴퓨팅에 기여할 수 있다. 이러한 컴퓨터 시스템 및 소프트웨어(운영 시스템, 미들 웨어 및 애플리케이션)는 점점 복잡하게 되어, 최적 성능을 위하여 이들을 구성하기에 어려움이 있다.
데이터베이스(예를들어, ORACLE, DB2), 메시지 큐잉 시스템(예를들어, MQSERIES) 및 애플리케이션 서버(예를 들어, WEBSPHERE, DOMINO)등과 같은 복합 애플리케이션은 이들의 컨피그레이션, 기능(behavior) 및 성능(DOMINO/DB2 관리 가이드)을 제어하는 사실상 수십 수백의 파라미터를 갖는다. 이러한 복합 시스템의 기능은 또한 시스템 사용자에 의해 시스템 상에 탑재된 다이나믹 로드에 의해 관리된다. 개별 파라미터를 설정하는 데에는 상당한 전문 지식이 필요하고, 파라미터간의 상호 작용과 그 결과로서 시스템의 기능 및 성능에 대한 영향을 이해하는데는 더욱더 많은 의욕이 필요하다. 이들 시스템을 관리하는데 어려움을 증가시키는 다른 요인으로는, 이러한 시스템이 매우 다이나믹하여, 예를들어 워크로드가 시간에 따라 변한다면, 이들 파라미터의 조정 및 상시 감시가 요구되는 점이 있다.
따라서, 전문가 고용 비용뿐만 아니라, 시스템이 적절히 구성되지 않은 경우에 잠재적으로 손실되는 비용때문에도, 특정 시스템의 총 소유 코스트(total cost of ownership:TCO)는 증가할 수 있다. 시스템 관리에 대한 부담 및 TCO를 감소시키기 위해, 많은 소프트웨어 벤더는 이들 복합 시스템의 관리 복잡성을 관리하기 위해 소프트웨어 에이전트로 방향을 전환하고 있는 중이다.
소프트웨어 에이전트는 그러한 시스템을 제어하는 업무에 매우 적합하다. 종래의 전문 지식은 그 에이전트에 1회만 내장됨으로써, 최종 사용자의 전문 지식에 대한 요구는 줄어든다. 또한, 소프트웨어 에이전트는 시스템과 좀더 밀접한 관계를 갖고, 인력으로 할 수 있는 것보다 더 밀접한 감시 및 갱신을 수행할 수 있다. 최초, 제어 이론, 최적화, 운용 연구 및 인공 지능 분야에서의 발전에 따라, 많은 전문적 지식이 없음에도 불구하고 복합 시스템의 기능을 다이나믹하게 조정하기 위한 다양한 알고리즘 및 기술이 제공된다.
각종의 타깃-특정 또는 "CATS(customized automated tuning systems)"가 개발되어 왔다. 그 예로서는, (1) Abdelzaher 등에 의한 "End-host Architecture for QoS-Adaptive Communication", IEEE Real-time Technology and Applications Symposium, Denver, Colorado, June 1998 및 (2) Arman 등에 의한 "Adaptive algorithms for managing a distributed data processing workload", IBM Systems Journal, Vol. 36, N0. 2, 1997가 있고, 이들 문헌은 본원 명세서에 참조로서 인용된다. Abdelzaher 등에 의한 시스템은 통신 서브시스템에서 태스크 우선권을 사용하여 멀티미디어 배달을 위한 QoS를 제어한다. Arman 등에 의한 시스템은, 관리자가 응답 시간 및 처리량 목표를 지정하여 MVS-특정 메카니즘을 사용하여, MVS(Multiple Virtual Storage) 시스템내에서 달성하도록 하는 수단을 제공한다.
"튜닝"의 개념은 기존의 리소스 할당을 조정함으로써 서비스 레벨 향상을 꾀하는 것이다. 상기를 달성하기 위해서는, 리소스 할당을 결정하는 제어 및 메트릭에 액세스가 요구된다. 일반적으로, 메트릭은 3가지 클래스, 즉 (1) 예를 들어 라인 스피드, 프로세서 스피드, 및 메모리 사이즈 등과 같은 튜닝 제어를 조정해도 변하지 않는 타깃의 성능 관련 특성을 설명하는 "컨피그레이션 메트릭", (2) 예를 들어 도착율 및 서비스 시간 등과 같은 타깃에 대한 로드를 특성화하는 "워크로드 메트릭", (3) 예를 들어, 응답 시간, 큐 길이 및 처리량 등과 같은 배달 성능을 특성화하는 "서비스 레벨 메트릭"이 있다.
"튜닝 제어"는 타깃 리소스 할당을 조정하여 타깃의 성능 특성을 변화시키는 파라미터이다. 몇몇 예가 존재한다. LOTUS NOTES, 즉 이메일 시스템 및 애플리케이션 프레임워크는 대규모의 제어 세트를 갖는다. 이들 중에, 메모리를 관리하는 NSF_BufferPoolSize, 서버로의 승인을 제어하는 Server_MaxSessions, 유휴 사용자의 수를 규제하는 Server_SessionsTimeOut이 있다. 차별화된 서비스를 지원하는 웹-기반 애플리케이션에서, 서비스 클래스 및 서버 타입에 의해 라우팅 비율을 결 정하는 튜닝 제어가 존재한다. 분산 시스템에서 신뢰성 있는 전송 메카니즘인 MQ SERIES는 스토리지 할당 및 우선 순위 할당을 위한 제어를 갖는다. 데이터베이스 제품(예를들어, IBM의 DB/2)은 인덱스 분류 및 버퍼 풀 사이즈 할당을 위한 제어를 갖는다.
해석 및 조정을 위한 메카니즘은 자동화 튜닝 시스템에 내장될 수 있도록, 메트릭 및 튜닝 제어가 미리 식별되는 것을 CATS는 요구한다. 따라서, CATS 구성 및 유지 보수에는 상당한 전문 지식을 여전히 요구한다. 인터넷의 출현으로, 이들이 처리하는 워크로드처럼, 소프트웨어 및 이들의 구성요소는 급속히 발전하고 있다. 따라서, 자동화 튜닝 시스템은 튜닝이 발생하는 지점에 근사 비율로 갱신되어야만하는 경우가 있을 수 있다. 이러한 환경하에서, 자동화 튜닝값은 상당히 감소된다.
종래의 자동화 튜닝 관련 기술은 주로 타깃 시스템(즉, 제어 대상 시스템)과 매우 밀접하게 결합된 특정 알고리즘 및 아키텍쳐를 개발하는데 집중되어 있었다. 이런 경우에, 그러한 알고리즘은 다른 시스템에 쉽게 재적용될 수 없거나, 다른 제어 스킴이 제안된 아키텍쳐에 삽입될 수도 없다.
기존의 타깃-독립 자동화 튜닝 기술은 메트릭에의 액세스 및 제어를 위한 구조적인 지원을 고려하지 않는다. 제너릭 자동화 튜닝을 실현하는 데에는, 일반적으로, 제너릭 자동화 튜닝 시스템이 타깃으로부터 요구된 데이터를 액세스할 수 있도록, 명확한 인터페이스를 필요로 한다. 하지만, 종래 기술은 이런 고려 사항을 무시하였다.
시만틱 메트릭 및 튜닝 제어의 동작에 대한 정보를 공개함으로써, 튜닝 제어의 적절한 설정을 위한 연구가 용이해졌다. 특히, 컨피그레이션, 워크로드 및 서비스 레벨의 카테고리로 메트릭을 위치시키는 것이 타깃에는 도움이 된다. 이들 지정은 제너릭 시스템 모델의 구성을 지원할 수 있다. 또한, 이러한 지식이 튜닝 제어의 적절한 설정을 위한 탐색의 복합성을 감소시키므로, 튜닝 제어 조정의 방향성 효과를 나타내는 방식이어야만 한다. 과거의 작업은 이런 문제에는 집중되지 않았다.
상술한 문제외에 종래 기술의 다른 관련 문제는 본 발명에 따른 제너릭 적응 제어용 오브젝트-지향 프레임워크에 의해 해결된다. 본 발명은 예를들어, 네트워크에서의 하나 이상의 컴퓨터 시스템 등과 같은, 하나 이상의 타깃 시스템에 적용할 수도 있다.
또한, 본 발명은, 하나 이상의 콘트롤러 모듈(본 명세서에서는 "오토튠 콘트롤러(Autotune Controller)"로도 언급됨), 및 하나 이상의 타깃 시스템(애플리케이션) 어댑터(본 명세서에서는 "오토튠 어댑터(Autotune Adaptor)"로도 언급됨)로 이루어진 소프트웨어 에이전트인 제너릭 자동화 튜닝 에이전트(GATA)의 생성을 위한 플렉서블 소프트웨어 아키텍쳐를 제공한다. 더욱더, 본 발명에 따르면, 다른 구성요소가 플러그-앤드-플레이 방식으로 대체될 수 있도록, 에이전트의 구성요소(콘트롤러 및 어댑터) 사이의 인터페이스를 사용자가 지정할 수 있다. 또한, 본 발명은 콘트롤러가 임의의 복합 방식으로 서로 접속되도록 하여, 임의의 계산가능한 제어 기법의 구현(및 조립)을 허용하는 인터페이스를 제공한다. 또한, 본 발명은 프레임워크내에 생성된 에이전트가 상호 접속되어, 서로 통신하여 잠재적으로 복합적인 네트워크 및/또는 소프트웨어 에이전트 계층을 형성하는 메카니즘을 제공한다. 또한, 본 발명은 필요에 따라 선택적이고 유연한 수동 감시 및 중재를 허용하는 커스터마이저 인터페이스를 제공한다.
이 아키텍쳐에 의해서 제너릭 프레임워크에서의 많은 제어 기법을 구현할 수 있다. 더욱더, 타깃 시스템과 반드시 결합되지 않도록, 제어 기법이 모듈 방식으로 구현되도록 할 수 있다. 또한, 이러한 모듈 방식은 동일한 제어 기법이 상이한 타깃 시스템에 쉽게 적용될 수 있게 한다. 아키텍쳐는 다수의 콘트롤러를 필요로 하는 기법을 구현하는데 충분히 유연하다. 또한, (부가적인 코딩이 필요없는)기존의 인트라 구조를 활용하는 중개자 통신을 가능케한다. 이는 복합적인 분산 시스템을 제어하기 위한 복합 에이전트 네트워크를 구성할 수 있게 한다.
본 발명의 일 양태에 따르면, 하나 이상의 타깃 시스템을 자동적으로 튜닝하기 위한 튜닝 시스템을 제공한다. 메트릭 매니저는 하나 이상의 타깃 시스템에 대응하는 적어도 하나의 메트릭 세트를 관리한다. 하나 이상의 콘트롤러는 적어도 하나의 메트릭 세트에 기초하여 하나 이상의 제어 기법을 구현한다. 하나 이상의 제어 기법은 하나 이상의 타깃 시스템중의 임의의 특정 아키텍쳐와는 독립적이다. 하나 이상의 어댑터는 하나 이상의 제어 기법에 대하여 하나 이상의 타깃 시스템과 인터페이스한다. 하나 이상의 어댑터 중 적어도 하나는 하나 이상의 타깃 시스템 중의 대응하는 하나에 특정된다.
본 발명의 다른 양태에 따르면, 튜닝 시스템은 적어도 하나의 메트릭 매니저를 커스터마이즈하는 사용자 입력을 수신하는 적어도 하나의 커스터마이저, 하나 이상의 콘트롤러 및 하나 이상의 어댑터를 포함한다. 적어도 하나의 커스터마이저는 그래픽 사용자 인터페이스이다.
본 발명의 또 다른 양태에 따르면, 하나 이상의 콘트롤러는 하나 이상의 제어 기법 사이의 충돌을 해결하는 마스트 콘트롤러를 포함한다.
본 발명의 또 다른 양태에 따르면, 튜닝 시스템은 다른 튜닝 시스템을 호출하여 하나 이상의 타깃 시스템에 대하여 계층적 튜닝 시스템을 형성할 수 있다.
본 발명의 또 다른 양태에 따르면, 튜닝 시스템과 다른 튜닝 시스템은 연동하여 하나 이상의 제어 기법을 구현한다.
본 발명의 또 다른 양태에 따르면, 하나 이상의 콘트롤러 중의 적어도 일부는 모듈이고 튜닝 시스템으로부터 삭제, 변경 또는 대체될 수 있다.
본 발명의 또 다른 양태에 따르면, 하나 이상의 어댑터 중의 적어도 일부는 모듈이고 튜닝 시스템으로부터 삭제, 변경 또는 대체될 수 있다.
본 발명의 이들 및 다른 양태, 특징 및 장점은 첨부된 도면을 참조하여 하기의 바람직한 실시예의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 발명의 예시적인 실시예에 따라, 본 발명에 따른 소프트웨어 에이전트가 적용될 수도 있는 전형적인 동작 환경을 나타내는 블럭도.
도 2는 본 발명의 예시적인 실시예에 따라, 소프트웨어 에이전트 및 이에 대 응하는 상호 접속을 포함하는 구성요소를 나타내는 블럭도.
도 3은 본 발명의 예시적인 실시예에 따라, 메트릭 타입 계층을 나타내는 트리도.
도 4는 본 발명의 예시적인 실시예에 따라, 단일 제어 방법을 사용하여 단일 애플리케이션을 제어하기 위한 단일 에이전트를 나타내는 블럭도.
도 5는 본 발명의 예시적인 실시예에 따라, 다수의 제어 기법이 단일 에이전트에 포함될 수 있는 방식을 나타내는 블럭도.
도 6은 본 발명의 예시적인 실시예에 따라, 계층적 제어 구성을 나타내는 블럭도.
도 7은 본 발명의 예시적인 실시예에 따라, 도 6의 계층적 제어 구성의 일부인 에이전트의 블럭도.
도 8은 본 발명의 예시적인 실시예에 따라, 오토튠 소프트웨어 에이전트를 생성하기 위한 방법을 나타내는 흐름도.
도 1은 본 발명의 예시적인 실시예에 따라, 본 발명에 따른 소프트웨어 에이전트가 적용될 수도 있는 전형적인 동작 환경을 나타내는 블럭도이다. 에이전트(110)는 소망의 서비스-레벨 요건뿐만 아니라, 콘트롤러의 동작에 영향을 주는 다양한 파라미터에 따라서 휴먼(또는 소프트웨어) 관리자 엔티티(120)로부터의 정보를 수신한다. 에이전트(110)로의 다른 입력은, 상술한 바와같이, 컨피그레이션, 워크로드 및 서비스 레벨 메트릭에 따라서, 타깃 애플리케이션(130) 자체로 부터 수신된다. 이들 입력을 사용하여, 에이전트(110)는 타깃 시스템 또는 시스템(130)에 대한 제어 설정을 계산한다. 다음으로, 이들 제어 설정은 타깃 시스템(130)으로 전달된다. 따라서, 에이전트(110)는 타깃 시스템(130)에 대하여 폐루프로 동작한다는 것을 알 수 있다. 또한, 도 1은 타깃 시스템(130)의 동작이 사용자(140)에 의해 타깃 시스템에 부과된 워크로드에 의해 좌우되는 것을 보여준다. 도 1의 최종 양태는, 관리자(120)가, 콘트롤러 파라미터를 제공하는 것에 더해서, 콘트롤러의 작동에 관련된 메트릭으로의 액세스를 갖는다는 것이다. 이는, 에이전트가 제대로 동작하는지를 보장하고 그 작동 효율을 측정하기 위해, 자동화 에이전트(110)를 감시하는데 사용될 수 있다.
이런 에이전트의 내부 구성요소는 도 2에 개략적으로 도시되어 있다. 특히, 도 2는 본 발명의 예시적인 실시예에 따라, 소프트웨어 및 이에 대응하는 상호 접속을 포함하는 구성요소를 나타내는 블럭도이다. 이 에이전트 아키텍쳐를 오토튠 에이전트라고 부른다.
도 2의 소프트웨어 에이전트는 마스터 오토튠 콘트롤러(210), 하나 이상의 슬레이브 오토튠 콘트롤러(이하, "슬레이브 오토튠 콘트롤러"라 함)(220), 하나 이상의 오토튠 어댑터(이하, "오토튠 어댑터"라 함)(230), 저장소(250), 메트릭 매니저(240), 관리자 애플리케이션 프로그래밍 인터페이스(API)(265), 커스터마이저(270, 280 및 290)를 포함한다. 도 2의 소프트웨어 에이전트는 하나 이상의 타깃 시스템 및/또는 하나 이상의 다른 오토튠 에이전트(260)와 상호 작용한다(이하, 본 발명에 따른 소프트웨어 에이전트가 다른 에이전트뿐만 아니라, 다 른 에이전트가 아닌 타깃 시스템과도 상호 작용하는 것을 나타내기 위해, "타깃 시스템" 또는 "다른 오토튠 에이전트"라고 교대로 칭한다). 상기는 오토튠 에이전트가 다른 오토튠 에이전트의 타깃 시스템이 될 수 있는 것을 나타낸다.
오토튠 에이전트는 하나 이상의 오토튠 콘트롤러 및 하나 이상의 오토튠 어댑터로 구성될 수 있다. 에이전트내에 다수의 오토튠 콘트롤러가 존재하는 경우, 이들 중의 하나는 마스터 콘트롤러(210)로 지정되어 최종 제어 액션을 생성하는 역할을 한다. 제어 알고리즘에 따라, 마스터 콘트롤러(210)는 임의의 다른(슬레이브) 콘트롤러(220)를 서브루틴으로서 사용하여 소망의 제어 액션을 결정할 수도 있다.
도 3은 본 발명의 예시적인 실시예에 따라, 계층 타입의 메트릭을 나타내는 트리도이다. 메트릭(390)은 판독-전용 메트릭(370) 및 판독/기입 메트릭(380)으로 나누어진다. 본 명세서에서 개시된 예시적인 실시예에서, 컨피그레이션(310), 워크로드(320) 및 서비스 레벨(330) 메트릭은 판독-전용이고, 튜닝 제어(340) 메트릭은 판독/기입 메트릭이다. 물론, 본 발명의 사상 및 범위를 유지하는 한, 다른 장치도 채용될 수 있다.
메트릭은 메트릭 매니저(240)를 통해 관리된다. 이 엔티티는 공지된 메트릭의 세트를 에이전트에 부가, 삭제 및 열거(도 2의 getMetric())하는 인터페이스를 제공한다. 메트릭 매니저(240)는 커스터마이저(280) 또는 관리자 API(265)를 통해, 저장소(250)에 로깅될 공지된 메트릭의 서브세트를 관리자가 선택하도록 하고, 이는 로깅 목적으로 사용될 수 있다. 메트릭 매니저(240)는 로깅처를 선택하고 로 깅 기능을 인에이블/디스에이블하는 등과 같은 부가 기능 세트를 제공한다.
오토튠 어댑터(230)는 타깃 애플리케이션(260)에의 에이전트의 인터페이스이다. 각 오토튠 어댑터(230)는 자신이 알고 있는 메트릭 세트를 규정한다. 이 세트는 오토튠 어댑터(230)를 쿼리함으로써 얻어질 수 있다(도 2의 getMetrics()). 판독-전용 메트릭에 대해, 오토튠 어댑터(230)는 타깃 시스템(260)으로부터의 이들 메트릭의 최근값을 모으는 수단을 제공한다(도 2의 process()). 튜닝 제어 메트릭에 대해, 오토튠 어댑터(230)는 타깃 시스템(260)에 대한 튜닝 제어값을 설정하는 수단을 제공한다(도 2의 setControl()). 오토튠 어댑터(230)는 타깃-특정으로서, 제어 알고리즘 자체가 특정 타깃 시스템과 직접 결합될 필요가 없도록 업스트랙션(abstraction)을 제공한다. 동일한 제어 알고리즘을 다른 타깃 시스템에 적용하기 위해서는, 그 타깃 시스템을 오토튠 어댑터로 대체만 할 필요가 있다. 타깃 시스템(260)은 예를 들어, 다른 오토튠 에이전트를 비롯한 임의의 외부 엔티티일 수 있다는 것에 주목하길 바란다. 이 특성에 의해, 일련의 에이전트를 만들 수 있어서, 나중에 에이전트 계층을 만드는 데에 활용할 수 있게 된다.
오토튠 콘트롤러(210, 220)는 제어 기법을 구현한다. 오토튠 콘트롤러(210, 220)는 (getMetric()를 사용하여)메트릭 매니저로부터의 관심 대상의 모든 메트릭을 얻는다. 오토튠 콘트롤러(210, 220)는 (setControl()을 통해 대응 오토튠 어댑터(230) 구성요소를 호출함으로써)에러(소망의 서비스 레벨로부터의 편차)를 계산하고, 새로운 제어값을 계산하여, 이 제어값을 설정하는 메카니즘을 제공한다.
통상의 제어 루프는 다음과 같다.
1. (동기 모드이면),
a. 동기 어댑터를 호출
2. 소망의 서비스 레벨로부터의 에러를 계산
3. 새로운 제어값을 계산(이는 제어 알고리즘을 구현)
4. (현재의 콘트롤러가 마스터 오토튠 콘트롤러(210)이면),
a. 그 제어값을 설정
5. 반복
상기의 단계 2(에러 계산 단계)는 선택적인 단계인 것을 인지해야 한다. 대부분의 제어 알고리즘이 에러상에서 동작하지만, 에러상에서 동작하지 않는 몇몇 제어 알고리즘도 있다. 물론, 다른 변경도 가능하며, 이는 당업자라면 용이하게 인식될 것이다.
오토튠 어댑터(230)는 동기 또는 비동기 방식으로 동작할 수도 있다. "동기"는 오토튠 어댑터(230)가 새로운 제어값을 계산하기 직전에 호출된다는 것을 의미한다. 비동기 모드에서, 오토튠 어댑터(230)는 최근 메트릭값을 얻기 위하여 다른 몇몇(사용자-지정) 주파수로 그 자신상에서 호출되는 것으로 가정한다. 이 특징에 의해, 제어 주파수가 센싱 주파수와 다른 경우에 오토튠 콘트롤러를 구현할 수 있게 한다.
소망의 서비스 레벨로부터 에러를 계산할 때, 오토튠 콘트롤러는, 필요하다면 메트릭 매니저(240)에 알려진 임의의 메트릭을 액세스할 수도 있다.
각각의 구성요소(메트릭 매니저(240), 오토튠 어댑터(230), 오토튠 콘트롤러(210, 220))에 대한 사용자-인터페이스는 커스터마이저(270, 280, 290)를 통해 제공된다. 커스터마이저는 각 구성요소의 로우-레벨 상세에 GUI를 제공하는 엔티티이다. 본 명세서에 개시된 예시적인 실시예에서, 에이전트의 일부인 각 엘리먼트에 대해 하나의 커스터마이저가 있다. 물론, 다른 장치도 가능하지만, 에이전트의 일부인 각 타입의 엘리먼트(예를 들어, 오토튠 콘트롤러, 어댑터 등)에 대해 하나의 커스터마이저로 한정되는 것은 아니다. 메트릭 매니저(240)의 경우에, 예를 들어, 커스터마이저에 의해 사용자는 메트릭이 로깅되는 것, 로그 파일의 위치 등을 지정할 수 있다. 오토튠 콘트롤러의 경우에, 사용자는 제어 주파수를 설정하고, 마스터 오토튠 콘트롤러를 선택하는 것 등을 할 수 있다. 오토튠 어댑터(230)에 대해, 동기/비동기 동작 모드를 선택하고 수동으로 튜닝 제어를 설정할 수도 있다(자동화 에이전트가 동작하기를 원하지 않는 경우). 커스터마이저(270, 280, 290)는 실시간 감시가 실행될 수 있도록 사용자에게 수취가능한 메트릭을 공개하는 방법을 제공한다.
다음에, 다종다양한 컴퓨터 시스템을 제어하기 위한 소프트웨어 에이전트를 용이하게 생성하는 데에 프레임워크가 어떻게 사용되는지에 대한 구체적인 예를 제공한다. 특정 에이전트를 실예를 들어 설명하기 위하여, 구성요소인 각 타깃 시스템에 대한 오토튠 어댑터 및 하나(또는 그 이상)의 제어 알고리즘과 같은 구성요소가 필요하다.
도 4는 본 발명의 예시적인 실시예에 따라, 단일 제어 방법을 사용하여 단일 애플리케이션을 제어하기 위한 단일 에이전트를 나타내는 블럭도이다. 도 4의 소 프트웨어 에이전트는 단일 오토튠 콘트롤러(410), 오토튠 어댑터(460), 저장소(450), 메트릭 매니저(440), 관리자 API(465), 커스터마이저(470, 480, 490)를 포함한다. 도 4의 소프트웨어 에이전트는 타깃 시스템 또는 다른 오토튠 에이전트(260)와 상호 작용한다(이하, "타깃 시스템" 또는 "다른 오토튠 에이전트"로 교대로 언급됨).
단일 타깃 시스템 및 단일 제어 알고리즘(도 4와 같이)을 갖는 시나리오에 대한 기본 에이전트 생성 프로세스는 하기의 도 8에 나타낸다.
동일한 제어 기법을 사용하여, 동일한 에이전트는 단지 현재의 어댑터 구성요소를 새로운 타깃 시스템의 구성요소로 대체시킴으로써 서로 다른 시스템에 맞추어질 수 있다. 이로 인해, 기존의 지식을 재사용할 수 있게 된다. 마찬가지로, 제어 알고리즘도 콘트롤러 모듈을 대체함으로써 용이하게 변경될 수 있다.
도 5는 본 발명의 예시적인 실시예에 따라, 다수의 제어 기법이 어떻게 단일 에이전트에 어떻게 포함될 수 있는 지를 나타내는 블럭도이다.
도 5의 소프트웨어 에이전트는 마스터 오토튠 콘트롤러(510), 하나 이상의 슬레이브 오토튠 콘트롤러(이하, "슬레이브 오토튠 콘트롤러"라 함)(520), 오토튠 어댑터(560), 저장소(550), 메트릭 매니저(540), 관리자 API(565), 커스터마이저(570, 580 및 590)을 포함한다. 도 5의 소프트웨어 에이전트는 타깃 시스템 및/또는 다른 오토튠 에이전트(260)와 상호 작용한다(이하, "타깃 시스템" 또는 "다른 오토튠 에이전트"로 교대로 언급됨). 여기에서, 마스터 오토튠 콘트롤러(510)는 다수의 하위 제어 기법을 사용하는 상위 제어 기법을 구현하여, 제어값 을 계산한다. 도 8을 참조하여, 이 에이전트는 생성될 수 있다.
도 6은 본 발명의 예시적인 실시예에 따라, 계층적 제어 구성을 나타내는 블럭도이다. 여기에서 "US 오토튠 에이전트"(610)는 순차적으로 "이스트 코스트"(620) 및 "웨스트 코스트"(630) 오토튠 에이전트를 호출하고, 이들은 해당 하위 에이전트(640, 650, 660, 670)를 순차적으로 호출한다. 하위 에이전트(640, 650, 660, 670) 각각은 app 1(681), app 2(682), app 3(683), 및 app 4(684)를 제어/관리한다. 이 계층은 그 계층의 각 레벨에서의 콘트롤러에 의해 구현될 수 있다.
도 7은 본 발명의 예시적인 실시예에 따라, 도 6의 계층적 제어 구성의 일부인 에이전트의 블럭도이다. 특히, 계층의 내부 노드에서의 콘트롤러(마스터 오토튠 계층적 콘트롤러(710))를 도 7에 도시한다. 본 실시예에서, 상위 에이전트의 경우, 타깃 시스템은 하위 에이전트 중의 하나라는 것을 주목해야 한다. 이러한 재귀는 표준 어댑터 인터페이스를 다른 오토튠 에이전트(760)에 제공하는 오토튠 에이전트 어댑터(730)에 의해 가능해진다. 이 예는 본 프레임워크의 완전한 일반성을 나타내고, 동일한 프레임워크를 사용하여 복잡한 체인의 콘트롤러 및 에이전트를 용이하게 만들수 있다는 것을 나타낸다. 마스터 오토튠 계층적 콘트롤러(710), 오토튠 에이전트 어댑터(730), 및 다른 오토튠 에이전트(760)에 부가하여, 도 7의 실시예는 하나 이상의 슬레이브 오토튠 콘트롤러(이하, "슬레이브 오토튠 콘트롤러"로 언급함)(720), 저장소(750), 메트릭 매니저(740), 관리자 API(765), 커스터마이저(770, 780, 790)를 더 포함한다.
도 8은 본 발명의 예시적인 실시예에 따라, 오토튠 소프트웨어 에이전트를 생성하기 위한 방법을 나타내는 흐름도이다. 도 8의 방법에서 몇몇 단계는 오토튠 에이전트의 임의의 엘리먼트에 관해 "지정/생성"을 기술하는 것에 주목하길 바란다. 이로 인해, 사용자의 요구 및 타깃 시스템에 대해 행해질 튜닝에 따라서, 사용자는 엘리먼트를 생성하거나 또는 현재 존재하는 엘리먼트를 사용할 수 있다.
하나 이상의 오토튠 어댑터는 지정/생성된다(단계 (820)). 그후, 에이전트가 2개 이상의 제어 기법 또는 제어 알고리즘을 채용하는 지를 결정한다(단계 (830)). 그렇다면, 1 내지 N(N≥2)개의 오토튠 콘트롤러가 지정/생성되고(단계 (840)), 단계(860)로 진행한다. 그렇지 않으면, 단일 오토튠 콘트롤러가 지정/생성되고(단계(850)), 단계(870)로 진행한다.
단계(860 및 870)에서, 제어 파라미터는 하나 이상의 커스터마이저를 통해 선택/생성된다. 단계(860 및 870)들 모두 예를 들어, 콘트롤러 주파수, 동기/비동기 모드, 로깅 메트릭 등과 같은 파라미터를 선택하는 단계를 포함할 수도 있다. 그러나, 단계(860)는 1내지 N개의 오토튠 콘트롤러 중에서 마스터 오토튠 콘트롤러를 선택하는 단계를 포함해야만 한다.
예시적인 실시예는 첨부된 도면을 참조로 본 명세서에서 설명하였지만, 본 시스템 및 방법은 이들 실시예에 한정되지 않고, 각종의 다른 변화 및 변경은 본 발명의 범위 및 사상을 벗어나지 않고 당업자에 의해 영향을 미칠 수 있다는 것을 이해해야 한다. 이런 모든 변경 및 변화는 첨부된 청구의 범위에 의해 규정된 바와같이, 본 발명의 범위내에 포함되어야 한다.
본 발명은 제너릭 자동화 튜닝 시스템을 제공한다는 것을 인식해야 한다. 장점으로는, 본 발명은 타깃 시스템의 상세 지식을 튜닝 시스템에 포함시키기 위한 전문적 지식이 필요없다는 것이다. 오히려, 본 발명을 통해 타깃의 성능 특성을 학습할 수 있게 된다. 본 발명에 따른 제너릭 자동화 튜닝 시스템은 사전 지식이 이용가능하고, 신뢰성있고, 영속적일 때, 타깃 시스템의 사전 지식을 이용할 수도 있는 장점이 있다.

Claims (25)

  1. 하나 이상의 타깃 시스템을 자동으로 튜닝하기 위한 튜닝 시스템에 있어서,
    상기 하나 이상의 타깃 시스템에 대응하는 적어도 1세트의 메트릭을 관리하기 위한 메트릭 매니저;
    상기 적어도 1세트의 메트릭에 기초하여 하나 이상의 제어 기법 - 상기 하나 이상의 제어 기법은 상기 하나 이상의 타깃 시스템중 임의의 타깃 시스템의 특정 아키텍쳐와는 독립적임 - 을 구현하기 위한 하나 이상의 콘트롤러; 및
    상기 하나 이상의 제어 기법에 대해 상기 하나 이상의 타깃 시스템과 인터페이스하는 하나 이상의 어댑터 - 상기 하나 이상의 어댑터의 적어도 하나는 상기 하나 이상의 타깃 시스템중에 대응하는 타깃 시스템에 특정됨 -
    를 포함하는 것을 특징으로 하는 튜닝 시스템.
  2. 제1항에 있어서,
    상기 하나 이상의 제어 기법의 각각은 개별 컴퓨터 프로그램에 대응하는 것을 특징으로 하는 튜닝 시스템.
  3. 제1항에 있어서,
    상기 메트릭 매니저, 상기 하나 이상의 콘트롤러 및 상기 하나 이상의 어댑터중의 적어도 하나를 커스터마이즈하기 위한 사용자 입력을 수신하는 적어도 하나 의 커스터마이저 - 상기 적어도 하나의 커스터마이저는 그래픽 사용자 인터페이스임 - 를 더 포함하는 것을 특징으로 하는 튜닝 시스템.
  4. 제3항에 있어서,
    상기 커스터마이저는 상기 사용자 입력을 수신하여 상기 메트릭 매니저, 상기 하나 이상의 콘트롤러, 및 상기 하나 이상의 어댑터 중의 적어도 하나에 대한 디폴트값을 설정하는 것을 특징으로 하는 튜닝 시스템.
  5. 제3항에 있어서,
    상기 커스터마이저는, 상기 사용자 입력을 수신하여 상기 하나 이상의 타깃 시스템 중의 소정의 하나에 대해 상기 튜닝 시스템의 소정의 적용시에 채용될 상기 하나 이상의 어댑터의 개수를 선택하는 것을 특징으로 하는 튜닝 시스템.
  6. 제3항에 있어서,
    상기 커스터마이즈는, 상기 사용자 입력을 수신하여 상기 하나 이상의 타깃 시스템 중의 소정의 하나에 대해 상기 튜닝 시스템의 소정의 적용시에 채용될 상기 하나 이상의 어댑터의 하나 이상의 타입을 선택하는 것을 특징으로 하는 튜닝 시스템.
  7. 제3항에 있어서,
    상기 커스터마이즈는, 상기 사용자 입력을 수신하여 상기 하나 이상의 타깃 시스템 중의 소정의 하나에 대해 상기 튜닝 시스템의 소정의 적용시에 채용될 상기 하나 이상의 콘트롤러의 개수를 선택하는 것을 특징으로 하는 튜닝 시스템.
  8. 제3항에 있어서,
    상기 커스터마이즈는, 상기 사용자 입력을 수신하여 상기 하나 이상의 타깃 시스템 중의 소정의 하나에 대해 상기 튜닝 시스템의 소정의 적용시에 채용될 상기 하나 이상의 콘트롤러의 하나 이상의 타입을 선택하는 것을 특징으로 하는 튜닝 시스템.
  9. 제1항에 있어서,
    상기 하나 이상의 콘트롤러는 상기 하나 이상의 제어 기법 간의 충돌을 해결하기 위한 마스터 콘트롤러를 포함하는 것을 특징으로 하는 튜닝 시스템.
  10. 제1항에 있어서,
    상기 메트릭의 세트는 판독-전용 메트릭 및 판독/기입 메트릭을 포함하는 것을 특징으로 하는 튜닝 시스템.
  11. 제10항에 있어서,
    상기 하나 이상의 어댑터는 상기 하나 이상의 타깃 시스템으로부터의 상기 판독-전용 메트릭의 최근값을 바로 얻는 것을 특징으로 하는 튜닝 시스템.
  12. 제10항에 있어서,
    상기 하나 이상의 어댑터는 상기 하나 이상의 타깃 시스템 상의 상기 판독/기입 메트릭에 대응하는 값을 설정하는 것을 특징으로 하는 튜닝 시스템.
  13. 제1항에 있어서,
    상기 메트릭 매니저는 상기 적어도 1세트의 메트릭을 부가, 삭제 및 열거가능한 것을 특징으로 하는 튜닝 시스템.
  14. 제1항에 있어서,
    상기 튜닝 시스템은 다른 튜닝 시스템을 호출하여 상기 하나 이상의 타깃 시스템에 대해 계층적 튜닝 시스템을 형성가능한 것을 특징으로 하는 튜닝 시스템.
  15. 제14항에 있어서,
    상기 튜닝 시스템 및 상기 다른 튜닝 시스템은 서로 연동하여 상기 하나 이상의 제어 기법을 구현하는 것을 특징으로 하는 튜닝 시스템.
  16. 제1항에 있어서,
    상기 하나 이상의 타깃 시스템의 서비스-레벨 요건을 지정하기 위한 관리자 애플리케이션 프로그래밍 인터페이스(API)를 더 포함하는 것을 특징으로 하는 튜닝 시스템.
  17. 제1항에 있어서,
    상기 튜닝 시스템의 동작을 감시하기 위한 관리자 애플리케이션 프로그래밍 인터페이스(API)를 더 포함하는 것을 특징으로 하는 튜닝 시스템.
  18. 제1항에 있어서,
    상기 메트릭 매니저는 상기 적어도 1세트의 메트릭 중으로부터 저장될 메트릭 서브세트를 적어도 지정하는 입력을 수신가능한 것을 특징으로 하는 튜닝 시스템.
  19. 제1항에 있어서,
    상기 하나 이상의 콘트롤러 중의 2개 이상이, 상기 하나 이상의 타깃 시스템 중의 소정의 하나에 대해 상기 튜닝 시스템의 소정의 적용시에 채용되는 것을 특징으로 하는 튜닝 시스템.
  20. 제1항에 있어서,
    상기 하나 이상의 콘트롤러 중의 적어도 일부는 모듈이고, 상기 튜닝 시스템으로부터 삭제, 변경 또는 대체가능한 것을 특징으로 하는 튜닝 시스템.
  21. 제1항에 있어서,
    상기 하나 이상의 어댑터 중의 적어도 일부는 모듈이고, 상기 튜닝 시스템으로부터 삭제, 변경 또는 대체가능한 것을 특징으로 하는 튜닝 시스템.
  22. 제1항에 있어서,
    로깅 메트릭 변경을 위한 공유 설비를 더 포함하는 것을 특징으로 하는 튜닝 시스템.
  23. 하나 이상의 타깃 시스템을 자동으로 튜닝하기 위한 방법에 있어서,
    상기 하나 이상의 타깃 시스템에 대응하는 적어도 1세트의 메트릭을 관리하는 단계;
    상기 적어도 1세트의 메트릭에 기초하여 하나 이상의 제어 기법 - 상기 하나 이상의 제어 기법은 상기 하나 이상의 타깃 시스템중의 임의의 타깃 시스템의 특정 아키텍쳐와는 독립적임 - 을 구현하기 위한 하나 이상의 콘트롤러를 제공하는 단계;
    상기 하나 이상의 제어 기법에 대해 상기 하나 이상의 타깃 시스템과 인터페이스하는 하나 이상의 어댑터를 제공하는 단계 - 상기 하나 이상의 어댑터의 적어도 하나는 상기 하나 이상의 타깃 시스템중의 대응하는 하나에 지정됨 -; 및
    상기 하나 이상의 어댑터를 사용하여 상기 하나 이상의 타깃 시스템과 자동으로 인터페이스하여 상기 하나 이상의 타깃 시스템에 대해 상기 하나 이상의 제어 기법을 구현하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  24. 제23항에 있어서,
    상기 하나 이상의 콘트롤러를 제공하는 상기 단계는 복수의 콘트롤러로부터 상기 하나 이상의 콘트롤러를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 제23항에 있어서,
    상기 하나 이상의 어댑터를 제공하는 상기 단계는 복수의 어댑터로부터 상기 하나 이상의 어댑터를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020047001581A 2002-01-29 2003-01-29 제너릭 적응 제어용 오브젝트-지향 프레임워크 KR100588032B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/059,665 US7120621B2 (en) 2002-01-29 2002-01-29 Object-oriented framework for generic adaptive control
US10/059,665 2002-01-29
PCT/US2003/002611 WO2003065211A1 (en) 2002-01-29 2003-01-29 Object- oriented framework for generic adaptive control

Publications (2)

Publication Number Publication Date
KR20040084887A KR20040084887A (ko) 2004-10-06
KR100588032B1 true KR100588032B1 (ko) 2006-06-12

Family

ID=27609865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001581A KR100588032B1 (ko) 2002-01-29 2003-01-29 제너릭 적응 제어용 오브젝트-지향 프레임워크

Country Status (7)

Country Link
US (2) US7120621B2 (ko)
EP (1) EP1470481A4 (ko)
JP (1) JP3940399B2 (ko)
KR (1) KR100588032B1 (ko)
CN (1) CN1552019B (ko)
CA (1) CA2473652A1 (ko)
WO (1) WO2003065211A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172141A1 (en) * 2002-03-06 2003-09-11 Adtran, Inc. Element management system and method utilizing provision templates
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
US7765521B2 (en) * 2002-08-29 2010-07-27 Jeffrey F Bryant Configuration engine
US20040045007A1 (en) * 2002-08-30 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Object oriented component and framework architecture for signal processing
US7734637B2 (en) * 2002-12-05 2010-06-08 Borland Software Corporation Method and system for automatic detection of monitoring data sources
ITTO20030327A1 (it) * 2003-05-02 2004-11-03 Telecom Italia Spa Procedimento e piattaforma per la gestione automatizzata
US7353265B2 (en) * 2004-06-02 2008-04-01 Lehman Brothers Inc. Method and system for monitoring and managing assets, applications, and services using aggregated event and performance data thereof
US7676447B2 (en) * 2005-02-11 2010-03-09 Kinematik Research Limited Control system and method for controlling execution of scientific experiments by laboratory instruments
KR100848978B1 (ko) * 2006-05-04 2008-07-30 에스케이 텔레콤주식회사 퍼스널 컴퓨터에서의 표준 소프트웨어 플랫폼 프로그램을 기록한 기록매체
WO2008135459A2 (de) * 2007-05-04 2008-11-13 Schneider Electric Automation Gmbh Kollaboratives automationssystem sowie verfahren zur steuerung eines solchen
DE102007051683A1 (de) * 2007-10-26 2009-06-18 Schneider Electric Gmbh Verfahren zur Orchestrierung von Services eines serviceorientierten Automationssystems sowie Orchestrierungs-Maschine
CA2716131A1 (en) * 2008-02-22 2009-08-27 Materials And Technologies Corporation Single-sided high throughput wet etching and wet processing apparatus and method
US8327325B2 (en) * 2009-01-14 2012-12-04 International Business Machines Corporation Programmable framework for automatic tuning of software applications
US8713565B2 (en) 2010-04-28 2014-04-29 International Business Machines Corporation Automated tuning in a virtual machine computing environment
US8621052B2 (en) * 2010-08-20 2013-12-31 International Business Machines Corporation Performance tuning for software as a performance level service
US10089414B2 (en) 2012-07-31 2018-10-02 Hewlett Packard Enterprise Development Lp System architecture generation
CN104883392A (zh) * 2015-04-25 2015-09-02 哈尔滨工业大学 一种基于构件代理模块的航天器接口适配器及采用该适配器实现的数据交互方法
US20170063597A1 (en) * 2015-08-31 2017-03-02 Ca, Inc. Api provider insights collection

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546312A (en) 1993-09-20 1996-08-13 Texas Instruments Incorporated Use of spatial models for simultaneous control of various non-uniformity metrics
FR2750517B1 (fr) * 1996-06-27 1998-08-14 Bull Sa Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique
US6192354B1 (en) 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US6401080B1 (en) 1997-03-21 2002-06-04 International Business Machines Corporation Intelligent agent with negotiation capability and method of negotiation therewith
US6145121A (en) * 1997-04-17 2000-11-07 University Of Washington Trace based method for the analysis, benchmarking and tuning of object oriented databases and applications
US6199068B1 (en) 1997-09-11 2001-03-06 Abb Power T&D Company Inc. Mapping interface for a distributed server to translate between dissimilar file formats
WO2000045266A1 (en) * 1999-02-01 2000-08-03 Touch Technologies, Inc. Method and apparatus for automated tuning and configuration collection for logic systems
US20010032029A1 (en) 1999-07-01 2001-10-18 Stuart Kauffman System and method for infrastructure design
US6487562B1 (en) * 1999-12-20 2002-11-26 Emc Corporation Dynamically modifying system parameters in data storage system
US6718358B1 (en) * 2000-03-31 2004-04-06 International Business Machines Corporation System and method for generic automated tuning for performance management
US20020124007A1 (en) * 2001-03-02 2002-09-05 Wuhan P&S Electronics Company Ltd. Network server and database therein
US6836849B2 (en) * 2001-04-05 2004-12-28 International Business Machines Corporation Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements
US6662169B2 (en) 2001-04-12 2003-12-09 Ralph E. Rose Controlling the self learning behavior of an autonomous agent
US8326965B2 (en) * 2001-05-03 2012-12-04 Hewlett-Packard Development Company, L.P. Method and apparatus to extract the health of a service from a host machine
US7028225B2 (en) * 2001-09-25 2006-04-11 Path Communications, Inc. Application manager for monitoring and recovery of software based application processes
US6965886B2 (en) * 2001-11-01 2005-11-15 Actimize Ltd. System and method for analyzing and utilizing data, by executing complex analytical models in real time
US9184929B2 (en) * 2001-11-26 2015-11-10 Arris Enterprises, Inc. Network performance monitoring

Also Published As

Publication number Publication date
WO2003065211A1 (en) 2003-08-07
CN1552019A (zh) 2004-12-01
EP1470481A1 (en) 2004-10-27
CA2473652A1 (en) 2003-08-07
EP1470481A4 (en) 2008-02-20
JP3940399B2 (ja) 2007-07-04
CN1552019B (zh) 2010-05-26
KR20040084887A (ko) 2004-10-06
US20030144983A1 (en) 2003-07-31
US7120621B2 (en) 2006-10-10
JP2005516302A (ja) 2005-06-02
US20070016551A1 (en) 2007-01-18

Similar Documents

Publication Publication Date Title
KR100588032B1 (ko) 제너릭 적응 제어용 오브젝트-지향 프레임워크
US5729472A (en) Monitoring architecture
CN109347663B (zh) 一种OpenStack云平台中资源可视化编排方法
US7395320B2 (en) Providing automatic policy enforcement in a multi-computer service application
JP5068313B2 (ja) サービス・インフラストラクチャのオン・デマンド合成及び分解のための方法及び装置
CN103430150B (zh) 在云计算系统中创建资源的技术
TWI360323B (en) Computer-executable method of remote execution of
US9716746B2 (en) System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
US6732168B1 (en) Method and apparatus for use in specifying and insuring policies for management of computer networks
US20050177600A1 (en) Provisioning of services based on declarative descriptions of a resource structure of a service
CN108449350B (zh) 一种多协议编排方法及装置
EP1793529A1 (en) A method and system for configuring network devices through an operations support system interface
US20070297350A1 (en) Componentized Automatic Provisioning And Management Of Computing Environments For Computing Utilities
US20040181476A1 (en) Dynamic network resource brokering
JP5102543B2 (ja) 情報技術インフラストラクチャを動的にプロビジョニングするための方法
KR20040068120A (ko) 멀티 플랫폼 최적화 모델
EP1551129B1 (en) Generic interface for subscription management
WO2009082384A1 (en) Modelling computer based business process and simulating operation
US8468228B2 (en) System architecture method and computer program product for managing telecommunication networks
US20120259960A1 (en) Dynamic Self-Configuration of Heterogenous Monitoring Agent Networks
CN114143181B (zh) 一种意图驱动的空间信息网络编排系统及方法
KR20040070338A (ko) 시스템 전반의 최적화 통합 모델
Devarakonda et al. Policy-based autonomic storage allocation
KR20010110097A (ko) 작업흐름-관리-시스템에서의 보관 방법
Alansari et al. An architectural framework for enforcing energy management policies in cloud

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee