KR100683820B1 - 자체-최적화를 위해 관찰된 리소스 요건을 이용한 자율적서비스 라우팅 - Google Patents

자체-최적화를 위해 관찰된 리소스 요건을 이용한 자율적서비스 라우팅 Download PDF

Info

Publication number
KR100683820B1
KR100683820B1 KR1020040004064A KR20040004064A KR100683820B1 KR 100683820 B1 KR100683820 B1 KR 100683820B1 KR 1020040004064 A KR1020040004064 A KR 1020040004064A KR 20040004064 A KR20040004064 A KR 20040004064A KR 100683820 B1 KR100683820 B1 KR 100683820B1
Authority
KR
South Korea
Prior art keywords
service
resource
model
service request
host
Prior art date
Application number
KR1020040004064A
Other languages
English (en)
Other versions
KR20040075710A (ko
Inventor
로날드피. 도일
데이비드루이스 캐민스키
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040075710A publication Critical patent/KR20040075710A/ko
Application granted granted Critical
Publication of KR100683820B1 publication Critical patent/KR100683820B1/ko

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

본발명은 서비스 요구를 라우팅하는 시스템 및 방법에 관한 것이다. 본발명의 시스템에는 리소스 모델을 저장하도록 구성된 모델 테이블이 포함될 수 있다. 모니터는상기 모델 테이블에 결합되고, 서비스 제공 인프라스트럭쳐내 리소스 소모를 모델화하고 또한 상기 모델화된 리소스 소모를 모델 테이블에 저장하기 위해서 프로그램된다. 라우터는 상기 모델 테이블에 결합될 수 있다. 특히, 상기 라우터는, 서비스 제공 인프라스트럭쳐를 구비한 관련된 서비스 호스트내에 배치된 대응하는 서비스 인스탄스로 각 서비스 요구를 라우팅하도록 프로그램될 수 있다.
서비스 요구 라우팅, 리소스 모델, 모델 테이블

Description

자체-최적화를 위해 관찰된 리소스 요건을 이용한 자율적 서비스 라우팅{Autonomic Service Routing Using Observed Resource Requirement for Self-Optimization}
도 1은 본 발명에 따라 요구된 서비스의 리소스 요건에 가장 가장 잘 부합되는 리소스를 구비하는 서비스 제공 인프라스트럭쳐 내에서 서비스 호스트로 서비스 요구를 라우팅하도록 구성된 서비스 그리드의 블록 예시도이다.
도 2는 도 1의 그리드 내 요구된 서비스의 리소스 요건에 가장 잘 부합되는 리소스를 구비한 서비스 제공 인프라스트럭쳐내에서 서비스 호스트로 서비스 요구를 라우팅하기 위한 프로세스를 예시하는 플로우 차트이다.
본발명은 웹 서비스 및 그리드(grid) 서비스를 포함하는 분산 컴퓨팅 분야에 관한 것으로, 구체적으로는 서비스 제공 인프라스트럭처 내에서 서비스 인스탄스 (instance)로 서비스 요구(request)를 라우팅하는 것에 관한 것이다.
웹 서비스는 분산 컴퓨팅을 선도하는 최첨단 기술이며 월드 와이드 웹을 통한 컴포넌트-기반 애플리케이션의 급속한 발전을 지원하는 진정으로 포괄적인 모델을 개발하기 위한 기초로 간주된다. 웹 서비스는 당분야에 공지되어 있으며 서비스-지향의 컴포넌트-기반 애플리케이션 아커텍쳐를 기술하는 수많은 최신 표준들을 포함한다. 특히 웹 서비스는 느슨하게 결합되고(loosely coupled), 의미론적으로 개별 기능(discrete functionality)을 캡슐화(encapsulate)하며 분산된 재사용 가능 소프트웨어 컴포넌트이고, 표준 인터넷 프로토콜을 통해 프로그램적으로 액세스가능하다.
개념적으로 웹서비스는 프로세스내에서 이산형 태스크가 밸류 네트(value net)를 통해 광범위하게 분산된 모델을 나타낸다. 특히, 많은 업계 전문가가 상기 서비스-지향 웹 서비스가 인터넷의 차세대 혁신 국면의 시발점이라고 간주한다. 구현 방법이 웹서비스 인터페이스에 적합한 한, 구현방법의 세부사항은 거의 중요하지 않지만, 일반적으로 웹서비스는 웹서비스 정의 언어(WSDL)와 같은 인터페이스에 의해 정의될 수 있으며 인터페이스에 따라 구현될 수 있다. 일단 웹 서비스가 대응하는 인터페이스에 따라 구현되면, 그 구현은 당분야에 공지되어 있는 유니버셜 디스크립션(Universal description), 디스커버 앤드 인티그레이션(Discover and Integration, UDDI)과 같은 당 분야에 공지되어 있는 웹 서비스 레지스트리로 등록(register)될 수 있다. 등록되면, 예를들어 심플 오브젝트 액세스 프로토콜(simple object access protocol, SOAP)을 포함하는 임의의 지원 메세징 프로토콜의 사용을 통해, 서비스 요구자(requester)가 웹서비스를 액세스 할 수 있다.
웹 서비스를 지원하는 서비스-지향 애플리케이션 환경에서, 애플리케이션의 목적을 충족시키기 위해 신뢰할만한 서비스를 지정하고, 이러한 신뢰할만한 서비스를 실시간으로 동적으로 통합하는 것은 문제가 있는 것으로 입증되었다. 레지스트리, 디렉토리 및 디스커버리 프로토콜이 서비스 검출 및 서비스간(Service-to-Service) 상호접속 로직을 구현하기 위한 기본 구조를 제공하는 반면, 레지스트리, 디렉토리 및 디스커버리 프로토콜 단독으로는 분산 상호작용(interoperability)에는 적합하지 않다. 오히려 더 잘 통일된 애플리케이션의 형성에 있어서 웹 서비스의 분산을 용이하게 하기 위해서는 구조화되고 형식화된 메커니즘이 필요할 수 있다.
명백히, 오픈 그리드 서비스 아커텍쳐(Open Grid Services Architecture: OGSA)를 이용한 그리드 메커니즘의 생리학은, 그렇지 않았다면 레지스트리, 디렉토리 및 디스커버리 프로토콜의 배타적인 사용을 통해서는 가능하지 않았을 방법으로, 이하에서는 분산된 시스템을 통해 그리드 서비스로서 언급되는, 웹서비스의 디스커버리(discovery) 및 바인딩(binding) 모두에서 프로토콜을 제공할 수 있다. 이안 포스터(Ian Foster), 칼 케셀만(Carl Kesselman) 및 스티븐 튜에크(Steven Tuecke)의 인터내셔널 J. 슈퍼컴퓨터 애플리케이션(2001)에 실린 "그리드의 분석"과 이안 포스터(Ian Foster), 칼 케셀만(Carl Kesselman), 제프리 엠 닉(Jeffrey M. Nick) 및 스티븐 튜에크(Steven Tuecke)의 Globus.org(2002년 6월 22일)에 실린 "그리드의 생리학" 모두에 기재된 바와 같이, 그리드 메카니즘은 분산된 컴퓨팅 인프라스트럭쳐를 제공할 수 있으며 이를 통해 요구측 고객이 그리드 서비스 인스탄스를 생성, 명명, 발견할 수 있다.
그리드 서비스는 기업 간 협력을 위한 지원뿐만 아니라 고도의 분산 애플리케이션에 의해 통상적으로 필요한 긴 수명 상태의 지원, 향상된 리소스 공유 및 스케쥴링 지원을 제공함으로써 단순한 웹 시비스를 확장한다. 더우기, 웹서비스가 단독으로 영속적인 서비스의 디스커버리와 호출(invocation)을 해결하는 반면, 그리드 서비스는 동적으로 생성되고 파괴될 수 있는 일시적(transient) 서비스 인스탄스를 지원한다. 그리드 서비스를 사용하는 주목할 만한 이점에는 컴퓨팅 리소스를 효율적으로 사용하는데 기인한 정보 기술 소유권 비용의 감소와, 다양한 컴퓨팅 컴포넌트의 통합을 용이하게 하는 개선점이 포함될 수 있다. 따라서, 그리드 메커니즘, 특히 OGSA에 준거한 그리드 메커니즘은 서비스-지향 아커텍쳐를 구현할 수 있으며 이를 통해 조직의 영역(domain)에 걸치는 경우에도 분산 시스템 통합의 기초를 제공할 수 있다.
컴퓨팅 그리드 내에서, 서비스 제공 인프라스트럭쳐는 그리드 서비스와 같은 분산 서비스의 실행을 호스팅하기 위한 프로세싱 리소스를 제공할 수 있다. 서비스 제공 인프라스트럭쳐는 서버 컴퓨팅 디바이스, 직접 접속 저장장치, 네트워크 접속 저장장치 및 저장장치 영역 네트워크를 포함하는 저장 장치 시스템, 프로세싱 및 통신 밴드폭 등을 포함하는 리소스 세트가 포함될 수 있다. 서비스 제공 인프라스트럭쳐 내에서 처리되는 개별적인 트랜잭션은 이러한 리소스의 상이한 혼합을 소모(consume)할 수 있다.
그리드 서비스 정황(context)에서는, 특정 서비스 제공 인프라스트럭쳐 내에서 호스트되는 특정 서비스 인스탄스로 특정 서비스 인스탄스의 큐 길이에 따라 요구(requests)를 라우팅 하는 것이 공지되어 있다. 큐 길이에 근거한 특정 서비스 인스탄스의 논리 선택은 가능한 최단의 큐 내에 서비스 프로세싱에 대한 요구를 위치시킴으로써 반응 시간을 최소화하기 위한 시도를 나타낸다. 유사하게, 호스팅 서비스 제공 인프라스트럭쳐의 프로세싱 성능을 특정 서비스 인스탄스를 선택하는 데 있어 더 고려할 수 있다.
특히, 다른 서비스 인스탄스의 두배의 속도로 요구를 처리할 수 있는 특정 서비스 인스탄스는, 특정 서비스 인스탄스가 다른 서비스 인스탄스의 두배 길이의 큐를 가지는 경우에 다른 서비스 인스탄스와 동일한 처리 작업량을 가질 수 있다. 아직까지 큐 길이 선택 전략은 지나치게 조잡하고 정교하지 못하며, 서비스 제공 인프라스트럭쳐의 가용성 있는 리소스에 대해 요구된 서비스의 요건과 부합하지 않는다. 특히, 종래의 환경에서는 단순히 스칼라적(scalar) 성능평가기준(benchmark)이 전체 서비스 제공 인프라스트럭쳐와 연관될 수 있다. 결론적으로 서비스 제공 인프라스트럭쳐의 입자성(granualr) 컴포넌트는 고려할 수 없다.
본발명은 서비스 요구를 라우팅하는 시스템 및 방법에 관한 것이다. 본발명에 따르면 개별적인 서비스 요구를, 서비스 요구의 소모 패턴과 리소스 요건에 가장 적합한 리소스 컴포넌트를 가지는, 선택된 서비스 호스트 내의 서비스 인스탄스로 라우팅할 수 있다. 이러한 방법으로 단순한 스칼라적 성능평가기준이 전체 서비스 제공 인프라스트럭쳐와 연관될 수 있는 종래의 환경과는 달리, 서비스 인스탄스로 서비스 요구를 라우팅할 때 그리드 호스트의 서비스 제공 인프라스트럭쳐의 입자성 컴포넌트가 고려될 수 있다.
서비스 요구 라우팅 시스템은 리소스 모델을 저장하도록 구성된 모델 테이블을 포함할 수 있다. 모니터를 모델 테이블에 결합할 수 있고 서비스 제공 인프라스트럭쳐내에 리소스 소모를 모델화하도록 프로그램화하고 모델 테이블내 이 모델화된 리소스 소모를 저장하도록 프로그램화할 수 있다. 라우터는 또한 모델 테이블에 결합될 수 있다. 특히, 라우터는 각 서비스 요구를 서비스 제공 인프라스트럭쳐를 가진 연관된 서비스 호스트내 배치된 대응하는 서비스 인스탄스로 라우트하도록 프로그램할 수 있다. 본발명의 바람직한 측면에서 연관된 서비스 호스트는 그리드 컴퓨팅 시스템내 그리드 호스트를 포함할 수 있다.
중요하게, 라우팅은 서비스 요구를 위한 리소스 모델에 대한 서비스 제공 인프라스트럭쳐의 리소스 컴포넌트의 매칭(matching)에 근거될 수 있다. 부가적으로 바람직한 측면에서 모델 테이블 내의 각 리소스 모델은 타임 시리즈 모델(time series model)일 수 있다. 결국 리소스 컴포넌트는 서비스 제공 인프라스트럭쳐에 대응하는 리소스 벡터를 형성할 수 있다. 이와 관련하여, 리소스벡터내 각 리소스 컴포넌트는 서버 형태, 밴드 폭, 저장 시스템 형태로 구성된 그룹으로부터 선택된 리소스를 포함할 수 있다. 다른 리소스에는 예를들어, 캐시 크기 또는 CPU 속도와 같은 더욱 많은 입자성 컴퓨팅 리소스가 포함될 수 있다. 더우기 개별적인 리소스 백터간에 상대값(relative cost)을 결정하기 위하여 각 리소스 벡터의 스칼라 값(scalar cost)이 비교되도록 프로그램될 수 있는 비교기가 더 포함될 수 있다.
서비스 제공 인프라스트럭쳐 내에 서비스 인스탄스로 서비스 요구를 라우팅하는 방법에는 서비스 요구를 수신하는 것과 적어도 두개의 서비스 호스트에 대한 서비스 벡터를 계산하는 것이 포함될 수 있다. 각 서비스 호스트는 대응하는 서비스 제공 인프라스트럭쳐를 가질 수 있다. 서비스 요구에 대해 리소스 모델을 검색할 수 있다. 따라서, 검색된 리소스 모델을 리소스 벡터 각각에 매치하여 가장 적합한 리소스 벡터를 식별할 수 있다. 마지막으로, 서비스 요구는 식별된 가장 적합한 리소스 벡터와 연관된 선택된 서비스 호스트로 라우팅할 수 있다.
본발명의 바람직한 측면에서, 리소스 벡터 각각에 대하여 적어도 두개의 스칼라 리소스 컴포넌트를 계산할 수 있다. 이와 관련하여 스칼라 컴포넌트는 서버 형태, 서버 성능, 서버 용량, 프로세싱 밴드폭, 통신 밴드폭, 저장장치 형태, 저장장치 용량 및 저장장치 성능을 포함할 수 있다. 또한, 각 리소스 벡터에 대해 스칼라 값을 계산할 수 있다. 이러한 방식으로, 더욱 비용 효율적인 리소스 벡터를 결정하도록 스칼라 값을 비교할 수 있다.
리소스 모델을 생성하기 위해서 수신된 서비스 요구의 처리를 모니터할 수 있으며 프로세싱 동안 소모되는 서비스 호스트내에서 각각의 리소스 컴포넌트를 식별할 수 있다. 따라서, 서비스 호스트 내 식별된 개별 리소스 컴포넌트에 근거하여 서비스 요구에 대해 리소스 모델을 생성할 수 있다. 명백히, 상기 생성단계는 식별된 개별 리소스 컴포넌트에 근거하고 서비스 요구 각각에 대하여 타임 시리즈 모델을 계산하는 단계를 포함할 수 있다.
현재 가장 바람직한 실시예가 도면에 나타나 있으나, 본발명은 도면에 나타난 정확한 배열 및 수단에 제한되는 것은 아니라는 것이 이해되어야 한다.
본발명은 선택된 서비스 제공 인프라스트럭쳐내 서비스 인스탄스로 서비스 요구를 라우팅하는 시스템 및 방법에 관한 것이다. 특히, 서비스의 입자성 리소스 요건을 요구된 서비스의 인스탄스를 호스팅하는 서비스 제공 인프라스트럭쳐와 연관된 리소스 세트내의 입자성 리소스에 매치할 수 있다. 호스트 서비스 제공 인프라스트럭쳐의 리소스 가용성에 대해 요구된 서비스의 리소스 요건의 가장 적합한 매칭에 근거하여, 서비스 프로세싱에 대한 요구는 매치된 서비스 제공 인프라스트럭쳐 내에 호스트된 서비스 인스탄스에 할당할 수 있다. 이러한 방식으로, 서비스 제공 인프라스트럭쳐의 조잡하고 정교하지 못한 스칼라적 평가에 근거하여 서비스 요구를 단순히 라우팅하는 것을 피할 수 있다.
도 1은 본발명에 따라 요구된 서비스의 리소스 요건에 가장 가장 잘 매치되는 리소스를 구비하는 서비스 제공 인프라스트럭쳐 내에서 서비스 호스트로 서비스 요구를 라우팅하도록 구성된 서비스 그리드의 블록 예시도이다.
당분야의 기술자들에게 명백한 바와 같이, 서비스 그리드는 예를들어 인터넷과 같은 컴퓨터 통신 네트워크(110)에 걸친 그리드 방식으로 서로 통신가능하게(communicatively) 링크된 하나이상의 그리드 호스트(120)로 구성된 웹서비스 그리드일 수 있다. 개별적인 요구 고객(190)은 하나이상의 그리드 호스트(120)로부터 웹서비스에 대한 액세스를 요구할 수 있다. 특히, 당분야에 잘 알려진 바와 같이, 요구하는 고객(190)과 그리드 호스트(120) 사이에서 SOAP 코드화된 메세지를 교환할 수 있다. 상기 메세지는 특정 웹서비스의 위치를 발견하기 위한 요구와, 요구된 웹 서비스의 네트워크 위치가 노출되는 상기 요구에 대한 응답을 또한 포함할 수 있다.
그리드 호스트(120)는 중앙집중화된 방식으로 서버 컴퓨팅 디바이스에 배치하거나 또는 분산된 방식의 다수 서버 컴퓨팅 디바이스에 걸쳐 서버 컴퓨팅 디바이스내에 배치될 수 있다. 어느 경우든지, 마크업 문서와 같은 콘텐트에 대한 네트워크 요구에 응답하도록 구성될 수 있는 웹서버(140)가 제공될 수 있다. 이 분야의 통상의 지식을 가진자에 의하여 이해될 수 있는 바와 같이, 웹 서버(140)는 하이퍼텍스트 전송 프로토콜(HTTP) 메세지를 처리하고, 하이퍼텍스트 마크업 언어(HTML) 포맷된 문서, 확장가능한 마크업 언어(XML) 포맷된 문서 등과 같은 마크업을 분산하도록 구성될 수 있다.
웹 서버(140)를 그리드 호스트(120) 내에서 애플리케이션 서버(150)와 통신가능하게 링크할 수 있다. 애플리케이션 서버는 당분야에 공지되어 있으며 해석 방식(interpreted manner)으로든 또는 원래의 포맷으로든 일반적으로 기계 코드를 처리하도록 구성된다. 종래의 애플리케이션 서버는 스크립트와 서브렛과 같은 서버측 로직을 처리한다. 어느 경우에도, 애플리케이션 서버(150)는 그리드 호스트(120) 내 하나이상의 웹 서비스 콘테이너의 개별적인 웹 서비스를 인스탄스화하도록(instantiate) 구성된 웹 서버 엔진(160)에 링크될 수 있다. 이 웹 서비스 인스탄스는 그리드 호스트(120)의 리소스(130)를 액세스할 수 있다. 이 리소스(130)의 집합(collection)을 서비스 제공 인프라스트럭쳐의 근거(foundation)로 고려할 수 있다는 것은 당업자에게 인식될 것이다. 그러한 목적으로 리소스(130)는 서버 컴퓨팅 디바이스 및 프로세스, 저장장치 시스템, 통신과 밴드폭을 포함할 수 있다.
중요하게, 그리드 서비스 메카니즘(170)은 각 그리드 호스트(120)에 배치될 수 있다. 그리드 서비스 메카니즘(170)은, 예를들어 글로버스 프로젝트(Globus Project), 글로버스 툴킷 퓨처: 오픈 그리드 서비스 아커텍쳐, 글로버스 튜토리얼(Globus Tutorial), 아르곤 내셔널 래보러토리(Argonne National Laboratories)(2002년 1월 29일)에 따라서 특정되고 OGSA에 의해 정의된 것과 같은 그리드 서비스 인터페이스를 구현할 수 있다. 당업계에 알려진 바와 같이, OGSA 형(OGSA compliant) 그리드 서비스 인터페이스에는 다음의 인터페이스 및 동작이 포함될 수 있다.
1. 웹서비스 생성(팩토리)
2. 글로발 네이밍(그리드 서비스 처리) 및 참조(그리드 서비스 참조)
3. 수명 관리
4. 등록 및 디스커버리
5. 인증
6. 통지
7. 병행성
8. 관리능력
이와 관련하여, 그리드 서비스 메카니즘(170)은 팩토리 생성 서비스(Factory Create Service)를 이용하여 선택된 웹 서비스의 인스탄스를 새롭거나 기존의 애플리케이션 콘테이너로 클론화(clone) 할 수 있는 팩토리 인터페이스를 포함할 수 있다.
의미심장하게, 그리드 서비스 메카니즘(170)은 요구된 웹서비스의 클론 인스탄스를 하나이상의 원격 그리드 호스트(120)에 걸쳐 인스탄스화할 수 있다. 특히, 그리드 아커텍쳐의 의도와 일관되게, 개별적인 원격 그리드 호스트(120)에 의해 경험하는 프로세싱 로드가 수용가능하거나 또는 미리 특정된 용량을 초과하는 경우에 선택된 웹 서비스의 새로운 인스탄스를 호스트하도록 개별적인 원격 그리드 호스트(120)의 다른 호스트들을 선택할 수 있다. 어떠한 경우에도, 특정 웹 서비스에서 프로세싱을 위해 서비스 요구를 수신하는 것에 응답하여, 특정된 웹 서비스의 임의의 특정 인스탄스와 무관하게, 라우팅 프로세스(200B)는 서비스 요구를 처리하기 위해 그리드 호스트(120) 내에 특정 서비스 인스탄스를 선택할 수 있다.
현저하게, 특정 서비스 인스탄스를 선택하는데 있어서, 특정 서비스 인스탄스의 그리드 호스트(120)의 서비스 제공 인프라스트럭쳐와 연관된 리소스(130)가 고려될 수 있다. 더욱 구체적으로, 그리드 호스트(120)의 리소스 가용성을 서비스 요구의 리소스 요건과 매치할 수 있다. 리소스 매칭을 수행하기 위해서, 그리드 호스트(120)에서 처리되는 각 트랜잭션에 대하여, 모니터 프로세스(200A)는, 리소스 요건과 트랜잭션에 대한 소모 모델을 확립하기 위하여 그리드 호스트(120) 내 리소스(130)의 사용효율을 모니터할 수 있다. 각 트랜잭션에 대한 확립된 모델은 모델 테이블(200C) 내에 저장할 수 있다.
이어서, 라우터는 라우팅 프로세스 동안의 고려사항 하에서 각 그리드 호스트(120)에 대한 리소스 벡터를 확립할 수 있다. 리소스 벡터는 그리드 호스트(120)의 서비스 제공 인프라스트럭쳐의 근거를 형성하는 개별적인 리소스(130)에 대한 스칼라 값을 포함할 수 있다. 예로서 가용성 있는 프로세싱 밴드폭, 가용성있는 통신 밴드폭, 저장장치 형태, 용량 및 응답성, 서버 형태 등이 포함될 수 있다. 그리드 호스트의 서비스 제공 인프라 스트럭쳐에 대해 확립된 각 리소스 벡터는 벡터 테이블(200D)에 저장될 수 있다. 부가적으로, 벡터 테이블(200D) 내의 개별적인 벡터가 스칼라 방식으로 서로 비교될 수 있도록 벡터에 관한 값(cost) 구성요소를 계산할 수 있다.
서비스 요구가 라우팅 프로세스(200B)에서 수신될 때, 라우팅 프로세스(200B)는 서비스 요구와 연관된 트랜잭션 형태를 식별할 수 있다. 트랜잭션 형태에 근거하여, 트랜잭션 형태에 대한 모델은 모델 테이블(200C)로부터 검색될 수 있고, 수신된 서비스 요구를 처리할 수 있는 가용성 있는 서비스 인스탄스를 구비하거나 수신된 서비스 요구를 처리할 수 있는 서비스 인스탄스를 인스탄스화하는 능력을 갖춘 그리드 호스트(120)과 연관된 벡터 테이블(200D) 내의 리소스 벡터에 매치될 수 있다. 이와 관련하여, 가장 적합한 알고리즘은 요구를 처리하기에 가장 적합한 그리드 호스트(120)를 선택하기 위해서 가장 적합한 알고리즘이 적용될 수 있다.
도 2는 도 1의 그리드내에서 요구된 서비스의 리소스 요건과 가장 잘 매치되는 리소스를 구비한 서비스 제공 인프라스트럭쳐내의 서비스 호스트로 서비스 요구를 라우팅하기 위한 프로세스를 예시하는 플로우 차트이다. 블록(210)에서 시작하여, 그리드 서비스 요구를 수신할 수 있다. 블록 220에서 서비스 형태를 식별할 수 있다. 블록 230에서, 각각의 리소스 벡터를 확립하기 위해 요구된 서비스 형태의 서비스 인스탄스를 호스트하도록 구성된 가용성있는 그리드 호스트의 리소스를 쿼리(query)할 수 있다. 부가적으로, 블록 230에서, 서비스 형태에 대한 모델이 계산되는지를 결정할 수 있다.
결정 블록(decision block) 240에서, 식별된 서비스 형태에 대한 모델이 지정될 수 있다면, 블록 280에서, 큐 길이 및 스칼라적 성능의 관점에서 가장 고도의 가용성을 증명하는, 요구된 서비스 형태의 서비스 인스탄스를 호스트하도록 구성된 그리드 호스트를 선택할 수 있다. 그렇지 않으면, 서비스 형태에 대한 리소스 모델을 블록 250에서 검색할 수 있고, 블록 260에서 요구된 서비스 형태의 서비스 인스탄스를 호스트 할 수 있는 그리드 호스트 세트의 리소스 벡터와 모델에 대해 최적의 분석을 적용할 수 있다. 블록 260의 최적의 분석에 근거하여, 블록 270에서 서비스 요구를 특정 그리드 호스트내 서비스 인스탄스로 라우팅할 수 있다.
본발명은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 결합으로 실현될 수 있다. 본발명의 방법 및 시스템의 구현은 하나의 컴퓨터 시스템에서 중앙집중화된 방식으로 또는 상이한 구성요소가 몇몇의 상호연결된 컴퓨터 시스템에 걸쳐 퍼져있는 분산된 방식으로 실현될 수 있다. 본명세서내에 기재된 방법을 실행하기 위하여 채택된 임의의 종류의 컴퓨터 시스템, 또는 다른 장치도 명세서에 기재된 기능을 수행하기에 적합하다.
하드웨어와 소프트웨어의 일반적인 결합은, 로딩되고 실행되었을 때 본명세서에 기재된 방법을 실행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 구비한 범용컴퓨터일 수 있다. 본발명은 본명세서내에 기재된 방법의 구현을 가능하게 하는 모든 특성을 포함하고 컴퓨터 시스템내에 로딩되었을때 이방법을 실행할 수 있는 컴퓨터 프로그램 제품내에 또한 내장될 수 있다.
본 맥락에서 컴퓨터 프로그램 또는 애플리케이션은 시스템이 a) 다른 언어, 코드 또는 노테이션으로의 변환 b)상이한 재료 형태로의 재생 둘중의 하나 또는 두가지 이후에 또는 직접적으로 특정 기능을 수행하기 위한 정보 프로세싱 성능을 구비하도록 야기하도록 의도되어진 인스트럭션 세트의 임의의 언어, 코드, 또는 표기(notation)의 임의의 표현을 의미한다. 현저하게, 본발명은 본발명의 본질적인 속성 또는 범주를 벗어남이 없이 다른 구체적인 형태로 구현될 수 있다. 따라서, 본발명의 범주를 나타냄에 있어서 전술한 명세서보다는 후술하는 청구범위가 참조되어야만 한다.
본발명은 서비스 요구 라우팅 시스템 및 방법에 관한 것으로, 본발명에 따르면, 서비스 인스탄스로 서비스 요구를 라우팅할 때 그리드 호스트의 서비스 제공 인프라스트럭쳐의 입자성 컴포넌트가 고려될 수 있다.

Claims (16)

  1. 서비스 요구를 라우팅하는 시스템에 있어서,
    리소스 모델을 저장하도록 구성된 모델 테이블과,
    상기 모델 테이블에 결합되고, 서비스 제공 인프라스트럭쳐내 리소스 소모를 모델화하고 또한 상기 모델 테이블 내에 상기 모델화된 리소스 소모를 저장하기 위해서 프로그램되는 모니터와,
    상기 모델 테이블에 결합되고, 상기 서비스 요구를 위한 리소스 모델과 상기 서비스 제공 인프라스트럭쳐의 리소스 컴포넌트의 매칭에 근거하여 서비스 제공 인프라스트럭쳐를 구비한 연관된 서비스 호스트내에 배치된 대응하는 서비스 인스탄스로 각 서비스 요구를 라우팅하도록 프로그램된 라우터
    를 포함하는 서비스 요구 라우팅 시스템.
  2. 제 1 항에 있어서, 상기 연관된 서비스 호스트는 그리드 컴퓨팅 시스템내 그리드 호스트를 포함하는 서비스 요구 라우팅 시스템.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서, 상기 모델 테이블내 각 리소스 모델은 타임 시리즈 모델(time series model)인 서비스 요구 라우팅 시스템.
  4. 제 1 항에 있어서, 상기 리소스 컴포넌트는 상기 서비스 제공 인프라스트럭쳐에 대응하는 리소스 벡터를 형성하는 서비스 요구 라우팅 시스템.
  5. 제 4 항에 있어서, 상기 리소스 벡터내 각 리소스 컴포넌트는 서버 형태, 밴드폭 및 저장장치 시스템 형태로 이루어진 그룹으로부터 선택된 리소스를 포함하는서비스 요구 라우팅 시스템.
  6. 제 4 항에 있어서, 개별적인 리소스 벡터간의 상대값을 결정하기 위해서 각 리소스 벡터의 스칼라 값을 비교하도록 프로그램된 비교기를 더 포함하는 서비스 요구 라우팅 시스템.
  7. 서비스 제공 인프라스트럭쳐내 서비스 인스탄스로 서비스 요구를 라우팅하는 방법에 있어서,
    서비스 요구를 수신하는 단계와,
    적어도 두개의 서비스 호스트-상기 적어도 두개의 서비스 호스트의 각각은 대응하는 서비스 제공 인프라스트럭쳐를 구비함-에 대한 리소스 벡터를 계산하는 단계와,
    상기 서비스 요구에 대한 리소스 모델을 검색하는 단계와,
    가장 적합한 리소스-벡터를 식별하기 위해서 상기 리소스 벡터 각각에 상기 검색된 리소스 모델을 매칭하는 단계와,
    상기 식별된 가장 적합한 리소스 벡터와 연관된 선택된 서비스 호스트로 서비스 요구를 라우팅하는 단계
    를 포함하는 서비스 요구 라우팅 방법.
  8. 제 7 항에 있어서, 상기 계산하는 단계는, 상기 리소스 벡터 각각에 대하여 서버 형태, 서버 성능, 서버 용량, 프로세싱 밴드폭, 통신 밴드폭, 저장장치 형태, 저장장치 용량 및 저장장치 성능으로 이루어진 그룹으로부터 선택된 적어도 두개의 스칼라 리소스 컴포넌트를 계산하는 단계를 포함하는 서비스 요구 라우팅 방법.
  9. 제 7 항에 있어서, 상기 계산하는 단계는 상기 리소스 벡터 각각에 대한 스칼라 값을 계산하는 단계를 더 포함하는 서비스 요구 라우팅 방법.
  10. 제 7 항에 있어서,
    수신된 서비스 요구의 프로세싱을 모니터하는 단계와,
    상기 프로세싱 동안 소모된 상기 서비스 호스트내 개별적인 리소스 컴포넌트를 식별하는 단계와,
    상기 서비스 호스트내 상기 식별된 개별적인 리소스 컴포넌트에 근거하여 상기 서비스 요구에 대한 리소스 모델을 생성하는 단계
    를 더 포함하는 서비스 요구 라우팅 방법.
  11. 삭제
  12. 제 7항 내지 제 10항 중 어느 한 항에 따른 방법을 수행하기 위한, 서비스 제공 인프라스트럭쳐내 서비스 인스탄스로 서비스 요구를 라우팅하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 기록매체.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020040004064A 2003-02-21 2004-01-20 자체-최적화를 위해 관찰된 리소스 요건을 이용한 자율적서비스 라우팅 KR100683820B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/370,837 US7461166B2 (en) 2003-02-21 2003-02-21 Autonomic service routing using observed resource requirement for self-optimization
US10/370,837 2003-02-21

Publications (2)

Publication Number Publication Date
KR20040075710A KR20040075710A (ko) 2004-08-30
KR100683820B1 true KR100683820B1 (ko) 2007-02-16

Family

ID=32868232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040004064A KR100683820B1 (ko) 2003-02-21 2004-01-20 자체-최적화를 위해 관찰된 리소스 요건을 이용한 자율적서비스 라우팅

Country Status (4)

Country Link
US (3) US7461166B2 (ko)
JP (1) JP4507620B2 (ko)
KR (1) KR100683820B1 (ko)
CN (1) CN100484120C (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
US7562254B2 (en) * 2003-07-01 2009-07-14 International Business Machines Corporation Checkpointing and restarting long running web services
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
CN100555226C (zh) * 2003-12-18 2009-10-28 俱爰特株式会社 服务器/客户端***,负荷分散装置,负载分散方法
GB0421646D0 (en) * 2004-09-29 2004-10-27 British Telecomm Sharing data processing resources
EP1805610A4 (en) * 2004-10-04 2008-02-13 Research In Motion Ltd ALLOCATION OF WIRES TO USER OBJECTS OF A COMPUTER SYSTEM
US8127010B2 (en) * 2004-10-04 2012-02-28 Research In Motion Limited System and method for adaptive allocation of threads to user objects in a computer system
GB0425860D0 (en) * 2004-11-25 2004-12-29 Ibm A method for ensuring the quality of a service in a distributed computing environment
JP4616674B2 (ja) * 2005-03-18 2011-01-19 株式会社日立製作所 リソース貸借方法、および、リソース貸借システム
US7406689B2 (en) * 2005-03-22 2008-07-29 International Business Machines Corporation Jobstream planner considering network contention & resource availability
US7657924B2 (en) * 2005-04-06 2010-02-02 International Business Machines Corporation Method and system for implementing authorization policies for web services
US20070168548A1 (en) * 2006-01-19 2007-07-19 International Business Machines Corporation Method and system for performing multi-cluster application-specific routing
US20070209042A1 (en) * 2006-03-01 2007-09-06 France Telecom Grid computing architecture & associated method of invoking/registering network services for subscription
US7970856B2 (en) * 2006-06-02 2011-06-28 International Business Machines Corporation System and method for managing and distributing assets over a network
WO2008111031A2 (en) * 2007-03-12 2008-09-18 France Telecom An improved grid computing architecture and method for invoking network services for subscription
US8051421B2 (en) * 2007-03-30 2011-11-01 Sap Ag Method and system for estimating resource provisioning
US20100235843A1 (en) * 2007-04-04 2010-09-16 Bae Systems Plc. Improvements relating to distributed computing
US7895345B2 (en) * 2007-04-13 2011-02-22 Microsoft Corporation Distributed routing table architecture and design
US8893141B2 (en) * 2008-01-28 2014-11-18 Microsoft Corporation System and method for describing applications for manageability and efficient scale-up deployment
JP5315128B2 (ja) * 2009-05-25 2013-10-16 株式会社日立製作所 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法
KR20110026748A (ko) * 2009-09-08 2011-03-16 삼성에스디에스 주식회사 U-시티에서의 u-가상 센터 시스템 및 그 구동 방법
US8352610B2 (en) * 2009-11-25 2013-01-08 International Business Machines Corporation Matching interest and availability of services in distributed federated service domains
US8402139B2 (en) * 2010-02-26 2013-03-19 Red Hat, Inc. Methods and systems for matching resource requests with cloud computing environments
US20130191535A1 (en) * 2010-06-29 2013-07-25 Zte (Usa) Inc Method and system for cloud-based media adaptation and transcoding service
JP4982600B2 (ja) * 2010-09-24 2012-07-25 株式会社日立製作所 リソース貸借方法、および、リソース貸借システム
US9003416B2 (en) * 2010-09-29 2015-04-07 International Business Machines Corporation Predicting resource requirements for a computer application
WO2013025591A2 (en) * 2011-08-12 2013-02-21 Gridmarkets Pte. Ltd. Brokerage method and system for computational resources
US8898271B2 (en) * 2011-09-29 2014-11-25 Oracle International Corporation System and method for supporting accurate load balancing in a transactional middleware machine environment
CN105531688B (zh) * 2013-09-04 2018-05-29 慧与发展有限责任合伙企业 提供作为其它服务的资源的服务
US10291548B2 (en) 2014-08-08 2019-05-14 Oracle International Corporation Contribution policy-based resource management and allocation system
US9912609B2 (en) * 2014-08-08 2018-03-06 Oracle International Corporation Placement policy-based allocation of computing resources
CN105933270B (zh) * 2015-12-28 2019-01-22 ***股份有限公司 一种云加密机的处理方法及装置
CN109242678A (zh) * 2018-08-09 2019-01-18 北京领知数据服务中心(有限合伙) 一种交易平台的数据处理方法和装置
US11556321B2 (en) 2019-09-06 2023-01-17 International Business Machines Corporation Deploying microservices across a service infrastructure
WO2024044119A1 (en) 2022-08-25 2024-02-29 E Ink Corporation Transitional driving modes for impulse balancing when switching between global color mode and direct update mode for electrophoretic displays

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018060A (en) 1989-01-26 1991-05-21 Ibm Corporation Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters
US5181017A (en) 1989-07-27 1993-01-19 Ibm Corporation Adaptive routing in a parallel computing system
US5526489A (en) * 1993-03-19 1996-06-11 3Com Corporation System for reverse address resolution for remote network device independent of its physical address
JPH0793262A (ja) 1993-09-27 1995-04-07 Nec Corp アプリケーションツール実行管理システム
US5734909A (en) 1995-09-01 1998-03-31 International Business Machines Corporation Method for controlling the locking and unlocking of system resources in a shared resource distributed computing environment
US5838681A (en) 1996-01-24 1998-11-17 Bonomi; Flavio Dynamic allocation of port bandwidth in high speed packet-switched digital switching systems
AU2343097A (en) 1996-03-21 1997-10-10 Mpath Interactive, Inc. Network match maker for selecting clients based on attributes of servers and communication links
JPH1132081A (ja) 1997-07-11 1999-02-02 Nec Commun Syst Ltd ダイナミックルーチング方式選択網における中継回線探索方法
JP3417818B2 (ja) 1997-11-05 2003-06-16 日本電信電話株式会社 アプリケーションプログラム移動位置決定方法及びデータファイル移動位置決定方法並びにその装置
US6128509A (en) * 1997-11-07 2000-10-03 Nokia Mobile Phone Limited Intelligent service interface and messaging protocol for coupling a mobile station to peripheral devices
US6131190A (en) 1997-12-18 2000-10-10 Sidwell; Leland P. System for modifying JCL parameters to optimize data storage allocations
US6307839B1 (en) 1997-12-31 2001-10-23 At&T Corp Dynamic bandwidth allocation for use in the hybrid fiber twisted pair local loop network service architecture
US6360263B1 (en) 1998-02-25 2002-03-19 International Business Machines Corporation Dynamic resource allocation for user management in multi-processor time shared computer systems
US6430618B1 (en) 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6125278A (en) 1998-07-27 2000-09-26 Wieczorek; Alfred A. Method for optimizing resource allocation based on subscriber transmission history
JP2000112909A (ja) 1998-10-06 2000-04-21 Nec Corp 負荷分散管理システムおよび負荷分散管理方法
US6360259B1 (en) 1998-10-09 2002-03-19 United Technologies Corporation Method for optimizing communication speed between processors
US6240463B1 (en) 1998-11-24 2001-05-29 Lucent Technologies Inc. Router placement methods and apparatus for designing IP networks with performance guarantees
US6604146B1 (en) 1999-06-15 2003-08-05 Viasat, Inc. Efficient internet service implementation for mesh satellite networks using centralized router server for distribution of destination tables
US6463454B1 (en) 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US6732139B1 (en) * 1999-08-16 2004-05-04 International Business Machines Corporation Method to distribute programs using remote java objects
US6453376B1 (en) 1999-10-21 2002-09-17 Sony Corporation Method for implementing scheduling mechanisms with selectable resource modes
US20020194251A1 (en) * 2000-03-03 2002-12-19 Richter Roger K. Systems and methods for resource usage accounting in information management environments
JP3617406B2 (ja) 2000-03-30 2005-02-02 日本電気株式会社 マルチドメインに対応した品質保証型通信サービス提供方式およびサービス提供方法並びにサービス仲介装置
JP2001325041A (ja) 2000-05-12 2001-11-22 Toyo Eng Corp 計算機資源活用方法及びシステム
WO2002035391A1 (en) 2000-10-23 2002-05-02 Sri International Resource distribution and addressing
US7174194B2 (en) 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6877035B2 (en) 2001-01-29 2005-04-05 International Business Machines Corporation System for optimal resource allocation and planning for hosting computing services
JP2002259353A (ja) 2001-03-01 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> 広域クラスタ通信の設定方法、クラスタノードマネージャ装置、クラスタ装置および広域クラスタネットワーク
JP2002342297A (ja) 2001-05-16 2002-11-29 Nec Corp 分散シミュレーション制御装置
US7647523B2 (en) * 2002-06-12 2010-01-12 International Business Machines Corporation Dynamic binding and fail-over of comparable web service instances in a services grid
US7200657B2 (en) * 2002-10-01 2007-04-03 International Business Machines Corporation Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
US8140677B2 (en) * 2002-11-21 2012-03-20 International Business Machines Corporation Autonomic web services hosting service
US20060294238A1 (en) * 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
US7383550B2 (en) * 2002-12-23 2008-06-03 International Business Machines Corporation Topology aware grid services scheduler architecture
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization

Also Published As

Publication number Publication date
US20090100192A1 (en) 2009-04-16
JP4507620B2 (ja) 2010-07-21
CN100484120C (zh) 2009-04-29
US7912957B2 (en) 2011-03-22
US7461166B2 (en) 2008-12-02
JP2004252975A (ja) 2004-09-09
KR20040075710A (ko) 2004-08-30
US20110191466A1 (en) 2011-08-04
US20040167959A1 (en) 2004-08-26
US8140674B2 (en) 2012-03-20
CN1523845A (zh) 2004-08-25

Similar Documents

Publication Publication Date Title
KR100683820B1 (ko) 자체-최적화를 위해 관찰된 리소스 요건을 이용한 자율적서비스 라우팅
KR100826837B1 (ko) 서비스 인스턴스 생성 방법, 예측형 그리드 서비스인스턴스 생성 시스템 및 머신 판독 가능 저장 장치
EP1512265B1 (en) A computing services grid
US7287179B2 (en) Autonomic failover of grid-based services
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
JP4954089B2 (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
US9086923B2 (en) Autonomic workflow management in dynamically federated, hybrid cloud infrastructures
JP2007518169A (ja) 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持
US20040068553A1 (en) Dynamically selecting a Web service container for hosting remotely instantiated Web services
Lu et al. JTangCMS: An efficient monitoring system for cloud platforms
Watson et al. Dynamically deploying web services on a grid using dynasoar
Di Martino et al. Grid performance and resource management using mobile agents
Elmroth et al. Grid infrastructure tools for multi-level job management
Tanaka et al. Resource manager for globus-based wide-area cluster computing
Cappa-Banda et al. Experimenting with a load-aware communication middleware for CPS domains
Vargas et al. Hierarchical resource management and application control in grid environments
Crawford et al. Commercial Applications of Grid Computing
Kemelmakher et al. Scalable and adaptive resource sharing in PVM
Yu et al. Towards dynamic integration, scheduling and rescheduling of scientific applications
Yan The CheapGrid 2.0: Building a more flexible, reliable, inexpensive grid system
Chen et al. Research and implement of grid portal based on GridPort

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110110

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee