KR20040068120A - 멀티 플랫폼 최적화 모델 - Google Patents

멀티 플랫폼 최적화 모델 Download PDF

Info

Publication number
KR20040068120A
KR20040068120A KR10-2004-7005405A KR20047005405A KR20040068120A KR 20040068120 A KR20040068120 A KR 20040068120A KR 20047005405 A KR20047005405 A KR 20047005405A KR 20040068120 A KR20040068120 A KR 20040068120A
Authority
KR
South Korea
Prior art keywords
node
server
network
nodes
platforms
Prior art date
Application number
KR10-2004-7005405A
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 KR20040068120A publication Critical patent/KR20040068120A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • 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
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/022Multivendor or multi-standard integration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • H04L41/5012Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • 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/3409Recording 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 for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

하드웨어 및 소프트웨어의 여러 조합(즉, 플랫폼)을 갖는 다수의 서로 다른 장치를 사용하는 네트워크에 대한 최적화 시스템이 제공된다. 본 시스템은 이러한 네트워크의 성능을 정확하게 평가, 제어 및 최적화한다. 본 발명은 최적화 시스템의 여러가지 특징을 설치, 구성 및 동작시키는 효율적인 사용자 인터페이스를 제공한다. 지능 오브젝트(102, 104)는 각 서버 노드에서 시스템 프로세스를 동적으로 분석하기 위해 서버 노드 레벨에서 동작한다. 시스템 프로세스의 분석은 광범위한 것으로서, 하드웨어, 소프트웨어, 운영 시스템 및 통신을 포함한다. 한가지 특징은 오브젝트가 로컬 이용값을 나타내는 숫자를 발생할 수 있게 해준다. 로컬 이용값은 그 오브젝트를 호스팅하는 플랫폼에서의 하나 이상의 성능 인자의 측정치이다. 로컬 이용값은 제2 지능 오브젝트(102, 104)를 호스팅하는 다른 플랫폼으로 전달될 수 있다.

Description

멀티 플랫폼 최적화 모델{MULTI-PLATFORM OPTIMIZATION MODEL}
인터넷 등의 디지털 컴퓨터 네트워크는 현재 상업, 교육, 연구 및 오락의 많은 분야에서 널리 사용되고 있다. 대량의 트래픽을 처리할 필요가 있기 때문에, 많은 인터넷 사이트는 몇개 그룹의 서버 컴퓨터를 사용하여 설계되어 있다. 사이트 네트워크 시스템의 일례가 도 1에 도시되어 있다.
도 1에서, n-계층 시스템(10)은 4개의 주요 계층(major tier)을 포함한다. 이들은 통신 계층(12), 웹 계층(14), 애플리케이션 계층(16) 및 데이터베이스 계층(18)이다. 각 계층은 한 그룹의 서버 컴퓨터, 또는 다른 처리 시스템, 저장 시스템이나 통신 시스템 사이의 인터페이스를 나타낸다. 각 인터페이스는 2개의 서버 컴퓨터 그룹 사이의 통신을 처리한다. 유의할 점은 계층들이 서버 컴퓨터 그룹 간의 정보의 전송에 관한 통신 프로토콜, 라우팅, 트래픽 제어 및 다른 특징을 나타낸다는 점에서 이 계층들이 중요하다는 것이다. 당업계에 공지된 바와 같이, 각 계층에 의해 표현되는 통신 기능을 수행하기 위해 소프트웨어 및 하드웨어가 사용된다.
서버 컴퓨터는 도면 부호 20과 같은 박스로 도시되어 있다. 데이터베이스(22) 및 인터넷(24)은 도식적으로 표현되어 있으며, 임의의 수의 서버, 처리 시스템 또는 다른 장치를 포함할 수 있다. 그룹들 간의 계층에 의해 정의되고 제어되는 바와 같이, 한 그룹 내의 서버는 일반적으로 인접한 그룹 내의 하나 이상의 컴퓨터와 통신한다. 예를 들어, 정보(예를 들면, 데이터베이스로부터의 레코드)에 대한 요청은 인터넷으로부터 수신되어, 웹-Com 서버 그룹 내의 서버 컴퓨터(26)로 보내진다. 통신은 통신 계층(12)에서 행해진다.
서버 컴퓨터(26)는 컴퓨터(20, 28, 30) 등의 애플리케이션 서버 그룹 내의다수의 컴퓨터에 의한 처리를 요구할 수 있다. 이러한 처리 요청은 웹 계층(14)을 거쳐 전송된다. 그 다음에, 애플리케이션 서버 그룹 내의 요청받은 컴퓨터는 애플리케이션 계층(16)을 거쳐 데이터베이스 서버 그룹 내의 컴퓨터(32, 34, 36, 38)를 호출할 수 있다. 마지막으로, 호출된 컴퓨터는 데이터베이스 계층(18)을 거쳐 데이터베이스(22)에 요청을 한다. 정보 요청을 완수하기 위해, 반환된 레코드는 다시 계층 및 서버를 통해 인터넷(24)으로 전파된다.
오늘날의 대규모의 복잡한 네트워크 시스템에서 특히 중요한 것은 시스템의 성능 모니터링 및 최적화이다. 효율적인 모니터링 정보를 제공하는 작업은 네트워크가 다수의 서로 다른 하드웨어 및 소프트웨어 세트(즉, 플랫폼)를 사용하는 경우 아주 어려워진다. 예를 들어, 데이터베이스 서버(32)는 마이크로소프트의 NT 운영 체제 하에서 마이크로소프트의 액세스 데이터베이스를 실행하는 인텔 상표의 프로세서일 수 있다. 데이터베이스 서버(34)는 오라클 데이터베이스를 실행하는 썬 플랫폼일 수 있다. 애플리케이션 서버는 인텔/마이크로소프트, 유닉스 또는 다른 플랫폼을 포함할 수 있다. 이와 유사하게, 웹 페이지 서버는 다수의 플랫폼 중 어느 것이라도 될 수 있다. 일반적으로, 임의의 플랫폼, 또는 하드웨어와 소프트웨어의 다른 조합(운영 체제, 애플리케이션 프로그램, 애플릿, 플러그-인, 동적 링크 라이브러리, 루틴 또는 다른 프로세스를 포함함)은 네트워크 시스템 내의 어느 지점에서라도 사용될 수 있다.
성능 및 자원 이용 특성을 획득하여 분석하는 것은 멀티 플랫폼 네트워크에서는 아주 어렵다. 이것은 성능 및 이용 파라미터가 다른 플랫폼에서의 다른 환경에서 동일한 의미를 갖지 않기 때문이다.
따라서, 종래 기술을 바탕으로 개선된 시스템을 제공하는 것이 바람직하다.
우선권 주장
본 출원은 2000년 10월 26일자로 출원된 미국 가특허출원 제60/243,783호의 우선권을 주장한다.
관련 출원의 상호 참조
본 출원은 이하의 동시 계류 중인 출원들, 즉 2001년 10월 12일자로 출원된 발명의 명칭이 "시스템 전반의 최적화 통합 모델(System-Wide Optimization Integration Model)(020897-000110US)인 미국 특허 출원 제09/976,368호, 2001년 10월 26일자로 출원된 발명의 명칭이 "전체 시스템 자원 분석 및 진단(Aggregate System Resource Analysis and Diagnostics)"(020897-000130US)인 미국 특허 출원 제10/040,012호, 및 2001년 10월 26일자로 출원된 발명의 명칭이 "이기종 운영 체제에 걸친 자율 노드 및 네트워크 분석에 기초한 상관 매트릭스(Correlation Matrix-Based on Autonomous Node and Net Analysis Over Disparate Operating Systems)"(020897-000140US)인 미국 특허 출원 제10/055,404호에 관한 것으로서, 그 각각은 인용함으로써 그 전체 내용이 본 출원에 포함된다.
도 1은 종래 기술의 n-계층 시스템을 나타낸 도면.
도 2a는 본 발명에서의 지능 오브젝트 및 성능값 전달을 나타낸 도면.
도 2b는 본 발명의 구조적 컴포넌트를 나타낸 도면.
도 2c는 다수의 플랫폼을 갖는 네트워크 시스템을 나타낸 도면.
도 3a는 노드 자원 풀(Node Resource Pool, NRP)을 셋업하기 위한 사용자 인터페이스 디스플레이를 나타낸 도면.
도 3b는 사용자가 특정의 노드를 부가한 경우의 사용자 인터페이스를 나타낸 도면.
도 3c는 지능 오브젝트의 표현을 나타낸 도면.
도 3d는 NRP 내의 노드를 기능 자원 풀(Functional Resource Pool, FRP)로 추가 구성한 것을 나타낸 도면.
도 3e는 NRP, FRP 및 노드 사이의 연결 및 데이터 흐름의 설정을 나타낸 도면.
도 3f는 FRP1과 FRP2 사이에 이루어진 연결을 나타낸 도면.
도 3g는 서브네트워크를 나타낸 도면.
도 3h는 사용자가 DASPO를 셋업할 수 있게 해주는 사용자 인터페이스 디스플레이의 스크린샷을 나타낸 도면.
도 4a는 노드 리스트 콘솔을 나타낸 도면.
도 4b는 그래픽 뷰 콘솔을 나타낸 도면.
도 4c는 모니터 콘솔을 나타낸 도면.
도 4d는 모니터 콘솔의 시리즈 그래프를 나타낸 도면.
도 4e는 모니터 콘솔의 밸런스 그래프를 나타낸 도면.
도 4f는 이력 모니터를 나타낸 도면.
도 5a는 리디렉터 배포 및 설치 윈도우를 나타낸 도면.
도 5b는 리디렉터의 원격 셋업 윈도우를 나타낸 도면.
도 5c는 파일 전송 프로토콜 탭에 대한 파일 전송 설정을 나타낸 도면.
도 5d는 리디렉터 파일이 전송되는 곳인 목적지 폴더를 나타낸 도면.
도 5e는 파일을 전송하기 위해 공유된 네트워크 드라이브를 사용할 때 지정되는 목적지 폴더를 나타낸 도면.
도 5f는 텔넷 프로토콜을 사용하여 원격 셋업을 시작하는 것과 관련한 대화 상자를 나타낸 도면.
도 5g는 리디렉터를 준비하기 위한 사용자 인터페이스의 일부를 나타낸 도면.
도 5h는 HTTP 리디렉터 구성 화면을 나타낸 도면.
도 5i는 연결 생성 대화 상자를 나타낸 도면.
도 5j는 데이터 링크 파일 로드 대화 상자를 나타낸 도면.
도 5k는 데이터 링크 프로퍼티 윈도우를 나타낸 도면.
도 5l은 확인 대화 상자를 나타낸 도면.
도 5m은 보안 설정된 경우의 확인 대화 상자를 나타낸 도면.
도 5n은 SLO 배포 및 설치 윈도우를 나타낸 도면.
도 5o는 원격 SLO 셋업 윈도우를 나타낸 도면.
도 5p는 전송 및 원격 실행 기능에 대한 콘트롤 및 파라미터를 지정하는 제1예시를 나타낸 도면.
도 5q는 전송 및 원격 실행 기능에 대한 콘트롤 및 파라미터를 지정하는 제2예시를 나타낸 도면.
도 5r은 전송 및 원격 실행 기능에 대한 콘트롤 및 파라미터를 지정하는 제3예시를 나타낸 도면.
도 5s는 전송 및 원격 실행 기능에 대한 콘트롤 및 파라미터를 지정하는 제4예시를 나타낸 도면.
일 실시예에서, 본 발명은 하드웨어 및 소프트웨어의 여러 조합(즉, 플랫폼)을 갖는 다수의 서로 다른 장치를 사용하는 네트워크에 대한 최적화 시스템을 제공한다.
이 시스템은 이러한 네트워크의 성능을 정확하게 평가, 제어 및 최적화한다. 본 발명은 최적화 시스템의 여러가지 특징을 설치, 구성 및 동작하기 위한 효율적인 사용자 인터페이스를 제공한다. 지능 오브젝트는 각 서버 노드에서 시스템 프로세스를 동적으로 분석하기 위해 서버 노드 레벨에서 동작을 한다. 시스템 프로세스의 분석은 광범위한 것으로서, 하드웨어, 소프트웨어, 운영 체제 및 통신을 포함한다.
한가지 특징은 오브젝트가 로컬 이용값을 나타내는 숫자를 발생할 수 있게 해준다. 로컬 이용값은 그 오브젝트를 호스팅하는 플랫폼에서의 하나 이상의 성능 인자의 측정치이다. 로컬 이용값은 제2 지능 오브젝트를 호스팅하는 다른 플랫폼으로 전달될 수 있다. 제2 지능 오브젝트는 그 자신의 로컬 이용값을 발생하거나 그의 로컬 이용값을 전달된 값과 합성하여 양쪽 플랫폼의 성능을 반영하는 합성 이용값을 생성할 수 있다. 서로 다른 값이 서로 다른 플랫폼으로부터 온 것인 경우, 본 시스템은 합성값을 얻기 위해 그 값들을 분해, 조정 또는 정규화한다.
일 실시예에서, 본 발명은 디지털 네트워크화된 시스템의 성능을 모니터링하는 방법으로서, 상기 시스템은 제1 및 제2 플랫폼을 포함하는 것인 방법을 제공한다. 본 방법은 제1 플랫폼의 동작의 특성을 나타내는 제1 값을 발생하는 단계, 상기 제1 값을 제2 플랫폼으로 전송하는 단계, 상기 제2 플랫폼의 동작의 특성을 나타내는 제2 값을 획득하는 단계, 및 상기 제1 및 제2 플랫폼 간의 동작 특성의 차를 설명하기 위해 상기 제1 또는 제2 값 중 하나를 조정함으로써 상기 제1 및 제2 값을 합성값으로 합성하는 단계를 포함한다.
본 발명의 양호한 실시예는 "Metilinx iSystem Enterprise" 시스템이라고 하는 제품군으로서 MetiLinx, Inc.에 의해 작성되어 배포된 제품, 문서, 및 다른 시스템 및 자료에 포함되어 있다. Metilinx 시스템은 디지털 네트워크, 특히 기술 지원 센터, 웹 페이지 서버, 데이터베이스 액세스 등과 같은 대규모 인터넷 응용 분야에서 다수의 컴퓨터 서버의 네트워크를 최적화하도록 설계되어 있다.
본 발명의 시스템은 네트워크 내의 각종의 서버, 컴퓨터 또는 다른 처리 플랫폼 상에서 실행되는 "지능 오브젝트(Intelligence Object, IO)"라고 하는 소프트웨어 메카니즘을 사용한다. 지능 오브젝트는 프로세스 또는 프로세스들, 하드웨어 동작, 자원 사용, 또는 네트워크 성능에 영향을 주는 다른 인자에 관한 정보를 획득하는 데 사용된다. 대부분의 네트워크의 성능을 나타내는 합성값(a composite value)이 도출될 수 있도록 지능 오브젝트들 사이에서 값들이 전달된다.
도 2a는 지능 오브젝트 및 값 전달을 나타낸 것이다. 도 2a에서, 도면 부호 102 및 104와 같은 지능 오브젝트는 컴퓨터 서버에 상주한다. 임의의 수의 지능 오브젝트가 서버 컴퓨터에 상주할 수 있으며, n-계층 시스템 내의 임의의 수의 서버 컴퓨터에는 하나 이상의 지능 오브젝트가 설치되어 있을 수 있다. 제1 유형의 지능 오브젝트는 그의 호스트 컴퓨터 서버에서 동작하는 다른 프로세스 또는 하드웨어의 하나 이상의 특성을 모니터링하여 그에 관한 보고를 할 수 있는 시스템 레벨 오브젝트(system level object, SLO)라고 하는 소프트웨어 프로세스이다. 트랜잭션 레벨 오브젝트(transaction level object, TLO)라고 하는 제2 유형의 지능 오브젝트는 그의 호스트 컴퓨터 또는 호스트 컴퓨터 내에서 실행되는 프로세스들에 관련하여 트랜잭션 부하를 모니터링하도록 설계되어 있다.
일 실시예에서, IO(102)는 그의 호스트 컴퓨터의 성능 특성을 측정하여 그 특성을 이진값으로 표현한다. 이 값은 호스트 컴퓨터만에 대한 측정치, 즉 호스트컴퓨터에 관한 트랜잭션 정보에 대한 측정치이기 때문에, 이 값을 "로컬" 이용값(local utilization value)이라고 한다. 로컬 이용값은 IO(104)으로 전달된다. IO(104)는 그 자신의 호스트 컴퓨터에 대한 측정치를 포함하도록 전달된 값을 수정할 수 있다. 수정된 값은 "합성" 이용값(composite utilization value)이라고 한다. 합성 이용값은 측정치를 계속하여 누적 또는 부가해가는 다른 지능 오브젝트로 차례로 전달될 수 있으며, 따라서 다수의 컴퓨터, 계층, 운영 체제, 애플리케이션 등에 걸친 성능이 얻어지게 된다.
궁극적으로, 이용값, 또는 이용값들은 합성된 측정치의 결과를 사람 사용자에게 디스플레이하거나, 그 결과를 사용하여 다른 결과를 도출하거나, 그 결과를 사용하여 n-계층 시스템의 최적화를 자동화하거나, 또는 그 결과를 다른 목적으로 사용할 수 있는 다른 프로세스로 전달된다. 본 발명의 일 태양은 네트워크 성능을 개선 또는 최적화하기 위해 컴퓨터 또는 노드의 평가된 이용값에 기초한 네트워크 상에서의 상호 연결 및 프로세스의 리디렉션에 대한 것이다. 리디렉션을 수행하는 프로세스는 "프로세스 리디렉션 오브젝트(process redirection object)"(PROSE)라고 한다.
유의할 점은 본 발명이 때로는 임의의 구성의 서버, 컴퓨터, 디지털 프로세서 등의 가능한 다중 계층 서버 구성에 관해 기술되고 있다는 것이다. 용어 "처리 장치"는 데이터에 어떤 기능을 수행할 수 있는 임의의 하드웨어를 말하는 데 사용된다. 처리 장치에는 서버, 컴퓨터, 디지털 프로세서, 저장 장치, 네트워크 장치, 입/출력 장치 등이 있다. 네트워크는 처리 장치의 다중 계층 구성으로 되어 있을필요는 없지만 임의의 구성, 토폴로지, 상호 연결 등을 사용할 수 있다. 임의의 유형의 물리적 또는 논리적 네트워크 구성이 본 발명과 함께 사용하기 위해 구성될 수 있다.
도 2b는 본 발명의 보다 구체적인 컴포넌트의 가능한 구성 중 하나를 나타낸 것이다. 유의할 점은 본 명세서에서 사용되는 용어 "컴포넌트"가 디지털 프로세서 또는 시스템 내에 존재하거나 또는 그에 의해 실행될 수 있는 임의의 유형의 처리 장치, 하드웨어 또는 소프트웨어를 포함한다는 것이다.
거의 모든 유형의 네트워크 시스템과 함께, 도 1, 도 2a 및 도 2b에 도시된 것과 같은 시스템은 IO를 구비할 수 있다. 양호한 실시예에서, IO는 네트워크 내의 각 서버에 분산형 피어-투-피어 구조(distributed peer-to-peer architecture)로 설치되어 있다. 이하에 기술하는 통합 소프트웨어(aggregation software)와 함께, IO는 네트워크의 거동 및 성능의 전체 측정치를 얻기 위해 서버 컴포넌트, 자원 등의 실시간 거동을 측정한다. 양호한 실시예는 상기한 관련 출원에 기술된 시스템 규모 모델(system-wide model)을 사용하여 네트워크 컴포넌트를 평가하여 통합한다.
양호한 실시예는 CPU 이용, 네트워크 이용, 지연 시간 등과 같은 저레벨 시스템 및 네트워크 파라미터에 관한 데이터를 수집한다. 데이터는 4-바이트의 작은 값으로 생성되어 공유된다. 관리자에 의해 설정되거나 시스템에 의해 자동적으로 구성된 계층 구조에서, 한 값은 다른 값들과 합성되어 합성값을 획득하게 된다. 합성값은 이어서 계층 구조를 따라 전달되어 추가의 합성값을 획득하는 데 사용되고,따라서 궁극적으로 전체 시스템 성능이 합성값으로 제공된다.
노드별로 유지되고 있는 합성값을 사용하는 것에 있어서의 문제점은 네트워크가 시스템의 서로 다른 지점에서 다수의 서로 다른 하드웨어 및 소프트웨어 컴포넌트를 가질 수 있다는 것이다. 일반적으로, 소프트웨어를 실행시키는 하드웨어를 운영 체제 소프트웨어와 결합하여 "플랫폼"이라고 한다. 본 출원의 목적상, "플랫폼"은 본 발명의 노드를 포함한 다른 소프트웨어 또는 프로세스가 실행될 수 있게 하는 데 사용되는 하드웨어 및 소프트웨어의 임의의 조합, 또는 그의 일부를 말한다. 이 점에서, 임의의 주어진 플랫폼은 프로세스가 종료되고 시작하며, 하드웨어가 재구성되는 등에 따라 시간의 경과에 따라 빈번하게 변할 수 있다.
도 2c는 다수의 플랫폼을 갖는 네트워크 시스템을 나타낸 것이다.
도 2c에서, 네트워크 시스템(150)은 블록으로 도시한 서버 컴퓨터를 비롯한 여러가지 컴포넌트를 포함한다. 각 서버 컴퓨터는 서로 다른 수 및 유형의 중앙 처리 장치(CPU), 서로 다른 양 및 유형의 메모리, 아키텍처, 주변 장치 등의 서로 다른 하드웨어를 사용할 수 있다.
서로 다른 소프트웨어도 사용될 수 있다. 예를 들어, 서버(152)는 윈도즈 2000 운영 체제를 실행하는 반면, 서버(154)는 윈도즈 NT를 실행하고 서버(156)는 리눅스를 실행한다. 다른 서버는 다른 애플리케이션 프로그램 및 운영 체제를 실행하는 것으로 도시되어 있다. 당연히, 임의의 수 및 유형의 하드웨어 및 소프트웨어가 이용될 수 있다. 게다가, 네트워크 구성은 도 2c에 도시한 것과 크게 다를 수 있다. 일반적으로, 임의의 네트워크 구성이 본 발명에서 사용될 수 있다.
동일한 의미를 전달하기 위한 값이 사실은 다른 플랫폼과 관련하여 서로 다른 의미를 가질 수 있다. 예를 들어, 프로세서 속도, 초당 명령어, 인터럽트, 입/출력 동작, 쓰레드의 수 및 우선순위, 포크된 프로세스(forked process)의 수 및 유형, 메모리 관리, 블록 할당 등은 측정되거나 보고되는 플랫폼에 따라 서로 다른 유효 의미를 갖는다. 따라서, 서로 다른 플랫폼과 관련하여 값을 조정, 분해, 정규화 또는 균일화하여 그 값들이 이하에 기술하는 바와 같이 보다 효율적인 보고 및 모니터링을 위해 결합 또는 합성될 수 있게 하는 것이 중요하다.
예를 들어, 누적되는 한가지 파라미터가 시간에 따라 운영 체제에 의해 할당되는 블록의 수이다. 이 파라미터는 시스템 내의 컴포넌트 또는 플랫폼의 메모리 이용을 반영하기 때문에 중요하다. 그렇지만, 서로 다른 운영 체제는 서로 다른 크기의 블록을 사용할 수 있으며, 따라서 단지 블록의 수만을 추적하는 것은 부정확한 결과를 제공하게 된다. 블록 할당 파라미터의 모순된 비교 및 사용을 가져오는 다른 인자로는 시스템에서 이용가능한 블록의 수, 블록 할당을 수행함에 있어서 관련된 오버헤드(예를 들어, 프로세서 사이클, 메모리 등) 등이 있다.
본 발명의 일 실시예는 예를 들면 서로 다른 플랫폼에 대한 메모리 블록 크기를 저장한다. 플랫폼으로부터 블록 할당 파라미터가 (예를 들어, 이하에 기술하는 LNV 또는 CNV의 일부로서) 수신될 때, 그 파라미터는 블록 크기에 따라 조정된다. 예를 들어, 블록 크기가 파라미터를 수신하는 노드를 실행하는 플랫폼에서의 블록 크기의 1/2인 플랫폼으로부터 블록 할당 파라미터가 온 것인 경우, 그 노드는 2개의 플랫폼 사이의 차를 설명하기 위해 2배만큼 파라미터를 조정한다. 이와 같이, 이하에 기술하는 이점을 달성하기 위해 파라미터값은 결합 또는 합성될 수 있다.
본 명세서에 기술된 바와 같이 IO 및 다른 모니터링, 분석 및 최적화 도구를 사용하여 셋업된 네트워크를 DASPO(Dynamic Aggregate System Process Optimization, 전체 시스템 프로세스 동적 최적화) 네트워크라고 한다. 네트워크의 개선 또는 최적화를 달성하기 위해 DASPO를 동작시키는 3개의 기본적인 단계가 있다. 이들 단계는 (1) 셋업, (2) 분석, 및 (3) 최적화이다. 양호한 실시예에서, 본 발명의 시스템은 사람 사용자가 개별 단계에 참여할 수 있도록 콘솔 인터페이스를 비롯한 여러가지 사용자 도구를 제공한다. 그렇지만, 개별 단계를 여러 등급으로 자동화하는 것에도 대비하고 있다.
3개의 단계의 동작 및 구현은 본 발명에 의해 사용되는 시스템 규모 모델에 크게 의존하고 있다. 시스템 규모 모델에 대해서는 3개의 단계 및 3개의 단계를 제어하기 위한 사용자 인터페이스와 연계하여 이하에서 기술한다.
셋업
DASPO 네트워크를 셋업하는 데는 다음과 같이 5개의 기본적인 단계, 즉
노드 자원 풀(NRP)을 정의하는 단계,
노드를 부가하는 단계,
선택된 노드 상에 지능 오브젝트를 설치하는 단계,
기능 자원 풀(FRP)을 정의하는 단계, 및
연결 및 데이터 흐름을 설정하는 단계가 있다.
도 3a는 노드 자원 풀을 셋업하기 위한 사용자 인터페이스 디스플레이를 나타낸 것이다. 도 3a에서, 노드 풀은 라벨을 갖는 타원으로 표시되어 있다. NRP는 노드를 구조별로 그룹화하는 데 사용된다. NRP는 도 1a 및 도 1b의 계층 설명 방식(tier illustration approach) 대신에 사용된다. NRP는 계층 구조의 등가물을 생성하는 데 사용되거나 다른 구조의 노드를 생성하는 데 사용될 수 있다. 도 3a는 웹 서버 풀 및 데이터 서버 풀을 나타내고 있다. 애플리케이션 서버 풀 또는 다른 사용자 정의 풀을 생성하여 그에 라벨을 붙일 수 있다. 임의의 수의 풀이 정의될 수 있다.
도 3b는 사용자가 특정의 노드를 정의된 NRP에 부가한 경우의 사용자 인터페이스를 나타낸 것이다. 노드는 기존의 도메인으로부터 노드를 개별적으로 선택하거나 특정의 인터넷 프로토콜(IP) 주소를 제공함으로써 부가될 수 있다. 본 발명의 양호한 실시예는 머신 또는 IP 주소 등의 표준 인터넷 관례를 따르는 노드를 사용한다. 그렇지만, 다른 실시예들은 노드를 정의하기 위해 다른 프로토콜, 표준 등을 사용할 수 있다. 노드 이름은 도 3b에 도시한 바와 같이 일반적인 것이거나 사용자에 의해 고유의 이름을 부여받거나 자동적으로 할당받을 수 있다. 당연히, 임의의 수 및 유형의 노드가 풀에 할당될 수 있다. 풀/노드 계층 구조는 친숙한 파일 관리 시스템에서와 대체로 유사하게 디스플레이되고 조작된다.
도 3c는 지능 오브젝트(IO)의 표현을 나타낸 것이다. IO는 노드를 사용하여 정의되며 그와 연관되어 있다. 양호한 실시예에서 2가지 유형의 IO가 제공된다. 시스템 레벨 오브젝트(SLO)와 트랜잭션 레벨 오브젝트(TLO)가 있다. 각 IO는 일반적으로 설명적 텍스트의 왼쪽에 있는 아이콘에 의해 식별된다. 이 아이콘은 IO가 대응하는 노드에 인접하여 위치한다. 동작 중에, IO는 노드에 있는 컴포넌트의 동작 및 자원 사용에 관한 정보를 수집한다.
SLO는 풀로 그룹화될 수 있다. 양호한 실시예는 2가지 유형의 풀, 즉 (1) 유사한 기능을 갖는 노드끼리 그룹화되도록 공통된 애플리케이션을 지원하는 노드에 대한 SLO를 구성하기 위한 기능 자원 풀(Functional Resource Pool), 및 (2) 공통된 서비스를 제공하는 노드에 대한 FRP 및 SLO를 구성하기 위한 노드 자원 풀(Node Resource Pool)을 제공한다. 풀과 노드 사이의 링크는 기능적 관계가 존재하는 곳을 나타낸다. NRP 및 FRP는 시스템 프로세스 흐름을 제공하고 최적화 계산을 위한 서브 네트워크를 정의하기 위해 서로 링크되어 있다.
도 3d는 NRP 내의 노드를 기능 자원 풀로 구성하는 것을 나타낸 것이다.
NRP가 작성되고 노드가 할당되면, NRP는 기능 자원 풀(FRP)로 추가로 세분될 수 있다. FRP는 노드가 FRP에 할당된 특정의 역할에 따라 그룹화될 수 있게 함으로써 노드 기능의 세밀한 구별을 제공한다(즉, 관리자 로그인 서버, 직원 로그인 서버 등). 도 3d에 도시된 바와 같이 NRP 내부에 하나 이상의 FRP가 작성될 수 있다. 양호한 실시예에서, SLO 및 TLO 노드만이 FRP에 속할 수 있다.
도 3e는 NRP, FRP 및 노드 사이의 연결 및 데이터 흐름의 설정을 나타낸 것이다.
네트워크를 구성함에 있어서 중요한 단계는 트랜잭션이 시스템을 통과할 때 트랜잭션이 택하게 될 루트를 결정하는 단계를 포함한다. 풀과 노드가 서로 링크되는 방식에 의해 루트가 결정된다. 링크가 정의될 수 있는 레벨에는 다음과 같이 3가지 서로 다른 레벨이 있다.
a. 노드 자원 풀에서 노드 자원 풀로의 링크
b. 기능 자원 풀에서 기능 자원 풀로의 링크
c. 노드에서 노드로의 링크
DASPO 네트워크에서, NRP는 최하위 세부 레벨(lowest level of detail)을 나타내고, 노드는 최상위 레벨을 나타낸다. 상위 세부 레벨에서 이루어진 연결은 하위 레벨에서 이루어진 연결보다 우세하게 된다. 링크되어 있다는 것은 또한 어떤 중요한 의미를 갖는다. 예를 들어, 도 3e에 도시되어 있는 바와 같이, 2개의 NRP가 링크되어 있는 경우, 2개의 풀 내의 모든 FRP와 모든 노드가 연결되어 있는 것으로 추정된다.
서로 다른 레벨에서 연결이 이루어질 수 있게 함으로써 네트워크 관리가 단순화된다. 상위 레벨 연결이 하위 레벨 연결을 자동적으로 정의하기 때문에 초기 네트워크 트랜잭션 프로세스 흐름을 설정할 때 초기 연결이 신속하고 단순하게 이루어질 수 있다. 예를 들어, 풀에서 풀로의 연결은 연결된 풀 내의 FRP 및 노드와 관련하여 하위 FRP 및 노드 연결을 자동적으로 정의한다. 더 많은 네트워크 미세 조정이 필요하게 됨에 따라, 보다 세부적인 레벨에서의 초기의 링크 세트의 세밀한 구별이 가능하게 된다(즉, 노드에서 노드).
네트워크 연결을 정의하면 그 결과 DASPO 서브 네트워크가 생성된다. DASPO 서브 네트워크는 기능 자원 풀을 거쳐 서로 링크되어 있는 노드들 간에 정의된 특정의 관계이다. 서브 네트워크는 물리적 또는 논리적 네트워크 구성과 상관 관계를 가질 수 있지만 꼭 그럴 필요는 없다. 예를 들어, 서브 네트워크는 3개의 서브 네트워크 각각이 웹 계층, 애플리케이션 계층 및 데이터베이스 계층에 대응하는 전술한 다중 계층 설계를 따를 수 있다. 서브 네트워킹의 개념은 이상적인 시스템 최적화를 계산해낼 때 사용자가 네트워크를 통한 트랜잭션 흐름을 유연성있게 정의할 수 있도록 해준다.
도 3f는 FRP1과 FRP2 사이에 이루어지는 연결을 나타낸 것이다. 이것은 FRP와 관련된 노드들 사이에 서브 네트워크를 생성한다. 도 3g에 도시한 바와 같이 "A" 노드로부터의 서브 네트워크가 존재한다. "A" 서브 네트워크는 FRP2로부터의 노드 B와 노드 C를 포함한다.
노드들이 기능 자원 풀 내에 함께 그룹화되어 있을 때, 그 노드들의 SLO 및 TLO는 로컬 노드값(Local Node Value, LNV) 및 다른 지능 오브젝트 정보를 서로에게 전달한다. 이러한 통신의 결과로서, 각 노드는 그의 FRP 내의 다른 모드 노드의 값을 알고 있으며, 질의를 받으면 최상의 노드(Best Node)를 식별할 수 있다. 최상의 노드는 주어진 순간에 시스템 트랜잭션을 최고의 효율로 처리할 수 있는 특정의 FRP 내의 서버로서 정의된다. 값 포맷, 값 전달, 합성값 및 값의 다른 사용에 대한 상세한 설명은 앞서 인용한 관련 특허 출원 (3)에서 찾아볼 수 있다.
제1 노드의 LNV로부터와 서브 네트워크 내의 제1 노드와 관련된 다른 노드의 LNV로부터, 합성 노드값(Composite Node Value, CNV)이 계산된다. 본 발명의 양호한 실시예에서는 제1 노드와 관련된 서브 네트워크 내의 모든 노드의 LNV 및 CNV의기여분에 등급을 매기기 위해 정규화된 가중치를 사용한다. 양호한 실시예에서는 전달된 CNV 및/또는 LNV 값들이 서로 다른 노드에 전달될 때 그 값을 수정하기 위해 네트워크 지연 시간을 고려에 넣는다.
양호한 실시예의 한 특징은 노드들이 CNV 및 LNV 형태의 데이터를 수집하고, 그 데이터는 모니터링 및 제어를 위해 사람 사용자가 조작 또는 액세스할 수 있는 중앙 콘솔, 즉 컴퓨터 시스템에 의해 누적된다는 것이다. 이 방법에 의해 관리자는 네트워크 시스템의 개별적인 특징들을 모니터링, 로깅, 분석, 조정 및 최적화할 수 있게 된다. 네트워크의 과거의 성능, 최근의 성능, 및 현재의 성능이 제공된다. 네트워크는 최상의 이용가능한 자원, 노드, 또는 다른 컴포넌트로 데이터 전송을 리디렉션하기 위해 측정된 파라미터에 따라 동작하도록 콘솔(또는 다른 시스템이나 프로세스)에 의해 자동적으로 지시를 받을 수 있다. 중앙 콘솔로의 값 수집을 이러한 분산 계층 구조의 피어-투-피어(distributed, hierarchical, peer-to-peer value gathering) 방식으로 행하는 방법은 효율적이고 정확한 시스템 관리를 제공한다.
DASPO 서브 네트워크가 생성될 때, FRP 프로세스는 임의의 시점에서 이용하기 위한 최상의 노드에 관한 정보를 가지고 있다. "최상의 노드"는 반드시 가장 적게 이용된 노드일 필요는 없다. 시스템 성능에 대한 전체적인 개요를 제공함으로써, FRP 프로세스는 그 노드로 라우팅될 경우 전체적인 시스템 성능 향상을 제공하게 될 그러한 노드를 결정할 수 있다. 이와 마찬가지로, FRP는 FRP의 서브 네트워크에서 라우팅 또는 다른 사용을 위한 최상의 노드를 알고 있으며, 따라서 재라우팅 결정(rerouting decision)을 보다 신속하게 할 수 있으며 자원 이용이 개선될 수 있다.
도 3h는 사용자가 DASPO를 셋업할 수 있게 해주는 사용자 인터페이스 디스플레이의 스크린샷을 나타낸 것이다.
도 3h에서, 서브 네트워크를 형성하기 위해 상호 연결된 풀, FRP 및 SLO의 사용을 포함한 전술한 특징들이 도시되어 있다. 영역(120)은 서브 네트워크를 셋업하는 데 사용된다. 영역(122)은 상호 연결을 정의하는 데 사용된다. 영역(124)은 오브젝트에 관한 상세를 제공하고 사용자가 사용하기 위한 오브젝트를 용이하게 선택할 수 있도록 하는 데 사용된다.
분석
분석은 모니터링 및 관리 기능을 포함한다. 사용자는 시스템 컴포넌트, 전송 등의 성능을 나타내는 노드 데이터 수집의 결과를 볼 수 있다. 설정(configuration)의 저장 및 수정, 이벤트의 스케쥴링 등의 여러가지 관리 기능이 수행될 수 있다.
4개의 콘솔, 즉 기본적인 유형의 인터페이스는 네트워크 최적화를 지시하고 운영을 관리하는 데 도움을 주기 위해 사용된다. 콘솔에는 다음과 같은 것이 있다.
1. 노드 리스트(Node Listing) 콘솔
2. 그래픽 뷰(Graphic View) 콘솔
3. 모니터(Monitor) 콘솔
4. 이력 모니터(History Monitor) 콘솔
도 4a는 노드 리스트 콘솔을 나타낸 것이다.
노드 리스트 콘솔은 현재 로드된 네트워크 설정의 일부인 모든 네트워크 노드의 리스트는 물론 이들 노드의 현재의 상태를 제공한다. 이 콘솔은 또한 사용자 액세스가 관리될 수 있고, 서로 다른 네트워크 설정이 저장 및 로드될 수 있으며, 백업이 개시될 수 있고, 또 리디렉터 및 시스템 레벨 오브젝트(SLO)에 대한 마법사, 즉 자동화된 보조 도구가 기동될 수 있는 장소이기도 하다.
도 4b는 그래픽 뷰 콘솔을 나타낸 것이다.
그래픽 뷰 콘솔은 사용자가 사용하기 용이한 그래픽 사용자 인터페이스에서 DASPO 네트워크 내의 여러가지 노드, 풀, 및 연결을 시각적으로 식별하여 조작할 수 있게 해준다.
도 4c는 모니터 콘솔을 나타낸 것이다. 모니터 콘솔은 노드 성능의 평가를 돕기 위해 DASPO 네트워크 내의 선택된 노드의 이용가능한 처리 용량을 측정하는 실시간 추적 특징이다. 노드 정보는 간단한 그래프 또는 바 포맷으로 디스플레이되고, 데이터는 장래의 참조를 위해 추적 및 저장될 수 있다.
모니터 콘솔은 정보의 시각적 표현을 위해 몇가지 서로 다른 그래프를 제공할 수 있다.
도 4d는 모니터 콘솔의 시리즈 그래프(series graph)를 나타낸 것이다.
시리즈 그래프에서, 선택된 SLO 및 TLO 노드는 주어진 순간에 각 노드에 대한 0에서 100까지의 통계값과 함께 나타난다. 통계값은 그 노드의 현재의 부하 용량을 반영한다. 값이 높을수록, 더 많은 처리 용량이 이용가능하다. 보다 낮은 값은 낮은 처리 용량을 갖는 과부하된 노드를 나타낸다.
모니터링될 것으로 선택된 호스트 노드는 호스트 그래프에 나타난다. 이 그래프는 시리즈 그래프와 동일한 일을 한다.
퍼센트 그래프는 동일한 그래프 상에서 SLO, TLO 및 호스트 노드의 통계값을 모두 측정한다. 이 그래프는 시리즈 그래프 및 호스트 그래프와 유사한 일을 한다.
도 4e는 모니터 콘솔의 밸런스 그래프(balance graph)를 나타낸 것이다.
밸런스 그래프에서, 노드 사이의 통계적 차이가 도시되어 있다. 디스플레이될 수 있는 여러 유형의 차이의 일례로는 평균, 분산, 최대, 최소 등이 있다. 이들 분산은 하나 이상의 바 그래프 상에 시각적으로 도시된다. 이용가능한 밸런스 변수의 리스트가 사용자에 의해 선택되어 적용될 수 있다. 이 그래프는 iSystem Enterprise 모니터에서 시리즈 및 호스트 그래프 아래에 나타난다. 유의할 점은 혼합 시리즈(Mixed Series)가 선택되는 경우 밸런스 그래프가 나타나지 않는다는 것이다.
노드 통계 또는 밸런스 변수가 모니터 그래프에 디스플레이될 수 있기 이전에, 모니터링될 노드가 먼저 선택되어야만 한다. 도 4e에 도시한 모니터 스크린의 하부에 2개의 셀렉터 필드가 있다. 좌측 셀렉터 필드(132)는 SLO, TLO 또는 호스트 노드를 부가하는 데 사용된다. 우측 셀렉터 필드(134)는 밸런스 변수를 부가하는 데 사용된다. (주의: 밸런스 변수 셀렉터는 혼합 시리즈가 선택되는 경우 이용할 수 없음.)
도 4f는 이력 모니터를 나타낸 것이다.
모니터 특징을 사용하여 네트워크 노드가 추적되는 경우, 포착된 데이터는 장래의 참조를 위해 로그 파일에 저장된다. 이 로그 파일은 이력 모니터 콘솔을 사용하여 언제라도 액세스 및 디스플레이될 수 있다. 이력 모니터는 또한 저장된 데이터를 여러가지 다른 방법으로 조작, 디스플레이 및 비교할 수 있게 해주는 각종의 특징을 제공한다. 유의할 점은 이력 모니터 특징을 사용하기 위해서, 모니터를 사용하여 노드가 먼저 셋업되고 추적되어야만 한다는 것이다. 더 많은 정보를 위해서는 모니터 콘솔을 참조하기 바란다.
이력 모니터는 모니터 콘솔에 대해 전술한 것과 유사한 몇가지 그래프를 제공한다.
이력 모니터는 모니터링된 SLO 및 TLO 노드가 나타나는 시리즈 그래프를 포함한다. 이 그래프는 주어진 순간에 각각의 선택된 네트워크 노드에 대한 통계값(0 내지 100)을 디스플레이한다. 이 통계값은 노드의 부하 용량을 반영한다. 값이 높을수록, 더 많은 처리 용량이 이용가능하다. 보다 낮은 값은 낮은 처리 용량을 갖는 과부하된 노드를 나타낸다.
모니터링된 호스트 노드는 이력 모니터의 호스트 그래프에 나타난다. 이 그래프는 시리즈 그래프와 동일한 일을 한다.
이력 모니터의 퍼센트 그래프는 SLO, TLO 및 호스트 노드의 모니터링된 통계값을 동일한 그래프 상에 전부 디스플레이한다. 이 그래프는 시리즈 그래프 및 호스트 그래프와 동일한 일을 한다.
노드들 사이의 통계적 차이(즉, 평균, 분산, 최대, 최소 등)는 이력 모니터의 밸런스 그래프에서 측정될 수 있다. 이용가능한 밸런스 변수의 리스트가 사용자에 의해 선택되어 적용될 수 있다. 이 그래프는 iSystem Enterprise 모니터에서 시리즈 그래프와 호스트 그래프의 아래쪽에 나타난다. 유의할 점은 혼합 시리즈가 선택되는 경우 밸런스 그래프가 나타나지 않는다는 것이다.
모니터에서 포착된 노트 통계가 이력 모니터 그래프에 디스플레이될 수 있기 전에, 모니터링될 노드가 먼저 선택되어야만 한다. 도 4f의 이력 모니터 스크린의 하부에 2개의 셀렉터 필드가 있다. 좌측 셀렉터 필드(136)는 SLO, TLO 또는 호스트 노드를 부가하는 데 사용된다. 우측 셀렉터 필드(138)는 밸런스 변수를 부가하는 데 사용된다. (주의: 혼합 시리즈가 선택되는 경우 밸런스 변수 셀렉터는 이용할 수 없음.)
최적화
최적화 프로세스의 일부는 기능 자원 풀 내에서 요청 및 연결을 리디렉션함으로써 달성된다. 이것은 SLO 노드에 의해 생성된 데이터를 사용하여 달성되며, SLO 노드는 그 자신의 통계를 계산하여 그 결과를 풀을 통해 브로드캐스트한다.
이러한 리디렉션 구현 방법은 댁내에 구현되어 있는 모든 애플리케이션이 이용할 수 있다. 그렇지만, 그의 코드를 변경할 수 없는(아마도 변경해서는 안되는) 다수의 사전 패키지화된 애플리케이션 및 오브젝트가 통상 사용되고 있다. 이러한 유형의 애플리케이션에는 웹 서버와 COM-오브젝트가 있다. 복잡한 네트워크 시스템에서 일어나는 요청 및 연결의 서로 다른 특성으로 인해, 특정의 오브젝트가 각 클래스의 호출 내에서 리디렉션을 처리해야만 한다. 본 발명의 양호한 실시예는HTTP-요청 및 OLE DB-연결을 리디렉션하기 위한 오브젝트를 포함하고 있다. 그렇지만, 다른 실시예들은 다른 환경에서와 리눅스, 솔라리스 등 상에서의 자바로 된 HTTP, C++로 된 DB 등의 다른 플랫폼 상에서 다른 오브젝트를 이용할 수 있다.
HTTP 리디렉터는 어떤 사전 정의된 선택 기준에 따라 HTTP 요청을 수신하여 이를 선택된 웹 서버로 리디렉션할 수 있는 윈도즈 기반 애플리케이션(HTTPRedir.EXE)이다. 웹 서버의 리스트 및 선택 방법으로부터 시작하여, 이 애플리케이션은 부하 통계 및 이용가능성을 웹 서버로부터 수집하여 그 요청을 투명한 방식으로 요청측 클라이언트에게 효율적으로 리디렉션한다.
HTTP 리디렉터는 그의 작업을 완수하기 위해 여러가지 방식으로 사용될 수 있다. HTTP 리디렉터의 클라이언트 및 웹 서버와의 대화는 그것이 위치하는 장소, 그것이 리스닝(listening)을 위해 사용하고 있는 포트, 및 웹 서버에 있는 엑세스된 페이지에 대해 정의된 링크에 의존하고 있다. 서버 친화성(server affinity), 클라이언트 세션 등과 관련된 문제는 웹 운영자에 의해 처리되어야만 한다.
OLE DB-연결 리디렉터는 윈도즈 기반 실행 파일(OLEDBRedir.EXE)에 패킹된 DCOM 서버이다. 요청될 때, 이 오브젝트는 한 세트의 데이터베이스 서버의 부하 통계를 추적하여 선택된 데이터베이스 서버에 대응하는 사전 정의된 연결 문자열(connection string)을 제공할 수 있다. 이 리디렉터 오브젝트는 데이터베이스 서버를 모니터링하기 위해 작동 상태에(alive) 있을 필요가 있다. 따라서, 애플리케이션은 일단 설치되면 이를 수동으로 기동시킬 필요가 있다. 이것은 클라이언트 요청 시에 자동적으로 작동되는 통상 사용되는 자동화 서버와의 차이점을 나타낸다.
리디렉터 배포 및 설치 프로세스는 5개의 주요 단계로 이루어져 있다.
1. 리디렉터 설치를 위한 노드를 선택하는 단계,
2. 각 노드에 대한 서버 일반 설정(server general setting)을 지정하는 단계,
3. 각 노드에 대한 파일 전송 및 원격 실행 설정을 지정하는 단계,
4. 리디렉터 설치 프로시저를 실행하는 단계,
5. 설치된 리디렉터를 구성하는 단계.
원격 설치 메카니즘은 설치를 수행하기 위해 타겟 노드로 실제로 이동되는 윈도즈 애플리케이션(RSLOSetup.EXE) 및 한 세트의 보조 파일의 여기 저기에 구축되어 있다. 이 시점에서부터 다른 메카니즘은 원격 노드 상에서 설치 프로세스를 시작한다. UNIX/리눅스 플랫폼의 경우, SLO는 대몬(daemon)으로서 설치된다. 윈도즈 기반 플랫폼의 경우, SLO는 모든 사용자에 대한 시작 폴더(Startup folder)에 포함되어 있는 정규의 애플리케이션으로서 설치된다.
1. 리디렉터 설치를 위한 노드를 선택하는 단계
도 5a는 리디렉터 배포 및 설치 윈도우를 나타낸 것이다.
콘트롤 "기능 자원 풀 선택(Select Functional Resource Pool)"을 선택함으로써, 이용가능한 FRP의 리스트가 드롭다운 메뉴로부터 나타난다. "리디렉터 부가(Add Redirector)"는 리디렉터로서 지정되어야 할 노드에 대한 IP 주소를 선택할 수 있게 해준다. "리디렉터 수정(Modify Redirector)"은 다른 노드가 리디렉터로서 지위를 갖도록 또는 다른 유형의 리디렉터(HTTP 또는 DB)가 사용되도록 기존의 노드가 재구성될 수 있게 해준다. "리디렉터 제거(Remove Redirector)"는 사용자에 의해 배포 및 설치 윈도우로부터 하이라이트된 서버를 제거한다.
노드가 리디렉터로서 선택되어 파일 전송 및 실행이 완료되면, "설정 변경(Change Configuration)"은 설치된 리디렉터가 사용하기 위해 설정될 수 있게 해준다. "모든 리디렉터 설치(Install All the Redirectors)"는 리디렉터의 설치를 위해 노드가 선택된 후에 선택된다. 설치 동작으로 사용자는 리디렉터 파일의 전송 및 실행을 시작할 수 있는 리디렉터 원격 셋업 윈도우로 가게 된다.
2. 각 노드에 대한 서버 일반 설정을 지정하는 단계
리디렉터 설치를 위해 노드가 선택되었으면, 리디렉터 원격 셋업 윈도우가 열린다.
도 5b는 리디렉터 원격 셋업 윈도우를 나타낸 것이다.
리디렉터 원격 셋업 윈도우는 각 노드에 대한 운영 체제, 파일-전송 및 원격-실행 메카니즘을 정의하는 데 사용된다(노드는 이 윈도우에서 원격 서버라고 함). 서로 다른 파일-전송 및 원격-실행 메카니즘의 선택은 이하에 기술하는 일반 설정 탭 다음에 나타나게 되는 대응하는 탭을 작동시킨다. 이들 새로운 탭은 다음 섹션에서 상세히 기술하는 바와 같이 별도의 설정을 필요로 할 수 있다. 일반 설정에 대한 변경은 좌측의 원격 서버 필드 내의 노드 리스트에 반영된다.
유의할 점은 셋업의 이 부분 동안 어떤 제약이 적용된다는 것이다. 예를 들어, 윈도즈 플랫폼에는 DCOM만이 이용가능하다. 어떤 경우, 운영 메카니즘에 대해옵션 "없음"을 선택하는 것이 유용하다. 예를 들어, 대응하는 파일이 (이전의 설치 시도로 인하거나 공통 드라이브가 사용되기 때문에) 이미 노드에 위치하고 있는 경우, 원격 실행만이 필요하게 된다.
3. 각 노드에 대한 파일 전송 및 원격 실행 설정을 지정하는 단계
이전의 단계에서 선택된 파일-전송 및 원격-실행 메카니즘에 따라, 하나 이상의 새로운 탭이 일반 설정 탭 다음에 나타난다. 각 탭은 그 탭을 클릭함으로써 "활성 상태"로 되어 맨 앞으로 나올 수 있다. 도 5c는 파일 전송 프로토콜(FTP) 탭에 대한 파일 전송 설정을 나타낸 것이다. FTP 설정은 FTP 사용자 이름 및 패스워드(적용될 수 있는 경우)와 FTP 목적지 디렉토리를 지정하는 것을 필요로 한다. 디폴트로서, 익명 사용자 이름 및 홈 디렉토리가 설정된다.
SLO를 사용하는 경우, 도 5d에 도시한 바와 같이 리디렉터 파일이 전송되는 곳인 목적지 폴더가 요구된다. 디폴트로서, 파일은 디폴트 원격 SLO 폴더로 전송된다.
파일을 전송하기 위해 공유된 네트워크 드라이브를 사용하는 경우, 도 5e에 도시한 바와 같이 목적지 폴더가 지정되어야만 한다. 이 폴더는 네트워크를 따라 공유되고 〔중앙점(central point)에서〕 로컬 매핑되어 있는 드라이브(타겟 노드에 로컬임)를 가리킨다. 네트워크 드라이브의 매핑 또는 새폴더의 생성 등의 통상의 기능이 포함된다. 유의할 점은 파일-전송 동작은 현재의 사용자 인증 정보(user credential)를 사용하여 수행된다는 것이며, 이는 현재의 사용자가 동작을 수행하는 데 충분한 권리를 가지고 있어야만 함을 의미한다.
도 5f에 도시한 바와 같이, 텔넷 프로토콜을 사용하여 원격 셋업을 시작하는 경우, 사용자 이름 및 패스워드가 요구된다. 원격 실행 폴더는 파일-전송 단계 동안 셋업 파일이 이동되어 있는 곳인 (원격 서버 상의) 로컬 폴더를 가리킨다.
리디렉터 구성은 DASPO 네트워크에서 사용하기 위한 리디렉터를 준비하는 데 있어서의 마지막 단계이다. 도 5g는 리디렉터를 준비하기 위한 사용자 인터페이스의 일부를 나타낸 것이다.
리디렉터 리스닝 포트는 HTTP 요청을 리스닝하기 위해 리디렉터에 의해 사용되는 포트 번호이다. 포트 80은 웹 서버에 의해서는 리스닝을 하기 위해 또 웹 브라우저에 의해서는 연결을 위해 사용된다. 리디렉터가 웹 서버로서 기능을 하는 경우, 이 포트 번호가 리디렉터에 대해 사용되는 것이 권장된다. 유의할 중요한 점은 하나의 포트를 통해서는 단지 하나의 애플리케이션만이 리스닝될 수 있으며, 따라서 리디렉터와 웹 서버 모두가 동일한 포트를 통해 리스닝하고 있는 경우, 리디렉터는 동일한 컴퓨터 상에 웹 서버와 공존할 수 없다는 것이다. 체크하기! 버튼은 다른 로컬 애플리케이션이 이 포트를 통해 현재 리스닝하고 있지 않음을 의미하는 것인 선택된 포트 번호의 이용가능성을 확인한다. iSystem Enterprise로부터 리디렉터를 구성하는 경우, 체크하기! 버튼이 디스에이블된다.
기능 자원 풀은 웹 서버의 소스 리스트이다. SLO 주소 필드는 풀에 속하는 컴퓨터들 중 하나에 설치된 SLO 노드를 가리킨다. 통계는 개별적으로 문의를 하는 대신에 하나의 SLO로부터 검색된다. SLO 노드로부터 서버의 리스트를 검색하기 위해, 서버 가져오기(Get Servers) 버튼을 누른다.
서버 선택 방법은 리디렉션을 위해 서버를 어떻게 선택할지를 지시한다. 선택 항목은 최상의 통계를 사용하거나 또는 라운드 로빈 방식으로 웹 서버를 포함한다. 유의할 점은 서버가 요청된 오브젝트를 포함하고 있지 않는 경우 리디렉션을 위한 그 서버의 차례가 오더라도 그 서버가 선택되지 않는다는 것이다.
리디렉션을 위해 이용가능한 웹 서버의 리스트가 디스플레이된다. 이들은 트랜잭션 요청을 수신할지도 모르는 웹 서버이다. 웹 서버는 디스플레이된 리스트를 사용하여 부가되거나, 제거되거나 수정될 수 있다. 선택한 것 제거(Remove Selected) 버튼은 선택된 웹 서버를 리스트로부터 제거한다. 제거된 서버는 어떤 추후의 리디렉션에도 포함되지 않는다. 주소 리스트 클리어(Clear Address List) 버튼은 모든 웹 서버를 리스트로부터 클리어시킨다. 서버 부가(Add Server) 버튼은 새로운 웹 서버를 리스트에 부가한다. 서버 수정(Modify Server) 버튼은 리스트에 있는 서버에 대응하는 파라미터를 수정한다.
양호한 실시예는 "OLE DB-연결 리디렉터(OLE-DB-Connection Redirector)"라고 하는 윈도즈 기반의 실행가능 프로세스에 패킹된 DCOM 서버를 사용한다. 요청될 때, 이 오브젝트는 한 세트의 데이터베이스 서버의 부하 통계를 추적하여 선택된 데이터베이스 서버에 대응하는 사전 정의된 연결 문자열을 제공할 수 있다. 이 리디렉터 오브젝트는 데이터베이스 서버를 모니터링하기 위해 활성 상태로 되어야만 한다. 따라서, 애플리케이션은 일단 설치되었으면 수동으로 기동시켜야만 한다. 이것은 클라이언트 요청 시에 자동적으로 작동되는 통상 사용되는 자동화 서버와는 다르다.
연결 문자열을 그의 연결 오브젝트에 직접 할당하는 대신에, 개발자는 리디렉터의 원격 인스턴스를 생성하고 그것에 대해 유효한 연결 문자열을 요청한다. 이 연결 문자열을 사용하면 최상의 이용가능한 데이터베이스 서버가 선택되는 것이 보장된다.
HTTP 리디렉터 구성 스크린이 도 5h에 도시되어 있다.
기능 자원 풀 영역은 데이터베이스 서버의 소스 리스트이다. SLO 주소 필드는 그 풀에 속하는 컴퓨터들 중 하나에 설치된 SLO 노드를 가리킨다. 통계는 개별적으로 문의하는 대신에 하나의 SLO로부터 검색된다. SLO 노드로부터 서버의 리스트를 검색하기 위해, 서버 가져오기(Get Servers) 버튼을 누른다.
서버 선택 방법 영역은 리디렉션을 위해 서버를 어떻게 선택할지를 나타낸다. 선택 항목은 최상의 통계나 또는 라운드 로빈 방식을 사용하여 웹 서버를 포함한다. 데이터베이스 연결 리스트는 리디렉션을 위해 포함된 데이터베이스 서버 및 연결 문자열의 리스트를 디스플레이한다. 이들은 리디렉터 연결 요청을 수신할지도 모르는 데이터베이스 서버이다. 리스트에 있는 항목은 부가, 제거 또는 수정될 수 있다.
선택한 것 제거(Remove Selected) 버튼은 선택된 데이터베이스 연결을 리스트로부터 제거한다. 제거된 연결은 어떤 추후의 리디렉션에도 포함되지 않는다. 모두 제거(Remove All) 버튼은 모든 연결을 리스트로부터 제거하는 데 사용된다. DB 연결 부가(Add DB Connection) 버튼은 데이터베이스 연결을 리스트에 부가한다. DB 연결 수정(Modify DB Connection) 버튼은 리스트에 있는 연결에 대응하는 파라미터를 수정하는 데 사용된다.
모든 수정이 도입되었으면, 확인(OK) 버튼을 누름으로써 구성이 갱신될 수 있다. 동작을 취소시키면 현재의 구성을 수정하지 않는다.
DB 연결 부가 버튼을 클릭한 후의 연결 생성 대화 상자가 도 5i에 도시되어 있다. 이 대화 상자를 사용하여 데이터베이스 서버로의 새로운 OLE DB 연결을 정의할 수 있다. 연결 파라미터에는 연결 문자열 및 서버의 이름이 포함된다.
연결 문자열은 직접 타이핑되거나, UDL(Universal Data Link, 범용 데이터 링크) 파일로부터 로드되거나 대응하는 시스템 대화상자를 사용하여 편집될 수 있다. 연결 문자열은 현재의 구성에 저장하기 전에 수동적으로 또는 자동적으로 테스트될 수 있다. "저장 전에 데이터베이스 연결 테스트(Test database connection before save)" 박스가 체크될 때 자동 테스트가 수행된다. 테스트 프로세스는 주어진 연결 문자열을 사용하여 데이터베이스 연결을 개설하려고 시도한다.
유의할 점은 연결을 테스트하는 것이 의미가 없는 경우가 있다는 것이다. 이것은 리디렉터와 데이터베이스 서버가 서로 다른 도메인 상에 위치할 때 일어난다. 연결을 요청하는 애플리케이션은 데이터베이스 서버에 도달하기 위해 별명(alias)을 사용할 수 있으며, 이들 별명은 리디렉터가 모르는 것일 수 있다.
연결 문자열이 파일로부터 로드되는 경우, 그 파일은 도 5j에 도시된 데이터 링크 파일 로드(Load Data Link File) 대화 상자를 사용하여 선택된다. 이것은 UDL 파일의 탐색을 위해 구성된 통상의 대화 상자이다.
다른 가능한 경우로는 도 5k에 도시한 데이터 링크 프로퍼티(Data LinkProperties) 윈도우를 여는 연결 문자열 편집(Edit Connection String) 버튼을 선택하는 것이다. 이 대화 상자는 프로퍼티(property)의 단계별 정의를 가능하게 해주는 마법사를 포함한다.
데이터 링크 마법사를 통해 정의하거나 파일로부터 로드한 후에, 그 결과 얻어진 연결 문자열은 도 5i에 도시된 확인 대화 상자로 로드되고, 이 문자열은 제공자의 이름, 보안을 위한 파라미터 및 설정을 식별해준다. 도 5l은 보안이 오프된 때의 확인 대화 상자를 나타낸 것이다. 이 식별이 이전에 행해진 설정을 확인해준다. 제공자 또는 파라미터를 변경하기 위해서는, 파라미터 수정(Modify Parameters) 버튼을 눌러 시스템 마법사로 되돌아간다. 보안 설정은 이 대화 상자에서 서로 다른 보안 설정을 선택 및/또는 그 연결과 관련된 사용자 이름 및 패스워드를 수정함으로써 직접 수정될 수 있다.
도 5m은 보안이 온 상태로 된 경우의 확인 대화 상자를 나타낸 것이다.
도 5m에서, 확인(OK) 버튼을 누르면, 제어가 그 결과 얻어진 정의를 포함하는 연결 생성 대화 상자로 되돌아간다.
기존의 데이터베이스 연결을 수정하는 프로세스는 이전에 논의된 동일한 단계들 중 일부를 포함한다. 프로세스를 시작하기 위해, 구성 대화 상자에서 연결을 선택한 다음에 DB 연결 수정(Modify DB Connection) 버튼을 누른다.
시스템 레벨 오브젝트
시스템 최적화가 결정되기 전에, 각 노드의 값이 측정된다. 이들 측정치를 수집하기 위해, 지능 오브젝트(IO)가 DASPO 네트워크 전반에 걸쳐 배포된다. 이들지능 오브젝트는 각 서버 노드에서 발생되는 프로세스 및 시스템 부하에 관한 통계를 수집한다. 값, 통계 및 노드 정보의 포맷, 형성 및 사용에 대해서 상기 인용된 동시 계류 중인 특허 출원에 상세히 기술되어 있다. 노드 정보는 CPU 사용, 메모리 및 저장 공간의 크기 및 사용 통계, 초당 판독/기록되는 바이트, 쓰레드의 수, 노드에서 실행되는 프로세스의 수, 프로세서 큐 길이, 로컬 응답 시간 및 네트워크 응답 시간을 포함한다. 유의할 점은 노드, 노드 환경, 노드 호스트, 프로세서 등에 관한 많은 다른 유형의 정보가 포함될 수 있다는 것이다. 또한, 리스트된 노드 정보 모두가 본 발명을 실시하기 위해 사용될 필요가 있는 것은 아니다. 일반적으로, 자원 사용, 성능 또는 다른 특성에 관한 임의의 유형의 정보가 사용될 수 있다.
전술한 바와 같이, 본 발명의 양호한 실시예는 시스템 레벨 오브젝트(SLO) 및 트랜잭션 레벨 오브젝트(TLO)라고 하는 2가지 유형의 지능 오브젝트를 사용한다. 양호한 실시예에서, SLO는 가장 통상적으로 배포된 지능 오브젝트이다. SLO와 TLO 모두는 유사한 정보 수집 임무를 수행하지만, TLO는 특정의 호스트(즉, 애플리케이션과 데이터베이스 사이에서 데이터 액세스 및 보안을 제공하는 프로그램)가 셋업되어 있는 임의의 서버에 대한 통계를 제공하는 부가의 책임도 진다. 유의할 점은 "호스트" 또는 "호스트 컴퓨터"가 네트워크에서 데이터에 대해 기능을 수행할 수 있는 임의의 디지털 처리 하드웨어 장치나 소프트웨어 프로세스일 수 있다는 것이다.
시스템 최적화가 결정될 수 있기 이전에, 각 노드의 값이 먼저 측정되어야만 한다. 이들 측정치를 수집하기 위해, 지능 오브젝트(IO)는 DASPO 네트워크 전반에걸쳐 배포된다. 이들 지능 오브젝트는 각 서버 노드에서 발생되는 프로세스 및 시스템 부하에 관한 통계를 수집한다. 가장 통상적으로 배포되는 IO는 시스템 레벨 오브젝트(SLO)이다.
SLO는 중앙점으로부터 원격 컴퓨터 상에 설치될 수 있으며, MS-Windows 및 TCP/IP 네트워크 전반에 걸쳐 동작할 수 있다. 윈도즈 95/98, 윈도즈 NT, 윈도즈 2000, 리눅스 및 솔라리스 UNIX를 실행하는 컴퓨터 상에 설치가 행해질 수 있다. 타겟 머신 상의 플랫폼, 구성 및 이용가능한 서비스에 따라, FTP, 텔넷, 네트워크 공유 드라이브 및/또는 DCOM을 사용하여 설치가 행해진다.
설치 프로세스는 다음과 같이 4개의 주요 단계, 즉 (1) 타겟 노드를 선택하는 단계, (2) 서버 일반 설정을 지정하는 단계, (3) 각 노드에 대한 파일-전송 및 원격-실행 설정을 지정하는 단계, 및 (4) 설치 프로시저를 실행하는 단계로 이루어져 있다.
원격 설치 메카니즘은 설치를 수행하기 위해 타겟 컴퓨터로 실제로 이동되는 윈도즈 애플리케이션 및 한 세트의 보조 파일의 여기 저기에 구축되어 있다. 원격 설치 메카니즘은 2 부분, 즉 서버로 파일 전송을 위한 부분과 원격 서버 상에서 설치 프로세스를 시작하기 위한 부분으로 이루어져 있다. UNIX/리눅스 플랫폼의 경우, SLO는 대몬으로서 설치된다. 윈도즈 기반의 플랫폼의 경우, SLO는 모든 사용자에 대한 시작 폴더에 포함되어 있는 정규 애플리케이션으로서 설치된다.
도 5n은 SLO 배포 및 설치 윈도우를 나타낸 것이다.
배포 및 설치 윈도우에서, 모든 이용가능한 네트워크 노드는 좌측 컴퓨터 컬럼에 디스플레이된다. SLO가 설치될 예정인 노드는 우측 컴퓨터 컬럼에 나타나게 된다.
모두 선택(Select All)은 좌측 컴퓨터 컬럼에 있는 모든 노드의 신속한 선택을 가능하게 해준다. 선택 반전(Invert Selection)은 긴 노드 리스트가 SLO 설치를 위해 부가되어야 할 때 사용된다. 좌측 컴퓨터 컬럼에서 원하지 않는 노드를 선택한 다음에 선택 반전 버튼을 누르는 것이 더 쉬운 경우가 종종 있다. 그러면, 행해진 선택이 있으면 그 모두가 반전된다. 환언하면, 체크된 박스는 체크되지 않게 되고 그 역도 마찬가지이다.
모두 선택 해제(Deselect All)는 좌측 컴퓨터 컬럼에 있는 선택된 노드로부터 모든 체크 표시를 제거한다. 부가(Add) 버튼은 좌측 컴퓨터 컬럼에 있는 선택된 노드를 부가하고 이들을 SLO 설치 리스트에 부가한다. 네트워크에 SLO 설치를 위해 선택된 우측 윈도우에 있는 노드들은 선택한 다음에 제거 버튼을 누름으로써 제거될 수 있다. 원하는 노드가 선택되었으면, 설치(Install) 버튼을 눌러 SLO 배포 프로세스를 시작한다.
SLO 설치를 위한 노드가 선택되었으면, 서버 일반 설정의 지정이 가능하도록 도 5o에 도시된 원격 SLO 셋업 윈도우가 열린다.
서버 일반 설정의 지정은 각 노드에 대한 운영 체제, 파일-전송 및 원격-실행 메카니즘을 정의한다. (주의: 이 윈도우에서 노드는 원격 서버라고 함) 서로 다른 파일-전송 및 원격-실행 메카니즘의 선택은 일반 설정 탭 다음에 나타나는 해당 탭을 활성화시킨다. 이들 새로운 탭은 별도의 구성을 필요로 할 수 있다. 일반 설정 탭에서 행해진 어떤 변경도 좌측 원격 서버 필드에 있는 노드 리스트에 반영된다.
양호한 실시예에서, SLO 셋업의 이 부분 동안에 제약이 적용된다. 예를 들어, DCOM은 윈도즈 플랫폼에서만 이용가능하다. 어떤 경우에, 운영 메카니즘에 대해 None을 선택하는 것은 의미가 있을 수 있다. 예를 들어, 해당하는 파일이 (이전의 설치 시도로 인하거나 공통 드라이브가 사용되기 때문에) 이미 노드에 있는 경우, 원격 실행만이 요구된다.
도 5p 내지 도 5s는 파일 전송 및 원격 실행 기능에 대한 콘트롤 및 파라미터를 지정하는 것을 나타낸 것이다.
이전의 단계들에서 선택된 파일-전송 및 원격-실행 메카니즘에 따라, 하나 이상의 새로운 탭이 일반 설정 탭 다음에 나타나게 된다. FTP 탭에 대한 파일-전송 설정은 FTP 사용자 이름과 패스워드(적용가능한 경우) 및 FTP 목적지 디렉토리의 지정을 가능하게 해준다. 디폴트로 익명 사용자 이름과 홈 디렉토리가 설정된다. 공유 네트워크 드라이브에 대한 파일-전송 설정은 예를 들면 파일을 전송하기 위해 공유 네트워크 드라이브를 사용할 때 목적지 폴더를 선택할 수 있게 해준다. 이 폴더는 네트워크를 따라 공유되고 (중앙점에서) 로컬 매핑되어 있는 드라이브를 가리킨다. 네트워크 드라이브의 매핑 또는 새폴더의 생성 등의 통상의 기능이 포함된다. 유의할 점은 현재의 사용자 인증 정보를 사용하여 파일-전송 동작이 수행되며, 이는 현재의 사용자가 그 동작을 수행하기에 충분한 권리를 가지고 있어야만 함을 의미한다.
텔넷 프로토콜을 사용하여 원격 셋업을 시작하는 경우, 사용자 이름 및 패스워드가 요구된다. 원격 실행 폴더는 파일-전송 단계 동안에 셋업 파일이 이동되어 있는 곳인 (원격 컴퓨터 상에 있는) 로컬 폴더를 가리킨다. SLO 셋업을 시작하는 마지막 방법은 DCOM을 사용하는 것이다. 파일-전송 단계 동안에, 모든 필요한 파일은 원격 서버 상에 있는 로컬 폴더로 전송되었다. 이 폴더에 대한 전체 경로는 "원격 컴퓨터에서의 로컬 경로(Local path in remote computer)" 필드에 타이핑해 넣어야만 한다. DCOM은 원격 프로세스가 서로 다른 사용자 인증 정보를 사용하여 실행될 수 있게 해준다. 이 파라미터는 DCOM 사용자 필드에서 선택된다.
원격 셋업의 성공적인 실행을 위해, 선택된 사용자는 원격 서버 상의 DCOM을 통해 애플리케이션을 시작하여 디스크 서비스에 액세스할 권리를 가지고 있어야만 한다. DCOM 보안의 관점에서 볼 때, 이것은 사용자가 "디폴트 액세스 허가(Default Access Permissions)"〔액세스 허용(Allow Access) 퍼미션(permission)을 가짐〕 및 "디폴트 시작 허가(Default Launch Permissions)"〔"시작 허용(Allow Launch)" 퍼미션을 가짐〕에 리스트되어 있어야만 함을 의미한다. 이들 리스트는 DCOM에 대한 구성 애플리케이션을 실행하고 "디폴트 보안" 탭을 선택함으로써 보면서 수정될 수 있다. 추가의 정보에 대해서는, 여러분의 DCOM 문서를 참조하기 바란다.
각 서버에 대한 파라미터가 일단 정의되면, 설치 프로세스가 시작할 수 있다. 설치를 시작하기 위해, 사용자는 사용자 인터페이스 상에서 소정의 아이콘 또는 버튼을 선택한다. 설치 프로세스가 일단 시작되면, 각각의 지정된 노드에 대해 SLO 파일이 전송되어 시작된다. 설치가 진행되고 있을 때 결과 탭 아래에서 결과,에러 및 통지를 볼 수 있다.
본 발명에 대해 특정의 실시예들과 관련하여 기술하였지만, 이들 실시예는 본 발명의 단지 예시적인 것으로 어떤 한정을 위한 것이 아니다. 예를 들어, 본 발명이 주로 다중 계층, 즉 n-계층 시스템을 참조하여 기술되어 있지만, 본 발명의 특징들은 임의의 유형의 처리 시스템에서 그 아키텍처가 다중 계층을 포함하고 있지 않을지라도 사용될 수 있음은 자명하다. 본 발명의 특징들은 또한 독립형 시스템, 즉 네트워크인 것으로 생각되지 않는 시스템에도 적용될 수 있다.
따라서, 본 발명의 범위는 첨부된 청구항들에 의해서만 결정될 것이다.

Claims (8)

  1. 디지털 네트워크화된 시스템의 성능을 모니터링하는 방법으로서,
    상기 시스템은 제1 및 제2 플랫폼을 포함하며,
    상기 방법은,
    상기 제1 플랫폼의 동작의 특성을 나타내는 제1 값을 발생하는 단계,
    상기 제1 값을 상기 제2 플랫폼으로 전송하는 단계,
    상기 제2 플랫폼의 동작의 특성을 나타내는 제2 값을 획득하는 단계, 및
    상기 제1 및 제2 플랫폼 간의 동작 특성의 차를 설명하기 위해 상기 제1 또는 제2 값 중 하나를 조정함으로써 상기 제1 및 제2 값을 합성값으로 합성하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 동작에 있어서의 차는 상기 제1 및 제2 플랫폼 내의 프로세서에서의 인터럽트의 사용에 있어서의 차를 포함하는 것인 방법.
  3. 제1항에 있어서, 상기 동작에 있어서의 차는 상기 제1 및 제2 플랫폼에서의 쓰레드의 사용에 있어서의 차를 포함하는 것인 방법.
  4. 제1항에 있어서, 상기 동작에 있어서의 차는 상기 제1 및 제2 플랫폼에서의 포크된 프로세스의 사용에 있어서의 차를 포함하는 것인 방법.
  5. 제1항에 있어서, 상기 동작에 있어서의 차는 상기 제1 및 제2 플랫폼에서의 메모리 관리에 있어서의 차를 포함하는 것인 방법.
  6. 제1항에 있어서, 상기 제1 및 제2 플랫폼은 서로 다른 유형의 운영 체제를 사용하는 것인 방법.
  7. 제1항에 있어서, 상기 제1 및 제2 플랫폼은 서로 다른 유형의 중앙 처리 장치를 사용하는 것인 방법.
  8. 제1항에 있어서, 상기 제1 및 제2 플랫폼은 서로 다른 유형의 운영 환경을 지원하는 것인 방법.
KR10-2004-7005405A 2001-10-12 2002-05-01 멀티 플랫폼 최적화 모델 KR20040068120A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/976,518 US20020083163A1 (en) 2000-10-26 2001-10-12 Multi-platform optimization model
US09/976,518 2001-10-12
PCT/US2002/014041 WO2003034261A1 (en) 2001-10-12 2002-05-01 Multi-platform optimization model

Publications (1)

Publication Number Publication Date
KR20040068120A true KR20040068120A (ko) 2004-07-30

Family

ID=25524174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7005405A KR20040068120A (ko) 2001-10-12 2002-05-01 멀티 플랫폼 최적화 모델

Country Status (8)

Country Link
US (3) US20020083163A1 (ko)
EP (1) EP1451711A4 (ko)
JP (1) JP2005505859A (ko)
KR (1) KR20040068120A (ko)
CN (1) CN1679018A (ko)
BR (1) BR0213247A (ko)
MX (1) MXPA04003403A (ko)
WO (1) WO2003034261A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3790683B2 (ja) * 2001-07-05 2006-06-28 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、その例外処理プログラム及びコンパイル方法
US20030208622A1 (en) * 2002-05-01 2003-11-06 Mosier James R. Method and system for multiple vendor, multiple domain router configuration backup
US7181512B1 (en) * 2002-05-06 2007-02-20 Accenture Global Services Gmbh Workstation deployment
US20040055001A1 (en) * 2002-09-16 2004-03-18 Islam Farhad Fuad Method and apparatus for computational load sharing in a multiprocessor architecture
US7453906B2 (en) * 2002-09-19 2008-11-18 Microsoft Corporation Systems and methods for providing automatic network optimization with application variables
US7363377B1 (en) * 2002-10-09 2008-04-22 Unisys Corporation Method for protecting the program environment of a microsoft component object model (COM) client
US7689685B2 (en) * 2003-09-26 2010-03-30 International Business Machines Corporation Autonomic monitoring for web high availability
US7487239B2 (en) * 2004-03-25 2009-02-03 International Business Machines Corporation Composite resource models
GB2412977A (en) * 2004-04-07 2005-10-12 Hewlett Packard Development Co Analyzing the capacity of a computer system
US8275840B2 (en) 2004-09-02 2012-09-25 At&T Intellectual Property I, L.P. Automated messaging tool
US20070115916A1 (en) * 2005-11-07 2007-05-24 Samsung Electronics Co., Ltd. Method and system for optimizing a network based on a performance knowledge base
US7894446B2 (en) * 2005-11-23 2011-02-22 Jds Uniphase Corporation Method and systems for optimization analysis in networks
US7650394B2 (en) * 2006-09-15 2010-01-19 Microsoft Corporation Synchronizing email recipient lists using block partition information
US8255915B1 (en) * 2006-10-31 2012-08-28 Hewlett-Packard Development Company, L.P. Workload management for computer system with container hierarchy and workload-group policies
WO2008078191A2 (en) * 2006-12-22 2008-07-03 Clear Blue Security, Llc. Network discovery system
US8499276B2 (en) * 2006-12-28 2013-07-30 Ca, Inc. Multi-platform graphical user interface
JP2008234351A (ja) * 2007-03-20 2008-10-02 Nec Corp 統合運用監視システム及びプログラム
US7739666B2 (en) * 2007-06-15 2010-06-15 Microsoft Corporation Analyzing software users with instrumentation data and user group modeling and analysis
US7747988B2 (en) * 2007-06-15 2010-06-29 Microsoft Corporation Software feature usage analysis and reporting
US7680645B2 (en) * 2007-06-15 2010-03-16 Microsoft Corporation Software feature modeling and recognition
US7870114B2 (en) 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US9021505B2 (en) * 2007-12-07 2015-04-28 Ca, Inc. Monitoring multi-platform transactions
JP5445450B2 (ja) * 2008-04-25 2014-03-19 日本電気株式会社 データ利用状況追跡システム、マネージャ装置、エージェント装置、データ利用状況追跡方法及びプログラム
US8539478B2 (en) 2008-06-20 2013-09-17 International Business Machines Corporation Dynamic web installer
US8438378B2 (en) * 2008-06-25 2013-05-07 Veloxum Llc Systems and methods for tuning an operating system, application, or network component
EP2139205B1 (en) * 2008-06-27 2012-10-31 Alcatel Lucent Method of redundant data storage
KR100971224B1 (ko) * 2008-10-23 2010-07-21 한국과학기술원 인터넷 전송 경로 및 전송 지연시간 추정 시스템 및 그 방법
US8744806B2 (en) 2008-10-29 2014-06-03 Sevone, Inc. Scalable performance management system
US8271615B2 (en) * 2009-03-31 2012-09-18 Cloud Connex, Llc Centrally managing and monitoring software as a service (SaaS) applications
US8341619B2 (en) * 2009-05-13 2012-12-25 Oracle International Corporation Simplifying installation of software modules on heterogeneous remote systems
AU2011289732B2 (en) * 2010-08-12 2015-11-05 Unisys Corporation Moving enterprise software applications to a cloud domain
US9009185B2 (en) * 2010-12-28 2015-04-14 Sevone, Inc. Scalable performance management system
US9195509B2 (en) 2011-01-05 2015-11-24 International Business Machines Corporation Identifying optimal platforms for workload placement in a networked computing environment
US8868749B2 (en) 2011-01-18 2014-10-21 International Business Machines Corporation Workload placement on an optimal platform in a networked computing environment
US8924561B2 (en) 2011-05-13 2014-12-30 International Business Machines Corporation Dynamically resizing a networked computing environment to process a workload
US9304822B2 (en) 2012-05-30 2016-04-05 International Business Machines Corporation Resource configuration for a network data processing system
US20140196139A1 (en) * 2013-01-07 2014-07-10 Richard A. Ferdinand Privacy protected internet networks, subnetworks and sub-subnetworks
US10069749B1 (en) * 2014-09-23 2018-09-04 EMC IP Holding Company LLC Method and apparatus for disaggregated overlays via application services profiles
CN105045967B (zh) * 2015-06-29 2018-08-07 电子科技大学 基于集团度的复杂网络重要节点排序方法及模型演化方法
US10540172B2 (en) 2017-07-24 2020-01-21 Sevone, Inc. System, method, and apparatus for zero downtime operating system transformation

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375199A (en) * 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
US5819028A (en) * 1992-06-10 1998-10-06 Bay Networks, Inc. Method and apparatus for determining the health of a network
US5890014A (en) * 1996-08-05 1999-03-30 Micronet Technology, Inc. System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US5949976A (en) * 1996-09-30 1999-09-07 Mci Communications Corporation Computer performance monitoring and graphing tool
EP0849912A3 (en) 1996-12-18 1999-02-10 Nortel Networks Corporation Communications network monitoring
US6714976B1 (en) * 1997-03-20 2004-03-30 Concord Communications, Inc. Systems and methods for monitoring distributed applications using diagnostic information
US6393455B1 (en) * 1997-03-28 2002-05-21 International Business Machines Corp. Workload management method to enhance shared resource access in a multisystem environment
US6148335A (en) * 1997-11-25 2000-11-14 International Business Machines Corporation Performance/capacity management framework over many servers
US6138122A (en) 1998-03-02 2000-10-24 Agilent Technologies Modeling of internet services
US6167538A (en) * 1998-03-06 2000-12-26 Compaq Computer Corporation Method and apparatus for monitoring components of a computer system
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6301615B1 (en) * 1998-10-14 2001-10-09 Sun Microsystems, Inc. Cluster performance monitoring utility
US6205477B1 (en) * 1998-10-20 2001-03-20 Cisco Technology, Inc. Apparatus and method for performing traffic redirection in a distributed system using a portion metric
US6339750B1 (en) * 1998-11-19 2002-01-15 Ncr Corporation Method for setting and displaying performance thresholds using a platform independent program
US6748416B2 (en) * 1999-01-20 2004-06-08 International Business Machines Corporation Client-side method and apparatus for improving the availability and performance of network mediated services
US6513065B1 (en) * 1999-03-04 2003-01-28 Bmc Software, Inc. Enterprise management system and method which includes summarization having a plurality of levels of varying granularity
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6314447B1 (en) * 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US20020133593A1 (en) * 2000-03-03 2002-09-19 Johnson Scott C. Systems and methods for the deterministic management of information
US20040103139A1 (en) * 2000-03-30 2004-05-27 United Devices, Inc. Distributed processing system having sensor based data collection and associated method
US6785713B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US20030154284A1 (en) * 2000-05-31 2003-08-14 James Bernardin Distributed data propagator
US7167821B2 (en) * 2000-06-06 2007-01-23 Microsoft Corporation Evaluating hardware models having resource contention
US6647412B1 (en) * 2000-06-23 2003-11-11 Nokia Internet Communications Inc. Method and network for propagating status information
JP3593528B2 (ja) * 2000-06-30 2004-11-24 インターナップ ネットワーク サービセズ コーポレイション 分散ネットワーク管理システムおよび方法
US6738813B1 (en) * 2000-09-11 2004-05-18 Mercury Interactive Corporation System and method for monitoring performance of a server system using otherwise unused processing capacity of user computing devices
US7149795B2 (en) * 2000-09-18 2006-12-12 Converged Access, Inc. Distributed quality-of-service system

Also Published As

Publication number Publication date
US20060015515A1 (en) 2006-01-19
US20020083163A1 (en) 2002-06-27
EP1451711A1 (en) 2004-09-01
US20070039009A1 (en) 2007-02-15
EP1451711A4 (en) 2006-11-29
JP2005505859A (ja) 2005-02-24
BR0213247A (pt) 2004-12-28
US7363370B2 (en) 2008-04-22
MXPA04003403A (es) 2004-07-30
CN1679018A (zh) 2005-10-05
WO2003034261A1 (en) 2003-04-24

Similar Documents

Publication Publication Date Title
KR20040068120A (ko) 멀티 플랫폼 최적화 모델
US11677619B2 (en) Selectable declarative requirement levels
CN103430150B (zh) 在云计算系统中创建资源的技术
KR20040070338A (ko) 시스템 전반의 최적화 통합 모델
US7970879B1 (en) Task-based automatic network management system with distributed control and management information base
US6477572B1 (en) Method for displaying a network topology for a task deployment service
US8099478B2 (en) Program, method, and apparatus for managing applications
US7634560B2 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
RU2357289C2 (ru) Администрирование удаленной системы с использованием среды командной строки
US20080183876A1 (en) Method and system for load balancing
US7747709B2 (en) Method and system for automatically cloning IT resource structures
JP5285083B2 (ja) 並行してトポロジを発見する方法および装置
JP2007512617A (ja) ワークステーションにインストールされたリモートアプリケーションのエクストラネットからのシームレスなディスカバリ
KR20060111358A (ko) 원격 애플리케이션 탐색을 위한 웹 서비스
US20120259960A1 (en) Dynamic Self-Configuration of Heterogenous Monitoring Agent Networks
KR20040084887A (ko) 제너릭 적응 제어용 오브젝트-지향 프레임워크
US9176719B2 (en) Resolving prerequisites for a client device in an open service gateway initiative (OSGI) framework
Romanov et al. Principles of building modular control plane in software-defined network
US7379984B1 (en) Apparatus, system, and method for autonomy controlled management of a distributed computer system
WO2022176032A1 (ja) コンフィグ投入装置、コンフィグ投入方法、および、コンフィグ投入プログラム
JP2007226719A (ja) クライアントサーバシステム、アプリケーション実行方法およびプログラム
US20020178248A1 (en) Application program interface for optimization integration model
Zadrozny et al. Remote Data Collection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application