KR20050056899A - 처리 대수를 사용하여 계약을 명시하고 그것의 수행 예측구현을 사용하여 수행 세부사항을 측정하는 시스템 및 방법 - Google Patents

처리 대수를 사용하여 계약을 명시하고 그것의 수행 예측구현을 사용하여 수행 세부사항을 측정하는 시스템 및 방법 Download PDF

Info

Publication number
KR20050056899A
KR20050056899A KR1020040104196A KR20040104196A KR20050056899A KR 20050056899 A KR20050056899 A KR 20050056899A KR 1020040104196 A KR1020040104196 A KR 1020040104196A KR 20040104196 A KR20040104196 A KR 20040104196A KR 20050056899 A KR20050056899 A KR 20050056899A
Authority
KR
South Korea
Prior art keywords
agent
performance
service
entity
agents
Prior art date
Application number
KR1020040104196A
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 KR20050056899A publication Critical patent/KR20050056899A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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/5006Creating or negotiating SLA contracts, guarantees or penalties
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 시스템 및 방법은 확률 계산(즉, pi 계산)을 사용하여 비율, 업타임(uptime), 용량 중의 적어도 하나를 포함하는 서비스 품질을 결정한다(즉, 명시하거나, 예측하는 등). 서비스 품질은 에이전트(예를 들어, 웹 서비스)에 의해 제공되고 그리고/또는 요구되는 서비스 수준을 지시할 수 있다. 서비스 품질은 모델(예를 들어, 상태도 또는 수학적 알고리즘)을 통해 에이전트의 계약을 나타내고, 각각의 천이들에 대해 연계된 비율들을 예측하기 위해 채택되는 천이 비용들을 계산하기 위해 사용되는 비용 함수들을 갖는 모델을 만듦으로써 얻어질 수 있다. 모델은 업타임을 결정하는 오류 상태들로 추가 표현되고 채널 용량을 결정하기 위해 채택될 수 있다. 일반적으로, 요구 에이전트와 제공 에이전트의 서비스 품질은 제공 에이전트가 요구 에이전트의 수행 수준을 만족시킬 수 있는지를 판정하기 위해 비교될 수 있다.

Description

처리 대수를 사용하여 계약을 명시하고 그것의 수행 예측 구현을 사용하여 수행 세부사항을 측정하는 시스템 및 방법{SYSTEMS AND METHODS THAT EMPLOY PROCESS ALGEBRA TO SPECIFY CONTRACTS AND UTILIZE PERFORMANCE PREDICTION IMPLEMENTATIONS THEREOF TO MEASURE THE SPECIFICATIONS}
본 발명은 일반적으로 통신망 서비스에 관한 것이고, 더 구체적으로 서비스 요구 및/또는 광고된 서비스 제공자의 비율, 업타임, 및/또는 용량을 표현하는 시스템 및 방법에 관한 것이다.
본 출원서는 본 명세서에 그 전체 내용이 참조되는 "확률적 PI 계산"의 표제의 2003년, 12월 10일 출원된 미국특허 가출원 번호 60/528,758의 특권을 청구한다.
컴퓨터와 통신망 기술들의 계속되는 진보는 컴퓨터를 고가 저성능 데이타 처리 기계에서, 개인 및 기업 관련 작업들이 매일 수행되는 방식으로 개혁된 저가의 효율적인 통신, 문제 해결, 및 오락 시스템으로 변환하여 왔다. 그런 작업의 예들은 기본 통신, 물품 구매, 물품 제공, 정보 수집, 서비스 요구, 서비스 제공 등을 포함한다. 종래에는, 친구나 가족과의 통신과 같은 개인 작업들은 사람이 종이, 필기 도구, 봉투, 및 우표를 구해서 통신의 서신을 작성하여 우편으로 보내야 했다. 상술한 것은 일반적으로 고객이 돈과 시간을 쓰도록하고 물품들을 구하고 및/또는 그 서신을 우편으로 부치기 위해 나갔다 와야 했다. 더욱이, 수취인은 발송인이 우편 서비스에 얼마를 지불하려는가에 따라 몇 시간이나 몇 일 후까지 그 서신을 수신하지 못 할 것이다. 종래의 기업 트랜잭션은 일반적으로 몇 번의 전화 통화, 서신 교환(예를 들어, 우편, 팩스), 및/또는 하나 이상의 상대방과의 직접 개인적 접촉과 관련 있다; 그리고, 몇 개의 예들에서, 하나 이상의 상대방들은, 예를 들어, 비용, 거리, 또는 능력 때문에 트랜잭션 필요요건들에 부합하기에는 적절치 않은 상대방일 수 있다.
오늘날, 증가하는 수의 개인 및 기업 트랜잭션들은 컴퓨터와 통신망 기술들로 용이하게 되고 그리고/또는 수행될 수 있다. 예를 들어, 통신, 청구서 지불, 쇼핑, 예산 계상, 및 정보 수집 모두는 적절한 사용자 권리로 적합한 통신망에 접속된 컴퓨터를 사용하여 성취될 수 있다. 예로서, 소비자/제공자는 컴퓨터를 구해서(즉, 데스크탑 컴퓨터, 랩탑, 핸드핼드, 셀폰 등) 그것과 LAN, WAN, Wi-Fi 통신망, 인터넷 등과 같은 통신망과 인터페이스 할 수 있다. 통신망은 그 컴퓨터로부터, 기본적으로 세계 도처에 있을 수 있는 한 개 이상의 다른 컴퓨터들(예를 들어, 서버들)로의 통신 링크를 제공할 수 있다. 이 링크는, 예를 들어, 데이타를 교환하고, 물건을 소비하고, 데이타 뱅크들의 저장소에 있는 풍부한 정보를 액세스하기 위해 사용될 수 있다. 그런 통신의 다른 장점은 사용자 가정의 편의에 따라, 사용자 손끝이나 마우스 버튼의 클릭에 따라, 그리고, 많은 경우, 사용자의 비용부담 없이 또는 최소한의 비용으로 그것이 사용될 수 있다는 점이다.
예를 들어, 웹 도메인이 사용자 친화형 인터페이스, 비교적 보안된 환경, 상호작동, 및 개발자 친화형 환경을 제공할 수 있으므로, 개인과 기업 트랜잭션들을 완수하는 것을 용이하게 하는 웹 도메인의 유익성들을 사용하는 것이 증대되는 경향이다. 웹 도메인에서, 다양한 웹 사이트들 및/또는 분리된 웹 서버들과 연계된 서비스들은 웹 브라우져를 통해 액세스될 수 있다. 예를 들어, 웹 사용자는 웹 브라우져를 배치하여 웹 브라우져의 주소 바에 사이트의 URL(Uniform Resource Locator)를 입력하여 그 웹 사이트를 액세스할 수 있다. 전형적 URL은 웹 사이트와의 링크를 확립시키는 것을 용이하게 하는 적어도 4 가지 정보를 포함한다. 즉, URL은 정보 교환에 대한 일단의 규칙들과 표준들을 나타내는 프로토콜(통신 언어), 웹 사이트의 주소나 위치, 웹 사이트를 유지관리하는 조직의 이름, 및 조직의 타입을 식별하는 접두어(예를 들어, com, org, net, gov 및 edu)를 포함할 수 있다. 예로서, 한 가상 주소 http://www.foo.com는 다음과 같이 정의될 수 있다: "http"는 웹 서버가 HTTP(HyperText Transfer Protocol)를 사용함을 명시할 수 있고, "://"는 표준 URL 문법이고, "www"는 웹 사이트가 WWW(World Wide Web)("웹") 내에 있음을 명시할 수 있고, "foo"는 웹 서버가 FOO사에 위치됨을 명시할 수 있고, "com"은 Foo사가 상업 기관임을 명시할 수 있고, "."은 상술한 필드들 간에 분리자로서 사용된다.
인터넷을 통한 이 통신의 분산 수단은 (분리된 위치들에 있는 컴퓨터들 간의 통신) "웹 서비스"라고 언급되는 개념을 유도해 냈다. 일반적으로, 웹 서비스는 웹과 연결하여 실행하는 응용 프로그램으로서 정의되어 작업을 수행하거나 서비스들을 제공하는 서비스 제공자를 찾거나 선택하는 메카니즘을 제공할 수 있다. 다수의 예에서, 그런 서비스들 간의 통신은 분리된 사용자들에 의해 제공된 작업 및/또는 서비스들에 관련된 정보 제공을 포함한다. 그런 정보는 적절한 서비스 제공자를 요구하는 서비스에 정합시키는 것을 용이하게 하도록 사용될 수 있다. 종래 기술들은 그런 정합에 대한 기본 프레임워크를 제공한다: 그러나, 서비스 요구들과 적절한 서비스 제공자들을 정합시키는 것을 향상시키는 더 풍부한 정보를 제공하는 진보된 접근법에 대한 필요가 있다.
다음에 본 발명의 일부 양태들에 대한 기본 이해를 제공하기 위해 본 발명의 요약을 제공한다. 이 요약은 본 발명의 상세한 고찰이 아니다. 본 발명의 키 또는 중요 항목들을 식별하기 위해서나 본 발명의 범위를 한정시키기 위한 의도는 아니다. 그것의 단 한가지 목적은 이후 제공되는 더 상세한 설명의 서문으로서 간략한 형태로 본 발명의 일부 개념들을 제공하는데 있다.
본 발명은 계약을 명시하고 검사하는 것에의 새로운 접근법을 제공한다. 시스템들 및 방법들은 명시 메카니즘으로서 확률적-pi 기술 및 명시에 대해 측정된 구현으로서 수행 예측 기술을 채택한다. 이 방식으로, 계약은 확률적-pi의 단편으로 명시될 수 있고, 구현은 그것에 대해 검사된다. 본 발명은 확률적-pi 계산을 사용하여 명백하게 비율들을 액션들에 연계시키고, 여기서 세만틱(semantics)은 길레스피 스타일(Gillespie's style)의 확률적 에이전트 기반 모의실험을 허용한다. 추가로, 본 발명은 확률적-pi 계산의 진보된 동작 세만틱을 사용하고, 이것은 pi-계산 처리의 실행에 따른 레이블된 천이 시스템에서 증명-트리들을 천이들과 연계시키도록 한다. 게다가, 본 발명은 그런 증명-트리들을 비율들을 나타내는 숫자들에 조합하여 매핑하는 비용 함수를 제공하는 기술을 사용한다.
본 발명은 비율, 업타임, 및/또는 용량을 포함한 서비스 품질과 관련된 풍부한 정보를 제공하는 시스템들과 방법들을 포함한다. 그런 수행은 요구사항과 연계될 수 있고, 요구사항을 서비스하기 위해 제공된 수행 수준과 같이 요구사항 및/또는 서비스들을을 서비스하기 위해 요구된 수행 수준이 명시된다. 서비스 수행은 확률 계산(즉, 처리 대수(process algebra))과 같은 수학을 사용하여 결정되고 그리고/또는 표현될 수 있다. 적절한 수학의 예들은, 하지만 제한적으로가 아닌, pi와 rho 계산과 그것의 유도식들을 포함한다. 추가로, 서비스 수행은 메세지 내용, 서비스 위치, 통신 프로토콜들 등을 설명하는 정보와 함께 설명(예를 들어, 계약서)에 포함될 수 있다. 일반적으로, 요구 에이전트와 서비스 제공 에이전트에 대한 명시되고 그리고/또는 예측되는 서비스 수행은 제공자가 요구된 수준의 수행을 만족시킬 수 있는지를 판정하기 위해 비교될 수 있다. 상술된 접근법은 통상적으로 에이전트들에 대한 비율, 업타임, 및/또는 용량과 같은 풍부한 수행 데이타를 제공하기 위해 확률 계산을 사용하지 않는 종래 기술들에 비해 새로운 향상점들을 제공한다.
본 발명의 일 양태에서, 에이전트(예를 들어, 웹 서비스)에 대한 서비스 수행의 표현을 용이하게 하는 시스템이 설명된다. 시스템은 에이전트의 사용자가 그 에이전트에 대한 수행 수준을 명시하도록 하는 서비스 관리자 컴포넌트를 포함한다. 수행 수준은 에이전트(또는 에이전트로부터의 요구사항)를 서비스하기 위해 사용자가 찾는 최소의 원하는 그리고/또는 요구된 수행 수준, 또는 요구사항을 서비스하기 위해 에이전트에 의해 채택된 수행 수준을 결정할 수 있다. 수행 수준은, 요구사항이나 서비스에 대한 수행 수준을 계산하고 그리고/또는 예측할 수 있고, 요구되고 그리고/또는 제공된 서비스들의 품질에 대한 객관적 측정치를 제공하는 수학적 알고리즘(pi 및/또는 rho 계산과 같은 확률 계산 등의 처리 대수를 통해)으로서 생성되고 그리고/또는 표현될 수 있다. 수행 수준은, 예를 들어, 비율, 업타임, 그리고/또는 용량과 같은 기준들을 지시하기 위해 사용될 수 있다.
본 발명의 다른 양태에서, 수행 표현 시스템은 수행 수준의 설명을 저장할 수 있는 설명 컴포넌트와 그 설명의 구현을 저장할 수 있는 구현 컴포넌트를 더 포함한다. 설명은 비율, 업타임, 및/또는 용량에 관련된 정보 및 다른 정보를 포함할 수 있다. 설명 컴포넌트에 저장된 설명은 다른 에이전트들의 수행 설명들과 비교되어 에이전트들이 기능적으로 동일한지를 판정할 수 있다. 이 비교는 통상적으로 컴플라이언스 알고리즘(compliance algorithm)으로 용이하게 된다. 추가로, 그런 기재는 구현 컴포넌트에 저장된 구현과 비교되어 서비스 제공자가 에니젠트에 의해 명시된 수행 품질을 만족시킬 수 있는지를 결정할 수 있다. 이 비교는 컨포먼스 알고리즘(conformance algorithm)으로 용이하게 될 수 있다. 임의의 에이전트는 다른 에이전트들에게 그들의 기재 및/또는 그것의 구현을 선택적으로 광고할 수 있다.
본 발명의 또 다른 양태들에서, 교섭 에이전트들을 묘사하는 시스템들이 설명된다. 교섭 에이전트들 중의 적어도 하나는 명시된 수준의 수행을 갖는 서비스의 "요구(ask)"를 전송할 수 있다. "요구"는 다른 에이전트들 중의 적어도 하나에 의해 사용되어 그런 에이전트가 명시된 수준의 수행을 만족시킬 수 있는지를 결정할 수 있다. 추가로, 에이전트들 중의 적어도 하나는 다른 에이전트들 중의 하나로부터의 요구사항을 핸들링하기 위해 제공된 수행 수준을 광고하는 "경매(bid)"를 전송할 수 있다. 게다가, "경매"를 수신하는 임의의 에이전트가 제안된 서비스들과 연계된 비용에 대해 통고되도록 비용과 연계될 수 있다. "요구"와 "경매"에 제공된 양쪽 수행 수준 및 그것들의 비교들이 처리 대수를 통해 결정될 수 있다. 추가로, 비율, 업타임, 및 용량 컴포넌트들은 에이전트들에 대해 비율, 업타임, 및 용량을 각각 결정하기 위해 채택될 수 있다. 이 정보는 "요구"와 "경매"에 병합되어 "요구"가 "경매"에 의해 만족될 수 있는지를 결정하는 것을 용이하게 할 수 있다.
본 발명의 다른 양태들에서, 수행 수준들을 사용하는 모델들 및 방법들이 설명된다. 모델들은 계약의 다양한 상태들을 나타내고 상태 천이들을 표현하여, 예를 들어, 비율, 업타임, 및 용량과 같은 수행 기준들을 결정하는 것을 포함한다. 방법들은 교섭 중의 에에젠트들에 대해 수행 수준들을 결정하고 그리고/또는 사용하는 것을 용이하게 하는 동작의 예들을 제공한다. 그 시스템들에 유사하게, 모델들과 방법들은 처리 대수를 사용한다.
다음 설명 및 첨부 도면들은 본 발명의 특정 설명적 양태들을 상세히 기재한다. 그러나, 이런 양태들은 본 발명의 원칙들이 사용될 수 있는 다양한 방식들 중의 몇 개만을 지시하고, 본 발명은 모든 그런 양태들과 그들의 동격들을 포함하도록 의도된다. 본 발명의 다른 장점들 및 새로운 특징들은 도면들과 함께 고려될 때 본 발명의 다음의 상세한 설명으로부터 명백해질 것이다.
본 출원서에서 사용된 바와 같이, "컴포넌트", "시스템" 등과 같은 용어들은 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행의 소프트웨어 중의 하나인 컴퓨터 관련 개체를 언급하기 위해 의도된다. 예를 들어, 컴포넌트는, 하지만 제한적이 아닌, 처리기에서 실행되는 처리, 처리기, 객체, 실행파일, 실행 쓰레드(a thread of execution), 프로그램, 및/또는 컴퓨터일 수 있다. 예로서, 서버에 실행되는 응용 프로그램 및 서버 모두는 컴포넌트일 수 있다. 한 개 이상의 컴포넌트들은 처리 및/또는 실행 쓰레드 내에 자리잡을 수 있고, 컴포넌트는 한 개의 컴퓨터에 위치될 수 있고 그리고/또는 2 개 이상의 컴퓨터들 사이에 분산될 수 있다.
본 발명은 웹 서비스들과 같은 에이전트들에 대해 서비스 품질을 명시하는 시스템들 및 방법들에 관한 것이다. 서비스 품질은 요구사항을 서비스하기 위해 이용가능한/제공된 수행 및/또는 요구사항을 서비스하기 위해 요구된/원하는 수행을 지시할 수 있는 비율, 업타임, 및/또는 용량 명시(예를 들어, 수치)를 포함할 수 있다. 그런 서비스 품질의 명시는 확률 계산을 사용하여 서비스 제공 에이전트가 다른 에이전트로부터의 특정 요구사항을 만족시킬 수 있는지를 결정하는 기술들을 통해 예측될 수 있다. 설명의 방식으로서, 시스템들 및 방법들은 명시 메카니즘으로서 확률적-pi 기술 그리고 그 명시에 대해 측정되는 구현으로서 수행 예측 기술을 사용할 수 있다. 예를 들어, 확률적-pi 계산은 액션들에 비율들을 명백히 연계시키기 위해 사용되고, 여기서 세만틱이 길레스피 스타일 확률적 에이전트 기반 모의실험을 허용한다; 관련된 진보된 동작 세만틱은 pi-계산 처리의 실행에 따라 레이블된 천이 시스템에 천이들에 증명 트리들을 연계시키기 위해 사용될 수 있다; 그리고 그런 증명 트리들은 비용 함수를 통해 비율들을 나타내는 숫자들에 조합적으로 매핑될 수 있다. 상술한 바는 계약이 확률적-pi의 단편으로 명시될 수 있고, 구현은 그것에 대해 검사될 수 있는 새로운 기술을 제공한다.
본 발명은 참조 번호들이 도면 전체에서 해당 소자들을 지시하기 위해 사용되는 도면들을 참조하여 기재된다. 다음 설명에서, 설명을 목적으로, 다수의 특정 세부사항들이 본 발명의 철저한 이해를 제공하기 위해 기재된다. 그러나, 본 발명이 이런 특정 세부사항들이 없이 실시될 수 있음은 명백할 것이다. 다른 예들에서, 공지된 구조들 및 디바이스들은 본 발명의 설명을 용이하게 하기 위해 블럭도 형태로 도시된다.
도 1은 서비스 수행을 표현하는 시스템(100)을 도시한다. 시스템(100)은 에이전트에 대한 수행 수준을 정의(즉, 명시하고, 예측하는 등)하기 위해 사용될 수 있는 서비스 관리자 컴포넌트(110), 및 다양한 에이전트들과 서비스 관리자 컴포넌트(110)를 결합시킬 수 있는 인터페이스 컴포넌트(120)를 포함한다. 본 발명의 양태들에 따라 사용될 수 있는 에이전트들의 예들은, 하지만 제한적이 아닌, 서비스를 요구할 수 있는 에이전트들, 요구사항을 서비스할 수 있는(예를 들어, 핸들링하고, 처리하고, 수행하고, 응답하는 등) 에이전트들, 및 서비스를 요구하고 요구사항을 핸들링도 모두 할 수 있는 에이전트들을 포함한다.
예를 들어, 적절한 에이전트는 버스나 통신망을 통해 다른 컴포넌트들(예를 들어, 다른 상태 머신들)과 인터랙트하는 상태 머신일 수 있다. 그런 상태 머신은 데이타나 처리 서비스들에 대한 요구사항(예를 들어, 신호로써)을 전송할 수 있다. 추가로, 상태 머신은 그런 서비스들을 요구하는 다른 컴포넌트에 데이타나 처리 서비스들을 제공할 수 있다. 사용된 버스 및/또는 통신망은 상태 머신에 근거리일 수 있고, 상태 머신과 복수의 다른 컴포넌트들에 공통일 수 있고, 상태 머신으로부터 원거리에 위치할 수도 있음을 이해할 수 있을 것이다. 추가로, 다양한 프로토콜들은 버스 및/또는 통신망을 통해 통신을 용이하게 하기 위해 사용될 수 있다. 다른 예에서, 에이전트는 그래픽 사용자 인터페이스들(GUIs)을 사용하는 종래 웹 서버/웹 페이지 시스템에서 클라이언트 및/또는 서버일 수 있다. 다른 예에서, 에이전트는 비지니스 논리, 데이타, 및 처리들이 통신망을 가로질러 프로그램 인터페이스를 통해 웹 서비스들 사이에 공유되는 웹 서비스 환경에서 클라이언트 및/또는 서버가 될 수 있고, 웹 서비스들은 GUI 또는 실행 파일 내에서 병합되어, 특정 기능을 제공할 수 있다. 그렇게 해서, 에이전트는, 예를 들어, LAN(Local Area Network), WAN(Wide Area Network), 인터넷 등의 다양한 통신망 토팔로지들, 및 HTTP(HyperText Transfer Protocol), FTP(File Transfer Protocol), 및 SMTP(Simple Mail Transfer Protocol)의 전송 프로토콜들을 통해 한 개 이상의 다른 에이전트들(예를 들어, 클라이언트들, 서버들, 및 웹 서비스들)과 통신할 수 있다.
상술된 예들은 본 발명에 따라 채택될 수 있는 다양한 타입들의 에이전트들의 샘플을 제공하고, 그것의 전체 리스트는 아님을 이해할 수 있을 것이다. 추가로, 그런 에이전트들은 소프트웨어, 펌웨어, 및/또는 하드웨어로 표현되고 그리고/또는 구현될 수 있고, 분리된 시스템들이나 단일 시스템과 연결하여 분산될 수 있음을 이해할 수 있을 것이다. 예를 들어, 에이전트는 XML(Extensible Markup Language), HTML(HyperText Markup Language), DHTML(Dynamic HTML), SGML(Standard Generalized Markup Language), WSDL(Web Services Description language), SOAP(Simple Object Access Protocol) 등과 같은 마컵 언어로 표현될 수 있고, C-기반 언어 등과 같은 프로그래밍 언어로 구현될 수 있다. 게다가, 본 명세서에서 사용되는 바와 같이 에이전트들은 임의의 특정 운영 체제(OS)에 제한되지 않는다.
서비스 관리자 컴포넌트(110)는 에이전트에 대한 수행 수준을 명시하는 적절한 권한들(예를 들어, 에이전트 소유자 및 에이전트 관리자, 디자이너, 프로그래머 등)을 갖는 에이전트를 사용자가 인에이블하도록 할 수 있다. 수행 수준은 에이전트나 에이전트의 요구사항을 서비스하기 위해 사용자가 찾는 최소 원하는 및/또는 요구되는 수행 수준을 결정할 수 있다. 다른 예에서, 수행 수준은 요구사항을 서비스하기 위해 에이전트에 의해 사용된 수행 수준을 지시할 수 있다. 그런 수행은 에이전트마다 다를 수 있고, 고정되거나 변경될 수 있음을 이해해야 한다. 다양한 수행 수준들은 사용된 실제 수준의 수행이 요구되거나 선택된 수행 수준 및/또는 이용 가능한 자원들에 기초하도록 범위들이 표현될 수 있다. 추가로, 한 범위 내의 각각의 수행 수준들은 소비되거나 할당된 자원의 양이 요구 에이전트가 특정 수준의 수행에 대해 얼마를 지불하기를 원하는가의 추가적 함수일 수 있도록 비용과 연계될 수 있다.
사용자는 서비스 관리자 컴포넌트(110)에 수행 수준을 수동으로 제공할 수 있거나(예를 들어, 그것에 업로드하거나 생성됨), 수행 수준은 지능(예를 들어, 기계 학습 기술들(machine learning techniques))을 통해 자체생성될 수 있음을 이해할 수 있을 것이다. 추가로, 수행 수준은 요구사항이나 서비스에 대한 수행 수준을 계산하고 그리고/또는 예측할 수 있는 수학적 알고리즘으로서 생성되고 그리고/또는 표현될 수 있다. 본 발명의 일 양태에서, 수학적 알고리즘은 pi 및/또는 rho 계산과 같은 확률 계산 등의 처리 대수에 기초할 수 있다. 그렇게, 수행 수준은 요구된 및/또는 제공된 서비스 품질의 객관적 측정을 나타낼 수 있다. 추가로, 수행 수준은 아래 상세히 기재된 바와 같이 비율, 업타임, 용량 등과 같은 다양한 정보를 지시할 수 있다.
위에 간략하게 기재된 바와 같이, 인터페이스 컴포넌트(120)는 에이전트에 서비스 관리자 컴포넌트(110)를 결합시킬 수 있다. 인터페이스 컴포넌트(120)는 기본적으로 임의의 에이전트와 서비스 관리자 컴포넌트(110)를 결합하고 그것들 사이에 통신을 제공하기 위해 다양한 프로토콜들을 포함할 수 있음을 이해할 것이다. 추가로, 인터페이스 컴포넌트(120)는 한 개 이상의 에이전트 및/또는 서비스 관리자 컴포넌트(110)에 의해 동시에 및/또는 직렬로 사용될 수 있다. 예를 들어, 서비스 관리자 컴포넌트(110)는 한 개 이상의 에이전트들에 인터페이스 컴포넌트(120)를 통해 결합될 수 있고, 여기서 그것은 한 개 이상의 에이전트들에 대해 수행의 명시를 용이하게 하기 위해 사용될 수 있다. 추가로, 한 개 이상의 서비스 관리자 컴포넌트(110)는 인터페이스 컴포넌트(120)를 통해 에이전트에 결합될 수 있고, 여기서 임의의 서비스 관리자 컴포넌트(110)는 에이전트로부터의 요구사항들에 대한 수행을 명시할 수 있고, 그리고/또는 그 에이전트로부터의 적어도 요구사항들의 일부를 서비스하기 위해 경쟁할 수 있다.
일반적으로, 종래 시스템들은 형식적 처리 언어를 통해 본 명세서에서 기재된 바와 같이 수행(예를 들어, 비율, 업타임, 용량 등)을 명시하기 위해 제공하지 않는다. 대신에, 그런 시스템들은 통상적으로 작업 비율들과 같은 정보를 계산하고 그런 정보를 수동으로 프로그래밍하기 위해 프로그래머에게 부담이 된다. 그러므로, 종래 기술들은 풍부성이 결여될 수 있고, 다른 작업들을 수행하여 더 효율적으로 사용될 수 있는 제한된 자원들을 소비할 수 있다. 추가로, 종래 기술들은 계산 오류 및/또는 프로그래머 주관성에 취약하다.
본 발명은 요구사항을 핸들링하기 위한 수행 수준과 서비스 제공자가 그 요구사항을 서비스하기 위해 제안하는 수행 수준과의 비교를 위해 사용될 수 있는 객관적 수치를 예측하기 위해(예를 들어, 본 명세서에서 기재된 바와 같이 수행 예측 기술을 통해) 처리 대수를 사용하여 그런 쟁점들을 완화시킬 수 있다. 그러므로, 수행 수준은 요구 또는 서비스 에이전트들에 대해 명시될 수 있고, 예측된 수행 수준과 명시된 수행 수준을 비교하여 요구된 서비스들의 효율적이고 신뢰성 있는 핸들링을 용이하게 하기 위해 에이전트들 사이에 교섭하는 동안 그런 수행이 사용될 수 있다. 본 발명의 일 실시예에서, 확률적-pi 계산과 연계된 동작 세만틱은 pi-계산 처리의 실행에 따라 비율들을 액션들과 연계시키고 증명-트리들을 레이블된 천이 시스템의 천이들과 연계를 명백히 하기 위해 사용되고, 여기서 증명-트리들은 비용 함수를 통해 비율들을 나타내는 숫자들에 조합적으로 매핑될 수 있다. 상술한 바는 확률적-pi의 단편으로 계약이 명시되도록 하고, 그것에 대한 구현이 검사된다.
도 2는 서비스 수행을 표현하는 것을 용이하게 하는 시스템(200)을 도시한다. 시스템(200)은 서비스 관리자 컴포넌트(110)와 인터페이스 컴포넌트(120), 및 추가로, 설명 컴포넌트(210)와 구현 컴포넌트(220)를 포함한다. 상술한 바와 같이, 서비스 관리자 컴포넌트(110)는 에이전트를 서비스하기 위해 요구된 수행 수준 및/또는 요구사항들을 서비스하기 위해 에이전트에 의해 제공된 수행 수준을 명시하는 것을 용이하게 한다. 그런 수행은 서비스를 요구하는 에이전트와 서비스를 제공하는 에이전트 사이에 교섭 기준들로서 사용될 수 있는 객관적 측정을 제공하는 처리 대수(즉, pi와 rho 계산)를 통해 결정될 수 있다.
설명 컴포넌트(210)는 수행 수준(즉, 명시되고, 예측되는 등)의 설명을 저장하기 위해 사용될 수 있고, 구현 컴포넌트(220)는 설명의 구현을 저장하기 위해 사용될 수 있다. 이 설명은 명시된 비율, 업타임, 및/또는 용량에 관련한 정보 및 다른 정보를 포함할 수 있다. 일반적으로, 요구사항의 제기자에 의해 제공자들로부터 요구된 자원들의 양 및/또는 에이전트 제공자가 그런 요구사항을 서비스하기 위해 사용하기를 원하는 자원들의 양을 지시하기 위해 비율이 사용될 수 있다. 업타임은 요구자가 수용하기를 원하는 핸들링 지연(예를 들어, 오류 때문에)이나 제공자에 의해 요구사항을 서비스할 때 추정된 지연을 지시하기 위해 사용될 수 있다. 용량은 통상적으로 임의의 주어진 시간에 처리될 수 있는 데이타 양을 지시한다.
서비스를 요구하는 에이전트는 제공자가 그것의 요구사항을 핸들링할 수 있는 것을 보장하기 위해 이 파라미터를 사용할 수 있고, 서비스를 제공하는 에이전트는 이 파라미터를 사용하여 그것의 용량 능력을 광고할 수 있다. 광고는 제공자 용량이 다른 요구사항들을 핸들링하는 것에 의존하는지를 포함할 수 있다. 예를 들어, 제공자는 평행하게 복수 요구사항들을 동시 핸들링할 수 있고, 여기서 임의의 주어진 시간에 그것의 용량은 그 시간에 핸들링되고 있는 다른 요구사항들의 수에 기초한다. 요구사항들이 직렬로 핸들링될 때, 광고는 처리가 복수 요구사항들에 대해 시분할(time-sliced)인지 또는 각각의 요구사항들이 다른 요구사항을 처리하기 전에 서비스되는지를 지시할 수 있다.
설명 컴포넌트(210)에 저장된 설명은 다른 에이전트들의 수행 설명(즉, 명시되고, 예측되는 등)과 비교되어 그 설명이 다른 설명과 기능적으로 동일한지를 결정할 수 있다. 이 비교는 통상적으로 컴플라이언스 수학적 알고리즘으로 용이하게 된다. 추가로, 그런 설명은 구현 컴포넌트(220)에 저장된 구현과 비교될 수 있다. 이 비교는 컨포먼스 알고리즘에 의해 용이하게 될 수 있고, 서비스 제공자가 에이전트에 의해 명시된 수행 품질을 만족시킬 수 있는지를 판정할 수 있다.
서비스 관리자(110)는 다른 에이전트들에게 수행 설명들 및/또는 설명 구현들을 선택적으로 나타낼 수 있음을 이해할 것이다. 예를 들어, 통상적 에이전트는 설명 구현들에의 액세스를 막으면서도 다른 에이전트들이 볼 수 있도록 수행 설명을 나타낼 수 있다. 이것은, 요구사항의 수행 수준에 맞을 수 있는 수행 수준을 만드는 것을 적어도 표출하지 않는 제공자들을 제거하기 위해 에이전트가 서비스 제공자를 찾도록 하여 에이전트들 사이에 교섭을 용이하게 한다. 유사하게, 서비스 제공자는 그것의 성능과 경쟁하는 서비스 제공자들 및 에이전트 요구사항들을 비교하여 그것의 수행 수준이 경쟁력이 있고 요구사항을 만족시킬 수 있는지를 판정할 수 있다.
도 3은 서로간에 통신하는 2 개의 에이전트들을 갖는 시스템(300)을 도시한다. 시스템(300)은 제1 서비스 관리자 컴포넌트(320), 제1 설명 컴포넌트(330), 및 제1 구현 컴포넌트(340)를 포함하는 제1 에이전트(310)를 포함한다. 시스템(300)은 제2 서비스 관리자 컴포넌트(360), 제2 설명 컴포넌트(370), 및 제2 구현 컴포넌트(380)를 포함하는 제2 에이전트(350)를 더 포함한다. 서비스 관리자 컴포넌트들(320, 360), 설명 컴포넌트들(330, 370), 및 구현 컴포넌트들(340, 380)은 서비스 컴포넌트(110)(도 1), 설명 컴포넌트(210)(도 2), 및 구현 컴포넌트(220)(도 2)에 매우 유사할 수 있다.
시스템(100)(도 1)과 연결하여 상술된 바와 같이, 본 명세서에서 사용되는 바와 같은 에이전트는 서비스를 요구할 수 있고 그리고/또는 요구사항을 서비스할 수 있는 개체일 수 있다. 그러므로, 제1 에이전트(310)는 서비스를 위해 제2 에이전트(350)에 요구를 전송할 수 있고, 여기서 제2 에이전트(350)는 그 요구사항을 핸들링할 수 있다. 게다가, 제2 에이전트(350)는 서비스를 위해 제1 에이전트(310)에 요구사항을 전송할 수 있고, 제1 에이전트(310)는 그 요구사항을 핸들링할 수 있다. 설명 목적 및 간략성을 위해, 다음의 설명은 제1 에이전트(310)가 서비스를 원하는 클라이언트로서 동작하고, 제2 에이전트(350)는 그런 요구사항을 수행할 수 있는 서비스 제공자로서 사용되는 시나리오의 예를 도시한다. 그러나, 보통 숙련의 당업자라면 이 시나리오가 본 발명을 제한하지 않음을 이해할 것이다.
제1 에이전트(310)의 제1 서비스 관리자 컴포넌트(320)는 요구된 서비스의 정의를 광고하는 것을 용이하게 할 수 있다. 그런 정의는 계약으로서 언급될 수 있고, 통상적으로 제1 기재 컴포넌트(330)에 저장된다. 추가로, 정의는, 그중에서도, 메세지 내용 설명, 제2 에이전트(350)의 위치, 제2 에이전트(350)와 같은 에이전트들과 통신하기 위해 채택될 수 있는 한 개 이상의 통신 프로토콜들, 및 제2 에이전트(350)와 같은 서비스 에이전트로부터 기대되는 서비스의 수행 품질과 같은 정보를 포함할 수 있다. 통상적으로 서비스의 수행 품질은 제1 에이전트(310)의 사용자에 의해 제공되고, 예를 들어, 원하는 또는 요구되는 비율, 업타임, 및/또는 용량에 관련된 정보를 명시할 수 있다. 일 예에서, 제1 에이전트(310)의 사용자는 제1 에이전트(310)가 제2 에이전트(350)에 의해 제공되는 서비스들을 사용하기 전에 제2 에이전트(350)에 의해 일치하는 비율을 명시할 수 있다. 다른 예에서, 제1 에이전트(310)의 사용자는 요구사항을 서비스할 때 지연과 연계된 수용가능한 업타임을 명시할 수 있다. 다른 예에서, 제1 에이전트(310)의 사용자는 제2 에이전트(350)가 임의의 주어진 시간에 처리할 수 있고 처리하기를 원하는 양을 반영할 수 있는 용량을 명시할 수 있다. 게다가, 수행과 관련된 지시자들의 임의의 적절한 조합은 요구되고 그리고/또는 제공될 수 있다.
제1 서비스 관리자 컴포넌트(320)는 제2 에이전트(350)가 명시된 수준의 수행을 제공하기를 동의하고, 반대쪽 제안을 하고, 또는 명시된 수준의 수행을 만족시킬 수 없음을 지시하기 위해 사용될 수 있는 "요구"로서 제2 에이전트(350)에게 정의를 제공할 수 있다. 다른 경우에서, 제1 서비스 관리자 컴포넌트(320)는 제2 에이전트(350)와 연계된 정의를 얻어 제2 에이전트(350)에 의해 제공된 수행 수준이 그것의 정의에서 명시된 수행 수준을 만족시킬 수 있는지를 판정할 수 있다.
제2 에이전트(350)의 제2 서비스 관리자 컴포넌트(360)는 제공된 서비스들의 정의를 광고하는 것을 용이하게 할 수 있다. 유사하게, 이 정의는 계약으로서 언급될 수 있고, 통상적으로 제2 설명 컴포넌트(370)에 저장될 수 있다. 추가로, 정의는, 예를 들어, 메세지 내용 설명, 제1 에이전트(310)의 위치, 제1 에이전트(310)와 같은 에이전트들과 통신하기 위해 채택될 수 있는 한 개 이상의 통신 프로토콜들, 및/또는 제1 에이전트(310)와 같은 다른 에이전트들로부터 제공되는 서비스의 수행 품질과 같은 정보를 포함할 수 있다. 제1 에이전트(310)와 연계된 서비스의 수행 품질과 같이, 제2 에이전트(350)의 서비스의 수행 품질은, 예를 들어, 비율, 업타임, 및/또는 용량을 지시하는 정보를 명시할 수 있다.
제2 서비스 관리자 컴포넌트(360)는 "경매"로서 제1 에이전트(310)에게 그것의 정의를 제공할 수 있고, 이것은 제1 에이전트(310)에 의해 사용되어 제2 에이전트(350)가 그것의 명시된 수행 수준을 만족시킬 수 있는지를 판정할 수 있다. 만족시키지 못하면, 제1 에이전트(310)는 제2 에이전트(350)에게 제공된 수준의 수행이 부적합함을 통지할 수 있다. 다른 경우에서, 제1 에이전트(310)는 더 낮은 수준의 수행을 수용할 수 있거나(예를 들어, 작업은 핸들링되어야 하고, 원하는 수준의 수행을 제공하는 서비스 에이전트가 없을 때), 제1 에이전트(310)는 다른 수준의 수행을 갖는 "요구"를 리턴할 수 있고, 제2 에이전트(350)는 그것의 "경매"를 조절하거나 반대쪽 제안을 취소할 수 있다.
통상적으로 구현 컴포넌트들(340, 380)은 그들의 연계된 정의들에 대해 대응하는 구현들을 제공한다. 통상적으로, 그런 구현들은 다른 에이전트들로부터 숨겨져 있다. 그러나, 에이전트는 원하면 다른 에이전트에게 그것의 구현을 노출시킬 수 있다. 예를 들어, 제2 에이전트(350)는 제1 에이전트(310)에게 그것의 정의의 구현을 제공할 수 있다. 그 다음, 제1 에이전트(310)는 컨포먼스 알고리즘을 사용하여 구현이 그것의 명시된 수준의 수행을 만족시킬 수 있는지를 판정할 수 있다. 추가로, 제1 에이전트(310)는 컴플라이언스 알고리즘을 사용하여 에이전트(350)의 정의가 그것의 정의와 기능적으로 동일한지를 판정할 수 있다. 유사하게, 제2 에이전트(350)는 제1 에이전트(310)와 연계된 정의 및/또는 정의의 구현으로 컨포먼스 및/또는 컴플라이언스를 결정할 수 있다.
에이전트들(310, 350)의 사용자들은 수행 수준을 수동으로 제공할 수 있고(예를 들어, 업로드되거나 거기에 생성됨), 수행 수준은 지능(예를 들어, 확률, 추론, 통계 등을 통해서)을 통해 자체생성될 수 있다. 추가로, 수행 수준은 수학적 알고리즘을 통해 예측될 수 있다. 그런 알고리즘은, 예를 들어, pi나 rho 계산과 같은 처리 대수 등의 확률 계산의 수학에 기초할 수 있다. 그렇게, 수행 수준은 요구된 서비스 품질 및/또는 제공된 서비스 품질의 객관적 수치일 수 있다. 추가로, 수행 수준들은 정적이나 동적일 수 있다. 그러므로, "요구" 및 "경매"는 서비스가 명시된 수준의 수행을 만족시킬 수 있는지를 판정하는 미리 셋팅된 지시자일 수 있고, 그것은 에이전트들 간의 교섭에 기초하여 동적으로 변화할 수 있다. 추가로, "경매"는 요구하는 에이전트(예를 들어, 제1 에이전트(310))에게 되어지는 서비스들과 연계된 비용이 통고되도록 비용과 연계될 수 있다.
에이전트들(310, 350) 간의 통신 채널은 거의 임의의 통신 채널일 수 있다. 예를 들어, 채널은 유선, 무선(RF), 적외선(IR), 전자기, 광학 등일 수 있다. 추가로, 채널은 한방향 또는 양방향, 전이중 또는 반이중, 및/또는 단일화 또는 다중화될 수 있다. 추가로, 교환될 수 있는 데이타는 인코딩되고, 암호화되고, 압축되고, 변조되고, 엔벨로프(envelope) 등에 포함될 수 있다. 게다가, 채널은 사적이나 공적 버스나 통신망(예를 들어, LAN이나 WAN)의 일부일 수 있고, 기본적으로 세계 어느 곳에서도 인터넷과 인터페이스되어 이용될 수 있다.
도 4는 복수의 통신 에이전트들(405-445)를 나타내는 시스템(400)을 도시한다. 각각의 에이전트들(405-445)은 통신망(450)에 결합될 수 있다. 상세히 상술된 바와 같이, 본 명세서의 에이전트들은 적어도 요구사항을 위한 수행 수준을 포함하는 정의를 갖는 계약을 포함할 수 있다. 이 수준은 요구사항을 서비스하기 위해 요구되는 수행 및/또는 그 요구사항을 서비스하는 동안 되어진 수행과 연계될 수 있다. 추가로, 그런 에이전트들은 정의의 구현을 포함할 수 있다. 에이전트들(405-445)은 통신망(450)을 통해 서로간에 교섭하여(즉, 정의들, 정의들의 구현 등을 통해) 서비스 제공자들을 찾는 에이전트들과 서비스들을 제공하는 에이전트들의 시장을 형성할 수 있다.
예를 들어, 에이전트(405)의 서비스 관리자 컴포넌트(455)는 서비스에 대한 요구사항의 전송을 용이하게 할 수 있고, 여기서 요구사항은 그 요구사항의 핸들링과 연계된 수행 수준(즉, 비율, 업타임, 및 용량 중의 적어도 하나를 포함함)의 지시를 포함한다. 상술된 바와 같이, 그런 수준은 에이전트(405)의 사용자에 의해 명시될 수 있고, 계약으로서 및/또는 설명 컴포넌트(460)에, 다른 정보와 함께 저장될 수 있다. 추가로, 계약의 구현은 구현 컴포넌트(465)에 저장될 수 있다. 에이전트(405)로부터의 요구사항은 요구사항과 연계된 수행 수준을 적어도 액세스할 수 있는 에이전트들(405-445) 중의 임의의 것 또는 전체에 통신망(450)을 통해 방송될 수 있다. 마찬가지로, 한 개 이상의 다른 에이전트들(410-445)은 그 요구사항의 핸들링과 연계된 수행을 지시하기 위해 에이전트(405)에 제공된 수행 수준들(비율, 업타임, 및 용량 중의 적어도 한 개를 포함함)을 방송할 수 있다. 이 수행 수준은 한 개 이상의 에이전트들(405-445)의 사용자에 의해 명시될 수 있고, 각각의 설명 컴포넌트들에 저장될 수 있고, 대응하는 구현들과 연계될 수 있다.
요구사항에 대한 명시된 수행 수준 및 요구사항을 서비스하는 임의의 명시된 수행 수준들은 요구사항을 서비스하는 적절한 에이전트의 선택을 용이하게 하기 위해 사용될 수 있다. 한 예에서, 에이전트들(405-445) 중의 어떤 것도 그 요구사항에 맞는 수행 수준을 제공하지 않는다. 여기서, 에이전트(405)의 사용자 및/또는 에이전트(405)가 그것의 명시된 수행 수준을 조절할 수 있거나, 한 개 이상의 서비스 에이전트들(410-445)(또는 그것의 사용자)이 그것의 수행 수준을 조절할 수 있거나, 요구사항이 고려되지 않을 수 있다. 본 발명의 다른 양태에서, 한 개 이상의 에이전트들(410-445)은 요구사항에 대해 명시된 수행 수준과 일치하거나 초과할 수 있다. 그 다음, 에이전트(405)는 서비스를 제공하기 위해 이들 에이전트들 중의 하나를 선택할 수 있다. 선택은 특정 에이전트로부터의 서비스와 연계된 비용과 같은 정보를 고려하여 용이하게 될 수 있다. 예를 들어, 2 개의 에이전트들은 분리된 비용들에 대해 거의 유사한 수행 수준을 제공할 수 있고, 여기서 에이전트(405)가 덜 비용이 드는 에이전트를 선택할 수 있다. 다른 예에서, 에이전트(405)는 명시된 수준 이상의 수행에 대한 추가 비용은 충분한 가치를 더하고, 그런 에이전트는 단순히 명시된 수준의 수행과만 일치하는 에이전트 대신에 선택된다.
각각의 에이전트들(405-445)은 다른 통신망들과 개별적으로 또는 집합적으로 결합될 수 있음을 이해할 수 있다. 예를 들어, 에이전트(405)는 다른 에이전트들(405-445)이 제외된 도메인이나 작업그룹과 연계될 수 있다. 그러므로, 각각의 에이전트들(405-445)은 동시에 또는 직렬로 서비스들을 요구하거나 복수의 통신망들에 있는 복수의 에이전트들에 서비스들을 제공할 수 있다. 일부 예들에서, 에이전트는 분리된 통신망들에 위치한 에이전트들 간에 브로커로서 동작할 수 있다. 예를 들어, 에이전트(405)는 에이전트(410)에 수행 수준을 제공할 수 있고, 여기서 이것은 반면 분리된 통신망(도시 안됨) 상에서 에이전트들이 수행 수준을 보도록 한다. 그런 분리된 통신망에서 동작하는 에이전트가 적어도 이 수행 수준과 일치할 수 있으면, 에이전트(405)는 이 에이전트를 사용하여 요구사항을 서비스할 수 있다.
도 5는 에이전트(405)가 비율을 예측하는 컴포넌트(510)를 더 포함하는 시스템(500)을 도시한다. 비율 예측 컴포넌트(510)는 확률적 pi 계산을 사용하여 본 명세서에서 기재된 바와 같이 대응하는 설명 컴포넌트에 저장된 정의 또는 계약의 설명에서 한 상태에서 다른 상태로의 천이와 연계된 비율(즉, 지연, 확률들의 비율 등)을 예측할 수 있다. 본 발명의 일 양태에서, 적어도 pi 계산의 부분집합(즉, CSS)은 계약이 그것의 구현의 요약일 수 있으므로 그 계약을 설명하기 위해 사용될 수 있다. 예를 들어, pi 계산과 비용 함수들은 각각의 천이들에 비율을 예측하기 위해 사용될 수 있다. 일반적으로, 비용 함수는 각각의 천이와 연계되어 각각의 비용을 결정할 수 있고, 여기서 통상적으로 나중의 천이 비용은 이전 천이들의 비용들과 현재 비용의 합이고, 각각의 비용들은 상태 천이들을 통해 재귀적으로 비용 함수들을 사용하여 결정된다. pi 계산을 사용하여, 이들 비용들은 대응하는 비율이 각각의 천이에 대해 예측되도록 비율에 상관될 수 있다. 이들 예측된 비율들은 예측된 비율들과 서비스 제공 에이전트들의 광고된 비율들을 비교하여 서비스를 요구하는 에이전트를 만족시킬 수 있는지를 판정하기 위해 사용될 수 있다. 이 비율 정보를 사용하여, 계약들은 서비스들에 대해 시장에서의 통화와 유사하게 사용될 수 있다. 예를 들어, 에이전트(405)는 다른 에이전트들에게 예측된 비율을 제공할 수 있거나, 그들의 비율들을 얻을 수 있다. 둘 중 어느 시나리오에서도, 에이전트(405)의 예측된 비율은 다른 에이전트들의 비율들과 비교되어 다른 에이전트들 중의 임의의 에이전트가 에이전트(405)의 예측된 비율을 만족시킬 수 있는지가 판정될 수 있다.
도 6은 에이전트(405)가 각각의 상태 천이들에 대해 업타임, 지연, 및/또는 수행의 오류 수준을 명시하기 위해 사용될 수 있는 업타임 컴포넌트(610)를 더 포함하는 시스템(600)을 도시한다. 에이전트(405)의 명시된 업타임은 다른 에이전트들의 업타임에 대해 비교되어 다른 에이전트들 중의 임의의 에이전트가 에이전트(405)의 업타임을 만족시킬 수 있는지를 판정할 수 있다. 타임을 결정하기 위해 다른 기술들이 사용될 수 있다. 일 예에서, 한 개 이상의 오류 상태들은 계약 정의에 포함될 수 있고(즉, pi 계산을 통해), 여기서 각각의 상태로부터의 천이들은 추가로 한 개 이상의 오류 상태들로 유도할 수 있다. 비율들은 오류 상태들에 연결된 천이들과 연계될 수 있고, 이들 비율들은 각각의 천이에 대해 오류 빈도수를 결정하기 위해 사용될 수 있다. 오류는, 예를 들어, 예외 상태 동안과 같은 때에 에이전트에 의해 보여지는 임의의 다운 타임(down time)을 기본적으로 포함할 수 있고, 여기서 서비스 에이전트는 그 요구사항을 서비스할 수 없음을 이해할 것이다.
도 7은 서비스 에이전트가 에이전트(405)의 명시된 용량 요구사항과 일치하거나 초과할 수 있는지를 판정하기 위해 사용될 수 있는 용량 컴포넌트(710)를 에이전트(405)가 더 포함하는 시스템(700)을 도시한다. 본 발명의 일 양태에서, 계약의 적어도 일부는 포트들(ports)보다 메시지들로 표현될 수 있고, 채널 용량은 각각의 채널들 또는 관심 있는 특정 채널(즉, Shannon의 이론을 사용함)에 대해 결정될 수 있다. 많은 경우에, 한 채널은 한 메시지와 연계되고, 여기서 채널은 그것이 특정 크기의 메시지를 전송할 수 있는지를 판정하기 위해 분석된다. 다른 경우들에서, 한 채널은 복수 메시지들과 연계될 수 있다. 단일 메시지들이 직렬로 전달되는지 또는 병렬 기술이 사용되는지에 따라 그런 채널들에 대해 용량이 결정되고, 여기서 메시지 크기들의 합은 용량을 지시한다.
도 8 내지 도 9는 본 발명에 따라 계약 모델들을 도시한다. 설명의 단순성을 위해, 모델들은 일련의 상태들로서 도시되고 설명된다. 그러나, 본 발명이 그런 상태들이나 그 상태들의 순서에 의해 제한되지는 않음이 이해되어야 한다. 게다가, 모든 설명된 상태들이 그 모델들을 설명하기 위해 필요한 것은 아니다. 추가로, 당업자들은 다른 경우에 모델들이 일련의 상호관련된 동작들과 이벤트들로서 나타낼 수 있음을 이해할 것이다.
도 8은 에이전트에 대한 계약의 정의를 설명하기 위해 사용될 수 있는 모델(또는 증명-트리)(800)의 예를 도시한다. 모델(800)은 "초기화" 상태(810), "작업수행" 상태(820), 및 "마감" 상태(830)를 도시한다. 모델(800)은 그런 상태들 간에 천이들(또는 방향자들)을 더 지시한다. 예를 들어, "초기화" 상태로부터 "작업수행" 상태로의 천이(즉, "init")는 (840)에 도시되고, "작업수행" 상태로부터 "마감" 상태들로의 제1 천이(즉, "workA")는 (850)에 도시되고, "작업수행" 상태로부터 "마감" 상태로의 제2 천이(즉, "workB")는 (860)에 도시되고, "작업수행" 상태로부터 "마감" 상태로의 제3 천이(즉, "fin")는 (870)에 도시된다.
모델(800)은 수학식 1에 기재된 바와 같이 수학적으로(즉, pi 계산으로) 나타낼 수 있다.
init.rec.X.(workA.X + workB.X +fin)
여기서, "init"은 "초기화" 상태로부터 "작업수행" 상태로의 천이를 지시하고, "rec"은 수학식 1이 재귀적 함수임을 지시하고, "workA"는 "작업수행" 상태로부터 "마감" 상태로의 제1 천이 또는 방향자를 나타내고, workB는 "작업수행" 상태로부터 "마감" 상태로의 제2 천이를 나타내고, "fin"은 "작업수행" 상태로부터 "마감" 상태로의 제3 천이를 나타낸다.
모델(800) 및/또는 수학식 1은 본 명세서에 사용된 바와 같이 계약을 정의하기 위해 사용될 수 있다. 추가로, 모델(800)과 수학식 1은 각각의 에이전트들의 모델들/수학식을 비교하여 2 개의 계약들 간의 컴플라이언스 및 계약과 그 계약의 구현 간의 컨포먼스를 결정하기 위해 사용될 수 있다. 추가로, 모델(800) 및/또는 수학식 1은, 아래 기재된 바와 같이, 에이전트에 대한 서비스 품질을 지시하기 위해 사용될 수 있다.
도 9는 모델(800)(도 8)의 (840-870)에서 각각의 상태 천이들은 수행을 예측하기 위해 사용될 수 있는 비용 함수들(910, 920, 930, 및 940)로 각각 나타낸다. 비용 함수는 동기화 용어들 또는 증명된 천이들로서 언급될 수 있고, 처리 대수(즉, pi 계산)를 통해 나타낼 수 있다. 각각의 천이들과 연계된 비용은, 예를 들어, "마감" 상태로부터 "초기화" 상태로의 비용 함수들을 재귀적으로 사용하여 결정될 수 있다. 각각의 비용은 비율과 상관하여 각각의 천이에 대해 비율을 예측할 수 있다. 그런 예측들은 개별적 천이 비율들의 결정에 대해 프로그래머의 부담을 완화한다.
상술된 바와 같이, 업타임은 수행을 명시하기 위해 추가로 사용될 수 있다. 모델(800)은 오류 상태들(도시 안됨)로 그것을 포화시켜서 확장될 수 있다. 예를 들어, 한 개 이상의 오류 상태들이 포함될 수 있고, 여기서 "초기화", "작업수행", 및/또는 "마감" 상태들로부터의 천이들은 한 개 이상의 오류 상태들로 추가로 연결될 수 있다. 오류 상태들로의 각각의 천이들은 오류 빈도수를 결정하기 위해 사용될 수 있는, 상술된 바와 같이, 비율들로 나타낼 수 있다. 그런 정보로, 서비스를 요구하는 에이전트는 수용가능한 빈도수 수준(즉, 매우 드뭄)을 명시할 수 있다. 이 오류는, 예를 들어, 예외 상태 동안과 같은 때 에이전트에 의해 보여진 임의의 다운 타임을 기본적으로 포함할 수 있고, 여기서 서비스 에이전트는 그 요구사항을 서비스할 수 없다. 게다가, 모델(800) 및/또는 수학식 1은, 상술된 바와 같이, 채널 용량을 포함한다.
천이 비율들을 예측하고 업타임과 채널 용량을 선택적으로 결정한 후에, 모델(800) 또는 그것의 수학적 표현은 에이전트가 찾는 수행 수준과 서비스 에이전트에 의해 광고된 수행 수준을 비교하기 위해 사용될 수 있다. 상술된 바와 같이, 이것은 서비스들을 요구하는 에이전트들과, pi 계산과 같은 처리 대수를 통해 결정될 수 있는 객관적 수치를 제공하여 그런 요구사항을 핸들링하는 에이전트들 사이의 에이전트 교섭들을 용이하게 하고, 에이전트의 사용자가 수행 수준들(즉, 각각의 천이에 대한 비율들)을 결정할 필요를 완화시킨다.
도 10 내지 도 12는 본 발명에 따른 방법들을 도시한다. 설명의 단순성을 위해, 방법들은 일련의 동작들로서 도시되고 설명된다. 본 발명은 설명된 동작들 및/또는 동작들의 순서에 의해 제한되지 않고, 예를 들어, 동작들은 다양한 순서들 및/또는 동시에, 그리고 본 명세서에 나타나지 않고 설명되지 않은 다른 동작들과 함께 발생할 수 있다. 게다가, 모든 설명된 동작들이 본 발명에 따른 방법들을 구현하기 위해 필요하지는 않을 것이다. 추가로, 당업자들은 방법들이 다른 경우에 상태도 또는 이벤트들을 통해 일련의 상관된 상태들로서 나타내질 수 있음을 이해할 것이다.
도 10에서, 서비스 수행을 표현하는 방법(1000)이 도시된다. 참조 번호(1010)에서 에이전트는 셋업된다. 에이전트는 요구사항을 서비스하는 다른 개체를 사용할 수 있는 개체, 요구사항을 서비스할 수 있는 개체, 서비스를 요구하고 요구사항을 서비스하는 것을 모두 할 수 있는 개체일 수 있다. 예를 들어, 사용자는 다른 웹 서비스들의 필요들을 서비스할 수 있는 웹 서비스를 생성할 수 있다. 다른 예에서, 에이전트는 요구사항들을 핸들링하는 웹 서비스를 사용하는 클라이언트일 수 있다. 게다가, 에이전트는 기본적으로 임의의 통신 매체를 통해 다른 에이전트들과 통신할 수 있다.
(1020)에서, 수행 수준이 에이전트에 대해 명시된다(즉, 본 명세서에 기재된 바와 같음). 에이전트가 서비스들을 요구할 때, 수행 수준은 메시지 내용의 기재, 잠재적 서비스 에이전트의 위치, 한 개 이상의 통신 프로토콜들, 및 비율, 업타임, 및/또는 용량 수행 기준들과 같은 다양한 수행 관련 지시자들을 포함할 수 있는 기대되는 서비스의 품질과 같은 정보를 지시할 수 있다. 유사하게, 에이전트가 요구사항들을 서비스할 때, 수행 수준은 메시지 내용 설명, 잠재적 요구 에이전트의 위치, 한 개 이상의 통신 프로토콜들, 및 비율, 업타임, 및/또는 제공된 용량을 포함할 수 있는 되어진 서비스의 품질과 같은 정보를 지시할 수 있다. 통상적으로, 에이전트의 생성자는 상술된 수행 정보를 명시할 수 있다. 그러나, 적절한 권한들을 갖는 임의의 사용자는 이들 파라미터들 중의 한 개 이상을 명시할 수 있음을 이해할 것이다.
일반적으로, 수행 정보의 적어도 일부를 결정하고 그리고/또는 명시하기 위해 수학이 사용될 수 있다. 상태 천이들과 연계된 비율들과 같은 정보를 결정하는 부담으로부터 에에젠트 생성자나 사용자를 해방시키는 객체 측정을 제공하는 수학이 사용된다. 추가로, 사용된 수학은 그런 정보의 결정에 사용자 오류와 주관적 영향을 완화시킨다. 적절한 수학의 예는, 비율, 업타임, 및 용량을 결정하는 것을 적어도 용이하게 하기 위해 사용될 수 있는 pi 또는 rho 계산과 같은 확률 계산 등의 처리 대수를 포함한다. 비율은 요구사항의 제기자에 의해 제공자들로부터 요구된 자원들의 양 및/또는 에이전트 제공자가 요구사항의 서비스를 위해 쓰기를 원하는 자원들의 양을 지시하기 위해 사용될 수 있다. 업타임은 요구자가 수용하기를 원하는 핸들링 지연(즉, 오류와 연계됨) 또는 제공자에 의해 요구사항을 서비스할 때의 추정 지연을 지시하기 위해 사용될 수 있다. 통상적으로, 용량은 임의의 주어진 시간에 처리될 수 있는 데이타의 양을 지시한다.
참조 번호(1030)에서, 에이전트는 다른 에이전트들과 교섭하기 위해 그것의 명시된 수행 수준을 사용할 수 있다. 예를 들어, 서비스를 요구하는 에이전트는 그것의 수행을 방송할 수 있고, 여기서 서비스 에이전트들은 서비스 에이전트가 수행의 방송 수준을 만족시킬 수 있을 때 그 요구사항을 서비스하기 위한 제안으로 응답할 수 있다. 이것은 명시된 수행 수준과 서비스 제공자가 제안한 수행 수준을 비교하여 결정될 수 있다. 다른 예에서, 에이전트는 서비스 제공자들에 의한 광고된 수행 수준들을 관찰하고, 그들이 원하는 수행 수준과 서비스 수행의 광고된 수준들을 비교하고, 그 비교에 기초하여 서비스를 선택할 수 있다. 서비스들을 제공하는 에이전트들에 대해, 에이전트는 그것이 요구사항을 핸들링하고 그리고/또는 그것이 어느 요구사항들 핸들링할 수 있는지를 결정하기 위해 요구사항들을 분석하기 위해 제공하기를 원하는 수행 수준을 방송할 수 있다. 서비스 제공자들은 그들의 서비스들의 비용을 추가로 광고하여 서비스를 요구하는 에이전트들에 의한 결정들을 용이하게 할 수 있다.
확률적-pi 기술은 수행 수준이나 다른 명시 메카니즘을 명시하는 것을 용이하게 하기 위해 사용될 수 있다. 추가로, 수행 예측 기술은 구현으로서 사용되어 명시 메카니즘에 대해 측정할 수 있다. 이 방식으로, 계약은 확률적-pi 계산의 단편으로 명시될 수 있고, 그것에 대해 구현이 검사된다. 확률적-pi 계산은 액션들에 비율들을 명백히 연계하기 위해 사용될 수 있고, 여기서 세만틱은 길레스피 스타일 확률적 에이전트 기반 모의실험을 허용한다. 동작 세만틱은 pi-계산 처리의 실행에 따라 레이블된 천이 시스템에서 증명-트리들과 천이들을 연계하기 위해 채택될 수 있고, 여기서 비용 함수는 증명 트리들을 비율들을 나타내는 숫자들에 조합적으로 매핑하기 위해 사용될 수 있다.
도 11에서, 요구사항을 핸들링하기 위한 서비스 제공자를 찾는 방법(1100)이 도시된다. (1110)에서, 에이전트는 그 에이전트가 찾는 수행 수준을 지시하는 "요구"를 전송하거나, 에이전트 제공자들로부터 "경매"를 수신하고, 여기서 "경매"는 에이전트 제공자에 의해 되는 수행을 지시한다. "요구" 다음에는 한 개 이상의 에이전트 제공자들로부터의 한 개 이상의 제안들이 뒤따를 것이다. 참조 번호(1120)에서, 요구 에이전트는 에이전트 제공자의 수행 수준을 얻어낼 수 있다. 상술한 바와 같이, 통상적으로 에이전트 제공자의 수행 수준은 메시지 내용 설명, 요구 에이전트들의 위치, 한 개 이상의 통신 프로토콜들, 비율, 업타임, 및/또는 제안된 용량을 포함할 수 있는 되어진 서비스의 품질, 및 서비스 품질의 비용을 적어도 포함한다. 상술한 바와 같이, 확률적 계산은 수행 수준을 결정하고 나타내기 위해 사용될 수 있다.
(1130)에서, 그 다음, 요구 에이전트는 그것의 수행 수준과 에이전트 제공자들에 의해 제안된 수행 수준(즉, 명시, 구현 등)을 비교하여 제공자가 그것의 수행 수준을 만족시킬 수 있을지를 판정할 수 있다. 복수 제공자들이 명시된 수행 수준을 만족시킬 수 있을 때, 그런 수행의 비용과 같은 다른 기준들은 에이전트 제공자의 선택을 용이하게 하기 위해 사용될 수 있다. 추가로, 지능 기반 결정들은 서비스 제공자의 선택을 용이하게 하기 위해 사용될 수 있다. 예를 들어, 통계, 확률, 선험적 정보, 축적된 히스토리 데이타, 추론들, 및 결정 트리 학습 방법들(decision tree learning methods), 지원 벡터 머신들(support vector machines), 선형과 비선형 회귀(linear and non-linear regression), 및/또는 신경망들(neural networks)과 같은, 베이스 학습(Bayesian learning), 베이스 분류기(Bayesian classifiers), 및 기타 통계적 분류기들을 포함하는 분류기들(즉, 명백하게 그리고 함축적으로 훈련됨)에 기초한 지능 기반 결정들이 본 발명의 일 양태에 따라 채택될 수 있다. 추론은 이벤트들 및/또는 데이타를 통해 획득된 바와 같이 일단의 관찰들로부터 시스템, 환경, 및/또는 사용자에 대해 추론하거나 상태들을 추론하는 처리를 언급할 수 있다. (1140)에서, 요구 에이전트는 서비스 제공자를 선택하여 그 요구사항을 서비스한다.
도 12는 요구사항을 서비스하는 방법(1200)을 도시한다. (1210)에서, 서비스 에이전트는 서비스들을 요구하는 에이전트들이 그것의 수행 수준을 액세스할 수 있도록, 본 명세서에 기재된 바와 같이, 그것의 수행 수준을 광고할 수 있다. 일부 예들에서, 임의의 에이전트가 그것의 광고된 수행 수준을 확인할 수 있도록, 광고가 방송된다. 다른 예들에서, 광고는 서비스에 대한 요구사항에의 응답이다. 참조 번호(1220)에서, 서비스 제공 에이전트는 그것이 그 요구사항을 만족시킬 수 있는지를 판정할 수 있다. 이 결정은 그 요구사항을 서비스하기 위해 필요한 수행 수준과 서비스 제공자에 의해 이용가능한 수행 수준을 비교하는 것을 포함할 수 있다. 일 예에서, 서비스 제공자는 요구사항의 서비스에 그것의 전체 대역폭을 노출시킬 수 있는 반면, 다른 예들에서 서비스 제공자는 그것이 요구사항들 중의 임의의 것 또는 집합에 대해 제공하기를 원하는 자원들의 양을 제한할 수 있다. (1230)에서, 요구사항의 수행 수준에 적어도 일치할 수 있는 서비스 제공자들은 그들의 서비스와 비용을 연계시킬 수 있다. 이 비용은 요구 에이전트에게 제공되어 요구 에이전트가 복수 서비스 제공자들 사이에서의 결정을 용이하게 할 수 있다.
본 발명의 다양한 양태들을 구현하는 추가 문맥을 제공하기 위해, 도 13 내지 도 14 및 다음 기재는 본 발명의 다양한 양태들이 구현될 수 있는 적절한 컴퓨팅 환경의 간략하고, 일반적인 설명을 제공하려고 의도된다. 본 발명이 로컬 컴퓨터 및/또는 원격 컴퓨터 상에 실행하는 컴퓨터 프로그램의 컴퓨터 실행가능 명령들의 일반 문맥으로 상술된 반면, 당업자들은 본 발명이 또한 다른 프로그램 모듈들과 조합하여 구현될 수 있음을 인식할 것이다. 일반적으로, 프로그램 모듈들은 특정 작업들 수행하고 그리고/또는 특정 추상 데이타 타입들을 구현하는 루틴들, 프로그램들, 컴포넌트들, 데이타 구조들 등을 포함한다.
게다가, 당업자들은 본 발명의 방법들이, 개인용 컴퓨터들, 핸드핼드 컴퓨팅 디바이스들, 마이크로프로세서 기반 및/또는 프로그램가능한 소비자 전자 제품들 등을 비롯하여, 단일 처리기나 복수 처리기 컴퓨터 시스템들, 미니 컴퓨터들, 메인프레임 컴퓨터들을 포함하는 다른 컴퓨터 시스템 구성들과 실시될 수 있고, 그들의 각각은 한 개 이상의 연계된 디바이스들과 동작적으로 통신할 수 있다. 본 발명의 설명된 양태들은 또한 특정 작업들이 통신망을 통해 연결된 원격 처리 디바이스들에 의해 수행되는 분산 컴퓨팅 환경들에서 실시될 수 있다. 그러나, 본 발명의 일부 양태들은, 전체가 아니면, 자립형 컴퓨터들에서도 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및/또는 원격 메모리 저장 디바이스들에 위치될 수 있다.
도 13은 본 발명이 인터랙트할 수 있는 샘플 컴퓨팅 환경(1300)의 간략한 블럭도이다. 시스템(1300)은 한 개 이상의 클라이언트(들)을 포함한다. 클라이언트(들)(1300)은 하드웨어 및/또는 소프트웨어(예를 들어, 쓰레드들, 처리들, 컴퓨팅 디바이스들)일 수 있다. 시스템(1300)은 또한 한 개 이상의 서버(들)(1320)을 포함한다. 서버(들)(1320)은 하드웨어 및/또는 소프트웨어(예를 들어, 쓰레드들, 처리들, 컴퓨팅 디바이스들)일 수 있다. 서버들(1320)은, 예를 들어, 본 발명을 채택하여 변환들을 수행하는 쓰레드들을 포함할 수 있다.
클라이언트(1310)와 서버(1320) 사이에 한 가지 가능한 통신은 2 개 이상의 컴퓨터 처리들 사이에 전송되도록 채택된 데이타 패킷의 형태일 수 있다. 시스템(1300)은 클라이언트(들)(1310)과 서버(들)(1320) 사이의 통신을 용이하게 하기 위해 채택될 수 있는 통신 프레임워크(1340)을 포함한다. 클라이언트(들)(1310)은 클라이언트(들)(1310)에게 로컬 정보를 저장하기 위해 사용될 수 있는 한 개 이상의 클라이언트 데이타 저장소(들)(1350)에 동작적으로 연결된다. 유사하게, 서버(들)(1320)은 서버들(1340)에 로컬 정보를 저장하기 위해 채택될 수 있는 한 개 이상의 서버 데이타 저장소(들)(1330)에 동작적으로 연결된다.
도 14의 참조에서, 본 발명의 다양한 양태들을 구현하는 환경(1400)의 예는 컴퓨터(1412)를 포함한다. 컴퓨터(1412)는 처리 유닛(1414), 시스템 메모리(1416), 및 시스템 버스(1418)를 포함한다. 시스템 버스(1418)는 시스템 메모리(1416)를 포함하는, 하지만 제한적이 아닌, 시스템 컴포넌트들을 처리 유닛(1414)에 결합한다. 처리 유닛(1414)은 다양한 이용가능한 처리기들 중의 임의의 것일 수 있다. 듀얼 마이크로처리기 및 다른 복수처리기 구조들은 또한 처리 유닛(1414)으로서 채택될 수 있다.
시스템 버스(1418)는 ISA(Industrial Standard Architecture), MSA(Micro-Channel Architecture), EISA(Extended ISA), IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(Peripheral Component Interconnect), 카드 버스(Card Bus), USB(Universal Serial Bus), AGP(Advanced Graphics Port), PCMCIA(Personal Computer Memory Card International Association bus), firewire(IEEE 1394), 및 SCSI(Small Computer Systems Interface)를, 하지만 제한적이 아닌, 포함하는 임의의 다양한 이용가능 버스 구조들을 사용하여, 메모리 버스나 메모리 제어기, 주변 버스나 외부 버스, 및/또는 로컬 버스를 포함하는 몇 개 타입들의 버스 구조(들) 중의 임의의 것일 수 있다.
시스템 메모리(1416)는 휘발성 메모리(1420) 및 비휘발성 메모리(1422)를 포함한다. 스타트업 동안 같은 때에, 컴퓨터(1412) 내의 소자들 간에 정보를 전송하는 기본 루틴들을 포함하는 기본 입/출력 시스템(BIOS)은 비휘발성 메모리(1422)에 저장된다. 설명 목적으로, 하지만 제한적이 아닌, 비휘발성 메모리(1422)는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically programmable ROM), EEPROM(electrically erasable ROM), 또는 플래쉬 메모리를 포함할 수 있다. 휘발성 메모리(1420)는 외부 캐쉬 메모리로 동작하는 RAM(random access memory)을 포함한다. 설명 목적으로, 하지만 제한적이 아닌, RAM은 SRAM(synchronous RAM), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR SDRAM(double data rate SDRAM), ESDRAM(enhanced SDRAM), SLDRAM(Synchlink DRAM), 및 DRRAM(direct Rambus RAM)과 같은 다수의 형태들로 이용가능하다.
컴퓨터(1412)는 또한 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체들을 포함한다. 도 14는, 예를 들어, 디스크 저장(1424)을 도시한다. 디스크 저장(1424)은 자기 디스크 드라이브, 플로피 디스크 드라이브, 테입 드라이브, 재즈(Jaz) 드라이브, 집(Zip) 드라이브, LS-100 드라이브, 플래쉬 메모리, 또는 메모리 스틱과 같은 디바이스들을, 하지만 제한적이 아닌, 포함한다. 추가로, 디스크 저장장치(1424)은 CD-ROM(compact disk ROM device), CD-R 드라이브(CD recordable drive), CD-RW 드라이브(CD rewritable drive), 또는 DVD-ROM(digital versatile disk ROM drive)과 같은 광 디스크 드라이브를, 하지만 제한적이 아닌, 포함한 저장 매체들을 분리하거나 또는 다른 저장 매체들과 조합하여 포함할 수 있다. 디스크 저장 디바이스들(1424)과 시스템 버스(1418)의 연결을 용이하게 하기 위해, 분리형이나 비분리형 인터페이스는 통상적으로 인터페이스(1426)와 같이 사용된다.
도 14는 적절한 운영 환경(1400)에서 기재된 사용자들과 기본 컴퓨터 자원들 사이에 중간자로서 동작하는 소프트웨어를 도시함을 이해할 것이다. 그런 소프트웨어는 운영 체제(1428)를 포함한다. 디스크 저장장치(1424)에 저장될 수 있는 운영 체제(1428)는 컴퓨터 시스템(1412)의 자원들을 제어를 하고, 할당하기 위해 동작한다. 시스템 응용 프로그램들(1430)은 시스템 메모리(1416)나 디스크 저장장치(1424) 중의 하나에 저장된 프로그램 모듈들(1432)과 프로그램 데이타(1434)를 통해 운영 체제(1428)에 의해 자원들의 관리의 잇점을 채택한다. 본 발명은 다양한 운영 체제들이나 운영 체제들의 조합들로 구현될 수 있음을 이해할 것이다.
사용자는 입력 디바이스(들)(1436)를 통해 컴퓨터(1412)로 커맨드들이나 정보를 입력한다. 입력 디바이스들(1436)은 마우스, 트랙볼, 터치 패드, 키보드, 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, TV 튜너 카드, 디지탈 카메라, 디지탈 비디오 카메라, 웹 카메라 등과 같은 포인팅 디바이스를, 하지만 제한적이 아닌, 포함한다. 이들과 다른 입력 디바이스들은 인터페이스 포트(들)(1438)를 통해 시스템 버스(1418)를 거쳐 처리 유닛(1414)에 연결된다. 인터페이스 포트(들)(1438)은, 예를 들어, 직렬 포트, 병렬 포트, 게임 포트, 및 범용 직렬 버스(USB)를 포함한다. 출력 디바이스(들)(1440)은 입력 디바이스(들)(1436)로서 동일 타입의 포트들의 일부를 사용한다. 그러므로, 예를 들어, USB 포트는 컴퓨터(1412)에 입력을 제공하고, 컴퓨터(1412)로부터 출력 디바이스(1440)에 정보를 출력하기 위해 사용될 수 있다. 출력 아댑터(1442)는, 특수 아댑터들이 필요한 다른 출력 디바이스들(1440) 중에 모니터들, 스피커들, 및 프린터들과 같은 일부 출력 디바이스들(1440)이 있음을 설명하기 위해 제공된다. 설명 목적으로, 하지만 제한적이 아닌, 출력 아댑터들(1442)은 출력 디바이스(1440)와 시스템 버스(1418) 사이에 연결 수단을 제공하는 비디오와 사운드 카드들을 포함한다. 다른 디바이스들 및/또는 디바이스들의 시스템들은 원격 컴퓨터(들)(1444)과 같은 입력과 출력 능력들 모두를 제공함을 주목해야 한다.
컴퓨터(1412)는 원격 컴퓨터(들)(1444)과 같은 한 개 이상의 원격 컴퓨터들에 논리 연결들을 사용하여 통신망 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1444)은 개인용 컴퓨터, 서버, 라우터, 통신망 PC, 워크스테이션, 마이크로처리기 기반 전자기기, 피어 디바이스, 또는 기타 공통 통신망 노드 등일 수 있고, 통상적으로 컴퓨터(1412)에 관련하여 기재된 소자들의 다수 또는 전체를 포함한다. 단순성을 위해, 메모리 저장 디바이스(1446)만이 원격 컴퓨터(들)(1444)과 함께 설명된다. 원격 컴퓨터(들)(1444)은 통신망 인터페이스(1448)를 통해 컴퓨터(1412)에 논리적으로 연결되고, 그 다음, 통신 연결(1450)을 통해 물리적으로 연결된다. 통신망 인터페이스(1448)는 LAN(local-area networks)과 WAN(wide-area networks )과 같은 유선 및/또는 무선 통신망들을 포함한다. LAN 기술들은 FDDI(Fiber Distributed Data Interface), CDDI(Copper Distributed Data Interface), 이써넷(Ethernet), 토큰 링(Token Ring) 등을 포함한다. WAN 기술들은 포인트-투-포인트 링크들, ISDN(Integrated Services Digital Networks)과 그것의 변이들과 같은 회로 스위칭 통신망들, 패킷 스위칭 통신망들, 및 DSL(Digital Subscriber Lines)을, 하지만 제한적이 아닌, 포함한다.
통신 연결(들)(1450)은 버스(1418)에 통신망 인터페이스(1448)를 연결하기 위해 채택된 하드웨어/소프트웨어를 언급한다. 통신 연결(1450)이 컴퓨터(1412) 내부의 설명의 명확성을 위해 도시되는 한편, 그것은 또한 컴퓨터(1412)에 외부적일 수 있다. 통신망 인터페이스(1448)에의 연결을 위해 필요한 하드웨어/소프트웨어는, 예로서, 일반 전화 모뎀들, 케이블 모뎀들, 및 DSL 모뎀들을 포함하는 모뎀들, ISDN 아댑터들, 및 이써넷 카드들과 같은 내부 및 외부 기술들을 포함한다.
상술된 것은 본 발명의 예들을 포함한다. 물론, 본 발명을 설명하는 목적으로 컴포넌트들이나 방법들의 모든 가능한 조합들을 기재하는 것은 불가능하지만, 보통 숙련의 당업자라면 본 발명의 다수의 추가 조합들과 순열들이 가능함을 이해할 것이다. 따라서, 본 발명은 첨부된 청구범위의 취지 및 범위 내에 속하는 모든 그런 변경들, 수정들, 및 변이들을 포함하도록 의도된다. 특히, 상술된 컴포넌트들, 디바이스들, 회로들, 시스템들 등에 의해 수행된 다양한 기능들에 대해, 그런 컴포넌트들을 설명하기 위해 사용되는 용어들("수단"으로의 참조를 포함함)은, 달리 지시되지 않는 한, 본 명세서에 예로서 설명된 본 발명의 양태들에서 기능을 수행하는 개시된 구조에 구조적으로 동일하지 않지만, 원하는 컴포넌트(즉, 기능적 동격)의 명시된 기능을 수행하는 임의의 컴포넌트에 대응하도록 의도된다. 이 점에서, 본 발명은 본 발명의 다양한 방법들의 동작들 및/또는 이벤트들을 수행하는 컴퓨터 실행가능 명령들을 갖는 컴퓨터 판독가능 매체를 비롯하여 시스템을 포함함을 또한 인식할 것이다. 추가로, 본 발명의 특정 특징은 몇 개 구현들 중에 단지 한 개만에 대해 개시될 수 있는 한편, 그런 특징은 임의의 주어진 또는 특수 응용 프로그램에 대해 바람직하고 이득이될 수 있는 다른 구현들의 한 개 이상의 다른 특징들과 조합될 수 있다. 게다가, "포함한다(includes)"와 "포함하는(including)"이라는 용어들 및 그것들의 변이본들이 상세한 설명이나 청구 범위 중에서 사용되는 정도까지, 이들 용어들은 "포함하는(comprising)"이라는 용어에 유사한 방식으로 더 포함할 수 있다고 의도 된다.
본 발명은 계약을 명시하고 검사하는 것에의 새로운 접근법을 제공한다. 명시 메카니즘으로서 확률적-pi 기술 및 명시에 대해 측정된 구현으로서 수행 예측 기술을 채택한다. 계약은 확률적-pi의 단편을 명시될 수 있고, 구현은 그것에 대해 검사한다. 또한, 본 발명은 확률적-pi 계산의 진보적 동작 세만틱을 사용하고, 이것은 pi- 계산 처리의 실행에 따른 레이블된 천이 시스템에서 증명-트리들을 천이들과 연계시키도록 한다. 시스템에서 서비스 요구 에이전트가 명시하는, 비율, 업타임, 및/또는 용량과 같은 기준들을 지시하는, 최소 수행 수준을 만족시키는 서비스 제공 에이전트들이 탐색된다. 요구사항이 에이전트들 간에 일치하는지를 비교하기 위해 컴플라이언스 알고리즘과 컨포먼스 알고리즘이 채택된다.
도 1은 수행 표현을 용이하게 하는 시스템을 도시한다.
도 2는 수행 정의 및 그것의 구현을 채택하여 에이전트에 대한 서비스 품질의 표현을 용이하도록하는 시스템을 도시한다.
도 3은 각각의 수행 정의들을 교섭하는 2 개의 에이전트들을 도시한다.
도 4는 교섭하는 에이전트들의 시장의 예를 도시한다.
도 5는 처리 대수를 사용하여 서비스 품질을 설명하는 비율들을 예측하는 컴포넌트를 채택하는 에이전트를 도시한다.
도 6은 서비스 품질과 연계된 업타임 수치를 결정하는 컴포넌트를 채택하는 에이전트를 도시한다.
도 7은 채널 용량 서비스 품질 수치를 결정하는 컴포넌트를 채택하는 에이전트를 도시한다.
도 8은 본 발명에 따라 계약의 다양한 상태들을 설명하기 위해 사용될 수 있는 모델의 예를 도시한다.
도 9는 각각의 상태 천이들에 비율들을 예측하는 비용 함수로 만들어진 계약 모델의 예를 도시한다.
도 10은 수행 표현을 위한 방법의 예를 도시한다.
도 11은 수용할 만한 수준의 수행력을 제공하는 서비스 제공자의 위치파악을 용이하게 하는 방법의 예를 도시한다.
도 12는 서비스 제공자가 수행 수준을 만족할 수 있는지를 판정하는 방법의 예를 도시한다.
도 13은 통신망 환경의 예를 도시하고, 여기서 본 발명의 새로운 양태들이 채택될 수 있다.
도 14는 운영 환경의 예를 도시하고, 여기서 본 발명의 새로운 양태들이 채택될 수 있다.

Claims (36)

  1. 계약들을 명시하고 검사하기 위해 처리 대수(process algebra) 및 수행 예측 기술들(performance predicting techniques)을 채택하는 시스템으로서,
    상기 처리 대수를 채택하여 적어도 상기 처리 대수의 단편에 계약을 명시하는 제1 컴포넌트; 및
    상기 명시된 계약과 상기 수행 예측 기술들을 통해 생성된 구현을 비교하는 제2 컴포넌트를 포함하고, 상기 비교의 결과는 상기 구현이 상기 계약을 만족시키는지를 판정하는 시스템.
  2. 제1항에 있어서, 상기 처리 대수는 확률적 pi 계산인 시스템.
  3. 제1항에 있어서, 상기 처리 대수는 액션들에 비율들을 명시적으로 연계시키는 시스템.
  4. 제1항에 있어서, 상기 처리 대수는 길레스피 스타일(Gillespie-style) 확률적 에이전트 기반 모의실험을 위해 제공하는 세만틱(semantics)과 연계되는 시스템.
  5. 제1항에 있어서, 상기 처리 대수는 처리 대수 기반 처리의 실행에 대응하는 레이블된 천이 시스템(labeled tansition system)에서의 천이들을 증명-트리들과 연계시키는 동작 세만틱(operational semantics)을 포함하는 시스템.
  6. 제5항에 있어서, 상기 처리 대수 기반 처리는 pi 계산 처리인 시스템.
  7. 제1항에 있어서, 증명-트리들을 비율들을 나타내는 숫자들에 조합적으로 매핑하는 비용 함수를 채택하는 컴포넌트를 더 포함하는 시스템.
  8. 처리 대수와 수행 예측 기술들을 채택하여 계약들을 명시하고 검사하는 방법으로서,
    적어도 상기 처리 대수의 단편에서 계약을 명시하는 단계;
    상기 수행 예측 기술들을 채택하여 상기 계약의 구현을 예측하는 단계; 및
    상기 명시된 계약에 대비하여 상기 계약의 구현을 측정하여 상기 명시된 계약 및 그것의 구현이 서로 만족시키는지를 판정하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 처리 대수는 길레스피 스타일 확률적 에이전트 기반 모의실험을 위해 제공하는 세만틱을 갖는 확률적 pi 계산인 방법.
  10. 제8항에 있어서, 상기 처리 대수를 사용하여 비율들을 액션들에 명시적으로 연계하는 단계를 더 포함하는 방법.
  11. 제8항에 있어서, 상기 처리 대수를 채택하여 증명-트리들과, pi 계산 처리의 실행에 대응하는 레이블된 천이 시스템에서의 천이들을 연계하는 단계를 더 포함하는 방법.
  12. 제8항에 있어서, 비용 함수를 사용하여 비율들을 나타내는 숫자들에 증명-트리들을 합성적으로(compositionally) 매핑하는 단계를 더 포함하는 방법.
  13. 서비스 품질을 표현하는 시스템으로서,
    제1 개체에 대한 수행 수준의 정의를 저장하는 설명 컴포넌트; 및
    상기 정의를 사용하여 제2 개체가 상기 제1 개체의 상기 수행 수준을 만족시키는지를 판정하는 서비스 관리자
    를 포함하는 시스템.
  14. 제13항에 있어서, 상기 수행 수준은 비율, 업타임(uptime), 및 용량 수행 수치 중의 적어도 하나를 포함하는 시스템.
  15. 제14항에 있어서, 상기 비율 수치는 처리 대수로 예측되는 시스템.
  16. 제15항에 있어서, 상기 처리 대수는 pi 계산인 시스템.
  17. 제14항에 있어서, 상기 비율 수치는 수행의 한 개 이상의 비용들을 결정하고 상기 한 개 이상의 비용들과 각각의 비율들을 상관하여 예측되는 시스템.
  18. 제17항에 있어서, 상기 한 개 이상의 비용들은 상기 정의의 상태 천이들에 각각의 비용 함수들을 재귀적으로 적용하여 계산되는 시스템.
  19. 제13항에 있어서, 상기 제1 개체와 연계된 비율 수치는 상기 제2 개체의 비율 수치와 비교되어 상기 제2 개체가 상기 제1 개체의 수행 수준을 만족시키는지를 판정하는 시스템.
  20. 제14항에 있어서, 상기 업타임 치수는 다운 타임(down time)과 예외 상태 중의 하나와 연계된 오류 빈도수를 지시하는 시스템.
  21. 제14항에 있어서, 상기 업타임 수치는 오류 상태들로의 천이들을 비율들로 수식(decorate)하고 상기 오류 상태들로의 천이들과 연계된 빈도수를 결정하여 계산되는 시스템.
  22. 제14항에 있어서, 상기 제1 개체와 연계된 상기 업타임 수치는 상기 제2 개체의 업타임 수치와 비교되어 상기 제2 개체가 상기 제1 개체의 수행 수준을 만족시키는지를 판정하는 시스템.
  23. 제14항에 있어서, 상기 용량 수치는 주어진 시간에 처리되는 데이타 양을 지시하는 시스템.
  24. 제14항에 있어서, 상기 용량 수치는 채널에 샤논의 정리(Shannon's Theorem)를 적용하여 계산되는 시스템.
  25. 제13항에 있어서, 상기 제1 및 제2 개체들은 웹 서비스들인 시스템.
  26. 제13항에 있어서, 상기 개체의 정의는 컨포먼스 알고리즘(conformance algorithm)을 통해 상기 제2 개체의 정의의 구현과 비교되어 상기 제2 개체가 상기 수행 수준을 만족시키는지의 판정을 용이하게 하는 시스템.
  27. 제13항에 있어서, 상기 제1 개체와 연계된 상기 정의는 컴플라이언스 알고리즘(compliance algorithm)으로 상기 제2 개체의 수행 수준의 정의와 비교되어 상기 정의들이 기능적 동격들인지를 판정하는 시스템.
  28. 수행 수준을 사용하여 서비스의 선택을 용이하게 하는 방법으로서,
    확률적 수학 기반 알고리즘을 채택하여 에이전트에 대한 수행 비율을 예측하는 단계; 및
    상기 예측된 수행 비율과 서비스 제공 에이전트의 광고된 수행 비율을 비교하여 상기 서비스 제공 에이전트가 상기 예측된 비율을 만족시킬 수 있는지를 판정하는 단계
    를 포함하는 방법.
  29. 제28항에 있어서, 상기 예측된 수행 비율과 연계된 작업을 서비스하기 위해 경쟁하는 복수의 서비스 제공 에이전트들에게 상기 예측된 수행 비율을 전송하는 단계를 더 포함하는 방법.
  30. 제28항에 있어서, 상기 예측된 수행 비율과 연계된 작업을 서비스하기 위해 경쟁하는 복수의 서비스 제공 에이전트들로부터 한 개 이상의 광고된 수행 비율들을 수신하는 단계를 더 포함하는 방법.
  31. 제28항에 있어서, 확률적 알고리즘을 사용하여 상기 에이전트에 대한 업타임을 명시하는 단계를 더 포함하고, 상기 업타임은 상기 서비스 제공 에이전트가 상기 에이전트의 수행 수준을 만족시킬 수 있는지의 판정을 용이하게 하기 위해 사용되는 방법.
  32. 제28항에 있어서, 확률적 알고리즘을 채택하여 상기 에이전트에 대한 용량을 명시하는 단계를 더 포함하고, 상기 용량은 상기 서비스 제공 에이전트가 상기 에이전트의 수행 수준을 만족시킬 수 있는지의 판정을 용이하게 하기 위해 사용되는 방법.
  33. 제28항에 있어서, 메시지 내용 설명, 에이전트 위치, 및 통신 프로토콜 중의 적어도 하나를 포함하는 계약에 상기 예측된 수행 비율을 명시하는 단계를 더 포함하는 방법.
  34. 에이전트들 간의 서비스 관련 교섭들을 용이하게 하는 2 개 이상의 컴퓨터 컴포넌트들 간에 전송되는 데이타 패킷으로서,
    수행 품질 - 상기 수행 품질은 제2 에이전트의 비율, 업타임, 및 용량 수치들과 비교되는 상기 제1 에이전트의 비율, 업타임, 및 용량 수치들을 포함하여 상기 제1 에이전트가 제2 에이전트의 수행 품질을 만족하는지를 판정함 -
    을 포함하는 데이타 패킷.
  35. 수행 수준의 명시를 용이하게 하는 컴퓨터 실행가능 컴포넌트들을 저장하는 컴퓨터 판독가능 매체로서,
    상태들로서 웹 서비스를 나타내는 컴포넌트;
    연계된 상태 천이들을 비용 함수들로 나타내는 컴포넌트;
    상기 비용 함수들을 사용하여 각각의 상태 천이들에 대해 비율을 예측하는 컴포넌트; 및
    상기 예측된 비율들과 제안된 비율들을 비교하여 제안된 비율이 상기 예측된 비율을 만족하는지를 판정하는 컴포넌트
    를 포함하는 컴퓨터 판독가능 매체.
  36. 에이전트들 간의 교섭 툴로서 수행 품질을 채택하는 시스템으로서,
    각각의 에이전트들에 대한 수행 품질을 판정하는 수단;
    상기 각각의 에이전트들의 수행 품질을 비교하는 수단; 및
    상기 비교에 기초하여 적어도 2 개의 에이전트들을 정합(match)시키는 수단
    을 포함하는 시스템.
KR1020040104196A 2003-12-10 2004-12-10 처리 대수를 사용하여 계약을 명시하고 그것의 수행 예측구현을 사용하여 수행 세부사항을 측정하는 시스템 및 방법 KR20050056899A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US52875803P 2003-12-10 2003-12-10
US60/528,758 2003-12-10
US10/903,959 US20050131978A1 (en) 2003-12-10 2004-07-30 Systems and methods that employ process algebra to specify contracts and utilize performance prediction implementations thereof to measure the specifications
US10/903,959 2004-07-30

Publications (1)

Publication Number Publication Date
KR20050056899A true KR20050056899A (ko) 2005-06-16

Family

ID=34527132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040104196A KR20050056899A (ko) 2003-12-10 2004-12-10 처리 대수를 사용하여 계약을 명시하고 그것의 수행 예측구현을 사용하여 수행 세부사항을 측정하는 시스템 및 방법

Country Status (5)

Country Link
US (1) US20050131978A1 (ko)
EP (1) EP1545066B1 (ko)
JP (1) JP2005182788A (ko)
KR (1) KR20050056899A (ko)
CN (1) CN1658570B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101036861B1 (ko) * 2008-05-29 2011-05-25 한국산업기술평가관리원 예상되는 사용 정보로 확장된 서비스 기술정보

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143775A1 (en) * 2005-12-16 2007-06-21 Savoor Raghvendra G Methods and systems to determine pricing of Internet protocol television services
US7890315B2 (en) * 2005-12-29 2011-02-15 Microsoft Corporation Performance engineering and the application life cycle
US20070156420A1 (en) * 2005-12-29 2007-07-05 Microsoft Corporation Performance modeling and the application life cycle
US20070157311A1 (en) * 2005-12-29 2007-07-05 Microsoft Corporation Security modeling and the application life cycle
US7818788B2 (en) * 2006-02-14 2010-10-19 Microsoft Corporation Web application security frame
US7712137B2 (en) * 2006-02-27 2010-05-04 Microsoft Corporation Configuring and organizing server security information
AU2007299571B2 (en) * 2006-09-20 2013-09-12 National Ict Australia Limited Generating a transition system for use with model checking
US20120239456A1 (en) * 2007-12-14 2012-09-20 Bank Of America Corporation Category analysis model to facilitate procurement of goods and services
US8407728B2 (en) * 2008-06-02 2013-03-26 Microsoft Corporation Data flow network
US20110106712A1 (en) * 2009-11-02 2011-05-05 Microsoft Corporation Cost-Aware Service Aggregation
US20140108072A1 (en) * 2012-10-17 2014-04-17 Bank Of America Vendor Contract Assessment Tool
US9336481B1 (en) * 2015-02-02 2016-05-10 James Albert Ionson Organically instinct-driven simulation system and method
US10037536B2 (en) 2016-02-13 2018-07-31 At&T Intellectual Property I, L.P. Method and apparatus for autonomous services composition

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1132377C (zh) * 1993-11-30 2003-12-24 英国电讯有限公司 通信网络管理
US5638412A (en) * 1994-06-15 1997-06-10 Qualcomm Incorporated Method for providing service and rate negotiation in a mobile communication system
US5790677A (en) * 1995-06-29 1998-08-04 Microsoft Corporation System and method for secure electronic commerce transactions
US6401080B1 (en) * 1997-03-21 2002-06-04 International Business Machines Corporation Intelligent agent with negotiation capability and method of negotiation therewith
US6192354B1 (en) * 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US6148290A (en) * 1998-09-04 2000-11-14 International Business Machines Corporation Service contract for managing service systems
AU5843299A (en) * 1998-09-25 2000-04-17 Soma Networks, Inc. Operating system for telecommunications
CN1169400C (zh) * 1999-01-04 2004-09-29 艾利森电话股份有限公司 承载业务协商
US6324172B1 (en) * 1999-03-08 2001-11-27 Qualcomm Incorporated Method of rate allocation in a data communications network
US6708155B1 (en) * 1999-07-07 2004-03-16 American Management Systems, Inc. Decision management system with automated strategy optimization
US20040010592A1 (en) * 2000-01-14 2004-01-15 Carver Andrew Richard Resource allocation
US6516322B1 (en) * 2000-04-28 2003-02-04 Microsoft Corporation XML-based representation of mobile process calculi
JP3511620B2 (ja) * 2000-05-17 2004-03-29 日本電気株式会社 大規模ネットワーク監視系の性能解析方法およびそのシステム
WO2002003302A1 (en) * 2000-06-30 2002-01-10 Enron Net Works Llc Buying and selling goods and services using automated method and apparatus
AU2001269290A1 (en) * 2000-08-18 2002-03-04 International Business Machines Corporation Apparatus and method for use in a computer hosting services environment
US20020059132A1 (en) * 2000-08-18 2002-05-16 Quay Steven C. Online bidding for a contract to provide a good or service
JP3670206B2 (ja) * 2000-11-06 2005-07-13 アルプス電気株式会社 プラズマ処理装置又はプラズマ処理システムの性能評価方法、保守方法、性能管理システム、及び性能確認システム、並びにプラズマ処理装置
US20030195838A1 (en) * 2000-11-29 2003-10-16 Henley Julian L. Method and system for provision and acquisition of medical services and products
US8402129B2 (en) * 2001-03-21 2013-03-19 Alcatel Lucent Method and apparatus for efficient reactive monitoring
US20030050830A1 (en) * 2001-09-13 2003-03-13 William Troyer Method and apparatus for evaluating relative performance of a business in an association of the same or similar businesses
US20030083912A1 (en) * 2001-10-25 2003-05-01 Covington Roy B. Optimal resource allocation business process and tools
US7349872B2 (en) * 2001-12-18 2008-03-25 Rosemount, Inc. Method for comparing and selecting process control apparatus
EP1385094A1 (en) 2002-07-24 2004-01-28 Koninklijke KPN N.V. Apparatus and method predicting performance of distributed systems
AU2003229074A1 (en) 2002-09-30 2004-04-23 Microsoft Corporation Safe interoperability among web services
US6799143B1 (en) * 2002-12-10 2004-09-28 Abb Inc. Process and device for evaluating the performance of a process control system
US7460499B2 (en) * 2003-01-17 2008-12-02 Texas Instruments Incorporated Modulation noise estimation mechanism
US20040204868A1 (en) * 2003-04-09 2004-10-14 Maynard John D. Reduction of errors in non-invasive tissue sampling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101036861B1 (ko) * 2008-05-29 2011-05-25 한국산업기술평가관리원 예상되는 사용 정보로 확장된 서비스 기술정보

Also Published As

Publication number Publication date
US20050131978A1 (en) 2005-06-16
CN1658570A (zh) 2005-08-24
EP1545066B1 (en) 2013-10-02
CN1658570B (zh) 2011-03-23
EP1545066A2 (en) 2005-06-22
EP1545066A3 (en) 2009-12-16
JP2005182788A (ja) 2005-07-07

Similar Documents

Publication Publication Date Title
US20200106715A1 (en) Availability management for reference data services
Liu et al. QoS computation and policing in dynamic web service selection
US11431582B2 (en) Systems and methods for context aware adaptation of services and resources in a distributed computing system
US9444846B2 (en) Methods and apparatuses for trust computation
KR20050056899A (ko) 처리 대수를 사용하여 계약을 명시하고 그것의 수행 예측구현을 사용하여 수행 세부사항을 측정하는 시스템 및 방법
Viji Rajendran et al. Hybrid model for dynamic evaluation of trust in cloud services
US20060235859A1 (en) Prescriptive architecutre recommendations
Baranwal et al. A framework for IoT service selection
US20100036809A1 (en) Tracking market-share trends based on user activity
Saravanan et al. Priority based prediction mechanism for ranking providers in federated cloud architecture
Kumar et al. QoS based cloud service provider selection framework
AU2019331371A1 (en) System and method for providing customer specified webpage configuration
US20050108133A1 (en) Service shopping and provisioning system and method
Smithamol et al. TMM: trust management middleware for cloud service selection by prioritization
Papageorgiou et al. Decision support for Web service adaptation
Bacigalupo et al. An investigation into the application of different performance prediction methods to distributed enterprise applications
Akingbesote et al. A quality of service aware multi-level strategy for selection of optimal web service
Pawar et al. Multi-objective optimization model for QoS-enabled web service selection in service-based systems
Marzolla et al. Qos analysis for web service applications: a survey of performance-oriented approaches from an architectural viewpoint
CN113992358A (zh) 网络安全策略的分配方法及装置
Vaadaala et al. Classification of web services using JForty Eight
Zhang et al. A QoS&SLA-driven multifaceted trust model for cloud computing
Sivasamy et al. Modelling of a cloud platform via M/M1+ M2/1 queues of a Jackson network
Hung et al. Web services discovery based on the trade-off between quality and cost of service: a token-based approach
Ajayi et al. An intelligent quality of service brokering model for e-commerce

Legal Events

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