KR100420777B1 - 클라이언트-서버 시스템에서 확장 트랜잭션의 처리 - Google Patents

클라이언트-서버 시스템에서 확장 트랜잭션의 처리 Download PDF

Info

Publication number
KR100420777B1
KR100420777B1 KR10-2000-7005053A KR20007005053A KR100420777B1 KR 100420777 B1 KR100420777 B1 KR 100420777B1 KR 20007005053 A KR20007005053 A KR 20007005053A KR 100420777 B1 KR100420777 B1 KR 100420777B1
Authority
KR
South Korea
Prior art keywords
client
transaction
processing
terminal user
extended
Prior art date
Application number
KR10-2000-7005053A
Other languages
English (en)
Other versions
KR20010031946A (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 KR20010031946A publication Critical patent/KR20010031946A/ko
Application granted granted Critical
Publication of KR100420777B1 publication Critical patent/KR100420777B1/ko

Links

Classifications

    • 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/466Transaction processing
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

확장 비즈니스 트랜잭션은 클라이언트에 의해 개시되는 처리가 트랜잭션이 완료되기전에 인터럽트되어 차후에 동일한 또는 또다른 클라이언트에 의해 인터럽트 시점으로부터 재개될 수 있도록 하는 방식으로 클라이언트-서버 시스템에서 처리된다. 이것은 단말 사용자 식별자와 관련하여 트랜잭션의 진행을 나타내는 상태 정보를 저장소에 저장함으로써 이루어진다. 단말 사용자가 두 번째로 클라이언트를 통해 서버로 그의 식별자를 전달할 때, 트랜잭션의 처리는 저장된 상태를 기반으로 재개될 수 있다.

Description

클라이언트-서버 시스템에서 확장 트랜잭션의 처리{PROCESSING EXTENDED TRANSACTIONS IN A CLIENT-SERVER SYSTEM}
비즈니스 트랜잭션은 예를 들어 영화 티켓을 구매하는 것과 같은 독립적인 비즈니스 거래이다. 소정의 비즈니스 트랜잭션은 단순하며 단기성을 띤다. 그러나, 휴가상품 또는 주택의 판매와 같이 장기간 걸쳐 발생되는 다수의 동작과 관련한 다수의 분야에서는 아닐 수도 있다. 이러한 트랜잭션을 "확장 트랜잭션"으로 지칭할 것이다.
큰 데이터베이스 및 원격 통신망을 기반으로 한 전형적인 트랜잭션 처리 시스템은 잘 설정되어 있다. 이러한 시스템은 단말 사용자(end-users)가 은행 구좌로 불입하거나 혹은 인출하거나 혹은, 단순히 잔액을 조회하기 위하여 단말기 네트워크를 통해 예를 들면, 은행과 단기 비즈니스 트랙잭션을 개시 및 완료할 수 있게 한다. 이러한 트랜잭션은 주로 비교적 단기성(분단위)을 띠며, 이 시간 기간내에 완료하거나 또는 실패한다. 통신 세션은 트랜잭션의 지속기간동안 설정되며, 이 기간이 종료되면 통신도 종결된다. 트랜잭션을 무기한으로 중지하고 차후에 재개한다는 개념은 없으며, 트랜잭션이 활성일 때, 필요한 상태 정보가 유지관리되어 트랜잭션의 진행이 가능해지며 고장시에 복구할 수 있게 된다.
전형적인 트랜잭션 처리 시스템은 지능이 없는 입력/출력 장치로서 동작하는 연결된 단말기의 네트워크를 가진 대형컴퓨터 데이터 처리기 뿐만 아니라, 제한된 양의 데이터 처리는 로컬 클라이언트 컴퓨터에서 행해질 수 있으며 처리 동작을 완료하기 위해 서버 컴퓨터의 큰 프로그램을 더 호출하는 클라이언트-서버 (분산) 시스템으로 구현되었다. 클라이언트는 종종 서버로의 데이터 입력 및 출력을 처리하며, 단말 사용자가 실제로 사용하는 단말기를 포함한다. 클라이언트는 단순한 단말기가 처리할 수 없는 인터페이스들간의 데이터 변환 및 번역의 양상을 다룰 수 있다.
최근에 인터넷으로 인해, 정보 서비스 공급자에 의해 관리되는 웹 서버에 소위 웹 브라우저에 의해 연결된 개별 컴퓨터 사용자는 방대한 양의 정보를 액세스할 수 있게 되었다. 이들 웹 브라우저는 HTML로 알려진 포맷으로 정보를 전송하기 위해 HTTP와 같은 설정된 프로토콜에 따라 설계된 범용 클라이언트 컴퓨터이다. 각 HTML 전송후에 웹 서버와의 웹 브라우저의 통신은 종료하고, 서버는 이전 연결의 지식을 보존하지 않으므로, HTTP 프로토콜은 상태를 가지지 않는다. 따라서, 이것은 트랜잭션 처리에 적합하지 않다.
그럼에도 불구하고, 트랜잭션의 현재 진행에 대한 소정의 상태 정보를 유지하거나 또는 다양한 방식의 검색을 구현함으로써, 인터넷상에서의 트랜잭션 처리가 수행될 수 있게 되었다. 상태 정보는 HTML 형태로 숨겨질 수 있으며, 서버가 상태를 저장해 온 트랜잭션과 클라이언트로부터의 새로운 입력을 관련시킬 수 있도록 클라이언트와 서버 사이에서 왕래될 수 있다. 넷스케이프 통신사에 의해 공급되며, 넷스케이프 네비게이터 브라우저 시스템("넷스케이프"는 넷스케이프 통신사의 상표)와 연결된 또다른 기지의 시스템은 서버 응답에 "쿠키(cookies)"를 추가하여 소정의 상태 정보를 보존할 수 있도록 쿠키를 사용한다. 우리의 계류중인 유럽 특허출원 제0812088호에서는 서버에 의해 클라이언트로 반환되는 상태 정보를 "연속적으로"(하이퍼링크) 내장한다.
그러나, 상태 정보를 도입하는 이러한 기지의 방식은 단순히, 클라이언트가 서버로부터 이 정보를 보유하여 트랜잭션을 재개하기 위해 이를 다시 넘겨줄 수 있도록 하여, 트랜잭션의 처리를 계속할 수 있게 한다. 클라이언트의 완벽한 연결해제를 허용하지 않으며, 장기간 비즈니스 트랜잭션에서 적절한 상태 정보의 손실이 발생할 수 있다. 또한, 또다른 클라이언트로부터의 중단된 트랜잭션의 재개를 허용하지 않는다.
본 발명은 클라이언트-서버 환경에서 확장 트랜잭션(extended transactions)을 처리하는 것에 관한 것이다.
이제, 도면이 첨부된 바람직한 실시예를 참조하여 단지 예로써 본 발명을 기술할 것이다.
도 1은 본 발명에 따라서 확장 트랜잭션을 처리하기 위한 서버 시스템의 블록도이다.
도 2는 세가지 특정적 유형의 클라이언트에 적합한 도1의 시스템의 일 예를 도시하는 도면이다.
도 3는 도 1의 시스템의 홈베이스 저장소 부분의 내용을 도시하는 도면이다.
도 4는 본 발명에 따라서 확장 트랜잭션을 처리하는 방법을 도시하는 흐름도이다.
따라서, 본 발명은 서버와 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자를 위한 몇몇 유형의 확장 트랜잭션을 처리하는 방법으로서, 공통 목표를 향해 단말 사용자와의 구성요소 트랜잭션의 상호작용(interaction)으로 구성되는 트랜잭션이며, 상기 처리는 일정치 않은 기간동안 중단되어 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자의 트랜잭션의 상호작용을 처리하기 위해 상기 서버와의 통신을 설정할 수 있을 때, 상기 방법은: 먼저, 한 클라이언트로부터의 단말 사용자 식별자를 수신하는 단계; 선택을 위해 상기 클라이언트에게 상기 몇몇 유형의 확장 트랜잭션의 메뉴를 제공하는 단계; 상기 클라이언트로부터 확장 트랜잭션의 선택을 수신하는 단계; 상기 선택된 확장 트랜잭션의 처리를 시작하는 단계; 상기 선택된 트랜잭션의 진행을 나타내는 상태 정보를 저장하는 단계; 상기 선택된 트랜잭션에 대한 상기 상태 정보와 상기 단말 사용자 식별자를 관련시키는 단계; 상기 한 클라이언트와의 통신 세션 후에 상기 선택된 트랜잭션의 처리를 중지하는 단계; 상기 트랜잭션의 처리 세션 후에, 또다른 클라이언트로부터 두 번째로 상기 사용자 식별자를 수신하는 단계; 두 번째로 상기 식별자를 수신하는 것에 응답하여, 상기 다른 클라이언트로 상기 단말 사용자에 대한 모든 현재의 확장 트랜잭션을 제공하여, 상기 클라이언트가 상기 확장 트랜잭션중의 하나를 제2 선택할 수 있게 하는 단계; 상기 제2 선택에 응답하여, 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결정되는 지점으로부터 상기 트랜잭션의 처리를 재개하는 단계를 서버에서 포함한다.
본 발명의 제2 양상에 따라서, 본 발명은 또한 본 발명에 따르는 전술한 방법을 수행하기 위한 컴퓨터 프로그램을 제공한다.
본 발명의 제3 양상에 따라서, 본 발명은 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자를 위한 몇몇 유형의 확장 트랜잭션을 처리하기 위한 서버를 제공하는 데, 확장 트랜잭션은 공통 목표를 향해 단말 사용자와의 구성요소 트랜잭션의 상호작용로 구성되는 트랜잭션이며, 상기 처리는 일정치 않은 기간동안 중단되어 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자 트랜잭션의 상호작용을 처리하기 위하여 상기 서버와의 통신을 설정할 수 있는, 상기 서버는: 트랜잭션 처리 수단; 및, 상기 클라이언트와 상기 트랜잭션 처리 수단 사이에 통신이 가능하도록 이들을 연결시키기 위한 수단을 포함하고; 상기 트랜잭션 처리 수단은 상기 클라이언트중의 한 클라이언트로부터의 단말 사용자 식별자의 제1 전달에 응답하여, 선택을 위해 상기 몇몇 유형의 확장 트랜잭션의 메뉴를 상기 클라이언트에게 제공하고, 상기 클라이언트에 의한 확장 트랜잭션의 선택에 응답하여 선택된 확장 트랜잭션의 처리를 시작하고, 상기 선택된 확장 트랜잭션의 진행을 나타내는 상태 정보를 발생하고; 상기 서버는 상기 단말 사용자 식별자와 관련하여 상기 트랜잭션 상태 정보를 저장하기 위한 저장소를 더 포함하고; 상기 트랜잭션 처리 수단은 상기 한 클라이언트와의 통신 세션 후에 선택된 트랜잭션의 처리를 중지하고, 다른 클라이언트로부터 상기 단말 사용자 식별자를 두 번째로 수신하는 것에 응답하여, 상기 다른 클라이언트에게 상기 단말 사용자를 위한 모든 현재 확장 트랜잭션을 제공하므로써 상기 다른 클라이언트가 상기 한 확장 트랜잭션을 제2 선택하게 하고; 상기 제2 선택에 응답하여, 상기 저장소에서의 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결정되는 시점으로부터 상기 트랜잭션의 처리를 재개한다.
따라서, 이름 또는 패스워드와 같은 단말 사용자 식별자를 사용하므로써, 이 단말 사용자가 이전에 개시한 트랜잭션을 식별할 수 있고, 저장소에 저장된 상태 정보에 의해 지시되는 지점으로부터 처리를 재개할 수 있다. 저장된 상태 정보는 클라이언트와 서버 간의 통신시의 상태에 대응하거나 혹은, 클라이언트 입력을 더 요구할 때 까지 비동기적으로 트랜잭션을 계속 처리하는 트랜잭션 처리 수단의 결과로 인해 도달하는 차후의 상태에 대응할 수 있다.
본 발명의 주된 이점은 확장 트랜잭션을 개시한 클라이언트와 상이한 클라이언트가 이 트랜잭션을 재개할 수 있도록 하는 데 있다. 이것은 트랜잭션의 재개를 기다릴 때, 사용자가 상이한 설비를 갖춘 물리적으로 상이한 위치에 있을 수 있는 현실에 대응한다.
또한, 본 발명은 단말 사용자가 다수의 트랜잭션상에서 작업할 수 있게 한다. 단말 사용자 식별자와 통신하는 클라이언트에 응답하여, 서버는 단말 사용자를 위한 현재의 모든 트랜잭션을 클라이언트에게 제공하는 데, 이 클라이언트는 처리를 위해 서버에 대한 단말 사용자가 선택한 트랜잭션을 확인한다. 바람직하게, 단말 사용자와 관련있는 저장된 상태 정보는 선택된 확장 트랜잭션에 대한 토큰의 발생에 의해, 그리고, 트랜잭션의 처리를 그의 저장된 상태로부터 재개할 수 있도록 다른 클라이언트의 제2 선택 후에 토큰을 제공하므로써 성취된다.
또한, 확장 트랜잭션이 서버와 클라이언트 간의 다수의 상호작용와 관련있고 클라이언트가 상태 정보를 저장할 능력이 없으므로, 본 발명의 바람직한 특징에서는 트랜잭션을 고유하게 식별하며 그의 상태 정보로써 또한 식별되는 토큰을 발생한다. 이 토큰은 서버로부터 단말 사용자의 상호작용을 필요로 하는 응답을 가진 클라이언트로 되전송되고, 그후, 트랜잭션의 처리가 각 상태 정보에 의해 정의되어지는 바와 같은 그의 현재 상태로부터 재개될 수 있도록 단말 사용자 응답과 함께 서버로 되전송된다.
또다른 바람직한 실시예에서, 본 발명은 또다른 클라이언트로부터의 처리 재개를 허용할 뿐만 아니라, 이 클라이언트가 상이한 유형이여도 된다. 이를 성취하기 위하여, 서버는 클라이언트에게 송신하기 위한 클라이언트-중립적 형태(client-neutral form)인 정보를 제공하고, 이것은 차후에, 새로운 유형의 클라이언트에 의해 단말 사용자에게 제공하기 위한 클라이언트 특정적 형태로 변환된다.
클라이언트 중립적 정보는 비즈니스 데이터 및 일반적 디스플레이 포맷명의 모두를 포함할 수 있다. 이 경우에, 본 발명은 일반적 디스플레이 형식명을 클라이언트 특정적 탬플릿으로 맵핑(mapping)하여 상기 비즈니스 데이터를 디스플레이한다.
도 1은 단말 사용자가 한 클라이언트를 통해 개시하는 비즈니스 트랜잭션을 수행하기 위하여 확장 트랜잭션 관리 서버 시스템(10)과 통신하는 다수의 클라이언트(5)가 있는 클라이언트-서버 시스템을 도시한다.
도 2를 참조하여 보다 상세히 후술하는 바와 같이, 클라이언트는 통상적인 웹 브라우저, IBM 3270 터미날("IBM"은 IBM사의 상표), 및 음성 응답장치를 포함하는 각종 상이한 유형일 수 있다.
전형적인 확장 비즈니스 트랜잭션은 견적을 요청하고, 가장 최선의 것을 선택하고, 수납 및 송장을 수신하고, 최종 지불을 행하므로써 보험금을 얻는 것일 수 있다. 이러한 트랜잭션의 다양한 단계는 상이한 때 및 장소에서 발생될 수 있고, 고객이 트랜잭션의 상이한 단계를 수행하기 위해 상이한 클라이언트를 사용하는 것이 보다 편리할 수 있다. 예를 들면, 고객은 처음에 그의 웹 브라우저로부터 견적을 요청할 수 있지만, 다음으로는 특정한 견적을 취하기 위해 자동화된 호출 센터에 전화를 걸 수도 있다. 또한, 지불 행위는 또다른 유형의 클라이언트에서 이뤄질 수 있다.
이러한 응용 모델을 지원하기 위하여, 확장 트랜잭션 관리자가 상이한 유형의 클라이언트로부터의 입력에 대처할 수 있어야 할 뿐 아니라, 고객이 그가 사용중인 클라이언트에 관계없이 동일한 트랜잭션으로 처리할 수 있는 메카니즘을 제공하여야 한다. 도 1의 시스템은 이들 설비를 제공한다.
도 1의 시스템에서, 클라이언트(5)로부터 확장 트랜잭션 관리 서버(10)로의 모든 입력은 비즈니스 서비스에 대한 요청 또는, 사용자에게 정보를 제공하거나 혹은 사용자가 추가의 입력을 제공할 수 있도록 단순히 클라이언트로 스태틱 페이지를 전달해 주도록 하는 요청으로서 처리된다.
이들 요청은 먼저 다수의 캐처(catchers)(20)중의 하나로 경로배정되는 데, 각 캐처는 특정 유형의 클라이언트에 대응한다. 청취자(listener)(26), 맵퍼(mapper)(27) 및 응답자(responder)(28)와 함께 캐처(20)는 서버(10)의 작업 개시 부분을 형성한다. 청취자, 맵퍼 및 응답자는 클라이언트의 유형을 알 필요없는 일반적 클라이언트-중립적 부분을 형성하고, 작업을 시작하는 클라이언트의 유형에 관계없이 표준 단계들을 수행한다. 그러나, 캐처(20) 및 관련된 렌더러(renderers)(50)는 특정 유형의 클라이언트에 대해 고유하게 대응한다. 이러한 방식으로 작업 개시 부분을 분할함으로써, 전체를 재설계할 필요없이 다른 유형의 클라이언트를 추가할 수 있도록 서버 설계가 보다 충분히 유통성있게 만들어진다.
클라이언트로부터의 입력을 수신시에 캐처(20)의 기본 기능은 클라이언트 입력으로부터 유형별 요청명 및 임의의 부가적인 데이터를 추출하고, 이를 청취자(26)의 큐에 전달하는 데 있다. 만약 클라이언트가 그 중 하나가 매 확장 트랜잭션과 고유하게 관련있는 애플리케이션 인터랙션 토큰(AIT: Application Interaction Token)을 제공하는 경우, 이 토큰은 청취자에게로 전달된다.
웹 브라우저 클라이언트의 경우에, 클라이언트 입력은 요청명으로서 브라우저 입력에서의 URL(Uniform Resource Locator)을 인식하는 (도 1의 일반화된 클라이언트(5)에 대해 도시되지 않은) 웹 서버를 통해 전송되고, 데이터를 CGI(Common Gateway interface)를 통해 웹 브라우저 클라이언트에 특정적인 한 캐처(20)로 전달한다. 캐처는 URL과 같은 웹기반 데이터를 일반 형태의 요청 및 데이터로 변환하고, 이를 청취자(26)에게 전달한다.
청취자(26)는 작업 요청을 적절한 서버 프로세스에 경로배정하기 위해 그의 큐를 처리한다. 이는 일반적 요청명, 관련된 데이터 및 AIT를 맵퍼(27)로 전달하므로써 행해진다. 맵퍼는 요청명을 조사하고, 비즈니스 서비스 요청(BSR) 또는 클라이언트에 대한 응답을 제공하기 위한 페이지 전달을 위한 요청인지를 나타내는 "유형"을 청취자에게 반환한다. AIT가 요청과 함께 제공되는 경우, 맵퍼는 이를 유효화한다. AIT가 제공되지 않고, 요청 이름이 제1 새로운 확장 트랜잭션으로서 인식된다면, 맵퍼는 AIT를 발생한다.
맵퍼에 의해 반환된 유형에 따라서, 청취자는 BSR을 비즈니스 논리 관리자(Business logic manager: BLM)(29)로 전달하거나 혹은, 캔버스 ID(canvas)의 형태로 페이지 전달 요청을 응답자(28)의 큐로 전달한다. 캔버스 ID 또는 이름은 특정한 요청에 응답하여 클라이언트에게 정보를 되제공하기에 적합한 일반 유형의 캔버스(또는 탬플릿)를 식별한다.
응답자(28)는 적절한 캐처(20)로 (캔버스 ID의 경우에) 응답을 경로배정한다. 이 캐처는 캔버스 ID를 각 클라이언트-특정적 렌더러(50)로 전달하는 데, 이 렌더러(50)는 파일 저장소(53)에 저장된 클라이언트-특정적 파일(52)을 있는 경우에 외부적으로 공급된 데이터와 결합하므로써 실제 캔버스(51)를 발생한다. 캔버스는 적절한 캐처(20)로 반환되고, 사용자에게 이를 디스플레이하는 특정한 클라이언트에게로 전달된다.
먼저, 사용자가 새로운 비즈니스 트랜잭션을 개시하기를 원할 때, 사용자는 그의 이름 (ID) 및 선택사양적으로는 패스워드를 제공하므로써 적절한 클라이언트를 통해 서버에 대해 신분을 증명한다. 전술한 바와 같이, 서버의 작업 개시 부분은 사용자에게로 가능한 확장 트랜잭션의 메뉴를 제공하는 캔버스를 반환한다. 그후, 사용자는 한 트랜잭션을 선택하고, 이 선택은 서버의 작업 개시 부분에 의해 일반 요청명으로 변환되고, 그후, BLM(29)에 대한 비즈니스 서비스 요청으로 변환된다.
비즈니스 논리 관리자(29)는 이 유형의 확장 트랜잭션을 처리하기 위해 사전정의된 규칙에 따라 취해야 할 조치를 결정한다. 이것은 BSR을 후위 트랜잭션 처리 시스템(30)에 의해 수행될 것으로 예정된 구성요소 BLT(business logic tasks)의 집합으로 분리시키는 데, 그후, 작업을 조정하고 규칙에 의해 정의된 표준에 따라 그들의 응답을 처리하는 후위 트랜잭션 처리 시스템(30)이 이 BLT를 수행할 것으로 예정된다. 시스템(30)은 작업을 스케줄링하기 위한 미러 기능(mirror function)(31)이 추가된 IBM의 CICS 시스템("CICS"는 IBM사의 상표)과 같은 통상적인 트랜잭션 처리 시스템일 수 있다. BLT(32)와 같은 BLT는 CICS 시스템에서 애플리케이션으로서 실행되며, CICS API를 통해 CICS 기능을 호출할 수 있다.
BLT는 CICS 자원으로부터 정보를 구할 수 있고, 확장 트랜잭션 관리자를 위한 특별한 API를 통해 데이터를 애플리케이션 스크래치패드(40)에 둘 수 있다. 이 정보는 각종 단계를 통해 진행됨에 따라 발생되는 트랜잭션에 대한 상태 정보를 포함할 수 있다.
확장 트랜잭션의 제1 유효한 새 요청인 경우, 맵퍼에서 애플리케이션 상호작용적 서비스는 특정한 확장 트랜잭션의 경우에 고유한 AIT를 발생하며, 일반적 요청명 및, 선택사양적으로 사용자 제공 데이터와 함께 이를 홈베이스 저장소(41)에 저장한다. AIT는 필요한 경우에 스크래치패드에서의 상태 정보를 액세스하기 위한 키로서 사용될 수 있다.
BLT가 종료되면, 제어를 BLM(29)으로 반환한다. BLM은 BLT로부터의 응답을 주목하여, 이를 클라이언트-중립적 형태로 응답자(28)에게 반환한다. 응답자는 캔버스의 이름을 포함한 일반적 응답을 요청이 시작된 캐처(20)로 전달한다. 페이지 전달에 관해 전술한 바와 같이, 캐처는 캔버스 이름을 각 렌더러(50)로 전달하고, 이 렌더러(50)는 파일 저장소(53)의 파일(52)을 액세스하여 클라이언트-특정적 캔버스를 발생하여 캐처(20)로 반환한다. 웹 브라우저의 경우에, 파일은 HTML 페이지일 수 있다.
클라이언트 및 단말 사용자에 대한 특정한 응답이 BLT로부터의 데이터를 필요로할 시에, 이것은 스크래치패드(40)로부터 적절한 렌더러(50)에 의해 얻어지며, 또한, 캐처로 반환되는 파일에 포함된다. 비즈니스 데이터는 단지 데이터-이름 값 쌍으로 구성되는 클라이언트-중립적이다. 마지막으로, 캐처는 트랜잭션을 개시한 클라이언트(5)로 응답을 반환한다.
전술한 바와 같이, 캐처/렌더러, 청취자/응답자 배치는 비즈니스 논리부가 통신중인 클라이언트의 유형을 알 필요가 없도록 비즈니스 논리부와 제공(클라이언트) 논리부로 분리시키기 위해 설계된다. 이로써, 클라이언트 유형이 상호작용 기간동안 변경되는 경우에, 비즈니스 논리부가 영향을 받지 않도록 보장한다.
홈베이스(41)를 구성하는 표는 도 3에 도시되어 있는 데, 식별된 사용자에게 속하는 임의 확장 트랜잭션의 현재 상태에 대한 저장소를 제공하므로써 확장 트랜잭션의 진행시에 클라이언트를 전환하기가 용이하다. 따라서, 도 3으로부터 알 수 있는 바와 같이, 홈베이스의 각 행은 고유한 토큰(AIT)으로 구성된다. 각 AIT는 특정한 사용자와 관련있으며, 이 사용자의 사용자 ID가 첫 열에 있다. 다른 열은 일반적 요청 ID 및, 선택사양적으로, 단말 사용자에 의해 혹은 이전의 BLT에 의해 제공될 수 있는 데이터, 그리고, 디스플레이가능한 확장 트랜잭션 이름을 포함한다. 확장 트랜잭션의 소정 단계에서, 데이터 필드는 필요하거나 혹은 반환되는 사용자 데이터가 없으므로 비어있을 수 있다. 표의 제3 행에서의 사용자 ID 2에 도시된 바]와 같이, 사용자는 또한 하나 이상의 현재 트랜잭션을 가질 수 있다. 요청 ID 및 데이터는 트랜잭션의 현재 상태를 나타내기 위해 확장 트랜잭션의 진행동안 변경될 것이다. 보험의 예를 들면, 먼저 보험 견적을 나타낼 수 있지만, 차후에 트랜잭션의 선택 및 지불 단계로 갱신될 수 있다. 요청 ID는 일반적으로, 클라이언트로부터의 추가의 입력에 응답하여 변경될 것이지만, 소정의 경우에 BLM에 의해 변경될 수 있다.
상태 정보가 보다 복잡한 소정의 확장 트랜잭션의 경우, 스크래치패드(40)에 저장되고 AIT를 키로서 사용하여 액세스될 수 있다.
도 2의 예에서, 휴일 패키지를 조사하는 고객은 인터넷에 웹 브라우저로서 연결된 홈 컴퓨터로부터 여행사의 확장 트랜잭션 관리 시스템에 등록할 수 있다.이 통신은 웹 서버에 의해 CGI를 통해 여행사의 시스템의 (도시되지 않은) CGI 캐처(21)로 경로배정된다. 고객은 여행지, 일짜 및 호텔의 다양한 조합에 대해 문의할 수 있는 정보를 제공받는 다. 이 정보는 HTML 렌더러(54)에 의해 변환되어 고객의 웹 브라우저로 제공된다. 이 초기 문의가 완료되면, 고객은 연결해제하지만, 트랜잭션의 상태는 홈베이스에 또는 홈베이스를 경유해 저장된다.
점심시간인 경우, 고객은 그녀의 문의의 결과를 논의하고 제의받은 것 중의 하나를 임시로 예약하기 위하여 여행사를 방문할 수도 있다. 이것은 시스템에 영구히 온라인되어 있으며 3270 캐처(23)에 연결된 여행사의 IBM 3270 단말기로부터 행해진다. 시스템으로부터의 피드백은 렌더러(55)에 의해 3270 포맷으로 변환된다. 트랜잭션은 고객의 ID의 제공 및, 고객의 진행중인 트랜잭션(in-flight transactions)의 제공시에 응답하여 이전 상태로부터 재개된다. 고객이 트랜잭션을 중단하기 위해 연결을 종료하므로 확인이 가능한 것은 아니다.
밤인 경우, 고객은 여행사에 있는 자동 응답 서비스와 통화하여, 신분을 증명하고, 음성 캐처(24) 및 렌더러(56)를 통해 그녀의 예약을 확인할 수 있다.
이러한 시나리오의 경우, 동일한 고객이 비즈니스 트랜잭션을 개시 및 진행하기 위해 상이한 세 클라이언트를 통해 여행사의 시스템과 상호작용할 수 있다. 그러나, 고객의 액세스는 클라이언트로부터 임의 순서로 수행되거나 혹은 단일 클라이언트로부터 수행될 수 있다는 데에 주목한다. 본 발명은 상호작용중에 시스템으로부터의 오랜 기간의 단절 후에도 클라이언트로부터 트랜잭션이 계속될 수 있게 한다.
이제, 도 4의 흐름도를 참조하여 시스템의 동작을 보다 상세히 기술할 것이다.
단계(99)에서 사용자가 임의 클라이언트를 통해 서버를 액세스할 때, 새로운 사용자인 경우에(단계100) 사용자에게 등록할 기회가 주어진다(단계 101). 이미 등록된 사용자는 단계(102)에서 이름 및 패스워드, 고객 번호 또는 유사한 식별을 제공하므로써 신분을 증명한다.
단계(103)에서, 기지의 사용자가 "진행중인" 확장 트랜잭션, 즉, 현재 중단된 존재하지만 불완전한 트랜잭션을 가지는 지를 조사하기 위해 "홈베이스를 검사한다. 가지지 않는 경우, 단계(104)에서, 사용가능한 비즈니스 트랜잭션의 메뉴가 사용자에게 제공된다. 또한, 동일한 메뉴가 새로이 등록한 사용자에게 제공된다. 사용자는 이들 트랜잭션중의 하나를 선택하고, 필요한 데이터 필드에 기입하고, 대응하는 개시 요청 ID 및 데이터가 적절한 캐처에게로 전송된다. 요청 ID 및 데이터가 일반형태로 변환되어 청취자 및 맵퍼에게 전달된 후에, 맵퍼는 새로이 시작된 트랜잭션에 대한 고유 AIT를 발생하고 이는 관련된 요청 ID 및 임의 데이터와 함께 홈베이스에 저장된다(단계 105).
사용자가 진행중인 트랜잭션을 가지는 경우, 단계(106)에서, 시스템은 대신에 이들 트랜잭션의 메뉴를 디스플레이하고, 사용자에게 새로운 트랜잭션의 시작을 선택할 수 있게 하거나(단계 107), 기존의 트랜잭션을 재개하거나(단계 108) 혹은 기존의 트랜잭션을 취소할 수 있게(단계 109) 한다. 새로운 트랜잭션을 시작하는 옵션을 선택하면, 사용자는 전술한 단계(104, 105)를 거친다.
단계(105)에서의 AIT의 발생 및 홈베이스 엔트리의 발생 후에, 단계(111)에서, 초기 요청은 비즈니스 서비스 요청으로서 청취자 및 맵퍼를 통해 비즈니스 논리 관리자(29)로 전달되고, 비즈니스 논리 작업(32)이 시작된다. 이들은 일반적으로 클라이언트를 통해 사용자와 상호작용한다. 클라이언트가 트랜잭션의 현재 상태에 관한 정보 그자체를 보유할 필요없이 트랜잭션의 현재 시점으로부터 상호작용을 계속할 수 있도록, AIT는 서버로부터 응답자 및 캐처를 통해 클라이언트로 전달된다. AIT는 동일한 상호작용 부분을 형성하는 다음 응답에서 클라이언트에 의해 캐처로 재전송된다.
단계(108)에서 사용자가 기존의 트랜잭션의 재개를 선택한 경우, 단계(110)에서, 이 사용자에 대한 홈베이스 엔트리를 정밀조사하고, 선택된 기존의 트랜잭션에 대한 AIT가 제공된다. 그후, 단계(111)에서 홈베이스(41) 및/또는 스크래치패드(40)에 저장된 상태로부터 처리가 재개된다.
비즈니스 논리부가 확장 트랜잭션의 처리시에 예를 들면, 클라이언트로부터의 새로운 요청의 수신시와 같은 중요한 시점에 도달할 때 마다, 홈베이스를 방문하여 적절한 요청 ID 및 데이터를 가진 트랜잭션에 대한 레코드를 갱신하고, 필요한 경우에, 부가적인 상태 정보를 스크래치패드에 저장한다(단계112). 저장된 정보는 항상 트랜잭션의 재개에 적절할 것이다. 따라서, 사용자가 임의 클라이언트를 통해 시스템을 다음 액세스를 할 시에, 단계(110)에서 AIT의 제공으로 인해 저장된 상태로부터 트랜잭션 처리를 재개할 수 있게 된다.
이로써, 사용자는 언제라도 특정한 클라이언트로부터 확장 트랜잭션의 처리를 종료할 수 있고, 원래 클라이언트로부터 혹은 완전히 다른 클라이언트로부터 차후에 동일 시점으로부터 재개할 수 있다. 이를 행하는 클라이언트의 능력에 관계없이, 새로운 액세스가 이 트랜잭션과 전에는 관련없던 클라이언트로부터 일 수 있으므로, 트랜잭션에 대한 상태 정보는 클라이언트에 저장될 수 없다. 또한, 단일 사용자는 동일한 시스템에서 하나 이상의 진행중인 트랜잭션을 가질 수 있고, 그들중 일부의 트랜잭션을 계속하기를 원할 수 있다.
확장 트랜잭션이 완료될 때(단계 113) 혹은, 기존의 트랜잭션을 취소한다고 판정될 때(단계 109), 홈베이스로부터 이 트랜잭션의 레코드를 그의 AIT와 함께 삭제한다(단계 114). 트랜잭션이 완료되지 않은 경우, 클라이언트는 단계(115)로부터 단계(111)로 복귀하므로써 계속 처리를 진행하거나 혹은, 중간 상태에서 트랜잭션을 인터럽트하기 위해 단계(116)에서 연결해제하므로써 그의 상호작용을 종료한다. 단계(109)에서 사용자가 기존의 트랜잭션을 취소하지 않는 다고 결정한 경우, 단계(117)에서 또한 연결해제가 발생된다. 사용자는 임의 클라이언트를 통해 사용자 ID를 제공하므로써 차후에 단계(100)로부터 처리를 재개할 수 있다.

Claims (20)

  1. 서버와 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자(end-user)를 위한 몇가지 유형의 확장 트랜잭션(extended transaction)을 처리하는 방법으로서, 확장 트랜잭션은 공통 목표를 이루기 위해 단말 사용자와의 성분별 트랜잭셔널 상호작용(component transactional interactions)으로 구성되는 트랜잭션이며, 상기 트랜잭션의 처리는 무기한 중단되었다가 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자와의 트랜잭셔널 상호작용을 처리하기 위해 상기 서버와의 통신을 설정할 수 있으며, 상기 방법은, 상기 서버에서
    상기 클라이언트 중 한 클라이언트로부터 단말 사용자 식별자를 초기 수신하는 단계;
    선택을 위해 상기 클라이언트에게 상기 몇가지 유형의 확장 트랜잭션의 메뉴를 제공하는 단계;
    상기 클라이언트로부터 확장 트랜잭션의 선택을 수신하는 단계;
    상기 선택된 확장 트랜잭션의 처리를 시작하는 단계;
    상기 선택된 트랜잭션의 진행을 나타내는 상태 정보를 저장하는 단계;
    상기 선택된 트랜잭션에 대한 상기 상태 정보와 상기 단말 사용자 식별자를 연관시키는 단계;
    상기 한 클라이언트와의 통신 중단에 뒤이어 상기 선택된 트랜잭션의 처리를 중단하는 단계;
    상기 트랜잭션의 처리 중단에 뒤이어, 상기 클라이언트 중 또다른 클라이언트로부터 두 번째로 상기 단말 사용자 식별자를 수신하는 단계;
    두 번째로 상기 식별자를 수신하는 것에 응답하여, 상기 클라이언트 중 또다른 클라이언트에게 상기 단말 사용자에 대한 현재의 모든 확장 트랜잭션을 제공하여, 상기 클라이언트 중 또다른 클라이언트가 상기 확장 트랜잭션 중의 하나를 제2 선택할 수 있게 하는 단계;
    상기 제2 선택에 응답하여, 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결정되는 지점으로부터 상기 트랜잭션의 처리를 재개하는 단계
    를 포함하는 확장 트랜잭션의 처리 방법.
  2. 제 1 항에 있어서
    상기 연관 단계는 상기 트랜잭션을 고유하게 식별하며 그의 상태 정보와 연관되는 상기 선택된 확장 트랜잭션에 대한 토큰을 발생시키는 단계를 포함하고, 상기 방법은 상기 다른 클라이언트에 의한 상기 제2 선택 후에, 상기 트랜잭션의 처리를 그의 저장된 상태로부터 재개할 수 있도록 상기 선택된 확장 트랜잭션에 대한 상기 토큰을 제공하는 단계를 더 포함하는 확장 트랜잭션의 처리 방법.
  3. 제 2 항에 있어서,
    단말 사용자 트랜잭션 상호작용동안, 클라이언트에게 단말 사용자 상호작용을 필요로 하는 응답과 함께 상기 토큰을 되전송하고, 상기 단말 사용자 트랜잭션 상호작용이 그의 현재 상태로부터 재개되도록 상기 클라이언트로부터 상기 서버로 상기 토큰과 함께 상기 단말 사용자 상호작용적 응답을 되수신하는 단계를 더 포함하는 확장 트랜잭션의 처리 방법.
  4. 제 1 항 내지 제 3 항 중의 어느 한 항에 있어서,
    상기 클라이언트-서버 시스템은 상이한 유형의 제1 및 제2 클라이언트를 포함하고, 상기 방법은 상기 클라이언트에게 전송하기 위한 정보를 클라이언트 중립적 형태(client-neutral form)로 제공하고 상기 클라이언트 중립적 정보를 상기 각 클라이언트에 의해 상기 단말 사용자에게 제공하는 데 적합한 클라이언트 특정적 형태로 변환하는 서버의 단계를 포함하는 확장 트랜잭션의 처리 방법.
  5. 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자를 위한 몇몇 유형의 확장 트랜잭션을 처리하기 위한 서버로서, 확장 트랜잭션은 공통 목표를 향해 단말 사용자와의 구성요소 트랜잭션 상호작용으로 구성되는 트랜잭션이며, 상기 트랜잭션의 처리는 무기한 중단되어 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자 트랜잭션 상호작용을 처리하기 위하여 상기 서버와의 통신을 설정할 수 있으며, 상기 서버는
    트랜잭션 처리 수단; 및,
    상기 클라이언트와 상기 트랜잭션 처리 수단 사이에 통신이 가능하도록 이들을 연결시키기 위한 수단
    을 포함하고,
    상기 트랜잭션 처리 수단은 상기 클라이언트중의 한 클라이언트로부터의 단말 사용자 식별자의 제1 전달에 응답하여, 선택을 위해 상기 몇몇 유형의 확장 트랜잭션의 메뉴를 상기 클라이언트에게 제공하고, 상기 클라이언트에 의한 확장 트랜잭션의 선택에 응답하여 선택된 확장 트랜잭션의 처리를 시작하고, 상기 선택된 확장 트랜잭션의 진행을 나타내는 상태 정보를 발생하고,
    상기 서버는 상기 단말 사용자 식별자와 연관하여 상기 트랜잭션 상태 정보를 저장하기 위한 저장소를 더 포함하고,
    상기 트랜잭션 처리 수단은 상기 한 클라이언트와의 통신 세션 후에 선택된 트랜잭션의 처리를 중지하고, 다른 클라이언트로부터 상기 단말 사용자 식별자를 두 번째로 수신하는 것에 응답하여, 상기 다른 클라이언트에게 상기 단말 사용자를 위한 현재 모든 확장 트랜잭션을 제공하므로써 상기 다른 클라이언트가 상기 한 확장 트랜잭션을 제2 선택하게 하고,
    상기 제2 선택에 응답하여, 상기 저장소에서의 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결정되는 시점으로부터 상기 트랜잭션의 처리를 재개하는
    서버.
  6. 제 5 항에 있어서,
    상기 클라이언트는 상태 정보를 저장할 능력이 없으며,
    상기 서버는,
    선택된 확장 트랜잭션을 고유하게 식별하는 토큰을 발생시키고, 상기 트랜잭션 상태 정보와 연관하여 상기 저장소에 상기 토큰을 저장하기 위한 수단; 및,
    상기 트랜잭션 처리 수단에 의해 상기 트랜잭션의 처리를 그의 저장된 상태로부터 재개할 수 있도록, 상기 제2 선택 후에 상기 선택된 확장 트랜잭션에 대한 토큰을 제공하기 위한 수단
    을 더 포함하는 서버.
  7. 제 6 항에 있어서,
    단말 사용자 트랜잭션 상호작용동안, 상기 토큰을 상기 서버로부터, 상기 클라이언트에 단말 사용자 상호작용을 필요로 하는 응답과 함께 되전송하기 위한 수단과, 단말 사용자 트랜잭션의 상호작용의 처리를 그의 현재 상태로부터 재개하도록 상기 클라이언트로부터 상기 토큰을 포함하는 단말 사용자 상호작용식 응답을 되수신하기 위한 수단을 더 포함하는 서버.
  8. 제 5 항 내지 제 7 항 중의 어느 한 항에 있어서,
    상기 트랜잭션 처리 수단으로부터 출력을 클라이언트 중립적 형태의 정보로서 클라이언트에 전달하기 위한 수단과, 상기 클라이언트 중립적 정보를 상기 각 클라이언트에 의해 상기 단말 사용자에게 제공하기 위한 적절한 클라이언트 특정적 형태(51)로 변환하기 위한 출력 변환 수단을 더 포함하는 서버.
  9. 제 8 항에 있어서,
    상기 전달된 클라이언트 중립적 정보는 비즈니스 및 일반적 디스플레이 형식명을 포함하고, 상기 출력 변환 수단은 상기 일반적 디스플레이 형식명을 상기 비즈니스 데이터를 디스플레이하기 위한 클라이언트 특정적 템플릿으로 맵핑하는 렌더링 수단을 포함하는 서버.
  10. 제 8 항에 있어서,
    클라이언트 특정적 형태의 정보를 클라이언트 중립적 형태로 변환하기 위한 입력 변환 수단; 및,
    클라이언트 중립적 정보에 응답하여, 이러한 정보를, 상기 클라이언트에게 미리 저장된 정보를 제공하기 위한 요청 및 상기 트랜잭션 처리 수단에 의한 트랜잭션 처리를 위한 요청으로 맵핑하는 작업 개시 수단
    을 더 포함하는 서버.
  11. 제 10 항에 있어서,
    상기 트랜잭션 처리 수단은 트랜잭션 처리에 대한 요청을 다수의 작업으로 분할하고 처리를 위해 이들 잡업을 스케줄링하기 위한 비즈니스 논리 관리자와, 개별 작업을 처리하기 위한 작업 처리 수단을 포함하는 서버.
  12. 제 8 항에 있어서,
    적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
  13. 제 12 항에 있어서,
    적어도 하나의 단순 단말기 클라이언트(dumb terminal client) 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
  14. 서버와 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자를 위한 몇몇 유형의 확장 트랜잭션을 처리하기 위한 방법을 수행하는 컴퓨터 프로그램이 기록된 기록매체로서, 확장 트랜잭션은 공통 목표를 향해 단말 사용자와의 구성요소 트랜잭션의 상호작용으로 구성되는 트랜잭션이며, 상기 트랜잭션의 처리는 무기한 중지되어 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자 트랜잭션 상호작용을 처리하기 위해 상기 서버와의 통신을 설정할 수 있으며, 상기 방법은, 상기 서버에서
    먼저, 한 클라이언트로부터 단말 사용자 식별자를 수신하는 단계;
    선택을 위해 상기 몇몇 유형의 확장 트랜잭션의 메뉴를 상기 클라이언트에게 제공하는 단계;
    상기 클라이언트로부터 확장 트랜잭션의 선택을 수신하는 단계;
    상기 선택된 확장 트랜잭션의 처리를 시작하는 단계;
    상기 선택된 트랜잭션의 진행을 나타내는 상태 정보를 저장하는 단계;
    상기 한 클라이언트와의 통신 세션 후에 상기 선택된 트랜잭션의 처리를 중지하는 단계;
    상기 트랜잭션의 처리 세션후에, 또다른 클라이언트로부터의 두 번째로 상기 단말 사용자 식별자를 수신하는 단계;
    두 번째로 상기 식별자를 수신하는 것에 응답하여, 상기 다른 클라이언트에게 단말 사용자를 위한 모든 현재 확장 트랜잭션을 제공하므로써, 상기 다른 클라이언트가 상기 확장 트랜잭션중의 하나를 제2 선택할 수 있게 하는 단계;
    상기 제2 선택에 응답하여, 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결졍되는 시점으로부터 상기 트랜잭션의 처리를 재개하는 단계
    를 포함하는 컴퓨터 프로그램이 기록된 기록 매체.
  15. 제 9 항에 있어서,
    적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
  16. 제 10 항에 있어서,
    적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
  17. 제 11 항에 있어서,
    적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
  18. 제 15 항에 있어서,
    적어도 하나의 단순 단말기 클라이언트 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
  19. 제 16 항에 있어서,
    적어도 하나의 단순 단말기 클라이언트 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
  20. 제 17 항에 있어서,
    적어도 하나의 단순 단말기 클라이언트 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
KR10-2000-7005053A 1997-11-28 1997-11-28 클라이언트-서버 시스템에서 확장 트랜잭션의 처리 KR100420777B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB1997/003292 WO1999028842A1 (en) 1997-11-28 1997-11-28 Processing extended transactions in a client-server system

Publications (2)

Publication Number Publication Date
KR20010031946A KR20010031946A (ko) 2001-04-16
KR100420777B1 true KR100420777B1 (ko) 2004-03-02

Family

ID=10807821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7005053A KR100420777B1 (ko) 1997-11-28 1997-11-28 클라이언트-서버 시스템에서 확장 트랜잭션의 처리

Country Status (5)

Country Link
US (1) US6671716B1 (ko)
EP (1) EP1044420A1 (ko)
JP (1) JP3427933B2 (ko)
KR (1) KR100420777B1 (ko)
WO (1) WO1999028842A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101434577B1 (ko) 2007-02-13 2014-08-29 삼성전자주식회사 VoIP 시스템에서 SRTCP 채널을 이용하여 키 위탁및 키 복구를 위한 방법 및 이를 이용한 장치

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3780099B2 (ja) * 1998-05-14 2006-05-31 キヤノン株式会社 ページデータ生成制御装置及び方法及びコンピュータ読み取り可能なプログラムが格納された記憶媒体
GB2349052A (en) * 1999-02-12 2000-10-18 Unipower System Limited Transaction system involving analysis of requests as either actionable or deferrable
US8321411B2 (en) 1999-03-23 2012-11-27 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US7979382B2 (en) 1999-05-04 2011-07-12 Accenture Global Services Limited Component based information linking during claim processing
US8607138B2 (en) * 1999-05-28 2013-12-10 Microstrategy, Incorporated System and method for OLAP report generation with spreadsheet report within the network user interface
US9208213B2 (en) * 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US6768788B1 (en) 1999-09-13 2004-07-27 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for property-related information
US8130918B1 (en) 1999-09-13 2012-03-06 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with closed loop transaction processing
US6964012B1 (en) 1999-09-13 2005-11-08 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts
EP1085396A1 (en) 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6449719B1 (en) * 1999-11-09 2002-09-10 Widevine Technologies, Inc. Process and streaming server for encrypting a data stream
US10055772B1 (en) 2000-01-14 2018-08-21 Versata Development Group, Inc. Method and apparatus for product comparison
US7206756B1 (en) * 2000-01-14 2007-04-17 Trilogy Development Group, Inc. System and method for facilitating commercial transactions over a data network
EP1120945A1 (de) * 2000-01-27 2001-08-01 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Zuordnung einer Serveradresse zu einem Endgerät
US7069235B1 (en) 2000-03-03 2006-06-27 Pcorder.Com, Inc. System and method for multi-source transaction processing
US6618705B1 (en) * 2000-04-19 2003-09-09 Tiejun (Ronald) Wang Method and system for conducting business in a transnational e-commerce network
US8412547B1 (en) 2000-04-24 2013-04-02 Trilogy Development Group, Inc. Commerce server architecture and method for using same
US7908200B2 (en) 2000-05-16 2011-03-15 Versata Development Group, Inc. Method and apparatus for efficiently generating electronic requests for quote
JP4488595B2 (ja) * 2000-06-08 2010-06-23 株式会社アドバンテスト テストパターン生成方法
US20020147652A1 (en) * 2000-10-18 2002-10-10 Ahmed Gheith System and method for distruibuted client state management across a plurality of server computers
US7885820B1 (en) 2000-07-19 2011-02-08 Convergys Cmg Utah, Inc. Expert system supported interactive product selection and recommendation
US20020013950A1 (en) * 2000-07-25 2002-01-31 Tomsen Mai-Lan Method and system to save context for deferred transaction via interactive television
EP1176517B2 (de) * 2000-07-29 2007-04-04 main Gesellschaft für Informationsverarbeitung mbH Kommunikationsverfahren zwischen Server und Client eines Netzwerkes unter Zuhilfenahme von Zustandsinformationen
GB0020441D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
FR2814835B1 (fr) * 2000-10-04 2003-02-28 Groupe Ecoles Telecomm Procede de paiement en ligne
FR2814836A1 (fr) * 2000-10-04 2002-04-05 Groupe Ecoles Telecomm Procede de paiement en ligne
JP2002141895A (ja) * 2000-11-01 2002-05-17 Sony Corp コンテンツ配信システムおよびコンテンツ配信方法
GB2376763B (en) 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
JP2002245316A (ja) * 2001-02-13 2002-08-30 Ntt Pc Communications Inc ポイント還元方法、センタ装置、店舗装置、及びポイント還元プログラム
GB2372345A (en) * 2001-02-17 2002-08-21 Hewlett Packard Co Secure email handling using a compartmented operating system
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372592B (en) 2001-02-23 2005-03-30 Hewlett Packard Co Information system
US7430738B1 (en) 2001-06-11 2008-09-30 Microsoft Corporation Methods and arrangements for routing server requests to worker processes based on URL
US7594230B2 (en) 2001-06-11 2009-09-22 Microsoft Corporation Web server architecture
US20020194033A1 (en) * 2001-06-18 2002-12-19 Huff David S. Automatic insurance data extraction and quote generating system and methods therefor
GB2376764B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
GB2376761A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk
GB2376765B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
JP3860448B2 (ja) * 2001-09-28 2006-12-20 富士通株式会社 端末装置、取引管理システム、及び取引処理方法、並びにプログラム
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
FI20012406A (fi) * 2001-12-05 2003-06-06 Comptel Corp Menetelmä ja järjestely transaktion prosessoimiseksi mobiilissa telekommunikaatiossa
US7159025B2 (en) * 2002-03-22 2007-01-02 Microsoft Corporation System for selectively caching content data in a server based on gathered information and type of memory in the server
US7490137B2 (en) 2002-03-22 2009-02-10 Microsoft Corporation Vector-based sending of web content
WO2004003765A1 (ja) * 2002-07-01 2004-01-08 Kabushiki Kaisha Toshiba シームレスシステム及び記録媒体並びにコンピュータシステムの処理継続方法
AU2003279115A1 (en) * 2002-10-03 2004-04-23 Whisperwire, Inc. System and method for bundling resources
US8126742B2 (en) 2003-05-09 2012-02-28 Accenture Global Services Limited Automated assignment of insurable events
CN100361116C (zh) * 2003-08-06 2008-01-09 华为技术有限公司 一种灵巧客户服务器架构的建立方法
US7509642B1 (en) * 2003-09-17 2009-03-24 Sprint Communications Company L.P. Method and system for automatically providing network-transaction-status updates
US8453196B2 (en) * 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7904882B2 (en) * 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
US20050155011A1 (en) * 2004-01-12 2005-07-14 Stephan Heik Method and system for restricting access in a distributed job environment
US7480896B2 (en) * 2004-03-01 2009-01-20 Microsoft Corporation Lightweight methods for storing work in progress in a source code control system
US7739351B2 (en) 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
US7590685B2 (en) 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US7418709B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation URL namespace to support multiple-protocol processing within worker processes
US7418719B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support a unified process model for handling messages sent in different protocols
US7418712B2 (en) * 2004-08-31 2008-08-26 Microsoft Corporation Method and system to support multiple-protocol processing within worker processes
US7721328B2 (en) 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US20060074703A1 (en) * 2004-10-04 2006-04-06 Grand Central Communications, Inc. Providing and managing business processes
US8296727B2 (en) * 2005-10-14 2012-10-23 Oracle Corporation Sub-task mechanism for development of task-based user interfaces
US7681133B2 (en) * 2005-10-14 2010-03-16 Oracle International Corporation Declarative task-based user interfaces
US8112394B2 (en) * 2005-10-14 2012-02-07 Oracle International Corporation Long-lived data transactions
US7933786B2 (en) 2005-11-01 2011-04-26 Accenture Global Services Limited Collaborative intelligent task processor for insurance claims
US7813963B2 (en) 2005-12-27 2010-10-12 The Pen Interactive electronic desktop action method and system for executing a transaction
US7613814B2 (en) * 2006-06-20 2009-11-03 Microsoft Corporation Discovering transactions silently propagated off-machine
US8243924B2 (en) 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US8868464B2 (en) 2008-02-07 2014-10-21 Google Inc. Preventing unauthorized modification or skipping of viewing of advertisements within content
US8515786B2 (en) 2008-02-22 2013-08-20 Accenture Global Services Gmbh Rule generation system adapted for an insurance claim processing system
US8478769B2 (en) 2008-02-22 2013-07-02 Accenture Global Services Limited Conversational question generation system adapted for an insurance claim processing system
US9384198B2 (en) 2010-12-10 2016-07-05 Vertafore, Inc. Agency management system and content management system integration
US9195768B2 (en) 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US8751800B1 (en) 2011-12-12 2014-06-10 Google Inc. DRM provider interoperability
JP2013143084A (ja) * 2012-01-12 2013-07-22 Pfu Ltd 情報処理装置、情報処理方法、及び、プログラム
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US9436943B1 (en) * 2012-03-13 2016-09-06 Google Inc. Method and system for authorizing long-lived transactions
US20130339116A1 (en) * 2012-06-15 2013-12-19 Leaf Holdings, Inc. System and method for a transaction system
US9747556B2 (en) 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods
US11049090B2 (en) * 2015-03-11 2021-06-29 Paypal, Inc. NFC application registry for enhanced mobile transactions and payments
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
CN109062675A (zh) * 2018-08-03 2018-12-21 浪潮通用软件有限公司 一种工作流***依赖事务的***实现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483547A1 (en) * 1990-10-29 1992-05-06 International Business Machines Corporation Network address management for a wired network supporting wireless communication to a plurality of mobile users
EP0674420A1 (en) * 1994-03-23 1995-09-27 AT&T Corp. Independently switched voice and data calls using a simultaneous voice and data modem
KR970078205A (ko) * 1996-05-02 1997-12-12 양승택 클라이언트-서버 분산 트랜잭션 통신 제어방식
US5737585A (en) * 1994-01-10 1998-04-07 Fujitsu Limited Firmware maintenance and modification system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6177880B1 (en) * 1992-01-16 2001-01-23 Klever-Kart, Inc. Automated shopping cart handle
JP2638564B2 (ja) 1995-05-23 1997-08-06 日本電気株式会社 遠隔レジューム方式
AU5441696A (en) * 1995-06-05 1996-12-24 Shiva Corporation Apparatus and method for providing unique identifiers to rem ote dial-in network clients
JPH09154108A (ja) 1995-11-28 1997-06-10 Matsushita Electric Ind Co Ltd サービス提供システム
US6173044B1 (en) * 1996-02-06 2001-01-09 International Business Machines Corporation Multipoint simultaneous voice and data services using a media splitter gateway architecture
JPH09223095A (ja) 1996-02-16 1997-08-26 Fuji Xerox Co Ltd サーバ装置
US6029141A (en) * 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483547A1 (en) * 1990-10-29 1992-05-06 International Business Machines Corporation Network address management for a wired network supporting wireless communication to a plurality of mobile users
US5737585A (en) * 1994-01-10 1998-04-07 Fujitsu Limited Firmware maintenance and modification system
EP0674420A1 (en) * 1994-03-23 1995-09-27 AT&T Corp. Independently switched voice and data calls using a simultaneous voice and data modem
KR970078205A (ko) * 1996-05-02 1997-12-12 양승택 클라이언트-서버 분산 트랜잭션 통신 제어방식

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101434577B1 (ko) 2007-02-13 2014-08-29 삼성전자주식회사 VoIP 시스템에서 SRTCP 채널을 이용하여 키 위탁및 키 복구를 위한 방법 및 이를 이용한 장치

Also Published As

Publication number Publication date
KR20010031946A (ko) 2001-04-16
EP1044420A1 (en) 2000-10-18
WO1999028842A1 (en) 1999-06-10
JP2001525574A (ja) 2001-12-11
JP3427933B2 (ja) 2003-07-22
US6671716B1 (en) 2003-12-30

Similar Documents

Publication Publication Date Title
KR100420777B1 (ko) 클라이언트-서버 시스템에서 확장 트랜잭션의 처리
EP1559004B1 (en) Session coupling
US6604135B1 (en) WWW client server dynamic interactive system method
EP0988610B1 (en) Teleservices workstation with integrated presentation of concurrent interactions with multiple terminal emulations, hypermedia and telephony systems
KR100188484B1 (ko) 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 서브-에이전트 서비스 에이전트 및 서비스 에이전트
US5752246A (en) Service agent for fulfilling requests of a web browser
US7225232B2 (en) Using existing web-based information to generate responses to user queries
US6141666A (en) Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
US6567848B1 (en) System for coordinating communication between a terminal requesting connection with another terminal while both terminals accessing one of a plurality of servers under the management of a dispatcher
US8407318B2 (en) Managing services on a network
US20010007991A1 (en) Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
US7475123B2 (en) Web service integration
US20030041032A1 (en) Systems for supply of information, services or products
US8271339B2 (en) Method and apparatus for enabling real-time bi-directional transactions on a network
KR100209837B1 (ko) 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 웹 브라우저 시스템 웹 서버 시스템 웹 브라우저 요구 충족 방법 및 웹 브라우저의 분산 태스크 요구 실행 방법
US20040253966A1 (en) Networked service providers spontaneously respond and prepared to fulfill user's location-dependent requests
PL187862B1 (pl) Sposób, serwer i produkt programu komputerowego do przetwarzania kilku typów 54) transakcji rozciągłych dla użytkownika finalnego w systemie przetwarzania danych typu klient-serwer
JP2004013353A (ja) 画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラム
JP2002215537A (ja) 電子メール環境情報の取得方法、電子メール送信方法およびシステム、サーバ、記録媒体とプログラム
KR20030033293A (ko) 각 화면상에 소프트웨어 개발자 또는 서비스센터 또는 컨설턴트의 연락처 표시 방법
WO2007004877A2 (en) Method and system for executing digital traffic
WO2007104972A1 (en) Call connection system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20120201

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee