KR100420777B1 - 클라이언트-서버 시스템에서 확장 트랜잭션의 처리 - Google Patents
클라이언트-서버 시스템에서 확장 트랜잭션의 처리 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
확장 비즈니스 트랜잭션은 클라이언트에 의해 개시되는 처리가 트랜잭션이 완료되기전에 인터럽트되어 차후에 동일한 또는 또다른 클라이언트에 의해 인터럽트 시점으로부터 재개될 수 있도록 하는 방식으로 클라이언트-서버 시스템에서 처리된다. 이것은 단말 사용자 식별자와 관련하여 트랜잭션의 진행을 나타내는 상태 정보를 저장소에 저장함으로써 이루어진다. 단말 사용자가 두 번째로 클라이언트를 통해 서버로 그의 식별자를 전달할 때, 트랜잭션의 처리는 저장된 상태를 기반으로 재개될 수 있다.
Description
비즈니스 트랜잭션은 예를 들어 영화 티켓을 구매하는 것과 같은 독립적인 비즈니스 거래이다. 소정의 비즈니스 트랜잭션은 단순하며 단기성을 띤다. 그러나, 휴가상품 또는 주택의 판매와 같이 장기간 걸쳐 발생되는 다수의 동작과 관련한 다수의 분야에서는 아닐 수도 있다. 이러한 트랜잭션을 "확장 트랜잭션"으로 지칭할 것이다.
큰 데이터베이스 및 원격 통신망을 기반으로 한 전형적인 트랜잭션 처리 시스템은 잘 설정되어 있다. 이러한 시스템은 단말 사용자(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)
- 서버와 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자(end-user)를 위한 몇가지 유형의 확장 트랜잭션(extended transaction)을 처리하는 방법으로서, 확장 트랜잭션은 공통 목표를 이루기 위해 단말 사용자와의 성분별 트랜잭셔널 상호작용(component transactional interactions)으로 구성되는 트랜잭션이며, 상기 트랜잭션의 처리는 무기한 중단되었다가 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자와의 트랜잭셔널 상호작용을 처리하기 위해 상기 서버와의 통신을 설정할 수 있으며, 상기 방법은, 상기 서버에서상기 클라이언트 중 한 클라이언트로부터 단말 사용자 식별자를 초기 수신하는 단계;선택을 위해 상기 클라이언트에게 상기 몇가지 유형의 확장 트랜잭션의 메뉴를 제공하는 단계;상기 클라이언트로부터 확장 트랜잭션의 선택을 수신하는 단계;상기 선택된 확장 트랜잭션의 처리를 시작하는 단계;상기 선택된 트랜잭션의 진행을 나타내는 상태 정보를 저장하는 단계;상기 선택된 트랜잭션에 대한 상기 상태 정보와 상기 단말 사용자 식별자를 연관시키는 단계;상기 한 클라이언트와의 통신 중단에 뒤이어 상기 선택된 트랜잭션의 처리를 중단하는 단계;상기 트랜잭션의 처리 중단에 뒤이어, 상기 클라이언트 중 또다른 클라이언트로부터 두 번째로 상기 단말 사용자 식별자를 수신하는 단계;두 번째로 상기 식별자를 수신하는 것에 응답하여, 상기 클라이언트 중 또다른 클라이언트에게 상기 단말 사용자에 대한 현재의 모든 확장 트랜잭션을 제공하여, 상기 클라이언트 중 또다른 클라이언트가 상기 확장 트랜잭션 중의 하나를 제2 선택할 수 있게 하는 단계;상기 제2 선택에 응답하여, 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결정되는 지점으로부터 상기 트랜잭션의 처리를 재개하는 단계를 포함하는 확장 트랜잭션의 처리 방법.
- 제 1 항에 있어서상기 연관 단계는 상기 트랜잭션을 고유하게 식별하며 그의 상태 정보와 연관되는 상기 선택된 확장 트랜잭션에 대한 토큰을 발생시키는 단계를 포함하고, 상기 방법은 상기 다른 클라이언트에 의한 상기 제2 선택 후에, 상기 트랜잭션의 처리를 그의 저장된 상태로부터 재개할 수 있도록 상기 선택된 확장 트랜잭션에 대한 상기 토큰을 제공하는 단계를 더 포함하는 확장 트랜잭션의 처리 방법.
- 제 2 항에 있어서,단말 사용자 트랜잭션 상호작용동안, 클라이언트에게 단말 사용자 상호작용을 필요로 하는 응답과 함께 상기 토큰을 되전송하고, 상기 단말 사용자 트랜잭션 상호작용이 그의 현재 상태로부터 재개되도록 상기 클라이언트로부터 상기 서버로 상기 토큰과 함께 상기 단말 사용자 상호작용적 응답을 되수신하는 단계를 더 포함하는 확장 트랜잭션의 처리 방법.
- 제 1 항 내지 제 3 항 중의 어느 한 항에 있어서,상기 클라이언트-서버 시스템은 상이한 유형의 제1 및 제2 클라이언트를 포함하고, 상기 방법은 상기 클라이언트에게 전송하기 위한 정보를 클라이언트 중립적 형태(client-neutral form)로 제공하고 상기 클라이언트 중립적 정보를 상기 각 클라이언트에 의해 상기 단말 사용자에게 제공하는 데 적합한 클라이언트 특정적 형태로 변환하는 서버의 단계를 포함하는 확장 트랜잭션의 처리 방법.
- 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자를 위한 몇몇 유형의 확장 트랜잭션을 처리하기 위한 서버로서, 확장 트랜잭션은 공통 목표를 향해 단말 사용자와의 구성요소 트랜잭션 상호작용으로 구성되는 트랜잭션이며, 상기 트랜잭션의 처리는 무기한 중단되어 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자 트랜잭션 상호작용을 처리하기 위하여 상기 서버와의 통신을 설정할 수 있으며, 상기 서버는트랜잭션 처리 수단; 및,상기 클라이언트와 상기 트랜잭션 처리 수단 사이에 통신이 가능하도록 이들을 연결시키기 위한 수단을 포함하고,상기 트랜잭션 처리 수단은 상기 클라이언트중의 한 클라이언트로부터의 단말 사용자 식별자의 제1 전달에 응답하여, 선택을 위해 상기 몇몇 유형의 확장 트랜잭션의 메뉴를 상기 클라이언트에게 제공하고, 상기 클라이언트에 의한 확장 트랜잭션의 선택에 응답하여 선택된 확장 트랜잭션의 처리를 시작하고, 상기 선택된 확장 트랜잭션의 진행을 나타내는 상태 정보를 발생하고,상기 서버는 상기 단말 사용자 식별자와 연관하여 상기 트랜잭션 상태 정보를 저장하기 위한 저장소를 더 포함하고,상기 트랜잭션 처리 수단은 상기 한 클라이언트와의 통신 세션 후에 선택된 트랜잭션의 처리를 중지하고, 다른 클라이언트로부터 상기 단말 사용자 식별자를 두 번째로 수신하는 것에 응답하여, 상기 다른 클라이언트에게 상기 단말 사용자를 위한 현재 모든 확장 트랜잭션을 제공하므로써 상기 다른 클라이언트가 상기 한 확장 트랜잭션을 제2 선택하게 하고,상기 제2 선택에 응답하여, 상기 저장소에서의 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결정되는 시점으로부터 상기 트랜잭션의 처리를 재개하는서버.
- 제 5 항에 있어서,상기 클라이언트는 상태 정보를 저장할 능력이 없으며,상기 서버는,선택된 확장 트랜잭션을 고유하게 식별하는 토큰을 발생시키고, 상기 트랜잭션 상태 정보와 연관하여 상기 저장소에 상기 토큰을 저장하기 위한 수단; 및,상기 트랜잭션 처리 수단에 의해 상기 트랜잭션의 처리를 그의 저장된 상태로부터 재개할 수 있도록, 상기 제2 선택 후에 상기 선택된 확장 트랜잭션에 대한 토큰을 제공하기 위한 수단을 더 포함하는 서버.
- 제 6 항에 있어서,단말 사용자 트랜잭션 상호작용동안, 상기 토큰을 상기 서버로부터, 상기 클라이언트에 단말 사용자 상호작용을 필요로 하는 응답과 함께 되전송하기 위한 수단과, 단말 사용자 트랜잭션의 상호작용의 처리를 그의 현재 상태로부터 재개하도록 상기 클라이언트로부터 상기 토큰을 포함하는 단말 사용자 상호작용식 응답을 되수신하기 위한 수단을 더 포함하는 서버.
- 제 5 항 내지 제 7 항 중의 어느 한 항에 있어서,상기 트랜잭션 처리 수단으로부터 출력을 클라이언트 중립적 형태의 정보로서 클라이언트에 전달하기 위한 수단과, 상기 클라이언트 중립적 정보를 상기 각 클라이언트에 의해 상기 단말 사용자에게 제공하기 위한 적절한 클라이언트 특정적 형태(51)로 변환하기 위한 출력 변환 수단을 더 포함하는 서버.
- 제 8 항에 있어서,상기 전달된 클라이언트 중립적 정보는 비즈니스 및 일반적 디스플레이 형식명을 포함하고, 상기 출력 변환 수단은 상기 일반적 디스플레이 형식명을 상기 비즈니스 데이터를 디스플레이하기 위한 클라이언트 특정적 템플릿으로 맵핑하는 렌더링 수단을 포함하는 서버.
- 제 8 항에 있어서,클라이언트 특정적 형태의 정보를 클라이언트 중립적 형태로 변환하기 위한 입력 변환 수단; 및,클라이언트 중립적 정보에 응답하여, 이러한 정보를, 상기 클라이언트에게 미리 저장된 정보를 제공하기 위한 요청 및 상기 트랜잭션 처리 수단에 의한 트랜잭션 처리를 위한 요청으로 맵핑하는 작업 개시 수단을 더 포함하는 서버.
- 제 10 항에 있어서,상기 트랜잭션 처리 수단은 트랜잭션 처리에 대한 요청을 다수의 작업으로 분할하고 처리를 위해 이들 잡업을 스케줄링하기 위한 비즈니스 논리 관리자와, 개별 작업을 처리하기 위한 작업 처리 수단을 포함하는 서버.
- 제 8 항에 있어서,적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
- 제 12 항에 있어서,적어도 하나의 단순 단말기 클라이언트(dumb terminal client) 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
- 서버와 다수의 클라이언트를 포함하는 클라이언트-서버 데이터 처리 시스템에서 단말 사용자를 위한 몇몇 유형의 확장 트랜잭션을 처리하기 위한 방법을 수행하는 컴퓨터 프로그램이 기록된 기록매체로서, 확장 트랜잭션은 공통 목표를 향해 단말 사용자와의 구성요소 트랜잭션의 상호작용으로 구성되는 트랜잭션이며, 상기 트랜잭션의 처리는 무기한 중지되어 차후에 재개될 수 있으며, 각 클라이언트는 상기 단말 사용자 트랜잭션 상호작용을 처리하기 위해 상기 서버와의 통신을 설정할 수 있으며, 상기 방법은, 상기 서버에서먼저, 한 클라이언트로부터 단말 사용자 식별자를 수신하는 단계;선택을 위해 상기 몇몇 유형의 확장 트랜잭션의 메뉴를 상기 클라이언트에게 제공하는 단계;상기 클라이언트로부터 확장 트랜잭션의 선택을 수신하는 단계;상기 선택된 확장 트랜잭션의 처리를 시작하는 단계;상기 선택된 트랜잭션의 진행을 나타내는 상태 정보를 저장하는 단계;상기 한 클라이언트와의 통신 세션 후에 상기 선택된 트랜잭션의 처리를 중지하는 단계;상기 트랜잭션의 처리 세션후에, 또다른 클라이언트로부터의 두 번째로 상기 단말 사용자 식별자를 수신하는 단계;두 번째로 상기 식별자를 수신하는 것에 응답하여, 상기 다른 클라이언트에게 단말 사용자를 위한 모든 현재 확장 트랜잭션을 제공하므로써, 상기 다른 클라이언트가 상기 확장 트랜잭션중의 하나를 제2 선택할 수 있게 하는 단계;상기 제2 선택에 응답하여, 상기 선택된 트랜잭션에 대한 상기 저장된 상태 정보에 의해 결졍되는 시점으로부터 상기 트랜잭션의 처리를 재개하는 단계를 포함하는 컴퓨터 프로그램이 기록된 기록 매체.
- 제 9 항에 있어서,적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
- 제 10 항에 있어서,적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
- 제 11 항에 있어서,적어도 하나의 웹 브라우저 클라이언트와 사용하기 위하여, 상기 적어도 한 웹 브라우저 클라이언트가 상기 단말 사용자에게 제공하기 위한 상기 클라이언트 특정적 형태는 HTML 페이지인 서버.
- 제 15 항에 있어서,적어도 하나의 단순 단말기 클라이언트 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
- 제 16 항에 있어서,적어도 하나의 단순 단말기 클라이언트 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
- 제 17 항에 있어서,적어도 하나의 단순 단말기 클라이언트 및 하나의 음성 응답 클라이언트와 사용하기 위하여, 상기 출력 변환 수단은 적절한 대로 상기 클라이언트 중립적 정보를 단순 단말기 또는 음성 응답 유닛에 특정적인 출력으로 변환할 수 있는 서버.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101434577B1 (ko) | 2007-02-13 | 2014-08-29 | 삼성전자주식회사 | VoIP 시스템에서 SRTCP 채널을 이용하여 키 위탁및 키 복구를 위한 방법 및 이를 이용한 장치 |
Families Citing this family (83)
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 |
US9208213B2 (en) * | 1999-05-28 | 2015-12-08 | Microstrategy, Incorporated | System and method for network user interface OLAP report formatting |
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 |
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 |
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 |
US6788768B1 (en) * | 1999-09-13 | 2004-09-07 | Microstrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for book-related information |
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 |
US7206756B1 (en) | 2000-01-14 | 2007-04-17 | Trilogy Development Group, Inc. | System and method for facilitating commercial transactions over a data network |
US10055772B1 (en) | 2000-01-14 | 2018-08-21 | Versata Development Group, Inc. | Method and apparatus for product comparison |
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 |
US7194754B2 (en) * | 2000-07-25 | 2007-03-20 | Digeo, Inc. | Method and system to defer transactions conducted via interactive television |
DE50000459D1 (de) * | 2000-07-29 | 2002-10-10 | Main Ges Fuer Informationsvera | 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 |
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 |
GB2376764B (en) | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments |
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 |
US7490137B2 (en) | 2002-03-22 | 2009-02-10 | Microsoft Corporation | Vector-based sending of web content |
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 |
WO2004003765A1 (ja) * | 2002-07-01 | 2004-01-08 | Kabushiki Kaisha Toshiba | シームレスシステム及び記録媒体並びにコンピュータシステムの処理継続方法 |
US20040158480A1 (en) * | 2002-10-03 | 2004-08-12 | Lubars Mitchell D. | 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 |
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 |
US7418709B2 (en) * | 2004-08-31 | 2008-08-26 | Microsoft Corporation | URL namespace to support multiple-protocol processing within worker processes |
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 |
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 |
US8296727B2 (en) * | 2005-10-14 | 2012-10-23 | Oracle Corporation | Sub-task mechanism for development of task-based user interfaces |
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 |
US10579983B2 (en) | 2015-03-11 | 2020-03-03 | Paypal, Inc. | NFC rendezvous protocol for enhanced mobile transactions and payments |
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 |
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 |
US11687929B2 (en) * | 2018-03-23 | 2023-06-27 | American Express Travel Related Services Co., Inc. | Authenticated secure online and offline transactions |
CN109062675A (zh) * | 2018-08-03 | 2018-12-21 | 浪潮通用软件有限公司 | 一种工作流系统依赖事务的监听器实现方法 |
Citations (4)
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)
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 | 日本電気株式会社 | 遠隔レジューム方式 |
WO1996039769A1 (en) | 1995-06-05 | 1996-12-12 | Shiva Corporation | Apparatus and method for providing unique identifiers to remote 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 |
-
1997
- 1997-11-28 JP JP2000523619A patent/JP3427933B2/ja not_active Expired - Fee Related
- 1997-11-28 US US09/554,779 patent/US6671716B1/en not_active Expired - Lifetime
- 1997-11-28 KR KR10-2000-7005053A patent/KR100420777B1/ko not_active IP Right Cessation
- 1997-11-28 WO PCT/GB1997/003292 patent/WO1999028842A1/en active IP Right Grant
- 1997-11-28 EP EP97945983A patent/EP1044420A1/en not_active Withdrawn
Patent Citations (4)
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)
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 |
---|---|
JP3427933B2 (ja) | 2003-07-22 |
US6671716B1 (en) | 2003-12-30 |
EP1044420A1 (en) | 2000-10-18 |
KR20010031946A (ko) | 2001-04-16 |
WO1999028842A1 (en) | 1999-06-10 |
JP2001525574A (ja) | 2001-12-11 |
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) | 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 서브-에이전트 서비스 에이전트 및 서비스 에이전트 | |
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) | 画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラム | |
KR20030033293A (ko) | 각 화면상에 소프트웨어 개발자 또는 서비스센터 또는 컨설턴트의 연락처 표시 방법 | |
JP2002215537A (ja) | 電子メール環境情報の取得方法、電子メール送信方法およびシステム、サーバ、記録媒体とプログラム | |
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 |