KR20040071481A - Xfs 서비스 프로바이더 프레임웍 - Google Patents

Xfs 서비스 프로바이더 프레임웍 Download PDF

Info

Publication number
KR20040071481A
KR20040071481A KR1020030007469A KR20030007469A KR20040071481A KR 20040071481 A KR20040071481 A KR 20040071481A KR 1020030007469 A KR1020030007469 A KR 1020030007469A KR 20030007469 A KR20030007469 A KR 20030007469A KR 20040071481 A KR20040071481 A KR 20040071481A
Authority
KR
South Korea
Prior art keywords
service
service provider
xfs
framework
agent
Prior art date
Application number
KR1020030007469A
Other languages
English (en)
Other versions
KR100536925B1 (ko
Inventor
강민규
Original Assignee
(주) 뱅솔
강민규
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 뱅솔, 강민규 filed Critical (주) 뱅솔
Priority to KR10-2003-0007469A priority Critical patent/KR100536925B1/ko
Publication of KR20040071481A publication Critical patent/KR20040071481A/ko
Application granted granted Critical
Publication of KR100536925B1 publication Critical patent/KR100536925B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

서비스 사용자 정보와, 서비스 세션(session) 관련정보와, 디바이스의 독점적 사용을 위한 제어정보를 디바이스에 제공하는 디바이스 컨트롤 프레임웍(Device Control Framework)과; 디바이스(Device)를 사용하기 위한 어플리케이션(application)에 의해 구동하는 XFS Manager와 상기 디바이스 컨트롤 프레임웍(Device Control Framework) 간(間)의 중계자 기능을 수행하는 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)를 포함하여 이루어지는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework)으로서, CEN/XFS 표준 스펙을 따라 제어 방식을 구현하는 경우 동종 유니트의 제조사 또는 유니트의 특성에 의존성을 최소화함으로써 유니트 간의 호환성을 최대화할 수 있으며, 응용 프로그램의 관점에서도 CEN/XFS 인터페이스 만을 고려함으로써 유니트의 변경이 가해져도 응용 프로그램에 영향을 미치지 않는 장점을 갖는다.

Description

XFS 서비스 프로바이더 프레임웍 {XFS Service Provider Framework}
본 발명은 각종 금융장치(Device)를 제어하기 위한 서비스 프로바이더(Service Provider)에 관한 것으로서, 보다 상세하게는 XFS(Extension for Financial Services)에 정의된 규약에 따라 금융 자동화 시스템을 구성하는 다양한 금융장치(device)들을 제어하는 서비스 프로바이더(Service Provider)의 구현을 위한 XFS 서비스 프로바이더 프레임웍(Service Provider Framework)에 관한 것이다.
금융 자동화시스템에는 현금자동 입출금기(Auto Teller Machine/Card Dispenser), PoS(Point-of-Sale) 및 은행원이 고객의 통장을 처리하고 검색하는 금융단말기(Banking Terminal)등을 포함하여 이루어진다. 이러한 금융장치들은 고유의 기능을 위해 카드 리더 유니트(Card Reader Unit), 지폐방출기 유니트(Cash Dispenser Unit), 프린터 유니트(Printer Unit), 키패드 유니트(Keypad Unit) 등을 포함한다. 사용자에게 서비스 제공을 위해 이들 유니트들이 응용 서비스에 의해 제어되어야 하며, 이러한 제어 프로그램을 서비스 프로바이더(Service Provider)라고 하다. 또한 이러한 유니트들의 제어는 유니트의 제조사에 매우 의존적일 수 있으므로 CEN/XFS 표준 스펙에서 일관된 제어를 위한 사용자 인터페이스를 정의하고 있다.
상당히 많은 금융장치들이 XFS 클래스 분류상 여러 개의 기능을 하는 복합 디바이스가 많이 사용되고 있으나, 기존의 상용 서비스 프로바이더(service provider)들은 이러한 복합 기능 장치를 적용하기에 많은 애로사항을 유발하는 구조적인 문제점을 가지고 있다.
본 발명은 하나의 워크스테이션 내의 복수의 어플리케이션이 하나의 금융장치를 공유해서 사용할 수 있는 XFS 서비스 프로바이더 프레임웍을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 CEN/XFS 표준 스펙을 따라 제어방식을 구현하는 경우 유니트 특성에 따른 변경 부분을 최소화할 수 있는 XFS 서비스 프로바이더 프레임웍을 제공하는 것이다.
본 발명의 또 다른 목적은 다중 어플리케이션 및 다중 세션 기능을 구현할 수 있는 XFS 서비스 프로바이더 프레임웍을 제공하는 것이다.
이러한 목적들을 달성하기 위한 본 발명에 따른 XFS 서비스 프로바이더 프레임웍은 제어모듈에서 구동하는 금융장치의 기능제공 성격에 따라 디바이스 클래스를 분류하고 이에 따른 컨트롤 프레임웍을 달리하는 것을 특징으로 한다.
본 발명에 따른 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework)의 구성(構成)상 특징은 서비스 사용자 정보와, 서비스 세션(session) 관련정보와, 디바이스의 독점적 사용을 위한 제어정보를 디바이스에 제공하는 디바이스 컨트롤 프레임웍(Device Control Framework)과; 디바이스(Device)를 사용하기 위한 어플리케이션(application)에 의해 구동하는 XFS Manager와 상기 디바이스 컨트롤 프레임웍(Device Control Framework) 간(間)의 중계자 기능을 수행하는 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)로 이루어진 점이다.
본 발명에 따른 XFS 서비스 프로바이더 프레임웍의 다른 특징은 상기 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)가,
XFS 매니저(manager)에 의해 호출 실행될 함수들로 구성된 XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)와; 어플리케이션(application)에 의해 요청된 논리적 서비스(logical service)에 대응하는 서비스 프로바이더(Service Provider)실행 모듈을 제어하고 서비스 실행 명령을 서비스 프로바이더(Service Provider)에 전송하고 그 처리 결과와 함께 디바이스 이벤트(Device Event)를 해당 어플리케이션(application)으로 전달하고 이벤트 클래스 리스트(Event Class List)를 관리하는 서비스 에이전트(Service Agent)와; 어플리케이션(application)에 의해 요청되어 상기 XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)를 통해 제공되는 로지컬 서비스(logical service)에 대응하는 서비스 에이전트(Service Agent)를 생성하고, 관련 컨텍스트(context)를 관리하는 에이전트 매니저(Agent Manager)와; 서비스 에이전트(Service Agent)와 서비스 프로바이더(Service Provider) 실행 모듈간의 통신을 담당하는 인터-프로세스 통신모듈(Inter-Process Communication)을 포함하여 이루어지는 점이다.
본 발명에 따른 XFS 서비스 프로바이더 프레임웍의 또 다른 특징은 상기 디바이스 컨트롤 프레임웍(Device Control Framework)이,
복수의 서비스 프로바이더 인터페이스 에이전트(SPI agent)와의 프로세스간 통신(Inter-process communication) 및 이와 관련한 연속성 유지 기능을 수행하는 서비스 커먼 라이브러리부(Service Common Library)와; 금융장치(Device)의 논리적인 기능(Logical Service) 및 디바이스 상태의 점검 및 상태변화에 따른 이벤트를 발생하는 논리적 서비스 라이브러리부(Logical Service Library)와; 논리적 서비스를 관리하고, 디바이스의 논리적 타입에 따라 지원하는 디바이스 클래스를 달리하는 디바이스 프레임웍 템플리트 라이브러리(Device Framework Template Library)부를 포함하여 이루어지는 점이다.
도 1은 본 발명에 따른 XFS 서비스 프로바이더 프레임웍의 구성을 개략적으로 나타낸 블록도이다.
도 2는 도 1의 SPI Agent의 구성을 나타낸 블록도이다.
도 3은 도 1의 디바이스 컨트롤 프레임웍을 구성을 나타낸 블록도이다.
도 4 내지 도 6은 는 본 발명에 따라 구현되는 다양한 모드를 나타낸 구성도이다.
도 7은 서비스 프로바이더 실행모듈이 실행된 때의 서비스 프로바이더 모듈 초기화 및 프레임웍 구동방법을 나타낸 흐름도이다.
이하, 첨부된 도면을 참조로 본 발명에 따른 XFS 서비스 프로바이더 프레임웍의 구성과 그에 따른 동작을 설명하기로 한다.
본 발명의 설명에 앞서, 이하에서 사용되는 용어를 다음과 같이 확인한다.
·어플리케이션(application): 금융 장치를 사용하는 금융 어플리케이션.
·XFS 매니저(XFS Manager): Windows NT 및 NT계열의 이후 버전의 OS만을 지원하는 XFS SDK로 XFS Implement Group에서 제작 공개하는 Toolkit이며, msxfs.dll, xfs_conf.dll, xfs_supp.dll등 세 개의 DLL로 구성된다.
·서비스 프로바이더(Service Provider): XFS Manager에게 SPI 함수 세트를 제공하고 XFS Manager를 통해 어플리케이션에 논리적인 XFS Service를 제공하는 금융장치 제어 모듈.
XFS 서비스 프로바이더(Service Provider)를 개발하는 작업은 해당 device class에 맞추어 XFS에서 정의한 서비스 프로바이더 인터페이스(Service Provider Interface: 이하 "SPI"라 함)를 적절하게 구현하는 것이다. SPI를 구현하는 일은 크게 두 가지로 분류되는데, 하나가 디바이스 동작을 위하여 XFS manager가 호출하는 SPI를 구현하는 것과, 다른 하나가 디바이스에 관련된 정보를 얻기 위하여 XFS manager가 호출하는 SPI를 구현하는 것이다. 그 두 가지 SPI를 구현하는 것의 많은 부분이 XFS에서 정의한 데이터 구조(data structure)에 따른 정보의 전달방식을 위해 구현되는 것이다. 예를 들면, 스태커(stacker)가 있는 현금지급기와 스태커가 없는 현금지급기와 같이 모두 현금지급기이지만 디바이스의 기능에 차이가 있어 디바이스와의 통신방식이나 동작지시에 사용되는 명령의 차이에 의한 구현부분은 XFS Service Provider를 작성하는 작업에서 극히 일부분에 지나지 않는다. 따라서, 디바이스의 차이에 의한 구현부분을 클래스(class) 형태로 정의하고 그 클래스(class)의 정의를 이용하여 XFS SPI부분을 구현한다면, 향후에 새로운 디바이스에 대한 XFS Service Provider를 제작해야 하는 경우 그 클래스의 내부 구현부분만 새로운 디바이스의 스펙(specification)에 맞도록 만들면 쉽게 서비스 프로바이더(Service Provider)를 제작할 수 있다.
이와 같이 많은 구현부분을 같은 디바이스 클래스(Cash Dispenser Class, Printer Class, Identification Card Class, Personal Identification Number Pad Class등)에 대하여 공통적으로 사용할 수 있어 효율적인 XFS Service Provider 개발을 할 수 있다.
하나의 워크스테이션(Workstation)에 XFS Service를 사용하는 어플리케이션이 N개가 있을 때는 XFS Manager는 각각의 어플리케이션마다 로드(load)하고 있으므로 N개가 실행되는 형태이나, 어플리케이션들과 각종 금융장치 서비스를 제공하는 서비스 프로바이더(SP)와의 세션을 관리하기 위해 공유 메모리를 사용하여 하나의 워크스테이션(Workstation) 내에 1개의 XFS Manager가 존재하는 기능을 제공한다.
XFS Manager는 각각의 금융 장치를 논리적인 디바이스 클래스(Logical Device Class)(예, PTR : 각종 인쇄기, CDM: 현금출력기, IDC: 카드리더, SIU: 센서 및 램프, PIN : 키입력장치)로 나누고 있다. 어플리케이션(application)이 사용하려는 디바이스 기능을 제공하는 서비스 프로바이더를 DLL 형태로 로드(load)할 수 있다.
각각의 서비스 프로바이더는 XFS Manager가 호출, 실행, 관리하기 위한 SPI(Service Provider Interface)를 제공하게 되어 있다. 서비스 프로바이더는 하나 또는 하나 이상의 금융 장치 클래스의 논리적인 서비스를 제공하는 형태로 구성되며 금융 장치를 제어하기 위한 제어 코드를 갖는 형태로 구성된다.
본 발명에 따른 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework)(1)은 도 1에서 보는 바와 같이, 서비스 사용자 정보와, 서비스 세션(session) 관련정보와, 디바이스의 독점적 사용을 위한 제어정보를 디바이스에 제공하는 디바이스 컨트롤 프레임웍(Device Control Framework)(200)과; 디바이스(Device)를 사용하기 위한 어플리케이션(application)에 의해 구동하는 XFS Manager와 상기 디바이스 컨트롤 프레임웍(Device Control Framework)(200) 간(間)의 중계자 기능을 수행하는 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)(100)로 구성되어 하나의 워크스테이션 내의 복수개의 어플리케이션이 하나의 금융 장치를 공유해서 사용할 수 있도록 구성하고 있다.
XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)(100)는 XFS manager에 의해 실행되며 DLL 형태로 구성된다. 어플리케이션이 사용하는 디바이스의 종류 및 수에 관계없이 한 개만이 어플리케이션 실행모듈에서 실행되고, 사용하는 모든 디바이스 모듈의 시동, 기능 실행 및 종료를 담당한다.
도 2는 상기 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)(100)의 구성을 좀 더 상세히 나타낸 블록도이다. 도시된 바와 같이, XFS 매니저(manager)에 의해 호출 실행될 함수들로 구성된 XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)(110)와; 어플리케이션(application)에 의해 요청된 로지컬 서비스(logical service)에 대응하는 서비스 프로바이더(Service Provider)실행 모듈을 제어하고 서비스 실행 명령을 서비스 프로바이더(Service Provider)에 전송하고 그 처리 결과와 함께 디바이스 이벤트(Device Event)를 해당 어플리케이션(application)으로 전달하고 이벤트 클래스 리스트(Event Class List)를 관리하는 서비스 에이전트(Service Agent)(130)와; 어플리케이션(application)에 의해 요청되어 상기 XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)(110)를 통해 제공되는 로지컬 서비스(logical service)에 대응하는 서비스 에이전트(Service Agent)(130)를 생성하고, 관련 컨텍스트(context)를 관리하는 에이전트 매니저(Agent Manager)(120)와; 서비스 에이전트(Service Agent)(130)와 서비스 프로바이더(Service Provider) 실행 모듈간의 통신을 담당하는 인터-프로세스 통신모듈(Inter-Process Communication)(140)을 포함하여 구성된다.
또한, 금융장치(Device)로부터 발생하여 상기 인터-프로세스 통신모듈(140)을 통해 서비스 에이전트(130)로 제공된 이벤트를 보내기 위해 설정된 레지스터드 윈도우즈 리스트(Registered Windows List)와; 상기 에이전트 매니저(Agent Manager)(120)에서 서비스 에이전트(Service Agent)(130)를 관리하기 위한 서비스 에이전트 리스트(Service Agent List)를 포함한다.
XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)(110)는 XFS Manager에 의해 호출 실행될 함수들의 세트(set)로서 Open, Close, Lock, Register, Deregister, GetInfo, Execute등의 명령이 있다.
어플리케이션(Application)에서 XFS API Open을 실행 시 사용할 디바이스에 대한 logical Service Name을 아규먼트(Argument)로 전달하고 XFS Manager는 SPI Open을 호출한다. SPI Open 함수는 Agent Manager에게 logical Service Name에 해당하는 서비스 프로바이더(Service Provider) 모듈의 실행을 요청한다.
어플리케이션(Application)은 사용하던 디바이스를 종료하기 위해 XFS API Close를 호출하고 XFS Manager는 SPI Close를 호출한다. SPI Close 함수는 Agent Manager에게 해당 서비스의 종료를 요청한다.
어플리케이션(Application)은 특정 디바이스를 배타적으로 사용하기 위해 XFS API Lock 명령을 호출하고 XFS Manager는 SPI Lock을 호출한다. SPI Lock 함수 내에서는 Agent Manager에게 해당 서비스에 대한 Lock을 요청한다.
어플리케이션(Application)은 사용하던 Lock을 해제하기 위해 XFS API Unlock 명령을 호출하고 XFS Manager는 SPI Unlock을 호출한다. SPI Unlock 함수 내에서는 에이전트 매니저(Agent Manager)(120)에게 해당 서비스에 대한 Unlock을 요청한다.
어플리케이션(Application)은 디바이스에서 발생하는 이벤트를 전달받기 위해 XFS API Register를 호출하고 XFS Manager는 SPI Register를 호출한다. SPI Register 함수 내에서는 에이전트 매니저(Agent Manager)(120)에게 해당 서비스에 해당하는 이벤트 클래스의 Register를 요청한다.
어플리케이션(Application)은 디바이스를 종료시키기 전에 이벤트를 전달 받기 위해 등록한 XFS API Deregister를 호출하고 XFS Manager는 SPI Deregister를 호출한다. SPI Deregister 함수 내에서는 에이전트 매니저(Agent Manager)(120)에게 이벤트 클래스의 Register를 요청한다.
어플리케이션(Application)은 디바이스에 대한 정보를 얻기 위해 XFS API GetInfo를 호출하고 XFS Manager는 SPI GetInfo를 호출한다. SPI GetInfo 함수 내에서는 에이전트 매니저(Agent Manager)(120)에게 해당 Logical Service의 정보를 요청한다.
어플리케이션(Application)은 디바이스의 기능을 실행하기 위해 XFS API Execute를 호출하고 XFS Manager는 SPI Execute를 호출한다. SPI Execute 함수 내에서는 에이전트 매니저(Agent Manager)(120)에게 해당 Logical Service 실행을 요청한다.
에이전트 매니저(Agent Manager)(120)의 주요 기능은 어플리케이션 (application)에 의해 요청된 logical Service에 해당하는 서비스 에이전트 (Service Agent)(130)의 실행 및 종료, 어플리케이션(application)이 사용하는 모든 서비스 관련 에이전트 매니저(Service Agent)와 관련 컨텍스트의 관리 및 요청된 서비스의 실행을 위해 에이전트 매니저(Service Agent)를 찾고 실행을 요구한다.
SPI Open 함수에서 Logical Service에 대한 Open을 요청하면 에이전트 매니저(Agent Manager)(120)는 요청된 Logical Service Name의 이미 실행된 서비스 에이전트(Service Agent)(130)가 있을 경우 관련 컨텍스트를 등록하고 서비스 에이전트(Service Agent)(130)에게 Logical Service의 Open을 요청한다. 이미 실행된 서비스 에이전트(Service Agent)(130)가 없으면 Logical Service에 대한 서비스 에이전트(Service Agent)(130)를 생성하고 관련 컨텍스트를 등록한 뒤 Logical Service의 Open을 요청한다.
SPI Close 함수에서 Logical Service에 대한 Close를 요청하면 에이전트 매니저(Agent Manager)(120)는 해당 서비스 에이전트(Service Agent)(130)에게 서비스의 종료를 요청하고 해당 컨텍스트를 제거한다. Logical Service에 대한 모든 컨텍스트가 제거되면 해당 서비스 에이전트(Service Agent)(130)를 종료시킨다.
SPI Lock 함수에서 Logical Service에 대한 lock을 요청하면 Agent Manager는 해당 서비스 에이전트(Service Agent)(130)에게 lock을 요청한다..
SPI Unlock 함수에서 Logical Service에 대한 Unlock을 요청하면 에이전트매니저(Agent Manager)(120)는 해당 서비스 에이전트(Service Agent)(130)에게 unlock을 요청한다..
SPI Register 함수에서 Logical Service에 대한 Register를 요청하면 에이전트 매니저(Agent Manager는 이벤트 클래스 리스트에 등록한다.
SPI Register 함수에서 Logical Service에 대한 Deregister를 요청하면 에이전트 매니저(Agent Manager)(120)는 이벤트 클래스 리스트에서 해당 이벤트 클래스를 제거한다.
SPI GetInfo 함수에서는 Logical Service의 정보를 요구하면 에이전트 매니저(Agent Manager)(120)는 해당 서비스 에이전트(Service Agent)(130)에서 Logical Service의 정보를 요청한다.
SPI GetInfo 함수에서는 Logical Service의 실행을 요구하면 에이전트 매니저(Agent Manager)(120)는 해당 서비스 에이전트(Service Agent)(130)에서 Logical Service의 실행을 요청한다.
서비스 에이전트(Service Agent)(130)의 주요 기능은 어플리케이션 (application)에 의해 요청된 logical Service에 대응하여 해당하는 Service Provider 실행 모듈의 실행 및 종료를 수행하고 서비스 실행 명령을 Inter-Process Communication 모듈을 통해 Service Provider 모듈로 전송한다. Service Provider 실행 모듈의 처리 결과 또는 디바이스 이벤트를 전달받으면 해당 어플리케이션(application)으로 전달하는 기능과 이벤트 클래스 리스트를 관리한다.
SPI Open 함수 처리결과로 서비스 에이전트(Service Agent)(130)가 생성되면 워크스테이션(workstation) 내에 Logical Service에 해당하는 Service Provider를 찾고 없으면 Service Provider 실행 모듈을 실행시키고 Inter-Process Communication을 통한 connection을 수행한다. 요청된 Logical Service에 대한 Open을 Service Provider 모듈로 전달하고, 수행 결과를 수신하면 해당 어플리케이션(application)으로 결과를 전달한다..
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 close를 요청 받으면 서비스 에이전트(Service Agent)(130)는 Inter-Process Communication을 통해 Logical Service의 close를 전달하고, 결과를 수신하면 해당 어플리케이션(application)에게 결과를 전달하고, 에이전트 매니저(Agent Manager)(120)에게 해당 컨텍스트의 제거를 요청한다. 대응되는 Logical Service를 사용하는 모든 세션이 종료되면 서비스 에이전트(Service Agent)(130)는 자신의 종료를 에이전트 매니저(Agent Manager)(120)에게 요청한다.
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 lock을 요청 받으면 서비스 에이전트(Service Agent)(130)는 해당 Service Provider에게 lock을 요청한다. 결과를 수신하면 해당 어플리케이션(application)에게 전달한다.
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 unlock을 요청 받으면 서비스 에이전트(Service Agent)(130)는 해당 Service Provider에게 unlock을 요청한다. 결과를 수신하면 해당 어플리케이션(application)에게 전달한다.
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 Register를 요청 받으면 이벤트 클래스 리스트에 등록한다.
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 Deregister를 요청 받으면 이벤트 클래스 리스트에서 이벤트 클래스를 삭제한다.
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 정보를 요청 받으면 Service Provider에게 정보를 요구하고, 결과를 수신하면 어플리케이션(application)에게 전달한다.
에이전트 매니저(Agent Manager)(120)로부터 Logical Service의 실행을 요청 받으면 Service Provider에게 Logical Service 실행을 요구하고, 결과를 수신하면 어플리케이션(application)에게 전달한다.
인터프로세스 커뮤니케이션(Inter-Process Communication)(140)의 주요 기능은 SPI Agent부(100)와 Service Provider 실행부 간의 통신을 담당하는 부분으로 named Pipe, Socket, Shared Memory 및 RMI 기술을 적용하여 구현 가능하다.
도 3은 상기 디바이스 컨트롤 프레임웍(Device Control Framework)(200)의 구성을 나타낸 블록도이다. 도시된 바와 같이, 복수의 서비스 프로바이더 인터페이스 에이전트(SPI agent)와의 프로세스간 통신(Inter-process communication) 및 이와 관련한 연속성 유지 기능을 수행하는 서비스 커먼 라이브러리부(Service Common Library)(210)와; 논리적 서비스를 관리하고, 디바이스의 기능에 따라 지원하는 디바이스 클래스를 달리하는 디바이스 프레임웍 템플리트 라이브러리부(Device Framework Template Library)(220)와; 금융장치(Device)의 논리적인 기능(Logical Service) 및 디바이스 상태의 점검 및 상태변화에 따른 이벤트를 발생하는 논리적 서비스 라이브러리부(Logical Service Library)(230)를 포함하여 이루어진다.
한편, 상기 서비스 커먼 라이브러리부(Service Common Library)(210)는, 인터 프로세스 통신을 담당하고 수신된 커맨드(command)를 커맨드 큐(command queue)에 입력하는 IPC 매니저(Inter-Process Communication Manager)(211)와; 커맨드 큐(command queue)로부터 커맨드(command)를 꺼내 명령을 수행하는 커맨드 디스패춰(Command Dispatcher)(212)로 구성된다. 상기 IPC 매니저(Inter-Process Communication Manager)(211)는 상기 서비스 프로바이더 인터페이스 에이전트(SPI agent)(100)로부터의 연결을 감시하는 서버부(Server)(도시되지 않음)와; 서비스 프로바이더 인터페이스 에이전트(SPI agent)통신을 담당하는 클라이언트 쓰레드(Client thread)(도시되지 않음)로 구성된다.
논리적 서비스 라이브러리부(Logical Service Library)(230)는 디바이스 클래스의 기본적인 논리적 서비스를 구현하는 논리적 서비스 클래스(Logical service Class)(231)와; 디바이스(Device)의 상태와 이벤트(Event)를 감시하는 이벤트 모니터부(Event Monitor)(232)로 구성된다.
근래에 들에 많은 금융장치들이 XFS 클래스 분류상 여러 개의 기능을 수행하는 복합 디바이스가 많이 사용되고 있어, 상기 디바이스 프레임웍 템플리트 라이브러리부(220)를 디바이스 제어모듈에서 구동하는 금융장치 성격에 따라 한 가지의 기능만을 제공하는 장치를 위한 심플 디바이스 프레임웍 템플리트(Simple Device Framework Template)와; 다기능 복합장치를 위한 멀티플 디바이스 프레임웍 템플리트(Multiple Device Framework Template)로 분류한다. 또한, 멀티플 디바이스 프레임웍 템플리트 중에서 실행모듈에서 두 개 이상의 디바이스 클래스를 구동하며 한 디바이스의 동작이 다른 디바이스의 동작이나 실행 결과에 영향을 주는 인터디펜던트 디바이스 프레임웍 템플리트(Interdependent Device Framework Template)의 형태를 갖는 분류를 갖는다.
본 발명은 이러한 유니트 특성에 의존될 수밖에 없는 유니트 제어 방식을 상세히 기능적으로 분류하여 제어 방식 중에서 모든 유니트에 공통된 부분 또는 동종의 유니트에 공통된 부분을 독립 구성함으로써 유니트 특성에 따른 변경 부분을 최소화할 수 있다.
공통된 모듈은 역할 범위에 따라서, 첫째 모든 디바이스 유니트에 공통된 제어 모듈과로 XFS Manager와 연동하여 응용 프로그램으로부터 요구되는 명령어들을 처리한다. 둘째로 동종의 디바이스 유니트 제어를 위해 공통된 기능을 갖는 디바이스 클래스 프래임워크 모듈로 - 예를 들어, 금융자동기기 시스템에 A사의 프린터유니트를 사용하다가 B사의 프린터 유니트로 변경했을 때 프린터 유니트라는 동종의 공통 제어 부분은 변경이 필요 없고 단지, Device Specific Control Class라는 유니트 특성에 관련된 부분만 변경이 요구된다.
금융 기기는 경우에 따라 디바이스 유니트를 공유할 수 있어야 한다. 예를 들어, 은행원들이 이용하는 통장프린터는 2 금융단말기에 1대가 설치되어 서로 공유하도록 할 수 있다. 이 경우 디바이스 유니트를 사용하기 위한 권한을 관리하고 허락하는 정책이 요구되는데, 본 발명은 이러한 다양한 공유 경우를 제어할 수 있는 방안을 제시하고 있다. 본 발명에 따른 디바이스 컨트롤 프레임웍(Device Control Framework)은 다중 어플리케이션(Multiple Applications)과 다중 세션(Multiple sessions) 모드에 대한 제어를 수행할 수 있다.
먼저, 도 4에 도시된 바와 같이, 하나의 워크스테이션(Workstation)에 실행된 어플리케이션(Application A와 Application B)이 하나 이상 존재하고 각 어플리케이션(application)은 하나 이상의 서비스 프로바이더 사용자를 가지며, 하나 이상의 서비스 프로바이더(SP A, SP B, SP C)를 통해 서로 다른 디바이스(Device A, Device, B, Device C)에 대해 하나 이상의 세션을 연결하여 사용하는 다중 어플리케이션 내의 다중 세션을 갖는 다중 사용자 모드(Multiple Device Owners with multiple sessions in multiple applications)이다.
각 어플리케이션(application)은 하나 이상의 서비스 프로바이더의 사용자(Application A의 Owner A와 Owner B, Application B의 Owner C와 Owner D)를 가질 수 있으며 각각의 서비스 프로바이더는 디바이스 별로 하나만이 생성된다.
각각의 서비스 사용자는 하나 이상의 서비스 프로바이더에 대한 사용권을 가질 수 있으며 각각의 서비스 프로바이더에 대해 하나 이상의 세션을 연결할 수 있다.
각각의 서비스 프로바이더는 각 디바이스를 사용하는 서비스 사용자에 대한 정보와 각각의 서비스 사용자가 연결한 세션과 관련된 정보를 관리한다. 서비스 프로바이더는 최초 application이 사용하기 위한 open 명령을 실행하면 실행되고 서비스 사용자와 이에 대한 세션 정보를 등록한다. 이후 동일한 서비스 사용자가 open 명령이 실행하면 새로운 세션이 연결되며 세션정보와 사용자 정보를 등록한다. 동일한 서비스 사용자가 연결된 세션에 대한 close를 실행하면 해당 세션을 끊고 해당 정보를 삭제한다. 다른 또는 동일한 application의 새로운 서비스 사용자가 open을 실행하면 새로운 서비스 사용자에 대한 정보와 해당 세션을 등록한다. 서비스 프로바이더는 관리하고 있는 모든 서비스 사용자와 이에 대한 세션들이 종료되었을 때 실행이 종료된다.
Owner A, Owner B와Owner C가 Device A에 대해 각각 하나 이상의 세션(Owner A가S1, S2와 S3을, Owner B가 S4, S5를, Owner C가 S6, S7을 실행)을 실행하고 있다.
S1에서 독점적인 사용권한을 갖기 위해 lock을 실행하면 서비스 프로바이더 SP1은 S1에 대한 lock을 허용한다 (Locked S1 of Owner A). 이후 S1으로부터 실행되는 모든 명령은 실행하며 S1이 아닌 모든 명령에 대한 결과를 Locked를 리턴한다.
현재 인증된 lock의 소유자가 아닌 세션(S4 또는 S6)으로부터 lock 명령을 받으면 lock 큐에 넣고 lock 명령에 설정된 타임아웃까지 현재의 사용자가 lock을 해제하지 않으면 lock 명령에 대해 락타임아웃(Lock lock timeout)을 보고한다.
현재 인증된 lock의 소유자의 다른 세션(S2 또는 S3)으로부터 lock 명령을 받으면 받는 즉시 lock을 인증한다.
동일한 서비스 사용자로부터 두개 이상의 세션(S1, S2)에서 lock을 인증받은 상태에서 하나의 lock을 인증받은 세션(S1)이unlock을 요청하면 해당 세션에 대한 lock을 해제하고, 다른 인증된 세션(S2)이 unlock을 요청할 때까지 lock에 대한 다른 서비스 사용자(Owner B, Owner C, Owner D)의 사용을 제한한다.
서비스 사용자와 서비스 세션과 관련된 정보의 관리, 독점적 사용을 위한 lock policy 및 이를 위한 lock queue 및 lock owner 정보관리 등을 Device Control Framework(200)에서 제공한다.
다음은, 도 5에 나타난 바와 같이, 하나의 워크스테이션(Workstation)에 실행된 어플리케이션이 하나 이상(Application A와 Application B) 존재하고 각 어플리케이션(application)은 하나 이상의 서비스 프로바이더 사용자(Application A의Owner A와 Owner B, Application B의 Owner C와 Owner D)를 가지며, 하나 이상의 서비스 프로바이더(SP A, SP B, SP C)를 통해 서로 다른 디바이스(Device A, Device, B, Device C)를 사용하는 다중 어플리케이션 내의 단일 세션을 갖는 다중 사용자 모드(Multiple Device Owners with a single session in multiple applications)이다.
각 어플리케이션(application)은 하나 이상의 서비스 프로바이더의 사용자(Application A의 Owner A와 Owner B, Application B의 Owner C와 Owner D)를 가질 수 있으며 각 서비스 프로바이더는 디바이스 별로 하나만이 생성된다.
각 서비스 사용자는 하나 이상의 서비스 프로바이더에 대한 사용권을 가질 수 있으며 각각의 서비스 프로바이더에 대해 하나 이상의 세션을 연결할 수 있다.
각 서비스 프로바이더는 각 디바이스를 사용하는 서비스 사용자에 대한 정보와 각 서비스 사용자가 연결한 세션과 관련된 정보를 관리한다. 서비스 프로바이더는 최초 application이 사용하기 위한 open 명령을 실행하면 실행되고 서비스 사용자와 이에 대한 세션 정보를 등록한다. 이후 동일한 서비스 사용자가 open 명령이 실행하면 새로운 세션이 연결되며 세션정보와 사용자 정보를 등록한다. 동일한 서비스 사용자가 연결된 세션에 대한 close를 실행하면 해당 세션을 끊고 해당 정보를 삭제한다. 다른 또는 동일한 application의 새로운 서비스 사용자가 open을 실행하면 새로운 서비스 사용자에 대한 정보와 해당 세션을 등록한다. 서비스 프로바이더는 관리하고 있는 모든 서비스 사용자와 이에 대한 세션들이 종료되었을때 실행이 종료된다.
Owner A, Owner B와 Owner C가 Device A에 대해 각각 하나의 세션(Owner A가S1을, Owner B가 S2를, Owner C가 S3을 실행)을 실행하고 있을 때:
S1에서 독점적인 사용권한을 갖기 위해 lock을 실행하면 서비스 프로바이더 SP1은 S1에 대한 lock을 허용한다 (Locked S1 of Owner A). 이후 S1으로부터 실행되는 모든 명령은 실행하며 S1이 아닌 모든 명령에 대한 결과를 Locked를 리턴한다.
현재 인증된 lock의 소유자가 아닌 세션(S2 또는 S3)으로부터 lock 명령을 받으면 lock 큐에 넣고 lock 명령에 설정된 타임아웃까지 현재의 소유자가 lock을 해제하지 않으면 lock 명령에 대해 lock timeout을 보고한다.
현재 인증된 lock의 소유자가 lock 명령을 실행하면 받는 즉시 lock을 인증한다.
S1에 대해 lock을 인증한 상태에서 unlock을 요청하면 해당 세션에 대한 lock을 해제하고, 다른 세션(S2 또는 S3)에 의한 lock 요청이 있으면 이에 대해 인증한다.
서비스 사용자와 서비스 세션과 관련된 정보의 관리, 독점적 사용을 위한 lock policy및 이를 위한 lock queue및lock owner 정보관리 등을 Device Control Framework(200)에서 제공한다.
다른 모드로는 도 6에서 나타난 바와 같이, 하나의 워크스테이션에 실행된어플리케이션이 하나 이상(Application A와 Application B) 존재하며, 각 어플리케이션(application)은 하나 이상의 서로 다른 디바이스(Device A, Device, B, Device C)를 서비스 프로바이더(SP A, SP B, SP C)를 통해 서로 다른 디바이스(Device)를 사용하는 다중 어플리케이션 내의 싱글 세션을 갖는 단일 사용자 모드(A Single Device Owners with a single session in multiple applications)가 있다.
각 어플리케이션(application)은 하나의 서비스 프로바이더의 사용자(Application A의 Owner A, Application B의 Owner B)를 가질 수 있으며 각각의 서비스 프로바이더는 디바이스 별로 하나씩 생성된다.
각 서비스 사용자는 하나 이상의 서비스 프로바이더에 대한 사용권을 가질 수 있으며 각각의 서비스 프로바이더에 대해 하나의 세션이 연결된다.
각 서비스 프로바이더는 각 디바이스를 사용하는 서비스 사용자에 대한 정보와 각각의 서비스 사용자가 연결한 세션과 관련된 정보를 관리한다. 서비스 프로바이더는 최초 application이 사용하기 위한 open 명령을 실행하면 실행되고 서비스 사용자와 이에 대한 세션 정보를 등록한다. 동일한 서비스 사용자가 연결된 세션에 대한 close를 실행하면 해당 세션을 끊고 해당 정보를 삭제한다. 다른 application의 새로운 서비스 사용자가 open을 실행하면 새로운 서비스 사용자에 대한 정보와 해당 세션을 등록한다. 서비스 프로바이더는 관리하고 있는 모든 서비스 사용자와 이에 대한 세션들이 종료되었을 때 실행이 종료된다.
Owner A, Owner B가 Device A에 대해 각각 하나의 세션(Owner A가 S1을,Owner B가 S2를 실행)을 실행하고 있을 때:
S1에서 독점적인 사용권한을 갖기 위해 lock을 실행하면 서비스 프로바이더 SP1은 S1에 대한 lock을 허용한다 (Locked S1 of Owner A). 이후 S1으로부터 실행되는 모든 명령은 실행하며 S1이 아닌 모든 명령에 대해 Locked를 리턴한다.
현재 인증된 lock의 소유자가 아닌 세션(S2)으로부터 lock 명령을 받으면 lock 큐에 넣고 lock 명령에 설정된 타임아웃까지 현재의 소유자가 lock을 해제하지 않으면 lock 명령에 대해 lock timeout을 보고한다.
현재 인증된 lock의 소유자가 lock 명령을 실행하면 받는 즉시 lock을 인증한다.
S1에 대해 lock을 인증한 상태에서 unlock을 요청하면 해당 세션에 대한 lock을 해제하고, 다른 세션(S2)에 의한 lock 요청이 있으면 이에 대해 인증한다.
서비스 사용자와 서비스 세션과 관련된 정보의 관리, 독점적 사용을 위한 lock policy 및 이를 위한 lock queue및 lock owner 정보관리 등을 Device Control Framework(200)에서 제공한다.
도 7은 서비스 프로바이더 실행모듈이 실행된 때의 서비스 프로바이더 모듈 초기화 및 프레임웍 구동방법을 나타낸 흐름도이다.
서비스 프로바이더(Service Provider) 실행 모듈이 구동되면 프로그램의 메인 초기화 루틴에서 서비스 프로바이더(Service Provider)를 생성시킨다(S1 과정).
서비스 프로바이더(Service Provider)는 내부적으로 Lock Policy와 LockQueue를 생성한다. 논리적 서비스 라이브러리(Logical Service Library)의 논리적 서비스 클래스(Logical Service Class)를 계승한 디바이스 컨트롤 클래스를 생성한다(S2 과정)
해당 포인터를 서비스 프로바이더(Service Provider)로 등록하여 준다(S3 과정).
인터-프로세스 커뮤니케이션 매니저(IPC Manager)를 생성하면 내부적으로 Command Queue와, Command Dispatcher를 생성한다(S4 과정).
IPC Manager의 초기화(Initialize)를 호출하면 SPI Agent와 인터프로세스 통신을 가동하고 Command Dispatcher를 실행시킨다.
이상에서 설명한 바와 같이, 본 발명에 의한 XFS 서비스 프로바이더 프레임웍은 CEN/XFS 표준 스펙을 따라 제어 방식을 구현하는 경우 동종 유니트의 제조사 또는 유니트의 특성에 의존성을 최소화할 수 있으며, 유니트 간의 최대한의 호환성을 기대할 수 있다. 아울러, 응용 프로그램의 관점에서도 CEN/XFS 인터페이스 만을 고려함으로써 유니트의 변경이 가해져도 응용 프로그램에 영향을 미치지 않는 장점을 갖는다.

Claims (8)

  1. XFS(Extension for Financial Services)에 정의된 규약에 따라 금융 자동화 시스템을 구성하는 다양한 금융장치들을 제어하는 서비스 프로바이더(Service Provider)의 구현을 위한 XFS 서비스 프로바이더 프레임웍(Service Provider Framework)에 있어서,
    서비스 사용자 정보와, 서비스 세션(session) 관련정보와, 디바이스의 독점적 사용을 위한 제어정보를 디바이스에 제공하는 디바이스 컨트롤 프레임웍(Device Control Framework)과;
    디바이스(Device)를 사용하기 위한 어플리케이션(application)에 의해 구동하는 XFS Manager와 상기 디바이스 컨트롤 프레임웍(Device Control Framework) 간(間)의 중계자 기능을 수행하는 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)를 포함하여 이루어지는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  2. 제 1 항에 있어서, 상기 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)는,
    XFS 매니저(manager)에 의해 호출 실행될 함수들로 구성된 XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)와;
    어플리케이션(application)에 의해 요청된 로지컬 서비스(logical service)에 대응하는 서비스 프로바이더(Service Provider)실행 모듈을 제어하고 서비스 실행 명령을 서비스 프로바이더(Service Provider)에 전송하고 그 처리 결과와 함께 디바이스 이벤트(Device Event)를 해당 어플리케이션(application)으로 전달하고 이벤트 클래스 리스트(Event Class List)를 관리하는 서비스 에이전트(Service Agent)와;
    어플리케이션(application)에 의해 요청되어 상기 XFS 서비스 프로바이더 인터페이스 함수부(XFS Service Provider Interface functions)를 통해 제공되는 로지컬 서비스(logical service)에 대응하는 서비스 에이전트(Service Agent)를 생성하고, 관련 컨텍스트(context)를 관리하는 에이전트 매니저(Agent Manager)와;
    서비스 에이전트(Service Agent)와 서비스 프로바이더(Service Provider) 실행 모듈간의 통신을 담당하는 인터-프로세스 통신모듈(Inter-Process Communication)을 포함하여 이루어지는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  3. 제 2 항에 있어서, 상기 XFS 서비스 프로바이더 인터페이스 에이전트(XFS Service Provider Interface Agent)는,
    금융장치(Device)로부터 발생하여 상기 인터-프로세스 통신모듈을 통해 서비스 에이전트로 제공된 이벤트를 보내기 위해 설정된 레지스터드 윈도우즈리스트(Registered Windows List)와;
    상기 에이전트 매니저(Agent Manager)에서 서비스 에이전트(Service Agent)를 관리하기 위한 서비스 에이전트 리스트(Service Agent List)를 부가하여 포함하는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  4. 제 1 항에 있어서, 상기 디바이스 컨트롤 프레임웍(Device Control Framework)은,
    복수의 서비스 프로바이더 인터페이스 에이전트(SPI agent)와의 프로세스간 통신(Inter-process communication) 및 이와 관련한 연속성 유지 기능을 수행하는 서비스 커먼 라이브러리부(Service Common Library)와;
    금융장치(Device)의 논리적인 기능(Logical Service) 및 디바이스 상태의 점검 및 상태변화에 따른 이벤트를 발생하는 논리적 서비스 라이브러리부(Logical Service Library)와;
    논리적 서비스를 관리하고, 디바이스의 기능에 따라 지원하는 디바이스 클래스를 달리하는 디바이스 프레임웍 템플리트 라이브러리(Device Framework Template Library)부를 포함하여 이루어지는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  5. 제 4 항에 있어서, 상기 디바이스 프레임웍 템플리트 라이브러리부는,
    디바이스 제어 모듈에서 구동하는 금융장치 성격에 따라 한가지의 기능만을 제공하는 장치를 위한 심플 디바이스 프레임웍(Simple Device Framework)과;
    다기능 복합장치를 위한 멀티플 디바이스 프레임웍(Multiple Device Framework)과;
    실행모듈에서 두 개이상의 디바이스 클래스를 구동하며 한 디바이스의 동작이 다른 디바이스의 동작이나 실행 결과에 영향을 주는 인터디펜던트 디바이스 프레임웍(Interdependent Device Framework)의 형태를 갖는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  6. 제 1 항에 있어서, 상기 디바이스 컨트롤 프레임웍(Device Control Framework)은,
    다중 어플리케이션(Multiple Applications)과 다중 세션(Multiple sessions) 모드에 대한 제어를 수행하는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  7. 제 6 항에 있어서, 상기 디바이스 컨트롤 프레임웍(Device ControlFramework)에 의해 제공되는 디바이스 제어의 형태로는,
    하나의 워크스테이션(Workstation)에 실행된 어플리케이션(application)이 하나 이상 존재하고 각 어플리케이션(application)은 하나 이상의 서비스 프로바이더 사용자를 가지며, 하나 이상의 서비스 프로바이더를 통해 서로 다른 디바이스(Device)에 대해 하나 이상의 세션을 연결하여 사용하는 다중 어플리케이션 내의 다중 세션을 갖는 다중 사용자 모드(Multiple Device Owners with multiple sessions in multiple applications)와;
    하나의 워크스테이션(Workstation)에 실행된 어플리케이션(application)이 하나 이상 존재하고 각 어플리케이션(application)은 하나 이상의 서비스 프로바이더 사용자를 가지며, 하나 이상의 서비스 프로바이더를 통해 서로 다른 디바이스(Device)를 사용하는 다중 어플리케이션 내의 단일 세션을 갖는 다중 사용자 모드(Multiple Device Owners with a single session in multiple applications)와;
    하나의 워크스테이션(Workstation)에 실행된 어플리케이션(application)이 하나 이상 존재하며, 각 어플리케이션(application)은 하나 이상의 서로 다른 디바이스를 서비스 프로바이더를 통해 서로 다른 디바이스(Device)를 사용하는 다중 어플리케이션 내의 싱글 세션을 갖는 단일 사용자 모드(A Single Device Owners with a single session in multiple applications)에 대한 제어를 수행하는 것을 특징으로 하는 XFS 서비스 프로바이더 프레임웍(XFS Service Provider Framework).
  8. 메인 프로그램의 초기화 루틴에 의해 서비스 프로바이더를 생성하는 과정과;
    논리적 서비스 라이브러리의 논리적 서비스 클래스를 계승한 디바이스 컨트롤 클래스를 생성하는 과정과;
    해당 포인터를 서비스 프로바이더로 등록하는 과정과;
    서비스 프로바이더 인터페이스 에이전트(Service Provider Interface agent: SPI agent)와의 통신을 수행하기 위한 인터-프로세스 커뮤니케이션 매니저(Inter-Process Communication manager: IPC manager)를 생성하는 과정과;
    상기 IPC manager를 초기화하여 SPI Agent와 인터프로세스 통신을 가동하고 명령을 수행하는 과정을 포함하여 이루어지는 서비스 프로바이더 모듈 초기화 및 프레임웍 구동방법.
KR10-2003-0007469A 2003-02-06 2003-02-06 Xfs 서비스 프로바이더 프레임웍 모듈로 이루어진 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체. KR100536925B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0007469A KR100536925B1 (ko) 2003-02-06 2003-02-06 Xfs 서비스 프로바이더 프레임웍 모듈로 이루어진 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0007469A KR100536925B1 (ko) 2003-02-06 2003-02-06 Xfs 서비스 프로바이더 프레임웍 모듈로 이루어진 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.

Publications (2)

Publication Number Publication Date
KR20040071481A true KR20040071481A (ko) 2004-08-12
KR100536925B1 KR100536925B1 (ko) 2005-12-16

Family

ID=37359375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0007469A KR100536925B1 (ko) 2003-02-06 2003-02-06 Xfs 서비스 프로바이더 프레임웍 모듈로 이루어진 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.

Country Status (1)

Country Link
KR (1) KR100536925B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135966A (zh) * 2011-11-24 2013-06-05 深圳市证通电子股份有限公司 基于xfs标准的sp实现方法及sp架构
KR101363161B1 (ko) * 2011-11-04 2014-02-13 주식회사 엘지씨엔에스 공유 관리 시스템
KR101965859B1 (ko) * 2017-10-13 2019-04-05 주식회사 에이텍에이피 클라우드 cd/atm을 위한 금융기기 디바이스 제어 장치, 방법 및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101363161B1 (ko) * 2011-11-04 2014-02-13 주식회사 엘지씨엔에스 공유 관리 시스템
CN103135966A (zh) * 2011-11-24 2013-06-05 深圳市证通电子股份有限公司 基于xfs标准的sp实现方法及sp架构
CN103135966B (zh) * 2011-11-24 2016-08-24 深圳市证通电子股份有限公司 基于xfs标准的sp实现方法及sp架构
KR101965859B1 (ko) * 2017-10-13 2019-04-05 주식회사 에이텍에이피 클라우드 cd/atm을 위한 금융기기 디바이스 제어 장치, 방법 및 시스템

Also Published As

Publication number Publication date
KR100536925B1 (ko) 2005-12-16

Similar Documents

Publication Publication Date Title
JP5534520B2 (ja) スマートカードにブラウザベースでアクセスするシステムおよび方法
US5781724A (en) Method and system for integrating additional functionality into a login system
CN103034799B (zh) 一种内核级的桌面访问控制方法
US6651168B1 (en) Authentication framework for multiple authentication processes and mechanisms
US6052731A (en) Apparatus, method and computer program for providing arbitrary locking requesters for controlling concurrent access to server resources
US20020032655A1 (en) System and method for providing financial services terminals with a document driven interface
US20020138446A1 (en) System and method for providing security for financial services terminals with a document driven interface
US20020138431A1 (en) System and method for providing supervision of a plurality of financial services terminals with a document driven interface
US6289343B1 (en) Apparatus and method for performing semantic concurrency control in dispatching client requests within a server in a client/server computer system
CN101542435B (zh) 管理非同时用户界面模块的增强型用户界面管理器及方法
US20140366109A1 (en) Secure messaging facility system
US20060218228A1 (en) Client platform architecture
US8484722B2 (en) Enhanced user interface manager and method for managing non-contemporaneous user interface modules
US7222151B1 (en) Technique for communication with mobile data processing devices by way of mobile software agents
KR100536925B1 (ko) Xfs 서비스 프로바이더 프레임웍 모듈로 이루어진 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
CN106778193B (zh) 一种客户端和ui交互方法
CN115344401A (zh) 基于鸿蒙系统的xfs实现方法、装置、设备与可读存储介质
CA2597453C (en) User interface manager and method for reacting to a change in system status
Gadyatskaya et al. Load time security verification
US7363631B1 (en) Interface for accessing an open distributed transaction processing system log file
US20140067480A1 (en) Systems and methods for enterprise-level context management

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131111

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151204

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161107

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171128

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 14