KR20040070338A - 시스템 전반의 최적화 통합 모델 - Google Patents

시스템 전반의 최적화 통합 모델 Download PDF

Info

Publication number
KR20040070338A
KR20040070338A KR10-2004-7005403A KR20047005403A KR20040070338A KR 20040070338 A KR20040070338 A KR 20040070338A KR 20047005403 A KR20047005403 A KR 20047005403A KR 20040070338 A KR20040070338 A KR 20040070338A
Authority
KR
South Korea
Prior art keywords
node
performance
value
nodes
server
Prior art date
Application number
KR10-2004-7005403A
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 KR20040070338A publication Critical patent/KR20040070338A/ko

Links

Classifications

    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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
    • 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/0813Configuration setting characterised by the conditions triggering a change of settings

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

다중 계층의 이기종 서버 플랫폼(102, 104; 도 2a)에 대한 최적화 시스템이 제공된다. 본 시스템은 다중 계층에 걸쳐 구성된 다수의 컴퓨터 서버를 포함하는 시스템의 성능을 정확하게 평가, 제어 및 최적화한다. 본 발명은 최적화 시스템의 여러가지 특징을 설치, 구성 및 동작시키는 효율적인 사용자 인터페이스를 제공한다. 애플리케이션 프로그래밍 인터페이스는 사용자가 임의의 시스템에서 사용하기 위한 설비를 통합하여 구성할 수 있게 해준다. 지능 오브젝트는 각 서버 노드에서 시스템 프로세스를 동적으로 분석하기 위해 서버 노드 레벨에서 동작한다. 시스템 프로세스의 분석은 광범위한 것으로서, 하드웨어, 소프트웨어, 운영 시스템 및 통신을 포함한다. 각각의 지능 오브젝트 분석의 결과는 각 계층 전반에 걸쳐 다른 모든 지능 오브젝트로 동적으로 전달된다. 한가지 특징은 오브젝트가 로컬 이용값을 나타내는 숫자를 발생할 수 있게 해준다. 로컬 이용값은 그 오브젝트를 호스팅하는 컴퓨터 시스템에서의 하나 이상의 성능 인자의 측정치이다. 로컬 이용값은 제2 지능 오브젝트를 호스팅하는 다른 컴퓨터 시스템으로 전달될 수 있다. 다른 컴퓨터 시스템은 다른 계층에 있을 수 있다. 제2 지능 오브젝트는 그 자신의 로컬 이용값을 발생하거나 그의 로컬 이용값과 전달된 이용값을 합성하여 양쪽 컴퓨터 시스템을 포함하는 전체 시스템의 성능을 더 반영하는 합성 이용값을 생성할 수 있다.

Description

시스템 전반의 최적화 통합 모델{SYSTEM-WIDE OPTIMIZATION INTEGRATION MODEL}
인터넷 등의 디지털 컴퓨터 네트워크는 현재 상업, 교육, 연구 및 오락의 많은 분야에서 널리 사용되고 있다. 대량의 트래픽을 처리할 필요가 있기 때문에, 많은 인터넷 사이트는 몇개의 또는 많은 서버 컴퓨터를 사용하여 다중 계층, 또는 "n-계층" 시스템으로 설계되어 있다. n-계층 시스템의 일례가 도 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)으로 전파된다.
오늘날의 대규모의 복잡한 n-계층 시스템에서 특히 중요한 것은 시스템의 성능 모니터링 및 최적화이다. 종래 기술의 방법에서는 부가의 하드웨어, 소프트웨어 및 데이터베이스 중복이 요구되는 경우가 종종 있으며, 이는 복잡하고 자원을 소모하며 또 시간이 걸리는 설치, 구성 및 오퍼레이터 훈련을 필요로 한다. 종래 기술의 시스템은 확장이 용이하지 않으며 원하는 신뢰성, 성능 개선, 보안, 속도 및 효율성을 달성하지 못하였다.
따라서, 종래 기술을 바탕으로 개선된 시스템을 제공하는 것이 바람직하다.
우선권 주장
본 출원은 2000년 10월 26일자로 출원된 미국 가특허출원 제60/243,783호의 우선권을 주장한다.
관련 출원의 상호 참조
본 출원은 이하의 동시 계류 중인 출원들, 즉 2001년 10월 12일자로 출원된 발명의 명칭이 "멀티 플랫폼 최적화 모델(Multiplatform Optimization Model)"(020897-000120US)인 미국 특허 출원 제09/976,518호, 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는 본 발명의 구조적 컴포넌트를 나타낸 도면.
도 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예시를 나타낸 도면.
본 발명은 다수의 네트워크화된 컴퓨터에 대한 네트워크 노드 건강 평가 시스템(network node health assessment system)이다. 네트워크 내의 각 컴퓨터, 즉 노드에는 지능 오브젝트(intelligence object)라고 하는 소프트웨어 프로세스가 설치될 수 있다. 지능 오브젝트는 그의 호스트 컴퓨터 시스템의 특성에 관한 보고를한다. 지능 오브젝트는 또한 그 컴퓨터 시스템으로의 데이터 흐름 및 그로부터의 데이터 흐름과, 그 컴퓨터 시스템 내에서의 데이터 흐름에 관한 보고도 한다. 지능 오브젝트는 임의의 유형의 하드웨어(예를 들어, CPU, 주변 장치) 또는 소프트웨어(예를 들어, 운영 체제)를 갖는 여러 플랫폼 상에서 사용될 수 있다. 지능 오브젝트 및 다른 소프트웨어의 코어 알고리즘 및 로직은 적응적(adaptive)이고 확률론적(stochastic)이다.
본 발명의 한 응용은 다중 계층 서버 시스템에서이다. 본 발명은 다수의 계층에 걸친 성능을 정확하게 평가한다. 성능 정보는 서버 시스템을 최적화하는 데 사용될 수 있다. 본 발명은 여러가지 특징을 설치, 구성 및 동작하기 위한 효율적인 사용자 인터페이스를 제공한다. 애플리케이션 프로그래밍 인터페이스는 사용자가 임의의 시스템에서 사용하기 위한 설비를 통합하여 구성할 수 있게 해준다.
지능 오브젝트는 각 서버 노드에서 시스템 프로세스를 동적으로 분석하기 위해 서버 노드 레벨에서 동작을 한다. 시스템 프로세스의 분석은 광범위한 것으로서, 하드웨어, 소프트웨어, 운영 체제 및 통신을 포함한다. 각각의 지능 오브젝트 분석의 결과는 각 계층 전반에 걸쳐 다른 모든 지능 오브젝트로 동적으로 전달된다.
양호한 실시예에서는 디지털 네트워크화된 시스템의 성능을 모니터링하는 방법으로서, 노드들은 상기 네트워크화된 시스템 내의 컴포넌트에서 실행되며, 상기 노드는 서버 시스템 내의 컴포넌트의 기능의 적어도 하나의 특징에 관한 정보를 제공하고, 상기 노드는 다수의 그룹으로서 구성되어 있는 방법에 대해 개시하고 있다. 본 방법은, 제1 그룹 내의 노드에 의해 제1 컴포넌트의 성능을 나타내는 값을 발생하는 단계, 상기 값을 제2 그룹 내의 제2 노드로 전송하는 단계, 상기 값을 제2 컴포넌트의 성능을 나타내기 위해 수정하는 단계, 및 상기 디지털 네트워크화된 시스템의 성능을 나타내기 위해 상기 수정된 값을 사용하는 단계를 포함한다. 일 실시예에서, 본 발명은 멀티 서버 시스템의 성능을 모니터링하는 방법으로서, 서버의 그룹들은 통신 교환의 그룹으로서 구성되고, 본 방법은 제1 그룹 내의 제1 서버의 성능을 나타내는 값을 발생하는 단계, 상기 값을 제2 그룹 내의 제2 서버에 전송하는 단계, 상기 값을 제2 서버의 성능을 나타내기 위해 수정하는 단계, 및 상기 멀티 서버 시스템의 성능을 나타내기 위해 상기 값을 사용하는 단계를 포함하는 것인 방법을 제공한다.
본 발명의 양호한 실시예는 "Metilinx iSystem Enterprise" 시스템이라고 하는 제품군으로서 MetiLinx, Inc.에 의해 작성되어 배포된 제품, 문서, 및 다른 시스템 및 자료에 포함되어 있다. Metilinx 시스템은 디지털 네트워크, 특히 기술 지원 센터, 웹 페이지 서버, 데이터베이스 액세스 등과 같은 대규모 인터넷 응용 분야에서 다수의 컴퓨터 서버의 네트워크를 최적화하도록 설계되어 있다.
본 발명의 시스템은 네트워크 내의 각종의 서버, 컴퓨터 또는 다른 처리 플랫폼 상에서 실행되는 "지능 오브젝트(Intelligence Object, IO)"라고 하는 소프트웨어 메카니즘을 사용한다. 지능 오브젝트는 프로세스 또는 프로세스들, 하드웨어 동작, 자원 사용, 또는 네트워크 성능에 영향을 주는 다른 인자에 관한 정보를 획득하는 데 사용된다. 대부분의 네트워크의 성능을 나타내는 합성값(a composite value)이 도출될 수 있도록 지능 오브젝트들 사이에서 값들이 전달된다.
도 2a는 지능 오브젝트 및 값 전달을 나타낸 것이다. 도 2a에서, 도면 부호 102 및 104와 같은 지능 오브젝트는 컴퓨터 서버에 상주한다. 임의의 수의 지능 오브젝트가 서버 컴퓨터에 상주할 수 있으며, n-계층 시스템 내의 임의의 수의 서버 컴퓨터에는 하나 이상의 지능 오브젝트가 설치되어 있을 수 있다. 제1 유형의 지능 오브젝트(IO)는 그의 호스트 컴퓨터 서버에서 동작하는 다른 프로세스 또는 하드웨어의 하나 이상의 특성을 모니터링하여 그에 관한 보고를 할 수 있는 시스템 레벨 오브젝트(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-바이트의 작은값으로 생성되어 공유된다. 관리자에 의해 설정되거나 시스템에 의해 자동적으로 구성된 계층 구조에서, 한 값은 다른 값들과 합성되어 합성값을 획득하게 된다. 합성값은 이어서 계층 구조를 따라 전달되어 추가의 합성값을 획득하는 데 사용되고, 따라서 궁극적으로 전체 시스템 성능이 합성값으로 제공된다.
본 명세서에 기술된 바와 같이 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)에서〕 로컬 매핑되어 있는 드라이브(타겟 노드에 로컬임)를 가리킨다. 네트워크 드라이브의 매핑 또는 새폴더의 생성 등의 통상의 기능이 포함된다. 유의할 점은 파일-전송 동작은 현재의 사용자 인증 정보(usercredential)를 사용하여 수행된다는 것이며, 이는 현재의 사용자가 동작을 수행하는 데 충분한 권리를 가지고 있어야만 함을 의미한다.
도 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 Link Properties) 윈도우를 여는 연결 문자열 편집(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 (9)

  1. 디지털 네트워크화된 시스템의 성능을 모니터링하는 방법으로서,
    노드는 상기 네트워크화된 시스템 내의 컴포넌트에서 실행되며,
    상기 노드는 서버 시스템 내의 컴포넌트의 기능의 적어도 하나의 특징에 관한 정보를 제공하고,
    상기 노드는 다수의 그룹으로서 구성되어 있으며,
    상기 방법은,
    제1 그룹 내의 노드에 의해 제1 컴포넌트의 성능을 나타내는 값을 발생하는 단계,
    상기 값을 제2 그룹 내의 제2 노드로 전송하는 단계,
    상기 값을 제2 컴포넌트의 성능을 나타내기 위해 수정하는 단계, 및
    상기 디지털 네트워크화된 시스템의 성능을 나타내기 위해 상기 수정된 값을 사용하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 노드는 시스템-레벨 오브젝트를 포함하는 것인 방법.
  3. 제1항에 있어서, 상기 노드는 트랜잭션-레벨 오브젝트를 포함하는 것인 방법.
  4. 제1항에 있어서, 상기 그룹은 노드의 풀을 포함하는 것인 방법.
  5. 제4항에 있어서, 풀은 기능 자원 풀을 포함하는 것인 방법.
  6. 제5항에 있어서, 사용자 입력 장치는 사람의 행동에 응답하여 신호를 발생하는 데 사용되고,
    상기 방법은,
    2개의 풀 사이의 연결을 원한다는 것을 나타내기 위해 상기 사용자 입력 장치로부터 신호를 수신하는 단계, 및
    상기 2개의 풀 내의 임의의 기능 자원 풀 사이의 연결을 생성하는 단계를 더 포함하는 것인 방법.
  7. 디지털 네트워크화된 시스템의 성능을 모니터링하는 장치로서,
    상기 장치는 디지털 네트워크화된 시스템에서 정보를 획득하기 위한 명령어를 실행하기 위한 프로세서를 포함하고,
    노드들은 상기 디지털 네트워크화된 시스템 내의 컴포넌트에서 실행되며,
    상기 노드는 서버 시스템 내의 컴포넌트의 기능의 적어도 하나의 특징에 관한 정보를 제공하고,
    상기 노드는 다수의 그룹으로서 구성되어 있으며,
    상기 장치는,
    제1 그룹 내의 노드에 의해 제1 컴포넌트의 성능을 나타내는 값을 발생하는 하나 이상의 명령어,
    상기 값을 제2 그룹 내의 제2 노드로 전송하는 하나 이상의 명령어,
    상기 값을 제2 컴포넌트의 성능을 나타내기 위해 수정하는 하나 이상의 명령어, 및
    상기 디지털 네트워크화된 시스템의 성능을 나타내기 위해 상기 수정된 값을 사용하는 하나 이상의 명령어를 포함하는 장치.
  8. 디지털 네트워크화된 시스템의 성능을 모니터링하는 방법을 포함하는 컴퓨터 판독가능 매체로서,
    노드는 상기 디지털 네트워크화된 시스템 내의 컴포넌트에서 실행되며,
    상기 노드는 서버 시스템 내의 컴포넌트의 기능의 적어도 하나의 특징에 관한 정보를 제공하고,
    상기 노드는 다수의 그룹으로서 구성되어 있으며,
    상기 컴퓨터 판독가능 매체는,
    제1 그룹 내의 노드에 의해 제1 컴포넌트의 성능을 나타내는 값을 발생하는 하나 이상의 명령어,
    상기 값을 제2 그룹 내의 제2 노드로 전송하는 하나 이상의 명령어,
    상기 값을 제2 컴포넌트의 성능을 나타내기 위해 수정하는 하나 이상의 명령어, 및
    상기 디지털 네트워크화된 시스템의 성능을 나타내기 위해 상기 수정된 값을 사용하는 하나 이상의 명령어를 포함하는 컴퓨터 판독가능 매체.
  9. 반송파로 구현된 컴퓨터 데이터 신호로서,
    상기 컴퓨터 데이터 신호는,
    제1 그룹 내의 노드에 의해 제1 컴포넌트의 성능을 나타내는 값을 발생하는 하나 이상의 명령어,
    상기 값을 제2 그룹 내의 제2 노드로 전송하는 하나 이상의 명령어,
    상기 값을 제2 컴포넌트의 성능을 나타내기 위해 수정하는 하나 이상의 명령어, 및
    상기 디지털 네트워크화된 시스템의 성능을 나타내기 위해 상기 수정된 값을 사용하는 하나 이상의 명령어를 포함하는 컴퓨터 데이터 신호.
KR10-2004-7005403A 2001-10-12 2002-05-01 시스템 전반의 최적화 통합 모델 KR20040070338A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/976,368 US20020083170A1 (en) 2000-10-26 2001-10-12 System-wide optimization integration model
US09/976,368 2001-10-12
PCT/US2002/014034 WO2003034754A1 (en) 2001-10-12 2002-05-01 System-wide optimization integration model

Publications (1)

Publication Number Publication Date
KR20040070338A true KR20040070338A (ko) 2004-08-07

Family

ID=25524027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7005403A KR20040070338A (ko) 2001-10-12 2002-05-01 시스템 전반의 최적화 통합 모델

Country Status (8)

Country Link
US (1) US20020083170A1 (ko)
EP (1) EP1440587A4 (ko)
JP (1) JP2005507107A (ko)
KR (1) KR20040070338A (ko)
CN (1) CN1605217A (ko)
BR (1) BR0213244A (ko)
MX (1) MXPA04003402A (ko)
WO (1) WO2003034754A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392482B2 (en) 2003-12-18 2008-06-24 International Business Machines Corporation Selection accelerator in topology views
JP2006085209A (ja) * 2004-09-14 2006-03-30 Hitachi Ltd 計算機システムのデプロイメント方式
US9330175B2 (en) 2004-11-12 2016-05-03 Make Sence, Inc. Techniques for knowledge discovery by constructing knowledge correlations using concepts or terms
US8126890B2 (en) * 2004-12-21 2012-02-28 Make Sence, Inc. Techniques for knowledge discovery by constructing knowledge correlations using concepts or terms
JP2008538016A (ja) 2004-11-12 2008-10-02 メイク センス インコーポレイテッド 概念または項目を用いて知識相関を構成することによる知識発見技術
US20060136526A1 (en) * 2004-12-16 2006-06-22 Childress Rhonda L Rapid provisioning of a computer into a homogenized resource pool
US7529185B2 (en) * 2005-01-26 2009-05-05 International Business Machines Corporation Method, system and program product for determining bandwidth consumption across a multi-tiered computer environment
US8140559B2 (en) * 2005-06-27 2012-03-20 Make Sence, Inc. Knowledge correlation search engine
US8898134B2 (en) 2005-06-27 2014-11-25 Make Sence, Inc. Method for ranking resources using node pool
US8024653B2 (en) * 2005-11-14 2011-09-20 Make Sence, Inc. Techniques for creating computer generated notes
US20070234345A1 (en) * 2006-02-22 2007-10-04 Microsoft Corporation Integrated multi-server installation
US20080005317A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Method and apparatus for cross-tier management in multi-tier computing system architecture
AU2008206570A1 (en) * 2007-01-16 2008-07-24 Timmins Software Corporation Systems and methods for analyzing information technology systems using collaborative intelligence
CN102929613B (zh) * 2012-10-16 2016-08-10 无锡江南计算技术研究所 操作系统的调优装置和方法
CN104660522A (zh) * 2013-11-22 2015-05-27 英业达科技有限公司 自动节点配置方法及服务器系统
DE102014112478A1 (de) * 2014-06-03 2015-12-03 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zur Verteilung von Tasks zwischen Computersystemen, Computernetz-Infrastruktur sowie Computerprogramm-Produkt
US11567996B2 (en) * 2020-12-28 2023-01-31 Atlassian Pty Ltd Collaborative document graph-based user interfaces
CN114090096B (zh) * 2022-01-21 2022-04-15 成都云祺科技有限公司 一种网络虚拟文件系统实现方法、系统及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819028A (en) * 1992-06-10 1998-10-06 Bay Networks, Inc. Method and apparatus for determining the health of a network
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
US6185619B1 (en) * 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US5713075A (en) * 1995-11-30 1998-01-27 Amsc Subsidiary Corporation Network engineering/systems engineering system for mobile satellite communication system
US5913164A (en) * 1995-11-30 1999-06-15 Amsc Subsidiary Corporation Conversion system used in billing system for mobile satellite system
US6185409B1 (en) * 1995-11-30 2001-02-06 Amsc Subsidiary Corporation Network engineering/systems engineering system for mobile satellite communication system
US6112085A (en) * 1995-11-30 2000-08-29 Amsc Subsidiary Corporation Virtual network configuration and management system for satellite communication system
US6058307A (en) * 1995-11-30 2000-05-02 Amsc Subsidiary Corporation Priority and preemption service system for satellite related communication using central controller
US6002689A (en) * 1996-11-22 1999-12-14 Sprint Communications Co. L.P. System and method for interfacing a local communication device
EP0849912A3 (en) * 1996-12-18 1999-02-10 Nortel Networks Corporation Communications network monitoring
US6393455B1 (en) * 1997-03-28 2002-05-21 International Business Machines Corp. Workload management method to enhance shared resource access in a multisystem environment
US6088330A (en) * 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6215772B1 (en) * 1997-11-26 2001-04-10 International Business Machines Corporation Dynamic parameter estimation for efficient transport of HPR data on IP
US6138122A (en) * 1998-03-02 2000-10-24 Agilent Technologies Modeling of internet services
US6470453B1 (en) * 1998-09-17 2002-10-22 Cisco Technology, Inc. Validating connections to a network system
US6301615B1 (en) * 1998-10-14 2001-10-09 Sun Microsystems, Inc. Cluster performance monitoring utility
US6243746B1 (en) * 1998-12-04 2001-06-05 Sun Microsystems, Inc. Method and implementation for using computer network topology objects
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

Also Published As

Publication number Publication date
JP2005507107A (ja) 2005-03-10
EP1440587A4 (en) 2006-11-29
US20020083170A1 (en) 2002-06-27
EP1440587A1 (en) 2004-07-28
BR0213244A (pt) 2004-12-07
MXPA04003402A (es) 2004-07-30
WO2003034754A1 (en) 2003-04-24
CN1605217A (zh) 2005-04-06

Similar Documents

Publication Publication Date Title
KR20040068120A (ko) 멀티 플랫폼 최적화 모델
KR20040070338A (ko) 시스템 전반의 최적화 통합 모델
US10333776B2 (en) Selectable declarative requirement levels
CN103430150B (zh) 在云计算系统中创建资源的技术
US6477572B1 (en) Method for displaying a network topology for a task deployment service
US7970879B1 (en) Task-based automatic network management system with distributed control and management information base
US8099478B2 (en) Program, method, and apparatus for managing applications
US7463648B1 (en) Approach for allocating resources to an apparatus based on optional resource requirements
US7080143B2 (en) System and method providing automatic policy enforcement in a multi-computer service application
KR100324977B1 (ko) 분산 컴퓨팅 환경에서 발견을 위한 시스템, 방법 및 컴퓨터 프로그램 제품
US8019870B1 (en) Approach for allocating resources to an apparatus based on alternative resource requirements
US8179809B1 (en) Approach for allocating resources to an apparatus based on suspendable resource requirements
US8234650B1 (en) Approach for allocating resources to an apparatus
US20020158900A1 (en) Graphical user interfaces for network management automated provisioning environment
US7747709B2 (en) Method and system for automatically cloning IT resource structures
US20080183876A1 (en) Method and system for load balancing
US7634560B2 (en) Method for measuring server performance, system for measuring server performance and computer programs therefor
JP2001209622A (ja) データ処理装置構成管理システム
WO2001098930A2 (en) Graphical editor for designing and configuring a computer network
US20120259960A1 (en) Dynamic Self-Configuration of Heterogenous Monitoring Agent Networks
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
JP2007226719A (ja) クライアントサーバシステム、アプリケーション実行方法およびプログラム

Legal Events

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