KR20040068101A - 프로세스 제어 시스템 및 방법 - Google Patents

프로세스 제어 시스템 및 방법 Download PDF

Info

Publication number
KR20040068101A
KR20040068101A KR10-2004-7001364A KR20047001364A KR20040068101A KR 20040068101 A KR20040068101 A KR 20040068101A KR 20047001364 A KR20047001364 A KR 20047001364A KR 20040068101 A KR20040068101 A KR 20040068101A
Authority
KR
South Korea
Prior art keywords
node
client
message
template
protocol
Prior art date
Application number
KR10-2004-7001364A
Other languages
English (en)
Other versions
KR100574158B1 (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 KR20040068101A publication Critical patent/KR20040068101A/ko
Application granted granted Critical
Publication of KR100574158B1 publication Critical patent/KR100574158B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/465Distributed object oriented systems
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Marketing (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 멀티 노드 서비스를 제어하는 방법 및 장치에 관한 것이다. 2개 이상의 클라이언트 및 서비스 레지스트리 사이의 프로세스를 제어하는 프로세스 브로커가 개시되며, 이는 복수의 프로세스 템플릿 - 각각의 프로세스 템플릿을 노드의 서비스를 조정하는 프로세스를 나타내고, 각각의 노드에서 이러한 서비스를 조정하는 하나 이상의 단계를 포함함 - 과, 메시지에 응답해서 프로세스 템플릿 및 참여 노드를 선택하는 수단과, 선택된 노드의 선택된 프로세스 템플릿에서 정의되는 대로 프로세스 단계를 호출하는 수단과, 선택된 프로세스 템플릿에 정의되고, 참여 노드로부터 응답에 기초한 타입의 응답을 가진 제 1 노드에 응답하는 수단을 포함한다.

Description

프로세스 제어 시스템 및 방법{METHOD AND APPARATUS FOR CONTROLLING A MULTI-NODE PROCESS}
더 복잡한 웹 서비스에는 도 1의 종래의 기술에 도시된 바와 같은 멀티 노드가 있다. 클라이언트(12:판매자)는 클라이언트(14:구매자)로부터 지불금을 받기 위해 클라이언트(14)와 메시지를 주고 받는다. 클라이언트(14)를 대신해서 지불 서비스부(18)가 지불을 행하고, 클라이언트(12)를 대신해서 지불 서비스부(16)가 지불금을 받는다. 이 예에서, 클라이언트(12)는 클라이언트(14)로부터의 지불금을 요청하며, 클라이언트(14)는 지불 서비스부(18)에 요청을 전송하고, 지불 서비스부(18)가 클라이언트(14) 및 클라이언트(12)를 통해서 지불 서비스부(16)에 전송될 지불 주문을 준비하되, 지불 주문이 누락된 경우에는 지불 서비스부(16)가 클라이언트(12)로 메시지를 전송한다.
위의 서비스에서, 정해진 단계들의 프로세스가 각각의 노드에 정의되며, 여기서 각각의 노드는 프로세스 중 다음 단계를 조정한다. 프로세스 단계에 대한 사전 정보가 각각의 노드에 유지되어 있다. 각각의 노드는 프로세스 중 특정 단계를 자신이 또는 다른 노드와 함께 어떻게 수행할지를 알고 있다. 프로세스 중 각각의 단계는 프로세스의 다른 단계와 관련되어 있으므로, 프로세스는 중앙 집중식으로 정의되지 않고, 노드들의 그룹에 관련되어 정의된다. 일단 노드가 프로세스 중 자신의 단계를 종료하면, 다음 노드를 트리거해서 다음 단계를 개시시킬 것이다. 이 예에서, 노드는 프로세스에 대해 하나 이상의 몇 가지 제어 기능을 가지고 있다.
분산형 프로세스는 그 프로세스 및 이들 노드로 정해진다. 필요한 것은 클라이언트가 프로세스를 선택하고, 이 프로세스에 포함될 노드를 선택할 수 있는 솔루션이다.
본 발명은 멀티 노드 프로세스를 제어하는 방법 및 장치에 관한 것이다. 더 상세하게는, 두개 이상의 클라이언트 시스템들 사이의 프로세스를 제어하는 브로커 시스템에 관한 것이다.
웹 서비스란 애플리케이션이 인터넷을 통해서 서로 통신할 수 있게 하는 프로토콜과 기술의 세트를 나타낸다. 이는, 사람들이 전통적인 방식의 서비스에서 예상하는 서비스의 품질과 같은 서비스로 상거래 서비스를 인터넷 세계에 접목시키는 e-비지니스 프레임 워크의 일부이다.
간략하게 웹 서비스는 인터넷을 통해 접속된 클라이언트와 서버의 두개의 부분(party)을 포함한다. 클라이언트는 인터넷을 통해서 요청을 서버에 전송하고, 서버는 요청을 처리해서 다시 인터넷을 통해서 응답을 클라이언트에 전송하여, 클라이언트가 이 정보를 수신한다. 이와 같은 정보의 예는 일기 예보를 들 수 있다.
도 1은 종래의 멀티 노드 지불 프로세스의 개략도,
도 2는 본 실시예의 멀티 노드 지불 프로세스의 개략도,
도 3은 본 실시예의 프로세스 브로커의 주요 구성 요소의 개략도,
도 4는 지불 프로세스 템플릿의 멀티 노드 프로세스의 흐름도.
본 발명의 한가지 특성에 따라서, 청구항 1에 정의되는 바와 같이 두개 이상의 노드들 사이의 프로세스를 제어하는 시스템이 제공된다.
바람직한 실시예에서, 이러한 시스템은 프로세스 브로커라고 불린다. 바람직하게는, 노드(바람직한 실시예에서 클라이언트라고 불림)는 다른 노드와 상호 작용하는 것이 아니라, 프로세스 브로커와만 독점적으로 상호 작용해서, 어떤 노드도 브로커와 상호 작용하지 않고서는 독점 노드의 프로세스를 수행할 수 없도록 구성된다. 바람직하게는, 이러한 브로커는 신뢰받는 부분(trusted party)이 된다. 더 바람직하게는, 이런 브로커 시스템을 사용해서, 전체 프로세스의 일부를 이루는 여러 개의 서브 프로세스가 하나의 초점에 제공된다.
바람직하게는, 이러한 시스템은 그 서비스와 실제로 어떻게 상호 작용하는지에 대한 사전 정보 없이도, 클라이언트가 미리 정해진 서비스에 인터페이스할 수 있도록 애플리케이션 개발자에게 간단한 커맨드 지향 인터페이스를 제공한다. 그 사전 정보는 시스템에 저장되어 있다.
바람직하게는, 노드는 많은 컴퓨터 시스템의 타입 중 하나가 될 수 있다. 첫번째 노드는 제품 및 서비스를 구입하기 위한 프로세스를 호출하는 클라이언트가 될 수 있다. 두번째 노드는 상품 또는 서비스를 처분할 클라이언트가 될 수 있다. 다른 노드는 예컨대, 지불 서비스부와 같은 노드의 접속 항목을 위치 지정하는 서비스 레지스트리가 될 수 있다.
전체 노드의 시스템의 구성 요소가 도 2를 참조로 해서 설명된다. 네트워크를 통해서 프로세스 브로커(10)에 접속되어 있는 클라이언트(40) 및 클라이언트(42)가 도시되어 있다. 지불 서비스부(44, 46) 및 서비스 레지스트리(48)도 프로세스 브로커(10)에 접속된다.
클라이언트(40)는 관련된 데이터를 보안된 상태로 저장하고, 이 경우에 관련된 데이터란 지불 서비스부(44)의 이름 및 지불 서비스부(44)에 의해 유지되는 회계 항목이다. 클라이언트(40, 42)는 프로세스 브로커(10)와 데이터를 주고 받을 수 있으며, 이 실시예에서, 클라이언트(40)는 프로세스 브로커(10)와 통신하기 위해 WAP 전송 프로토콜을 사용하는 WAP 가능 모바일 폰이다. 클라이언트(42)는 HTTP라는 통신 네트워크 프로토콜을 사용해서 프로세스 브로커(10)와 통신한다.
서비스 레지스트리(48)는 지불 서비스부(44, 46)의 접속 항목을 포함하고 있다. 이러한 접속 항목은 클라이언트에 의해 제공되는 노드 명을 사용해서 프로세스 브로커(10)가 획득한다.
네트워크는 서비스를 사용하는 클라이언트, 브로커 및 서비스 레지스트리를 포함하는 모든 노드를 접속시킨다. 프로세스 브로커(10)는 다중 네트워크 전송 성능을 가지고 있으며, 웹 서비스를 조정하도록 네트워크 상에서 공통 HTTP 프로토콜을 사용한다.
프로세스 브로커(10)는 서비스를 실행할 수 있으며, 도 3에 상세하게 도시되어 있다. 본 실시예에서, 프로세스 브로커는 IBM®WebSphere®비지니스 프로세스 빈스(Process Beans)를 사용해서 제작될 수 있으며, IBM WebSphere 웹 애플리케이션 서버에서 구현될 수 있다. 그러나, 서비스를 실행하고, 구현하며, 호출할 수 있다면, 어떤 언어 또는 플랫폼도 사용될 수 있다. 프로세스 브로커(10)의 기능은 프로세스 템플릿을 저장하고, 이들 프로세스 템플릿을 실행하며, 실행 상태를 유지하고, 실행 사이에 데이터를 관리하는 것이다. 프로세스 템플릿의 예가 설명된다.
프로세스 브로커(10)는 프로세스 엔진(30) 및 프로세스 템플릿 리포지토리(repository:32)를 포함한다. 프로세스 엔진(30)은 메시지 리스너(34), 메시지 센더(35), 프로세스 해석기(36), 프로세스 실행부(37), 보안부(38) 및 프로토콜 변환기(39)와 같은 구성 요소의 본체를 포함한다. 프로세스 리포지토리(32)는 프로세스 템플릿(1:지불 프로세스 템플릿), 프로세스 템플릿(2:암호화 기능을 가진 지불 프로세스 템플릿) 및 지불 프로세스 템플릿(3:지불용 디지털 상품의 교환)을 포함한다.
메시지 리스너(34)는 노드로부터 메시지를 수신한다. 이 구성 요소는 전송프로토콜이 사용되는 모든 것을 통해서, 메시지를 수신할 수 있다(다른 부분으로부터의 요청이든 응답이든 간에). 프로토콜이 공통의 프로토콜이 아니고, 서로 다른 프로토콜이면, 프로토콜 변환기(39)가 호출되어서 다른 부분을 프로토콜 메시지로 변환한다. 다른 프로토콜은 후속하는 메시지가 변환된 다른 프로토콜이 될 수 있도록 저장된다. 메시지 리스너(34)는 세션 ID 또는 메시지 중 하나의 결여를 식별함으로써, 현재의 프로세스의 일부인 메시지와 새로운 프로세스의 실행을 요청하고 있는 메시지를 구별한다. 세션 ID가 없다면, 메시지는 프로세스 해석기(36)로 전송된다. 세션 ID가 존재하면, 메시지는 프로세스 실행부(37)로 전송된다.
메시지 센더(35)는 메시지를 노드에 전송한다. 이 구성 요소는 HTTP 전송 메커니즘을 통해서 메시지를 전송할 수 있다(다른 부분으로부터의 요청이든 응답이든 간에). 통상적으로 각각의 메시지는 세션 ID를 통합할 것이며, 이는 메시지가 진행중인 프로세스의 일부임을 나타내는 응답에 포함될 수 있다. 수신 노드가 다른 프로토콜을 지원하고, 공통 프로토콜을 지원하지 않는다면, 프로토콜 변환기(39)가 호출되어서 메시지가 전송되기 전에 다른 프로토콜을 변환시킨다.
프로세스 해석기(36)는 세션 ID가 없는 메시지를 분석해서 이 메시지가 프로세스 실행부(37)에서 세션을 개시하는 것인지 식별한다. 그리고, 프로세스 실행부(37)에 의한 후속하는 실행을 위해 메시지(노드를 포함)로부터 프로세스 템플릿 및 파라미터를 식별하고, 프로세스 템플릿의 프로세싱을 위해 세션 번호를 할당한다.
프로세스 실행부(37)는 선택된 프로세스 템플릿의 스텝들을 분석해서, 다양한 방법을 호출한다. 또한 노드로부터의 응답이 세션 ID를 가지고 있는지 분석한다. 이는 템플릿의 스텝의 수를 세고, 각각을 순차적으로 실행한다. 내부 방법(internal method), 노드 호출 방법, 노드 어드레스 방법 및 역할 관리 방법의 4가지 주요 방법이 여기서 설명된다. 내부 방법은 예컨대, 산술 연산, 논리 연산, 문자열 연산, 논리 방법 호출과 같은 많은 내부 방법 중 임의의 하나가 될 수 있다. 호출 노드 방법은 메시지 센더(35)를 사용해서, 노드와 통신하고 수행될 서비스를 요청한다. 이 방법에는 노드 어드레스가 필요하다. 호출 노드 방법으로 돌아가서, 응답이 저장되어서 다음 단계의 프로세스에 사용된다. 노드 어드레스 방법은 노드 명을 서비스 디렉토리에 전송함으로써 노드 어드레스를 획득한다. 이 방법은 노드 명이 개시 클라이언트 또는 후속하는 클라이언트에 의해 주어지는 경우에만, 실시된다. 역할 관리 방법은 노드 명을 역할에 할당해서, 프로세스 템플릿이 노드 명을 직접 참조하지 않을 때 사용된다. 프로세스 템플릿은 예컨대, 소스 노드, 타겟 노드, 타겟 노드의 지불 서비스부와 같은 역할에 따라서 프로세스를 정의한다. 역할 관리 방법은 역할을 노드로부터의 첫번째 메시지 및 후속하는 메시지에 공급된 파라미터로부터 특정 노드로 할당한다.
보안 구성 요소(38)는 보안 공정을 위해 요청을 식별한다. 프로세스 브로커(10)는 임의의 암호화된 데이터를 관련된 노드에 전송하는 경우를 제외하고는 스스로 이를 사용하거나 필요로 하지 않는다.
보안 구성 요소는 보안 프로세스 템플릿의 요청을 식별해서 이런 보안 프로세스 템플릿을 선택하는 단계와, 프로세스 템플릿에서 보안 프로세스를 식별하는단계를 포함하는 방법을 포함한다.
프로세스 템플릿은 하나 이상의 노드 사이의 일반적인 상호 작용을 나타내는데 사용되는 용어이다. 이런 기술(description)은 노드들 사이의 웹 프로세스를 조정하기 위해 시스템에서 사용된다. 프로세스 템플릿은 시스템에 의한 실행에 적합한 언어로 기술되며, 지불 프로세스 또는 상품 교환 프로세스와 같은 다양한 노드 사이의 특정 목적을 완수하는 특정 프로세스를 정의한다. 프로세스 템플릿은 수집해서 교환할 정보, 어느 역할이 주어진 부분의 세트에 의해 프로세스에서 플레이되어야 할 지 및 전체 목적을 달성하기 위해 취해야 하는 단계를 정의한다. "지불"을 기술하기 위해 프로세스 템플릿에서 정의되는 역할의 예는 "구매자", "판매자", "뱅커"를 들 수 있다. 웹 서비스 기간 중에, 프로세스 템플릿은 하나 이상의 서브 프로세스를 포함하며, 각각의 서브 프로세스는 웹 서비스 상호 작용을 기술하고 있다.
프로세스 템플릿이 프로세스 브로커에 의해 해석되어 실행될 때, 프로세스 템플릿은 자신이 기술하는 프로세스의 실행중인 인스턴스가 되고, 이 프로세스 템플릿에서 정의되는 역할은 이들이 프로세스 브로커의 클라이언트이건, 프로세스 브로커가 사용하거나 클라이언트에 의해 사용될 예정인 서비스이건 간에, 실제 참여중인 부분에 속해야 한다.
본 발명의 바람직한 실시예의 프로세스 템플릿은 시스템의 다른 프로세스 템플릿의 데이터베이스에 저장되어서 실행 중에 변화되지 않고 유지된다는 점에서 정적(static)이다.
중요한 항목(sensitive details)이 몇 가지 프로세스에서 요구되며, 여기서는 사람들이 관련된 어떤 부분의 중요한 항목에 액세스하는 것은 제한되길 원한다.
프로토콜 변환기(39)는 클라이언트로부터의 메시지를 수신할 때, 메시지 전송 프로토콜이 공통 프로토콜이 아니면, 공통 프로토콜로 변환하는 단계와, 클라이언트에 메시지를 전송할 때, 클라이언트가 다른 전송 프로토콜을 사용하면 클라이언트의 전송 프로토콜로 메시지 프로토콜을 변환하는 단계를 포함하는 방법을 포함한다.
암호화 기술은 다수의 노드 시스템에서 발생되는 중요한 항목과 관련된 문제를 처리한다. 신뢰의 범위가 유사한 노드와 관련된 노드 사이에 존재하며, 예컨대 본 실시예에서는 클라이언트들 사이, 클라이언트와 그들의 지불 서비스부 사이, 지불 서비스부 사이에 존재한다. 한가지 상황은 각각의 클라이언트가 동일한 신뢰의 레벨을 가지고 있어서 각각의 노드의 모든 데이터를 보는 경우이다. 다른 상황은 클라이언트와 그 각각의 지불 서비스부 사이의 통신이 클라이언트 및 노드에만 알려진 키로 암호화되어서 다른 노드에서는 알 수 없는 경우이다. 다른 상황은 두개의 지불 서비스부가 서로 인지하고 있어서 공용 암호화 키를 독립적으로 또는 브로커를 통해서 교환하는 경우로, 따라서 브로커를 통해서 암호화되어 전송되는 데이터는 브로커가 알 수 없다. 세번째 경우에, 브로커는 중요한 데이터에 대해서만 통과를 허용하지만, 이것이 무엇인지 모르기 때문에, 일부만 신뢰받는(semi-trusted) 제 3 부분 프로세스 조정자일 뿐이다.
마지막 경우에, 메시지는 부분적으로 암호화되며, 이는 중요한 데이터만 암호화되고, 메시지는 암호화되지 않기 때문이다. 이러한 솔루션은 문서의 부분적인 암호화 및 메시지 레벨 암호화가 가능한 IBM MQe 제품에 의해서 해결되며, 이는 중간 노드에서 메시지를 볼 염려없이 노드들 사이에 경로를 지정할 수 있기 때문이다. 그러나, 이 제품은 단순한 메시징 플랫폼으로 본 실시예와 같은 프로세스를 만드는 기반이 된다. IBM MQe는 MQe가 각각의 노드(이 경우에 클라이언트, 지불 서비스부 및 관련된 모든 서비스)에 나타나는 동질(homogeneous) 환경에서 사용된다.
이질(heterogeneous) 시스템은 공통 네트워크 전송 프로토콜을 가지고 있다. 프로세스 브로커는 프로세스를 조정하기 위해 실질적으로 공통 네트워크 전송 프로토콜을 가지고 있지만, 한 노드가 공통 프로토콜을 지원하지 않는 경우에 프로토콜을 공통 프로토콜로 변환하는 수단도 가지고 있다. 프로세스 브로커가 프로세스의 중심에 위치하기 때문에, 이러한 기능을 수행하는 이상적인 위치이며, 적은 수를 유지하면서 고유한 전송 프로토콜을 사용해서 통신하는 것이 가능하다.
프로세스 템플릿의 두가지 예가 본 실시예에서 설명된다. 이들 프로세스 템플릿은 각각 프로세스 템플릿 리포지토리(32)에 저장된다. 프로세스 템플릿은 표준 인터페이스 정의를 사용해서 서비스를 정의한다. 이 프로세스 템플릿의 데이터베이스는 타입을 기준으로 해서, 프로세스 엔진(30)에 의해 해석하고 실행하기 위해 검색된다.
도 4의 지불 프로세스 템플릿은 전자 지불 주문을 클라이언트(42)의 지불 서비스부로부터 클라이언트(40)의 지불 서비스부로 직접 전송한다. 예컨대, 한쌍의클라이언트가 비지니스를 수행하면, 이들 사이에서는 $1의 지불이 요청된다. 클라이언트(40:판매자)는 클라이언트(42:구매자)에 지불을 요구한다.
단계(401)에서, 클라이언트(40)는 프로세스 브로커(10)에 요청 및 데이터를 전송한다. 요청 데이터(C40 데이터)는 클라이언트(40)의 지불 서비스부 항목의 명칭(지불이 행해질 수 있는 지불 서비스부(44)), 지불 액수($1) 및 프로세스 브로커(10)가 인지할 클라이언트(40)로의 기준(예컨대 클라이언트(40)의 노드 명칭 또는 어드레스)을 포함한다. 세션 ID는 메시지에 포함되지 않는다.
단계(402)에서 프로세스 브로커(10)는 메시지 리스너(34)를 통해서 메시지를 수신한다. 메시지 리스너(34)는 세션 ID가 존재하지 않아서 프로세스 해석기(36)로 전송한다는 것을 통지한다. 프로세스 해석기(36)는 요청에 의해 지시되는 바대로, 지불 프로세스 템플릿을 분석해서 선택한다. 프로세스 해석기(36)는 지불 프로세스를 위해 프로세스 템플릿 리포지토리(32)에서 프로세스 템플릿을 검색해서 프로세스 템플릿을 프로세스 실행부(37)에 전송한다. 프로세스 실행부(37)는 이 프로세스 템플릿을 프로세스로의 입력으로서 전송된 요청 데이터를 사용해서 실행한다. 프로세스 실행부(37)는 이 프로세스 템플릿의 판매자로서의 첫번째 역할을 식별하고, 역할 관리 방법을 사용해서 이 역할에 클라이언트(40)를 관련시킨다. 프로세스 실행부(37)는 구매자에서 클라이언트(42)로, 구매자 뱅킹 서비스부(BuyerBankingService)에서 지불 서비스부(46)로, 판매자 뱅킹 서비스부(SellerBankingService)에서 지불 서비스부(44)의 3가지 다른 역할을 프로세스에서 관련시킨다. 판매자 뱅킹 서비스부는 요청 데이터(C40)에 대해 특정되며, 단계(402)에서 프로세스 해석기(36)에 의해 지불 서비스부(44)에 관련되고, 반면에, 구매자 뱅킹 서비스는 단계(404) 이후에 관련된다.
단계(403)는 프로세스 실행부(37)에 의해 실행되는 프로세스 템플릿의 제 1 단계로, 이 단계에서는 클라이언트(42)로부터 관련된 데이터를 요청한다. 구매자 역할로부터의 서비스 항목을 뱅킹하기 위한 요청 문서 별로 제 1 프로세스 단계가 정의된다. 구매자 역할은 입력 데이터가 클라이언트(42)를 지정하는 클라이언트(42)와 같은 클라이언트(42)에 따라 이미 분석되어 있다.
클라이언트(42)는 판매자 데이터(액수=$1)에 기초해서 이 지불 서비스부(46)가 구매자 뱅킹 서비스라는 것을 명시함으로써 요청 문서 및 응답을 수신한다. 클라이언트(42)는 클라이언트(40)의 데이터에 기초해서 자신의 데이터(C42 데이터)를 요청 문서에 추가하고, 이를 프로세스 브로커(10)로 다시 전송한다.
단계(404)에서, 프로세스 실행부는 요청 문서를 클라이언트(42)로부터 수신한다. 이 단계에서 프로세스 실행부는 역할 관리 방법을 호출하고, 지불 서비스부(46)는 프로세스 해석기(36)에 의해 클라이언트(42)의 데이터를 수신한 후에, 구매자 뱅킹 서비스 역할에 관련된다.
단계(405)에서, 프로세스 실행부는 지불 서비스부(44, 46)의 노드 어드레스를 획득할 필요가 있는 경우에 서비스 레지스트리(48)를 호출한다. 이 프로세스 단계는 지불 서비스부(44, 46)의 접속 항목을 서비스 레지스트리(48)로부터 요청하며, 이들은 각각의 판매자 뱅킹 서비스 및 구매자 뱅킹 서비스의 역할에 각각 관련된다.
단계(406)에서, 프로세스 실행부(37)는 클라이언트(40)에게 지불 가능한 지불을 주문하기 위한 요청 문서(구매자 항목, 판매자 항목, 액수)를 클라이언트(42)의 지불 서비스부(46)에 전송한다.
단계(407)에서, 프로세스 실행부(37)는 모든 항목이 주문에 들어있으며, 서비스 레지스트리(48)로부터 지불 주문을 수신한다.
단계(408)에서, 프로세스 템플릿의 다음의 이어지는 단계는 클라이언트(40)의 지불 서비스부(44)의 지불 주문을 보관한다.
단계(409)에서, 지불 서비스부(44)는 성공 또는 오류를 알리며, 프로세스 템플릿의 마지막 단계인 단계(410)에서는 상태를 클라이언트(40)로 리턴한다.
두번째 프로세스 템플릿의 예는 더 복잡한 프로세스 흐름에 관한 것이며, 지불할 디지털 상품의 교환을 포함한다. 도 2에 도시된 바와 같은 프로세스에 디지털 권한 관리(DRM:Digital Rights Management) 노드를 더한 이러한 프로세스는 도시되어 있지 않다.
클라이언트의 쌍이 비지니스를 수행하고 있다. 클라이언트(40:판매자)는 클라이언트(42:구매자)가 $5를 지불할 것을 원한다. 이를 교환할 때, 클라이언트(40)는, MP3 형식으로 인코딩되어서, 음악 파일을 생성한 음악 공급 회사(DRM 서비스 A)에 의해 실행되는 디지털 권한 관리(DRM) 시스템에 의해 보호받는 음악 파일과 같은 디지털 자산의 소유권을 전송할 것이다.
단계 1. 클라이언트(40)는 "ExchangeGoodsForPayment" 요청을 지불 서비스부 항목(지불 서비스부(44)), 그 DRM 서비스 명(DRM 서비스 A), DRM 서비스(MP3-A)가 알고 있는 음악 파일로의 참조 기호 및 클라이언트(42)의 세션 ID를 나타내는 브로커에 전송한다.
단계 2. 프로세스 브로커(10)는 ExchangeGoodsForPayment 프로세스 템플릿을 검색해서, 공급된 데이터를 적절한 역할 구매자, 판매자 및 판매자 지불 서비스부 및 DRM 서비스에 관련시킨다.
단계 3. 제 1 프로세스 단계는 구매자 역할로부터 뱅킹 서비스 항목을 요청한다. 프로세스 브로커(10)는 이러한 정보의 요청을 클라이언트(42)에 전송한다.
단계 4. 클라이언트(42)는 지불 서비스부(46)가 자신의 뱅킹 서비스임을 명시함으로써 요청 및 응답을 수신한다. 지불 서비스부(46)는 구매자 뱅킹 서비스에 관련된다(프로세스 템플릿의 최종 역할).
단계 5. 다음 프로세스 단계에서, 프로세스 브로커(10)는 지불 서비스부(44, 46)의 접속 항목을 서비스 레지스트리(48)로부터 요청하되, 이들은 각각 판매자와 구매자의 뱅킹 서비스의 역할과 관련되어 있으며, DRM 서비스 A의 접속 항목을 요청하되, 이는 DRM 서비스 역할과 관련된다.
단계 6. 다음 단계에서, 프로세스 브로커(10)는 행해져야할 판매자에게 지불 가능한 지불 주문을 위해 복합 요청을 지불 서비스부(46:구매자 항목, 판매자 항목, 금액)에 전송한다.
단계 7. 지불 서비스부(46)는 주문에 모든 항목이 있는 경우에, 유효 지불 주문을 프로세스 브로커(10)에 리턴한다.
단계 8. 다음 단계에서, 프로세스 브로커(10)는 지불 서비스부(44)에 지불주문을 전송해서 지불 주문이 유효해서 받아들일 수 있다는 것을 입증한다.
단계 9. 다음 단계에서, 지불 서비스부(44)는 지불 주문이 유효하다는 표시를 브로커(10)에 리턴한다.
단계 10. 프로세스 브로커(10)는 클라이언트(40)로부터 클라이언트(42)로 가상 자산(MP3-A)의 소유권을 변화시키기 위해 DRM 서비스 A에 요청을 전송한다.
단계 11. DRM 서비스 A는 소유권의 변화가 이루어지지만, 반드시 완성될 필요는 없다는 것을 확인함으로써 프로세스 브로커(10)에 응답한다.
단계 12. 다음 프로세스 템플릿 단계는 지불 주문을 가득찬 저장부로서의 지불 서비스부(44)에 전송한다.
단계 13. 지불 서비스부(44)는 성공 또는 실패를 표시한다.
단계 14. 결과가 실패인 경우, 프로세스 브로커(10)는 DRM 서비스 A에 요청을 전송해서 소유권 변화를 취소시키고, 실패 응답을 클라이언트(40)로 다시 전송한다. 그러나, 결과가 성공이면, 프로세스 브로커(10)는 성공 상태를 클라이언트(40)에 리턴한다(성공적으로 이루어진 지불 및 전송된 자산 소유권).
프로세스 브로커(10)는 비지니스 빈스에 대해 설명되었지만, 예컨대 유한 상태 기계(Finite State Machine), 직접 그래프 해석기(directed graph interpreter) 등과 같은 프로세스 모델을 수행하는데 적합한 몇 가지 방법으로 구현될 수 있다. 예컨대, 비지니스 프로세스 빈스는 적절한 비지니스 서비스 모델을 사용할 수 있고, 반면에 IBM MQSeries Work Flow(MQWF)와 같은 직접 그래프 흐름 엔진은 FDML(flow definition modelling Language)를 사용할 것이다.

Claims (21)

  1. 2개 이상의 노드들 사이의 프로세스를 제어하는 시스템에 있어서,
    각각 상기 2개 이상의 노드들 사이의 프로세스를 정의하는 2개 이상의 프로세스 템플릿을 저장하는 수단과,
    상기 노드들과 메시지를 주고 받는 수단과,
    제 1 노드로부터 수신된 메시지에 응답해서 프로세스 템플릿과 제 2 노드를 선택하는 수단과,
    프로세스 템플릿에 의해 정의되는 대로 상기 선택된 제 2 노드로 메시지를 전송하는 단계와, 응답으로 상기 제 2 노드로부터의 메시지를 수신하는 단계를 포함하는 상기 프로세스 템플릿을 수행하는 수단과,
    상기 선택된 프로세스 템플릿을 수행한 결과로서 상기 제 1 노드에 응답을 전송하는 수단
    을 포함하는 프로세스 제어 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 노드는 제품 또는 서비스를 구매하기 위한 프로세스를 호출하는 클라이언트인
    프로세스 제어 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 노드는 처분할 상품 또는 서비스를 가진 클라이언트인
    프로세스 제어 시스템.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    각각의 프로세스 템플릿은 하나 이상의 단계들을 포함하되, 적어도 하나의 단계가 노드와 상호 작용(interaction)하는
    프로세스 제어 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 프로세스 템플릿 단계는 해석 언어(an interpreted language)로 코딩되는
    프로세스 제어 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 선택된 프로세스 템플릿의 후속 단계는 이전 단계가 수행되는 동안 노드로부터 수신되되, 상기 후속 단계가 상기 선택된 프로세스 템플릿에 추가되는
    프로세스 제어 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    브로커가 프로토콜 변환기를 포함하되, 상기 프로토콜 변환기는 클라이언트로부터 메시지를 수신할 때 그 메시지 전송 프로토콜이 공통 프로토콜이 아닌 경우에는, 상기 메시지 전송 프로토콜을 상기 공통 프로토콜로 변환하고, 클라이언트에 메시지를 전송할 때 상기 클라이언트가 다른 전송 프로토콜을 사용하는 경우에는, 상기 클라이언트의 전송 프로토콜로 상기 메시지 전송 프로토콜을 변환하는
    프로세스 제어 시스템.
  8. 2개 이상의 노드들 사이의 프로세스를 제어하는 방법에 있어서,
    각각 상기 2개 이상의 노드들 사이의 프로세스를 정의하는 2개 이상의 프로세스 템플릿을 저장하는 단계와,
    상기 노드들과 메시지를 주고 받는 단계와,
    제 1 노드로부터 수신된 메시지에 응답해서 프로세스 템플릿과 제 2 노드를 선택하는 단계와,
    프로세스 템플릿에 의해 정의된 대로 상기 선택된 제 2 노드로 메시지를 전송하는 단계와, 응답으로 상기 제 2 노드로부터의 메시지를 수신하는 단계를 포함하는 상기 프로세스 템플릿을 수행하는 단계와,
    상기 선택된 프로세스 템플릿을 수행한 결과로서 상기 제 1 노드에 응답을 전송하는 단계
    를 포함하는 프로세스 제어 방법.
  9. 제 8 항에 있어서,
    상기 제 1 노드는 제품 또는 서비스를 구매하기 위한 프로세스를 호출하는 클라이언트인
    프로세스 제어 방법.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 제 2 노드는 처분할 상품 또는 서비스를 가진 클라이언트인
    프로세스 제어 방법.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    각각의 프로세스 템플릿은 하나 이상의 단계들을 포함하되, 적어도 하나의단계가 노드와 상호 작용(interaction)하는
    프로세스 제어 방법.
  12. 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 프로세스 템플릿 단계는 해석 언어로 코딩되는
    프로세스 제어 방법.
  13. 제 8 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 선택된 프로세스 템플릿의 후속 단계는 이전 단계가 수행되는 동안 노드로부터 수신되되, 상기 후속 단계가 상기 선택된 프로세스 템플릿에 추가되는
    프로세스 제어 방법.
  14. 제 8 항 내지 제 13 항 중 어느 한 항에 있어서,
    브로커가 프로토콜 변환기를 포함하되, 상기 프로토콜 변환기는 클라이언트로부터 메시지를 수신할 때 그 메시지 전송 프로토콜이 공통 프로토콜이 아닌 경우에는, 상기 메시지 전송 프로토콜을 상기 공통 프로토콜로 변환하고, 상기 클라이언트에 메시지를 전송할 때 상기 클라이언트가 다른 전송 프로토콜을 사용하는 경우에는, 상기 클라이언트의 전송 프로토콜로 상기 메시지 전송 프로토콜을 변환하는
    프로세스 제어 방법.
  15. 컴퓨터 시스템에서 수행될 때, 2개 이상의 노드들 사이의 프로세스를 제어하는 컴퓨터 프로그램 제품에 있어서,
    각각 상기 2개 이상의 노드들 사이의 프로세스를 정의하는 2개 이상의 프로세스 템플릿을 저장하는 단계와,
    상기 노드들과 메시지를 주고 받는 단계와,
    제 1 노드로부터 수신된 메시지에 응답해서 프로세스 템플릿과 제 2 노드를 선택하는 단계와,
    프로세스 템플릿에 의해 정의된 대로 상기 선택된 제 2 노드로 메시지를 전송하는 단계와, 응답으로 상기 제 2 노드로부터의 메시지를 수신하는 단계를 포함하는 상기 프로세스 템플릿을 수행하는 단계와,
    상기 선택된 프로세스 템플릿을 수행한 결과로서 상기 제 1 노드에 응답을 전송하는 단계
    를 수행하는 프로그램 코드
    를 포함한 컴퓨터 프로그램 제품.
  16. 제 15 항에 있어서,
    상기 제 1 노드는 제품 또는 서비스를 구매하기 위한 프로세스를 호출하는 클라이언트인
    컴퓨터 프로그램 제품.
  17. 제 15 항 또는 제 16 항에 있어서,
    상기 제 2 노드는 처분할 상품 또는 서비스를 가진 클라이언트인
    컴퓨터 프로그램 제품.
  18. 제 15 항 내지 제 17 항 중 어느 한 항에 있어서,
    각각의 프로세스 템플릿은 하나 이상의 단계들을 포함하되, 적어도 하나의 단계가 노드와 상호 작용(interaction)하는
    컴퓨터 프로그램 제품.
  19. 제 15 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 프로세스 템플릿 단계는 해석 언어로 코딩되는
    컴퓨터 프로그램 제품.
  20. 제 15 항 내지 제 19 항 중 어느 한 항에 있어서,
    상기 선택된 프로세스 템플릿의 후속 단계는 이전 단계가 수행되는 동안 노드로부터 수신되되, 상기 후속 단계가 상기 선택된 프로세스 템플릿에 추가되는
    컴퓨터 프로그램 제품.
  21. 제 15 항 내지 제 20 항 중 어느 한 항에 있어서,
    브로커가 프로토콜 변환기를 포함하되, 상기 프로토콜 변환기는 클라이언트로부터 메시지를 수신할 때 그 메시지 전송 프로토콜이 공통 프로토콜이 아닌 경우에는, 상기 메시지 전송 프로토콜을 상기 공통 프로토콜로 변환하고, 상기 클라이언트에 메시지를 전송할 때 상기 클라이언트가 다른 전송 프로토콜을 사용하는 경우에는, 상기 클라이언트의 전송 프로토콜로 상기 메시지 전송 프로토콜을 변환하는
    컴퓨터 프로그램 제품.
KR1020047001364A 2001-12-22 2002-12-13 프로세스 제어 시스템, 방법 및 컴퓨터 판독 가능 기록 매체 KR100574158B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0130864.2 2001-12-22
GBGB0130864.2A GB0130864D0 (en) 2001-12-22 2001-12-22 Method and apparatus for controlling a multi-node process
PCT/GB2002/005664 WO2003056783A1 (en) 2001-12-22 2002-12-13 Method and apparatus for controlling a multi-node process

Publications (2)

Publication Number Publication Date
KR20040068101A true KR20040068101A (ko) 2004-07-30
KR100574158B1 KR100574158B1 (ko) 2006-04-26

Family

ID=9928341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001364A KR100574158B1 (ko) 2001-12-22 2002-12-13 프로세스 제어 시스템, 방법 및 컴퓨터 판독 가능 기록 매체

Country Status (9)

Country Link
US (1) US8712786B2 (ko)
EP (1) EP1468544B1 (ko)
JP (1) JP4667748B2 (ko)
KR (1) KR100574158B1 (ko)
CN (1) CN100525313C (ko)
AU (1) AU2002350960A1 (ko)
CA (1) CA2465331A1 (ko)
GB (1) GB0130864D0 (ko)
WO (1) WO2003056783A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495575B1 (ko) * 2006-08-10 2015-02-25 아브 이니티오 테크놀로지 엘엘시 그래프 기반 연산에서의 분배 서비스

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050039171A1 (en) * 2003-08-12 2005-02-17 Avakian Arra E. Using interceptors and out-of-band data to monitor the performance of Java 2 enterprise edition (J2EE) applications
US7281274B2 (en) 2003-10-16 2007-10-09 Lmp Media Llc Electronic media distribution system
US20050172013A1 (en) * 2004-02-04 2005-08-04 Tan Yih-Shin Methods, systems, and computer program products for configuring rules for service nodes in grid service architecture systems
US7370118B2 (en) * 2004-02-04 2008-05-06 International Business Machines Corporation Methods, systems, and computer program products for dynamic inter-operability of nodes in service grids
GB2501265A (en) * 2012-04-17 2013-10-23 Ibm Constructing instructions for a mainframe by embedding programming in job control language, and executing those instructions at the mainframe
US8914308B2 (en) * 2013-01-24 2014-12-16 Bank Of America Corporation Method and apparatus for initiating a transaction on a mobile device
CN105183447A (zh) * 2015-07-13 2015-12-23 国云科技股份有限公司 一种轻量级的流程引擎实现方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9314460D0 (en) 1993-07-13 1993-08-25 Int Computers Ltd Computer systems integration
US6553410B2 (en) 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
JPH117467A (ja) * 1997-06-16 1999-01-12 Hitachi Ltd 個人間商品売買仲介方法および装置
JPH1196099A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd サービス提供システム
US8375127B1 (en) * 1999-03-31 2013-02-12 International Business Machines Corporation Method and system for using virtual URLs for load balancing
US20010051902A1 (en) * 1999-06-28 2001-12-13 Messner Marc A. Method for performing secure internet transactions
JP2001229137A (ja) * 2000-02-17 2001-08-24 Toyo Eng Corp ホスティングシステム
JP2001338171A (ja) * 2000-05-29 2001-12-07 Nec Corp サービス取引仲介システムおよびサービス取引仲介方法並びに記録媒体
US7035828B2 (en) * 2000-10-25 2006-04-25 Topmoxie, Inc. Method and system for modifying and transmitting data between a portable computer and a network
US7212976B2 (en) * 2001-01-22 2007-05-01 W.W. Grainger, Inc. Method for selecting a fulfillment plan for moving an item within an integrated supply chain
US20030115111A1 (en) * 2001-08-25 2003-06-19 Fisher Douglas C. Mediated order management agent

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495575B1 (ko) * 2006-08-10 2015-02-25 아브 이니티오 테크놀로지 엘엘시 그래프 기반 연산에서의 분배 서비스

Also Published As

Publication number Publication date
US20030120596A1 (en) 2003-06-26
CN1611052A (zh) 2005-04-27
KR100574158B1 (ko) 2006-04-26
EP1468544A1 (en) 2004-10-20
JP2005513683A (ja) 2005-05-12
US8712786B2 (en) 2014-04-29
CA2465331A1 (en) 2003-07-10
GB0130864D0 (en) 2002-02-06
CN100525313C (zh) 2009-08-05
AU2002350960A1 (en) 2003-07-15
WO2003056783A1 (en) 2003-07-10
JP4667748B2 (ja) 2011-04-13
EP1468544B1 (en) 2013-01-16

Similar Documents

Publication Publication Date Title
KR101066659B1 (ko) 프로세스 흐름 및 코레오그래피 제어기를 웹 서비스로서 제시
US7120703B2 (en) Transforming data automatically between communications parties in a computing network
US8086538B2 (en) Meeting usage of services in a environment
US7603469B2 (en) Provisioning aggregated services in a distributed computing environment
KR100264535B1 (ko) 월드와이드웹상에서소프트웨어애플리케이션과컴퓨터간에통신하기위한컴퓨터장치및방법
US20020188761A1 (en) Data-type definition driven dynamic business component instantiation and execution framework
CN101202714A (zh) 消息传送环境中向服务提供方分发消息请求的方法和装置
KR100574158B1 (ko) 프로세스 제어 시스템, 방법 및 컴퓨터 판독 가능 기록 매체
JP2002358290A (ja) 情報処理サービス提供方法及びプログラム並びにシステム
US20050172013A1 (en) Methods, systems, and computer program products for configuring rules for service nodes in grid service architecture systems
US20090094314A1 (en) Reroute of a web service in a web based application
KR102660700B1 (ko) 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스를 제공하는 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체
KR102659150B1 (ko) 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스를 제공하는 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체
KR102663420B1 (ko) 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스를 제공하는 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체
AU2012216248B2 (en) Exposing Process Flows and Choreography Controllers as Web Services
Quah et al. Linking Businesses for Competitive Advantage: A Mobile Agent-Based
Quah et al. Linking Businesses for Competitive Advantage; A Mobile Agent-Based Approach

Legal Events

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

Payment date: 20130327

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee