Nothing Special   »   [go: up one dir, main page]

KR100362980B1 - 퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법 - Google Patents

퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법 Download PDF

Info

Publication number
KR100362980B1
KR100362980B1 KR1020000001633A KR20000001633A KR100362980B1 KR 100362980 B1 KR100362980 B1 KR 100362980B1 KR 1020000001633 A KR1020000001633 A KR 1020000001633A KR 20000001633 A KR20000001633 A KR 20000001633A KR 100362980 B1 KR100362980 B1 KR 100362980B1
Authority
KR
South Korea
Prior art keywords
operations
message
user
constraint
mobile
Prior art date
Application number
KR1020000001633A
Other languages
English (en)
Other versions
KR20000062464A (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 KR20000062464A publication Critical patent/KR20000062464A/ko
Application granted granted Critical
Publication of KR100362980B1 publication Critical patent/KR100362980B1/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D8/00Cold 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

퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법{A METHOD FOR PERFORMING COMPLEX TRANSACTIONS IN A PERVASIVE COMPUTING ENVIRONMENT}
본 발명은 컴퓨터 네트워크를 통한 사용자 명령의 전송에 관한 것으로, 특히 퍼베이시브 컴퓨팅(pervasive computing) 환경에서 복합 비지니스 트랜잭션(complex business transaction)을 실행하기 위해 사용자 명령을 전송하기 위한 시스템 및 방법에 관한 것이다.
퍼베이시브 컴퓨팅 환경은 일반적으로, 언제, 어디서나 데이터와 서비스에의 억세스를 가능하게 하는, 휴대용 컴퓨터, 페이저, 스마트 폰, 퍼스널 디지털 보조기(personal digital assistant), 셋 톱 박스 등의 이동 장치를 이용하는 데 관한 것이다. 이러한 장치와 함께 사용하도록 구현되는 이동 어플리케이션은 이동 장치가 네트워크에 접속되어 있는지의 여부에 상관없이 지속적인 정보에의 억세스를 필요로 한다. 이러한 작업(task)은 리소스(resource)의 로컬 레플리카(local replica)를 보유하고 서버에 정기적으로 접속하여 정보를 갱신함으로써 달성될 수 있다. 비접속(disconnect)된 장치가 재접속되면, 이 장치가 비접속되어 있는 동안에 변경된 데이터는 네트워크 서버로 전송되어야 하며, 서버에 대한 갱신도 그 장치로 전송되어야 한다. 이러한 처리(process)는 실제의 데이터를 접속을 통해서 전송하는 것을 포함하며, 이는 데이터 동기화라 알려져 있다. 예를 들어, 사용자가 로컬 레플리카를 변경하면, 서버 카피(copy)에서의 대응 엔트리는 로컬 레플리카로부터의 엔트리로 교체되고, 그 역도 마찬가지이다. 데이터 동기화 기술은 사용자가 서버 리소스를 갱신하는 권한을 갖고 있는 경우에 유용할 뿐이다.
그러나, 현재, 데이터 동기화는 투-두-리스트(to-do-list), 전자 메일, 달력 등의 개인적인 리소스를 관리하고, 클라이언트/서버 상호 작용이 가능하도록 하는 퍼베이시브 접속을 제공하기 위해, 이동 어플리케이션 분야에서 주로 사용되는 기술이다. 다른 어플리케이션은 GPS 시스템 등의 서버로부터 정보를 검색(retrieve)하는 것으로 제한된다.
온라인 뱅킹의 경우를 고려한다. 현재, 이동 사용자는 계좌 정보를 다운로드하고 온라인 뱅킹 시스템에의 접속이 유지되는 동안 한 계좌에서 다른 계좌로 현금을 이체하는 것과 같은 뱅킹 트랜잭션을 실행할 수 있다. 그러나, 일단 시스템과의 접속이 끊어지면, 사용자는 오직 로컬 계좌 정보만을 억세스하도록 제한받는다; 즉, 사용자는 뱅킹 시스템에의 접속없이 계좌들 간에 현금을 이체할 수 없다. 사용자가 로컬 모드에서 실행되는 트랜잭션을 추적하여 잔고를 계산할 수는 있지만, 서버 계좌 데이터베이스에 의해 관리되는 데이터를 변경할 권한은 없기 때문에, 그 후에는 새로운 계좌 잔고 정보로 서버 계좌 데이터베이스를 갱신할 수 없다. 따라서, 사용자는 개별의 트랜잭션을 실행하기 위해 뱅크 서버에의 오픈 접속을 유지하여야만 한다. 그러나, 진정 이동 컴퓨팅으로 이익을 얻기 위해서는, 사용자는 이동 장치가 서버 시스템에 접속되어 있지 않아도 이동 장치에 대해 국부적으로 트랜잭션을 실행할 수 있어야 하며, 또한 접속이 이루어졌을 때에는 실행을 위해 뱅크 서버에 대한 컨스트레인트(constraint)와 함께 대응 명령을 전송해야 한다.
따라서, 클라이언트가 비접속 모드에서 하나 이상의 서비스 리퀘스트를 갖는 전자 메시지를 작성한 다음에, 서버에 간단히 접속하여 리퀘스트 메시지를 서버에 전송할 수 있게 하기 위한 시스템 및 방법을 갖는 것이 매우 요망된다. 예를 들어, 상술한 예의 경우에는, 이동국이 시스템에 접속되었을 때, 새로운 계좌 잔고보다는 계좌 이체 명령을 온라인 뱅킹 시스템에 전송하는 것이 매우 요망된다. 또한, 다음으로 서버가 전자 메시지를 해석하고 클라이언트에 의해 요청된 서비스를 전달할 수 있게 하는 것이 요망된다. 또한, 클라이언트가 리퀘스트를 전송한 후에, 그 리퀘스트에 대한 응답을 검색하도록 서버에 접속할 수 있게 하는 것이 매우 요망된다.
본 발명은 접속이 이루어졌을 때 이동 어플레이케이션이 서버 시스템에 갱신된 데이터를 송신하기보다는 트랜잭션 명령을 송신하도록 함으로써, 상술된 트랜잭션을 가능하게 한다. 이러한 트랜잭션을 가능하게 하기 위해서, 본 발명은 비접속 모드에서 이동 장치의 사용자가 복합 비지니스 트랜잭션을 실행하도록 하는 새로운 방법을 제공한다. 이 방법은 실제 변경된 데이터를 전송하기보다는 데이터에 대해 실행되는 오퍼레이션을 전송하는 단계를 포함한다. 복합 오퍼레이션은 오퍼레이션이 실행될 수 있는 조건을 나타내는 컨스트레인트를 이용하여, 간단한 오퍼레이션으로 구성된다. 서버는 오퍼레이션을 수신하고, 이 오퍼레이션에 관련되는 세만틱스(semantics)에 따라서, 서버측 데이터 저장소, 예를 들어 데이터베이스, 메일 데이터베이스, 파일 시스템 등을 갱신한다.
오퍼레이션 구성(operation composition)은 비접속 모드에서 하나 이상의 간단한 오퍼레이션으로부터 복합 오퍼레이션을 이루는 데에 사용되며, 이 복합 오퍼레이션은 처리를 위해 서버에 업로드된다. 각각의 오퍼레이션은 이동 장치에서 이용 가능한 데이터에 기초한 컨스트레인트의 세트와 관련될 수 있다. 이 컨스트레인트는 서버에서 특정 오퍼레이션이 실행될 수 있는 조건을 나타낸다. 컨스트레인트의 일예를 다음의 예시적인 시나리오로 제공한다. Xa 및 Xb는 공동 은행 계좌를 소유하며, 여기에서 Xa 및 Xb는 계좌 데이터를 이들 각각의 이동 장치로 다운로드한다. 그러나, Xa와 Xb가 데이터를 다운로드한 후에 계좌 데이터가 변경되었을 수 있기 때문에 다운로드한 데이터는 계좌에서 이용 가능한 가장 최근에 갱신된 데이터가 아닐 수 있다. 따라서, Xa가 이동 장치를 이용하여 전자 과금을 지불하기 전에, Xa는 계좌가 대월되지 않도록 현재의 계좌 잔고가 전자 과금과 적어도 동일한 금액을 포함하고 있는 것을 확인해야 한다. 유사하게, Xb가 Xb의 이동 장치를 이용하여 또 다른 과금에 대해 독립적으로 지불하기 전에, Xb는 계좌 잔고가 예를 들어 $1000 이상을 갖고 있는지를 체크한다. 최소한의 청구 금액인 계좌 잔고, 또는 $1000 이상의 계좌 잔고 등의 조건은 이동 장치가 서버에 접속될 때 계좌 이체의 오퍼레이션과 함께 서버에 전달되는 컨스트레인트의 예이다. 서버 내에 있는 데이터의 상태에 관한 컨스트레인트 외에도, 사용자는 메시지에서 이전의 오퍼레이션의 성공이나 실패를 조건으로 하여 실행될 수 있는 오퍼레이션의 종속 관계(dependency)를 특정(specifying)할 수 있다. 예를 들어, 메시지는 계좌 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); 유선 또는 셀룰러 모뎀, 적외선, 무선 주파수(radio frequency: RF) 등의 장치를 포함하지만 이에 한정되는 것은 아닌 하나 이상의 통신 장치(105); 및 전원(106)을 포함한다. 통상의 네트워크 환경에서는, 도 2에 도시된 바와 같이, 복수의 이동 컴퓨터(210)가 컴퓨터 네트워크(230)의, 그리고 서버(240) 상에 있는 복수의 리소스(240)에의 접속(220)을 유지한다.
바람직한 실시예에서는, 도 3에 도시된 바와 같은 본 발명의 이동 어플리케이션(300)이 세 모듈: 1) 사용자 인터페이스(user interface(UI); 310) 모듈, 2) 메시지 포맷터(message formatter(MF); 320) 모듈; 3) 메시지 커뮤니케이터 (message communicator(MC); 330) 모듈을 포함한다. UI(310)는 일반적으로 사용자로부터 정보를 수집하고, 출력 메시지를 사용자에게 표시한다. MF(320)는 사용자 입력을 통신 매체를 통해서 전송하기에 적당한 메시지로 포맷하고, 통신 매체로부터 수신된 메시지를 사용자에게 제시되는 포맷으로 변환시킨다. MC(330)는 일반적으로 MAC(402)(도 4)와 상호 동작하여, 메시지를 송신, 수신, 및 저장한다. MAC를 도 4와 관련하여 더욱 상세히 설명한다.
도 4는 본 발명의 어플리케이션 아키텍처의 일예를 설명한다. 어플리케이션 아키텍쳐는 일반적으로, 이동 장치(210)에 대한 하나 이상의 이동 어플리케이션(300A, …, 300N), 이동 어플리케이션 코디네이터(mobile application coordinator(MAC); 402), 오퍼레이션 로그(403), 및 리소스 로케이터(resource locater(RL); 404)와, 원격 컴퓨터(406)에 대한 원격 어플리케이션 코디네이터(remote application coordinator(RAC); 407) 및 원격 컴퓨터(409A, 409B, …, 409N) 각각에 대한 원격 어플리케이션(remote application(RA); 410A, 410B, …,410N)의 세트를 포함한다. 통상, 이동 어플리케이션(mobile application(MA); 300)은 후술하는 바와 같이 리퀘스트 메시지를 구성하고, 메시지를 MAC(402)로 전송한다. MAC(402)는 이동 어플리케이션(300)으로부터 리퀘스트 메시지를 축적하여 이를 오퍼레이션 로그(403)에 보유해 둔다. 축적된 메시지는, 차후 사용자가 원격 컴퓨터에의 접속을 이루었을 때 RAC(407)로 결국 전송된다. RAC(407)는 네트워크(408)를 통해 각각의 메시지를 대응하는 원격 어플리케이션(410A, …, 410N)으로 라우팅(routing)한다. 원격 어플리케이션(410A, …, 410N)은 리퀘스트를 서비스하고, RAC(407)로 응답을 되돌려 보내며, RAC(407)는 이 응답을 응답 로그에 보유해 둔다. 이 응답들은 후속의 접속 시 MAC(402)로 전송된다.
리소스 로케이터 RL(404)는 이동 어플리케이션과 이들의 원격 대응물 간의 매핑(mapping)을 유지한다. RL(404)은 보안 알고리즘과 통신 프로토콜과 같은 통신 프로파일 정보를 유지한다. MAC(402)는 통상적으로, 타겟 이동 어플리케이션(300A, …, 300N)이 응답을 검색할 때까지 RAC(407)로부터 수신된 응답을 저장한다. MAC(402)는 일반적으로, 인입되는 응답에 대해서 뿐만이 아니라 인출되는 응답을 위해 로그를 유지한다. 리퀘스트는 전송되거나 발신 어플리케이션(originating application)에 의해 제거될 때까지 리퀘스트 로그에 저장되고 그 곳에 유지된다. 유사하게, 응답은 타겟 어플리케이션에 의해 검색될 때까지 응답 로그에 저장된다.
이동 장치(210)에 대한 어플리케이션은 이동 장치에 대한 이동 어플리케이션 코디네이터(402)와 상호 동작하여 원격 어플리케이션(410A, …,410N)과 메시지를 송수신한다. 이동 어플리케이션(300A, …, 300N)과 이동 어플리케이션 코디네이터(402) 사이의 이러한 상호 작용은 이동 어플리케이션 상호 작용 프로토콜(mobile application interaction protocol: MAIP)에 의해 관리된다. 이 프로토콜은 등록, 이동 리퀘스트 핸들링, 로그, 및 문서화(archiving) 서비스를 지원한다. 어플리케이션(300A, …, 300N)이 MAIP에 등록되면, 각각의 이동 어플리케이션(300A, …, 300N)은 이동 어플리케이션에 의해 사용되는 고유 식별자가 할당되어, 후속의 상호 작용 시에 이동 어플리케이션 코디네이터에게 그 자체가 식별된다. 등록 서비스는 이동 어플리케이션(300A, …, 300N)이 이동 어플리케이션 코디네이터(402)에 자기 자신을 등록하고, 사용하려고 하는 서비스를 특정할 수 있게 한다. 로깅 서비스는 등록 시에 이동 어플리케이션(300A, …, 300N)이 특정할 수 있는 서비스의 일예이다. 통상적으로, 메시지 핸들링 서비스는 리퀘스트 메시지를 이동 어플리케이션 코디네이터(402)에 전달하고 응답 메시지를 이 코디네이터(402)로부터 검색하도록 이동 어플리케이션(300A, …, 300N)에 의해 사용된다.
일반적으로, RAC(407)는 메시지 라우팅과 메시지 저장 기능을 제공한다. RAC(407)는 대응하는 원격 어플리케이션(410A, …, 410N)에 각각의 메시지를 라우팅한다. 원격 어플리케이션(410A, …, 410N)은 리퀘스트를 서비스하고 적당한 응답을 RAC(407)로 되돌려 보낸다. 이 응답들은 후속의 접속 시 이동 어플리케이션 코디네이터(402)로 전송된다. 부가적으로, RAC(407)는 메시지 문서화, 저장 및 검색을 제공한다.
이동 어플리케이션 코디네이터(402)와 원격 어플리케이션 코디네이터(407) 사이의 상호 작용은 어플리케이션 코디네이터 상호 작용 프로토콜(application coordinator interaction protocol: ACIP)에 의해 관리된다. ACIP는 모든 풀(pull)과 푸시(push) 모델을 지원한다. 풀 모델은 클라이언트가 그들이 편리할 때 검색할 수 있게 한다. 푸시 모델은 서버가 클라이언트에 정보를 전송할 수 있게 한다. 예를 들어, 클라이언트는 필요할 때 응답을 검색할 수 있으며, 유사하게 서버는 순향으로 클라이언트에게 응답을 보낼 수 있다.
바람직한 실시예에서, 이동 어플리케이션 코디네이터는 메시지에 관련하여 이동 장치 상의 저장소를 관리한다. 따라서, 각 메시지는 하나의 단위로서 처리된다. 통상의 이동 장치에서의 제한된 저장 효율 때문에, 그리고 사용되는 저장 공간을 최소화하기 위해서, 어플리케이션 코디네이터(402)는 각종 저장 관리 방식(policy)을 구현한다. 이러한 방식은 미리 정해진 기간, 예를 들어 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의 자금이 XYZ 계좌에서 ABC 계좌로 이체되는 것을 특정하고 있다. 도시된 제2 리퀘스트(605B)는 과금 지불의 유형으로서, 리퀘스트 식별자 11을 갖는다. 이 리퀘스트는 식별자 10을 갖는 이전의 리퀘스트가 609에 도시된 바와 같이 성공적으로 실행된 경우 전자 과금을 지불하는 명령을 포함한다. 이것은 종속 관계의 일예이다. 제3 리퀘스트(605C)는 과금 지불의 유형으로서, 리퀘스트 식별자 12를 갖는다. 이 리퀘스트는 ABC 계좌가 $375 이상의 자금을 갖고 있는 경우 케이블 과금을 지불하도록 하는 명령을 포함한다. 이것이 컨스트레인트의 일예이다. 이 부분에서의 정보는 RSA 암호화와 같은 공지된 암호화 기술을 이용하여 암호화된다.
식별부는 요청된 서비스를 인증하고 권한을 부여하는 데에 필요한 정보를 포함한다. 도 6에 도시된 바와 같이, 식별부(610)는 사용자 성명(611), 계좌 번호, 패스워드 정보, 및 메시지 id를 포함한다. 대체예로서, 이 부분은 리퀘스터를 식별하는 디지털 서명을 포함할 수 있다. 임의의 다른 데이터와 같이, 이 부분의 정보는 공지된 암호화 기법들 중 하나를 이용하여 전송되기 전에 암호화될 수 있다.
본 발명의 메시지 포맷터(320)(도 3)는 사용자 인터페이스 UI(310) 모듈에 의해 구성된 리퀘스트를, 통신 채널을 통해서 전송하기에 적당하며, 서버에 의해 해석되기에 적당한 포맷으로 자동 변환하는 데 사용된다. 변환하기 위해서는, 도 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)

  1. 이동 클라이언트 장치가 서버 장치로부터 비접속되어 있는 동안에 이동 클라이언트 장치에 대해 복합 트랜잭션(complex transaction)을 구축하기 위한 컴퓨터 구현 방법에 있어서,
    하나 이상의 원격 서버에 의해 실행될 서비스 리퀘스트와 관련되는 하나 이상의 오퍼레이션을 특정(specifying)하는 단계;
    사용자에 의해 정의되는 컨스트레인트(constraint)를 특정하는 단계 - 상기 컨스트레인트는 상기 하나 이상의 오퍼레이션과 관련되며, 상기 하나 이상의 오퍼레이션이 실행될 수 있는 하나 이상의 조건을 기술함 - ;
    상기 컨스트레인트와 함께 상기 하나 이상의 오퍼레이션을, 통신 매체를 통해서 전송하기 위해 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계; 및
    상기 포맷된 메시지를 로컬 메모리에 저장하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 오퍼레이션에 포함된 리퀘스트를 서비스하기 위해 상기 하나 이상의 원격 서버와 관련된 원격 리소스를 특정하는 단계
    를 더 포함하고,
    상기 포맷 단계는,
    상기 원격 리소스 및 상기 컨스트레인트와 함께 상기 하나 이상의 오퍼레이션을, 통신 매체를 통해서 전송하기 위한 상기 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계를 포함하며,
    상기 방법은,
    상기 서버 장치에의 접속을 이룬 후 언제라도 상기 서버 장치에 상기 복합 트랜잭션을 형성하는 메시지를 전송하는 단계;
    상기 서버 장치로부터 상기 복합 오퍼레이션의 하나 이상의 처리 결과를 수신하는 단계;
    서버 노드에서 상기 복합 트랜잭션을 형성하는 메시지를 수신하는 단계;
    상기 메시지를 상기 미리 정해진 문법에 따라서, 상기 특정된 컨스트레인트 하에서 실행되는 상기 하나 이상의 오퍼레이션으로 해석하는 단계; 및
    상기 하나 이상의 오퍼레이션을 서비스하기 위해 상기 하나 이상의 오퍼레이션을 상기 원격 리소스에 통신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    상기 원격 리소스에서 상기 하나 이상의 오퍼레이션을 실행하는 단계; 및
    상기 실행 결과를 지속성 메모리에 저장하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 이동 클라이언트 장치와의 접속이 이루어진 후 언제라도 상기 실행 결과를 상기 이동 클라이언트 장치에 통신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  5. 하나 이상의 서버 장치에 의해 처리되는 이동 클라이언트에 의한 서비스 리퀘스트를 특정하는 하나 이상의 오퍼레이션을 처리하는 컴퓨터 구현 방법에 있어서,
    복합 트랜잭션을 갖는 메시지를 수신하는 단계;
    상기 메시지로부터, 사용자에 의해 정의되는 컨스트레인트를 포함하는 상기 하나 이상의 오퍼레이션을, 소정의 문법에 따라서 추출하는 단계 - 상기 컨스트레인트는 상기 하나 이상의 오퍼레이션이 실행될 수 있는 조건을 기술함 -;
    상기 하나 이상의 오퍼레이션을 지속성 저장소에 저장하는 단계;
    상기 하나 이상의 오퍼레이션을 서버 장치 판독 가능한 명령으로 변환하는 단계; 및
    상기 명령에 따라 실행되도록 상기 하나 이상의 서버 장치에 상기 명령을 통신하는 단계
    를 포함하는 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 컨스트레인트의 조건 지정 시, 상기 하나 이상의 서버 장치에 의해 실행되는 이전의 오퍼레이션의 결과를, 상기 하나 이상의 오퍼레이션을 실행하기 위한 조건으로 하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  7. 이동 클라이언트 장치가 서버 장치로부터 비접속되어 있는 동안에 사용자가 이동 클라이언트 장치에 대해 상기 사용자에 의해 정의되는 컨스트레인트를 포함하는 복합 트랜잭션 - 상기 트랜잭션은 서비스 노드에의 전송을 위한 것임 - 을 구축할 수 있도록 하기 위한 컴퓨터 구현 시스템에 있어서,
    하나 이상의 사용자 서비스 리퀘스트를 나타내는 데이터 입력을 수신하며, 상기 수신된 데이터 입력에 응답하여 상기 하나 이상의 사용자 서비스 리퀘스트에 관련한 상기 데이터 입력을, 복합 트랜잭션을 형성하는 메시지 포맷으로 변환하는 이동 어플리케이션 모듈; 및
    상기 이동 어플리케이션과 통신하며 상기 복합 트랜잭션을 수신하고, 또한 접속이 이루어진 후 언제라도 상기 서비스 노드에의 전송 준비가 된 하나 이상의 복합 트랜잭션을 축적하는 이동 어플리케이션 코디네이터
    를 포함하는 컴퓨터 구현 시스템.
  8. 제7항에 있어서,
    상기 하나 이상의 복합 트랜잭션을 상기 이동 어플리케이션 코디네이터로부터 수신하며, 또한 상기 수신된 복합 트랜잭션으로부터 상기 하나 이상의 사용자 서비스 리퀘스트와 관련된 오퍼레이션을 추출하고, 상기 오퍼레이션을 서비스하기 위한 지정된 서비스 노드에 상기 오퍼레이션을 라우팅하는 원격 어플리케이션 코디네이터
    를 더 포함하는 컴퓨터 구현 시스템.
  9. 제8항에 있어서,
    상기 원격 어플리케이션 코디네이터는 또한 상기 서비스 노드로부터 수행된 오퍼레이션의 결과를 수신하는 컴퓨터 구현 시스템.
  10. 제9항에 있어서,
    상기 원격 어플리케이션 코디네이터는 또한 상기 이동 장치에의 접속이 이루어진 후 언제라도 상기 결과를 상기 이동 어플리케이션 코디네이터에 통신하는 컴퓨터 구현 시스템.
  11. 제10항에 있어서,
    상기 오퍼레이션은 상기 오퍼레이션이 실행될 수 있게 하는 하나 이상의 상기 컨스트레인트를 포함하는 컴퓨터 구현 시스템.
  12. 제11항에 있어서,
    상기 하나 이상의 컨스트레인트는 이전의 오퍼레이션의 결과를 포함하는 컴퓨터 구현 시스템.
  13. 제7항에 있어서,
    상기 이동 어플리케이션 모듈은:
    사용자가 리퀘스트를 입력하고 이전의 리퀘스트에 대한 응답을 볼 수 있게 하는 사용자 인터페이스 모듈;
    상기 사용자 인터페이스 모듈에 의해 수집된 정보를 미리 정해진 문법에 따른 포맷으로 포맷하기 위한 메시지 포맷터 - 상기 포맷은 통신 매체를 통한 전송에 적당하고, 상기 메시지 포맷터는 또한 상기 통신 매체를 통해 수신된 메시지를 상기 사용자 인터페이스 모듈을 통해 사용자에게 제시하기 적당한 포맷으로 변환함 - ; 및
    상기 리퀘스트와 상기 응답을 상기 이동 어플리케이션 코디네이터와 통신하기 위한 것으로, 상기 리퀘스트 및 상기 응답의 문서화(archiving)를 또한 가능하게 하는 메시지 통신기
    를 포함하는 컴퓨터 구현 시스템.
  14. 이동 장치가 서버 장치로부터 비접속되어 있는 동안에 사용자가 이동 장치에 대해 복합 트랜잭션을 구축할 수 있게 하는 방법의 단계들을 실행하는 기계에 의해 실행 가능한 명령들의 프로그램을 유형적으로 구현하는, 기계에 의해 판독 가능한 프로그램 기억 장치에 있어서,
    상기 방법은:
    하나 이상의 원격 서버에 의해 실행될 서비스 리퀘스트와 관련되는 하나 이상의 오퍼레이션을 특정하는 단계;
    사용자에 의해 정의되는 컨스트레인트를 특정하는 단계 - 상기 컨스트레인트는 상기 하나 이상의 오퍼레이션과 관련되며, 상기 하나 이상의 오퍼레이션이 실행될 수 있게 하는 하나 이상의 조건을 기술함 - ;
    상기 컨스트레인트와 함께 상기 하나 이상의 오퍼레이션을, 통신 매체를 통해서 전송을 위해 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계; 및
    상기 포맷된 메시지를 로컬 메모리에 저장하는 단계
    를 포함하는 프로그램 기억 장치.
  15. 제14항에 있어서,
    상기 방법은:
    상기 하나 이상의 오퍼레이션에 포함된 리퀘스트를 서비스하기 위한 상기 하나 이상의 원격 서버와 관련된 원격 리소스를 특정하는 단계
    를 더 포함하고,
    상기 포맷 단계는
    상기 원격 리소스 및 상기 컨스트레인트와 함께 상기 하나 이상의 오퍼레이션을, 통신 매체를 통해서 전송하기 위해 상기 복합 트랜잭션을 형성하는 메시지로 미리 정해진 문법에 따라서 포맷하는 단계
    를 포함하는 프로그램 기억 장치.
  16. 제15항에 있어서,
    상기 방법은:
    상기 서버 장치에의 접속을 이룬 후 상기 서버 장치에 상기 복합 트랜잭션을 형성하는 메시지를 전송하는 단계
    를 더 포함하는 프로그램 기억 장치.
  17. 제16항에 있어서,
    상기 방법은:
    상기 서버 장치로부터 상기 복합 오퍼레이션의 하나 이상의 처리 결과를 수신하는 단계
    를 더 포함하는 프로그램 기억 장치.
  18. 처리될 서비스를 특정하는 하나 이상의 오퍼레이션을 수신하는 방법의 단계들을 실행하는 기계에 의해 실행 가능한 명령들의 프로그램을 유형적으로 구현하는, 기계에 의해 판독 가능한 프로그램 기억 장치에 있어서,
    상기 방법은:
    복합 트랜잭션을 갖는 메시지를 수신하는 단계;
    상기 메시지로부터, 사용자에 의해 정의되는 컨스트레인트를 포함하는 상기 하나 이상의 오퍼레이션을, 소정의 문법에 따라서 추출하는 단계 - 상기 컨스트레인트는 상기 하나 이상의 오퍼레이션이 실행될 수 있게 하는 조건을 기술함 -;
    상기 하나 이상의 오퍼레이션을 지속성 저장소에 저장하는 단계;
    상기 하나 이상의 오퍼레이션을 서버 장치 판독 가능 명령으로 변환하는 단계; 및
    상기 명령에 따라 실행되도록 상기 명령을 상기 하나 이상의 서버 장치에 통신하는 단계
    를 포함하는 프로그램 기억 장치.
  19. 제18항에 있어서,
    상기 방법은:
    상기 하나 이상의 서버 장치로부터 상기 명령의 실행 결과를 수신하는 단계; 및
    상기 결과를 지속성 저장소에 저장하는 단계
    를 더 포함하는 프로그램 기억 장치.
  20. 제19항에 있어서,
    상기 방법은:
    상기 결과를 상기 이동 클라이언트에의 접속이 이루어진 후 언제라도 상기 이동 클라이언트에게 통신하는 단계
    를 더 포함하는 프로그램 기억 장치.
KR1020000001633A 1999-01-28 2000-01-14 퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법 KR100362980B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23872699A 1999-01-28 1999-01-28
US09/238,726 1999-01-28
US9/238,726 1999-01-28

Publications (2)

Publication Number Publication Date
KR20000062464A KR20000062464A (ko) 2000-10-25
KR100362980B1 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100715846B1 (ko) 2005-02-14 2007-05-10 삼성전기주식회사 퍼베이시브 환경에서 Subtyping 기반의 탄력적인서비스 구성을 이용하는 응용 프로그램 재구성 방법 및 그시스템
US9760584B2 (en) * 2012-03-16 2017-09-12 Oracle International Corporation Systems and methods for supporting inline delegation of middle-tier transaction logs to database

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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
AU8141998A (en) * 1997-06-17 1999-01-04 Crossmar, Inc. Method and system for confirmation and settlement for financial transactions matching

Also Published As

Publication number Publication date
EP1026588A3 (en) 2006-08-23
EP1026588A2 (en) 2000-08-09
KR20000062464A (ko) 2000-10-25
JP2000227889A (ja) 2000-08-15

Similar Documents

Publication Publication Date Title
US5930772A (en) Volume-dependent accounting system and method in connectionless communications
US7366738B2 (en) Method and system for object cache synchronization
US20020144009A1 (en) System and method for common information model object manager proxy interface and management
EP0986225A1 (en) System and method for securely synchronizing multiple copies of a workspace element in a network
TW200400444A (en) System and method for accessing different types of back end data stores
EA003156B1 (ru) Система и способ обновления удаленной базы данных в сети
EA007778B1 (ru) Генератор прикладных программ
CN107194810B (zh) 资产配置系统和操作方法
JP2002189943A (ja) 情報提供システム、接続制御サーバ、接続・課金方法及び記録媒体
CN102984278A (zh) 实现浏览器数据同步的系统和方法
CN100449533C (zh) 为移动用户提供信息
US20070156737A1 (en) Application integration systems and methods
US7840529B2 (en) Contents list providing apparatus and contents list providing method
EP1271362A2 (en) A method of handling a data request
US6944864B2 (en) Dynamic architecture integration technique
KR100362980B1 (ko) 퍼베이시브 컴퓨팅 환경에서의 복합 트랜잭션 실행 방법
WO2021135989A1 (zh) 虚拟营业厅系统、业务处理方法、电子设备及存储介质
CN110992182B (zh) 区块链钱包的交易方法及系统
JP2002366548A (ja) 情報検索/情報検索結果提供システム及び情報検索/情報検索結果提供方法
CN100558188C (zh) 消息处理设备、系统及方法
JP4536880B2 (ja) 情報処理システム及びその制御方法、情報処理装置及び方法、並びに記憶媒体
EP1378848A1 (en) Method, server and program for information management and application distribution
US20100107178A1 (en) System and Method for Providing a Communications Service in Distributed Computing Environment
US7376748B1 (en) Data delivering system
CN116095081A (zh) 基于区块链系统的事件处理方法及装置、设备、介质

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20000114

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20020227

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20021028

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20021118

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20021119

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20051019

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20051019

Start annual number: 4

End annual number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee