KR20000062464A - 거대 컴퓨터 환경에서의 복합 트랜잭션 실행 방법 - Google Patents
거대 컴퓨터 환경에서의 복합 트랜잭션 실행 방법 Download PDFInfo
- Publication number
- KR20000062464A KR20000062464A KR1020000001633A KR20000001633A KR20000062464A KR 20000062464 A KR20000062464 A KR 20000062464A KR 1020000001633 A KR1020000001633 A KR 1020000001633A KR 20000001633 A KR20000001633 A KR 20000001633A KR 20000062464 A KR20000062464 A KR 20000062464A
- Authority
- KR
- South Korea
- Prior art keywords
- operations
- message
- computer implemented
- transaction
- executed
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B01—PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
- B01D—SEPARATION
- B01D8/00—Cold traps; Cold baffles
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
이동 장치의 사용자가 비접속 모드에서 복합 비지니스 트랜잭션을 실행할 수 있게 하는 시스템 및 방법을 제공한다. 이 방법은 실제 변형된 데이터를 전송하기 보다는 데이터에 대해 실행되는 오퍼레이션을 전송한다. 복합 오퍼레이션은 오퍼레이션이 실행될 수 있는 조건을 나타내는 컨스트레인트(constraint)를 이용하여, 간단한 오퍼레이션으로 구성된다. 서버는 오퍼레이션을 수신하고, 컨스트레인트가 만족되는 오퍼레이션을 실행하여, 그 결과를 클라이언트에게 다시 전송한다.
Description
본 발명은 컴퓨터 네트워크에 의한 사용자 명령의 전송에 관한 것으로, 특히 거대 컴퓨터 환경에서 복합 비지니스 트랜잭션 (transaction)을 실행하기 위해 사용자 명령을 전송하기 위한 시스템 및 방법에 관한 것이다.
거대 컴퓨터 환경은 일반적으로 언제라도 어느 곳에서나 데이터와 서비스에의 억세스를 가능하게 하는, 휴대용 컴퓨터, 페이저, 스마트 폰 (smart phone), 퍼스널 디지털 보조기, 세트 톱 박스 (set top boxes) 등과 같은 이동 장치를 이용하고 있다. 이런 장치와 관련한 사용을 위해 실행되는 이동 어플리케이션은 이동 장치가 네트워크에 접속되어 있는지의 여부에 상관 없이 지속적인 정보에의 억세스를 필요로 한다. 이런 작업은 국부적인 필요 자원의 복사를 유지하고, 정보를 갱신하도록 서버에 주기적으로 접속하여 실행될 수 있다. 분리된 장치가 재접속될 때, 장치가 분리되어 있는 동안 변형된 데이터는 네트워크 서버에 전파되어야 하며 서버에 대한 갱신이 장치에 전송되어야 한다. 이 처리는 실제의 데이터의 접속을 통한 전송을 포함하며, 이는 데이터 동기화로 알려져 있다. 예를 들어, 사용자가 국부적 복사를 변형하면, 서버 카피에서의 대응 엔트리가 국부적 복사로부터의 엔트리로 및 그 반대로 교체된다. 데이터 동기화 기술은 사용자가 서버 자원을 갱신하는 권한을 가질 때 유용할 뿐이다.
그러나, 현재, 데이터 동기화는 투-두-리스트 (to-do-list), 전자 메일, 달력 등의 개인 정보를 관리하고, 클라이언트/서버 상호 작용을 가능하게 하도록 하는 방대한 접속성을 제공하기 위해 이동 어플리케이션 영역에서 주로 사용되는 기술이다. 다른 어플리케이션은 GPS 시스템과 같은 서버로부터의 정보를 검색하는 데에 제한받는다.
온라인 뱅킹의 경우를 고려한다. 현재, 이동 사용자는 계좌 정보를 다운로드하고 온라인 뱅킹 시스템에의 접속이 유지되는 동안 한 계좌에서 다른 계좌로 현금을 이체하는 것과 같은 뱅킹 트랜잭션을 실행할 수 있다. 그러나, 일단 사용자가 시스템과의 접속이 끊어지면, 사용자는 오직 국부적 계좌 정보만을 억세스하도록 제한받는데, 즉 사용자는 뱅킹 시스템에의 접속 없이 계좌 사이에서 현금을 이체할 수 없다. 사용자가 국부 모드에서 실행되는 트랜잭션을 추적하여 잔고를 계산할 수 있지만, 사용자는 서버 데이터베이스에 의해 관리되는 데이터를 변경할 권한이 없기 때문에 서버 계좌 데이터베이스를 새로운 계좌 잔고 정보로 갱신할 수 없다. 따라서, 사용자는 개별의 트랜잭션을 실행하도록 뱅크 서버에의 오픈 접속을 강제로 유지하게 된다. 그러나, 이동 컴퓨팅에서 도움이 되기 위해서는, 사용자는 장치가 서버 시스템에 접속되어 있지 않아도 이동 장치에 대해 국부적으로 트랜잭션을 실행할 수 있어야 하며, 부가적으로 접속이 마침내 이루어질 때 실행을 위해 뱅크 서버에 대한 컨스트레인트 (constraint)와 함께 대응 명령을 전송해야만 한다.
따라서, 클라이언트가 비접속 모드에서 하나 이상의 서비스 리퀘스트를 갖는 전자 메시지를 준비한 다음에, 서버에 간단히 접속하여 리퀘스트 메시지를 서버에 전송할 수 있게 하기 위한 시스템 및 방법을 갖는 것이 매우 요망된다. 예를 들어, 상술한 예에서, 이동국이 시스템에 접속될 때 온라인 뱅킹 시스템에 전송되는 새로운 계좌 잔고가 아니라 계좌 이체 명령을 갖는 것이 매우 요망된다. 또한, 서버가 다음에 전자 메시지를 해석하고 클라이언트에 의해 요청된 서비스를 전달할 수 있게 하는 것이 요망된다. 또한, 클라이언트가 리퀘스트를 전송한 후에, 그 리퀘스트에 대한 응답을 검색하기 위해 서버에 접속할 수 있게 하는 것이 매우 요망된다.
본 발명은 접속이 이루어질 때 이동 어플레이케이션이 갱신된 데이터가 아닌 트랜잭션 명령을 서버 시스템에 송신하도록 함으로써 상술된 트랜잭션을 가능하게 한다. 이런 트랜잭션을 가능하게 하기 위해서 본 발명은 비접속 모드에서 이동 장치의 사용자가 복합 비지니스 트랜잭션을 실행하도록 하는 새로운 방법을 제공한다. 이 방법은 실재 변형된 데이터를 전송하기 보다는 데이타에 대해 실행되는 오퍼레이션을 전송하는 것을 포함한다. 복합 오퍼레이션은 오퍼레이션이 실행될 수 있는 조건을 나타내도록 하는 컨스트레인트를 이용하여, 간단한 오퍼레이션으로 구성된다. 서버는 오퍼레이션을 수신하고 오퍼레이션에 관련되는 세만틱스 (semantics)에 따라서, 서버측 데이터 저장소, 예를 들어 데이터베이스, 메일 데이터베이스, 파일 시스템 등을 갱신한다.
오퍼레이션 구성 (operation composition)은 비접속 모드에서 하나 이상의 간단한 오퍼레이션으로부터 복합 오퍼레이션을 이루는 데에 사용되며, 이 복합 오퍼레이션은 처리를 위해 서버에 업로드된다. 각 오퍼레이션은 이동 장치에서 유용한 데이타에 기초한 컨스트레인트의 세트와 관련될 수 있다. 이 컨스트레인트는 서버에서 특정 오퍼레이션이 실행될 수 있는 조건을 나타낸다. 컨스트레인트의 일 예를 다음의 시나리오로 제공한다. Xa 및 Xb는 조인트 뱅크 계좌를 가지고, 여기에서 Xa 및 Xb는 이들의 개별의 이동 장치에 대해 다운로드된 계좌 데이터를 갖는다. 그러나, 다운로드 데이터는 Xa와 Xb가 데이터를 다운로드한 후에 계좌 데이터가 변경되기 때문에 계좌에서 유용한 가장 최근에 갱신된 데이터일 수가 없다. 따라서, Xa가 이동 장치를 이용하여 전자 청구서를 계산하기 전에, Xa는 계좌에서 대월되지 않도록 현재의 계좌 잔고가 전자 청구서와 맞먹는 최소한의 금액을 포함하고 있는 것을 확인해야 한다. 유사하게, Xb가 Xb의 이동 장치를 이용하여 다른 청구서에 대해 독립적으로 계산하기 전에, Xb는 계좌 잔고가 예를 들어 $1000 이상을 갖고 있는지를 체크한다. 최소한의 청구 금액인 계좌 잔고, 또는 $1000 이상의 계좌 잔고 등과 같은 조건은 이동 장치가 서버에 접속될 때 계좌 트랜잭션의 오퍼레이션과 함께 서버에 전달된 몇 예의 컨스트레인트이다. 서버에 놓인 데이터의 상태에 관한 컨스트레인트에 부가하여, 사용자는 메시지에서 이전의 오퍼레이션의 성공이나 실패에 따라 실행될 수 있는 오퍼레이션의 의존성을 특정화할 수 있다. 예를 들어, 계좌 A가 $500 이상의 펀드를 갖고 있으면 계좌 A로부터 계좌 B로 펀드를 이체하도록 오퍼레이션 Op1를 포함할 수 있다. 메시지는 후에 Op1이 실패하면 계좌 C에서 계좌 B로 펀드를 이체하도록 다른 오퍼레이션 Op2를 포함할 수 있다.
본 발명의 여러 실시예의 구조 및 동작과 본 발명의 다른 특성 및 장점이 첨부한 도면을 참조하여 이하 상세히 설명한다. 도면에서, 유사한 참조 부호는 동일하거나 기능적으로 유사한 소자를 나타낸다.
도 1은 본 발명의 기본 이동 장치의 예를 나타내는 도면.
도 2는 간단한 컴퓨터 네트워크의 블럭도를 나타내는 도면.
도 3은 본 발명의 클라이언트 어플리케이션 구성 소자를 나타내는 도면.
도 4는 본 발명의 어플리케이션 아키텍쳐의 일 예를 나타내는 도면.
도 5는 본 발명의 메시지를 구축하는 데에 사용되는 문법을 나타내는 도면.
도 6은 본 발명의 완성된 메시지의 예를 나타내는 도면.
도 7은 네트워크를 통해 송신되는 메시지의 포맷을 나타내는 도면.
〈도면의 주요 부호에 대한 간단한 설명〉
101 : 프로세서
102 : 저장 장치
103 : 디스플레이 유닛
104 : 데이터 입력 장치
105 : 통신 장치
106 : 전원
210 : 이동 컴퓨터
230 : 컴퓨터 네트워크
240 : 자원
300 : 이동 어플리케이션
310 : 사용자 인터페이스(UI)
320 : 메시지 포맷터(MF)
330 : 메시지 커뮤니케이터(MC)
402 : 이동 어플리케이션 코디네이터(MAC),
403 : 오퍼레이션 로그
406 : 원격 컴퓨터
407 : 원격 어플리케이션 코디네이터(RAC)
409 : 원격 컴퓨터
410 : 원격 어플리케이션(RA)
본 발명은 먼저 적당한 서버에의 접속을 이룰 필요 없이 이동 컴퓨터 클라이언트가 복합 비지니스 트랜잭션을 실행하도록 하기 위한 시스템 및 방법에 관한 것이다. 도 1에서 나타낸 바와 같이, 통상의 이동 컴퓨터는 프로세서(101), 저장 장치(102), 디스플레이 유닛(103), 음성, 수기, 펜, 키보드 등의 입력 데이터 수신용의 하나 이상의 데이터 입력 장치(104), 유선 또는 셀룰러 모뎀, 적외선, 무선 주파수 (RF) 등을 포함하지만 이에 제한되는 것은 아닌 하나 이상의 통신 장치(105), 및 전원(106)을 포함한다. 통상의 네트워크 환경에서는, 도 2에서 나타낸 바와 같이, 복수의 이동 컴퓨터(210)가 컴퓨터 네트워크(230)에 및 서버에 놓인 복수의 자원(240)에의 접속(220)을 유지한다.
바람직한 실시예에서, 도 3에서 나타낸 바와 같이 본 발명의 이동 어플리케이션(300)은 세 모듈: 1) 사용자 인터페이스(UI; 310) 모듈, 2) 메시지 포맷터(MF; 320) 모듈; 3) 메시지 커뮤니케이터 (MC; 330) 모듈을 포함한다. UI(310)은 일반적으로 사용자로부터의 정보를 모으고 출력 메시지를 사용자에게 표시한다. MF(320)는 사용자 입력을 통신 매체를 통한 전송에 적당한 메시지로 포맷하고, 통신 매체로부터 수신된 메시지를 사용자에게 제시되는 포맷으로 변환시킨다. MC(330)는 일반적으로 MAC (402; 도 4)와 상호 동작하여, 메시지를 송신, 수신 및 저장한다. MAC는 도 4와 관련하여 더욱 상세히 설명한다.
도 4는 본 발명의 어플리케이션 아키텍쳐의 일 예를 설명한다. 어플리케이션 아키텍쳐는 일반적으로 하나 이상의 이동 어플리케이션(300A, …, 300N), 이동 어플리케이션 코디네이터 (mobile application coordinator; MAC; 402), 오퍼레이션 로그(403) 및 이동 장치(210)에 대한 자원 로케이터(resource locater; 404; RL) 그리고 원격 컴퓨터(406)에 대한 원격 어플리케이션 코디네이터(RAC; 407) 및 원격 컴퓨터(409A, 409B, …, 409N)에 대한 각각 원격 어플리케이션 (RA; 410A, 410B, …,410N)의 세트를 포함한다. 통상, 이동 어플리케이션(MA; 300)은 후술하는 바와 같이 리퀘스트 메시지를 구성하고 MAC(402)에 메시지를 전송한다. MAC(402)는 이동 어플리케이션(300)으로부터 리퀘스트 메시지를 축적하여 이를 오퍼레이션 로그(403)에 유지한다. 축적 메시지는 사용자가 원격 컴퓨터에의 접속을 이룰 때 RAC(407)에 결국 전송되게 된다. RAC(407)은 네트워크(408)에 의해 개별의 메시지를 대응하는 원격 어플리케이션(410A, …, 410N)에 루팅한다. 원격 어플리케이션(410A, …, 410N)은 리퀘스트를 서비스하고 응답 로그에 응답을 유지하는 RAC(407)로 응답을 되돌린다. 이들 응답은 후속의 접속시 MAC(402)에 전송된다.
자원 로케이터(RL; 404)는 이동 어플리케이션과 이들의 원격 대향 부품 사이의 매핑을 유지한다. RL(404)은 보안 알고리즘과 통신 프로토콜과 같은 통신 프로파일 정보를 유지한다. MAC(402)는 통상 타겟 이동 어플리케이션(300A, …, 300N)이 응답을 검색할 때 까지 RAC(407)로부터 검색된 응답을 저장한다. MAC(402)는 일반적으로 인입되는 응답에 대해서 만이 아니라 인출되는 응답을 위해 로그를 유지한다. 리퀘스트는 이들이 전송되거나 발원 어플리케이션에 의해 제거될 때 까지 리퀘스트 로그에 되어 그곳에 유지된다. 유사하게, 응답은 이들이 타겟 어플리케이션에 의해 검색될 때 까지 응답 로그에 저장된다.
이동 장치(210)에 대한 어플리케이션은 이동 장치에 대한 이동 어플리케이션 코디네이터(402)와 상호 동작하여 원격 어플리케이션(410A, …,410N)에 메시지를 송신 및 수신한다. 이동 어플리케이션(300A, …, 300N)과 이동 어플리케이션 코디네이터(402) 사이의 이런 상호 작용은 이동 어플리케이션 상호 작용 프로토콜 (MAIP)에 의해 제어된다. 이 프로토콜은 등록, 이동 리퀘스트 핸들링, 로그 및 문서 서비스를 지원한다. 어플리케이션(300A, …, 300N)이 MAIP로 등록하면, 각 이동 어플리케이션(300A, …, 300N)은 이동 어플리케이션에 의해 사용되는 유일한 식별자가 할당되어 후속의 상호 작용에 대해 이동 어플리케이션 코디네이터에 그 자체가 식별된다. 등록 서비스는 이동 어플리케이션(300A, …, 300N)이 이동 어플리케이션 코디네이터(402)로 그 자체가 등록되게 하고 사용하려고 하는 서비스를 특정하도록 한다. 로깅 서비스는 이동 어플리케이션(300A, …, 300N)이 등록 동안 특정할 수 있는 서비스의 일 예이다. 메시지 핸들링 서비스는 통상 이동 어플리케이션(300A, …, 300N)에 의해 사용되어 리퀘스트 메시지를 이동 어플리케이션 코디네이터(402)에 전달하고 응답 메시지를 이 코디네이터로부터 검색한다.
일반적으로, RAC(407)은 메시지 루팅과 메시지 저장 기능을 제공한다. RAC(407)는 대응하는 원격 어플리케이션(410A, …, 410N)에 개별의 메시지를 루팅한다. 원격 어플리케이션(410A, …, 410N)은 리퀘스트를 서비스하고 적당한 응답을 RAC(407)에 되돌린다. 이들 응답은 후속의 접속시 이동 어플리케이션 코디네이터(402)에 전송된다. 부가적으로, RAC(407)은 메시지 문서화, 저장 및 검색을 제공한다.
이동 어플리케이션 코디네이터(402)와 원격 어플리케이션 코디네이터(407) 사이의 상호 작용은 어플리케이션 코디네이터 상호 작용 프로토콜 (ACIP)에 의해 제어된다. ACIP는 모든 풀과 푸시 모델을 지원한다. 풀 모델은 클라이언트가 그들이 편리할 때 검색할 수 있게 한다. 푸시 모델은 서버가 클라이언트에 정보를 전송하도록 한다. 예를 들어, 클라이언트는 필요할 때 응답을 검색할 수 있으며, 유사하게 서버는 순향으로 클라이언트에게 응답을 보낼 수 있다.
바람직한 실시예에서, 이동 어플리케이션 코디네이터는 메시지에 관련하여 이동 장치 상의 저장소를 관리한다. 따라서, 각 메시지는 단일의 유니트로 처리된다. 통상의 이동 장치에서의 제한된 저장 효율 때문에, 그리고 사용되는 저장 공간을 최소화하기 위해서, 어플리케이션 코디네이터(402)는 각종 저장 관리 수단을 구현한다. 이런 수단은 미리 정해진 기간, 예를 들어 7일 이상 동안 저장된 메시지를 폐기하는 것을 포함할 수 있다. 폐기된 메시지는 후속으로 접속이 이루어질 때 RAC(407)로부터 여전히 검색될 수 있다. 다른 수단은 모든 로그 메시지가 원격 어플리케이션 코디네이터(407)로 즉시 문서화되는 것을 특정할 수 있다.
일반적으로 신뢰 가능 메시지 서비스의 상부에 구축된 MAC(402) 및 RAC(407) 쌍은 이동 어플리케이션을 간략화하여 불충분한 이동 장치 자원의 충분한 이용을 용이하게 한다.
사용자 인터페이스(UI; 310)는 사용자가 리퀘스트를 구성하고 이전의 리퀘스트에 대한 응답을 볼 수 있게 한다. 통상의 리퀘스트 구성 스크린 디스플레이를 도 6에서 나타낸다. 어플리케이션 네임(601)이 스크린의 상부에 표시된다. 바람직한 실시예에서, 메시지 구성 영역(602)은 두 개의 부분: 1) 메시지부(603), 및 2) 식별부(604)를 포함한다. 메시지부(603)는 하나 이상의 서비스 리퀘스트를 포함한다.
사용자 인터페이스(UI; 310) 모듈에 의하면, 사용자는 임의 개수의 리퀘스트를 한번에 입력할 수 있다. 도 6은 사용자 인터페이스(310) 모듈을 이용하여 입력되는 세 개의 리퀘스트(605A, 605B, 및 605C)를 도시한다. 각 개별의 리퀘스트는 유형 필드(606), 식별자 필드(607), 리퀘스트 오퍼랜드 필드(608A, 608B, 608C), 및 컨스트레인트 필드 또는 의존성 필드(609)를 포함한다. 도 6에서, 도시된 제1 리퀘스트(605A)는 자금의 이체 유형으로 되어 있으며, 리퀘스트 식별자 10을 갖는다. 이 오퍼레이션은 $500의 자금이 XYZZ 계좌에서 4ABCC 계좌로 이체되는 것을 특정하고 있다. 도시된 제2 리퀘스트(605B)는 청구서 계산의 유형으로서, 리퀘스트 식별자 11을 갖는다. 이 리퀘스트는 식별자 10을 갖는 이전의 리퀘스트가 609에서 나타낸 바와 같이 성공적으로 실행된 경우 전자 청구서를 지불하는 명령을 포함한다. 이것은 의존성의 일 예이다. 제3 리퀘스트(605C)는 청구서 계산의 유형으로서, 리퀘스트 식별자 12를 갖는다. 이 리퀘스트는 eABCC 계좌가 $375 이상의 자금을 갖고 있는 경우 케이블 청구를 지불하도록 하는 명령을 포함한다. 이것이 컨스트레인트의 일 예이다. 이 부분에서의 정보는 RSA 암호화와 같은 공지된 암호화 기술을 이용하여 암호화된다.
식별부는 요청된 서비스를 인증하고 권한을 부여하는 데에 필요한 정보를 포함한다. 도 6에서 나타낸 바와 같이, 식별부(610)는 유저 네임(611), 계좌 번호, 패스워드 정보, 및 메시지 id를 포함한다. 다르게, 이 부분은 리퀘스터를 식별하는 디지털 서명을 포함할 수 있다. 임의의 다른 데이타와 같이, 이 부분의 정보는 공지된 암호화 기법들 중 하나를 이용하여 전송되고 있기 전에 암호화될 수 있다.
본 발명의 메시지 포맷터 (도 3의 320)는 사용자 인터페이스(310; UI) 모듈에 의해 구성된 리퀘스트를 통신 채널을 통한 전송에 적당하며, 서버에 의한 해석에 적당한 포맷으로 자동 변환하는 데에 사용된다. 변환의 목적으로, 도 5에서 나타낸 것과 유사한 문법이 사용된다. 도 7은 도 6에서 나타낸 리퀘스트에 대한 메시지 포맷터의 출력을 나타낸다. 메시지의 도입부(701) 및 종료부(702)는 나타낸 바와 같이 꺽쇠 괄호로 나타낸다. 식별부(703)는 통상 전체의 메시지에 적용된다. 상술된 바와 같이, 이 부분에서의 정보는 인증과 권한 부여의 목적으로 사용된다. 이 메시지는 UI(310)를 통해 입력되는 바와 같이 하나 이상의 리퀘스트로 구성된다. 도 7은 세 개의 리퀘스트(704, 705 및 706)을 도시하고 있으며, 각 리퀘스트는 말려진 괄호(704a 및 704b, 705a 및 705b, 706a 및 706b)로 각각 경계를 정하고 있다. 각 리퀘스트는 리퀘스트의 유형을 식별하는 유형 태그(707), 유일한 식별 번호(708), 오퍼레이션 명령(709), 및 선택적으로 오퍼레이션이 실행되어야 하는 조건(710a, 710b)을 갖는다. 리퀘스트는 도 7에서 나타낸 바와 같이, 종래의 메시지(710a)의 실행 결과를 현재의 리퀘스트를 처리하기 위한 조건들 중 하나로 특정할 수 있다. 바람직한 실시예에서, 리퀘스트는 이들이 배열된 순서대로 서비스된다.
본 발명이 그 바람직한 실시예에 관련하여 도시 및 설명되고 있지만, 당업자라면 상술한 것과 이들의 변형이 본 발명의 정신 및 영역에서 벗어나지 않고 행해질 수 있음이 이해될 것이다.
본 발명에 의하면, 접속이 이루어질 때 이동 어플레이케이션이 갱신된 데이터가 아닌 트랜잭션 명령을 서버 시스템에 송신하도록 함으로써 상술된 트랜잭션을 가능하게 한다. 이런 트랜잭션을 가능하게 하기 위해서 본 발명은 비접속 모드에서 이동 장치의 사용자가 복합 비지니스 트랜잭션을 실행하도록 하는 새로운 방법을 제공한다.
Claims (20)
- 이동 클라이언트 장치가 서버 장치로부터 분리되어 있는 동안 이동 클라이언트 장치에 대해 복합 트랜잭션을 구축하기 위한 컴퓨터 구현 방법에 있어서,하나 이상의 원격 서버에 의해 실행되는 서비스 리퀘스트와 관련된 하나 이상의 오퍼레이션을 특정하는 단계;상기 하나 이상의 오퍼레이션과 관련된 컨스트레인트 (constraint)를 특정하는 단계 - 상기 컨스트레인트는 상기 하나 이상의 오퍼레이션이 실행될 수 있는 하나 이상의 조건을 기술함 - ;상기 컨스트레인트를 갖는 상기 하나 이상의 오퍼레이션을 통신 매체를 통한 전송을 위한 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계; 및상기 포맷된 메시지를 로컬 메모리에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
- 제1항에 있어서, 상기 방법은,상기 하나 이상의 오퍼레이션에 통합된 리퀘스트를 서비스하기 위해 상기 하나 이상의 원격 서버와 관련된 원격 자원를 특정하는 단계를 더 포함하고,상기 포맷 단계는, 상기 원격 자원 및 상기 컨스트레인트를 갖는 상기 하나 이상의 오퍼레이션을 통신 매체를 통한 전송을 위한 상기 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계를 포함하며,상기 방법은,상기 서버 장치에의 접속을 이룬 후 언제라도 이 서버 장치에 상기 복합 트랜잭션을 형성하는 메시지를 전송하는 단계;상기 서버 장치로부터 상기 복합 오퍼레이션의 하나 이상의 처리 결과를 수신하는 단계;서버 노드에서 상기 복합 트랜잭션을 형성하는 메시지를 수신하는 단계;상기 메시지를 상기 미리 정해진 문법에 따라서, 상기 특정된 컨스트레인트 하에서 실행되는 상기 하나 이상의 오퍼레이션으로 해석하는 단계; 및상기 하나 이상의 오퍼레이션을 서비스하기 위해 상기 하나 이상의 오퍼레이션을 상기 원격 자원에 통신하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 제2항에 있어서,상기 원격 자원에서 상기 하나 이상의 오퍼레이션을 실행하는 단계; 및상기 실행 결과를 지속성 메모리에 저장하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 제3항에 있어서, 상기 이동 클라이언트 장치와의 접속이 이루어진 후 언제라도 상기 실행 결과를 상기 이동 클라이언트 장치에 통신하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 하나 이상의 서버 장치에 의해 처리되는 이동 클라이언트에 의한 서비스 리퀘스트를 특정하는 하나 이상의 오퍼레이션을 처리하는 컴퓨터 구현 방법에 있어서,복합 트랜잭션을 갖는 메시지를 수신하는 단계;상기 메시지로부터 상기 하나 이상의 오퍼레이션이 실행될 수 있는 조건을 특정하는 컨스트레인트를 포함하는 상기 하나 이상의 오퍼레이션을 소정의 문법에 따라서 추출하는 단계;상기 하나 이상의 오퍼레이션을 지속성 저장소에 저장하는 단계;상기 하나 이상의 오퍼레이션을 서버 장치 판독 가능한 명령으로 변형하는 단계; 및상기 명령에 따라 실행되도록 상기 하나 이상의 서버 장치에 상기 명령을 통신하는 단계를 포함하는 컴퓨터 구현 방법.
- 제5항에 있어서, 상기 컨스트레인트 특정 단계는, 상기 하나 이상의 오퍼레이션을 실행하기 위한 조건으로서, 상기 하나 이상의 서버 장치에 의해 실행되는 이전의 오퍼레이션의 결과를 특정하는 단계를 더 포함하는 컴퓨터 구현 방법.
- 이동 클라이언트 장치가 서버 장치로부터 분리되어 있는 동안 사용자가 이동 클라이언트 장치에 대해 복합 트랜잭션 - 이 트랜잭션은 서비스 노드에의 전송을 위한 것임 - 을 구축할 수 있도록 하기 위한 컴퓨터 구현 시스템에 있어서,하나 이상의 사용자 서비스 리퀘스트를 나타내는 데이터 입력을 수신하며, 상기 수신된 데이터 입력에 응답하여 상기 하나 이상의 사용자 서비스 리퀘스트에 관련한 상기 데이터 입력을 복합 트랜잭션을 형성하는 메시지 포맷으로 변형시키는 이동 어플리케이션 모듈; 및상기 이동 어플리케이션과 통신하며 상기 복합 트랜잭션을 수신하고, 또한 접속이 이루어진 후 언제라도 상기 서비스 노드에의 전송 준비가 된 하나 이상의 복합 트랜잭션을 축적하는 이동 어플리케이션 코디네이터를 포함하는 컴퓨터 구현 시스템.
- 제7항에 있어서, 상기 하나 이상의 복합 트랜잭션을 상기 이동 어플리케이션 코디네이터로부터 수신하며, 또한 상기 수신된 복합 트랜잭션으로부터 상기 하나 이상의 사용자 서비스 리퀘스트와 관련된 오퍼레이션을 추출하며 상기 오퍼레이션을 서비스하기 위해 상기 오퍼레이션을 지정된 서비스 노드에 루팅하는 원격 어플리케이션 코디네이터를 더 포함하는 컴퓨터 구현 시스템.
- 제8항에 있어서, 상기 원격 어플리케이션 코디네이터는 또한 상기 서비스 노드로부터 실행되는 오퍼레이션의 결과를 수신하는 컴퓨터 구현 시스템.
- 제9항에 있어서, 상기 원격 어플리케이션 코디네이터는 또한 상기 이동 장치에의 접속이 이루어진 후 언제라도 상기 결과를 상기 이동 어플리케이션 코디네이터에 통신하는 컴퓨터 구현 시스템.
- 제10항에 있어서, 상기 오퍼레이션은 상기 오퍼레이션이 실행될 수 있게 하는 하나 이상의 컨스트레인트를 포함하는 컴퓨터 구현 시스템.
- 제11항에 있어서, 상기 하나 이상의 컨스트레인트는 이전의 오퍼레이션의 결과를 포함하는 컴퓨터 구현 시스템.
- 제7항에 있어서,상기 이동 어플리케이션 모듈은:사용자가 리퀘스트를 입력하고 이전의 리퀘스트에 대한 응답을 볼 수 있게 하는 사용자 인터페이스 모듈;상기 사용자 인터페이스 모듈에 의해 모여진 정보를 미리 정해진 문법에 따른 포맷으로 포맷하기 위한 메시지 포맷터 - 상기 포맷은 통신 매체를 통한 전송에 적당하고, 상기 메시지 포맷터는 또한 상기 통신 매체를 통해 수신된 메시지를 상기 사용자 인터페이스 모듈을 통해 사용자에게 제시하기 적당한 포맷으로 변환함 - ; 및상기 리퀘스트와 상기 응답을 상기 이동 어플리케이션 코디네이터에 및 그로부터 통신하기 위한 것으로, 상기 리퀘스트 및 상기 응답의 파일 보관(archiving)를 또한 가능하게 하는 메시지 통신기를 포함하는 컴퓨터 구현 시스템.
- 이동 장치가 서버 장치에서 분리되어 있는 동안 사용자가 이동 장치에 대해 복합 트랜잭션을 구축할 수 있게 하는 방법의 단계를 실행하는 기계에 의해 실행 가능한 명령 프로그램을 유형적으로 구현하는, 기계에 의해 판독 가능한 프로그램 기억 장치에 있어서, 상기 방법의 단계는:하나 이상의 원격 서버에 의해 실행되는 서비스 리퀘스트와 관련되는 하나 이상의 오퍼레이션을 특정하는 단계;상기 하나 이상의 오퍼레이션과 관련된 컨스트레인트를 특정하는 단계 - 상기 컨스트레인트는 상기 하나 이상의 오퍼레이션이 실행될 수 있게 하는 하나 이상의 조건을 기술함 - ;상기 컨스트레인트를 갖는 상기 하나 이상의 오퍼레이션을 통신 매체를 통한 전송을 위한 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계; 및상기 포맷된 메시지를 로컬 메모리에 저장하는 단계를 포함하는 프로그램 기억 장치.
- 제14항에 있어서, 상기 방법의 단계는:상기 하나 이상의 오퍼레이션에 통합된 리퀘스트를 서비스하기 위해 상기 하나 이상의 원격 서버와 관련된 원격 자원을 특정하는 단계를 더 포함하고,상기 포맷 단계는 상기 원격 자원 및 상기 컨스트레인트를 갖는 상기 하나 이상의 오퍼레이션을 통신 매체를 통한 전송을 위한 상기 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계를 포함하는 프로그램 기억 장치.
- 제15항에 있어서, 상기 방법의 단계는:상기 서버 장치에의 접속을 이룬 후 이 서버 장치에 상기 복합 트랜잭션을 형성하는 메시지를 전송하는 단계를 더 포함하는 프로그램 기억 장치.
- 제16항에 있어서, 상기 방법의 단계는:상기 서버 장치로부터 상기 복합 오퍼레이션의 하나 이상의 처리 결과를 수신하는 단계를 더 포함하는 프로그램 기억 장치.
- 처리될 서비스를 특정하는 하나 이상의 오퍼레이션을 수신하는 방법의 단계를 실행하는 기계에 의해 실행 가능한 명령 프로그램을 유형적으로 구현하는, 기계에 의해 판독 가능한 프로그램 기억 장치에 있어서, 상기 방법의 단계는:복합 트랜잭션을 갖는 메시지를 수신하는 단계;상기 메시지로부터 상기 하나 이상의 오퍼레이션이 실행될 수 있게 하는 조건을 특정하는 컨스트레인트를 포함하는 상기 하나 이상의 오퍼레이션을 소정의 문법에 따라서 추출하는 단계;상기 하나 이상의 오퍼레이션을 지속성 저장소에 저장하는 단계;상기 하나 이상의 오퍼레이션을 서버 장치 판독 가능 명령으로 변환하는 단계; 및상기 명령에 따라 실행되도록 상기 명령을 상기 하나 이상의 서버 장치에 통신하는 단계를 포함하는 프로그램 기억 장치.
- 제18항에 있어서, 상기 방법의 단계는:상기 하나 이상의 서버 장치로부터 상기 명령의 실행 결과를 수신하는 단계; 및상기 결과를 지속성 저장소에 저장하는 단계를 더 포함하는 프로그램 기억 장치.
- 제19항에 있어서, 상기 방법의 단계는:상기 결과를 상기 이동 클라이언트에의 접속이 이루어진 후 언제라도 이동 클라이언트에게 통신하는 단계를 더 포함하는 프로그램 기억 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23872699A | 1999-01-28 | 1999-01-28 | |
US9/238,726 | 1999-01-28 | ||
US09/238,726 | 1999-01-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000062464A true KR20000062464A (ko) | 2000-10-25 |
KR100362980B1 KR100362980B1 (ko) | 2002-11-29 |
Family
ID=22899066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000001633A KR100362980B1 (ko) | 1999-01-28 | 2000-01-14 | 퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1026588A3 (ko) |
JP (1) | JP2000227889A (ko) |
KR (1) | KR100362980B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140147812A (ko) * | 2012-03-16 | 2014-12-30 | 오라클 인터내셔날 코포레이션 | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100715846B1 (ko) | 2005-02-14 | 2007-05-10 | 삼성전기주식회사 | 퍼베이시브 환경에서 Subtyping 기반의 탄력적인서비스 구성을 이용하는 응용 프로그램 재구성 방법 및 그시스템 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528503A (en) * | 1993-04-30 | 1996-06-18 | Texas Instruments Incoporated | Integrated automation development system and method |
US5862327A (en) * | 1996-06-10 | 1999-01-19 | Tactica Corporation | Activity based long-lived transaction system |
WO1998058333A1 (en) * | 1997-06-17 | 1998-12-23 | Crossmar, Inc. | Method and system for confirmation and settlement for financial transactions matching |
-
2000
- 2000-01-13 EP EP00300229A patent/EP1026588A3/en not_active Withdrawn
- 2000-01-14 KR KR1020000001633A patent/KR100362980B1/ko not_active IP Right Cessation
- 2000-01-21 JP JP2000012745A patent/JP2000227889A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140147812A (ko) * | 2012-03-16 | 2014-12-30 | 오라클 인터내셔날 코포레이션 | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 |
Also Published As
Publication number | Publication date |
---|---|
EP1026588A2 (en) | 2000-08-09 |
JP2000227889A (ja) | 2000-08-15 |
EP1026588A3 (en) | 2006-08-23 |
KR100362980B1 (ko) | 2002-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7366738B2 (en) | Method and system for object cache synchronization | |
US7467389B2 (en) | System and methodology providing service invocation for occasionally connected computing devices | |
US7035879B2 (en) | System and method for synchronizing data of wireless devices | |
US5701464A (en) | Parameterized bloom filters | |
US6775700B2 (en) | System and method for common information model object manager proxy interface and management | |
US20040240408A1 (en) | System, method and apparatus for the generation and deployment of mobile applications | |
TW200400444A (en) | System and method for accessing different types of back end data stores | |
JPH10187575A (ja) | インターネット経由でoltpを可能にするクライアント・オブジェクトapi /ゲートウェイ | |
CN107194810B (zh) | 资产配置系统和操作方法 | |
WO2000051031A8 (en) | Proxy server augmenting a client request with user profile data | |
WO2020258666A1 (zh) | 一种分布式系统及数据处理方法 | |
WO2007078758A2 (en) | Application integration systems and methods | |
US6944864B2 (en) | Dynamic architecture integration technique | |
CN103024049A (zh) | 实现浏览器数据同步的系统 | |
KR100362980B1 (ko) | 퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법 | |
JP4536880B2 (ja) | 情報処理システム及びその制御方法、情報処理装置及び方法、並びに記憶媒体 | |
JPH09507595A (ja) | 家庭用銀行業務システム | |
JP2002366548A (ja) | 情報検索/情報検索結果提供システム及び情報検索/情報検索結果提供方法 | |
US20100107178A1 (en) | System and Method for Providing a Communications Service in Distributed Computing Environment | |
CN103036989A (zh) | 套接字服务器及套接字服务方法 | |
JPH11272471A (ja) | ソフトウェア配信システムとそれに用いるプログラムを記録した記録媒体 | |
US7376748B1 (en) | Data delivering system | |
CN117041321B (zh) | 一种业务处理系统和方法 | |
KR102400067B1 (ko) | 채팅 서버, 단말 장치 및 어플리케이션 서버 | |
JPH10214287A (ja) | ネットワーク上でのサービス情報授受方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051019 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |