KR100767513B1 - 클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템 - Google Patents

클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템 Download PDF

Info

Publication number
KR100767513B1
KR100767513B1 KR1020027016744A KR20027016744A KR100767513B1 KR 100767513 B1 KR100767513 B1 KR 100767513B1 KR 1020027016744 A KR1020027016744 A KR 1020027016744A KR 20027016744 A KR20027016744 A KR 20027016744A KR 100767513 B1 KR100767513 B1 KR 100767513B1
Authority
KR
South Korea
Prior art keywords
data
transaction
user
client device
database
Prior art date
Application number
KR1020027016744A
Other languages
English (en)
Other versions
KR20030025242A (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
Priority claimed from US09/589,814 external-priority patent/US6973477B1/en
Application filed by 사이버폰 테크놀러지, 인크. filed Critical 사이버폰 테크놀러지, 인크.
Publication of KR20030025242A publication Critical patent/KR20030025242A/ko
Application granted granted Critical
Publication of KR100767513B1 publication Critical patent/KR100767513B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/247Telephone sets including user guidance or feature selection means facilitating their use
    • H04M1/2478Telephone terminals specially adapted for non-voice services, e.g. email, internet access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/271Devices whereby a plurality of signals may be stored simultaneously controlled by voice recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/30Determination of the location of a subscriber

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)

Abstract

각각의 사용자 애플리케이션에 맞추어진 템플릿내의 프롬프트에 응답하여 사용자에 의해 트랜잭션 데이터가 도입된 데이터 트랜잭션 처리 시스템이 제공된다. 템플릿 및 도입된 데이터는, 처리 및 저장이 외부 데이터베이스 서버에서 완료되면 즉시 전송되는 표준 프로토콜을 통해 데이터 트랜잭션에 축적된다. 트랜잭션 장치로부터의 요청에 응답하여, 서버에 저장하는 데이터베이스는, 데이터베이스 서버 또는 원격 전자 메일 시스템으로부터 판독된 데이터 트랙잭션내의 필드 또는 디스플레이상의 메뉴의 완료에 사용되는 데이터 스트림을 반환할 수 있다. 트랜잭션 엔트리 장치는 전화기로 구성되고, 터치 스크린, 키보드, 자기 카드 판독기, 음성 엔트리, 모뎀을 통해 액세스된다. 광역 동작 시스템 서버(BOSS) 소프트웨어의 제어하의 복수의 데이터베이스 서버 및 복수의 폼-구동 클라이언트 컴퓨팅 장치가 제공되어 클라이언트간, 애플리케이션 및 데이터베이스간에 트랜잭션을 통신하기 위한 오픈 플랫폼 시스템을 생성한다. 장점으로서, 로케이터 서버 컴퓨터는, 중심 사용자 및 목적지 클라이언트 장치등을 식별하고 로케이팅하는데 이용되는 IP 주소번호, PSTN 번호, 및 다른 네트워크 식별 정보를 검색한다.
데이터베이스, 클라이언트, 서버 컴퓨터, 전화 회선, 모뎀

Description

클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템{SYSTEM FOR SECURELY COMMUNICATING AMONGST CLIENT COMPUTER SYSTEMS}
<관련 출원의 기재>
본 출원은 미국특허출원 제09/390,798호(1999.9.7)의 일부계속출원으로서, 미국특허출원 제09/390,798호는 현재 특허된 미국특허 제5,805,676호의 미국특허출원 제08/446,546호의 계속출원인 미국특허출원 제08/909,408호(1997.8.11)의 계속출원이다.
본 발명은 건강, 재정, 데스크탑 애플리케이션, 보안, 인증, 비디오 메일 또는 노트 메일 등의 서비스를 제공하는 서비스와 관련하여 사용하기 위한 클라이언트 컴퓨터 시스템; 메시지, 메시지의 조합물 또는 임의의 소스로부터 생성되거나 임의의 소스 내에 저장된 처리 정보의 전송에 이용되는 임의의 시스템에 관한 것이며, 보다 구체적으로는 클라이언트 장치, 서버 컴퓨터, 서비스, 데이터베이스 및 기타 시스템 오브젝트 또는 컴포넌트 간의 시스템에서의 데이터 통신을 안전하게 하는 것에 관한 것이다.
컴퓨터 처리능력을 종래의 전화장치에 결합한 포인트-오브-엔트리(Point-of-entry) 시스템이 개발되었다. 예컨대, 컴퓨터/전화 장치에 관해서는, 미국특허 제5,195,130호, 제5,000,927호 및 제4,991,199호에서 일반 전화의 12개의 키패드를 사용하여 조작되는 프로그램가능 마이크로컴퓨터로서 전화를 구성하는 기술을 기재하고 있다. 상이한 하드웨어 구성을 요하지만 하드웨어를 실제로 재구성하지는 않는 각종 유형의 소프트웨어를 수용하기 위해 프로그램가능 게이트 어레이를 재구성하고 있다. 네트워크 호스트 컴퓨터로부터 재구성된 데이터를 수신하여, 프로그램가능 마이크로컴퓨터에서는 이를 네트워크 호스트 컴퓨터와 통신하고 있는 복수개의 서비스 담당부(bureau)들 중의 임의의 서비스 담당부에 대한 하드웨어를 에뮬레이트하는데 사용한다. 이와 같이 하여, 전화/컴퓨터는 통상의 전화선을 통하여 다수의 상이한 서비스 담당부들 중 임의의 담당부와 데이터를 통신하도록 구성된다.
그러나, 전술한 특허에 기재된 형태의 전화/컴퓨터 시스템은 통상적으로 복잡하고 고가일 뿐만 아니라, 네트워크 호스트 컴퓨터에서 다운로드할 수 있는 조작용 소프트웨어의 종류가 제한되어 있다. 또한, 이러한 전화/컴퓨터 시스템은 요청받은 서비스 담당부와의 통신을 허가하기 이전에 마이크로컴퓨터가 재구성되어야 하므로 상대적으로 속도가 느리다. 이러한 특성으로 인해, 전화/컴퓨터 시스템은 공공 장소에서 사용되는 것이 보통이며, 전형적인 상업용 또는 개인용 설정의 포인트-오브-엔트리 트랜잭션을 생성하기에는 비효율적이다. 이러한 제한사항들을 갖지 않고 종래의 운영체제와 최대 또는 전적으로 독립적인 포인트-오브-엔트리 트랜잭션 엔트리 시스템이 요구된다.
애플리케이션 프로그램의 실행을 위해, 명령 해독기, 메모리 관리자능, 기능 스케줄러, 디스크 조작기능 등을 갖춘 종래의 운영체제의 다수 또는 모든 요구사항, 및 트랜잭션 생성 수단 및/또는 데이터 엔트리의 마이크로프로세서가 구현한 각 애플리케이션을 위한 다수의 각 애플리케이션 프로그램을 기입 및 컴파일해야 하는 필요성을 제거한다면, 장치의 가격을 대폭 감소시킬 수 있을 것이다. 그러나, 현재로서는 전술한 특성들을 갖는 운영체제는 데이터 통신을 제어하는 애플리케이션 프로그램을 실행해야 할 뿐만 아니라 컴퓨터 시스템의 각 부분을 처리해야 하기 때문에, 불가능하였다.
포인트-오브-엔트리, 트랜잭션 또는 "폼-구동"(form-driven) 컴퓨터 시스템의 여러 일면에 대해서는, 이하의 공통 할당된 US 특허(본 명세서에 참조로 포함되어 있음)에 개시되어 있다: Martino에 허여된 미국특허 제5,805,676호(등록일: 9/8/98)의 "Telephone/Transaction Entry Device and System for Entering Transaction Data into Databases", Martino에 허여된 미국특허 제5,987,103호(등록일: 11/16/99)의 "Telephone/Transaction Entry Device and System for Entering Transaction Data into Databases" 및 Martino에 허여된 미국특허 제6,044,382호(등록일: 3/28/00)의 "Data Transaction Assembly Server". 이들 특허에는 이러한 시스템의 여러가지 일면으로서, 예컨대 클라이언트 장치 내에 존재하는 트랜잭션 애플리케이션 운영체제를 사용하여, 일반적으로 메뉴, 폼, 리포트, 메시지 및 기타 통신을 복수개의 데이터베이스, 서비스, 서버 및 클라이언트 장치간에 전송하도록 한 기술을 기재하고 있다. 클라이언트 장치의 데이터 디스플레이는 터치 스크린를 구비할 수 있으며, 클라이언트 장치의 트랜잭션 애플리케이션 운영체제과 연계하여 수행될 트랜잭션을 요청하기 위해, 폼, 메뉴, 리포트, 리스트 등의 테이블 정보의 디스플레이를 추가할 수 있다.
원격 서비스 담당부 또는 파일 서버와 통신하기 위한 표준 운영체제의 요구조건과 같은 종래의 포인트-오브-엔트리 시스템의 고유한 제한사항들을 갖지 않는 데이터 엔트리 시스템이 바람직하다. 데이터 엔트리 장치가 간소하고 저가로 구성되도록 데이터 엔트리 장치측에서 최소량의 처리를 수행하도록 함으로써, 이러한 장치의 가격을 대부분의 상업용 또는 개인용으로 적합한 가격대로 하는 데이터 엔트리 및 디스플레이 장치와 그 관련 시스템이 바람직하다. 또한, 이러한 데이터 엔트리 장치는, 각 기능을 구현하기 위해 복수의 애플리케이션 프로그램이나 로컬 운영체제 프로그램을 필요로 하지 않고도 광범위한 기능을 제공하는 것이 바람직하다. 또한, 이러한 시스템은 강인한 데이터 전송을 위한 보안 기술을 구현하는 것이 바람직하다. 또한, 이러한 시스템은 로그온이나 시스템과의 세션의 다른 개시후 사용자의 위치를 파악한 다음 사용자에게 트랜잭션 데이터를 푸시할 수 있는 것이 바람직하다. 본 발명은 이러한 필요성에 부합하도록 설계되었다.
<발명의 개요>
레이저 또는 기타 네트워크 전송을 통해 유선 또는 무선 통신을 수행하는 클라이언트 컴퓨터 시스템이 제공된다. 이 시스템에서는 건강, 재정, 데스크탑 애플리케이션, 보안, 인증, 비디오 메일, 또는 노트 메일 등의 서비스를 제공하는데 사용될 수 있는 데이터, 메뉴, 폼, 테이블, 애플리케이션, 오디오, 비디오, 그래픽 또는 이들의 조합물 등의 메시지가 전송되며, 이 시스템은 임의의 소스로부터 생성되거나 임의의 소스 내에 저장된 처리 정보, 메시지 또는 메시지의 조합물을 전송 하는데 이용될 수 있다.
본 발명에 따른 시스템에서는 전술한 종래기술의 문제점을 해소하기 위하여, 클라이언트 장치가 폼-구동 운영체제를 구비하는 클라이언트 컴퓨터 시스템을 제공한다. 폼-구동 운영체제는, 메뉴선택을 통하여 사용자를 원하는 템플릿(template)으로 안내하는 트랜잭션 어셈블리(애플리케이션) 서버(TAS, Transaction Assembly Server)가 될 수 있으며, 사용자의 선택시에 메뉴 및 템플릿이 플래시 메모리 내에 데이터 스트림으로 저장되어 TAS의 펌웨어(firmware)에 의해 호출되도록 할 수도 있다. 또한, TAS의 펌웨어는 폼-구동 운영체제의 기능을 수행하기 위한 소프트웨어, 하드웨어에 로딩된 소프트웨어, 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 구현할 수 있다. 일반적으로, 메뉴는 특수한 유형의 템플릿 또는 폼으로서 취급된다. 플래시 메모리 내에 저장된 템플릿은 오프라인으로 생성되어 트랜젝션 엔트리 장치의 플래시 메모리에 직접 접속하거나 또는 모뎀을 통하여 다운로드된 새로운 데이터 세트를 읽어들임으로써 특정 애플리케이션의 처리를 위해 언제든지 갱신될 수 있다. 또는, 데이터를 RS-232 입력부로 다운로드할 수도 있다. 동일한 접속방식을 사용하여 원격 데이터베이스로부터의 자동 판독 또는 원격 데이터베이스로의 자동기입을 제공하는데 이용할 수도 있다. 새로운 애플리케이션은, 새로운 애플리케이션에 필요한 템플릿을 포함하고 있는 추가 플래시 메모리 앨리먼트를 단순히 추가하거나, 새로운 템플릿을 기존 플래시 메모리로 다운로드함으로써, 추가될 수 있다.
본 발명에 따른 트랜잭션 데이터의 저장을 위한 클라이언트 장치 및 관련 시스템에 있어서는, 각종 애플리케이션 프로그램의 실행에 로컬 운영체제를 필요로 하지 않고도, 사용자와 데이터베이스를 분리하고 있으며, 트랜잭션 데이터의 입력(enter)에 있어서 간단한 사용자에 친숙한 방식을 제공한다는 점이 독특하다. 모든 데이터가 특정 애플리케이션을 위해 맞춰진 템플릿에 의해 결정된 데이터 트랜잭션으로서 입력(enter)되므로, 사용자 애플리케이션은 정형화되어 새로운 애플리케이션의 추가시에 특유한 사용자 애플리케이션 프로그램을 기입할 필요가 없다. 그러나, 코드가 필요하거나 데이터 트랜잭션 내에 멀티미디어 엘리먼트가 포함된 경우에는, 데이터 트랜잭션을 구성하는 데이터 스트림 내에 추가 파라미터 스트림이 데이터 트랜잭션에 첨부될 수도 있다. 또한, 특정 애플리케이션에 대한 템플릿의 각 필드에 있는 데이터의 종류는 미리 알고 있기 때문에, 데이터베이스 서버로의 인터페이스가 데이터 트랜잭션의 저장을 허가하는 것이나 각 데이터베이스에 대해 그 콤포넌트 파트들이 적절한 데이터베이스내에 적절한 포맷으로 되어 있는가는 중요하지 않게 된다. 또한, 공지의 각종 보안 및 인증 기술이 본 발명의 시스템 컴포넌트 및 시스템의 클라이언트 장치의 사용자들에 적용될 수도 있다.
본 발명의 제1 실시예에 따르면, 본 발명은 개인적인 트랜잭션 뿐만 아니라 회사 내에서 발생할 수 있는 임의의 트랜잭션의 모든 사항을 사용자가 구성(organize) 및 제어할 수 있도록 하는 트랜잭션 엔트리 장치를 포함한다. 간단히 말해서, 트랜잭션 엔트리 장치는 입력 데이터를 해당 데이터가 속하는 애플리케이션의 유형에 따른 콘텐츠를 갖는 데이터 트랜잭션으로 포맷한다. 그 후, 이들 데이터 트랜잭션을 로컬 또는 원격 데이터베이스 서버에 전송하여, 서버에서 각 데이터 트랜잭션을 그 콤포넌트 파트들로 "전개"(explode)시킴으로써 그 콤포넌트 파트들 내의 데이터가 속하는 데이터를 포함하고 있는 모든 데이터베이스를 갱신한다. 이러한 "트랜잭션 엔트리 모드"에서, 본 발명에 따른 트랜잭션 엔트리 장치는 다목적 워크스테이션으로서 기능한다. 그러나, 데이터 트랜잭션이 운영체제가나 애플리케이션 프로그램을 사용하지 않고 생성되므로, 트랜잭션 엔트리 장치는 매우 간소하고 저렴하게 되며, 커스터머(customer) 데스크톱 전화 또는 휴대전화에 손쉽게 결합될 수도 있다.
전술한 제1 실시예에서는, 본 발명은 컴퓨터 기술과 전화 기술을 결합하여 트랜잭션의 개시 시점(point)에서 트랜잭션 데이터가 캡쳐되도록 한다. 트랜잭션 엔트리 장치를 통상의 전화에 결합하여 구성함으로써 전화 모드에서는 일반 전화로서 작동하고 트랜잭션 엔트리 모드에서는 트랜잭션 엔트리 장치로서 동작하도록 하고 있다. 전화 모드시에는 통상의 방식과 동일하게 전화가 동작한다. 그러나, 트랜잭션 엔트리 모드시에는 트랜잭션 엔트리 장치는 마이크로 프로세서에 의해 구동되고, 마이크로 프로세서는 플래시 PROM 내에 저장된 데이터 스트림으로 구성된 운영체제 독립 트랜잭션 어셈블리(또는 어플리케이션) 서버(TAS)에 의해 구동된다. TAS는 트랜잭션 엔트리 장치의 하드웨어와의 관계에 있어 절대적으로 독립적(self-contained)이며, 일반적으로 다음의 2가지 기본적인 기능 - (1) 데이터 스트림으로부터 템플릿 또는 폼 생성, (2) 데이터 트랜잭션을 템플릿 또는 폼 내의 프롬프트(prompt)에 응답하여 사용자 입력 데이터로서 가공(develop) - 을 수행한다. 템플릿은 로컬 플래시 메모리로부터 판독되거나 또는 데이터베이스 파일 서버 등의 외부 소스로부터 직접 전송된 일련의 데이터 스트림이다. TAS 펌웨어는 또한 폼-구동 운영체제의 기능을 수행하기 위해 소프트웨어, 하드웨어에 로딩된 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
동작중에, 템플릿 내의 프롬프트에 응답하여 사용자에 의해 입력(enter)된 데이터는 데이터 트랜잭션에 축적된 다음 바로 외부 데이터베이스 서버로 전송된다. 전형적인 종래의 시스템과 달리, 데이터 트랜잭션이 일단 완료되고 나면, 데이터 트랜잭션이 로컬 마이크로프로세서의 처리를 위해 국부적으로 저장되지 않는다. 반대로, 트랜잭션 엔트리 장치에는 트랜잭션 어셈블리 서버(TAS) 펌웨어를 저장하기 위한 플래시 PROM, 폼을 완성하기 위해 TAS 펌웨어에 의해 사용된 데이터 스트림과 원격 데이터베이스 서버를 위한 모뎀 번호를 저장하기 위한 플래시 메모리, 템플릿의 데이터 스트림과 데이터 트랜잭션의 어셈블리 도중에 템플릿 내의 프롬프트에 대한 사용자 응답을 저장하기 위한 입/출력 트랜잭션 버퍼로서 동작하는 소형 RAM이 필요하다. 트랜잭션 버퍼는 모든 데이터 트랜잭션이 완료될 때까지 폼을 저장하기만 하면 되므로, 그 크기는 최대 데이터 트랜잭션의 크기이면 된다. 이러한 의미로, 트랜잭션 엔트리 장치는 트랜잭션이 처리 및 저장을 위해 외부 데이터베이스로의 전송 준비가 완료될 때까지 특정 트랜잭션에 대한 어셈블리 지점의 역할을 한다.
트랜잭션 엔트리 장치에 의해 형성된 데이터 트랜잭션은 처리 및 저장을 위해 모뎀을 통하여 로컬 또는 원격 데이터베이스로 전송된다. 데이터 트랜잭션은 애플리케이션에 따른 데이터베이스 서버에서 표준 프로토콜을 통해 수신되어, 전체 데이터 트랜잭션을 저장하고, 이어서 저장되는 보조 레코드를 생성하기 위해 데이터 트랜잭션을 전개(explode)하고, 및/또는 데이터 트랜잭션 또는 보조 레코드 중의 전부 또는 일부를 그 데이터베이스 서버와 연관된 다른 데이터베이스를 갱신하기 위한 다른 데이터베이스 서버에 포워드한다. 또한, 트랜잭션 엔트리 장치로부터의 요청에 응답하여, 어떤 데이터베이스 서버에서는 데이터 스트림을 트랜잭션 엔트리 장치로 돌려 보내어, 데이터 트랜잭션 내의 필드를 완성하거나 선택을 위한 새로운 메뉴 또는 폼을 디스플레이하는데 사용할 수도 있다.
따라서, 본 발명의 제1 실시예에 따른 데이터 트랜잭션 시스템은 적어도 3개의 계층(tier) - 파일 구조에 대해 일대다(one-to-many) 대응 관계를 갖는 사용자로부터의 데이터 트랜잭션을 캡쳐하기 위한 제1 계층; 데이터 트랜잭션을 시스템-지정 기준에 따라 그 콤포넌트 파트로 전개(explode)하여 각 콤포넌트 파트가 파일에 대해 일대일 대응 관계를 갖도록 하는 제2 계층; 및 데이터 트랜잭션을 애플리케이션-지정 기준에 따라 추가 전개하여 각 애플리케이션이 자체적인 데이터 트랜잭션 세트를 갖도록 하는 제3 계층 - 을 포함한다.
바람직하게는, 본 발명에 따른 트랜잭션 엔트리 장치는 통상의 전화와 유사하나, 통상의 숫자 및 기능 키패드 입력부와 별도로 데이터 엔트리를 위한 옵션 키보드와 터치 스크린을 포함한다는 점이 상이하다. 전화 핸드셋 또는 헤드셋은 옵션이며, 마이크 및 스피커로 대체할 수도 있다. 본 발명에 따른 트랜잭션 엔트리 장치는 무선(RF) 수신기, 마그네틱 카드 및/또는 스마트카드 판독기, 비디오 카메라 및 비디오 디스플레이, 적외선 제어기 등의 다른 옵션을 수용하기 위한 기타 입/출력부 및 RS-232을 포함한다. 전화는 바람직하게 통상의 터치톤 기능뿐만 아니라, 모바일 및 셀룰러 옵션을 갖는다. 바람직하게는, 트랜잭션 엔트리 장치는, Intel 80386SX 이상의 마이크로프로세서와, 템플릿용의 데이터 스트림을 동적으로 저장하기 위한 1MB 플래시 메모리와, TAS 펌웨어를 저장하기 위한 1MB 플래시 PROM과, 템플릿의 데이터 스트림 및 데이터 트랜잭션의 완료까지의 사용자 응답을 저장하기 위한 입/출력 트랜잭션 버퍼로서 동작하는 128kB RAM을 내장하고 있다. 또한, 그래픽 디스플레이 스크린을 추가로 구비하여 데이터 트랜잭션을 구성하게 되는 데이터의 엔트리를 위해 사용자에게 템플릿을 디스플레이할 수도 있다. 바람직하게는, 그래픽 디스플레이 스크린은 데스크탑용으로는 24라인 40문자이고, 셀룰러용으로는 12라인 40문자 정도이다.
다른 구현예에서, 본 발명의 제1 실시예는 트랜잭션 엔트리 장치의 메뉴로부터 선택되어 원격 전화 메일 시스템의 음성 메일 메뉴에 대응하는 "시작적(visible)" 메뉴를 생성하는 프로세스를 포함한다. 이 프로세스가 선택되는 경우, 전화 또는 모뎀 인터페이스는 원격 전화 메일 시스템에 전화 접속하여 접속이 이뤄지면, 데이터 트랜잭션 어셈블러가 원격 전화 메일 시스템에 전화 접속을 통하여 원격 전화 메일 시스템의 전화 메일 메뉴를 가시화 표시하도록 하는 데이터 요청을 전송한다. 그러면, 원격 전화 메일 시스템으로부터의 전화 메일 메뉴의 가시화 표시를 포함하는 데이터 스트림은 전화 접속을 통하여 반송되고, 트랜잭션 엔트리 장치(12)의 디스플레이 스크린에 표시하기 위해 트랜잭션 엔트리 장치의 메모리에 저장된다. "가시" 음성 메일 메뉴로부터 원하는 전화 메일 메뉴 옵션이 선택된 경우, 데이터 트랜잭션 어셈블러는 어떤 메뉴 항목을 선택했는지를 나타내는 데이터 트랜잭션을 생성하여 전화 접속을 통해 원격 전화 메일 시스템에 전송한다. 그러면, 원격 전화 메일 시스템은 그 메뉴 선택에 기초하여 저장 및 디스플레이를 위해 전화 접속을 통하여 다음 전화 메일 메뉴의 가시화 표시를 포함하는 데이터 스트림을 반송한다. 이 프로세스는 발신측(calling party)이 메시지를 남기거나 수신측(called party)과 통화가 이루어질 때까지 반복하여 수행된다.
본 발명의 제2 실시예에서는, 폼-구동 운영체제, 프리젠테이션 관리자, 입력장치 및 출력장치 뿐만 아니라 리포트, 메뉴, 폼, 메시지, 리스트 및 기타 데이터의 생성을 보조하고 태스크(task)를 실행하는 기타 애플리케이션을 갖는 클라이언트 장치를 갖는다. 애플리케이션은 폼, 메뉴, 리포트 및 기타 데이터의 저장을 위해 데이터베이스와 통신할 수도 있다. 클라이언트 장치, 기타 애플리케이션 및 데이터베이스와의 트랜잭션 데이터의 송신 및 수신을 위해, 광역 동작 시스템 서버(BOSS; Broad Operation System Server) 소프트웨어의 제어를 받는 복수개의 컴퓨터가 제공된다. 로케이터 서버 컴퓨터는 사용자 및 클라이언트 장치의 식별 및 위치결정에 사용하기 위한 IP 어드레스 번호, PSTN 번호 및 기타 네트워크 식별정보를 검색하는 기능을 수행한다. 강인한 저장소에 따른 강인한 인증 구조의 강인한 보안 시스템은 민감성 또는 신뢰성 데이터의 전송을 방지한다.
본 발명의 폼-구동 클라이언트 컴퓨터 시스템을 하기의 첨부 도면을 참조하여 더욱 상세히 설명하기로 한다.
삭제
도 1은 본 발명의 제1 실시예에 따른 데이터 트랜잭션을 데이터베이스에 입력하기 위한 시스템의 개략도.
도 2는 본 발명의 제1 실시예에 따른 데이터 트랜잭션을 생성하는데 사용되는 템플릿의 개요도.
도 3은 데이터 트랜잭션의 "전개"(explode)한 양상을 나타낸 것으로서, 데이터 트랜잭션의 콤포넌트 파트들이 데이터베이스 및 파일에 기초하여 적소에 저장된다.
도 4는 도 1에 나타낸 시스템과 관련하여 도 3의 트랜잭션의 "전개" 양상을 나타낸 도면.
도 5a 및 도 5b는 본 발명의 제1 실시예에 따른 트랜잭션 엔트리 장치의 바람직한 실시예를 나타낸 도면.
도 6은 도 5a 및 도 5b에 나타낸 트랜잭션 엔트리 장치의 전기적 구성도를 개략적으로 나타낸 도면.
도 7은 본 발명에 따른 메뉴에 기초한 트랜잭션 어셈블리(애플리케이션) 서버(TAS)의 흐름도.
도 8은 본 발명에 따른 데이터 트랜잭션을 수행하는데 사용되는 폼을 처리(process)하는 기술을 설명하기 위한 흐름도.
도 9a 및 도 9b는 본 발명에 따른 데이터 트랜잭션을 완성(complete) 및 편집(edit)하는 기술을 설명하기 위한 흐름도.
도 10은 트랜잭션 어셈블리(애플리케이션) 서버(TAS)에서 각 데이터 트랜잭션의 필드 검증 방법을 설명하기 위한 흐름도.
도 11a는 본 발명의 제2 실시예를 구현한 폼-구동 컴퓨터 시스템을 개략적으로 설명하기 위한 블록도.
도 11b는 본 발명의 제2 실시예와 관련하여 사용하기 위한 장치의 시스템 세트의 예를 개략적으로 나타낸 블록도.
도 12는 본 발명의 제2 실시예에 따른 광역 운영체제 서버(BOSS) 소프트웨어의 기능을 설명하기 위한 블록도.
도 13a 내지 도 13c는 본 발명의 제2 실시예에 따른 트랜잭션 애플리케이션 서버(TAS)와 프리젠테이션 관리자(PM)를 구비하는 클라이언트 컴퓨터와 BOSS 소프트웨어 제어 컴퓨터 사이의 통신예를 나타낸 흐름도.
도 14a 및 도 14b는 본 발명의 제2 실시예에 따른 SuperBOSS/로케이터와 BOSS 소프트웨어 제어 컴퓨터 사이의 통신예를 나타낸 흐름도.
도 15는 본 발명의 제2 실시예에 따른 도 13a 내지 도 13c에 나타낸 통신예를 결합하여 나타낸 흐름도.
도 16은 본 발명의 제2 실시예에 따른 도 14a 및 도 14b에 나타낸 통신예를 결합하여 나타낸 흐름도.
도 17은 본 발명의 제2 실시예에 따른 도 15 및 도 16에 나타낸 통신예를 결합하여 나타낸 흐름도.
상술한 목적들을 충족시키고 본 발명의 바람직한 예시적 실시예들에 따르는 다른 유익한 특징들을 제공하는 시스템 및 방법이 도 1 내지 7을 참조하여 아래에 기술된다. 본 기술분야에 숙달된 자들은 이러한 도면들을 참조하여 본 명세서에 제공된 기술이 단지 설명을을 위한 것이며, 본 발명의 범위를 한정하도록 의도된 것은 아니라는 것을 쉽게 이해할 것이다. 예를 들면, 본 기술분야에서 숙달된 자라면, 본 발명에 따라서 원격 데이터베이스로 데이터 트랜잭션을 입력하기 위한 전화/트랜잭션 엔트리 장치 및 시스템이 수많은 애플리케이션들에서 수많은 세팅들에 사용될 수 있고, 게다가 다른 데이터 엔트리 장치들이 이용될 수 있으며, 또한 본 발명의 폼-구동(form-driven) 운영체제가 하드웨어, 소프트웨어 또는 양자들의 조합으로 구현될 수 있다는 것을 이해할 것이다. 따라서, 본 발명의 범위에 관한 모든 의문점은 청구의 범위를 참조함으로써 해소될 수 있다.
1. 개요
본 발명의 시스템은 데이터 트랜잭션과 연관된 데이터의 자동 캡처 및 컴퓨터화(computerization)를 제공한다. 본 명세서에 사용되는 바와 같이, 데이터 트랜잭션은 폼 또는 템플릿 또는 폼 또는 템플릿의 시리즈의 조합 또는 데이터 엔트리 프롬프트 및 이러한 프롬프트에 응답하여 입력된 데이터를 포함하는 다른 테이블 정보(tabular information)이다. 본 명세서에서 후술되는 전체에 걸쳐, "폼(form)" 및 "템플릿(template)"이라는 용어는 상호 교환 가능하게 사용될 것이다. 배경기술에서 언급한 바와 같이, 본 발명의 시스템은 종래의 보다 복잡한 운영체제의 낡은 개념을 배제하고 트랜잭션, 폼, 리포트, 메시지, 테이블 정보 등을 위한 운영체제를 전반적으로 고찰한다.
데이터 트랜잭션은 사용자 및 폼간의 쌍방향 프로세스를 통하여 트랜잭션 엔트리 장치에 의해 생성된다. 데이터 트랜잭션은 데이터 트랜잭션 엔트리 장치의 트랜잭션 버퍼에서 어셈블링된다. 데이터 트랜잭션의 어떤 로컬 스토리지도 필요치 않다. 데이터 트랜잭션은 특정 애플리케이션과 관련된 데이터를 포함하는 데이터베이스를 갱신하는데 필요한 데이터의 엔트리를 청구(soliciting)하기 위해 모든 애플리케이션이 주문생산(customizing)된 폼 및 프롬프트의 시리즈로 구성되는 데이터베이스에 의해 외부적으로 정의된다. 통상적으로, 데이터 트랜잭션은 그 애플리케이션용 데이터를 포함하는 데이터베이스의 파일 구조에 대해 일대다의 대응관계를 가질 것이다.
본 발명의 제1 실시예에 있어서, 예컨대, 데이터 트랜잭션은 트랜잭션 엔트리 장치를 사용하여 입력된다. 바람직하게는, 트랜잭션 엔트리 장치는 전화 기기와 통합되어, 결과적으로, 종래의 전화 또는 데이터 트랜잭션 엔트리 장치로서 선택적으로 동작할 수 있다. 바람직하게는 결과의 트랜잭션 엔트리 장치는, 사용자에 의해 완성되는 메뉴 및 폼을 통해 선택 옵션을 교대로 나타내는 트랜잭션 어셈블리 (애플리케이션) 서버(TAS; transaction assembly (application) server)에 입력을 제공하는 터치 스크린 및/또는 키보드를 포함한다. 상술한 바와 같이, TAS 펌웨어는 또한 폼-구동 운영체제의 기능들을 행하기 위해 소프트웨어, 하드웨어에 로딩된 소프트웨어, 하드웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 메뉴 및 폼 선택, 및 폼 완성은 터치함으로써, 키보드의 키를 선택함으로써, 적당한 선택 포인트로 커서를 움직여 키를 누름으로써, 또는 음성 명령만으로도 이루어질 수 있다. (단순한 선택과는 달리) 데이터 엔트리가 요구될 때마다, 메뉴 구동 선택 프로세스를 통해 및/또는 키보드, 키패드, 터치 스크린 등을 사용하는 직접적인 데이터 엔트리에 의해 달성된다. 메뉴 구동의 경우에, 옵션들의 세트가 TAS 펌웨어에 의해 디스플레이 스크린에 표시된다. 이러한 옵션들의 세트가 디스플레이 스크린의 용량을 초과하는 경우에는, 리스트는 장치의 스크롤 키를 사용함으로써, 음성 명령에 의해, 또는 스크롤 명령 포인트에 터치함으로써 스크롤 업 또는 다운된다. 일단 선택이 이루어지면, 그 선택과 연관된 데이터는 로컬 또는 원격 데이터베이스로부터 폼으로 자동적으로 입력되거나, 또는 데이터가 사용자에 의해 입력된다. 키보드 엔트리의 경우에, TAS 펌웨어는 터치 엔트리에 대해 디스플레이 스크린의 맨 아래에 키보드를 표시할 수 있다; 대안으로, 트랜잭션 엔트리 장치의 베이스에 위치한 옵션적인 키보드가 사용될 수 있다.
데이터가 섹션 처리와는 무관하게 입력될 때, 이러한 데이터는 데이터가 스와이프 카드(swipe card) 상에 존재하면 스와이프를 사용하여 입력될 수도 있고, 또는 외부 소스로부터 모뎀을 통하여 데이터 트랜잭션으로 전송될 수도 있다. 스와이프 카드로부터 판독된 데이터는 폼을 채우는데 사용될 수도 있고, 또는 외부 데이터베이스 또는 컴퓨터로 송신될 수도 있다. 또한 모뎀을 통하여 외부 데이터베이스 또는 컴퓨터로부터 반환된 데이터는 폼의 필드를 메우는 데도 사용될 수 있다. 소망되는 바와 같이, 데이터 트랜잭션의 데이터는 또한 스와이프 카드 또는 메모리 카드 등에 기록될 수도 있다.
본 발명의 TAS 펌웨어는 데이터 트랜잭션의 생성시에 템플릿을 사용하기 위해 프로세서용 제어 프로그램(마이크로코드) 뿐만 아니라 옵션들을 저장할 수 있다. 또한 TAS 펌웨어는 하나 이상의 외부 컴퓨터 및 데이터베이스에 모뎀을 통한 접속을 가능하게 하는 프로그램을 포함할 수 있다. 바람직하게는, (모뎀 접속의 유무) 트랜잭션 엔트리 모드 및 전화 모드 동작에 대한 두가지 모드가 사용가능하다. 트랜잭션 엔트리 모드 또는 전화 모드 중 어느 하나에 대한 선택은 트랜잭션 엔트리 장치 상의 스위치 선택을 통하여 이루어진다. 트랜잭션 엔트리 장치가 트랜잭션 엔트리 모드에 위치할 때, TAS 펌웨어는 즉시 시스템이 처리를 위해 프로그래밍되어 있는 모든 옵션들에 대한 선택 메뉴를 표시한다. 한편 전화 모드에서는, 다이얼 톤이 제공되고, 전화 키패드가 인에이블된다. 전화 모드에서, 모뎀 접속을 방해하지 않고 트랜잭션 엔트리 장치의 동시 사용을 가능하게 하기 위하여 하나 이상의 회선이 접속될 수 있다. 그러나, 단일 전화 회선이 사용되는 경우에, 전화 기능은 특정 애플리케이션이 지정하는 바에 따라서 모뎀을 통하여 항상 또는 간헐적으로 사용가능하다. 간헐 모드(intermittent mode)에서, "세이브(save)" 시에 트랜잭션 엔트리 장치는 다어얼 업 및 원격 데이터베이스 서버로의 데이터 전송을 제어할 것이다. 다른 한편, 전화가 전화 리스트를 이용한 다이얼러 메카니즘에 이용되는 경우, 트랜잭션 엔트리 장치는 전화 모드에서 트랜잭션 엔트리 모드로 자동으로 변경될 수 있다. 이 경우에, 전화상의 디스플레이는 후술되는 메뉴 선택 기술들에 따라서 이루어 질 수 있는 선택에서의 전화 리스트 및 이름을 표시하는데 사용될 수 있다.
2. 데이터 트랜잭션 시스템(도 1 내지 도 4) - 제1 실시예
도 1은 본 발명의 제1 실시예에 따라 데이터 트랜잭션을 데이터베이스에 입력하는 시스템(10)의 개략도이다. 도시된 바와 같이, 시스템(10)은 파일 구조와 일대다의 관계를 갖는 데이터 트랜잭션을 캡처하는 제1 계층(tier), 파일 구조와 일대일 관계를 갖는 콤포넌트 파트에 데이터 트랜잭션을 전개(exploding)하는 제2 계층, 및 지정 애플리케이션에 데이터 트랜잭션의 부가 전개(explosion)를 제공하는 제3 계층을 포함한다.
제1 계층은 사용자로부터의 복수 입력 중 임의의 것에 응답하여 사용자로부터의 데이터 트랜잭션을 캡처하는 트랜잭션 엔트리 장치(12)를 포함한다. 트랜잭션 엔트리 장치(12)는 본 발명에 따라서 데이터 트랜잭션을 생성하기 위해 종래의 전화 기기(14), 스피커(16), 및 트랜잭션 어셈블러(18)를 포함한다. 바람직하게는 디스플레이 스크린(20)이 데이터 트랜잭션 어셈블러(18)와 연관되어, 사용자가 각 데이터 트랜잭션의 생성을 모니터링할 수 있다. 전화 기기(14)는 종래의 전화 회선을 통한 음성 접속(24)에 의해 전화 스위칭 네트워크(22)에 접속되고, 데이터 트랜잭션 어셈블러(18)는 전화 회선(26)을 통하여 하나 이상의 데이터베이스 서버(28)에 접속된다. 도 1에 도시된 바와 같이, 전화 회선(24 및 26)은 분리된 회선일 수 있고, 이에 의하여 전화 및 데이터 엔트리 기능의 동시 사용을 가능하게 할 수 있고, 또는 전화 기기(14)와 데이터 트랜잭션 어셈블러(18)가 도 1에 점선으로 도시된 바와 같이, 단일 회선으로 접속될 수 있다. 물론, 전화 기기(14)와 데이터 트랜잭션 어셈블러(18)가 단일 회선으로 접속될 때, 모드 스위치는 그것들의 상호 배타적인 오퍼레이션을 인에이블하거나, 또는 대안으로, 많은 종래의 전송 스킴들 중 임의의 스킴이 동일 회선을 통해 데이터 트랜잭션 어셈블러(18)로부터의 데이터 및 전화 기기(14)로부터의 음성에 대한 동시 송신을 가능하게 하는데 사용될 수 있다.
트랜잭션 엔트리 모드에서의 오퍼레이션 동안에, 트랜잭션 엔트리 장치(12)는 터치 스크린, 전화 키패드, 키보드, 마이크로폰, 스와이프 카드, 메모리 카드, 비디오 입력 등의 사용자 입력 장치에 응답하고, 데이터 트랜잭션 어셈블러(18)를 사용하여 데이터 트랜잭션을 형성(forming)할 수 있다. 대안으로, 트랜잭션 엔트리 장치는 종래의 전화로서 전화 모드에서 동작하고, 마이크로폰 및/또는 핸드셋, 터치 톤 키패드 등으로부터 입력을 수신한다. 트랜잭션 엔트리 장치(12) 및 데이터 트랜잭션 어셈블러(18)에 대해 보다 상세한 기술은 도 5 내지 도 10과 관련하여 다음 섹션에서 제공될 것이다.
제2 계층은 하나 이상의 데이터 서버(28) 및 이것과 관련된 데이터베이스(30)를 포함한다. 통상적으로, 각 데이터베이스 서버(28)는 하나 이상의 트랜잭션 엔트리 장치(12)로부터 데이터 트랜잭션을 수신하고, 그 수신된 데이터 트랜잭션을 관련 데이터베이스(30)의 적절한 파일에 저장하기 위해 그것들의 콤포넌트 파트로 전개한다. 즉, 하나 이상의 트랜잭션 엔트리 장치(12)로부터의 데이터 트랜잭션의 일대다 파일 구조는 데이터베이스(30)에서 개개의 파일로의 저장을 위해 많은 일대일 데이터 트랜잭션으로 변환된다.
각 데이터베이스 서버(28)는 전화 회선(26)으로부터 데이터, 특히 하나 이상의 트랜잭션 엔트리 장치(12)로부터 데이터 트랜잭션을 송/수신하기 위한 모뎀(32)을 포함한다. 바람직하게는, 데이터 트랜잭션이 예컨대, 128바이트 - 120바이트는 정보를 포함하고 8바이트가 제어 데이터를 포함함 - 를 갖는 데이터 패킷으로 전화 회선(26)을 통해 송신된다. 트랜잭션 큐(queue)(34)는 수신된 데이터 트랜잭션에 대해 입력 버퍼로서 동작하고, 트랜잭션 제어기(36)로의 데이터 트랜잭션의 프리젠테이션 속도를 제어한다. 트랜잭션 제어기(36)는 수신된 데이터 트랜잭션을 처리하여, 데이터 트랜잭션의 콤포넌트 파트의 물리적인 파일 관계를 추출하고, 콤포넌트 파트 및 그것의 다른 조합을 관련된 데이터베이스(30)의 적절한 파일에 저장한다. 대안으로, 트랜잭션 제어기(36)는 트랜잭션 엔트리 장치(12)에 의해 처리되고 있는 데이터 트랜잭션의 임의의 필드를 완성하기 위해 데이터베이스(30)로부터 정보를 요구하는 데이터 트랜잭션 어셈블러(18)로부터 데이터 요구를 처리한다. 이어서 데이터베이스(30)는 요구된 정보를 데이터베이스 서버(28)에 제공하고, 데이터베이스 서버(28)는 본 발명에 따라서 부가적인 메뉴 및 폼을 표시하거나 데이터 트랜잭션을 완성하는데 사용하기 위해 데이터 트랜잭션 어셈블러(18)에 데이터 스트림을 반환한다. 통상적으로, 사용자 ID 및 비밀번호는 트랜잭션 제어기(36)로 송신되어 데이터 트랜잭션 어셈블러(18)에 의해 접속이 이루어는 것을 가능하게 한다. 따라서, 또한 트랜잭션 제어기(36)는 본 명세서에서 기술된 바와 같이 재구성된 데이터 트랜잭션을 지시하고 데이터 트랜잭션을 저장하는 것과 더불어 개시 및 로그오프 정보를 조사하고 저장한다. 또한, 데이터베이스 서버(28)는 음성 메시지를 저장하기 위해 관련 데이터베이스를 갖는 종래 전화 메일 시스템을 포함할 수 있다. 이 경우에, 데이터 트랜잭션은 원격 음성 메일 시스템에 저장되는 음성 데이터를 포함할 수 있다.
도 1에 도시된 바와 같이, 몇몇 데이터베이스 서버(28)가 제공될 수 있다. 바람직하게는, 데이터 트랜잭션이 도 1에 도시된 바와 같이 적어도 하나의 다른 데이터베이스 서버(28)로 복사되는 것이 좋지만, 각 트랜잭션 엔트리 장치(12)가 그 데이터 트랜잭션에 대한 임의의 요구된 처리를 수행하기 위해 관련 데이터베이스 서버(28)를 갖는다. 이러한 리던던시(redundancy)는 전력 중단 등의 경우에 데이터 손실율을 감소시킨다. 설명을 용이하게 하기 위해, 비록 모뎀(32), 트랜잭션 큐(34), 및 트랜잭션 제어기(36)를 모든 데이터베이스 서버(28)에 도시하지는 못했지만, 바람직하게는, 각 데이터베이스 서버(28)가 본질적으로 동일 하드웨어를 포함한다.
트랜잭션 엔트리 모드에서, 트랜잭션 엔트리 장치(12)의 데이터 트랜잭션 어셈블러(18)가 연관 데이터베이스 서버(28)의 관련 트랜잭션 제어기(36)로 송신되는 데이터 트랜잭션을 생성한다. "연관(associated)"이라는 것은 데이터베이스 서버(28)가 특정 트랜잭션 엔트리 장치(12)로부터의 데이터 트랜잭션의 저장과 관련하여 요구되는 또는 필수적인 임의의 처리를 수행하도록 기능하는 것을 의미한다. 물론, 특정 데이터베이스 서버(28)는 그것과 연관된 몇몇 트랜잭션 엔트리 장치(12)를 가질 수 있다. 특정 데이터베이스 서버(28)는 임의의 데이터베이스 서버(28)가 실패하는 경우에도 다른 데이터베이스 서버(28)에 대한 백업으로서 역할을 할 수 있어, 어떤 데이터도 손실되지 않을 것이다.
도 2 내지 도 4와 관련하여 이하에 보다 상세히 설명되는 바와 같이, 데이터 서버(28)는 데이터 트랜잭션 어셈블러(18)로부터 수신된 데이터 트랜잭션을 "전개"하고, 다른 데이터베이스를 갱신할 필요가 있을 때 다른 데이터베이스 서버(28)에 모뎀을 통하여 "전개된" 파일 종속 데이터 트랜잭션의 콤포넌트 파트를 제공한다. 대안으로, 도 1에 점선으로 도시된 바와 같이, 데이터 트랜잭션의 "전개"는 그 데이터를 갱신하기 위해, 모든 적절한 데이터베이스(28)에 송신된 콤포넌트 파트 및 트랜잭션 엔트리 장치(12)에서 데이터 트랜잭션 어셈블러(18)에 의해 수행될 수 있다. 이러한 목적을 위하여, 데이터 트랜잭션 어셈블러(18)는 전개된 데이터 트랜잭션에 의해 갱신될 모든 데이터베이스 서버(28)에게 모뎀 수를 공지하는 것도 또한 필요할 것이다. 그러나, 본 기술분야에서 숙달된 자들은 이러한 후자의 대안이 트랜잭션 엔트리 장치에 의한 수많은 전화 회선으로의 액세스를 요구하고 이러한 전화 회선이 항상 사용자에게 사용가능하지 않다는 것을 이해할 것이다.
마지막으로, 시스템(10)의 제3 계층은 지정 애플리케이션용 파일 종속 데이터 트랜잭션을 지원하는 데이터베이스 서버(38) 및 데이터베이스(40)를 포함한다. 이러한 부가적인 데이터베이스 서버(38) 및 데이터베이스(40)의 계층은 애플리케이션 지정 데이터의 저장을 위해 데이터 트랜잭션에서의 데이터가 애플리케이션 지정 데이터베이스로 라우팅되고, 그 특정 애플리케이션에 관련된 데이터를 요청하는 그것들의 트랜잭션 엔트리 장치(12)에 의해 액세스하는 것을 가능하게 한다.
본 발명의 제1 실시예에 따르는 데이터 트랜잭션의 생성 및 저장은 도 2 내지 도 4를 참조하여 이하에 기술된다.
데이터 트랜잭션은 공지된 포맷의 데이터 스트림으로서 데이터 트랜잭션 어셈블러(18)에 의해 생성된다. 일반적인 데이터 트랜잭션이 도 2에 도시된다. 본 명세서에서 정의되는 바와 같이, 데이터 트랜잭션은 명령, 프롬프트, 메뉴 선택 옵션 및 데이터 엔트리에 대한 필드를 갖는 템플릿 중 하나 이상을 포함하는 폼을 사용하여 생성된다. 일반적으로, 데이터 엔트리 폼은 도 2에 도시된 바와 같이, 데이터를 입력하기 위한 필드와 더불어 프롬프트 및 명령으로 구성되는 반면, 메뉴 폼은 폼, 다른 메뉴 또는 프로세스를 선택하기 위한 프롬프트, 및 선택에 입력하기 위한 단일 슬롯으로 구성된다. 데이터 엔트리 폼은 데이터를 입력하기 위한 하나 또는 복수의 필드를 가질 수 있다.
트랜잭션 엔트리 모드에서, 데이터 엔트리 오퍼레이션의 특정 타입과 관련된 폼이 선택될 때까지 사용자는 데이터 트랜섹션 어셈블러(18)의 메뉴 전체를 네비게이팅한다. 일단 선택되면, 데이터 트랜잭션 폼(42)이 디스플레이 장치(20)에 의해 사용자에게 표시된다. 데이터 트랜잭션 폼(42)은 디스플레이 장치(20)상의 시각적 표시를 정의하는 데이터의 집합 및 외부 데이터베이스 파일로의 링크가 정의되는 필트들의 리스트이다.
도 2에 도시된 바와 같이, 데이터 트랜잭션 폼(42)은 이 폼이 속하는 데이터 트랜잭션의 타입, 즉 폼의 길이, 폼에서의 페이지 수, 각 필드에서의 바이트 수, 저장 키 등을 식별하는 포맷 필드(44)를 포함한다. 데이터 트랜잭션 폼(42)의 전체(body)는 데이터 스트림으로서 디스플레이 스크린(20)에 제공되는 프롬프트(46)의 소정 시리즈를 포함한다. 바람직하게는 프롬프트는, 필요하다면, 문자 및 숫자, 아이콘 또는 스크롤하는 리스트일 수 있는 기술적인 데이터를 포함한다. 필드(49)는 각 프롬프트에 응답하여 사용자 입력을 수용하기 위해 제공되는 소정 사이즈의 공백(blank space)이다. 일반적으로, 또한 각 필드(48)의 사이즈는 데이터 트랜잭션 폼(42)을 정의하는 데이터의 스트림에 저장된다. 프롬프트가 데이터 트랜잭션 폼이 생성된 애플리케이션에 필요한 데이터를 유도하도록 맞춰져 있기 때문에, 필드(48)는 특정 타입의 애플리케이션에 대해 데이터 트랜잭션 처리하는데 필요한 사용자 데이터를 포함할 것이다. 사용자 응답은 데이터 트랜잭션을 형성하는 데이터 스트림의 부분이 된다. 통상적으로, 데이터 트랜잭션 폼(42)은 그 폼에 대해 유일한 처리 데이터가 송신용 데이터 트랜잭션에 첨부되는 것을 가능하게 하는 혼합 처리 필드(miscellaneous processing field)(50)를 포함한다. 이러한 처리 데이터는, 예컨대 멀티미디어 데이터 트랜잭션에 첨부된 오디오 또는 비디오 데이터 또는 데이터 트랜잭션의 임의의 필드에서의 데이터 관계를 정의하는 방정식을 포함할 수 있다. 또한, 데이터 엔트리의 시간, 데이터 엔트리의 날짜, 사용자 ID 등과 연관된 비디스플레이(non-display) 데이터가 혼합 처리 필드(50)에 저장될 수 있다.
도 3 및 4는 도 2의 데이터 트랜잭션 폼을 사용하여 생성된 데이터 트랜잭션을 형성하는 데이터의 스트림의 "전개"를 도시한다. 도 3에 도시된 바와 같이, 각 데이터 트랜잭션은 특정 데이터베이스에 특유한 데이터 및/또는 하나 이상의 데이터베이스의 특정 파일에 특유한 데이터를 포함한다. 따라서 데이터 트랜잭션에서의 데이터는 "전개된다". 예를 들면, 도 2의 완성된 데이터 트랜잭션은 데이터 트랜잭션(도 1의 데이터베이스(11))을 생성한 트랜잭션 엔트리 장치(12)와 연관된 데이터베이스의 특정 파일(파일 110)에 저장된다. 전체 데이터 트랜잭션의 저장이 요구되어, 기록은 시스템 에러, 전력 중단 등의 경우에도 유지될 수 있다. 이어서, 트랜잭션 제어기(36)는 특정 타입의 폼에 관련되는 것을 알고 있는 데이터 트랜잭션의 필드로부터 데이터를 추출한다. 예를 들면, 필드(1, 2, 6 및 10)에서의 데이터 및 필드(11)에서 데이터의 기능은 데이터베이스(11)의 파일(111)에 저장된 특정 애플리케이션에 관련할 수 있다. 유사하게도, 필드(3, 6, 10, 12 및 14)에서의 데이터는 데이터베이스(11)의 파일(112)에 저장된 애플리케이션에 관련될 수 있으며, 필드(1, 2, 7, 8 및 9)에서의 데이터 및 필드(10, 11 및 12)에서 데이터의 기능은 데이터베이스(11)의 파일(113)에 저장된 애플리케이션과 관련될 수 있다. 이러한 필드들은 트랜잭션 제어기(36)에 의하여 수신된 데이터 트랜잭션으로부터 추출되고, (필요하다면) 적절한 포맷의 파일 엔트리로 재구성되어, 관련 데이터베이스(30)에 저장된다.
수신 데이터 트랜잭션 내의 모든 데이터 또는 그 서브세트는 계층(3) 내의 데이터베이스(40)의 데이터베이스(21)와 같은 하나 이상의 추가 애플리케이션 특정 데이터베이스로 재전송될 수도 있다. 도 3에 도시된 바와 같이, 원본 트랜잭션(폼 A)의 서브세트(폼 B)를 구성하는 필드(1, 4, 5, 13, 14)의 데이터베이스 지정 데이터는 데이터베이스(21)의 필드(210) 내에 저장되어 완전한 레코드가 유지될 수 있다. 이어서, 폼 B 내의 데이터의 서브세트는 표시된 바와 같이 데이터베이스 21의 특정 파일 내에 저장된다. 이러한 방식으로, 원본 데이터 트랜잭션(폼 A)의 데이터가 폼 A 내의 임의의 데이터 또는 모든 데이터에 의해 갱신되어야 하는 파일들을 포함하는 모든 데이터베이스로 자동적으로 전송된다.
도 4는 도 1에 나타낸 시스템(10)에서의 도 3의 데이터 트랜잭션의 전개 양상을 도시한다. 도시된 바와 같이, 데이터 트랜잭션(폼 A) 내의 데이터는 추출되어 데이터베이스(11)의 파일(110-113) 뿐만 아니라 데이터베이스(21)의 파일(210-212)도 갱신한다. 폼 A의 예비용 복사본(redundant copy)은 데이터베이스(12)내에도 유지된다.
아래에 상세히 설명하겠지만, 도 1 내지 도 4의 시스템에 있어서, 데이터 트랜잭션 내의 데이터는, 트랜잭션 엔트리 장치(12)에 의한 운영체제 에뮬레이션이나 단말에 대한 요구조건을 요하지 않고도, 각종 운영체제의 제어하에서 동작하는 파일 서버에 의해 서비스되는 하나 이상의 데이터베이스를 갱신한다는 점이 중요하다. 대조적으로, 본 발명의 트랜잭션 엔트리 장치(12)는 트랜잭션 엔트리 포인트(계층 1)에서 처리의 최소량으로 데이터 캡처 및 저장을 가능하게 하며, 이는 물론 시스템 비용을 감소시킨다.
3. 예시적인 트랜잭션 엔트리 장치(12)(도 5 내지 도 10)
본 발명에 따르면, 임의의 데이터 엔트리 장치를 채용할 수도 있지만, 본 발명의 제1 실시예로서 도 5 내지 도 10에 나타낸 바와 같은 트랜잭션 엔트리 장치(12)를 사용하는 것이 바람직하다. 특히, 전술한 바와 같이 트랜잭션 엔트리 장치(12)에 있어서 데이터 트랜잭션 어셈블러(18)가 트랜잭션 엔트리 모드에서 트랜잭션 엔트리 장치(12)의 각종 동작을 제어하는데 특징이 있다. 바람직하게는, 데이터 트랜잭션 어셈블러(18)는 데이터 엔트리를 용이하게 하기 위해 플래시 메모리에 데이터 스트림으로 저장된 소정 폼 및 단순한 메뉴 구조를 사용한다. 메뉴는 폼의 특별 타입으로서 취급되고 다른 메뉴, 폼 또는 프로세스를 호출하는데 사용된다. 한편, 폼은 다른 운영체제하에서 동작하는 하나 이상의 서버에 전송되는 데이터 트랜잭션을 생성하는데 사용되며, 여기서 데이터 트랜잭션은 그 데이터 트랜잭션에서 데이터에 의해 영향받는 모든 기록을 갱신하기 위해 고유 파일 구조에서 저장용 콤포넌트 파트로 "전개된다". 차례로, "전개된" 데이터 트랜잭션은 저장을 위해 다른 애플리케이션 지정 데이터베이스(계층 3)에 전송될 수 있다. 한편, 프로세스는 폼의 필드에서 값에 대한 제한된 처리를 수행하도록 선택된다. 이러한 처리는 국부적으로 수행되지만, 바람직하게는 관련 데이터베이스 서버(28)에 의해 수행된다.
a. 하드웨어
종래의 전화에 통합된 트랜잭션 엔트리 장치(12)의 바람직한 실시예가 도 5 및 6에 도시된다. 도 5a에 도시된 바와 같이, 트랜잭션 엔트리 장치(12)의 바람직한 데스크탑 실시예는 전화 기기(14) 및 데이터 트랜잭션 어셈블러(18)의 하드웨어를 하우징(housing)하기 위한, 길이 12인치, 폭 8인치 정도의 하우징(52)을 포함한다. 트랜잭션 엔트리 장치(12)는 옵션의 핸드셋(또는 헤드셋)(54), 크래들(56)(도 5b), 숫자 키패드(58), 전화 기능/회선 키(60), 마이크로폰(62), 및 스피커(16)를 포함하고, 이들은 전화 모드에서 트랜잭션 엔트리 장치의 동작을 용이하게 한다. 본 기술분야의 숙련자들에게 잘 공지되어 있는 바와 같이, 전화 기능키(60)에 의해 액세스되는 전화 기능은 음소거, 스피커, 회선 선택, 회의, 대기, 전송, 볼륨 제어 등을 포함할 수 있다.
그러나, 트랜잭션 엔트리 장치(12)는 트랜잭션 엔트리 모드시 트랜잭션 엔트리 장치(12)의 동작을 용이하게 하는, 터치 스크린(64), 모드 스위치/컴퓨터 기능 키(66), 옵션인 리트랙터블 키보드(68) 및 옵션인 자기/스마트 카드 판독기(70)를 갖는 디스플레이(20)를 더 특징으로 한다. 메모리 카드 판독기는 또한 랩탑 컴퓨터에서와 같이, 도어(door)(도시되지 않음)를 거쳐 억세스될 수도 있다. 바람직하게는, 디스플레이(20)는 라인 당 최소 20문자 및 16라인(바람직하게는, 40열×24라인)을 갖는 슈퍼 트위스트이며, 높은 콘트라스트의 반사형 액정 디스플레이(LCD)이지만, 터치 스크린(64)은 LCD의 면에 부착된 224개의 키들(14개의 키가 16행 있음)로 이루어진 클리어 압력 감지 키보드가 바람직하다. 바람직하게는, LCD는 또는 백릿(backlit) 유닛으로서 활용가능하다. 물론, 터치 스크린(64)은 옵션인 키보드(68)가 제공된다면 필수적인 것이 아니다. 또한, 배터리 백업(71)(도 6)이 또한 제공될 수 있으며, 대안으로, 배터리(71)는 본 발명에 따라 트랜잭션 엔트리 장치(12)의 휴대용(셀룰러) 통합체용 1차 전원이 될 수 있다.
도 5b는 트랜잭션 엔트리 장치(12)에의 몇가지 접속을 도시한다. 통상적으로, 트랜잭션 엔트리 장치(12)는 마이크로폰(62)과 스피커(16)만을 사용할 때보다도 더 사적인 통신을 원할 때 전자 전화기(14)에 옵션인 핸드셋(headset)(54)을 접속하기 위한 핸드셋(headset) 잭(72)을 포함한다. 비디오 입력 포트(74)는 또한 화상 폰형 비디오를 제공하는 추가적인 비디오 카메라 또는 팩시밀리 장치 또는 스캐너에 트랜잭션 엔트리 장치(12)(도 6)내의 통상의 데이터 압축 회로(75)를 접속하기 위해 제공된다. 그러한 비디오 데이터는 각종 처리 필드(50)에서의 데이터 트랜잭션의 종료까지 한번에 한 프레임을 첨부하여 도 2를 참조하여 상술한 바와 같이 멀티미디어 데이터 트랜잭션를 생성한다. 데이터 출력 포트(76)는 데이터 압축해제 회로(77)(도 6)로부터 압축해제된 비디오 또는 팩시밀리 데이터를 비디오 수신기, 고품질 컴퓨터 모니터, 팩시밀리 장치 등에 제공하기 위해 제공된다. 또한, 그러한 데이터는 소망에 따라 프린터 포트(82, 84)에 제공될 수도 있다. 멀티-라인 폰 잭(모뎀 인터페이스)(78)이 또한 제공된다. 바람직하게는, 모뎀 인터페이스(78)는 단지 하나의 모뎀 접속만이 필요하다고 할지라도, 전자 전화기(14) 및 데이터 트랜잭션 어셈블러(18)에 대한 분리된 모뎀 접속을 제공한다.
옵션인 적외선 송수신기(80)는 트랜잭션 엔트리 장치(12)에 의해 송수신된 데이터 트랜잭션에 응답하여 텔레비전 및 스테레오 장비의 원격 제어 동작을 행할 수 있도록 더 제공된다. 적외선 송수신기(80)는 데이터 트랜잭션 어셈블러(18)에 저장된 파라미터를 판독하는 내부 신호 발생기 칩을 포함하여 적외선 신호에 대한 적절한 전송 주파수를 결정한다. 이어서 적외선 장치의 제어는 디스플레이(20) 상의 메뉴를 통해 제공된다. 추가적인 적외선 송수신기(80)는 하우징(52)의 각 코너 상에 제공되어 적외선 신호가 더 많은 영역을 커버할 것이다(각 송신기는 통상적으로 약 60°원주를 커버한다). 그러한 모든 장치들은 본 기술분야의 숙련자에게 공지되어 있으므로, 본 명세서에서 더 상세히 기술되지는 않을 것이다.
컴퓨터 인터페이스(RS-232) 직렬 포트(82)와 병렬 포트(84)는 또한 다른 컴퓨터 장치에 데이터를 전송/다른 컴퓨터 장치로부터 데이터를 수신하여, 프린터에 출력을 제공하기 위해 제공된다. 전력 입력 포트(86)와 키보드 입력(88)이 또한 제공된다. 키보드 입력(88)은 리트랙터블 키보드(68) 대신에 또는 추가로 사용될 수도 있는 표준 키보드 또는 접이식 키보드(도시되지 않음)로부터의 접속을 수용한다. 데이터 트랜잭션 어셈블러(18)의 동작 명령을 갱신하기 위한 옵션의 분리형 PCMCIA 메모리 카드 인터페이스(89)(도 6)와 다른 전자 장비에 무선 네크워킹하기 위한 옵션의 RF 송수신기(90)(도 6)는 소망에 따라 트랜잭션 엔트리 장치(12) 상에 제공될 수도 있다. 도 6은 도 5a 및 도 5b에 도시된 트랜잭션 엔트리 장치의 전자 기기들의 개략적인 도면이다. 엘리먼트들에 대응하는 대응 참조 번호들은 도 5a, 도 5b 및 도 6에 사용된다. 도 6에 도시된 바와 같이, 도 5a 및 도 5b를 참조하여 상술된 엘리먼트에 추가하여, 트랜잭션 엔트리 장치(12)는 메뉴 옵션 등의 음성 선택을 허용하는 간단한 음성 인식 회로(91)를 포함할 수도 있다. "음성 선택" 모드에서, 사용자는 원하는 메뉴 선택에 따라 "1", "2" 또는 "3"을 발음할 수 있으며, 그 음성은 트랜잭션 엔트리 장치(12)의 하우징(52) 상의 마이크로폰(62)에 의해 선택되어, 음성 인식 회로(91)에 의해 인식된다. 이어서 적절한 선택 신호가 데이터 트랜잭션 어셈블러(18)에 전송될 것이다. 유사하게, 데이터 트랜잭션 어셈블러(18)는 스피커(16)를 통해 사용자에게 그리고 모뎀 인터페이스/전화 회선 접속(78)을 통해 호출자에게 오디오 출력을 제공하는, 종래의 음성 신시사이저(92)를 사용하여 가청 출력을 제공할 수 있다. 음성 신시사이저(92)는 예를 들면, 종래의 비디오 디스플레이로부터 선택할 수 없는 맹인이 청취할 수 있도록 임의의 데이터 트랜잭션을 허용할 수도 있다. 또한, 음성 레코더(93)를 제공하여 종래의 디지털 응답기를 사용할 때와 같이 전화 호출의 일부, 음성 데이터 트랜잭션의 일부 또는 호출자의 메시지를 기록할 수도 있다. 한편, 음성 레코더(93)를 데이터베이스 서버(28)에 제공하여 데이터베이스(30)에 가청 메시지를 저장/포워딩하는데 사용할 수도 있다.
상술한 바와 같이, 트랜잭션 엔트리 장치(12)는 트랜잭션 엔트리 모드시 데이터 트랜잭션의 생성을 제어하는, 데이터 트랜잭션 어셈블러(18)가 특징이다. 도 6에 도시된 바와 같이, 데이터 트랜잭션 어셈블러(18)는 intel 80386SX(20 MHz 이상) 또는 등가물, TAS PROM(95), 폼/메뉴 메모리(96), 및 트랜잭션 버퍼(RAM)(97)와 같은 종래의 마이크로프로세서(94)를 사용하여 하드웨어에서 구현된다. 바람직한 실시예에서, TAS PROM(95)은 (예를 들면, 이하 도 7 내지 도 10의 알고리즘용 마이크로코드와 같은) 마이크로프로세서(94)용 1MB 제어 데이터(firmware)를 보유하는 플래쉬 PROM인 반면, 폼/메뉴 메모리(96)는 1MB의 데이터 트랜잭션 메뉴 및 폼을 보유하는 플래쉬 메모리이다. 한편, 트랜잭션 버퍼(97)는 가장 큰 데이터 트랜잭션만큼 크기만 하면, 예를 들어, 애플리케이션을 포함하며 시스템 변수를 구동하는 트랜잭션 데이터를 128kB까지 보유할 수도 있다. 바람직하게는, TAS PROM(95)과 폼/메뉴 메모리(96)는 모뎀(78), 자기 카드 인터페이스(70), 또는 필요에 따라 메모리 카드 인터페이스(89)에 의해 판독된 분리형 메모리 카드로 종래의 데이터 버스(98)를 통해 메뉴 및 새로운 명령 및/또는 폼을 포함하는 데이터 스트림을 다운로딩함으로써 갱신된다. 대안으로, 추가의 플래쉬 메모리 엘리먼트들은 추가의 애플리케이션들이 트랜잭션 엔트리 장치(12)에 추가되는 것과 같이 추가될 수도 있다. 트랜잭션 버퍼(97)는 또한 비디오 및/또는 오디오 데이터가 데이터 트랜잭션에 첨부되는 멀티미디어 애플리케이션을 포함하는, 임의의 크기 또는 타입의 트랜잭션을 다루도록 확장될 수도 있다.
본 기술분야의 숙련자라면 트랜잭션 엔트리 장치(12)가 네트워크의 도킹 스테이션(docking station)으로 도킹될 수 있다는 것을 이해할 것이다. RF 송수신기(90)는 그러한 환경에서 무선 통신에 사용될 수도 있다. 또한, 본 분야의 숙련자라면 트랜잭션 엔트리 장치(12)가 예를 들면, 미국특허 제5,189,632호에서 파자넨(Paajanen) 등에 의해 기술된 타입의 셀룰러 전화기와 랩탑 컴퓨터간의 교차점인 배터리 구동형 휴대용 장치로서 기능할 수 있음을 이해할 것이다. 그러한 실시예에서, 옵션의 헤드피스(headpiece)가 제공되는 것은 물론, 플립탑(fliptop) 방식의 마이크로폰 및 스피커 배열이 제공될 수 있다. 물론, 액정 디스플레이 스크린(20)은 예를 들면, 40열×12행의 크기로 감소될 수 있으며, 터치 스크린(64)은 제거될 수도 있다. 그러나, 바람직하게는, 도 5a 및 도 5b의 실시예의 다른 옵션들 대부분은 휴대용 유닛이 원하면 데스크에서 휴대용 유닛이 사용될 수 있도록 유지될 수 있다. 트랜잭션 엔트리 장치(12)의 전자 기기는 본 기술분야의 숙련자의 기술 범위 내에서 임의의 크기 및 형상 조건을 제외하면 도 6에 도시된 바와 같다.
b. 소프트웨어
다음 설명으로부터 명백한 바와 같이, 데이터 트랜잭션 어셈블러(18)는 종래의 운영체제를 활용하지 않고도 마이크로프로세서(94)의 동작을 제어한다. 이와는 상반되게, TAS PROM(95)은 특정 애플리케이션의 경우 폼/메뉴 메모리(96)로부터 제공된 메뉴 및 폼들을 통하여 사용자에게 네비게이팅하기 위한 커널 방식(kernel fashion)으로 동작하는 간단한 펌웨어 알고리즘(도 7 내지 도 10)을 저장하며, 이것은 임의의 시간 지점에서 마이크로프로세서(94)를 제어하는 최종 데이터 스트림이다. 바꾸어 말하자면, TAS PROM(95)로부터의 데이터 스트림과 폼/메뉴 메모리(96)로부터의 데이터 스트림은 함께 폼에 의해 지정된 각 애플리케이션에 대한 특수용 프로세서로 마이크로프로세서를 재구성한다. 따라서, TAS PROM(95)의 마이크로코드와 폼/메뉴 메모리(96)로부터의 파라미터 스트림은 모든 애플리케이션에 대한 마이크로프로세서(94)의 간단한 폼-구동 운영체제로서 함께 동작하며, 마이크로프로세서(94)를 제어하는데 사용된 단일 코드이다(즉, 어떠한 종래의 동작 시스템이나 애플리케이션 프로그램도 제공되지 않는다). 그 결과, 마이크로프로세서(94)는 폼/메뉴 메모리(96)로부터 판독된 각각의 새로운 형태로 새로운 특수용 컴퓨터로 재구성될 수 있으며, 그러한 폼/메뉴는 외부 데이터베이스 서버(28)로부터 또는 메모리 카드로부터 적절한 데이터 스트림으로 판독되거나, 추가적인 PROM을 추가함으로써 아무때나 부가될 수 있다. TAS PROM(95)에 저장된 TAS 펌웨어의 특수 동작은 도 7 내지 도 10을 참조하여 이하에 기술될 것이다.
따라서, TAS PROM(95)은 마이크로프로세서(94)용 제어 데이터(펌웨어)를 포함하며 각 트랜잭션 엔트리 장치(12)에 잔류하여 폼/메뉴 메모리(96)에 저장된 데이터 스트림으로부터 그리고 외부 데이터베이스 또는 자기 카드, 스마트 카드 등으로부터 검색되거나 사용자에 의해 입력된 데이터로부터 데이터 트랜잭션용 템플릿(template)을 생성한다. TAS 펌웨어 및 선택된 템플릿은 함께 사용자에 의해 네비게이팅되는 데이터베이스 인터페이스 및/또는 메뉴 옵션의 테이블을 논리적으로 한정함으로써 마이크로프로세서(94)의 동작을 제어한다. 상술한 바와 같이, 사용자는 다른 메뉴, 폼 또는 프로세스를 선택함으로써 일련의 메뉴 선택을 통해 네비게이트한다. 일단 원하는 애플리케이션에 대한 데이터 트랜잭션이 완료되면, "전개"의 경우 저장을 위한 모든 구성 부분으로 전송된다. 이 폼에서, TAS PROM(95)로부터의 TAS 펌웨어와 본 발명의 폼/메뉴 메모리(96)으로부터의 메뉴 및 폼은 함께 종래의 운영체제 및 개개의 애플리케이션 프로그램을 대체한다. 실제로, 본 발명은 트랜잭션 엔트리 장치(12)가 운영체제를 완벽하게 독립적으로 되도록 한다.
본 발명의 데이터 트랜잭션 어셈블러(18)는 TAS PROM(95)내에 명령으로서 저장된 허용된 프로토콜을 통하여 데이터베이스 서버(28) 및 그 관련 데이터베이스(30)에 접속된다. 상술한 바와 같이, 특정 트랜잭션 엔트리 장치(12)와 연관된 데이터베이스 서버(28)는 트랜잭션 엔트리 장치(12)에 의해 생성된 데이터 트랜잭션의 저장소로서 동작하며, 또한 트랜잭션 엔트리 장치(12)로의 데이터 공급기로서 동작하여 폼을 완성하여 추가적인 폼, 메뉴, 처리 등을 제공한다. 본 발명의 시스템은 독립적인 운영체제가기 때문에, 데이터베이스 서버(28)의 특성에 대해 하드웨어나 소프트웨어의 제한이 없다.
개별 폼을 형성하는 파라미터 세트는 모뎀을 통하여 데이터의 스트림으로서 데이터베이스 서버(28)에 의해 통상적으로 제공되어 폼/메뉴 메모리(96)에 저장되는 반면, 임의의 다운로드 명령은 TAS PROM(95)에 저장된다. 데이터 트랜잭션 어셈블러(18)와 그 데이터베이스 서버(28)간의 링크는 각 데이터베이스 서버(28)에 특정한 사전 프로그램을 통하여 제공되는 것이 바람직하다. 이 사전 프로그램은 각 데이터 트랜잭션에 대한 각 폼의 각 필드의 특성을 알고 데이터베이스 서버(28)에 의해 사용되어 수신된 데이터 트랜잭션을 그들의 구성 부분에 "전개"한다.
바람직하게는, 전원 입력시, 데이터 트랜잭션 어셈블러(18)는 "다운로드 파라미터 스트림" 명령을 사용자에게 자동적으로 프롬프트(prompt)하여 사용자가 원하는 애플리케이션용 폼 데이터 및 메뉴의 스트림을 외부 소스로부터 폼/메뉴 메모리(플래쉬 메모리)(96)에 로딩될 수 있게 한다. "다운로드 파라미터" 처리는 모뎀 인터페이스(78)를 통하여 접속을 초기화하는 외부 데이터베이스 서버(28)를 다이얼링함으로써 초기화될 것이다. 일단 접속되면, 데이터베이스 서버(28)의 트랜잭션 제어기(36)는 요구된 파라미터 스트림을 전송할 것이다. 데이터 트랜잭션 어셈블러(18)는 수시된 데이터 스트림을 폼/메뉴 메모리(96)에 로딩하며, 완료시 프롬프트 "실행 메뉴 준비(Executive Menu Ready)"는 디스플레이 스크린(20) 상에 제시될 것이다. 다음으로, 실행 메뉴가 원하는 메뉴, 폼 또는 처리의 선택을 사용자에게 자동적으로 제시될 것이다.
사용자에 의한 트랜잭션 엔트리 모드의 초기화시, 데이터 트랜잭션 어셈블러(18)는 폼/메뉴 메모리(96)로부터 패널 파라미터 세트를 호출하여, 디스플레이 스크린(20) 상에 폼을 그린다. 이들 폼은 특정 폼에 네비게이팅하기 위한 메뉴들 또는 데이터가 사용자에 의해 입력된 폼 중 하나이다. 후술되는 바와 같이, 메뉴들은 간단한 메뉴 선택을 통해 기능을 제공한다. 디스플레이 스크린(20) 상의 폼은 터치 스크린 또는 추가적인 키보드(68)을 사용하여 적절한 데이터를 입력함으로써 사용자에 의해 완성된다. 대안으로, 요구된 데이터는 메모리 카드 인터페이스(90)를 통하여 메모리 카드로부터, 자기 카드 인터페이스(70) 또는 메모리 카드 인터페이스(89)를 통하여 스와이프 카드(swipe card) 또는 스마트 카드 상의 자기 스트림(magnetic strip)으로부터, 또는 음성 인식 회로(91)를 통한 음성 입력으로부터 판독될 수 있다. 또한, 현재 폼내의 임의 필드를 대중화할 필요가 있는 데이터의 경우, 요구는 트랜잭션 엔트리 장치(12)와 연관된 데이터베이스 서버(28)에 전송된다. 데이터 엔트리의 타입은 "?" 키 또는 "더 많은 정보의 요구(Request for More information)" 버튼을 누를 때 사용자에게 제시되는 옵션들의 서브셋으로부터 요구된다. 이 요구는, 데이터 엔트리와 같은 폼을 키보드(68), 터치 스크린(64), 자기 카드 인터페이스(70)를 통한 스와이프 카드, 메모리 카드 인터페이스(89)를 통한 메모리 카드, 음성 인식 회로(91)를 통한 메뉴내에서의 아이템의 수의 음성 알림, 또는 데이터베이스(30)로부터의 모뎀을 통하여 선택하는 몇가지 옵션을 사용자에게 제공할 것이다. 따라서, 데이터 트랜잭션 어셈블러(18)에 의해 생성된 데이터 트랜잭션은 저장된 데이터의 사용 여부에 따라 사용자가 요구한 데이터 엔트리의 양을 감소시킨다.
데이터 엔트리 옵션이 선택될 때, 데이터 트랜잭션 어셈블러(18)는 다음 중 하나를 행한다: 다른 파라미터 세트가 호출되어 다른 폼이 그려지고, 선택의 정정이 검증되어 선택용 옵션 세트는 저장된 데이터와의 상호작용에 기초하여 제시되며, 완성된 데이터 트랜잭션은 모뎀을 통하여 데이터베이스(30)에 저장하기 위한 데이터베이스 서버(28)에 전송되거나, 데이터 값이 트랜잭션 버퍼(97)내의 통합용 데이터베이스(30)로부터 요구된다. 바람직한 실시예에서, 메뉴로부터의 선택은 터치 스크린(64)을 사용하여 메뉴 상의 적당한 위치를 터치함으로써 이루어지거나; 마이크로폰(62) 및 음성 인식 회로(91)를 통하여 메뉴 아이템 번호의 음성 알림에 의해 이루어지거나; 커서를 메뉴 위로 옮기는 컴퓨터 기능 키(66)들, 커서를 메뉴 아래로 옮기는 다른 키, 종래 방식대로 선택하는 제3 키들 중 하나를 사용하여 선택되거나; 선택 장치로서 키보드(68)를 사용한다. 키보드(68)가 사용될 때, 키보드 키를 사용하여 커서를 제어하여, 선택을 위해 "엔터(enter)" 키를 사용하며; 대안으로, 선택된 아이템의 번호를 엔터하고 "엔터" 키를 눌러 선택을 행한다. 일단 선택이 완료되면, 적당한 폼이 데이터의 스트림으로서 폼/메뉴 메모리(96)로부터 추출된다.
대안으로, 선택용 메뉴를 제공하거나 폼을 완료하는 것에 덧붙여서, 데이터 트랜잭션 어셈블러(18)는 또한 폼 내의 하나 이상의 필드를 이용하여 관련 레이트의 계산, 평균 찾기, 명칭 찾기 또는 특정일의 엔트리 검색과 같은 처리를 초기화하기 위한 메뉴 선택을 제시할 수도 있다. 이들 처리는 TAS PROM(95), 폼/메뉴 메모리(96), 초기화되는 오프-라인 서버, 또는 트랜잭션 엔트리 장치(12)의 구동 부분에 다운로드될 수 있는 임의의 다른 곳에 저장될 수 있다. 바람직한 실시예에서, 처리는 일반적으로 데이터베이스 서버(28)에 데이터 요구를 전송하고, 데이터베이스 서버(28)내의 데이터를 처리하고나서, 데이터 스트림으로서 응답을 리턴시키거나 트랜잭션 엔트리 장치(12)에 역보고됨으로써 데이터베이스 서버(28)에서 초기화된다.
처리는 통상적으로 외부 기기 상에서의 처리를 호출하는 데이터열을 초기화한다. 예를 들면, 트랜잭션 엔트리 장치(12)는 적외선 송수신기(80)(도 5 및 도 6)을 사용하여 다양한 장치의 적외선 제어를 위한 제어 신호를 다운로드하여 저장하는데 사용될 수도 있다. 제어 신호의 폼은 추가적인 적외선 칩의 신호 저장에 따라 좌우될 것이며, 데이터 트랜잭션 어셈블러(18) 또는 모뎀을 통한 오프-라인 장치에 의해 로딩될 수 있거나, 무선 형태로 직접적인 디지털 전송용 RF 송수신기(90)를 이용하여 공중파를 통해 로딩될 수 있다. 또한, 트랜잭션 엔트리 장치(12)가 의료 사무소에 사용될 경우에, 예를 들면, 처리는 약국으로의 처방전의 전송 또는 미리저장된 모뎀 번호를 사용하는 가정에서 주문을 메일로 보내거나 특정일에 전화 호출 리스트 또는 후속 예약의 리스트로부터 의사를 호출하여 날짜를 잡는데 사용될 수 있다. 바꾸어 말하자면, TAS 펌웨어는 또한 하나 이상의 데이터베이스로의 수많은 기록의 전송을 위한 모든 보조 부분으로 데이터 트랜잭션을 전개할 수 있다.
TAS 펌웨어의 바람직한 실시예는 도 7 내지 도 10에 대해 설명될 것이다. 상술한 바와 같이, TAS 펌웨어는 폼-구동 운영체제의 기능을 수행하기 위해 소프트웨어, 하드웨어에 로딩된 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
상술한 바와 같이, 트랜잭션 어셈블리(애플리케이션) 서버(TAS)는 어떠한 종래의 운영체제도 필요없도록 폼/메뉴 메모리(96)로부터의 폼과 함께 마이크로프로세서(94)에 필요한 제어 데이터(펌웨어)를 제공하는 간단한 폼-구동 운영체제를 생성하는 TAS PROM(95)에 저장된 데이터 스트림이다. 도 7은 본 발명의 바람직한 실시예에 따른 메뉴 구동형 TAS의 흐름도이다. 도시된 바와 같이, TAS 펌웨어는 단계(100)에서 시작하여 단계(102)에서 폼/메뉴 메모리(96)로부터 초기 메뉴를 페치한다. 초기 메뉴는 시스템 로그 온후 TAS 펌웨어를 부팅하고, 수초 이내에 프롬프트된다. 초기 메뉴는 통상적으로 추가 기능을 인에이블하고 실행 메뉴를 인쇄하기 위한 데이터베이스 서버(28)로부터 파라미터 스트림을 다운로딩하는 옵션을 제공한다. 실행 메뉴가 선택되면, 실행 메뉴는 폼/메뉴 메모리(96)로부터 검색된다. 실행 메뉴는 사용자로의 여러 응용 옵션 즉, 폼의 선택, 또 다른 메뉴, 처리, 또는 어느 하나가 단계 104에서 선택되는 전화 모드로의 자동 전환(switch)을 포함하고 있다. 폼/메뉴 메모리(96) 내의 데이터 스트림들은 폼의 경우 "F", 메뉴의 경우 "M", 프로세스의 경우 "P"와 같은 코드를 부가하여 타입(폼, 메뉴, 혹은 처리)에 관해 식별될 수도 있고, 이어지는 데이터 스트림의 시작부에 폼, 메뉴, 혹은 처리 번호를 부가하여 번호 자체로 식별할 수도 있다. 이러한 코드는 TAS 펌웨어에 의해 인식되며 그에 따라 작용한다.
단계 104에서 선택된 옵션이 폼이면, 단계 106에서 폼/메뉴 메모리(96)로부터 적절한 폼(폼 Fxy에 대한 데이터 스트림)이 페치되며, 폼 Fxy와 연관된 레코드의 사이즈와 길이가 동일한 트랜잭션 버퍼(97)가 RAM에 형성되고, 폼이 트랜잭션 버퍼(97)에 저장되며, 적절한 데이터베이스 서버(들)(28)로의 접속이 행해진다. 선택된 폼의 데이터 스트림은 프롬프트, 이 프롬프트에 대한 인쇄 위치, 데이터 엔트리 포인트, 데이터 엔트리 길이에 대한 인쇄 위치, 데이터 엔트리 길이, 데이터 엔트리의 성질에 대한 코드로 이루어진다. 이러한 코드는 숫자식, 영숫자식, 저장된 데이터 혹은 이전에 입력된 데이터로의 교차 참조, 이전에 입력된 데이터로부터의 결과에 대한 데이터 트랜잭션 어셈블러(18)로의 내부적 생성을 위한 배합표(formula), 혹은 데이터에 대한 외부 요구, 도움말, 혹은 재공식화된 값일 수 있다. 폼의 필드에 입력된 데이터 스트림은 프롬프트의 프린트를 위한 위치 및 데이터 엔트리를 위한 필드를 나타낼 뿐 아니라, 필드 및 스토리지의 사이즈, 저장된 엘리먼트를 위한 트랜잭션 버퍼내 개시 포인트, 및 데이터의 타입인 영숫자식, 숫자식(부동 소수점 혹은 정수), 날짜 등을 나타낼 수도 있다.
요구된 폼이 실제적으로 메뉴(Mxy)인 것으로 단계 108에서 판정되면, 선택이 유도될 폼 Fxy를 나타내는 숨겨진 코드 세트가 판독되고, 또 다른 하나의 메뉴 혹은 폼의 선택을 위해 제어는 다시 단계 104로 분기한다. 메뉴가 선택되면, 각각의 아이템은 자신의 순차 번호와, 자신의 기술자(descriptor)와, 무엇을 "호출"할 것인지(또 다른 메뉴, 폼, 혹은 처리)에 대한 코드를 갖는다. 즉, 각각의 선택은 또 다른 폼과, 메뉴, 혹은 입력된 데이터에 대한 일련의 테스트들로 분기되는 일련의 아이템 코드들과 연관된다. 메뉴는 저장 영역에 대한 수치 코드와 특정 메뉴 아이템들의 보안 코드, 메뉴내 폼들의 처리 코드, 혹은 처리 코드에 대한 포인터를 포함하는 특별 코드도 갖고 있다. (즉, 연관된 데이터베이스 서버(28)에서) 포인터는 또한 오프 라인으로 수행될 처리를 위한 메뉴에 제공될 수도 있다.
단계 104에서 처리(Pxy)가 선택되면, 데이터베이스 서버(28)에는 그 데이터베이스(30)로 무엇인가가 요구되었거나 혹은 데이터에 대해 어떤 처리가 요구되었음이 통지된다. 예를 들어, 데이터 트랜잭션 어셈블러(18)는 사용자에게 프레젠테이션을 위한 데이터 트랜잭션 어셈블러(18)에 옵션이 복귀되어 선택을 할 수 있도록 데이터베이스 서버(28)로의 "?"질의를 전송할 수도 있다. 처리는 파라미터 스트림으로 데이터베이스 서버(30)의 외부 처리를 트리거하고, 제어는 데이터 트랜잭션 어셈블러(18)에 제어가 복귀되거나 혹은 처리가 완료될 때까지 유지되며, 이 경우 메시지는 데이터 트랜잭션 어셈블러(18)에 다시 전송된다. 이러한 메시지는 레포트, 선택된 데이터, 계산 결과값 등일 수 있다. 이러한 체킹 검출기 등에 의한 처리는 데이터 트랜잭션 어셈블러(18)에 의해 국부적으로 수행될 수도 있다.
일단 사용자 애플리케이션에 대해 원하는 폼이 선택되면, 도 8 내지 도 10에 개략적으로 나타낸 단계에 따라 단계 110에서 폼이 처리된다. 각각의 필드에서 엔트리가 형성되면, 이 엔트리는 자신의 할당 위치와 지시된 포맷내 트랜잭션 버퍼(97)의 입력 버퍼 영역내에 자동으로 저장된다. 언제나 전체 폼은 호출한 메뉴로의 자동 복귀와 더불어 중단될 수도 있고, 혹은 폼은 데이터 재입력(reentry)을 위해 클리어될 수 있다. 일단 폼이 처리되어 적절한 데이터베이스 서버(들)(28)로 전송되면, 데이터베이스 서버 접속이 종결되고, 사용자에게는 단계 112에서 사용자가 선택한 최종 메뉴가 표현된다. 대안으로, 실행 메뉴는 디폴트 메뉴로서 호출될 것이다.
사용자가 새로운 폼의 완료를 지속하기를 원하는 것으로 단계 114에서 나타내진다면, 제어는 메뉴 선택을 위해 단계 104로 다시 분기하며 새로운 데이터베이스 서버 접속이 적절히 이루어진다. 이러한 처리는 각각의 폼에 대해 반복된다. 추가 선택이 전혀 요구되지 않는 경우에는, TAS 펌웨어는 단계 116에서 빠져나오게 된다.
도 8은 본 발명에 따라 데이터 트랜잭션을 생성하기 위해 폼을 처리(단계 110)하기 위한 기술을 도시하는 흐름도이다. 도시된 바와 같이, 도 8의 처리는 단계 118에서 시작되며, 생성되는 대로 데이터 트랜잭션의 저장을 위해 단계 120에서 트랜잭션 버퍼(97)를 초기화한다. 즉, 요구된 애플리케이션의 폼이 존재한다면, 이 폼은 폼/메뉴 메모리(96)로부터 트랜잭션 버퍼(97)로 이동된다. 요구된 폼이 폼/메뉴 메모리(96)에 존재하지 않으면, 에러 메시지가 전송될 수도 있고, 또는 요구된 폼의 파라미터를 포함하고 있는 데이터 스트림의 다운로드를 위해 데이터베이스 서버(28)에 요청이 전송될 수도 있다. 트랜잭션 버퍼(97)는 적어도 최대 데이터 트랜잭션 정도의 크기가 되어 데이터 트랜잭션을 위한 어셈블리 영역으로 동작하는 것이 바람직하다. 판독 및 기록 버퍼들은 이용가능한 인터페이스인 모뎀에/으로부터 버퍼 신호들을 송수신하도록 구성되는 것이 바람직하다. 물론, 트랜잭션 버퍼(97)는 이러한 목적으로 보다 크게 구성될 수도 있다. 일단 트랜잭션 버퍼(97)가 단계 120에서 초기화되면, 디스플레이 스크린(20)이 클리어되고 선택된 폼이 단계 122에서 그 제1 페이지로 초기화된다. 다음에 제1 페이지는 단계 124에서 디스플레이 스크린(20)에 제시된다. 단계 126에서, 사용자는 상술한 데이터 엔트리 기법 중 어느 하나를 이용하여 필드 단위 기반의 폼 페이지와 도 9 및 도 10의 필드 제어를 완료한다.
트랜잭션 버퍼(97)는 디스플레이 스크린(20) 상에 사용자에게 제시된 폼과 연관된 데이터를 수집하며, 각각의 별도의 데이터 엘리먼트에 대한 적절한 위치를 포함하고 있다. 데이터 트랜잭션이 완료되는 대로, 트랜잭션 버퍼(97)의 콘텐츠들은 모뎀을 통해 혹은 무선을 통해 적절한 데이터베이스 서버(들)(28)에 전달되며, 이 콘텐츠에는 데이터 트랜잭션 타입을 식별하는 코드 세트(도 2의 필드 44)보다는 후속하며, 부가적 트랜잭션들의 생성시, 그리고 데이터베이스 서버(28)와 연관된 데이터베이스 서버(30)의 정규 파일 포맷에서의 모든 보조 데이터 트랜잭션들의 저장시, 그 프로그램에서의 사용을 위한 데이터베이스 서버(들)(28)의 일련의 프로세스 식별자들보다는 선행된다. 그 결과, 트랜잭션 버퍼(97)에서 생성된 데이터 트랜잭션은 데이터베이스(30)에 저장된 데이터와 일대다의 관계를 갖는다.
사용자가 어느 시점(단계 128)에 폼의 처리를 중단하기로 결정하면, 폼 처리 루틴은 단계 129에서 중단된다. 이와 달리, 사용자가 데이터 엔트리의 정정을 위해 다시 페이지(멀티 페이지 폼)로 가기를 원하는지의 여부가 단계 130에서 결정된다. 만일 그렇다면, 제어는 초기 페이지의 프레젠테이션을 위해 단계 124로 복귀한다. 사용자가 이전 페이지의 검사 혹은 편집을 원하지 않는다면, 완료를 위해 사용자에 의해 디스플레이되지 않고 있던 또 다른 페이지를 현재의 폼이 갖고 있는지의 여부가 단계 132에서 결정된다. 폼이 보다 많은 페이지들을 갖는다면, 루틴은 단계 134에서 다음 페이지로 이동하고, 다음 페이지로의 이동이 성공적이었는지의 여부가 단계 136에서 결정된다. 만일 그렇다면, 제어는 다음 페이지의 프레젠테이션을 위해 단계 124로 복귀한다. 물론, 폼의 완료시 폼 또는 또 다른 하나의 폼에 연속 페이지를 호출하는 처리는 그 페이지나 폼 시퀀스의 자동 호출 혹은 입력된 어느 한 필드내 값에 좌우되며 시퀀스를 점프할 수 있는(즉, 스킵 페이지) 기능에 좌우될 수 있다. 어느 경우든, 폼에 더 이상의 페이지가 전혀 존재하지 않거나 다음 페이지로의 이동이 성공적이지 못했다면, 폼의 끝(end)은 코드로 마킹되며 트랜잭션은 그 관련 데이터베이스(30)내의 저장과 다른 데이터베이스(40)내에 데이터의 저장을 위한 "전개"를 위해 적절한 데이터베이스 서버들(28)에 데이터 트랜잭션을 전송함으로써 단계 138에서 저장된다. 새로운 에러 등으로 인해 저장이 성공적이지 못했다고 단계 140에서 판정되면, 제어는 단계 122로 복귀하고 처리가 반복된다. 데이터 트랜잭션이 성공적으로 저장되었다면, 폼 처리 루틴은 단계 129에서 중단되고 사용된 최종 메뉴가 표현된다 (단계 112).
선택적으로, 어느 데이터 트랜잭션 버퍼 폼(필드 50, 도 2) 내 저장된 절차들은 중단에 앞서 폼 처리 루틴의 흐름내 적절한 시간에 수행된다. 그러나, 이러한 처리는 연기될 수도 있으며 필요시 데이터베이스(28)에 의해 수행된다.
도 9a 및 도 9b는 폼의 필드(도 8의 단계 126)를 완료 및 편집하기 위한 기법의 흐름도를 도시하고 있다. 단계 142에서 필드 완료 루틴이 시작되며 단계 144에서는 중단 또는 유효 페이지 이동 요구가 펜딩 중인지의 여부가 먼저 결정된다. 그렇다면, 단계 146에서 필드 완료 루틴이 중단된다. 그러나, 중단 또는 페이지 이동 요구가 펜딩 중이면, 트랜잭션 버퍼(97)의 제1 필드의 필드 데이터가 단계 148에서 입력된다. 상술한 바와 같이, 이 필드 데이터는 키보드(68) 또는 터치 스크린(64)을 통해 입력될 수도 있고, 자기 카드 인터페이스(70)를 통해 스윕될 수도 있으며, 메모리 카드 인터페이스(89)를 통해 메모리 카드로부터 판독될 수도 있고, 데이터베이스 서버(28)로부터 모뎀 인터페이스(78)를 통해 판독되거나 음성 입력에 의해 지정될 수도 있다. 필드 데이터의 선편집 처리가 단계 150에서 수행된다. 그러한 선편집 처리는 예를 들어, 디폴트값의 설정, 연산의 수행, 다른 필드의 데이터로의 링크들의 설정, 현재 폼에 이미 링크된 필드들에의 데이터의 룩업과 기록, 또 다른 폼의 스폰(spawning), 디스플레이 스크린(20)의 특별 업데이터의 수행, 사용자에 의한 뷰로부터의 필드들의 하이딩(hiding) 등을 포함할 수도 있다. 이러한 선편집 처리는 현 필드내에서의 수정이나 실행이 또 다른 상호관계의 필드내 엔트리를 무효화할 수 있는지의 여부를 결정하는데 사용될 수도 있다. 만일 사용된다면, 모든 영향받은 필드들을 갱신하거나 그러한 문제들을 적절한 디폴트값들을 설정함으로써 방지하도록 하는데 적절한 측정치들이 채택된다.
다음에 필드 완료 루틴은 디폴트값과 단계 150에서의 동일 세트들에 기초하여 단계 152에서 필드 에러들을 체크한다. 단계 152에서 필드 에러가 전혀 없으면, 필드 에러의 부재시 오퍼레이터가 필드를 편집하는 것이 허용될 것인지의 여부가 단계 154에서 판정된다. 판정이 이루어지거나, 단계 152에서 필드 에러가 발견되었다면, 오퍼레이터는 단계 156에서 필드를 편집하게 된다. 오퍼레이터의 편집이 바이패스되면, 제어는 단계 158에서의 후편집 처리(postedit processing)로 바로 진행하게 되며, 이 처리는 데이터가 특히 유효화될 수도 있다는 점을 제외하면 선처리 단계 150에서와 동일한 기능을 수행한다. 이어서 필드는 이제 단계 160에서 필드 에러에 대해 다시 체크된다. 필드 에러가 단계 160에서 발견되면, 다음 필드의 처리 또는 중단을 위해 단계 144로 적절히 복귀한다.
단계 160에서 필드 에러가 전혀 발견되지 않으면, 단계 164(도 10)의 일반적 필드 유효화 루틴이 스킵되는지의 여부가 단계 162에서 판정된다. 스킵된다고 판정되면, 제어는 단계 166으로 진행하며, 이 경우 필드는 필드 에러에 대해 다시 한번 체크된다. 그러나, 일반적 필드 유효화가 요구되면, 제어는 단계 164(도 10)의 루틴으로 진행하게 된다. 단계 166에서 필드 에러가 전혀 발견되지 않으면, 단계 168에서 트랜잭션 버퍼(97)에 필드가 저장되고, 단계 170에서 디스플레이 스크린(20)에 갱신된 필드값이 페인팅된다. 다음에 단계 172에서 사용자가 이전 필드를 체크하기를 원한다면, 제어는 단계 174에서 이전 필드로 진행하게 되고, 필드 완료 루틴이 이전 필드에 대해 반복된다. 그러나, 체크될 이전 필드가 전혀 없고, 단계 176에서 추가 필드가 존재하는 것으로 판정되면, 제어는 단계 178에서 다음 필드로 진행하며 필드 완료 루틴이 다음 필드에 대해 반복된다. 이러한 처리는 최종 필드가 완료되고 루틴이 단계 180에서 중단될 때까지 반복된다. 다음에 제어는 폼의 다른 페이지의 처리를 위해 도 8로 복귀한다.
각각의 폼은 하나 이상의 모드에서 처리될 수도 있다. 상술된 입력 모드에서는 데이터 트랜잭션이 생성되어 데이터베이스 서버(28)에 전송된다. 그러나, 편집 모드에서는, 특정 레코드의 ID 입력시, 그 레코드는 외부 데이터베이스(30 혹은 40)로부터 편집을 위해 트랜잭션 버퍼(97)로 판독된다. 바람직하게는, 편집 레코드는 감사 추적(audit trail)의 제공을 위해 유지된다. 뷰 모드에서는, 특정 레코드의 ID 입력시, 마찬가지로 외부 데이터베이스(30 또는 40)로부터 트랜잭션 버퍼(97)내로 판독되지만 이는 디스플레이만을 위한 것이다. 최종적으로, 삭제 모드에서는, 사용자가 적절한 비밀 취급인가(security clearance)를 갖는다면 전체 레코드는 데이터베이스(30 혹은 40)로부터 삭제될 수 있다.
도 10은 각각의 데이터 트랜잭션의 필드들을 TAS 펌웨어가 어떻게 유효화하는 지를 도시하고 있다. 도시된 바와 같이, 단계 182에서 필드 유효화 루틴이 시작되고, 단계 184에서는 어느 필드 타입이 존재하는지가 먼저 판정된다. 현재의 필드가 영숫자 필드(alphanumeric field)라면, 제어는 필드 디폴트들이 처리되는 단계 186으로 진행한다. 다음에 단계 188에서는 사용자가 이러한 필드를 고려한 값들을 알고 있는지의 여부가 판정된다. 그 값들을 알고 있지 못하고, 그 필드에 세부항목들이 이식되어 있지 않으면, 단계 190에서 이식 테이블을 검색한다. "?"는 이러한 필드를 고려한 값들을 사용자가 알지 못하여, 이식 테이블을 검색하고자 함을 나타내기 위해 조작자에 의해 사용될 수도 있다. 다음에 그때까지 입력된 데이터와 매칭되는 가능한 값의 리스트가 호출된다. 이러한 리스트로부터 오퍼레이터는 리스트를 스크롤하여, 데이터 엔트리를 완료할 값을 선택할 수 있다. 그러나, 리스트내에서 값이 발견되지 않으면, 단계 192에서 필드 에러가 발생되게 되고, 단계 194에서 필드 검증 루틴이 중단된다. 리스트에서 값이 발견되면 제어는 단계 200으로 진행하게 된다.
한편, 단계 188에서, 현재의 필드에 데이터가 부가될(이식될) 필요가 없는 것으로 판정되면, 제어는 단계 196을 스킵하며, 이 스킵된 단계에서는 데이터 검증 및/또는 데이터 추출의 목적을 위해, 현재의 필드 타입이, 임의의 데이터베이스 중 어느 파일 또는 파일들(일대다)의 어느 레코드에 현재의 필드(그 폼과 더불어)가 링크될 수 있는 이벤트를 설정하는 필드인지의 여부가 판정된다. 그 판정이 긍정이면, 제어는 단계 198로 진행하고, 이전에 수집된 임의의 다른 데이터와 더불어 현재의 필드로부터의 데이터는 원하는 링크를 형성하는데 사용된다. 상술한 데이터 이식 단계 188에서처럼, 사용자는 이러한 링크를 형성하는데 필요한 정보를 얻기 위해 "?"를 입력할 수도 있다. 링크를 위한 데이터가 발견되지 않으면, 단계 192에서 필드 에러가 발행되고, 단계 194에서 필드 검증 루틴이 중단된다. 그러나, 링크를 위한 데이터가 발견되면, 단계 200에서는 블랭크를 위해 필드가 체크되고, 필드에 블랭크가 존재하기는 하지만 허용되지는 않는다면 단계 192에서 필드 에러가 발행된다. 현재의 필드에 블랭크가 전혀 발견되지 않거나, 블랭크가 발견되기는 하지만 허용되지는 않는다면, 필드 검증 루틴은 단계 202에서 중단되게 된다.
현재 필드가 수치적 필드임이 단계 184에서 판정되면, 문자 셋트가 유효한 것인지의 판정을 위해 단계 204에서 필드가 체크된다. 체크가 긍정이면, 필요에 따라, 단계 206에서 수의 정확도가 조정되고, 경계 조건들(예를 들어, 0으로 나누지 않음)을 필드 엔트리들이 만족할 수 있도록 단계 208에서 변동 범위(range)와 유효 범위(scope)가 체크된다. 단계 204에서 문자 세트가 유효하지 않은 것이거나 또는 단계 208에서 수치적 변동 범위 및 유효 범위가 유효한 것이라면, 단계 210에서 필드 에러가 발행되며 단계 212에서 데이터 검증 루틴이 중단된다. 그렇지 않다면, 필드 검증 루틴은 단계 214에서 중단된다.
만일 단계 184에서 현재 필드가 날짜/시간 필드라고 판정되면, 단계 216에서 그 필드를 체크하여 문자 세트가 유효한지 여부를 판정한다. 만일 유효하지 않다면, 단계 210에서 필드 에러가 발행되고 단계 212에서 필드 검증 루틴을 빠져나오게 된다. 그렇지 않으면, TAS 펌웨어의 루틴이 단계 218에서 날짜/시간 엔트리를 체크하여 범위 체킹 등을 행함으로써 그것이 정확한 포맷을 갖는지 여부를 판정한다. 만일 날짜/시간 엔트리가 정확한 포맷을 갖고 있지 않다면, 단계 210에서 필드 에러가 발행되고 단계 212에서 필드 검증 루틴을 빠져나오게 된다. 그렇지 않으면, 단계 220에서 현재 필드가 날짜를 포함하는지 여부가 판정된다. 만일 그렇지 않다면, 단계 221에서 데이터 검증 루틴을 빠져나오게 된다. 만일 그렇다면, 단계 222에서 날짜를 체크하여 그것이 주말을 포함하는지 여부를 확인하고, 만일 그렇다면, 단계 224에서 주말 날짜가 이 필드에 대해 수용 가능한 응답인지 여부를 체크한다. 그 후 단계 226에서 달력 파일을 체크해야할지 여부가 판정되고, 만일 그렇다면, 단계 228에서 달력 파일을 체크하여 날짜가 유효한지(예를 들면 2월 30일 등이 아닌지) 여부를 확인한다. 마지막으로, 단계 230에서 경고 날짜가 초과되었는지 여부가 판정되고, 만일 그렇다면, 단계 210에서 필드 에러가 발행되고 다음으로 단계 212에서 필드 검증 루틴이 중단된다. 그렇지 않으면, 단계 221에서 필드 검증 루틴이 중단된다.
당업자라면, 보안을 유지하기 위하여, TAS 펌웨어가 사용자에게 패스워드 입력을 위한 보안 폼을 제공할 수도 있다는 것을 알 것이다. 트랜잭션 엔트리 장치(12)의 보안 폼 및 ID는 암호화되어 특정 데이터 트랜잭션 어셈블러(18)와 연관된 데이터베이스 서버(28)에 전송된다. 데이터베이스 서버(28)의 트랜잭션 제어기(36)는 데이터 트랜잭션 어셈블러(18)에 대한 트랜잭션 제어기로서 기능할 것이고, 데이터 보안이 확실히 침해되지 않도록 동작 중에 패스워드 등을 체크할 것이다. 데이터베이스 서버들(28)은 비인가된 사용이 시도될 경우 데이터 트랜잭션 어셈블러(18)를 디스에이블시킬 수도 있다. 이런 식으로, 합당한 사람만이 각각의 메뉴를 볼 수 있다. 물론, 희망에 따라 서로 다른 수의 보안 레벨 및 서로 다른 실행 메뉴들이, 트랜잭션 제어기(36)의 제어 하에, 제공될 수 있다.
4. 데이터베이스 서버(28)
상술한 바와 같이, 데이터베이스 서버(28)는 데이터 트랜잭션 어셈블러(18)에 의해 작성된 데이터 트랜잭션들을 하나 또는 그 이상의 데이터베이스(30 및 40)에 직접 저장될 수 있는 컴포넌트 부분들로 분리하기 위한 수단으로서 기능한다. 다시 말해, 데이터베이스 서버(28)는 초기 데이터 트랜잭션을, 파일 내의 레코드 등을 갱신하기 위해 서로 다른 여러 파일들에 대한 데이터 트랜잭션들로 파열시킨다. 또한, 데이터베이스 서버(28)는 실재일 뿐만 아니라 가상적일 수 있으며, 단일 머신 또는 다수의 머신에, 전부 또는 일부가 존재한다.
일반적으로, 데이터베이스 서버(28)는 수신된 임의의 및 모든 데이터 트랜잭션들을 핸들링하고, 그 데이터 트랜잭션들 내의 데이터를 조작처리(manipulate)하고, 데이터 트랜잭션에 의해 요구된 프로세스들 또는 리포트들을 스폰(spawn) 또는 개시한다. 데이터베이스 서버(28)는 기존 레코드들 내의 값들을 갱신할 수도 있고 필요에 따라 레코드들 내의 값들을 처리하기 위한 프로세스로 전환할 수 있다. 이런 식으로, 단일 데이터 트랜잭션이 다수의 파일들이 갱신되게 하는 기능들을 정의할 수 있다. 데이터베이스 서버(30)는 또한 데이터 트랜잭션 어셈블러(18)로부터의 요구들을 핸들링하고 그것들을 필요에 따라 처리한다. 그러한 요구들은 데이터 I/O 요구, 데이터 로킹 및 언로킹, 리포트 처리, 및 새로운 폼 또는 메뉴에 대한 요구들을 포함할 수 있다. 당업자라면 데이터베이스 서버(28)가 사용자와 본 발명의 시스템 사이에 존재하는 일대다 관계, 사용자와 데이터베이스들(30 및 40) 내의 파일들에 대한 일대다 프리젠테이션, 일대다 데이터 트랜잭션 및 다수의 데이터베이스(40)의 다양한 컴퓨터 파일들, 트랜잭션 엔트리 장치(12) 및 데이터베이스 서버들(28)에 대해 요구될 수 있는 부수적 레코드, 갱신 및 포스팅들을 유지한다는 것을 알 것이다.
상술한 바와 같이, 트랜잭션 버퍼(97)는 디스플레이 스크린(20)을 통하여 사용자에게 제시되는 폼과 연관된 트랜잭션 데이터를 수집한다. 트랜잭션 버퍼(97)는 각각의 분리된 데이터 요소에 대해 적절한 위치들을 갖는 데이터 트랜잭션의 이미지이다. 트랜잭션 버퍼(97)의 컨텐츠는 모뎀 인터페이스(78)를 통하거나 RF 송수신기(90)를 통하여 데이터베이스 서버(28)에 전달되는데, 트랜잭션의 타입을 식별하는 코드 세트(44)(도 2)가 우선하고 그 다음으로 데이터베이스 서버(28)가 그것의 프로그램들과, 부가적인 데이터 트랜잭션들을 생성하고, 데이터베이스(30) 내에 데이터베이스(30)의 정식 파일 포맷으로 데이터 및 모든 부수적 트랜잭션들을 저장하는데 사용하기 위한 프로세스 식별자들의 열이 뒤따른다. 다시 말해, 데이터베이스 서버(28)는 수신된 데이터 트랜잭션의 타입에 기초하여 무슨 타입의 액션을 취할지를 결정하고, 데이터 트랜잭션을 적절한 다른 데이터베이스들에 송신하기 위해 복수의 다른 데이터 트랜잭션들로 "전개"하고, 관련된 데이터베이스(30)에 대한 데이터를 적당한 파일 포맷으로 변환한다. 물론, 각각의 데이터베이스 서버(28)는 서로 다른 타입의 데이터 트랜잭션들을 핸들링하고, 서로 다른 운영체제 특성을 갖고, 관련된 데이터베이스(30)의 파일 포맷들에 따라서 서로 다른 파일 변환을 행하기 때문에, 각각의 다른 데이터베이스 서버(28)와는 다르다. 예를 들면, 데이터베이스 서버(28)는 Unix, Windows, 또는 DOS와 같은 운영체제 하에서 동작할 수 있으며, 운영체제는 운영체제에 의해 정상적으로 핸들링되는 하드웨어 기능들로의 링크를 데이터베이스 서버(28)에 제공한다. 바람직하게는, 데이터베이스 서버(28)는 또한, 트랜잭션 파일들로서 관련 데이터베이스(30) 내에 데이터 트랜잭션들을 저장하는 것을 제외하면, 데이터 트랜잭션 어셈블러(18)와 유사한 방식으로 메뉴, 폼 등에 의해 동작한다.
방금 살펴본 바와 같이, 데이터베이스 서버(28)의 목적은 데이터 트랜잭션 어셈블러(18)로부터의 데이터 트랜잭션을 처리하고, 저장을 위하여 관련된 모든 컴포넌트들로 데이터 트랜잭션을 전개하고, 전개 처리로부터의 항목들의 저장을 핸들링하고, 참조를 위해 데이터 트랜잭션 자체를 저장하고, 데이터 트랜잭션의 작성 동안 그리고 메뉴 및 폼에 대한 파라미터들을 데이터 트랜잭션 어셈블러(18)에 다운로드하는 동안의 요구에 응답하여 데이터 트랜잭션 어셈블러(18)로의 정보의 공급자로서 기능하기 위한 것이다. 원한다면, 데이터베이스 서버(28)는 또한 데이터 트랜잭션이 수신된 후에 데이터 트랜잭션 어셈블러(18)에 도로 정보를 공급할 수도 있으며 데이터 트랜잭션 어셈블러(18)로의 리포트, 데이터, 또는 메뉴의 전달을 일으키는 처리를 개시할 수 있다. 게다가, 데이터베이스 서버(28) 및 데이터 트랜잭션 어셈블러(18)는, 데이터베이스 서버의 운영체제가 TAS 펌웨어를 인지하거나 또는 TAS 펌웨어가 데이터베이스 서버(28)의 운영체제과 함께 사용되도록 수정되는 한은 동일 머신 상에 존재할 수 있다.
5. 본 발명의 제1 실시예의 응용
위에서 개괄적으로 설명한 바와 같이, 본 발명은 사용자가 옵션을 선택하도록 메뉴를 제공하는 트랜잭션 장치의 포인트를 포함한다. 선택된 옵션에 맞추어 만들어진 폼이 나타나서 데이터 입력 동안 사용자를 가이드한다. 데이터 트랜잭션의 상세한 내용은 사용자에 의해 데이터가 입력될 때 포착된다. 중앙 데이터베이스(들) 또는 사용자 데이터베이스(들)과의 모뎀 상호작용은 임의의 입력된 데이터의 검증 및 도움말의 상호 작용을 고려한다. 완성된 트랜잭션은 중앙 또는 사용자 데이터베이스에 송신되어 더 처리되고 저장된다. 데이터 입력은 또한 모뎀 인터페이스 또는 다른 공지의 방법을 통하여 액세스 가능한 임의의 데이터베이스로부터 수신된 데이터로부터, 스와이프 카드(swipe card) 또는 스마트 카드를 통하여 제공될 수 있다.
이 타입의 데이터 트랜잭션 시스템은 여러 응용에 사용될 수 있다. 예를 들면, 제1의 바람직한 실시예에서는, 트랜잭션 엔트리 장치(12)는 환자 데이터의 입력을 위하여 의료실에 배치된다. 이 응용에서, 스와이프 카드는 환자를 식별하고, 스마트 카드는 의사를 식별하고, 현대식 접속은 전체 클레임 트랜잭션이 입력되어 보험 회사에 송신되어 처리될 수 있게 한다. 환자 레코드는 또한 자동적으로 갱신되고 처방이 작성되어 환자에게 주어지고, 약사에게 송신되고, 지불인 및 환자 레코드에 송신된다. 특별 규정식, 운동, 치료, 약속 등과 같은 환자 지시가 의사의 중앙 컴퓨터에 있는 데이터 트랜잭션 폼으로부터 프린트된다. 게다가, 비디오 입력(74)을 통하여 제공되어 데이터 압축 회로(75)에 의해 압축된 비디오 이미지 또는 화상은 발진과 같은 의학적 상태의 이미지가 데이터 트랜잭션(도 2의 잡다한 처리 필드(miscellaneous processing field)(50) 내에)에 부가되어 환자의 이름, 날짜, 환자 증상의 설명 등과 함께 송신될 수 있게 한다. 마찬가지로, 기록된 심장 박동이 데이터 트랜잭션의 말단에 부가되어 환자 데이터와 함께 송신될 수도 있다.
본 발명의 데이터 트랜잭션 엔트리 시스템은 또한 다수의 가정용 용도를 갖는다. 바람직한 가정 사용예에서, 트랜잭션 엔트리 장치는 가정으로부터 은행 트랜잭션을 수행하기 위해 사용된다. 이 경우, 서로 다른 타입의 은행 트랜잭션을 위하여 은행에 의해 폼들이 이용 가능하게 될 것이다. 이들 폼은 고객의 가정에 있는 트랜잭션 엔트리 장치에 다운로드되어 데이터 트랜잭션을 작성하고 오프라인 처리를 위하여 은행 컴퓨터에 송신하는데 이용될 것이다.
다른 예로서, 사용자는 900 번호에 다이얼업(dial-up)하여, 중앙 데이터베이스에 대한 인터페이스를 얻을 수 있고, 중앙 데이터베이스는 TAS PROM(95) 또는 임의의 주파수에서 적외선 신호의 생성을 가능케 하는 폼/메뉴 메모리(96)에 코드들을 다운로드할 것이다. 사용자는 소망의 코드를 얻기 위하여 타입을 지정하고, 임의 모델의 임의의 전자 장치가 제어되도록 하기만 하면 된다. 트랜잭션 엔트리 장치(12)는 적외선 송수신기(들)(80)를 통하여 적외선 신호를 방사하여 전자 장치를 동작시키고, 방송 프로그램용 모뎀을 통하여 호출을 개시하거나, 비디오 녹화, 비디오 녹화기의 턴 온 및 오프 등을 위한 시간이 정해진 요구(timed requests)를 개시할 것이다.
다른 가정용 이용에 있어서, 트랜잭션 엔트리 장치(12) 또한 메뉴 프롬프트를 통해, 경보 시스템, 커피메이커 등을 포함하는 다양한 가전 장치를 턴온 및 턴오프하는 시퀀스를 개시할 수 있다. 이 모드에서, 트랜잭션 엔트리 장치(12)는 침입경보나 화재경보가 작동하여 경찰이나 소방서에 신고하는 것을 표시하는 RF 혹은 적외선 신호를 수신할 것이다. 트랜잭션 엔트리 장치(12)에 대한 호출은 이후 경보장치에 적절한 제어 신호를 보내라고 적외선 송수신기(80) 또는 RF 송수신기(90)에 지시하는 형태로 필드를 변경함으로써 침입 또는 화재 경보를 끄는데 사용된다. 이러한 특징은 또한 카폰으로부터 원거리에서 개시시킬 수 있다.
트랜잭션 엔트리 장치(12)는 또한 자동응답기를 제어하고 전화 트랜잭션 로그를 보유하는 것뿐만 아니라 모든 가정용 전화의 이용을 제어할 것이다. 사용자는 또한 신용카드 회사, 은행 등과 같은 적절한 폼을 작성하고 이를 전송함으로써 청구액을 지불할 것이다. 간략히 말해서, 트랜잭션 엔트리 장치는 사용자가 동작 시스템 등을 갖는 종래의 컴퓨터 시스템없이 원거리의 데이터베이스에 접속할 수 있도록 할 것이다.
개인적인 애플리케이션에 있어서, 트랜잭션 엔트리 장치(12)는 팩스 전송을 개시하고, 선택시 자동 다이얼링으로 전화 리스트를 제공하고, 비용 계좌를 제공하고, 개인 스케줄, 세금 내역서 보관 등을 제공하며, 여행 정보로의 직접 액세스를 제공하는데 쓰일 수 있다. 예를 들어, 데이터베이스 서버(28)가 항공기 예약 시스템이 될 수 있다. 이 애플리케이션에서, 데이터 트랜잭션 어셈블리(18)은 사용자가 사용자의 트랜잭션 엔트리 장치(12)에서 이용할 수 있는 항공기 예약 폼에 데이터 기입을 요구하면 항공기 예약 시스템의 모뎀에 전화를 건다. 데이터 트랜잭션 장치(18)는 데이터베이스 서버(28)를 모뎀으로 연결하고, 데이터베이스 서버(28)의 동작시스템은 항공기 예약 시스템용의 인터페이스 프로그램을 선택한다. 인터페이스 프로그램은 항공사들의 데이터베이스 서버(38)를 호출하고, 데이터베이스(40)로부터 적절한 메뉴를 검색하여, 데이터 트랜잭션 어셈블리(18)에 메뉴를 모뎀을 통해 전송한다. 데이터 트랜잭션 어셈블리(18)는 다음에 항공기 예약 메뉴를 디스플레이 스크린(20)에 표시하고 완료되면 이를 처리하기 위해 항공기 예약 데이터베이스 서버에 다시 전송한다. 스와이프 카드(swipe card)는 신용카드 지불 정보를 제공하는 데 사용되며 있는데 데이터 트랜잭션 어셈블리가 스와이프 카드에 기입함으로써 갱신이 될 것이다. 사용자는 또한 종종 여행자 클럽과 마일리지 데이터, 호텔, 유람선과 기타 여행에 관한 혜택에 접근할 수 있다.
가정용(혹은 기업용)의 다른 이용에 있어서, 트랜잭션 엔트리 장치(12)는 호출자의 트랜잭션 엔트리 장치(12)가 수신측의 음성 메일 메뉴에서 볼수 있는 메뉴 세트에서 판독할 수 있도록 함으로써 종래의 전화 메일 인사를 제거하도록 호출측이 음성 메뉴보다는 시각적인 메뉴를 이용하여 원하는 옵션을 선택할 수 있다. 다시 말하면, 호출자는 선택에 앞서 장황한 음성 전화 메일의 옵션에 대한 설명을 들으며 기다릴 필요가 없고 자신의 디스플레이에서 바로 원하는 선택을 할 수 있다. 이는 "시각적인" 메뉴를 생성하는 트랜잭션 엔트리 장치(12)의 메뉴로부터의 과정을 선택함으로써 달성된다. 이러한 과정이 선택되면, 전화 전자 장치(14) 또는 모뎀 인터페이스(78)로 원거리 전화 메일 시스템에 전화 연결을 한다. 연결이 되면, 데이터 트랜잭션 어셈블리(18)는 전화 연결을 통해 원거리 전화 메일 시스템의 전화 메일 메뉴의 시각적인 표현에 대한 데이터 요청을 원거리 전화 메일 시스템으로 보낸다. 원거리 전화 메일 시스템의 전화 메일 메뉴의 시각적인 표현을 포함하는 데이터 스트림은 이후 전화 연결을 통해 반송되고 폼/메뉴 메모리(96)에 저장되며 본 명세서에 기재된 기술을 이용하여 선택용 트랜잭션 엔트리 장치(20)의 스크린을 표시한다. 메뉴 아이템들이 "가시적인" 음성 메일 메뉴로부터 선택되면, 데이터 트랜잭션 어셈블리(18)은 어느 메뉴 아이템이 선택되었는지를 나타내는 데이터 트랜잭션을 생성하고, 이 데이터 트랜잭션을 전화 연결을 통해 원거리 전화 메일 시스템에 전송한다. 메뉴 선택에 근거하여, 원거리 전화 메일 시스템은 이후 다음 전화 메일 메뉴의 시각적 표현을 포함하는 데이터 스트림을 폼/메뉴 메모리(96)에 저장하고 디스플레이 스크린(20)에 표시하기 위하여 전화 연결을 통해 반송한다. 이 과정은 전화를 거는 측이 메시지를 남길 필요가 있거나 수신자가 받을 때까지 반복된다. 일반적인 음성 통신은 계속될 것이다. 이러한 시스템은 특히 무수한 옵션이 주어지는 정부 기관에서와 같은 음성 메일 시스템과 상호작용할 때 유용할 것이다.
6. 클라이언트 장치 트랜잭션 혹은 폼 구동 시스템- 제2 실시예
도 11a는 본 발명이 구현되는 예시적인 폼 구동 컴퓨터 시스템을 일반적으로 도시하는 블록도이다. 상술한 바와 같이, 이러한 시스템은 표, 목록, 메뉴, 폼, 리포트, 메시지 또는 다른 모듈 정보를 나타내고, 이러한 기능성에 맞춰진 폼 구동 동작 시스템을 갖는 클라이언트 장치로부터 전송되거나 수신되는 것이나, 예컨대, 비디오 회의, 음성 처리, 및 다른 전문 애플리케이션과 같은 추가 기능을 단편적으로 이용하기 위하여 다른 동작 시스템의 기능을 클라이언트 장치(310)에 포함시킬 수 있음을 이해해야 한다. 또한, 310a, 310b, 310c, 등과 같은 다양한 장치 중 어느 하나는 TAS 311a, 311b, 311c, 등과 그에 저장된 프리젠테이션 관리자(320)와 같은 트랜잭션 애플리케이션 서버(TAS)(311)를 구비할 것이다.
이상의 통상 할당된 애플리케이션에 본 발명의 제1 실시예와 관련하여 상세히 기술한 바와 같이, TAS(311)은 기본 폼 처리, 입출력 기능을 다루기 위한 폼 또는 패널 구동 데이터 인터페이싱 객체이며 TAS(311)은 소프트웨어, 하드웨어 혹은 양자의 조합으로 구현될 수 있다. 각 장치(310)는 폼 데이터를 사용자에게 디스플레이하기 위한 출력 장치(330)와 폼 데이터를 입력하기 위한 입력 장치(340)를 구비한다. 프리젠테이션 관리자(320a, 320b, 320c 등)는 폼 데이터를 제시하고 폼 데이터와 같은 데이터를 출력 장치(330)에 푸시하는 푸시 기술을 가지고 있다. 데이터의 프리젠테이션은 시청각의 형태로 할 수 있는데, 시각적인 형태는 적어도 하나의 다른 언어, 음성, 메뉴, 폼, 오디오, 비디오, 표 정보, 텍스쳐 정보, 그래픽 정보, 혹은 이들의 조합이다.
이러한 장치들은 프리젠테이션 관리자(320)와 TAS(311)를 제어하는 마이크로프로세서, 프리젠테이션 관리자(320), 사용자에게 데이터를 표현하기 위한 디스플레이, 데이터 스트림을 송수신하고 삽입하는 장치를 포함하면 어떠한 종류의 것이라도 좋다. 스크린은 적어도 부분적으로는 터치 스크린일 수 있다. 장치(310)에 대한 통신은 유선, 무선, 적외선, 고전력의 무선주파수, 저전력의 무선주파수, 레이저, 펄스 전송 혹은 이들의 조합을 통해서 이루어질 수 있으며 적어도 전화 회로, 개인 네트워크, 인터넷, LAN, WAN, 프레임, 가상 개인 네트워크, PBX(Public branch exchange), IPPBX(Internet protocol piblic branch exchange), 및 VOIP(voice over internet protocol) 중 하나를 포함하는 네트워크를 통해 이루어질 수 있다. 통신에는 클라이언트 장치(310)로부터의 혹은 클라이언트 장치로의 보안 기술과 인증 기술을 포함할 수 있다. 예시적인 장치로 스크린 전화, 휴대 장치, PC, 포켓 PC, 및 다른 통신 장치들이 예이다. 클라이언트 장치에 BOSS 소프트웨어 제어 컴퓨터(350)로부터 데이터 통신을 하는 것은 클라이언트 장치로부터 적절한 데이터 응답을 결정함과 함께 이용할 파라미터를 저장하기 위한 필드를 포함한다. 이러한 필드는 고정되거나 가변 길이일 수 있으며 동적으로 변경될 수 있다. 따라서, 음성 응답을 필요로 하는 음성 데이터 스트림은 음성 데이터 스트림에 삽입되거나 부착된 필드를 가질 수 있는데 이것으로 필드는 그 음성 데이터 스트림에 대해 변하지 않는다. 음성 혹은 문자응답 중 하나를 필요로 하는 음성 데이터 스트림은 음성 또는 문자가 특정되도록 음성 데이터 스트림과 연관된 가변 필드를 가질 수 있다. 데이터 스트림의 필드는 또한 동적으로 변하여 연관된 데이터 스트림의 다른 특성을 나타내거나 데이터 스트림 응답 기준을 검토하거나 줄일 수 있다. BOSS 소프트웨어 제어 컴퓨터(350), 다른 애플리케이션(365), 데이터베이스(355), 다른 클라이언트 장치(310) 등과 같은 시스템 부품들 중 어느 하나는 데이터 스트림의 필드를 본 발명에 따라 저장, 생성, 제거, 부가, 변경, 아니면 처리하여 클라이언트 장치(310)에 도착한 데이터에 대한 응답에 요구되는 동적인 기술을 수용할 수 있다. 따라서, 예컨대, 클라이언트 장치(310)에 전달되는 음성 데이터는 클라이언트 장치(310)로부터의 유효 응답에 대한 제약을 구체화하는 연관된 필드를 가질 수 있다. 예를 들어, 음성 데이터는 음성 또는 문자 데이터를 클라이언트 장치(310)로부터 반송되도록 요구할 것이며 필드는 이 목적으로 음성 데이터와 연관될 수 있다.
광역 동작 시스템 서버(BOSS: Broad operation system server) 소프트웨어는 폼 데이터 혹은 시스템 데이터를 처리, 저장과 회수를 위해 데이터베이스(355)에서 혹은 데이터베이스로 송수신하는 것을 다루기 위한 컴퓨터(350), SuperBOSS(360), 다른 애플리케이션(365) 및 다른 BOSS 소프트웨어 제어 컴퓨터(350)들을 제어한다. 이러한 데이터 전송은 데이터, 음성, 비디오, 등을 표현할 수 있으며 보안을 위해 암호화될 수 있다. SuperBOSS(360)은 클라이언트 장치(310)로부터의 다양한 요구에 대해 BOSS 소프트웨어 제어 컴퓨터(350)의 로케이터로 작용한다. SuperBOSS(360)은 또한 네트워크 특정 식별 정보를 위해 SuperBOSS 데이터베이스(370), 예컨대 370a 및 370b와 통신한다.
전화 네트워크의 경우, 이 정보는 데이터베이스(370b)에 저장된 PSTN(public switched telephone network) 넘버나 IP 주소일 것이다. 인터넷이나 IP 주소 넘버 혹은 다른 식별 정보를 이용하는 다른 네트워크의 경우, 데이터베이스(370a)는 IP 주소 정보를 저장할 것이다. 요약하면, 데이터베이스(370)은 BOSS 소프트웨어 제어 컴퓨터(350)과 다른 일반 시스템에 로케이터로 작용할 수 있도록 통신 네트워크에 특정하는 어떠한 정보라도 저장할 수 있다. 그러므로, 동적 IP 혹은 교환 네트워크 넘버가 동적으로 설정될 수 있으며 사용자가 로그인하거나 클라이언트 장치(310)와 세션을 시작하기만 하면 어디에서든 어느 사용자에게 메시지를 송신하거나 푸시할 수 있다. 세션을 시작한 후, (예컨대, 전화를 걸거나 전원을 켬으로써) 혹은 로그인을 한 후에는, "멤버쉽" 확인 후 IP 주소를 SuperBOSS(360)에 보낸다. 멤버쉽은 영구적일 수도 있고, 일시적, 예컨대, 일회용일 수도 있다. 정적 로케이터로서, 사용자의 "가입" 클라이언트 장치(310)은 고정된 식별 정보를 갖고, 이 정보는 그 클라이언트 서버(310)의 사용자로부터 전달되거나 수신될 것이다. 사용자는 또한 위치 및/또는 클라이언트 장치(310)를 변경할 수 있다. 따라서, SuperBOSS(360)의 기능들을 위치시키는 방법으로, 시스템이 사용자의 위치 변화를 수용하고, 또 다른 공인된 클라이언트 컴퓨터에 전달하기 위한 사용자의 요구를 수용할 필요가 있다. 사용자와 클라이언트 장치를 데이터가 바른 목적지에 도달하도록 동적으로 위치시킴으로써 이와같이 할 수 있다. 따라서, SuperBOSS(360)는 정적로케이터와 동적 로케이터 모두로 작용한다.
SuperBOSS(360)용 소프트웨어가 별개로 제공될지라도, 본 실시예에서는, 바람직하게, SuperBOSS(360)의 기능들이, 개념적으로 SuperBOSS(360)가 별개로 위치한 것으로 도시되어 있는 도 11a를 제외하고는, 어느 컴퓨터에나 로드될 수 있는 BOSS 소프트웨어 패키지의 일부로 제공된다. 따라서, BOSS 소프트웨어 제어 컴퓨터(350)는 그 안에 포함된 SuperBOSS(360)의 기능을 갖는다. 본 명세서에서 사용한 바와 같이, 로케이터/SuperBOSS(360)는 본 발명에 따른 로케이팅 기능을 수행하는 소프트웨어 혹은 컴퓨터와 같은 하드웨어로 로케이팅 기능을 수행하는 소프트웨어를 포함하는 하드웨어를 둘다 지칭한다.
이러한 기능들은 BOSS 소프트웨어 제어 컴퓨터(350)의 기능이 다음과 같은 동작을 하도록 해준다: 클라이언트 장치(310)로부터 애플리케이션(들)(365) 혹은 데이터베이스(355)로의 트랜잭션을 위한 패스쓰루/콘딧(pass through/conduit), 로케이터/SuperBOSS(360)를 포함하는 로케이터 시스템에 대한 라우터, 클라이언트 장치(310), 예컨대, 다른 클라이언트 장치(310) 또는 애플리케이션(365)에 대한 음성 데이터와 같은 임의의 형식의 데이터의 푸셔, 클라이언트 장치(310)나 시스템의 다른 부분에 대한 신규 또는 갱신된 소프트웨어의 푸셔, 다른 클라이언트 장치(310)간의 링크, 암호화된 보안 검증 통신 도구, 다른 BOSS 소프트웨어 제어 서비스에 대한 라우터, 및 암호화 키의 처리를 포함하는 암호화된 통신의 부호기 또는 복호기. 그러므로, 예를 들면, BOSS 소프트웨어 제어 컴퓨터(350)는 다른 소프트웨어 제어 컴퓨터(350)에 연결될 수 있고, 예컨대 메시지를 포워드하는 등 TAS(311a)로부터 TAS(311b)로의 커넥터로 작용하며, TAS(311)를 필요한 애플리케이션(365) 또는 데이터베이스(355)에 링크할 수 있다.
BOSS 소프트웨어 제어 컴퓨터(350)는 또한 PBX(private branch exchange)로 접속하기 위해 게이트웨이(375)에 접속된다. 따라서, 전화 네트워크 하부 구조가 본 발명에 결합된다. 이는, 예컨대, 장거리 전화를 인터넷을 통해 라우팅하고 데이터를 로컬 PSTN(390)에 게이트웨이(375)와 PBX(385)를 통해 반송함으로써 장거리 전화료를 없애거나 줄일 수 있으므로, 유용하다.
본 발명에 따라 폼 구동 혹은 패널 구동 TAS(311)를 갖는 클라이언트 컴퓨터가 하나 이상의 다양한 컴퓨터 플랫폼이 될 수 있다는 것을 이해해야 한다. 예를 들어, 컴퓨터 플랫폼은 다양한 휴대용 장치, 스크린 폰, 퍼스널 컴퓨터, 데이터 저장과 처리 능력을 갖는 전자통신 장치, 폼 구동 입출력을 할 수 있거나 유용하게 이용하는 컴퓨터를 포함한다. 폼 구동 시스템은 폼의 표현(패널 정의로부터 패널 장착)을 위한 폼 정보의 검색에 적합하고, 또한 입력 폼 데이터(사용자 입력, 예컨대, 폼이나 패널을 채움)에 적합하다. 출력 장치(330)에 표현되는 폼이나 패널 데이터를 프리젠테이션이라 한다. 이는 시각적 데이터, 그래픽 이미지, 비디오 혹은 스피치 가시화 혹은 스피치 음성일 될 수 있다.
본 발명에 따라 데이터의 저장 및 통신과 함께 다양한 데이터 보안 기술이 이용될 수 있다. 예를 들어, 공지의 암호화 알고리즘이 데이터의 보안 전송에 이용될 수 있다. 예를 들어, 호핑 알고리즘은 해독 키가 다음 해독 키와 같지 않다는 것을 확인하는 것이다. 인증 집적 회로를 가지고 있는 보안 메모리가 더 큰 수준의 보안을 제공하기 위해 종래 메모리를 대체할 수 있다. 따라서 보안 온라인 트랜잭션과 관련하여 다양한 보안 방법을 행할 수 있으며, 본 발명의 통신용 보안 측정과 함께 사용될 수도 있다.
또한 데이터의 보안 전송을 보충하는데 적합한 광범위한 인증 기술이 있다. 다양한 사용자나 장치 인증 기술에는 장치들간의 복잡한 핸드셰이킹, 지문, 홍채 스캔, 키 카드, 자기띠를 갖는 카드, 자기 카드, 마이크로칩 카드, 신체 인증 기술인, 패스워드, 홍채 스캔, 망막 스캔, 지문, 음성 서명, 외형, 신체 신호들의 조합 등이 포함된다. 또한, 보안 수준은 데이터의 민감도, 사용자 액세스 레벨 등에 따라 층이 나누어질 수 있다. 따라서 본 발명의 폼 구동 시스템을 위한 안전한 보안 수준을 제공하는 보안 전송 기술을 보충하기 위해 하나 이상의 인증 기술을 사용한다. 이상의 보안 기술은 또한 상기 제1 실시예와 관련하여 구현될 수도 있다.
본 바람직한 실시예에서, 암호화와 인증 소프트웨어는 각 폼과 관련 데이터을 암호화하고 부가적인 보안 층을 제공하기 위해 적어도 하나의 사용자와 시스템 부품에 인증 기술을 적용한다. 인증 기술로는 자기 카드, 마이크로칩 카드, 신체 인증 기술을 이용한다. 신체 인증은 하나 이상의 패스워드, 홍채 스캔, 망막 스캔, 지문, 음성 서명, 외형, 신체 신호나 다른 인증 기술을 포함한다.
도 11b는 본 발명을 구현하는 장치 세트의 일반적인 시스템의 예를 나타내는 블록도이다. 전술한 바와 같이, 장치(310)는 CyberfoneTM(310a), PC(personal computer)(310b), 휴대용 장치(310c), 스크린 폰(310d), 혹은 본 발명에 따른 TAS(311)과 프리젠테이션 관리자(320)에 부속되는 임의의 장치가 될 수 있다. 장치(310)는 BOSS 소프트웨어 제어 컴퓨터(350)와 통신한다. 사용자가 장치(310), 예컨대 PC(310b)로 로그인함으로써 세션을 시작하면, 사용자 인증 과정을 거친다. 사용자가 유효하면 시스템에 있는 메시지 데이터는 즉시 그 사용자에게 푸시된다. 이 메시지 데이터는 의학 정보에서부터 결혼 통지에 이르기까지, 사용자가 이전에 요구했던 임의의 데이터 등을 표시할 수 있다.
예컨대, 전화를 걸거나 클라이언트 장치(310)에 로그인함으로써 클라이언트 장치(310)와 세션을 시작한 후, 사용자는 BOSS 소프트웨어 제어 컴퓨터(350)에 포워드된 태스크를 요청할 것이다. BOSS 소프트웨어 제어식 컴퓨터(350)는 태스크를 완료하기 위하여, 그리고/또는 메시지 데이터를 다른 사용자에게 푸시하는 것과 같은 것에 응답하여 다른 태스크를 발생시키기 위하여 애플리케이션(365) 또는 데이터베이스(355)와 통신할 수 있다. 전술한 바와 같이, 로케이터/SuperBOSS(360)는 통신 링크(390)를 통해 BOSS 소프트웨어 제어식 컴퓨터(350)와 통신하여, BOSS 소프트웨어 제어식 컴퓨터(350)가 정보를 적절히 라우팅하기 위하여 어느 클라이언트 장치(310)가 어느 다른 BOSS 소프트웨어 제어식 컴퓨터(350)와 연관되어 있는지를 결정하는 것을 보조하거나 돕는다. 이렇게 함으로써 클라이언트 장치(310)에 대한 PSTN 번호 및/또는 IP 어드레스가 저장된다. 클라이언트 장치(310)는 본 시스템의 통신 공간(385)에 대해 복수의 접속을 가질 수 있다. 예컨대, 모뎀을 통해 전화 네트워크 접속이 설정될 수 있으며, 이더넷 카드 등을 통해 다른 종류의 네트워크 접속이 설정될 수 있다. 다른 옵션들로는 무선 통신 링크, LAN, WAN 등에 대한 각종 접속이 있다. 따라서, 통신 공간(385)은 장치(310)와 BOSS 소프트웨어 제어식 컴퓨터(350) 사이의 통신을 나타내는 추상 개념이다.
삭제
BOSS 소프트웨어 제어식 컴퓨터(350)의 사시도로부터, 관련 클라이언트 장치(310)로부터 데이터의 커널을 수신한 후, 데이터의 분배 채널에 관하여, 즉 데이터가 어디에 속하는지, 어떻게 더 처리되고, 다른 BOSS 소프트웨어 제어식 컴퓨터(350), 다른 애플리케이션(365) 또는 데이터베이스(355)로 확장되거나 분해되어야 하는지에 대해 판정이 이루어진다. 일반적으로, 데이터의 커널은 음성, 그림, 비디오 스트림 또는 데이터의 다른 디지털 스트림 중 어느 하나 이상을 포함한다. 전술한 바와 같이, BOSS 소프트웨어 제어식 컴퓨터(350)는 클라이언트 장치(310)에서 애플리케이션(365) 또는 데이터베이스(355)로의 트랜잭션을 위한 패스 스루/콘딧으로서, 로케이터/SuperBOSS(360)를 포함하는 로케이터 시스템에 대한 라우터로서, 클라이언트 장치(310)에 대한 임의의 종류의 데이터의 푸셔로서, 클라이언트 장치(310) 또는 시스템의 다른 부분에 대한 새로운 또는 갱신된 소프트웨어의 푸셔로서, 상이한 클라이언트 장치들(310) 간의 링크로서, 암호화되고 보안 인증된 통신용 수단으로서, 다른 BOSS 소프트웨어 제어식 서비스에 대한 라우터로서, 그리고 암호화된 통신의 디코더 또는 인코더로서 동작하는 능력을 갖고 있다. 로케이터/SuperBOSS(360)는 아래의 각종 양태에서 설명되는 바와 같이 상기 프로세스들을 보조할 수 있다. 장치(310)와, 사용자들이 있는 곳, 및 사용자들이 등록된 곳을 추적하여 로케이터/SuperBOSS(360)는 데이터가 적당한 클라이언트 장치(310)로 듀티적으로 라우팅되는 것을 돕는다.
또한, 클라이언트 장치(310)의 TAS(311)는 내부적으로 또는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터, 폼을 요구하는 기능을 포함하는 여러 개의 종합 기능을 갖는다. 폼은 예컨대 장치(310)의 사용자에게 표시된 메뉴와 관련하여 TAS(311)에 의해 요구될 수 있다. TAS(311)는 장치(310)의 사용자에게 메뉴를 제공할 수 있다. TAS(311)는 보고서, 즉 사용자에 의해 채워지고 있는 폼에 사용되는 데이터의 서브세트를 수신하고 처리하여 표시할 수 있다. 또한, TAS(311)는 다른 사용자를 발견하고, 다른 사용자에게 메시지 또는 다른 데이터를 푸시하고, 다른 멤버들의 서브세트에 데이터를 푸시하는 등의 각종 프로세스를 행할 수 있다. 따라서, 사용자가 클라이언트 장치(310)에 로그온하거나 클라이언트 장치와 함께 세션을 시작하면, 클라이언트 장치의 위치 및 히스토리를 알 수 있게 되고, 로그온한 사용자를 알 수 있게 된다. 결과적으로, 임의의 메시지가 사용자에게 푸시될 준비가 되면, 이들 메시지는 사용자 세션 개시(예컨대 로그인) 후에 푸시될 수 있다. 또한, 호 전송 등과 같은 전화의 각종 기능 모두가 구현될 수 있다. 예컨대, 사용자는 메시지가 임시로 제2 클라이언트 장치로 가도록 요구할 수 있다.
도 12는 BOSS 소프트웨어의 일반 기능을 나타낸다. 전술한 바와 같이, 로케이터/SuperBOSS(360)는 본 발명의 로케이팅 기능을 행하기 위하여 BOSS 소프트웨어에 통합될 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 장치(310), 다른 애플리케이션(365), 데이터베이스(355) 또는 로케이터/SuperBOSS(360)에 대한 정보의 콘딧 또는 라우터(352)로서 동작할 수 있다. 또한, BOSS 소프트웨어 제어식 컴퓨터(350)는 예컨대 다른 클라이언트 장치(310), 애플리케이션(365) 또는 데이터베이스(355)로부터 클라이언트 장치(310)에 대한 음성 데이터와 같은 임의의 종류의 데이터의 푸셔로서 동작할 수 있다. 로케이터/SuperBOSS(360)는 음성 메시지의 전달을 위한 적당한 BOSS 소프트웨어 제어식 컴퓨터와 같은 정보의 전달을 위한 적당한 시스템 성분을 로케이팅함으로써 이러한 노고를 돕는다. BOSS 소프트웨어 제어식 컴퓨터(350)는 또한 클라이언트 장치(310) 또는 시스템의 다른 부분에 대한 새로운 또는 갱신된 소프트웨어의 푸셔로서 동작할 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 또한 상이한 클라이언트 장치들(310), 다른 애플리케이션(365), 데이터베이스(355), 로케이터/SuperBOSS(360) 및/또는 다른 BOSS 소프트웨어 제어식 서비스들 간의 링커/라우터(353)로서 동작할 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 또한 통신을 위한 인증 작업을 행하기 위해, 그리고 통신을 디코딩 또는 인코딩하기 위해, 보안/인증 통신 수단(354)을 구비할 수 있다. 수단(354)은 본 발명의 시스템의 통신에 대한 보호장치(shroud)로 동작하며, 그 자체로서 암호화되고 보안 인증된 통신을 제공한다.
도 13a 내지 도 13c는 본 발명에 따른 BOSS 소프트웨어 제어식 컴퓨터(350)와, 폼 구동 트랜잭션 애플리케이션 서버(311) 및 프리젠테이션 관리자(320)를 구비한 클라이언트 컴퓨터(310) 사이의 예시적인 통신 흐름을 나타낸다. 먼저, 다음의 도 13a 내지 도 17은 본 발명에 따른 예시적인 통신을 나타낸다는 것을 이해해야 한다. 일반적으로 이들 도면은 본 발명에 따른 폼 구동 컴퓨터 시스템에서 서버 컴퓨터의 동작 양태를 나타낸다. 그러나, 예컨대 흐름 포인트 또는 노드에 의해 나타나는 임의의 동작들은 "그 동작들이 발생할 때 발생하는" 인터럽트들에 의해 처리될 수 있기 때문에, 또는 데이터가 일반적으로 도 11a 및 도 11b에 도시된 각종 구성요소에 대해 연속적으로 일반적으로 스트리밍할 수 있기 때문에 상기 흐름도는 오해의 소지가 있다. 또한, 몇몇 동작은 다른 동작들과 동시에 일어날 수 있지만, 폼 구동 컴퓨터 시스템에서의 구성요소들의 예시적인 통신 및 듀티에 대한 설명은 본 발명의 특정 양태 및 일반 양태 모두를 전달하는데 유용하다. 또한, 도 13a 내지 도 17에서 도시된 프로세스들은 동시적인 프로세스일 수 있고 불변적으로 함께 연결될 수 있으므로, 다른 도면들과 적절하게 관련되어 해석되어야 한다.
도 13a는 클라이언트 컴퓨터(310)의 사시도로부터 BOSS 소프트웨어 제어식 컴퓨터(350)와 클라이언트 컴퓨터(310) 간의 예시적인 통신을 나타낸다. 1200 및 1202에서 클라이언트 컴퓨터(310)의 초기화 및 사전 요구 처리 후, 1204에서 클라이언트 컴퓨터(310)의 TAS(311)는 BOSS 소프트웨어 제어식 컴퓨터(350)에 패널 정의에 대한 요구를 전송한다. 이어서, 1206에서 클라이언트 컴퓨터(310)는 패널 정의의 전달을 위한 준비로서 일부 사전 응답 처리를 행한다. 1208에서 TAS(311)는 BOSS 소프트웨어 제어식 컴퓨터(350)에 의해 제공되는 패널 정의를 수신한다. 1210 내지 1216 및 1218 내지 1222의 평행 경로에 의해 도시된 바와 같이, TAS(311)는 데이터를 요구하여 수신하면서(1210 내지 1216), 동시에 패널을 구성한다(1218 내지 1222). 1224 및 1226에서 TAS(311)는 출력 장치(330) 상에 제공될 프리젠테이션을 구성하고 프리젠테이션에 데이터를 넣는다. 1228에서 TAS(311)는 이 프리젠테이션을 프리젠테이션 관리자(320)에 전송하고, 프리젠테이션 관리자(320)는 프리젠테이션을 출력 장치(330)에 전송 또는 푸시한다. 이어서, 상기 프리젠테이션이 디스플레이되고, 시스템은 사용자 입력을 기다릴 수 있게 된다.
입력 장치(340)로부터 입력이 수신된 때, 이 입력은 인증을 위해 BOSS 소프트웨어 제어식 컴퓨터(350)로도 전송된다. 1230에서, 입력이 수신되기 전에 TAS(311)는 사전 상호작용 처리를 행한다. 1232에서, 사용자 입력이 수신되어 1234에서 TAS(311)에 의해 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송된다. 전술한 바와 같이, BOSS 소프트웨어 제어식 컴퓨터(350)는 사용자 입력을 적당한 입력으로서 인증하는 역할을 할 수 있다. 따라서, 1236에서 BOSS 소프트웨어 제어식 컴퓨터(350)에 의해 사전 인증 처리가 행해진다. 1238에서 인증이 허용되지 않은 경우, TAS(311)는 프리젠테이션 관리자(320)에게 통지하고, 흐름은 1230으로 돌아간다. 프리젠테이션 관리자(320)는 프리젠테이션을 변경하거나, 인증의 결여를 지시하는 메시지를 사용자에게 푸시한 다음, 추가 또는 교체 사용자 입력을 수신하도록 시스템을 준비시킨다. 1238에서 인증이 허용되고, 1242에서 데이터가 대화를 완료하기 위한 요구를 지시하면, 흐름도는 1248에서 종료한다. 인증이 허용되지만, 1242에서 데이터가 트랜잭션을 완료하기 위한 요구를 지시하지 않는 경우에는 TAS(311)는 1244에서 대화를 완료하는 데 필요한 추가 데이터에 대한 사전 요구 처리를 계속하여 수행하며, 이 데이터는 1246에서 수신될 수 있다. 그 다음, 대화를 완료할 수 있는 추가 폼 데이터를 모으기 위하여 흐름은 1204와 같이 흐름도의 다양한 위치 중 어느 하나에서 계속될 수 있다.
도 13b는 BOSS 소프트웨어 제어식 컴퓨터(50)의 사시도로부터 BOSS 소프트웨어 제어식 컴퓨터(50)와 클라이언트 컴퓨터(310) 간의 예시적인 통신을 나타낸다. 개시(1250) 후, BOSS 소프트웨어 제어식 컴퓨터(350)는 1252에서 클라이언트 컴퓨터(310)로부터의 패널 정의를 위한 요구에 대한 준비로서 사전 요구 처리를 행하거나, 적당한 경우 메시지 등을 장치(310)에 푸시한다. 1254에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 TAS(311)로부터 패널 정의에 대한 요구를 수신하고 1256에서 사전 응답 처리를 행한다. 1258에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 요구된 패널 정의를 TAS(311)로 전송한다. 그 다음, 1260에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 데이터에 대한 사전 요구 처리를 행한다. 1262에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 TAS(311)로부터 데이터에 대한 요구를 수신한다. BOSS 소프트웨어 제어식 컴퓨터(350)는 응답 전에 1264에서 사전응답 처리를 행한다. 1266에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 요구된 데이터를 TAS(311)에 전송하고, 이어서 클라이언트 장치(310)는 사용자 출력 장치(330)에 프리젠테이션을 디스플레이하기 위한 패널을 구성한다.
1268에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 사전 데이터 수신 처리를 행하고, 이어서 1270에서 TAS(311)로부터 프리젠테이션에 응답하여 입력된 데이터를 수신한다. 데이터가 수신되면, 1272에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 1274에서 수신되는 인증 요구에 대한 준비로서 사전 처리를 행할 수 있다. 1276에서 인증 절차가 수행되고 완료된다. 1278에서 1276에서 계산된 인증 정보가 TAS(311)로 전송된다. 1280에서는 1270에서 수신된 데이터가 대화의 완료를 지시하는지에 대한 판정이 이루어진다. 그러한 경우, 1282에서 흐름도의 프로세스 동안 BOSS 소프트웨어 제어식 컴퓨터(350)에 의해 수신된 데이터의 일부 또는 전부가 저장을 위해 마킹된다. 1284에서 저장 처리의 사전 확인이 시작되고, 이어서 1286에서 기록 또는 저장 동작이 적절히 이루어졌음을 데이터베이스(355)로부터 확인한다. 1288에서 프로세스 확인이 완료되었는지에 대한 판정이 이루어진다. 그러한 경우, 1290에서 TAS(311)는 완료된 대화를 통지받고, 흐름은 1302에서 종료한다. 그렇지 않은 경우, TAS(311)는 데이터가 데이터베이스에 적절히 저장되지 않았음을 통지받으며, 흐름은 예컨대 1268에서 다시 진행될 수 있는데, 여기서 BOSS 소프트웨어 제어식 컴퓨터(350)는 대화가 적절히 완료될 수 있도록 동일한 또는 새로운 데이터를 사용자로부터 수신하기 위해 준비한다.
그러나, 1280에서 사용자 데이터가 대화가 완료되지 않은 것으로 지시하는 경우, 예컨대 더 많은 폼 데이터가 수집되어야 하는 등의 경우, 데이터는 1292에서 처리되고, 1294에서 데이터는 TAS(311)로 전송된다. 보다 구체적으로, 데이터가 상호작용 완료 요구를 포함하지 않는 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 1292에서 데이터를 다른 애플리케이션(365)으로 전송하거나 데이터 스토리지(355)에 전송하거나 추가 애플리케이션(365)을 로딩하도록 명령(데이터에 의해 특정됨)을 전달함으로써 데이터를 처리한다. 그 다음, BOSS 소프트웨어 제어식 컴퓨터(350)는 애플리케이션(365) 또는 스토리지(355)로부터 데이터를 수신한다. 그 다음, BOSS 소프트웨어 제어식 컴퓨터(350)는 1294에서 데이터를 TAS(311)에 전송하며, TAS(311)는 데이터를 처리하여 패널 정의에 대한 요구를 형성한다(도 13a 참조). 1296에서, BOSS 소프트웨어 제어식 컴퓨터(350)는 클라이언트 장치(310)의 TAS(311)로부터 패널 정의에 대한 요구를 수신한다. 1298에서, 요구에 대한 사전 응답 처리가 이루어지고, 1300에서 패널 정의가 클라이언트 장치(310)의 TAS(311)로 전송된다. 그 다음, 흐름은 1268로 복귀하여, BOSS 소프트웨어 제어식 컴퓨터(350)는 대화를 완료할 수 있는 추가 데이터의 수신을 다시 준비할 수 있게 된다.
전술한 바와 같이, 본 발명은 장치(310)에 대한 메시지 또는 데이터의 푸싱과 관련하여 이용될 수 있다. 예컨대, 사용자가 장치(310a)로 세션을 시작하거나 장치에 로그온한 후, 사용자는 시스템에 등록된 다른 사용자에 대한 관계가 발생하도록 BOSS 소프트웨어 제어식 컴퓨터(350), 데이터베이스(355) 또는 다른 애플리케이션과 관련하여 몇몇 동작, 데이터 검색 또는 처리가 발생하도록 할 수 있다. 기본적으로, 메시지 또는 다른 데이터 패킷이 제2 또는 다른 사용자에게 전송될 필요가 있을 수 있도록 시스템에서 몇몇 동작이 발생할 수 있다. 다른 사용자가 시스템에 로그온하거나 시스템과의 접촉을 시작할 때, 다른 사용자의 인증 후에 BOSS 소프트웨어 제어식 컴퓨터(350)는 가능하면 빨리 또는 적당한 때 메시지 또는 다른 데이터 패킷이 다른 사용자에게 전송되거나 푸싱되도록 한다.
도 13c는 프리젠테이션 관리자(320)의 사시도로부터 BOSS 소프트웨어 제어식 컴퓨터(50)와 클라이언트 장치(310) 간의 예시적인 통신을 나타내며, 본 발명에 따른 푸시 능력을 나타낸다. 사용자가 임의의 푸시 기능을 거부할 수도 있지만, 본 발명에서는 BOSS 소프트웨어 제어식 컴퓨터(350)를 통해 다른 클라이언트 장치(310), 애플리케이션(365) 및/또는 데이터베이스(355)로부터 클라이언트 장치로 데이터가 푸시되고 있는 것으로 가정한다. 시작(1304) 후, 프리젠테이션 관리자(320)는 1306에서 TAS(311)로부터 프리젠테이션 및 대응 데이터의 수신을 위한 준비와 같은 사전 동작 처리를 행한다. 1308에서 프리젠테이션 관리자(320)는 BOSS 소프트웨어 제어식 컴퓨터(350)를 통해 TAS(311)로부터 프리젠테이션 및 대응 데이터를 수신한다. 1310에서 프리젠테이션 관리자(320)는 데이터 및 프리젠테이션을 사용자 출력 장치(330)에 푸시한다. 따라서, 프리젠테이션 관리자(320)는 푸시 테크놀로지 기술과 관련하여 사용될 수 있는데, 여기서 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 TAS(311)를 통해 수신되는 폼 데이터가 출력 장치(330)로 출력된다. 1312에서 후 푸시 처리가 발생하고, 프리젠테이션 관리자(320)는 예컨대 프리젠테이션 및 대응 데이터의 새로운 수신을 준비하기 위하여 1306으로 진행한다.
도 14a는 SuperBOSS(360)의 사시도로부터 SuperBOSS(360)와 BOSS 소프트웨어 제어식 컴퓨터(350) 사이의 예시적인 통신 흐름을 나타낸다. 시작(1320) 후, SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)에 의해 BOSS 라이센스 정보를 포함하는 데이터와 접촉된다. BOSS 라이센스 정보는 각종 정보를 포함할 수 있으며, BOSS 소프트웨어 제어식 컴퓨터(350) 식별과 관련된 데이터, BOSS 소프트웨어 제어식 컴퓨터(350)가 누구와 통신하는지를 지정하는 데이터 등을 포함할 수 있다. SuperBOSS(360)는 1324에서 접촉의 확인 신호를 BOSS 소프트웨어 제어식 컴퓨터(350)에 전송한다. 1326에서 SuperBOSS(360)는 BOSS 라이센스 정보를 확인한다.
BOSS 라이센스 정보가 유효하지 않은 경우, 1328, 1330 및 1332에서 SuperBOSS(360)는 부적당한 라이센스와 관련된 메시지를 BOSS 소프트웨어 제어식 컴퓨터(350)에 전송하고, 접촉을 형성하는 BOSS 소프트웨어 제어식 컴퓨터(350)와의 접속을 종료하고, 흐름을 종료한다.
BOSS 라이센스 정보가 유효한 경우, 1334에서 SuperBOSS(360)는 사용자 식별(UID) 및 현재 IP 어드레스 및/또는 다른 네트워크 식별 정보의 리프레시에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1336에서 SuperBOSS(360)는 1338에서의 리프레시된 식별 정보의 수신을 위한 준비로서 사전 응답 처리를 행한다. 1340에서 SuperBOSS(360)는 리프레시 정보가 적절히 수신되었음을 알리는 확인 신호를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1342에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(SBDB; 370)에 대한 접속을 연다. 1344에서 SuperBOSS(360)는 UID 및 현재의 IP 어드레스의 리스트 및/또는 다른 식별 정보를 SuperBOSS 데이터베이스(370)로 전송한다. 1346에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(370)에 대한 접속을 닫는다.
1348에서 SuperBOSS(360)는 특정 사용자의 PIM(개인 정보 관리자) 리스트에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)에 전송한다. PIM은 연락처(주소, 전화번호 등), 약속, 일정 리스트(to do lists), 미리알림(reminder) 등을 기록하는데 사용되는 접촉 관리 오브젝트이다. 1350에서 SuperBOSS(360)는 사용자의 PIM 리스트의 수신에 대한 준비로서 사전 응답 처리를 행한다. 1352에서 SuperBOSS(360)는 PIM 정보를 포함하는 응답을 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 수신하고, 이에 대한 수신 확인이 1354에서 전송된다. 1356에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(370)에 대한 접속을 연다. 1358에서 SuperBOSS(360)는 UID 및 현재의 IP 어드레스 및/또는 다른 식별 정보를 위해 SuperBOSS 데이터베이스(370)를 폴링한다. IP 어드레스 및 전화 번호가 1360 및 1362에서 검색되고, 이어서 SuperBOSS(360)는 SuperBOSS 데이터베이스(370)에 대한 접속을 행한다. 예컨대, SuperBOSS(360)는 SB PSTN 데이터베이스(370b)에 대한 접속을 열 수 있고, 이어서 SuperBOSS(360)는 PSTN 번호를 위해 SB PSTN 데이터베이스(370b)를 폴링할 수 있다. 이어서, SuperBOSS(360)는 적당한 PSTN 번호를 검색한 SB PSTN 데이터베이스(370b)를 닫을 수 있다. 1364에서 프로세스 널이 결과된 후, SuperBOSS(360)는 1366에서 사용자 PIM의 리프레시를 위해 식별 정보의 패킷을 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 널(Null) 결과는 전화번호 및/또는 IP 어드레스를 가져 올 때까지 지연하도록 실행되는 더미 프로세스이다. 이어서, 흐름은 1368에서 나올 수 있다.
도 14b는 BOSS 소프트웨어 제어식 컴퓨터(350)의 사시도로부터 SuperBOSS(360)와 BOSS 소프트웨어 제어식 컴퓨터(350) 간의 예시적인 통신을 나타낸다. 1370에서 개시하여 1372에서 사용자 로그인과 같은 성공적인 세션을 시작한 후, BOSS 소프트웨어 제어식 컴퓨터(350)는 1374에서 SuperBOSS(360)와의 접촉을 시작한다. SuperBOSS(360)와 접촉하는데 사용되는 정보는 BOSS 라이센스 정보를 포함할 수 있다. 1376에서 SuperBOSS(360)로부터의 응답에 대한 준비로서의 사전 응답 처리 후, BOSS 소프트웨어 제어식 컴퓨터(350)는 1378에서 SuperBOSS(360)로부터 접촉에 대한 요구의 확인 신호를 수신한다. BOSS 라이센스 정보가 무효인 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)로부터 통지를 받으며, BOSS 소프트웨어 제어식 컴퓨터(350)는 PIM 정보, 즉 PSTN 번호 및 IP 어드레스를 제어하는 애플리케이션 데이터베이스 및/또는 애플리케이션의 시스템 관리자(도시되지 않음)에 통지하며, 흐름을 종료할 수 있다. BOSS 라이센스 정보가 유효한 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 1380에서 SuperBOSS(360)로부터 데이터(UID/IP 어드레스 및/또는 다른 식별 정보)에 대한 요구를 수신한다. 1382에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 요구된 데이터를 수집하고, 1384에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 UID/IP 어드레스 및/또는 다른 식별 데이터를 SuperBOSS(360)로 전송한다. 1386에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)로부터 사용자 PIM 데이터에 대한 요구를 수신한다. 1388에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 사용자 PIM 데이터를 SuperBOSS(360)로 전송한다. 1390에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 갱신 데이터의 수신에 대한 준비로서 사전 응답 처리를 행한다. 1392에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)로부터 사용자 PIM 데이터의 적당한 수신의 확인 신호를 수신한다. 1394에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)로부터 갱신된 PIM 데이터를 수신한다. 1396에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 사용자 PIM 데이터를 갱신하고, 1398에서 흐름을 종료할 수 있다.
도 15는 도 13a 내지 도 13c에서 설명된 예시적인 통신의 통합 흐름도를 나타낸다. 시작(1400) 후 사용자 로그인과 같은 성공적인 세션 개시 후 TAS(311)는 1402에서 패널 정의에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)에 전송한다. 1404에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 패널 정의에 대한 요구를 수신한다. 1406에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 요구된 패널 정의를 전송한다. 1408에서 TAS(311)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 패널 정의를 수신한다. 전술한 바와 같이(도 13a 참조), TAS(311)는 패널을 구성하면서(1416) TAS(311)는 데이터를 요구하고(1410), BOSS 소프트웨어 제어식 컴퓨터(350)는 요구를 수신하고(1412), BOSS 소프트웨어 제어식 컴퓨터(350)는 요구된 데이터를 TAS(311)에 전송하거나(1414), TAS(311)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 푸시된 메시지를 수신한다.
1418에서 TAS(311)는 프리젠테이션을 구성한다. 1420에서 TAS(311)는 프리젠테이션에 데이터를 넣는다. 1422에서 TAS(311)는 프리젠테이션과 데이터를 프리젠테이션 관리자(320)에 전송한다. 1424에서 프리젠테이션 관리자(320)는 TAS(311)로부터 프리젠테이션 및 데이터를 수신한다. 1426에서 프리젠테이션 관리자(320)는 프리젠테이션과 데이터를 사용자 출력(330)에 푸시한다. 1428에서 TAS(311)는 입력 장치(340)로부터 사용자 데이터를 수신한다. 1430에서 TAS(311)는 사용자 데이터를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1432에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 TAS(311)로부터 사용자 데이터를 수신한다. 1434에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 입력 장치(340)로 입력된 데이터가 적절한 것이라는 것을 보장하는 사용자 데이터의 확인을 완료한다. 1436에서 사용자 데이터가 유효하지 않은 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 무효 사용자 데이터에 관한 메시지를 TAS(311)로 전송하고(1444), TAS(311)는 적당한 대응 메시지를 프리젠테이션 관리자(320)로 전송하며(1446), 프리젠테이션 관리자(320)는 무효 사용자 데이터에 관한 메시지를 사용자 출력 장치(330)에 푸시한다. 그 다음, 흐름은 1428로 복귀하여, 여기서 TAS(311)는 사용자 데이터를 다시 한번 수신할 수 있다.
1436에서 사용자 데이터가 유효한 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 데이터가 대화를 완료하기 위한 요구를 포함하는지를 판정한다(1438).
1440에서 데이터가 대화 완료의 지시를 포함하지 않은 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 1442에서 데이터를 처리하고, 흐름은 1406으로 복귀하여, 여기서 BOSS 소프트웨어 제어식 컴퓨터(350)는 TAS(311)로 패널 정의를 다시 전송한다.
사용자 데이터가 1440에서 완료 대화를 지시하는 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 1450에서 예컨대 데이터베이스(355)에 트랜잭션 데이터의 저장을 시작한다. 1452에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 트랜잭션 데이터를 저장하기 위한 시도의 상태를 수신한다. 데이터베이스로의 트랜잭션 데이터의 저장이 1454에서 성공적인 경우, 흐름은 1466에서 나올 수 있다. 트랜잭션 데이터를 저장하는 것이 1454에서 성공적이 아닌 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 1456에서 실패한 데이터베이스 기록에 관한 메시지를 TAS(311)로 전송한다. 1458에서 TAS(311)는 실패한 데이터베이스 기록에 관한 메시지를 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 수신한다. 이어서, 1460에서 TAS(311)는 실패한 데이터베이스 기록에 관한 메시지를 프리젠테이션 관리자(320)에 전송하며, 1462에서 프리젠테이션 관리자(320)가 이를 수신한다. 1464에서 프리젠테이션 관리자(320)는 실패한 데이터베이스 기록에 관한 메시지를 출력 장치(330)에 푸시한다. 이어서 흐름은 예컨대 1428로 복귀하여 여기서 TAS(311)는 입력 장치(340)로 입력된 사용자 데이터를 수신한다.
도 16은 도 14a 및 도 14b에 의해 설명된 예시적인 통신의 통합 흐름도이다. 시작(1500) 후 성공적인 사용자 세션 개시 후, BOSS 소프트웨어 제어식 컴퓨터(350)는 1502에서 SuperBOSS(360)와의 통신을 위한 요구를 만든다. 1504에서 SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 통신을 위한 요구를 수신한다. 1506에서 SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)와의 접속/세션을 연다. 1508에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)에 BOSS 라이센스 정보를 전송한다. 1510에서 SuperBOSS(360)는 BOSS 라이센스 정보를 처리한다.
1512에서 BOSS 라이센스가 유효하지 않은 경우, SuperBOSS(360)는 1514에서 BOSS 소프트웨어 제어식 컴퓨터(350)에 무효 라이센스에 대한 통지를 전송한다. 1516에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)에 의해 전송된 메시지를 수신한다. 1518에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 무효 라이센스에 관한 메시지를 시스템 관리자로 전송한다. 1520에서 SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)와의 접속/세션을 닫으며, 이어서 SuperBOSS(360) 및 BOSS 소프트웨어 제어식 컴퓨터(350)는 각각 1522 및 1524에서 종료할 수 있다.
1512에서 BOSS 라이센스가 유효한 경우, 1526에서 SuperBOSS(360)는 모든 사용자 식별(UID), IP 어드레스 및/또는 다른 식별 정보의 리스트에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1528에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)로부터 UID, IP 어드레스 및/또는 다른 식별 정보에 대한 요구를 수신한다. 1530에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 UID, IP 어드레스 및/또는 다른 식별 정보의 리스트를 SuperBOSS(360)로 전송한다. 1532에서 SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 UID, IP 어드레스 및/또는 다른 식별 정보의 리스트를 수신한다. 1534에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(예컨대 370a 또는 370b)에 대한 접속을 연다. 1536에서 SuperBOSS(360)는 UID, IP 어드레스 및/또는 다른 식별 정보의 리스트를 SuperBOSS 데이터베이스(370)로 전송한다. 1538에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(370)에 대한 접속을 닫는다.
1540에서 SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로 특정 UID 및 PIM 정보에 대한 요구를 전송한다. 1542에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 특정 UID 및 PIM 정보에 대한 요구를 수신한다. 1544에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 예컨대 BOSS 데이터베이스(355)로부터 데이터를 검색한다. 1546에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 데이터를 SuperBOSS(360)로 전송한다. 1548에서 SuperBOSS(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 데이터를 수신한다. 1550에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(예컨대 370a)에 대한 접속을 연다. 1552에서 SuperBOSS(360)는 UID, 현재의 IP 어드레스 또는 다른 식별 정보를 위해 SuperBOSS 데이터베이스(370)를 폴링한다. 1554에서 SuperBOSS(360)는 SuperBOSS 데이터베이스(370)에 대한 접속을 닫는다.
1556에서 SuperBOSS(360)는 PSTN 데이터베이스(370b)에 대한 접속을 연다. 15598에서 SuperBOSS(360)는 현재의 전화번호 또는 IP 어드레스를 위해 PSTN 데이터베이스(370b)를 폴링한다. 1560에서 SuperBOSS(360)는 PSTN 데이터베이스(370b)에 대한 접속을 닫는다. 1562에서 SuperBOSS(360)는 폴링의 결과를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1564에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 SuperBOSS(360)로부터 폴링의 결과를 수신하고, BOSS 소프트웨어 제어식 컴퓨터(350)는 적당한 장치를 로케이팅한 적당한 클라이언트 장치에 임의의 메시지를 푸시할 수 있게 된다. 이어서, 1564로부터 BOSS 소프트웨어 제어식 컴퓨터(350)는 1568에서 종료하기 전에 특정 사용자 식별 PIM 정보를 갱신하며(1566), SuperBOSS(360)는 1570에서 종료한다.
도 17은 도 15 및 16에서 설명된 예시적인 통신 흐름의 통합 흐름도이다. SuperBOSS(SB; 60)가 1522에서 흐름을 종료한 후 흐름은 예컨대 1406으로 연결될 수 있고, 여기서 시스템은 BOSS 소프트웨어 제어식 컴퓨터(350)에서 TAS(311)로의 패널 정의의 전송을 처리한다. 또한 1566 후, 흐름도를 나오는 대신에 BOSS 소프트웨어 제어식 컴퓨터(350)는 1406에서 시스템 듀티를 수행할 수 있다. 또한, BOSS 소프트웨어 제어식 컴퓨터(350)가 데이터를 처리하는 1442 후, 흐름을 1406으로 복귀하는 대신에 흐름은 예컨대 1502로 진행할 수 있다. SuperBOSS 데이터베이스(370), SuperBOSS(360), BOSS 소프트웨어 제어식 컴퓨터(350), TAS(311), 프리젠테이션 관리자(320) 및 입력 및 출력 장치(340, 330) 사이의 통합 흐름이 도 17에 도시되는데, 그러나 흐름도는 예시적인 선택을 나타내는 것이고, 따라서 여기에 설명된 방법 및 시스템은 도시되고 설명된 예시적인 흐름으로 제한되어서는 안된다는 점이 재차 강조되어야 한다.
7. 클라이언트 장치 트랜잭션 또는 폼 구동 시스템 - 추가 실시예
아래에 본 발명의 트랜잭션 구동 시스템에 대한 예시적인 이용을 설명하고 있지만, 원격 위치에 대한 데이터의 흐름이 이로운 애플리케이션의 수는 매우 많으며, 따라서 아래의 실시예는 단지 설명을 위한 것이라는 점을 알아야 한다.
건강 관리 산업과 관련하여 BOSS 소프트웨어 제어식 컴퓨터(350) 및 TAS(311)를 구비한 클라이언트 장치(310)는 산업 등급, 멀티미디어 인터넷/인트라넷 시스템, 문서 처리를 실질적으로 없앨 수 있는 유틸리티를 생성하는 데 사용될 수 있다. 뱅킹 및 여행에서와 같은 새로운 정보 흐름은 데이터 저장 및 채취 능력과 함께 실시간 트랜잭션을 생성한다. 비용을 줄이고 효율을 높이며 무한한 전자 콘텐츠 및 전자 상거래 응용을 생성할 기회가 생긴다.
이 유틸리티는 세계 어느 곳에서나 하루에 수백만의 멀티미디어 트랜잭션을 수신하고, 이동시키고, 저장하고 조작할 수 있다. 유틸리티는 수천개의 포탈을 서로 링크하여 실시간 대화 네트워크에 전체 건강 관리 트레이딩 파트너를 링크하는 주 허브와 함께 설계된다. 다른 유틸리티와 같이, 상기 유틸리티는 트랜잭션 구동형이며, 통신, 콘텐츠, 상거래, 데이터 처리, 저장 및 데이터 채취를 이동시키고 파는 것으로부터 그 수익을 도출한다.
이 유틸리티는 사무실 또는 가정의 환자가 보안 통신 환경에서 약속을 정하고, 검증된 처방전을 주문하고, 건강관리 제공자와 접촉 및 대화하거나, 의학 보고서에 액세스할 수 있게 해준다. 건강관리 제공자는 의학 제공자 정보를 갱신하거나 공통 보안 포맷을 가진 여러 의학 데이터베이스에 액세스할 수 있다.
예컨대, 외과의사는 환자에게 수술을 행하려고 할 수 있다. 예컨대 소정의 방식으로 환자에게 부착되거나 환자 바이탈 통계 또는 정보에 링크된 하나 이상의 클라이언트 장치(310)로서, 수술과 관련하여 가치있는 정보가 처리될 수 있다. 풀 블로운(full blown) 운영체제는 데이터를 처리할 필요가 없으며, 따라서 그러한 애플리케이션은 본 발명의 고속 및 효율적인 처리 및 전송 기술에 적합하다. 외과의사는 심장 모니터에 보안 클라이언트 장치를 접속시켜 실시간 처리 정보를 중앙 위치에 공급할 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 시스템의 임의의 위치으로부터 처리의 이행을 도울 수 있고, 로케이터 컴퓨터(360)는 처리 이행을 위해 적당한 컴퓨터(350)를 로케이팅하는 프로세스를 도울 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 이어서 바이탈 타임 중요 정보를 외과의사에게 전달할 수 있다. 예컨대 환자의 심장 속도가 불규칙하지만 고칠 수 있는 패턴을 따르고 있다는 것을 실시간으로 판정할 수 있다. 이러한 방식으로 외과의사는 안전하게 귀중한 타임 중요 정보를 얻을 수 있다.
의학 보고서와 관련하여 의사는 환자의 의학 기록을 곧바로 요구하는 것이 일반적이다. 풀 블로운 운영체제는 기록을 전달할 필요가 없으며, 따라서 이러한 애플리케이션은 본 발명의 고속 및 효율적 처리 및 전송 기술에 적합하다. 등록된 병원 종사자는 보안 클라이언트 장치에 로그인하여 환자 기록을 요구할 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 시스템 내의 임의의 위치에서 기록의 검색의 이행을 도울 수 있으며, 로케이터 컴퓨터(360)는 기록 검색의 이행을 위한 적당한 컴퓨터(350)를 로케이팅하는 프로세스를 도울 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 이어서 필요한 데이터의 완전한 고속 전달을 위해 기록을 병원 종사자에게 전달할 수 있다. 예컨대 병원 종사자는 안전하게 환자 알레르기에 관한 정보를 얻을 수 있다.
호텔 서비스와 관련하여 BOSS 소프트웨어 제어식 컴퓨터(350) 및 TAS(311)를 구비한 클라이언트 장치(310)는 여행자 및 손님에게 더 큰 즐거움과 생산성을 제공하는 데 이용될 수 있다. 호텔 손님의 대부분이 그들의 방으로부터 온라인 연결되므로, 호텔은 인룸 인터넷 액세스 솔루션을 통해 프로세스를 용이하게 하고 있다. 손님들은 통신 기구와 관련 미들웨어를 이들의 경험을 향상시키는 부가가치 온라인 툴 및 정보에 액세스하기 위한 기회로서 이용함으로써 더 좋은 서비스를 받을 수 있다.
손님들은 일상 행사 고지를 위한 호텔 간이점 정보 센터와 같은 여러 정보 소스에 액세스하여 레스토랑, 박물관, 극장 또는 스포츠/유흥 시설에 직접 온라인 예약할 수 있다. 또한, 손님들은 여행 계획, 온라인 쇼핑을 할 수 있고 국부적인 목적지 정보를 얻을 수 있는 상호작용 능력을 갖는다.
데스크톱 콘텍스트의 스위핑과 관련하여, BOSS 소프트웨어 제어식 컴퓨터(350) 및 TAS(311)를 구비한 클라이언트 장치(310)는 기업이 유산 정보와 전화 서비스 간의 전통적인 장벽을 제거하는 것을 돕는 데 사용될 수 있다. 전적으로 독립적인 서비스로서 통상적으로 조작되는 정보 및 전화 서비스는 이제 단일 서비스로 통합되어 제공된다. 공통 인터페이스를 통해 사용자는 액세스 수단에 독립적인 각종 메시지 유형, 즉 음성, 비디오, 텍스트, 화상 및 데이터에 액세스할 수 있는 것은 물론 통지받을 수도 있다. 이러한 기반 기술에서의 기본적인 변화는 어떠한 운영체제의 제한 없이 패킷 데이터 네트워크와 회로 교환 전화 네트워크 간의 애플리케이션 인터페이스의 개발을 위한 플랫폼을 제공할 수 있는 BOSS 소프트웨어 제어식 컴퓨터(350) 및 TAS(311)를 구비한 클라이언트 장치(310)의 능력 때문에 가능하게 된다. 따라서, 전술한 바와 같이, 예컨대 화상회의를 처리하기 위한 추가적인 운영체제가 추가 기능을 위한 폼 구동 운영체제과 함께 포함될 수 있지만, 본 발명의 오픈 플랫폼은 임의의 종류의 데이터 통신을 효율적으로 통상의 운영체제의 복잡성 없이 유연하게 행할 수 있다.
메시징 애플리케이션과 관련하여, BOSS 소프트웨어 제어식 컴퓨터(350) 및 TAS(311)를 구비한 클라이언트 장치(310)는 기업에 대한 차세대 메시징 서비스를 개선하는 데 사용될 수 있다. 현재의 과제는 회사의 전략 사업 목적을 맵핑하거나 개선하면서 회사의 종업원의 개별 요구를 인지하는 방식으로 어떻게 정보를 필터링하고 제어할 것인지에 대한 것이다. BOSS 소프트웨어 제어식 컴퓨터(350) 및 TAS(311)를 구비한 클라이언트 장치(310)를 갖춘 시스템은 공동 작업자와의 실시간 통신을 포함하는 단일 이지-투-유즈(easy-to-use) 인터페이스에의 많은 기술의 결합, 및 빠르고 쉽게 갱신되고 분배될 수 있는 임의의 관련 법인 데이터에 대한 링크 백(link back)을 허용한다. 이 시스템은 각종 통신 기술을 단일 패키지 또는 서비스로 통합한다.
예컨대, 종업원은 쉽게 탐색하여 온라인 화상회의에 접속할 수 있고 공통 뷰 및 포맷 하에서 이종의 데이터베이스와 정보를 교환할 수 있다. 이것은 종업원이 진정으로 지식 작업자가 되도록 하여 시간 소모적인 위원회의 성과보다는 모든 관련 지식 작업자의 전문 지식에 기초하여 조직이 더욱 빠르고 좋은 결정을 내리도록 돕는다.
본 발명의 제2 실시예가 본 발명의 추가적인 특징 및 통신을 교시하고 있지만, 제1 실시예의 다양한 양태가 제2 실시예에 적용되거나 그 안에 복제될 수 있다는 점을 알아야 한다. 동시에, 제2 실시예와 관련하여 설명된 각종 기술 및 통신도 마찬가지로 제1 실시예에 통합될 수 있다. 예컨대, 트랜잭션 입력 장치(12)는 클라이언트 장치(310)일 수 있고, 데이터베이스 서버(28)는 BOSS 소프트웨어 제어식 컴퓨터(350)일 수 있으며, 데이터베이스(11, 12) 등은 데이터베이스(355) 등일 수 있다.
당업자는 본 발명이 폼들에 대한 애플리케이션들을 일반화하여 어떠한 코드도 특정 기능을 구현하기 위해 기록될 필요가 없게 하는 능력 면에서 일원적임을 이해할 것이다. 그러나, 코드가 필요하거나 멀티미디어 데이터가 데이터 트랜잭션의 일부이어야 할 경우, 코드 또는 멀티미디어 데이터가 데이터 스트림에 파라미터 스트림으로서 저장되는 폼에 부착될 수 있다. 또한, 트랜잭션 입력 장치(12)가 컴퓨터 워크스테이션, 핸드헬드 장치, PC 등으로 설명되었지만, 이 장치는 또한 통상적인 운영체제에 독립적인 독립식 워크스테이션 및 데이터베이스 유닛으로서 옵션인 오프라인 저장 장치와 결합하여 사용될 수 있다. 또한, 트랜잭션 입력 장치(12)는 네트워크 서버로서, 또는 네트워크 도킹 스테이션의 사용자 인터페이스로서 추가적인 옵션 플러그인과 함께 사용될 수 있다.
본 명세서에 설명된 각종 기술은 하드웨어 또는 소프트웨어로, 또는 적당한 경우 이들의 조합에 의해 구현될 수 있다. 예컨대, 본 발명의 트랜잭션 애플리케이션 서버는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 따라서, 본 발명의 방법 및 장치, 또는 이들의 특정 양태 또는 부분은 플로피 디스켓, CD-ROM, 하드 드라이브 또는 임의의 다른 기계 판독 가능 저장 매체와 같은 유형 매체에 구현되는 프로그램 코드(즉, 명령)의 형태를 가질 수 있는데, 여기서 프로그램 코드가 컴퓨터와 같은 기계에 로딩되어 실행될 때, 이 기계는 본 발명을 실시하기 위한 장치가 된다. 예컨대, 펌웨어는 EPROM, PROM, ROM 등과 같은 장치에 저장될 수 있다. 프로그램가능 컴퓨터 상에서 프로그램 코드를 실행하는 경우, 컴퓨터는 일반적으로 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 불휘발성 메모리 및/또는 저장 소자 포함), 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치를 포함한다. 바람직하게는 하나 이상의 프로그램이 컴퓨터 시스템과 통신하도록 하이 레벨 절차 또는 객체 지향 프로그래밍 언어로 구현된다. 그러나, 프로그램은 필요에 따라 어셈블리 또는 기계어로 구현될 수 있다. 어떻게든, 언어는 컴파일되거나 번역되는 언어이며, 하드웨어 장치와 결합될 수 있다.
본 발명의 방법 및 장치는 또한 유선 또는 케이블을 통해, 광섬유를 통해, 또는 임의의 다른 전송 형태와 같은 몇몇 전송 매체를 통해 전송되는 프로그램 코드의 형태로 구현될 수 있는데, 여기서 프로그램 코드가 EPROM, 게이트 어레이, 프로그램가능 논리 장치(PLD), 클라이언트 컴퓨터, 비디오 레코더 등과 같은 기계에 로딩되어 실행될 때, 이 기계는 본 발명을 실시하기 위한 장치가 된다. 범용 프로세서 상에서 구현될 때, 프로그램 코드는 프로세서와 결합하여 본 발명의 인덱싱 기능을 행하도록 동작하는 특이한 장치를 제공한다. 예컨대, 본 발명과 관련하여 사용되는 저장 기술은 불변적으로 하드웨어 및 소프트웨어의 조합일 수 있다.
본 발명은 각종 도면의 바람직한 실시예와 관련하여 설명되었지만, 다른 유사한 실시예들이 이용될 수 있거나 본 발명을 벗어나지 않고 본 발명과 동일한 기능을 수행할 수 있는 상술된 실시예에 대한 변형 또는 추가가 가능함을 이해하여야 한다. 예컨대, 본 발명에 따른 데이터 입력 장치가 그에 저장된 TAS를 갖지만, 핸드헬드 장치 운영체제 및 다른 애플리케이션 특정 운영체제를 포함하는 다양한 컴퓨터 플랫폼이 본 발명에 설명된 운영체제의 기능을 보완할 수 있다는 것이 강조되어야 한다. 따라서, 본 발명은 어느 단일 실시예에 한정되는 것이 아니라 첨부된 청구범위에 따라 범위 및 사상이 해석되어야 한다.

Claims (35)

  1. 폼-구동(form-driven) 운영체제를 내장하고 있는 복수의 클라이언트 장치를 포함하는 폼-구동 컴퓨터 시스템에서 동작하는 서버 컴퓨터로서, 상기 서버 컴퓨터는 폼의 형식의 데이터를 수신하고, 상기 폼의 각각의 필드들로부터 데이터를 검색하여, 상기 각각의 필드로부터 상기 데이터의 적어도 일부를 상기 복수의 클라이언트 장치, 애플리케이션, 데이터베이스 및 다른 서버 컴퓨터 중 적어도 하나에 전송하고,
    컴퓨터 실행가능 명령들을 내장하고 있는 컴퓨터 판독 가능 매체를 포함하고,
    광역 동작 시스템 서버(BOSS) 소프트웨어 오브젝트를 갖는 상기 컴퓨터 실행가능 명령들은,
    필드 데이터를 라우팅하는 BOSS 소프트웨어 오브젝트를 사용하여 적어도 하나의 사용자 및 적어도 하나의 클라이언트 장치를 식별하고 로케이팅하는데 이용되는 IP 주소 번호, PSTN 번호 및 그 외의 네트워크 식별 정보 중 적어도 하나를 검색하는 로케이터 오브젝트;
    적어도 하나의 클라이언트 장치에 데이터를 푸싱하는 푸싱(pushing) 오브젝트;
    클라이언트 장치, 애플리케이션, 데이터베이스, 부가적인 서버 컴퓨터 및 상기 로케이터 오브젝트를 링크하는 링크 오브젝트; 및
    클라이언트 장치, 애플리케이션, 데이터베이스, 다른 서버 컴퓨터 및 상기 로케이터 오브젝트 중 적어도 하나에 데이터를 라우팅하는 콘딧(conduit) 오브젝트를 포함하는 서버 컴퓨터.
  2. 제1항에 있어서,
    클라이언트 장치로의 데이터 통신은, 클라이언트 장치로부터의 적절한 데이터 응답을 결정할 때 클라이언트 장치에 의해 이용되는 파라미터들을 저장하기 위한 필드들을 포함하는 서버 컴퓨터.
  3. 제2항에 있어서,
    상기 파라미터들을 저장하기 위한 필드는 고정 길이를 갖는 서버 컴퓨터.
  4. 제2항에 있어서,
    상기 파라미터들을 저장하기 위한 필드는 가변 길이를 갖는 서버 컴퓨터.
  5. 제2항에 있어서,
    상기 파라미터들을 저장하기 위한 필드는, 클라이언트 컴퓨터, 다른 서버 컴퓨터 및 애플리케이션 중 적어도 하나에 의해 동적으로 변경되는 서버 컴퓨터.
  6. 제1항에 있어서, 상기 데이터는 텍스트, 오디오, 음성, 폼, 테이블, 메뉴, 비디오 및 그래픽 정보 중 적어도 하나를 나타내는 서버 컴퓨터.
  7. 제1항에 있어서,
    상기 푸싱 오브젝트에 의해 푸싱되는 상기 데이터는 다른 서버 컴퓨터, 데이터베이스, 애플리케이션 및 데이터베이스 중 적어도 하나로부터 수신되는 서버 컴퓨터.
  8. 제1항에 있어서,
    상기 푸싱 오브젝트에 의해 푸싱되는 상기 데이터는 상기 서버 컴퓨터에 의해 생성되는 서버 컴퓨터.
  9. 제1항에 있어서,
    태스크들을 수행하고, 텍스트, 오디오, 음성, 테이블, 메뉴, 비디오 및 그래픽 정보 중 적어도 하나를 생성하는데 조력하는 애플리케이션 프로그램을 더 포함하는 서버 컴퓨터.
  10. 제1항에 있어서,
    상기 서버 컴퓨터 및 애플리케이션 중 적어도 하나에 의해 액세스되는 텍스트, 오디오, 음성, 테이블, 메뉴, 비디오 및 그래픽 정보 중 적어도 하나를 저장하는 데이터베이스를 더 포함하는 서버 컴퓨터.
  11. 제1항에 있어서,
    각각의 폼 및 그 관련 데이터를 암호화하고, 인증 기술을 사용자 및 시스템 컴포넌트 중 적어도 하나에 적용하여 부가적인 보안층을 제공하는 암호화 및 인증 소프트웨어를 더 포함하고, 상기 인증 기술은 자기 카드, 마이크로-칩 카드, 패스워드, 홍채 스캔, 망막 스캔, 지문, 음성 서명, 물리적 외관, 신체 신호들 및 사인들 중 적어도 하나를 포함하는 물리적 인증에 관한 기술 중 적어도 하나를 이용하는 서버 컴퓨터.
  12. 제1항에 있어서,
    상기 로케이터 오브젝트는 상기 사용자 및 그 사용자가 세션을 시작한 클라이언트 장치 중 적어도 하나의 위치를 식별하는 것과 관련해서 이용되고, 상기 푸싱 오브젝트는, 상기 사용자가 상기 시스템으로 세션을 시작한 상기 클라이언트 장치에 데이터를 푸시하는 서버 컴퓨터.
  13. 제12항에 있어서,
    상기 푸싱 오브젝트에 의해 상기 사용자 클라이언트 장치에 푸시된 데이터는, 상기 클라이언트 장치로 세션을 미리 시작한, 사용자에 의해 시작된 트랜잭션의 결과로서 생성되는 서버 컴퓨터.
  14. 제1항에 있어서,
    상기 데이터는 BOSS 소프트웨어를 갖는 서버 컴퓨터 및 시스템 애플리케이션 중 적어도 하나에 의해 변경될 수 있는 서버 컴퓨터.
  15. 제1항에 있어서,
    상기 푸싱 오브젝트에 의해 상기 사용자 클라이언트 장치에 푸시된 데이터는, 상기 시스템의 다른 클라이언트 장치로 세션을 미리 시작한, 사용자에 의해 시작된 트랜잭션의 결과로서 생성되는 서버 컴퓨터.
  16. 제1항에 있어서,
    클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치로의 전송을 위한 폼을 요청하고, 상기 로케이터 오브젝트는 상기 폼의 위치를 찾는데 조력하고, 일단 위치가 정해지면, 상기 서버 컴퓨터는 상기 요청의 수행을 돕는 서버 컴퓨터.
  17. 제1항에 있어서,
    클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치의 출력 장치상에 디스플레이된 메뉴로부터 태스크를 요청하고, 상기 서버 컴퓨터는 상기 태스크를 처리하는 서버 컴퓨터.
  18. 제1항에 있어서,
    클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치의 입력 장치를 통해 상기 클라이언트 장치의 출력 장치상에 디스플레이된 메뉴, 리스트 및 테이블 중 적어도 하나로부터 보고서를 요청하고, 상기 서버 컴퓨터는 상기 보고서를 생성하여 시각적 또는 청각적 데이터로서 사용자에게 전달하는 것을 돕는 서버 컴퓨터.
  19. 제1항에 있어서,
    클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치의 입력 장치로부터 프로세스를 요청하고, 상기 서버 컴퓨터는 상기 프로세스의 수행을 돕고, 상기 프로세스의 결과는 시각적 및 청각적 폼 중 적어도 하나로 상기 클라이언트 장치의 출력 장치상에 디스플레이되는 서버 컴퓨터.
  20. 제1항에 있어서,
    상기 로케이터 오브젝트는 상기 푸싱 오브젝트에 의해 이용되는 식별 정보를 제공하여, 데이터를 어디로 푸시할 지를 판정하는 서버 컴퓨터.
  21. 제1항에 있어서,
    상기 로케이터 오브젝트는 상기 링크 오브젝트에 의해 이용되는 식별 정보를 제공하여, 어느 시스템 컴포넌트를 링크할 지를 판정하는 서버 컴퓨터.
  22. 제1항에 있어서,
    상기 로케이터 오브젝트는 상기 콘딧 오브젝트에 의해 이용되는 식별 정보를 제공하여, 데이터를 어디로 라우팅할 지를 판정하는 서버 컴퓨터.
  23. 폼 구동 클라이언트 컴퓨팅 장치를 포함하는 컴퓨터 시스템에서의 통신 방법으로서,
    클라이언트 장치의 폼-구동 트랜잭션 애플리케이션 서버(TAS)로 사용자 세션을 시작하는 단계;
    네트워크, 장치 및 사용자 식별 및 위치 정보를 유지하는 서버 컴퓨터에 저장된 로케이터 오브젝트로 사용자 및 장치 식별 정보를 결정하는 단계;
    트랜잭션 데이터가 상기 사용자에 대해 상기 시스템 내에 존재하는지를 결정하는 단계; 및
    상기 사용자에 대한 트랜잭션 데이터가 존재하면, 상기 클라이언트 장치로 상기 트랜잭션 데이터를 푸싱하는 단계
    를 포함하는 컴퓨터 시스템에서의 통신 방법.
  24. 제23항에 있어서,
    상기 클라이언트 장치와의 통신을 보안화하고 인증하는 단계를 더 포함하는 컴퓨터 시스템에서의 통신 방법.
  25. 폼-구동 클라이언트 컴퓨팅 장치를 포함하는 컴퓨터 시스템에서의 통신 방법으로서,
    클라이언트 장치의 폼-구동 트랜잭션 애플리케이션 서버(TAS)로 사용자 세션을 시작하는 단계;
    네트워크, 장치 및 사용자 식별 및 위치 정보를 유지하는 서버 컴퓨터에 저장된 로케이터 소프트웨어로 사용자 및 장치 식별 정보를 판정하는 단계;
    트랜잭션을 위한 요청을 상기 클라이언트 장치에 입력하는 단계; 및
    상기 사용자 및 장치 식별 정보를 사용하여 상기 트랜잭션을 처리하기 위한 클라이언트 장치를 식별하는 단계
    를 포함하는 컴퓨터 시스템에서의 통신 방법.
  26. 제25항에 있어서,
    서버 컴퓨터로부터 폼에 대한 정보를 요청하는 단계;
    상기 폼 정보를 상기 로케이터 소프트웨어의 도움으로 로케이팅하는 단계;
    상기 폼 정보를 상기 TAS에 전달하는 단계; 및
    상기 폼을 상기 클라이언트 장치의 디스플레이 장치상에 디스플레이하는 단계를 더 포함하는 컴퓨터 시스템에서의 통신 방법.
  27. 제25항에 있어서,
    상기 클라이언트 장치의 디스플레이 장치를 통해 상기 사용자에 대한 메뉴 데이터를 디스플레이하는 단계;
    상기 메뉴로부터 수행될 태스크를 선택하는 단계;
    상기 태스크의 수행을 위해 상기 선택된 태스크의 설명(description)을 서버 컴퓨터로 전송하는 단계; 및
    상기 서버 컴퓨터는 상기 태스크의 로케이터 소프트웨어의 완료의 도움으로 데이터베이스, 시스템 애플리케이션, 프로그램 및 그 외의 서버 컴퓨터들 중 적어도 하나에 태스크 요청을 전송하는 단계를 더 포함하는 컴퓨터 시스템에서의 통신 방법.
  28. 제25항에 있어서,
    상기 클라이언트 장치의 출력 장치상의 폼, 메뉴, 리스트, 오디오, 비디오 및 테이블 출력 중 적어도 하나를 통해 서버 컴퓨터로부터 보고서를 요청하는 단계;
    상기 보고서에 대한 정보를 수집하기 위해, 그 외의 서버 컴퓨터들, 시스템 애플리케이션들 및 데이터베이스들 중 적어도 하나에 의해 수행될 적어도 하나의 태스크를 선택하는 단계; 및
    상기 클라이언트 장치의 출력 장치상에 디스플레이를 위해 상기 보고서 정보를 상기 TAS에 전송하는 단계를 더 포함하는 컴퓨터 시스템에서의 통신 방법.
  29. 제25항에 있어서,
    상기 클라이언트 장치의 출력 장치상의 폼, 메뉴, 리스트, 비디오 디스플레이, 텍스트, 음성 입력, 오디오 입력 및 테이블 출력 중 하나를 통해 서버 컴퓨터로부터 프로세스를 요청하는 단계;
    상기 프로세스를 완료하기 위해 그 외의 서버 컴퓨터들, 시스템 애플리케이션들 및 데이터베이스들 중 적어도 하나에 의해 수행될 적어도 하나의 태스크를 선택하는 단계를 더 포함하는 컴퓨터 시스템에서의 통신 방법.
  30. 제29항에 있어서,
    상기 프로세스는 상기 시스템 내의 적어도 하나의 다른 사용자의 위치를 찾고, 상기 로케이터 오브젝트는 상기 적어도 하나의 다른 사용자를 로케이팅하는 컴퓨터 시스템에서의 통신 방법.
  31. 제30항에 있어서,
    상기 프로세스는, 상기 적어도 하나의 다른 사용자를 로케이팅한 후에 상기 적어도 하나의 다른 사용자에게 메시지를 푸싱하는 단계를 포함하는 컴퓨터 시스템에서의 통신 방법.
  32. 제29항에 있어서,
    암호화 알고리즘 및 인증 기술의 사용을 포함하는 상기 클라이언트 장치와의 통신을 보안화하고 인증하는 단계를 더 포함하는 컴퓨터 시스템에서의 통신 방법.
  33. 데이터 통신 시스템으로서,
    폼-구동 운영체제, 프리젠테이션 관리자, 입력 장치 및 출력 장치를 갖는 복수의 마이크로프로세서 클라이언트 장치 - 상기 각각의 클라이언트 장치는 상기 폼-구동 운영체제에 의해 제공되는 폼을 사용하여 데이터 트랜잭션을 생성함 -;
    태스크들을 수행하고, 보고서, 메뉴, 폼, 메시지, 리스트, 음성, 오디오, 비디오, 그래픽 및 그 외의 데이터 중 적어도 하나의 생성에 조력하는 복수의 애플리케이션;
    보고서, 메뉴, 폼, 메시지, 리스트, 음성, 오디오, 비디오, 그래픽 및 그 외의 데이터 중 적어도 하나의 저장을 위한 복수의 데이터베이스; 및
    상기 복수의 서버 컴퓨터의 컴퓨터 판독가능한 매체에 저장된 광역 동작 시스템 서버(BOSS) 소프트웨어에 의해 제어되는 복수의 서버 컴퓨터를 포함하고 - 상기 서버 컴퓨터들은 복수의 클라이언트 장치, 애플리케이션, 데이터베이스, 및 다른 서버 컴퓨터 중 적어도 하나로부터 데이터를 수신하고 그 하나로 데이터를 송신함 -,
    상기 BOSS 소프트웨어는, 적어도 하나의 사용자 및 상기 시스템내의 적어도 하나의 클라이언트 장치를 식별하고 로케이팅하는데 사용되는 IP 주소 번호, PSTN 번호, 및 그 외의 네트워크 식별 정보 중 적어도 하나를 검색하는 로케이터 오브젝트를 포함하는 데이터 통신 시스템.
  34. 제33항에 있어서,
    상기 로케이터 오브젝트는 사용자 및 클라이언트 장치의 위치 식별과 관련하여 이용되고, 데이터는 상기 사용자가 상기 시스템으로 세션을 시작한 클라이언트 장치에 푸쉬되는 데이터 통신 시스템.
  35. 삭제
KR1020027016744A 2000-06-07 2001-06-07 클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템 KR100767513B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/589,814 2000-06-07
US09/589,814 US6973477B1 (en) 1995-05-19 2000-06-07 System for securely communicating amongst client computer systems
PCT/US2001/018481 WO2002001778A2 (en) 2000-06-07 2001-06-07 System for securely communicating amongst client computer systems

Publications (2)

Publication Number Publication Date
KR20030025242A KR20030025242A (ko) 2003-03-28
KR100767513B1 true KR100767513B1 (ko) 2007-10-17

Family

ID=24359642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027016744A KR100767513B1 (ko) 2000-06-07 2001-06-07 클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템

Country Status (9)

Country Link
EP (1) EP1311961B1 (ko)
KR (1) KR100767513B1 (ko)
AT (1) ATE466339T1 (ko)
AU (1) AU2001275367A1 (ko)
CA (1) CA2411458C (ko)
DE (1) DE60141967D1 (ko)
HK (1) HK1052567B (ko)
IL (2) IL153300A0 (ko)
WO (1) WO2002001778A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10247153A1 (de) * 2002-10-09 2004-04-22 Siemens Ag Anonymer e-Health Commerce
KR20050004304A (ko) * 2003-06-27 2005-01-12 주식회사 알티캐스트 컨텐츠 별로 수신 제한이 가능한 방송 시스템
GB0325497D0 (en) * 2003-10-31 2003-12-03 Vox Generation Ltd Automated speech application creation deployment and management
US7861159B2 (en) 2006-04-07 2010-12-28 Pp Associates, Lp Report generation with integrated quality management
US20090037735A1 (en) * 2007-08-01 2009-02-05 O'farrell David Method and system for delivering secure messages to a computer desktop
US9740823B2 (en) 2007-08-16 2017-08-22 Earl Edward Breazeale, JR. Healthcare tracking
EP2075751A1 (fr) * 2007-12-17 2009-07-01 Axalto S.A. Procédé pour communiquer depuis un terminal de transaction à un serveur, terminal, serveur et système électroniques correspondants
KR101369151B1 (ko) * 2012-05-23 2014-03-06 주식회사 아이디스 L2 허브 내장형 nvr 장치 및 이의 패킷 라우팅 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5966431A (en) * 1995-04-19 1999-10-12 Mci Communications Corporation SS7 gateway

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195130A (en) 1988-05-05 1993-03-16 Transaction Technology, Inc. Computer and telephone apparatus with user friendly computer interface and enhanced integrity features
US5572572A (en) * 1988-05-05 1996-11-05 Transaction Technology, Inc. Computer and telephone apparatus with user friendly interface and enhanced integrity features
US4991199A (en) 1988-05-05 1991-02-05 Transaction Technology, Inc. Computer and telephone apparatus with user friendly computer interface and enhanced integrity features
US5000927A (en) 1989-03-31 1991-03-19 General Electric Company Method of regulating a purex solvent extraction process
FI85776C (fi) 1990-08-20 1992-05-25 Nokia Oy Ab Transportabel personlig arbetsstation.
JPH07319971A (ja) * 1994-05-19 1995-12-08 At & T Global Inf Solutions Internatl Inc 遠隔アクセス可能な医療ネットワーク
US5805676A (en) 1995-05-19 1998-09-08 Pcpi Phone, Inc. Telephone/transaction entry device and system for entering transaction data into databases
US6044382A (en) * 1995-05-19 2000-03-28 Cyber Fone Technologies, Inc. Data transaction assembly server
JP3734051B2 (ja) * 1995-09-28 2006-01-11 日立ソフトウエアエンジニアリング株式会社 ネットワーク管理システム
US6031836A (en) * 1996-09-13 2000-02-29 Lucent Technologies Inc. Web-page interface to telephony features
WO2000057339A2 (en) * 1999-03-24 2000-09-28 Koninklijke Philips Electronics N.V. System and method for presentation of computerized patient records across a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966431A (en) * 1995-04-19 1999-10-12 Mci Communications Corporation SS7 gateway
US5884323A (en) * 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems

Also Published As

Publication number Publication date
IL153300A0 (en) 2003-07-06
EP1311961A4 (en) 2005-08-17
DE60141967D1 (de) 2010-06-10
EP1311961B1 (en) 2010-04-28
ATE466339T1 (de) 2010-05-15
EP1311961A2 (en) 2003-05-21
KR20030025242A (ko) 2003-03-28
HK1052567B (zh) 2010-12-17
CA2411458C (en) 2007-03-27
HK1052567A1 (en) 2003-09-19
IL153300A (en) 2008-12-29
WO2002001778A3 (en) 2002-06-20
CA2411458A1 (en) 2002-01-03
AU2001275367A1 (en) 2002-01-08
WO2002001778A2 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
US6973477B1 (en) System for securely communicating amongst client computer systems
US6574314B1 (en) Method for entering transaction data into data bases using transaction entry device
US7334024B2 (en) System for transmission of voice and data over the same communications line
EP0996895B1 (en) Data transaction assembly server
US7778395B2 (en) Telephone/transaction entry device and system for entering transaction data into databases
US8019060B2 (en) Telephone/transaction entry device and system for entering transaction data into databases
CN101827454B (zh) 用于观察网络通信操作与服务器连接的信任级的方法和系统
US8412165B1 (en) Systems and methods for device emulation on mobile channel
US6954633B1 (en) Method for calling up user-specified information using a mobile telephone
JP2000224272A (ja) 通信するための方法および通信システム
US20030041032A1 (en) Systems for supply of information, services or products
EP1729490A1 (en) Method and device for providing a parallel voice and data connection with a call center
KR100767513B1 (ko) 클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템
JP4192563B2 (ja) 相談業務システム、サーバ、相談業務端末、及びプログラム
JP2002366517A (ja) サービス提供方法、サービス提供システム、処理センタ装置及びプログラム
JP2002288394A (ja) スケジュール管理システムおよび管理方法
CA2221853C (en) Telephone/transaction entry device and system for entering transaction data into databases
JP2001358752A (ja) 情報配信システム及び情報配信方法
MXPA97008955A (en) Telephone / transaction registry device and system for registering transaction data on bases of da
KR20030033293A (ko) 각 화면상에 소프트웨어 개발자 또는 서비스센터 또는 컨설턴트의 연락처 표시 방법
JP2002183553A (ja) ネットワークを利用した注文の受付および確認システムおよび方法と記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee