KR20030025242A - 클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템 - Google Patents
클라이언트 컴퓨터 시스템과 안전하게 통신하기 위한 시스템 Download PDFInfo
- Publication number
- KR20030025242A KR20030025242A KR1020027016744A KR20027016744A KR20030025242A KR 20030025242 A KR20030025242 A KR 20030025242A KR 1020027016744 A KR1020027016744 A KR 1020027016744A KR 20027016744 A KR20027016744 A KR 20027016744A KR 20030025242 A KR20030025242 A KR 20030025242A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- transaction
- user
- client device
- database
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/247—Telephone sets including user guidance or feature selection means facilitating their use
- H04M1/2478—Telephone terminals specially adapted for non-voice services, e.g. email, internet access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/271—Devices whereby a plurality of signals may be stored simultaneously controlled by voice recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2242/00—Special services or facilities
- H04M2242/30—Determination of the location of a subscriber
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
- Communication Control (AREA)
Abstract
각각의 사용자 애플리케이션에 맞추어진 템플릿내의 프롬프트에 응답하여 사용자에 의해 트랜잭션 데이터가 도입된 데이터 트랜잭션 처리 시스템이 제공된다. 템플릿 및 도입된 데이터는, 처리 및 저장이 외부 데이터베이스 서버에서 완료되면 즉시 전송되는 표준 프로토콜을 통해 데이터 트랜잭션에 축적된다. 트랜잭션 장치로부터의 요청에 응답하여, 서버에 저장하는 데이터베이스는, 데이터베이스 서버 또는 원격 전자 메일 시스템으로부터 판독된 데이터 트랙잭션내의 필드 또는 디스플레이상의 메뉴의 완료에 사용되는 데이터 스트림을 반환할 수 있다. 트랜잭션 엔트리 장치는 전화기로 구성되고, 터치 스크린, 키보드, 자기 카드 판독기, 음성 엔트리, 모뎀을 통해 액세스된다. 광역 동작 시스템 서버(BOSS) 소프트웨어의 제어하의 복수의 데이터베이스 서버 및 복수의 폼-구동 클라이언트 컴퓨팅 장치가 제공되어 클라이언트간, 애플리케이션 및 데이터베이스간에 트랜잭션을 통신하기 위한 오픈 플랫폼 시스템을 생성한다. 장점으로서, 로케이터 서버 컴퓨터는, 중심 사용자 및 목적지 클라이언트 장치등을 식별하고 로케이팅하는데 이용되는 IP 주소번호, PSTN 번호, 및 다른 네트워크 식별 정보를 검색한다.
Description
<관련 출원의 기재>
본 출원은 미국특허출원 제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) 컴퓨터 시스템의 여러 일면에 대해서는 Martino에 허여된 하기의 미국특허에 기재된 바 있으며 여기에 참조로 기재한다 - 미국특허 제5,805,676호(등록일: 9/8/98)의 "Telephone/Transaction Entry Device and System for Entering Transaction Data into Databases", 미국특허 제5,987,103호(등록일: 11/16/99)의 "Telephone/Transaction Entry Device and System for Entering Transaction Data into Databases" 및 미국특허 제6,044,382호(등록일: 3/28/00)의 "Data Transaction Assembly Server". 이들 특허에는 이러한 시스템의 여러가지 일면으로서, 예컨대 클라이언트 장치 내에 존재하는 트랜잭션 애플리케이션 오퍼레이팅 시스템을 사용하여, 일반적으로 메뉴, 폼, 리포트, 메시지 및 기타 통신을 복수개의 데이터베이스, 서비스, 서버 및 클라이언트 장치에 전송하도록 한 기술을 기재하고 있다. 클라이언트 장치의 데이터 디스플레이는 터치 스크린를 구비할 수 있으며, 클라이언트 장치의 트랜잭션 애플리케이션 오퍼레이팅 시스템과 연계하여 트랜잭션을 수행할 것을 요청하기 위해, 폼, 메뉴, 리포트, 리스트 등의 테이블 정보를 디스플레이에 전하도록(lend) 하고 있다.
데이터 엔트리 시스템은 통상의 포인트 오브 엔트리 시스템의 고유한 문제점인, 원격 서비스 담당부 또는 파일 서버와 통신하기 위한 통상의 오퍼레이팅 시스템의 요구조건을 갖지 않는 것이 바람직하다. 데이터 엔트리 및 디스플레이 장치와 관련 시스템에 있어서는, 데이터 엔트리 장치가 간소하고 저가로 구성되도록 데이터 엔트리 장치측에서 최소량의 처리를 수행하도록 함으로써 이러한 장치의 가격을 대부분의 상업용 또는 개인용으로 적합한 가격대로 가져가는 것이 바람직하다. 또한, 이러한 데이터 엔트리 장치는 광범위한 기능을 제공하되, 그 기능을 구현하기 위해 복수의 애플리케이션 프로그램이나 로컬 오퍼레이팅 시스템 프로그램을 필요로 하지 않는 것이 바람직하다. 또한, 이러한 시스템은 로그온이나 시스템과의 세션의 개시후 사용자의 위치를 파악한 다음 사용자에게 트랜잭션 데이터를 푸시할 수 있는 것이 바람직하다.
<발명의 개요>
레이저 또는 기타 네트워크 전송을 통해 유선 또는 무선 통신을 수행하는 클라이언트 컴퓨터 시스템이 제공된다. 이 시스템에서는 건강, 재정, 데스크탑 애플리케이션, 보안, 인증, 비디오 메일, 또는 노트 메일 등의 서비스를 제공하는데 사용될 수 있는 데이터, 메뉴, 폼, 테이블, 애플리케이션, 오디오, 비디오, 그래픽 또는 이들의 조합물 등의 메시지가 전송되며, 이 시스템은 임의의 소스로부터 생성되거나 임의의 소스 내에 저장된 처리 정보, 메시지 또는 메시지의 조합물을 전송하는데 이용될 수 있다.
본 발명에 따른 시스템에서는 전술한 종래기술의 문제점을 해소하기 위하여, 클라이언트 장치가 폼-구동 오퍼레이팅 시스템을 구비하는 클라이언트 컴퓨터 시스템을 제공한다. 폼-구동 오퍼레이팅 시스템을 트랜잭션 어셈블리(애플리케이션) 서버(TAS, Transaction Assembly Server)로 구성하고, 메뉴선택을 통하여 사용자를 원하는 템플릿(template)으로 안내함으로써, 사용자의 선택시에 플래시 메모리 내에 데이터 스트림으로 저장된 메뉴 및 템플릿을 트랜잭션 어셈블리 서버(TAS)의 펌웨어(firmware)에 의해 호출되도록 할 수도 있다. 또한, 트랜잭션 어셈블리 서버(TAS)의 펌웨어는 폼-구동 오퍼레이팅 시스템의 기능을 수행하기 위한 소프트웨어로 구현하거나, 하드웨어에 소프트웨어를 로딩하여 구현하거나 또는 하드웨어로 구현하거나 하드웨어와 소프트웨어의 조합으로 구현할 수 있다. 일반적으로, 메뉴는 특수한 유형의 템플릿 또는 폼으로서 취급된다. 플래시 메모리 내에 저장된 템플릿은 오프라인으로 생성되어 트랜젝션 엔트리 장치의 플래시 메모리에 직접 접속하거나 또는 모뎀을 통하여 다운로드된 새로운 데이터 세트를 읽어들임으로써 특정 애플리케이션의 처리를 위해 언제든지 갱신될 수 있다. 또는, 데이터를 RS-232 입력부로 다운로드할 수도 있다. 동일한 접속방식을 사용하여 원격 데이터베이스로부터의 자동 판독 또는 원격 데이터베이스로의 자동기입을 처리할 수도 있다. 새로운 애플리케이션의 추가는, 새로운 애플리케이션에 필요한 템플릿을 포함하고 있는 추가 플래시 메모리 앨리먼트를 단순히 추가하거나, 새로운 템플릿을 기존 플래시 메모리로 다운로드함으로써 수행될 수 있다.
본 발명에 따른 트랜잭션 데이터의 저장을 위한 클라이언트 장치 및 관련 시스템에 있어서는, 각종 애플리케이션 프로그램의 실행에 로컬 오퍼레이팅 시스템을 필요로 하지 않으며, 사용자와 데이터베이스를 분리하고 있으며, 트랜잭션 데이터의 등록(enter)에 있어서 간단하고 사용자에 친숙한 방식을 제공한다는 점이 독특하다. 모든 데이터가 특정 애플리케이션을 위해 가공된 템플릿에 의해 결정된 데이터 트랜잭션으로서 등록(enter)되므로, 사용자 애플리케이션이 정형화되어 새로운 애플리케이션의 추가시에 특유한 사용자 애플리케이션 프로그램을 기입할 필요가 없다. 그러나, 코드가 필요하거나 데이터 트랜잭션 내에 멀티미디어 엘리먼트를 포함시키는 경우에는, 이를 데이터 트랜잭션에 첨부하여 데이터 트랜잭션을 구성하는 데이터 스트림 내에 추가 파라미터 스트림으로 할 수도 있다. 또한, 특정 애플리케이션에 대한 템플릿의 각 필드에 있는 데이터의 종류는 미리 알고 있기 때문에, 데이터베이스 서버로의 인터페이스가 데이터 트랜잭션의 저장을 허가하는 것이나 각 데이터베이스에 대해 그 콤포넌트 파트들이 적절한 데이터베이스내에 적절한 포맷으로 되어 있는가는 중요하지 않게 된다. 또한, 본 발명의 시스템 컴포넌트 및 시스템의 클라이언트 장치의 사용자들에 대해 공지의 각종 보안 및 인증 기술을 적용할 수도 있다.
본 발명의 제1 실시예에 따르면, 본 발명은 개인적인 트랜잭션 뿐만 아니라 회사 내에서 발생할 수 있는 임의의 트랜잭션의 모든 사항을 사용자가 구성(organize) 및 제어할 수 있도록 하는 트랜잭션 엔트리 장치를 포함한다. 간단히 말해서, 트랜잭션 엔트리 장치가 입력 데이터를 정형화하여 해당 데이터가 속하는 애플리케이션의 유형에 따른 콘텐츠를 갖는 데이터 트랜잭션으로 포맷한다. 그 후, 이들 데이터 트랜잭션을 로컬 또는 원격 데이터베이스 서버에 전송하여, 서버에서 각 데이터 트랜잭션을 그 콤포넌트 파트들로 "전개"(explode)시킴으로써 그 콤포넌트 파트들 내의 데이터가 속하는 데이터를 포함하고 있는 모든 데이터베이스를 업데이트한다. 이러한 "트랜잭션 엔트리 모드"에서, 본 발명에 따른 트랜잭션 엔트리 장치는 다목적 워크스테이션으로서 기능한다. 그러나, 데이터 트랜잭션이 오퍼레이팅 시스템이나 애플리케이션 프로그램을 사용하지 않고 생성되므로, 트랜잭션 엔트리 장치를 대폭 간소화시키고 비용을 절감할 수 있을 뿐만 아니라, 커스터머(customer) 데스크톱 전화 또는 휴대전화에 손쉽게 결합시킬 수 있다.
전술한 제1 실시예에서는, 본 발명은 컴퓨터 기술과 전화 기술을 결합하여 트랜잭션이 개시되는 포인트(point)에서 트랜잭션 데이터를 캡쳐할 수 있도록 한다. 트랜잭션 엔트리 장치를 통상의 전화에 결합하여 구성함으로써 전화 모드에서는 일반 전화로서 작동하고 트랜잭션 엔트리 모드에서는 트랜잭션 엔트리 장치로서 작동하도록 하고 있다. 전화 모드시에는 통상의 방식과 동일하게 전화가 작동한다. 그러나, 트랜잭션 엔트리 모드시에는 트랜잭션 엔트리 장치는 마이크로 프로세서에 의해 구동되고, 마이크로 프로세서는 플래시 메모리 내에 저장된 데이터 스트림으로 구성된 오퍼레이팅 시스템 독립 트랜잭션 어셈블리 서버(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을 참조하여 아래에 기술된다. 본 기술분야에 숙달된 자들은 이러한 도면들을 참조하여 본 명세서에 제공된 기술이 단지 예시적인 목적들을 위한 것이며, 본 발명의 범위를 한정하기 위해 의도된 것은 결코 아니라는 것을 통찰할 것이다. 예를 들면, 본 기술분야에서 숙달된 자들은 본 발명에 따라서 원격 데이터베이스로 데이터 트랜잭션을 엔터링(entering)시키기 위한 전화/트랜잭션 엔트리 장치 및 시스템이 수많은 애플리케이션들에서 수많은 세팅들에 사용될 수 있고, 게다가 다른 데이터 엔트리 장치들이 이용될 수 있으며, 또한 본 발명의 폼-구동(form-driven) 오퍼레이팅 시스템이 하드웨어, 소프트웨어 또는 양자들의 조합으로 구현될 수 있다는 것을 통찰할 것이다. 따라서, 본 발명의 범위에 관한 모든 의문점은 청구의 범위를 참조함으로서 해소될 수 있다.
1.개요
본 발명의 시스템은 자동 캡처 및 데이터 트랜잭션과 관련된 데이터의 컴퓨테이션을 제공한다. 본 발명에서 사용되는 바와 같이, 데이터 트랜잭션은 폼 또는 템플릿 또는 폼 또는 템플릿의 시리즈의 조합 또는 데이터 엔트리 프롬프트 및 이러한 프롬프트에 응답하여 엔터링된 데이터를 포함하는 다른 테이블 정보(tabularinformation)이다. 본 명세서에서 후술되는 전체에 걸쳐, "폼(form)" 및 "템플릿(template)"이라는 용어는 상호 교환 가능하게 사용될 것이다. 배경기술에서 언급한 바와 같이, 본 발명의 시스템은 종래의 보다 복잡한 오퍼레이팅 시스템의 낡은 개념을 배제하고 트랜잭션, 폼, 리포트, 메시지, 테이블 정보 등을 위한 오퍼레이팅 시스템을 전반적으로 고찰한다.
데이터 트랜잭션은 사용자 및 폼간의 쌍방향 프로세스를 통하여 트랜잭션 엔트리 장치에 의해 생성된다. 데이터 트랜잭션은 데이터 트랜잭션 엔트리 장치의 트랜잭션 버퍼에서 어셈블링된다. 데이터 트랜잭션의 로컬 스토리지는 필수적인 것이 아니다. 데이터 트랜잭션은 특정 애플리케이션과 관련된 데이터를 포함하는 데이터베이스를 갱신하는데 필요한 데이터의 엔트리를 청구(soliciting)하기 위해 모든 애플리케이션이 주문생산(customizing)된 폼 및 프롬프트의 시리즈로 구성되는 데이터베이스에 의해 외부적으로 정의된다. 통상적으로, 데이터 트랜잭션은 그 애플리케이션용 데이터를 포함하는 데이터베이스의 파일 구조에 대해 일대 다수 관계를 가질 것이다.
본 발명의 제1 실시예에 있어서, 예컨대, 데이터 트랜잭션은 트랜잭션 엔트리 장치를 사용하여 엔터링된다. 바람직하게는, 트랜잭션 엔트리 장치는 전화 기기로 통합되어, 최종의 장치는 종래의 전화 또는 데이터 트랜잭션 엔트리장치로서 선택적으로 작동할 수 있다. 바람직하게는 최종의 트랜잭션 엔트리 장치가, 사용자에 의해 완성되는 메뉴 및 폼을 통해 선택 옵션을 교대로 나타내는 트랜잭션 어셈블리 (애플리케이션) 서버(TAS; transaction assembly (application) server)에입력을 제공하는 터치 스크린 및/또는 키보드를 포함한다. 상술한 바와 같이, 또한 TAS 펌웨어는 폼-구동 오퍼레이팅 시스템의 기능들을 행하기 위해 소프트웨어, 하드웨어에 로딩(loading)되는 소프트웨어, 하드웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 메뉴 및 폼 선택, 및 폼 완성은 터치함으로써, 키보드의 키를 선택함으로써, 적당한 선택 포인트로 커서를 움직여 키를 누름으로써, 또는 음성 명령만으로도 이루어질 수 있다. (단순한 선택이 아니라) 데이터 엔트리가 요구될 때마다, 메뉴 구동 선택 프로세스를 통해 및/또는 키보드, 키패드, 터치 스크린 등을 사용하여 데이터의 엔트리를 지시함으로써 성취된다. 메뉴 구동의 경우에, 옵션의 세트는 TAS 펌웨어에 의해 디스플레이 스크린에 표시된다. 옵션의 세트가 디스플레이 스크린의 용량을 초과하는 경우에는, 리스트는 장치의 스크롤 키를 사용함으로써, 음성 명령에 의해, 또는 스크롤 명령 포인트에 터치함으로써 스크롤 업 또는 다운된다. 선택이 한번 이루어지면, 선택과 관련된 데이터는 로컬 또는 원격 데이터베이스로부터 폼으로 자동적으로 엔터링되거나, 또는 데이터가 사용자에 의해 입력된다. 키보드 엔트리의 경우에, TAS 펌웨어는 터치 엔트리에 대해 디스플레이 스크린의 맨 아래에 키보드를 표시할 수 있다; 대안적으로, 트랜잭션 엔트리 장치의 베이스에 위치한 옵션적인 키보드가 사용될 수 있다.
데이터가 섹션 프로세스와는 독립적으로 엔터링될 때, 이러한 데이터는 데이터가 스와이프 카드(swipe card) 상에 존재하는 경우에 스와이프를 사용하여 엔터링될 수 있거나, 그 데이터는 외부 소스로부터 모뎀을 통하여 데이터 트랜잭션 전송될 수 있다. 스와이프 카드로부터 판독된 데이터는 폼을 메우는 데 사용될 수있고, 또는 외부 데이터베이스 또는 컴퓨터로 송신될 수 있다. 또한 모뎀을 통하여 외부 데이터베이스 또는 컴퓨터로부터 반환된 데이터는 폼의 필드를 메우는 데도 사용될 수 있다. 원하는 대로, 데이터 트랜잭션의 데이터는 또한 스와이프 카드 또는 메모리 카드 등에 기록될 수 있다.
본 발명의 TAS 펌웨어는 데이터 트랜잭션의 생성시에 템플릿을 사용하기 위해 프로세서용 제에 프로그램뿐만 아니라 옵션들을 저장할 수 있다. 또한 TAS 펌웨어는 하나 이상의 외부 컴퓨터 및 데이터베이스에 모뎀을 통한 접속을 가능하게 하는 프로그램을 포함할 수 있다. 바람직하게는, 오퍼레이션에 대한 두 모드가 사용가능하다: (모뎀 접속을 가지거나 또는 가지지 않는) 트랜잭션 엔트리 모드 및 전화 모드. 트랜잭션 엔트리 모드 또는 전화 모드 중 어느 하나에 대한 선택은 트랜잭션 엔트리 장치 상의 스위치 선택을 통하여 이루어진다. 트랜잭션 엔트리 장치가 트랜잭션 엔트리 모드에 위치할 때, TAS 펌웨어는 시스템이 처리하도록 프로그래밍되는 모든 옵션들에 대한 선택 메뉴를 즉시 표시한다. 한편 전화 모드에서는, 다이얼 톤이 제공되고, 전화 키패드가 인에이블된다. 전화 모드에서, 모뎀 접속을 방해하지 않고 트랜잭션 엔트리 장치의 동시 사용을 가능하게 하기 위하여 하나 이상의 회선이 접속될 수 있다. 그러나, 단일 전화 회선이 사용되는 경우에, 전화 기기(telephone electronics) 특정 애플리케이션에 의해 지정되므로서 모뎀을 통하여 모든 시간 또는 간헐적으로 사용가능하다. 간헐 모드(intermittent mode)에서, "세이브(save)" 중의 트랜잭션 엔트리 장치는 원격 데이터베이스 서버로의 다어얼 업 및 데이터 전송을 제어할 것이다. 이 경우에, 전화상의 디스플레이는후술되는 메뉴 선택 기술들에 따라서 이루어 질 수 있는 선택에서의 전화 리스트 및 이름을 표시하는데 사용될 수 있다.
2.데이터 트랜잭션 시스템(도 1 내지 4) - 제1 실시예
도 1은 본 발명의 제1 실시예에 따라 데이터베이스로 데이터 트랜잭션을 엔터링하는 시스템(10)의 개략도이다. 도시된 바와 같이, 시스템(10)은 파일 구조와 일대 다수의 관계를 갖는 데이터 트랜잭션을 캡처하는 제1 타이어(tier), 파일 구조와 일대 일 관계를 갖는 콤포넌트 파트에 데이터 트랜잭션을 익스플로딩(exploding)하는 제2 타이어, 및 지정 애플리케이션에 데이터 트랜잭션의 부가 익스플로젼(explosion)을 제공하는 제3 타이어를 포함한다.
제1 타이어는 사용자로부터의 복수 입력 중 임의의 것에 응답하여 사용자로부터의 데이터 트랜잭션을 캡처하는 트랜잭션 엔트리 장치(12)를 포함한다. 트랜잭션 엔트리 장치(12)는 본 발명에 따라서 데이터 트랜잭션을 생성하기 위해 트랜잭션 어셈블러(18), 스피커(16), 및 종래의 전화 기기를 포함한다. 바람직하게는 디스플레이 스크린(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)을 포함한다. 바람직하게는, 데이터 트랜잭션이 예컨대, 120바이트는 정보를 포함하고 8바이트가 제어 데이터를 포함하는 128바이트를 갖는 데이터 패킷으로 전화 회선(26)상에서 송신된다. 트랜잭션 큐(queue)(34)는 수신된 데이터 트랜잭션에 대해 입력 버퍼로서 동작하고, 트랜잭션 제어기(36)로의 데이터 트랜잭션의 제공(presentation)에 대한 속도를 제어한다. 트랜잭션 제어기(36)는 수신된 데이터 트랜잭션을 프로세싱하여, 데이터 트랜잭션의 콤포넌트 파트의 물리적인 파일 관계를 추출하고, 콤포넌트 파트 및 그것의 다른 조합을 관련된 데이터 베이스(30)의 적절한 파일에 저장한다. 대안적으로, 트랜잭션 제어기(36)는 트랜잭션 엔트리 장치(12)에 의해 프로세싱되고 있는 데이터 트랜잭션의 임의의 필드를 완성하기 위해 데이터베이스(30)로부터 정보를 요구하는 데이터 트랜잭션 어셈블러로부터 데이터를 프로세싱한다. 그리고 나서 데이터베이스(30)는 요구된 정보를 데이터베이스 서버(28)에 제공하고, 데이터베이스 서버(28)는 본 발명에 따라서 부가적인 메뉴 및 폼을 표시하거나 데이터 트랜잭션을 완성하는데 사용하기 위해 데이터 트랜잭션 어셈블러(18)에 데이터 스트림을 반환한다. 통상적으로, 사용자 ID 및 비밀번호는 트랜잭션 제어기(36)로 송신되어 데이터 트랜잭션 어셈블러(18)에 의해 접속이 이루어는 것을 가능하게 한다. 따라서, 또한 트랜잭션 제어기(36)는 본 명세서에서 기술된 바와 같이 재구성된 데이터 트랜잭션을 지시하고 데이터 트랜잭션을 저장하는 것과 더불어 개시 및 로그오프 정보를 조사하고 저장한다. 또한, 데이터베이스서버(28)는 음성 메시지를 저장하기 위해 관련 데이터베이스를 갖는 종래 전화 메일 시스템을 포함할 수 있다. 이 경우에, 데이터 트랜잭션은 원격 음성 메일 시스템에 저장되는 음성 데이터를 포함할 수 있다.
도 1에 도시된 바와 같이, 몇몇 데이터베이스 서버(28)가 제공될 수 있다. 바람직하게는, 각 트랜잭션 엔트리 장치(12)가 그것의 데이터 트랜잭션에 대한 임의의 요구된 프로세싱을 수행하기 위해 관련 데이터베이스 서버(28)를 가지지만, 그래도 데이터 트랜잭션이 도 1에 도시된 바와 같이 적어도 하나의 다른 데이터베이스 서버(28)로 복사되는 것이 바람직하다. 이러한 리던던시(redundancy)는 전력 중단 등의 경우에 데이터를 분실할 가능성을 감소시킨다. 비록 모뎀(32), 트랜잭션 큐, 및 트랜잭션 제어기(36)가 도시의 용이함을 위해 모든 데이터베이스 서버(28)에 도시되어 있지는 않지나, 바람직하게는, 각 데이터베이스 서버(28)가 본질적으로 동일 하드웨어를 포함한다.
트랜잭션 엔트리 모드에서, 트랜잭션 엔트리 장치(12)의 데이터 트랜잭션 어셈블러(18)가 관련 데이터베이스 서버(28)의 관련 트랜잭션 제어기(36)로 송신되는 데이터 트랜잭션을 생성한다. "관련"이라는 것은 데이터베이스 서버(28)가 특정 트랜잭션 엔트리 장치(12)로부터의 데이터 트랜잭션의 저장과 관련하여 요구되는 또는 필수적인 임의의 프로세싱을 수행하도록 기능하는 것을 의미한다. 물론, 특정 데이터베이스 서버(28)는 그것과 관련된 몇몇 트랜잭션 엔트리 장치를 가질 수 있다. 특정 데이터베이스 서버(28)는 임의의 데이터베이스 서버(28)가 실패하는 경우에도 다른 데이터베이스 서버(28)에 대한 백업으로서 역할을 할 수 있어, 데이터는 분실되지 않을 것이다.
도 2 내지 4와 관련하여 보다 상세히 설명되는 바와 같이, 데이터 서버(28)는 데이터 트랜잭션 어셈블러(18)로부터 수신된 데이터 트랜잭션을 "익스플로딩"하고, 다른 데이터베이스를 갱신할 필요가 있을 때 다른 데이터베이스 서버(28)에 모뎀을 통하여 "익스플로딩된" 파일 종속 데이터 트랜잭션의 콤포넌트 파트를 제공한다. 대안적으로, 도 1에 점선으로 도시된 바와 같이, 데이터 트랜잭션의 "익스플로젼"은 모든 적절한 데이터베이스(28)에 송신된 콤포넌트 파트 및 트랜잭션 엔트리 장치(12)에서 데이터 트랜잭션 어셈블러(18)에 의해 수행될 수 있어, 그곳에 있는 데이터를 갱신한다. 이러한 목적을 위하여, 데이터 트랜잭션 어셈블러(18)는 익스플로딩된 데이터 트랜잭션에 의해 갱신될 모든 데이터베이스 서버(28)에게 모뎀 수를 공지하는 것도 또한 필요할 것이다. 그러나, 본 기술분야에서 숙달된 자들은 이러한 후자의 대안이 트랜잭션 엔트리 장치에 의한 수많은 전화 회절으로의 액세스를 요구하고 이러한 전화 회선이 항상 사용자에게 사용가능하지 않다는 것을 통찰할 것이다.
마지막으로, 시스템(10)의 제3 타이어는 지정 애플리케이션용 파일 종속 데이터 트랜잭션을 지원하는 데이터베이스(40) 및 데이터베이스 서버(38)를 포함한다. 데이터베이스 서버(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), 전화 기능/회선 키(68), 및 옵션적인자기/스마트 카드 판독기(70) 및 스피커(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)은 마이크로프로세서(94)(예를 들면, 이하 도 7 내지 10의 알고리즘용 마이크로코드)용 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)가 제공되는 것은 물론, 확장형의 마이크로폰 및 스피커 배열이 제공될 수 있다. 물론, 액정 디스플레이 스크린(20)은 예를 들면, 40 컬럼 × 12 로우의 크기로 감소될 수 있으며, 터치 스크린(64)은 소거될 수도 있다. 그러나, 도 5a 및 도 5b의 실시예의 다른 옵션들 대부분은 필요에 따라 데스크에서 휴대용 유닛이 사용될 수 있도록 그대로 둘 수 있다. 트랜잭션 엔트리 장치(12)의 전자 기기는 본 분야의 숙련된 자의 기술 범위내에서 고려될 수 있는 임의의 크기 및 형상을 제외한 도 6에 도시된 바와 같다.
b. 소프트웨어
다음 설명으로부터 명백한 바와 같이, 데이타 트랜잭션 어셈블러(18)는 종래의 오퍼레이팅 시스템을 활용하지 않고도 마이크로프로세서(94)의 동작을 제어한다. 이와는 상반되게, TAS PROM((5)은 특정 애플리케이션의 경우 폼/메뉴 메모리(96)로부터 제공된 메뉴 및 폼들을 통하여 사용자에게 네비게이팅하기 위한 핵심 방식(kernel fashion)으로 동작하는 간단한 펌웨어 알고리즘(도 7-10)을 저장하며, 이것은 제시간에 임의 포인트에서 마이크로프로세서(94)를 제어하는 최종 데이타 스트림이다. 바꾸어 말하자면, TAS PROM(95)로부터의 데이타 스트림과 폼/메뉴 메모리(96)로부터의 데이타 스트림은 함께 폼에 의해 특정화된 각 애플리케이션에 대한 특수 목적의 프로세서로 마이크로프로세서를 재구성한다. TAS PROM(95)의 마이크로코드와 폼/메뉴 메모리(96)로부터의 파라미터 스트림은 모든 애플리케이션에 대한 마이크로프로세서(94)의 간단한 폼-구동 동작 시스템으로서 함께 동작하며 마이크로프로세서(94)를 제어하는데 사용된 단일 코드이다(즉, 어떠한 종래의 동작 시스템이나 애플리게이션 프로그램도 제공되지 않는다). 그 결과, 마이크로프로세서(94)는 폼/메뉴 메모리(94)로부터 판독된 각각의 새로운 형태로 새로운 특수 목적의 컴퓨터로 재구성될 수 있으며, 그러한 폼/메뉴는 외부 데이타베이스 서버(28)로부터 또는 메모리 카드로부터 적정한 데이타 스트림으로 판독되거나, 추가적인 PROM을 추가함으로써 아무때나 부가될 수 있다. TAS PROM(95)에 저장된 TAS 펌웨어의 특수 동작은 도 7-10에 관련하여 이하에 기술될 것이다.
따라서, TAS PROM(95)은 마이크로프로세서(94)용 제어 데이타(펌웨어)를 포함하며 각 트랜잭션 엔트리 장치(12)에 잔류하여 폼/메뉴 메모리(96)에 저장된 데이타 스트림으로부터 그리고 외부 데이타베이스 또는 자기 카드, 스마트 카드 등으로부터 검색되거나 사용자에 의해 입력된 데이타로부터 데이타 트랜잭션용 템플레이트(template)를 생성한다. TAS 펌웨어 및 선택된 템플레이트는 함께 사용자에 의해 네비게이트되는 데이타베이스 인터페이스 및/또는 메뉴 옵션의 테이블을 논리적으로 한정함으로써 마이크로프로세서(94)의 동작을 제어한다. 상술한 바와 같이, 사용자는 다른 메뉴, 폼 또는 프로세스를 선택함으로써 일련의 메뉴 선택을 통해 네비게이트한다. 일단 원하는 애플리케이션에 대한 데이타 트랜잭션이 완료되면, "익스플로션(explosion)"의 경우 저장을 위한 모든 구성 부분으로 전송된다. 이 폼에서, 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)는 폼내의 하나 이상의 필드를 이용하여 관련 레이트의 계산, 민(mean)의 찾기, 명칭 찾기 또는 특정일의 엔트리에 대한 검색과 같은 처리를 초기화하기 위한 메뉴 선택을 제공할 수 있다. 이들 처리는 TAS PROM(95), 폼/메뉴 메모리(96), 초기화되는 오프-라인 서버, 또는 트랜잭션 엔트리 장치(12)의 구동 부분에 다운로드될 수 있는 임의의 다른 곳에 저장될 수 있다. 바람직한 실시예에서, 처리는 일반적으로 데이타베이스 서버(28)에 데이타 요구를 전송하고, 데이타베이스 서버(28)내의 데이타를 처리하고나서, 데이타 스트림으로서 응답을 리턴시키거나 트랜잭션 엔트리 장치(12)에 역보고됨으로써 데이타베이스 서버(28)에서 초기화된다.
처리는 통상적으로 외부 기기 상에서의 처리를 호출하는 데이타 스트링을 초기화한다. 예를 들면, 트랜잭션 엔트리 장치(12)는 적외선 송수신기(80)(도 5 및 도 6)을 사용하여 다양한 장치의 적외선 제어를 위한 제어 신호를 다운로드하여 저장하는데 사용될 수도 있다. 제어 신호의 폼은 추가적인 적외선 칩의 신호 저장에 따라 좌우될 것이며, 데이타 트랜잭션 어셈블러(18) 또는 모뎀을 통한 오프-라인 장치에 의해 로딩될 수 있거나, 무선 폼으로 직접적인 디지털 전송용 RF 송수신기(90)를 이용한 공중파를 통해 로딩될 수 있다. 또한, 트랜잭션 엔트리 장치(12)가 의료 사무소에 사용될 경우에, 예를 들면, 처리는 약국으로의 처방전의 전송 또는 미리저장된 모뎀 번호를 사용하는 가정에서 주문을 메일로 보내거나 특정일에 전화 호출 리스트 또는 후속 예약의 리스트로부터 의사를 호출하여 날짜를 잡는데 사용될 수 있다. 바꾸어 말하자면, TAS 펌웨어는 또한 데이타 트랜잭션을 하나 이상의 데이타베이스로의 수많은 기록의 전송을 위한 모든 보조 부분으로 익스플로드(explode)할 수 있다.
TAS 펌웨어의 바람직한 실시예는 도 7-10에 대해 설명될 것이다. 상술한 바와 같이, TAS 펌웨어는 소프트웨어, 하드웨어에 로드된 소프트웨어, 하드웨어, 또는 하드웨어와 소프트웨어의 조합으로 수행되어 폼-구동 오퍼레이팅 시스템의 기능을 수행할 수도 있다.
상술한 바와 같이, 트랜잭션 어셈블리(애플리케이션) 서버(TAS)는 어떠한 종래의 오퍼레이팅 시스템도 필요없도록 폼/메뉴 메모리(96)로부터의 폼과 함께 마이크로프로세서(94)에 필요한 제어 데이타(펌웨어)를 제공하는 간단한 폼-구동 오퍼레이팅 시스템을 생성하는 TAS PROM(95)에 저장된 데이타 스트림이다. 도 7은 본 발명의 바람직한 실시예에 따른 메뉴 구동형 TAS의 흐름도이다. 도시된 바와 같이, TAS 펌웨어는 단계(100)에서 시작하여 단계(102)에서 폼/메뉴 메모리(96)으로부터 초기 메뉴를 페치한다. 초기 메뉴는 시스템 로그 온후 TAS 펌웨어를 부팅하는데 몇초 이내에 프롬프트된다. 초기 메뉴는 통상적으로 추가 기능을 인에이블하고 실행 메뉴를 인쇄하기 위한 데이타베이스 서버(28)로부터 파라미터 스트림을 다운로딩하는 옵션을 제공한다. 실행 메뉴가 선택되면, 실행 메뉴는 폼/메뉴 메모리(96)으로부터 검색된다. 실행 메뉴는 사용자로의 여러 응용 옵션 즉, 폼의 선택, 또 다른 메뉴, 처리, 또는 어느 하나가 단계 104에서 선택되는 전화 모드로의 자동 전환(switch)을 포함하고 있다. 폼/메뉴 메모리(96)내 데이터 스트림들은 폼의 경우 "F", 메뉴의 경우 "F", 프로세스의 경우 "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에서 폼이 처리된다. 각각의 필드에서 엔트리가 형성되면, 이 엔트리는 자신의 할당 위치와 지시된(dictated) 포맷내 트랜잭션 버퍼(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)내에 데이터의 저장을 위한 "익스플로젼(explosion)"을 위해 적절한 데이터베이스 서버들(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에서 디스플레이 스크린에 갱신된 필드값이 표현된다. 다음에 단계 172에서 사용자가 이전 필드를 체크하기를 원한다면, 제어는 단계 174에서 이전 필드로 향하게 되고, 필드 완료 루틴이 이전 필드에 대해 반복된다. 그러나, 체크될 이전 필드가 전혀 없거나 추가 필드가 존재하는 것으로 단계 176에서 판정되면, 제어는 단계 178에서 다음 필드로 향하게 되며 필드 완료 루틴이 다음 필드에 대해 반복된다. 이러한 처리는 최종 필드가 완료되고 루틴이 단계 180에서 중단될 때까지 반복된다. 다음에 제어는 폼의 다른 페이지의 처리를 위해 도 8로 복귀한다.
각각의 폼은 하나 이상의 모드에서 처리될 수도 있다. 상술한, 입력 모드에서는 데이터 트랜잭션이 생성되어 데이터베이스 서버(28)에 전송된다. 그러나, 편집 모드에서는, 특정 레코드의 ID 입력시, 그 레코드는 외부 데이터베이스(30 혹은 40)로부터 편집을 위해 트랜잭션 버퍼(97)로 판독된다. 편집 레코드는 오디트 트레일(audit trail)의 제공을 위해 유지된다. 뷰 모드에서는, 특정 레코드의 ID 입력시, 마찬가지로 외부 데이터베이스(30 또는 40)로부터 트랜잭션 버퍼(97)내로 판독되지만 이는 디스플레이만을 위한 것이다. 최종적으로, 삭제 모드에서는, 사용자가 적절한 보안 클리어런스를 갖는다면 전체 레코드는 데이터베이스(30 혹은 40)로부터 삭제될 수 있다.
도 10은 각각의 데이터 트랜잭션의 필드들을 TAS 펌웨어가 어떻게 유효화하는 지를 예시하고 있다. 도시된 바와 같이, 단계 182에서 필드 유효화 루틴이 시작되고, 단계 184에서는 어느 필드 타입이 존재하는지가 먼저 판정된다. 현재의 필드가 문자숫자식 필드(alphanumeric field)라면, 제어는 필드 디폴트들이 처리되는 단계 186을 통과한다. 다음에 단계 188에서는 사용자가 이러한 필드에 대해 허용된 값들을 알고 있는지의 여부가 판정된다. 판정이 이루어지지 않고, 그 필드에서의 세부항목들의 구현을 위해, 단계 190에서 임플랜트 테이블이 서치된다. "?"는 이러한 필드에 대해 허용된 값들을 오퍼레이터가 알고 있는지 그리고 임플랜트 테이블의 서치를 희망하고 있는지를 나타내기 위해 오퍼레이터에 의해 사용될 수도 있다. 다음에 그때까지 입력된 데이터와 매칭되는 가능한 값의 리스트가 호출된다. 이러한 리스트로부터 오퍼레이터는 리스트를 스크롤할 수 있고, 데이터 엔트리를 완료하게 될 값들을 선택할 수 있다. 그러나, 리스트내에서 값들이 발견되지않으면, 단계 192에서 필드 에러가 발생되게 되고, 단계 194에서 필드 검증 루틴이 중단된다. 리스트에서 값이 발견되면 제어는 단계 200으로 향하게 된다.
한편, 단계 188에서, 현재의 필드에 데이터가 부가될(이식될;implant) 필요가 없는 것으로 판정되면, 제어는 단계 196을 스킵하며, 이 스킵된 단계에서는 데이터 검증 및/또는 데이터 추출의 목적을 위해, 현재의 필드 타입이, 어느 데이터베이스 중 어느 파일 또는 파일들(일대 다수)의 어느 레코드에 현재의 필드(그 폼과 더불어)가 링크될 수 있는 이벤트를 설정하는 필드인지의 여부가 판정된다. 그러한 판정이 이루어지면, 제어는 단계 198을 지나고, 이전에 수집된 어느 다른 데이터와 더불어 현재의 필드로부터의 데이터는 원하는 링크를 형성하는데 사용된다. 상술한 데이터 임플랜트 단계 188에서처럼, 사용자는 이러한 링크 형성을 위해 필요한 정보를 얻기 위해 "?"를 입력할 수도 있다. 링크를 위한 데이터가 발견되지 않으면, 단계 192에서 필드 에러가 발행되고, 단계 194에서 필드 검증 루틴이 중단된다. 그러나, 링크를 위한 데이터가 발견되면, 단계 200에서는 블랭크를 위해 필드가 체크되고, 필드에 블랭크가 존재하기는 하지만 허용되지는 않는다면 단계 192에서 필드 에러가 발행된다. 현재의 필드에 블랭크가 전혀 발견되지 않거나, 블랭크가 발견되기는 하지만 허용되지는 않는다면, 필드 검증 루틴은 단계 202에서 중단되게 된다.
현재 필드가 수치적 필드인 것으로 단계 184에서 판정되면, 문자 셋트가 유효한 것인지의 판정을 위해 단계 204에서 필드가 체크된다. 체크가 이루어지면, 필요에 따라, 단계 206에서 번호의 정확도가 조정되고, 경계 조건들(예를 들어, 제로로 분할하는 것이 전혀 없음)을 필드 엔트리들이 만족할 수 있도록 단계 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)는 수신된 데이터 트랜잭션의 타입에 기초하여 무슨 타입의 액션을 취할지를 결정하고, 데이터 트랜잭션을 적절한 다른 데이터베이스들에 송신하기 위해 복수의 다른 데이터 트랜잭션들로 "파열"(explode)시키고, 관련된 데이터베이스(30)에 대한 데이터를 적당한 파일 포맷으로 변환한다. 물론, 각각의 데이터베이스 서버(28)는 각각의 다른 데이터베이스 서버(28)와는 다른데, 그 이유는 서로 다른 타입의 데이터 트랜잭션들을 핸들링하고, 서로 다른 운영 시스템 특성을 갖고, 관련된 데이터베이스(30)의 파일 포맷들에 따라서 서로 다른 파일 변환을 행하기 때문이다. 예를 들면, 데이터베이스 서버(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 소프트웨어 패키지의 일부로 제공된다. ek라서, BOSS 소프트웨어 제어 컴퓨터(350)은 그 안에 포함된 SuperBOSS(360)의 기능을 갖는다. 본 명세서에서 사용한 바와 같이, 로케이터/SuperBOSS(360)은 본 발명에 따른 로케이팅 기능을 수행하는 소프트웨어 혹은 컴퓨터와 같은 하드웨어로 로케이팅 기능을 수행하는 소프트웨어를 포함하는 하드웨어를 둘다 지칭한다.
이러한 기능으로 인해 BOSS 소프트웨어 제어 컴퓨터(350)는 다음과 같은 것으로서의 기능을 한다: 클라이언트 장치(310)으로부터 애플리케이션(365)혹은 데이터베이스(355)로 트랜잭션을 수행하는 패스 쓰루/콘딧, 로케이터/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)로 연결된다. 따라서, 전화 네트워크 인프라스트럭쳐가 본 발명에 결합된다. 예컨대, 장거리 전화를 인터넷을 통해 라우팅하고 데이터를 로컬 PS수(390)에 게이트웨이(375)와 PBX(385)를 통해 반송함으로써 장거리 전화를 없애거나 줄일 수 있으므로, 이는 유용하다.
본 발명에 따라 폼 구동 혹은 패널 구동 TAS(311)을 갖는 클라이언트 컴퓨터가 하나 이상의 다양한 컴퓨터 플랫폼이 될 수 있다는 것을 이해해야 한다. 예를 들어, 컴퓨터 플랫폼은 다양한 휴대용 장치, 스크린 폰, 퍼스널 컴퓨터, 데이터 저장과 처리 능력을 갖는 전자통신 장치, 폼 구동 입출력을 할 수 있거나 유용하게 이용하는 컴퓨터를 호함한다. 폼 구동 시스템은 폼의 표현(패널 정의로부터 패널 장착)을 위한 폼 정보를 회수도록 되어있고, 또한 입력 폼 데이터(사용자 입력, 예컨대, 폼이나 패널을 채워넣음)를 송수신, 처리하도록 되어 있다. 출력 장치(330)에 표현되는 폼이나 패널 데이터를 프리젠테이션이라 한다. 이는 비주얼 데이터, 그래픽 이미지, 비디오 혹은 연설 가시화 혹은 연설 음성일 될 수 있다.
본 발명에 따라 데이터의 저장과 통신과 함께 다양한 데이터 보안 기술이 이용될 수 있다. 예를 들어, 공지의 암호화 알고리즘을 데이터의 보안 전송에 이용될 수 있다. 예를 들어, 호핑 알고리즘은 암호 해석 키가 다음것과 같지 않다는것을 확인하는 것이다. 인증 집적 회로를 가지고 있는 보안 메모리가 더 큰 수준의 보안을 제공하며 종래기술을 대체할 수 있다. 따라서 보안 온라인 트랜잭션과 관련하여 다양한 보안 방법을 행할 수 있는데, 본 발명의 통신용 보안 측정과 함께 사용될 수 있다.
또한 데이터의 보안 전송을 보충하도록 된 광범위한 인증 기술이 있다. 다양한 사용자나 장치 인증 기술에는 장치간의 복잡한 신호변경, 지문, 홍채 스캐닝, 키 카드, 자기띠를 갖는 카드, 자기 카드, 마이크로침카드, 신체 인증 기술인, 패스워드, 홍채 스캔, 망막 스캔, 지문, 음성 서명, 외형, 신체 신호들의 조합 등이 포함된다. 또한, 보안 수준은 데이터의 민감도, 사용자 액세스 레벨 등에 따라 층이 나누어질 수 있다. 따라서 본 발명의 폼 구동 시스템을 위한 안전한 보안 수준을 제공하는 보안 전송 기술을 보충하기 위해 하나 이상의 인증 기술을 사용한다. 이상의 보안 기술은 또한 상기 제1 실시예와 관련하여 구현될 수도 있다.
본 바람직한 실시예에서, 암호화와 인증 소프트웨어는 각 폼과 관련 데이터을 암호화하고 부가적인 보안 층을 제공하기 위해 적어도 하나의 사용자와 시스템 부품에 인증 기술을 적용한다. 인증 기술로는 자기 카드, 마이크로칩 카드, 신체 인증 기술을 이용한다. 신체 인증은 하나 이상의 패스워드, 홍채 스캔, 망막 스캔, 지문, 음성 서명, 외형, 신체 신호나 다른 인증 기술을 포함한다.
도 11B는 본 발명을 구현하는 장치 세트의 일반적인 시스템의 예를 나타내는 블록도이다. 전술한 바와 같이, 장치(310)는 CyberfoneTM(310a), PC(personal computer)(310b), 휴대용 장치(310c), 스크린 폰(310d), 혹은 본 발명에 따른TAS(311)과 프리젠테이션 매니저(320)에 부속되는 임의의 장치가 될 수 있다. 장치(310)는 BOSS 소프트웨어 제어 컴퓨터(350)과 통신한다. 사용자가 PC(310b) 등의 장치로 세션을 시작하면, 예컨대, 로그인하면, 사용자 인증 과정이 일어난다. 사용자가 유효하면 시스템에 있는 메시지 데이터는 즉시 그 사용자로 푸시된다. 이 메시지 데이터는 의학 정보에서부터 결혼 통지에 이르기까지, 사용자가 이전에 요구했던 데이터 등을 표시할 수 있다.
예컨대, 전화를 걸거나 클라이언트 장치(310)에 로그인함으로써 클라이언트 장치(310)와 세션을 시작한 후, 사용자는 BOSS 소프트웨어 제어 컴퓨터(350)에 포워드된 태스크를 요청할 것이다.
BOSS 소프트웨어 제어식 컴퓨터(350)는 태스크를 완료하기 위하여, 그리고/또는 메시지 데이타를 다른 사용자에게 푸시하는 것과 같은 것에 응답하여 다른 태스크를 발생시키기 위하여 애플리케이션(365) 또는 데이타베이스(355)와 통신할 수 있다. 전술한 바와 같이, 로케이터/수퍼보스(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)로의 트랜잭션을 위한 패스 스루/콘딧으로서, 로케이터/수퍼보스(360)를 포함하는 로케이터 시스템에 대한 라우터로서, 클라이언트 장치(310)에 대한 임의의 종류의 데이타의 푸셔로서, 클라이언트 장치(310) 또는 시스템의 다른 부분에 대한 새로운 또는 갱신된 소프트웨어의 푸셔로서, 상이한 클라이언트 장치들(310) 간의 링크로서, 암호화되고 보안 인증된 통신을 위한 수단으로서, 다른 BOSS 소프트웨어 제어식 서비스에 대한 라우터로서, 그리고 암호화된 통신의 디코더 또는 인코더로서 동작하는 능력을 갖고 있다. 로케이터/수퍼보스(360)는 아래의 각종 양태에서 설명되는 바와 같이 상기 프로세스들을 보조할 수 있다. 장치(310)와, 사용자들이 있는 곳, 및 사용자들이 등록된 곳을 추적하여 로케이터/수퍼보스(360)는 데이타가 적당한 클라이언트 장치(310)로효율적으로 라우팅되는 것을 돕는다.
또한, 클라이언트 장치(310)의 TAS(311)는 내부적으로 또는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터, 서식에 대한 요구를 만드는 것을 포함하는 여러 개의 종합 기능을 갖는다. 서식은 예컨대 장치(310)의 사용자에게 표시된 메뉴와 관련하여 TAS(311)에 의해 요구될 수 있다. TAS(311)는 장치(310)의 사용자에게 메뉴를 제공할 수 있다. TAS(311)는 보고서, 즉 사용자에 의해 채워지고 있는 서식에 사용되는 데이타의 서브세트를 수신하고 처리하여 표시할 수 있다. 또한, TAS(311)는 다른 사용자를 발견하고, 다른 사용자에게 메시지 또는 다른 데이타를 푸시하고, 다른 멤버들의 서브세트에 데이타를 푸시하는 등의 각종 프로세스를 행할 수 있다. 따라서, 사용자가 클라이언트 장치(310)에 로그온하거나 클라이언트 장치와 함께 세션을 시작하는 경우, 클라이언트 장치의 로케이션 및 히스토리가 알려질 수 있게 되고, 로그온한 사용자가 알려지게 된다. 결과적으로, 임의의 메시지가 사용자에게 푸시될 준비가 되면, 이들 메시지는 사용자 세션 개시(예컨대 로그인) 후에 푸시될 수 있다. 또한, 호 전송 등과 같은 전화의 각종 기능 모두가 구현될 수 있다. 예컨대, 사용자는 메시지가 임시로 제2 클라이언트 장치로 가도록 요구할 수 있다.
도 12는 BOSS 소프트웨어의 일반 기능을 나타낸다. 전술한 바와 같이, 로케이터/수퍼보스(360)는 본 발명의 로케이팅 기능을 행하기 위하여 BOSS 소프트웨어에 통합될 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 장치(310), 다른 애플리케이션(365), 데이타베이스(355) 또는 로케이터/수퍼보스(360)에 대한 정보의 콘딧 또는 라우터(352)로서 동작할 수 있다. 또한, BOSS 소프트웨어 제어식 컴퓨터(350)는 예컨대 다른 클라이언트 장치(310), 애플리케이션(365) 또는 데이타베이스(355)로부터 클라이언트 장치(310)에 대한 음성 데이타와 같은 임의의 종류의 데이타의 푸셔로서 동작할 수 있다. 로케이터/수퍼보스(360)는 음성 메시지의 전달을 위한 적당한 BOSS 소프트웨어 제어식 컴퓨터와 같은 정보의 전달을 위한 적당한 시스템 성분을 로케이팅함으로써 이러한 노고를 돕는다. BOSS 소프트웨어 제어식 컴퓨터(350)는 또한 클라이언트 장치(310) 또는 시스템의 다른 부분에 대한 새로운 또는 갱신된 소프트웨어의 푸셔로서 동작할 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 또한 상이한 클라이언트 장치들(310), 다른 애플리케이션(365), 데이타베이스(355), 로케이터/수퍼보스(360) 및/또는 다른 BOSS 소프트웨어 제어식 서비스들 간의 링커/라우터(353)로서 동작할 수 있다. BOSS 소프트웨어 제어식 컴퓨터(350)는 또한 통신을 위한 인증 작업을 행하기 위해, 그리고 통신을 디코딩 또는 인코딩하기 위해 보안/인증 통신 수단(354)을 구비할 수 있다. 수단(354)은 본 발명의 시스템의 통신에 대한 보호장치로 동작하며, 그 자체로서 암호화되고 보안 인증된 통신을 제공한다.
도 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는 수퍼보스(360)의 사시도로부터 수퍼보스(360)와 BOSS 소프트웨어 제어식 컴퓨터(350) 사이의 예시적인 통신 흐름을 나타낸다. 시작(1320) 후, 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)에 의해 BOSS 라이센스 정보를 포함하는 데이타와 접촉된다. BOSS 라이센스 정보는 각종 정보를 포함할 수 있으며, BOSS 소프트웨어 제어식 컴퓨터(350) 식별과 관련된 데이타, BOSS 소프트웨어 제어식 컴퓨터(350)가 누구와 통신하는지를 지정하는 데이타 등을 포함할 수 있다. 수퍼보스(360)는 1324에서 BOSS 소프트웨어 제어식 컴퓨터(350)에 접촉의 확인 신호를 전송한다. 1326에서 수퍼보스(360)는 BOSS 라이센스 정보를 확인한다.
BOSS 라이센스 정보가 유효하지 않은 경우, 1328, 1330 및 1332에서 수퍼보스(360)는 부적당한 라이센스와 관련된 메시지를 BOSS 소프트웨어 제어식 컴퓨터(350)에 전송하고, 접촉을 형성하는 BOSS 소프트웨어 제어식 컴퓨터(350)와의 접속을 종료하고, 흐름에서 나온다.
BOSS 라이센스 정보가 유효한 경우, 1334에서 수퍼보스(360)는 사용자 식별(UID) 및 현재 IP 어드레스 및/또는 다른 네트워크 식별 정보의 리프레시에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1336에서 수퍼보스(360)는 1338에서의 리프레시된 식별 정보의 수신을 위한 준비로서 사전 응답 처리를 행한다. 1340에서 수퍼보스(360)는 리프레시 정보가 적절히 수신되었음을 알리는 확인 신호를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1342에서 수퍼보스(360)는 수퍼보스 데이타베이스(SBDB; 370)에 대한 접속을 연다. 1344에서 수퍼보스(360)는 UID 및 현재의 IP 어드레스의 리스트 및/또는 다른 식별 정보를 수퍼보스 데이타베이스(370)로 전송한다. 1346에서 수퍼보스(360)는 수퍼보스 데이타베이스(370)에 대한 접속을 닫는다.
1348에서 수퍼보스(360)는 특정 사용자의 PIM(개인 정보 관리기) 리스트에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)에 전송한다. PIM은 접촉(어드레스, 전화번호 등), 지정, 투-두 리스트(to do lists), 리마인더 등의 추적을 유지하는 데 사용되는 접촉 관리 오브젝트이다. 1350에서 수퍼보스(360)는 사용자의 PIM 리스트의 수신에 대한 준비로서 사전 응답 처리를 행한다. 1352에서 수퍼보스(360)는 PIM 정보를 포함하는 응답을 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 수신하고, 이에 대한 수신 확인이 1354에서 전송된다. 1356에서 수퍼보스(360)는 수퍼보스 데이타베이스(370)에 대한 접속을 연다. 1358에서 수퍼보스(360)는 UID 및 현재의 IP 어드레스 및/또는 다른 식별 정보를 위해 수퍼보스 데이타베이스(370)를 폴링한다. IP 어드레스 및 전화 번호가 1360 및 1362에서 검색되고, 이어서 수퍼보스(360)는 수퍼보스 데이타베이스(370)에 대한 접속을 행한다. 예컨대, 수퍼보스(360)는 SB PSTN 데이타베이스(370b)에 대한 접속을 열 수 있고, 이어서 수퍼보스(360)는 PSTN 번호를 위해 SB PSTN 데이타베이스(370b)를 폴링할 수 있다. 이어서, 수퍼보스(360)는 적당한 PSTN 번호를 검색한 SB PSTN 데이타베이스(370b)를 닫을 수 있다. 1364에서 프로세스 널이 결과된 후, 수퍼보스(360)는 1366에서 사용자 PIM의 리프레시를 위해 식별 정보의 패킷을 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 널 결과는 전화번호 및/또는 IP 어드레스를 꺼낼 때까지 지연하도록 실행되는 더미 프로세스이다. 이어서, 흐름은 1368에서 나올 수 있다.
도 14B는 BOSS 소프트웨어 제어식 컴퓨터(350)의 사시도로부터 수퍼보스(360)와 BOSS 소프트웨어 제어식 컴퓨터(350) 간의 예시적인 통신을 나타낸다. 개시 후 1372에서 로그인과 같은 성공적인 세션 시작 후, BOSS 소프트웨어 제어식 컴퓨터(350)는 1374에서 수퍼보스(360)와의 접촉을 시작한다. 수퍼보스(360)와 접촉하는 데 사용되는 정보는 BOSS 라이센스 정보를 포함할 수 있다. 1376에서 수퍼보스(360)로부터의 응답에 대한 준비로서의 사전 응답 처리 후, BOSS 소프트웨어 제어식 컴퓨터(350)는 1378에서 수퍼보스(360)로부터 접촉에 대한요구의 확인 신호를 수신한다. BOSS 라이센스 정보가 무효인 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)로부터 통지를 받으며, BOSS 소프트웨어 제어식 컴퓨터(350)는 PIM 정보, 즉 PSTN 번호 및 IP 어드레스를 제어하는 애플리케이션 데이타베이스 및/또는 애플리케이션의 시스템 관리기(도시되지 않음)에 통지하며, 흐름이 종료될 수 있다. BOSS 라이센스 정보가 유효한 경우, BOSS 소프트웨어 제어식 컴퓨터(350)는 1380에서 수퍼보스(360)로부터 데이타(UID/IP 어드레스 및/또는 다른 식별 정보)에 대한 요구를 수신한다. 1382에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 요구된 데이타를 수집하고, 1384에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 UID/IP 어드레스 및/또는 다른 식별 데이타를 수퍼보스(360)로 전송한다. 1386에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)로부터 사용자 PIM 데이타에 대한 요구를 수신한다. 1388에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 사용자 PIM 데이타를 수퍼보스(360)로 전송한다. 1390에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 갱신 데이타의 수신에 대한 준비로서 사전 응답 처리를 행한다. 1392에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)로부터 사용자 PIM 데이타의 적당한 수신의 확인 신호를 수신한다. 1394에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(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에서 수퍼보스(360)와의 통신을 위한 요구를 만든다. 1504에서 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 통신을 위한 요구를 수신한다. 1506에서 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)와의 접속/세션을 연다. 1508에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)에 BOSS 라이센스 정보를 전송한다. 1510에서 수퍼보스(360)는 BOSS 라이센스 정보를 처리한다.
1512에서 BOSS 라이센스가 유효하지 않은 경우, 수퍼보스(360)는 1514에서 BOSS 소프트웨어 제어식 컴퓨터(350)에 무효 라이센스에 대한 통지를 전송한다. 1516에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)에 의해 전송된 메시지를 수신한다. 1518에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 무효 라이센스에 관한 메시지를 시스템 관리기로 전송한다. 1520에서 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)와의 접속/세션을 닫으며, 이어서 수퍼보스(360) 및BOSS 소프트웨어 제어식 컴퓨터(350)는 각각 1522 및 1524에서 나올 수 있다.
1512에서 BOSS 라이센스가 유효한 경우, 1526에서 수퍼보스(360)는 모든 사용자 식별(UID), IP 어드레스 및/또는 다른 식별 정보의 리스트에 대한 요구를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1528에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)로부터 UID, IP 어드레스 및/또는 다른 식별 정보에 대한 요구를 수신한다. 1530에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 UID, IP 어드레스 및/또는 다른 식별 정보의 리스트를 수퍼보스(360)로 전송한다. 1532에서 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 UID, IP 어드레스 및/또는 다른 식별 정보의 리스트를 수신한다. 1534에서 수퍼보스(360)는 수퍼보스 데이타베이스(예컨대 370a 또는 370b)에 대한 접속을 연다. 1536에서 수퍼보스(360)는 UID, IP 어드레스 및/또는 다른 식별 정보의 리스트를 수퍼보스 데이타베이스(370)로 전송한다. 1538에서 수퍼보스(360)는 수퍼보스 데이타베이스(370)에 대한 접속을 닫는다.
1540에서 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로 특정 UID 및 PIM 정보에 대한 요구를 전송한다. 1542에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 특정 UID 및 PIM 정보에 대한 요구를 수신한다. 1544에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 예컨대 BOSS 데이타베이스(355)로부터 데이타를 검색한다. 1546에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 데이타를 수퍼보스(360)로 전송한다. 1548에서 수퍼보스(360)는 BOSS 소프트웨어 제어식 컴퓨터(350)로부터 데이타를 수신한다. 1550에서 수퍼보스(360)는 수퍼보스 데이타베이스(예컨대370a)에 대한 접속을 연다. 1552에서 수퍼보스(360)는 UID, 현재의 IP 어드레스 또는 다른 식별 정보를 위해 수퍼보스 데이타베이스(370)를 폴링한다. 1554에서 수퍼보스(360)는 수퍼보스 데이타베이스(370)에 대한 접속을 닫는다.
1556에서 수퍼보스(360)는 PSTN 데이타베이스(370b)에 대한 접속을 연다. 15598에서 수퍼보스(360)는 현재의 전화번호 또는 IP 어드레스를 위해 PSTN 데이타베이스(370b)를 폴링한다. 1560에서 수퍼보스(360)는 PSTN 데이타베이스(370b)에 대한 접속을 닫는다. 1562에서 수퍼보스(360)는 폴링의 결과를 BOSS 소프트웨어 제어식 컴퓨터(350)로 전송한다. 1564에서 BOSS 소프트웨어 제어식 컴퓨터(350)는 수퍼보스(360)로부터 폴링의 결과를 수신하고, BOSS 소프트웨어 제어식 컴퓨터(350)는 적당한 장치를 로케이팅한 적당한 클라이언트 장치에 임의의 메시지를 푸시할 수 있게 된다. 이어서, 1564로부터 BOSS 소프트웨어 제어식 컴퓨터(350)는 1568에서 나오기 전에 특정 사용자 식별 PIM 정보를 갱신하며(1566), 수퍼보스(360)는 1570에서 나온다.
도 17은 도 15 및 16에서 설명된 예시적인 통신 흐름의 통합 흐름도이다. 수퍼보스(SB; 60)가 1522에서 흐름을 나온 후 흐름은 예컨대 1406으로 연결될 수 있고, 여기서 시스템은 BOSS 소프트웨어 제어식 컴퓨터(350)에서 TAS(311)로의 패널 정의의 전송을 처리한다. 또한 1566 후, 흐름도를 나오는 대신에 BOSS 소프트웨어 제어식 컴퓨터(350)는 1406에서 시스템 듀티를 수행할 수 있다. 또한, BOSS 소프트웨어 제어식 컴퓨터(350)가 데이타를 처리하는 1442 후, 흐름을 1406으로 복귀하는 대신에 흐름은 예컨대 1502로 진행할 수 있다. 수퍼보스데이타베이스(370), 수퍼보스(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)
- 내장된 폼-구동(form-driven) 오퍼레이팅 시스템을 갖는 복수의 클라이언트 장치를 포함하는 폼-구동 컴퓨터 시스템내에서 동작하는 서버 컴퓨터에 있어서,상기 서버 컴퓨터는 폼의 형식으로 데이터를 수신하고, 폼의 각각의 필드로부터 데이터를 검색하며, 각각의 필드로부터 적어도 일부의 데이터를 상기 복수의 클라이언트 장치, 애플리케이션, 데이터베이스 및 다른 서버 컴퓨터 중 적어도 하나로 전송하는 서버 컴퓨터.
- 제1항에 있어서,내장된 컴퓨터 실행가능 명령을 갖는 컴퓨터 판독 가능 매체를 포함하고,광역 동작 시스템 서버(BOSS) 소프트웨어 오브젝트를 갖는 상기 컴퓨터 실행가능 명령은,필드 데이터가 라우팅되는 BOSS 소프트웨어 오브젝트를 사용하여 적어도 하나의 사용자 및 적어도 하나의 클라이언트 장치를 식별하고 로케이팅하는데 이용되는 IP 주소 번호, PSTN 번호 및 다른 네트워크 식별 정보 중 적어도 하나를 검색하는 로케이터 오브젝트;적어도 하나의 클라이언트 장치로 데이터를 푸싱하는 푸싱 오브젝트;클라이언트 장치, 애플리케이션, 데이터베이스, 부가적인 서버 컴퓨터 및 상기 로케이터 오브젝트를 링크하는 링크 오브젝트; 및클라이언트 장치, 애플리케이션, 데이터베이스, 다른 서버 컴퓨터 및 상기 로케이터 오브젝트 중 적어도 하나에 데이터를 라우팅하는 콘딧(conduit) 오브젝트를 포함하는 서버 컴퓨터.
- 제2항에 있어서,클라이언트 장치로의 데이터 통신은, 클라이언트 장치로부터의 적절한 데이터 응답을 결정할 때 클라이언트 장치에 의해 이용되는 파라미터를 저장하기 위한 필드를 포함하는 서버 컴퓨터.
- 제3항에 있어서,상기 파라미터를 저장하기 위한 필드는 고정 길이를 갖는 서버 컴퓨터.
- 제3항에 있어서,상기 파라미터를 저장하기 위한 필드는 가변 길이를 갖는 서버 컴퓨터.
- 제3항에 있어서,상기 파라미터를 저장하기 위한 필드는, 클라이언트 컴퓨터, 다른 서버 컴퓨터 및 애플리케이션 중 적어도 하나에 의해 동적으로 수정되는 서버 컴퓨터.
- 제2항에 있어서, 상기 데이터는 텍스트, 오디오, 음성, 폼, 테이블, 메뉴,비디오 및 그래픽 정보 중 적어도 하나를 나타내는 서버 컴퓨터.
- 제2항에 있어서,상기 푸싱 오브젝트에 의해 푸싱되는 상기 데이터는 또 다른 서버 컴퓨터, 데이터베이스, 애플리케이션 및 데이터베이스 중 적어도 하나로부터 수신되는 서버 컴퓨터.
- 제2항에 있어서,상기 푸싱 오브젝트에 의해 푸싱되는 상기 데이터는 상기 서버 컴퓨터에 의해 생성되는 서버 컴퓨터.
- 제2항에 있어서,태스크를 수행하고, 텍스트, 오디오, 음성, 테이블, 메뉴, 비디오 및 그래픽 정보 중 적어도 하나를 생성하는데 조력하는 애플리케이션 프로그램을 더 포함하는 서버 컴퓨터.
- 제2항에 있어서,상기 서버 컴퓨터 및 애플리케이션 중 적어도 하나에 의해 액세스되는 텍스트, 오디오, 음성, 테이블, 메뉴, 비디오 및 그래픽 정보 중 적어도 하나를 저장하는 데이터베이스를 더 포함하는 서버 컴퓨터.
- 제2항에 있어서,각각의 폼 및 관련 데이터를 암호화하는 암호화 및 인증 소프트웨어를 더 포함하고, 인증 기술을 사용자 및 시스템 컴포넌트 중 적어도 하나에 적용하여 부가적인 보안층을 제공하며, 상기 인증 기술은 자기 카드, 마이크로-칩 카드, 패스워드, 홍채 스캔, 망막 스캔, 지문, 음성 서명, 물리적 외관, 신체 신호 및 사인 중 적어도 하나를 포함하는 물리적 인증에 관한 기술 중 적어도 하나를 이용하는 서버 컴퓨터.
- 제2항에 있어서,상기 로케이터 오브젝트는 상기 사용자 및 사용자가 세션을 시작한 클라이언트 장치 중 적어도 하나의 위치를 식별하는 것과 관련해서 이용되고, 상기 푸싱 오브젝트는, 상기 사용자가 시스템으로 세션을 시작한 클라이언트 장치로 데이터를 푸시하는 서버 컴퓨터.
- 제13항에 있어서,상기 푸싱 오브젝트에 의해 상기 사용자 클라이언트 장치로 푸시된 데이터는 사용자에 의해 시작된 트랜잭션의 결과로서 생성되고, 이전에 상기 클라이언트 장치로 세션을 초기화한 서버 컴퓨터.
- 제2항에 있어서,상기 데이터는 BOSS 소프트웨어를 갖는 서버 컴퓨터 및 시스템 애플리케이션 중 적어도 하나에 의해 수정될 수 있는 서버 컴퓨터.
- 제2항에 있어서,상기 푸싱 오브젝트에 의해 상기 사용자 클라이언트 장치로 푸시된 데이터는 사용자에 의해 시작된 트랜잭션의 결과로서 생성되고, 이전에 상기 시스템의 다른 클라이언트 장치로 세션을 초기화한 서버 컴퓨터.
- 제2항에 있어서,클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치로 전송하기 위한 폼을 요청하고, 상기 로케이터 오브젝트는 상기 폼의 위치를 정하는 데 조력하고, 일단 위치가 정해지면, 상기 서버 컴퓨터는 상기 요청의 수행을 돕는 서버 컴퓨터.
- 제2항에 있어서,클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치의 출력 장치상에 디스플레이된 메뉴로부터 태스크를 요청하고, 상기 서버 컴퓨터는 상기 태스크를 처리하는 서버 컴퓨터.
- 제2항에 있어서,클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치의 입력 장치를 통해 클라이언트 장치의 출력 장치상에 디스플레이된 메뉴, 리스트 및 테이블 중 적어도 하나로부터 보고서를 요청하고, 상기 서버 컴퓨터는 상기 보고서를 생성하여 시각 또는 오디오 데이터로서 사용자에게 전달하는 것을 돕는 서버 컴퓨터.
- 제2항에 있어서,클라이언트 장치로 세션을 시작한 사용자는 상기 클라이언트 장치의 입력 장치로부터 프로세스를 요청하고, 상기 서버 컴퓨터는 상기 프로세스의 수행을 돕고, 상기 프로세스의 결과는 시각 및 오디오 폼 중 적어도 하나로 상기 클라이언트 장치의 출력 장치상에 디스플레이되는 서버 컴퓨터.
- 제2항에 있어서,상기 로케이터 오브젝트는 상기 푸싱 오브젝트에 의해 데이터를 푸시할 장소를 결정하는데 이용되는 식별 정보를 제공하는 서버 컴퓨터.
- 제2항에 있어서,상기 로케이터 오브젝트는 상기 링크 오브젝트에 의해 어느 시스템 컴포넌트를 링크할지를 결정하는데 이용되는 식별 정보를 제공하는 서버 컴퓨터.
- 제2항에 있어서,상기 로케이터 오브젝트는 상기 콘딧 오브젝트에 의해 데이터를 라우팅할 장소를 결정하는데 이용되는 식별 정보를 제공하는 서버 컴퓨터.
- 폼 구동 클라이언트 컴퓨팅 장치를 포함하는 컴퓨터 시스템에서의 통신 방법에 있어서,클라이언트 장치의 폼-구동 트랜잭션 애플리케이션 서버(TAS)로 사용자 세션을 시작하는 단계;네트워크, 장치 및 사용자 식별 및 로케이션 정보를 유지하는 서버 컴퓨터에 저장된 로케이터 오브젝트로 사용자 및 장치 식별 정보를 결정하는 단계;트랜잭션 데이터가 상기 사용자를 위해 상기 시스템내에 존재하는지를 결정하는 단계; 및상기 사용자를 위한 트랜잭션 데이터가 존재하면, 상기 클라이언트 장치로 상기 트랜잭션 데이터를 푸싱하는 단계를 포함하는 방법.
- 제24항에 있어서,상기 클라이언트 장치와의 통신을 보안화하고 인증하는 단계를 더 포함하는 방법.
- 폼-구동 클라이언트 컴퓨팅 장치를 포함하는 컴퓨터 시스템내에서 통신하는방법에 있어서,클라이언트 장치의 폼-구동 트랜잭션 애플리케이션 서버(TAS)로 사용자 세션을 시작하는 단계;네트워크, 장치 및 사용자 식별 및 로케이션 정보를 유지하는 서버 컴퓨터에 저장된 로케이터 소프트웨어로 사용자 및 장치 식별 정보를 결정하는 단계;트랜잭션을 위한 요청을 상기 클라이언트 장치에 입력하는 단계; 및상기 사용자 및 장치 식별 정보를 사용하여 상기 트랜잭션을 처리하기 위한 클라이언트 장치를 식별하는 단계를 포함하는 방법.
- 제26항에 있어서,서버 컴퓨터로부터 폼에 대한 정보를 요청하는 단계;상기 폼 정보를 상기 로케이터 소프트웨어의 도움으로 로케이팅하는 단계;상기 폼 정보를 상기 TAS에 전달하는 단계; 및상기 폼을 상기 클라이언트 장치의 디스플레이 장치상에 표시하는 단계를 더 포함하는 방법.
- 제26항에 있어서,상기 클라이언트 장치의 디스플레이 장치를 통해 상기 사용자에 대한 메뉴 데이터를 표시하는 단계;상기 메뉴로부터 수행되는 태스크를 선택하는 단계;상기 태스크의 수행을 위해 상기 선택된 태스크의 기재를 상기 서버 컴퓨터로 전송하는 단계; 및상기 서버 컴퓨터는 상기 태스크의 로케이터 소프트웨어의 완료의 도움으로 데이터베이스, 시스템 애플리케이션, 프로그램 및 다른 서버 컴퓨터로 태스크 요청을 전송하는 단계를 더 포함하는 방법.
- 제26항에 있어서,상기 클라이언트 장치의 출력 장치상의 폼, 메뉴, 리스트, 오디오, 비디오 및 테이블 출력 중 적어도 하나를 통해 서버 컴퓨터로부터 보고서를 요청하는 단계;상기 보고서에 대한 정보를 수집하기 위해, 다른 서버 컴퓨터, 시스템 애플리케이션 및 데이터베이스 중 적어도 하나에 의해 수행되는 적어도 하나의 태스크를 선택하는 단계; 및상기 클라이언트 장치의 출력 장치상에 표시를 위해 상기 보고서 정보를 상기 TAS에 전송하는 단계를 더 포함하는 방법.
- 제26항에 있어서,상기 클라이언트 장치의 출력 장치상의 폼, 메뉴, 리스트, 비디오 디스플레이,텍스트, 음성 입력, 오디오 입력 및 테이블 출력의 하나를 통해 서버 컴퓨터로부터 프로세스를 요청하는 단계;상기 프로세스를 완료하기 위해 다른 서버 컴퓨터, 시스템 애플리케이션 및 데이터베이스 중 적어도 하나에 의해 수행되는 적어도 하나의 태스크를 선택하는 단계를 더 포함하는 방법.
- 제30항에 있어서,상기 프로세스는 상기 시스템내의 적어도 하나의 다른 사용자의 로케이션을 발견하고, 상기 로케이터 오브젝트는 상기 적어도 하나의 다른 사용자를 로케이팅하는 방법.
- 제31항에 있어서,상기 프로세스는, 상기 적어도 하나의 다른 사용자를 로케이팅한 후에 상기 적어도 하나의 다른 사용자로 메시지를 푸싱하는 단계를 포함하는 방법.
- 제30항에 있어서,암호화 알고리즘 및 인증 기술을 사용을 포함하는 상기 클라이언트 장치와의 통신을 보안화하고 인증하는 단계를 더 포함하는 방법.
- 데이터 통신 시스템에 있어서,폼-구동 오퍼레이팅 시스템, 프리젠테이션 관리기, 입력 장치 및 출력 장치를 갖는 복수의 마이크로프로세서 클라이언트 장치 - 상기 각각의 클라이언트 장치는 상기 폼-구동 오퍼레이팅 시스템에 의해 제공되는 폼을 사용하여 데이터 트랜잭션을 발생함 -;태스크를 수행하고, 보고서, 메뉴, 폼, 메시지, 리스트, 음성, 오디오, 비디오, 그래픽 및 다른 데이터 중 적어도 하나의 생성에 조력하는 복수의 애플리케이션;보고서, 메뉴, 폼, 메시지, 리스트, 음성, 오디오, 비디오, 그래픽 및 다른 데이터 중 적어도 하나의 저장을 위한 복수의 데이터베이스; 및상기 복수의 서버 컴퓨터의 컴퓨터 판독 가능 매체에 저장된 광역 동작 시스템 서버(BOSS)에 의해 제어되는 복수의 서버 컴퓨터 - 상기 서버 컴퓨터는 복수의 클라이언트 장치, 애플리케이션, 데이터베이스, 및 다른 서버 컴퓨터 중 적어도 하나로부터 데이터를 수신 및 그 중 적어도 하나로 데이터를 송신함 - 를 포함하고,상기 BOSS 소프트웨어는, 적어도 하나의 사용자 및 상기 시스템내의 적어도 하나의 클라이언트 장치를 식별하고 로케이팅하는데 사용되는 IP 주소 번호, PSTN 번호, 및 다른 네트워크 식별 정보 중 적어도 하나를 검색하는 로케이터 오브젝트를 포함하는 데이터 통신 시스템.
- 제34항에 있어서,상기 로케이터 오브젝트는 사용자 및 클라이언트 장치의 로케이션을 식별하는 것과 관련되서 이용되고, 데이터는 상기 사용자가 시스템으로 세션을 시작한 클라이언트 장치에 푸쉬되는 데이터 통신 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/589,814 US6973477B1 (en) | 1995-05-19 | 2000-06-07 | System for securely communicating amongst client computer systems |
US09/589,814 | 2000-06-07 | ||
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 true KR20030025242A (ko) | 2003-03-28 |
KR100767513B1 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009026238A3 (en) * | 2007-08-16 | 2009-04-16 | Earl Edward Breazeale Jr | Healthcare tracking |
KR101011355B1 (ko) * | 2006-04-07 | 2011-01-27 | 피피 어쏘시에이츠, 엘.피. | 통합된 품질 관리를 갖는 리포트 생성 |
KR101369151B1 (ko) * | 2012-05-23 | 2014-03-06 | 주식회사 아이디스 | L2 허브 내장형 nvr 장치 및 이의 패킷 라우팅 방법 |
Families Citing this family (5)
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 |
US20090037735A1 (en) * | 2007-08-01 | 2009-02-05 | O'farrell David | Method and system for delivering secure messages to a computer desktop |
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 |
Family Cites Families (13)
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 | 遠隔アクセス可能な医療ネットワーク |
US5706286A (en) * | 1995-04-19 | 1998-01-06 | Mci Communications Corporation | SS7 gateway |
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 | 日立ソフトウエアエンジニアリング株式会社 | ネットワーク管理システム |
US5884323A (en) * | 1995-10-13 | 1999-03-16 | 3Com Corporation | Extendible method and apparatus for synchronizing files on two different computer systems |
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 |
-
2001
- 2001-06-07 AU AU2001275367A patent/AU2001275367A1/en not_active Abandoned
- 2001-06-07 AT AT01942071T patent/ATE466339T1/de not_active IP Right Cessation
- 2001-06-07 WO PCT/US2001/018481 patent/WO2002001778A2/en active Application Filing
- 2001-06-07 CA CA002411458A patent/CA2411458C/en not_active Expired - Fee Related
- 2001-06-07 DE DE60141967T patent/DE60141967D1/de not_active Expired - Lifetime
- 2001-06-07 EP EP01942071A patent/EP1311961B1/en not_active Expired - Lifetime
- 2001-06-07 KR KR1020027016744A patent/KR100767513B1/ko not_active IP Right Cessation
- 2001-06-07 IL IL15330001A patent/IL153300A0/xx unknown
-
2002
- 2002-12-05 IL IL153300A patent/IL153300A/en not_active IP Right Cessation
-
2003
- 2003-07-07 HK HK03104799.2A patent/HK1052567B/zh not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101011355B1 (ko) * | 2006-04-07 | 2011-01-27 | 피피 어쏘시에이츠, 엘.피. | 통합된 품질 관리를 갖는 리포트 생성 |
WO2009026238A3 (en) * | 2007-08-16 | 2009-04-16 | Earl Edward Breazeale Jr | Healthcare tracking |
US9740823B2 (en) | 2007-08-16 | 2017-08-22 | Earl Edward Breazeale, JR. | Healthcare tracking |
US10860686B2 (en) | 2007-08-16 | 2020-12-08 | Rsv Qozb Ltss, Inc. | Healthcare tracking |
KR101369151B1 (ko) * | 2012-05-23 | 2014-03-06 | 주식회사 아이디스 | L2 허브 내장형 nvr 장치 및 이의 패킷 라우팅 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP1311961A4 (en) | 2005-08-17 |
IL153300A0 (en) | 2003-07-06 |
KR100767513B1 (ko) | 2007-10-17 |
AU2001275367A1 (en) | 2002-01-08 |
EP1311961A2 (en) | 2003-05-21 |
DE60141967D1 (de) | 2010-06-10 |
IL153300A (en) | 2008-12-29 |
CA2411458A1 (en) | 2002-01-03 |
WO2002001778A3 (en) | 2002-06-20 |
WO2002001778A2 (en) | 2002-01-03 |
EP1311961B1 (en) | 2010-04-28 |
HK1052567A1 (en) | 2003-09-19 |
ATE466339T1 (de) | 2010-05-15 |
HK1052567B (zh) | 2010-12-17 |
CA2411458C (en) | 2007-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6973477B1 (en) | System for securely communicating amongst client computer systems | |
USRE49176E1 (en) | Apparatus, methods, or software for data mining user information by providing services over the internet for connecting people | |
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 | |
CA2295139C (en) | Data transaction assembly server | |
US7778395B2 (en) | Telephone/transaction entry device and system for entering transaction data into databases | |
CN101827454B (zh) | 用于观察网络通信操作与服务器连接的信任级的方法和系统 | |
US8019060B2 (en) | Telephone/transaction entry device and system for entering transaction data into databases | |
US9444878B1 (en) | Systems and methods for device emulation on mobile channel | |
JP2000224272A (ja) | 通信するための方法および通信システム | |
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 | |
KR20030033293A (ko) | 각 화면상에 소프트웨어 개발자 또는 서비스센터 또는 컨설턴트의 연락처 표시 방법 | |
JP2002183553A (ja) | ネットワークを利用した注文の受付および確認システムおよび方法と記録媒体 | |
MXPA97008955A (en) | Telephone / transaction registry device and system for registering transaction data on bases of da |
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 |