KR20010109915A - 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템 - Google Patents

멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템 Download PDF

Info

Publication number
KR20010109915A
KR20010109915A KR1020000030687A KR20000030687A KR20010109915A KR 20010109915 A KR20010109915 A KR 20010109915A KR 1020000030687 A KR1020000030687 A KR 1020000030687A KR 20000030687 A KR20000030687 A KR 20000030687A KR 20010109915 A KR20010109915 A KR 20010109915A
Authority
KR
South Korea
Prior art keywords
group
host
communication
client
investment information
Prior art date
Application number
KR1020000030687A
Other languages
English (en)
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 KR1020000030687A priority Critical patent/KR20010109915A/ko
Publication of KR20010109915A publication Critical patent/KR20010109915A/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/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/06Asset management; Financial planning or analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Abstract

본 발명은 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템에 관한 것으로, 클라이언트로부터의 접속을 받아들여 데이터를 송/수신하고 업무별로 구분되어 있는 호스트들과 통신 채널을 유지하며, 투자정보 브로드캐스트 패킷을 수신 및 전송하는 클라이언트 그룹과 변화하는 통신 상태를 즉시 클라이언트 그룹에게 통지하고 클라이언트 단말이 전송하는 데이터를 통신 채널 수에 따라 분산하여 송/수신하는 호스트 그룹과 상기 접속 서버와 통신하면서 투자정보를 제공하는 투자정보 시스템과, 각 호스트/클라이언트 그룹별로 통신하고, 투자정보 시스템의 시세의 등록과 해지를 하는 메시지 큐 시스템과, 각 호스트 그룹별로 통신 상태를 저장하고, 통계정보를 저장하며, 소켓을 상호 배제하기 위해 사용되는 공유메모리로 구성된 시스템을 통해, 최소한의 메모리와 한정된 처리 능력으로 최대한 많은 사용자를 수용할 수 있고, 시스템의 증설 및 설정만으로 예측할 수 없이 늘어나는 사용자를 모두 수용할 수 있게 되는 것이다.

Description

멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템{Stock guotations transmission system using method of multiple casting commuication}
본 발명은 인터넷상에서의 투자정보시스템에 관한 것으로, 보다 상세하게는 멀티캐스트(Multi-cast) 통신방법을 이용하여 연속적인 주식투자데이터를 다수 대 다수, 1 대 다수에게 효율적으로 제공할수 있도록하는 투자정보 시스템에 관한 것이다.
인터넷은 과거 낮은 컴퓨터 보급률, 난해한 유닉스 명령어의 사용 등에 의해 몇몇 전문가들의 의사 교환 및 정보 교류의 수단으로 사용되었다. 그러나, 컴퓨터 보급률의 급속한 상승, 월드 와이드 웹(World Wide Web)이라는 대표적인 인터넷 서비스의 등장에 의해 점차 대중화되었으며, 광통신과 같은 통신 기술의 급격한 발달에 의하여 이제는 현대인의 필수불가결한 생활수단으로서 자리매김되고 있다.
이렇게 인터넷이 급속히 보급되고 대중화되어 가면서, 인터넷을 통한 은행거래 및 상품거래 등이 빈번하게 발생되고 있다. 특히, 최근에는 PC통신 네트웍을 통하여 각종 유가증권들을 매매할 수 있는 시스템이 이용되어지고 있으며, 현재 거의 대부분의 금융회사들이 인터넷을 통한, 특히 웹브라우저(Web Browser)를 통한 주식이나 선물증권 등의 유가증권(이하, 주식(Stock)이라 통칭한다) 매매를 지원하고 있다.
주식(Stock)은 몇몇 전문가의 투자수단 내지 기업 소유수단이 아닌, 일반인의 재테크 수단으로 인식된지도 오래이며, 이에 따라 자본의 분산이라는 바람직한 기업문화가 정착되고 있는 실정이다.
인터넷을 통한 주식투자는 인터넷 사용이 가능한 고객이라면 누구나 증권회사를 직접 방문하지 않고도 가정이나 직장에서 주식시장의 실시간 시세, 그래프 정보, 사용자의 실시간거래내역 등의 투자정보를 빠르게 이용할수 있는 장점이 있다.
현재까지의 인터넷을 통한 주식정보 또는 투자정보 시스템에서 통신방식은 유니캐스트(Uni-cast) 방식과 브로드캐스트(Broad-cast) 방식이다.
유니캐스트 통신방식은 하나의 송신자가 다른하나의 수신자로 데이터를 전송하는 것으로 일반적인 인터넷의 응용 프로그램이 모두 이와 같은 전송방식을 사용하고 있다. 브로드캐스트 통신방식은 하나의 송신자가 같은 서브 네트웍상의 모든 수신자들에게 데이터를 전송하는 방식이다.
예를 들어, 인터넷상에서 동일한 데이터를 동시에 둘 이상의 다른 수신자들에게 전송하고자 할때 멀티캐스트 통신방식의 응용분야에서 기존의 유니캐스트방식을 이용하여, 전송하고자 하는 데이터 패킷을 다수의 수신자에게 각각 여러 번 전송한다면, 동일한 패킷의 중복 전송으로 인한 네트워크 효율 저하를 가져온다. 또한 전송 대상자의 수가 늘어남에 따라 송신자의 전송부담은 더욱 커질 것이다. 특히 전송 데이터의 특성상 실시간 전송이 필요한 경우에는 이로 인한 효율 저하가 전송자체의 성능에 큰 영향을 끼치게 될 것이다.
이러한 문제로 인하여 투자정보를 제공하는데 있어서 막대한 장비 및 시스템 구축을 위한 비용이 소요되었던 것이 사실이다.
본 발명은 최소한의 메모리와 한정된 처리능력으로 최대한 많은 사용자를 수용할 수 있게 하는 것을 첫번째 목적으로 한다.
본 발명의 두번째 목적은 시스템의 단순 증설 및 설정만으로 늘어나는 사용자를 모두 수용할 수 있게 하는데 있다.
본 발명의 또 다른 목적은 증권 업무에 필수 불가결한 요소인 투자정보 시스템의 응답속도를 빠르게 할 수 있게 하는데 있다.
본 발명의 다른 목적은 후술하는 실시예를 통해서 알 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 시스템 구성도
이러한 목적을 달성하기 위한 본 발명은 클라이언트로부터의 접속을 받아들여 데이터를 송/수신하고 업무별로 구분되어 있는 호스트들과 통신 채널을 유지하며, 투자정보 브로드캐스트 패킷을 수신 및 전송하는 클라이언트 그룹과; 변화하는 통신 상태를 즉시 클라이언트 그룹에게 통지하고 클라이언트 단말이 전송하는 데이터를 통신 채널 수에 따라 분산하여 송/수신하는 호스트 그룹과 상기 접속 서버와 통신하면서 투자정보를 제공하는 투자정보 시스템과; 각 호스트/클라이언트 그룹별로 통신하고, 투자정보 시스템의 시세의 등록과 해지를 하는 메시지 큐 시스템과, 각 호스트 그룹별로 통신 상태를 저장하고, 통계정보를 저장하며, 소켓을 상호 배제하기 위해 사용되는 공유메모리로 구성된 시스템으로 구성된 것을 특징으로 한다.
상기 클라이언트 그룹은 홈트레이딩 시스템 소프트웨어(Home Trading Software; HTS)와 자동응답서버(ARS Server), 웹 트레이딩 서버(Web Trading Server) 등 클라이언트 단말 소프트웨어로부터의 접속을 받아들여 데이터를 송수신하는 그룹으로서, 업무별로 구분되어 있는 호스트들과 통신 채널을 유지하고 통신 상태를 통지하며, 투자정보 브로드캐스트 패킷을 수신하고 전송한다.
상기 호스트그룹은 통신 대상인 호스트별로 복수개의 프로세스로 이루어진 그룹으로서, 변화하는 통신상태를 즉시 클라이언트 그룹에게 통지하고 상기 클라이언트 단말 소프트웨어가 전송하는 데이터를 통신 채널 수에 따라 분산하여 송/수신한다.
상기 투자정보 시스템은 투자 정보를 제공하는 호스트 시스템으로서, 최고의 성능을 내기 위하여 접속 서버와 특화된 방법으로 통신하며, 일반 호스트와 같이 별도의 서버로 분리 사용도 가능하다.
이러한 상기 클라이언트 그룹에서의 프로그램 수행 로직을 보면 다음과 같다.
처음 실행되는 프로세스는 설정 파일을 읽어들여 몇 개의 프로세스로 구성되어야 할지 판단하고, 다양한 초기화 작업 및 접속을 받아들일 준비를 한다. 초기화과정이 끝나면 설정 파일에 지정된대로 자신을 fork() 시켜 복수개의 프로세스로 분산시킨다. 이때 접속을 받아들이는 소켓은 모든 프로세스에서 사용 가능하다.
각 프로세스의 메인 쓰레드는 mutex_lock(USYNC_PROCESS_ROBUST) 방식에 의해 한번에 한 프로세스만 접속을 받아들인다. 이론적으로는 프로세스들이 번갈아 접속을 받아들이게 되는 것이므로 여기에서 프로세스간 접속 분산이 이루어진다.
복수개의 프로세스가 준비되어 있으므로, 몇 개의 프로세스에 장애가 발생하더라도 정상적으로 운영중인 프로세스가 접속을 받아들이게 되므로, 사용자에게 접속이 안되는 일이 발생하지 않는다.
처음 실행되었던 프로세스는 자신이 포크 (fork) 시킨 프로세스들의 상태를 항상 모니터하고 있으며, 운영중에 비정상 종료 되었을 경우 곧바로 다시 실행시켜 서비스가 지속적으로 이루어지도록 한다.
통신을 위해 사용되는 쓰레드는 총 3 개 (메인/송신/수신) 이며, 운영중인 시스템의 상태 및 통계 자료를 추출하는 쓰레드가 하나 더 있어, 프로세스당 총 4 개의 쓰레드가 운영된다.
3 개의 쓰레드들은 서로 유기적으로 동작하면서 비동기적으로 데이터를 송/수신하는 단말과 호스트 그룹간의 통신이 원활하게 이루어지도록 움직인다.
하나의 단말에 대해서 송/수신이 이루어지는 쓰레드 그룹을 한 개씩 만들어서 운영할 수도 있으나, OS 가 수행하는 Context Switching 단위가 무한대로 늘어나게 되면서 이 부분이 가장 부하를 많이 차지하게 된다. 따라서, Context Switching 에서 일어나는 작업 중 가장 필요한 부분만 뽑아내어 소프트웨어적으로 단말별 통신 스케줄링이 이루어지도록 구성하였다.
메인 쓰레드의 주 역할은 소켓에서 새로운 접속을 받아들여 송/수신 쓰레드가 처리하는 단말 테이블에 추가시키는 것이다. 설정 파일에 지정되어 있는 수만큼 접속을 받아들였을 경우 접속을 끊은 사용자가 나타나 받아들일 수 있는 여유가 생길때까지 소켓을 바라보지 않아 여유있는 다른 프로세스가 접속을 계속 받아들이도록 한다.
새롭게 접속이 이루어지면 단말 테이블에서 사용하지 않는 엔트리가 할당되며, 기계 고유 번호, 클라이언트 그룹 프로세스의 고유 ID 와 함께 사용되어 접속자의 통신 주소가 된다. 매 접속때마다 주소가 변경되게 된다.
송신 쓰레드는 기본적으로 단말의 이벤트를 기다리는 곳에 멈춰 있게 되며, 이벤트가 발생할 경우 발생한 단말을 찾아내어 그 이벤트를 처리해준다. 또한, 단말이 접속을 끊었을 경우 이를 정리해주는 역할도 수행하는데, 쓰레드간에 동시 효과가 발생하지 않도록 다른 쓰레드는 단말의 접속이 감지되더라도 이를 송신 쓰레드가 알 수 있도록 노력할 뿐 실제 정리 작업은 하지 않는다.
단말 테이블은 접속이 이루어진 단말별 구조체로 이루어져 있는데, 여러 개의 단말별로 통신을 위해 보관해두어야 하는 내용을 담아두게 된다. 소켓은 NONBLOCK 방식으로 운영되며, 조금이라도 지연되는 일이 발생할 경우 현재 상태를 구조체에 보관해두고 다른 단말 처리로 넘어간다.
투자정보 시스템으로 송신하는 내용은 따로 모니터하다가 시세 수신을 요청하는 메시지의 경우 POSIX 메시지 큐로 곧바로 송신한다.
수신 쓰레드는 클라이언트 그룹의 수신 메시지 큐로 들어오는 메시지 중 자신이 관리하는 단말에게 전달되어야 할 메시지를 받아들여, 해당 소켓을 찾아낸 후 전송하는 역할을 수행한다.
특수 목적의 패킷으로 시세, 브로드캐스트 메시지가 있는데, 투자정보 시스템에서 전송하는 시세/시황등 UDP 로 수신된 메시지를 이 형태로 클라이언트 그룹에게 전달한다.
시세 메시지는 일반 포맷의 패킷을 한 프로세스가 관장하는 접속자 중 몇몇접속자에게만 전송해야 하므로 투자정보시스템이 각 접속자의 ID 를 직접 관리하다가 하나의 패킷 안에 접속자 ID 리스트를 넣어 전송하면, 수신 쓰레드가 이를 분석하여 해당 접속자별로 패킷을 전송해준다.
브로드캐스트 메시지는 현재 접속중인 모든 접속자에게 송신하고자 할 때 사용하는 형태이다. 단말 테이블을 보고 현재 접속중인 모든 사용자에게 송신한다.
통계 기초 자료는 메인/송/수신 쓰레드가 운영중에 카운터 형식으로 증가시키거나 현재 시각을 기록해두면 통계 쓰레드가 설정 파일에 지정된 간격 (1 분) 마다 이를 샘플링하여 공유 메모리에 저장하게 된다.
각 단말마다 자신이 통신하고자 하는 호스트의 정보가 저장되며, 호스트별로 통신을 처음 시작하려고 할 때 송신하는 INIT 패킷이 수신되었을 경우 송신 쓰레드가 호스트 그룹 매니저에게 ALLOC 패킷으로 하나의 프로세스를 할당해달라는 요청을 하게 되며, 매니저가 호스트 프로세스를 하나 할당해 ALLOC 패킷으로 되돌려주면 수신 쓰레드가 이를 받아 해당하는 단말의 보관 영역에 기록해둔다. 그 이후부터 그 단말이 해당 호스트로 통신하고자 할때에는 통신 장애가 발생하지 않는 이상 할당받은 프로세스를 계속 사용하게 된다.
한편 호스트 그룹에서의 프로그램 수행 로직에 대해 상세히 설명하면,
호스트 그룹은 하나의 호스트에 대해 이루어지는 복수개의 통신 채널을 담당하는 그룹으로서, 하나의 채널마다 하나의 프로세스가 사용된다. 상기 하나의 호스트 그룹에는 하나의 호스트 그룹 매니저가 존재하는데, 설정 파일에 지정된대로 통신 채널 개수를 만들어주는 역할을 하며, 결국 호스트 프로세스를 그 수 만큼 실행시키고 관리한다.
호스트 그룹 매니저는 각 채널을 담당하는 프로세스가 보내는 통신 상태를 변화가 생길때마다 받아들여 기록해두고, 단말로부터 ALLOC 패킷이 수신되었을 경우 통신 상태가 정상인 프로세스를 찾아 그 ID 를 알려주게 된다. 할당 방법은 Best Fit 방식과 Round-Robin 방식 두가지가 있는데, 통신 부하를 줄이기 위하여 Round-Robin 방식을 사용한다.
호스트 프로세스는 운영중에 3 개의 쓰레드 (송신/수신/통계) 를 사용하는데 송신 쓰레드는 호스트 시스템으로 접속을 시도하는 역할과 수신 메시지 큐를 기다리고 있다가 도착한 내용을 호스트 시스템으로 전송하는 역할을 수행한다. 호스트와의 접속이 끊어질 경우에는 재시도를 수행하게 되며, 일정 횟수동안 시도해도 접속이 이루어지지 않을 경우 호스트 알리아스(Alias) 테이블에 등록된대로 2 차, 3 차 호스트 시스템으로 계속 접속 시도가 이루어지게 된다. 어느 호스트로 접속이 되더라도 일단 끊어지게 되면 1 차 호스트부터 다시 시도하게 된다.
상기 수신 쓰레드는 호스트 시스템이 전송한 메시지를 받아 대상 접속자가 속해있는 클라이언트 그룹에게 메시지를 다시 전달하는 역할을 수행한다.
상기 통계 쓰레드는 각 쓰레드가 운영중에 기록하는 통계 정보를 일정 기간 (1 분) 마다 수집해 통계값을 보관하는 공유 메모리에 기록한다.
이렇게 본 발명에 따를 경우 최소한의 메모리와 한정된 처리 능력으로 최대한 많은 사용자를 수용할 수 있고, 시스템의 증설 및 설정만으로 예측할 수 없이 늘어나는 사용자를 모두 수용할 수 있게 될 뿐만 아니라 접속자별로 프로세스나 쓰레드가 늘어나지 않으므로 메모리 사용이 최소화되어 부하가 거의 없게 되는 것이다.

Claims (1)

  1. 클라이언트로부터의 접속을 받아들여 데이터를 송/수신하고 업무별로 구분되어 있는 호스트들과 통신 채널을 유지하며, 투자정보 브로드캐스트 패킷을 수신 및 전송하는 클라이언트 그룹과 변화하는 통신 상태를 즉시 클라이언트 그룹에게 통지하고 클라이언트 단말이 전송하는 데이터를 통신 채널 수에 따라 분산하여 송/수신하는 호스트 그룹과 상기 접속 서버와 통신하면서 투자정보를 제공하는 투자정보 시스템과, 각 호스트/클라이언트 그룹별로 통신하고, 투자정보 시스템의 시세의 등록과 해지를 하는 메시지 큐 시스템과, 각 호스트 그룹별로 통신 상태를 저장하고, 통계정보를 저장하며, 소켓을 상호 배제하기 위해 사용되는 공유메모리로 구성된 멀티 캐스팅 통신 방법을 이용한 주식 시세 전송 시스템
KR1020000030687A 2000-06-05 2000-06-05 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템 KR20010109915A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000030687A KR20010109915A (ko) 2000-06-05 2000-06-05 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000030687A KR20010109915A (ko) 2000-06-05 2000-06-05 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템

Publications (1)

Publication Number Publication Date
KR20010109915A true KR20010109915A (ko) 2001-12-12

Family

ID=45927054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000030687A KR20010109915A (ko) 2000-06-05 2000-06-05 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템

Country Status (1)

Country Link
KR (1) KR20010109915A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272859A (ja) * 1995-03-29 1996-10-18 Hitachi Ltd 株価データ送信システム
KR20000036891A (ko) * 2000-03-31 2000-07-05 김지혜 멀티캐스트 필터링 및 유니캐스트로의 전환방법과 그 시스템
KR20010092924A (ko) * 2000-03-27 2001-10-27 강선근 인터넷을 이용한 실시간 증권정보 제공 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272859A (ja) * 1995-03-29 1996-10-18 Hitachi Ltd 株価データ送信システム
KR20010092924A (ko) * 2000-03-27 2001-10-27 강선근 인터넷을 이용한 실시간 증권정보 제공 시스템
KR20000036891A (ko) * 2000-03-31 2000-07-05 김지혜 멀티캐스트 필터링 및 유니캐스트로의 전환방법과 그 시스템

Similar Documents

Publication Publication Date Title
US11363097B2 (en) Method and system for dynamically rebalancing client sessions within a cluster of servers connected to a network
US10616372B2 (en) Service request management
US6061713A (en) Communications system for client-server data processing systems
DE69634505T2 (de) Lokales Netz zum Übertragen von Daten unter Verwendung von isochronen und asynchronen Kanälen
US7260599B2 (en) Supporting the exchange of data by distributed applications
US10439833B1 (en) Methods and apparatus for using multicast messaging in a system for implementing transactions
KR100300787B1 (ko) 브로커 구조에서 이웃들 간에 로컬 정보를 배포하기 위해 스트림을 이용하는 발행 및 인용 데이터 프로세싱 장치, 방법, 및컴퓨터 프로그램 제품
US7558859B2 (en) Peer-to-peer auction based data distribution
KR20010088742A (ko) 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법
CN108390950A (zh) 一种消息推送方法、装置及设备
US7401114B1 (en) Method and apparatus for making a computational service highly available
ATE236480T1 (de) Webagent zur anforderung von mehreren prozessen
KR20120113976A (ko) 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US20090290503A1 (en) Controlling Access to a Destination in a Data Processing Network
US20060233322A1 (en) Methods and apparatus for switching between data streams
US20180199105A1 (en) Multi-screen control method and device
US8655769B2 (en) Method and system for improving equity trade order acknowledgement times
US7203768B2 (en) Managing network traffic using hashing functions
CN113163016B (zh) 网络长连接服务集群化部署系统及控制流程
US7051118B2 (en) Method and apparatus for anonymous subject-based addressing
US8122121B2 (en) Event notification over a communications network
US20010049727A1 (en) Method for effficient and scalable interaction in a client-server system in presence of bursty client requests
KR20010109915A (ko) 멀티캐스팅 통신방식을 이용한 주식 시세전송 시스템
JPH10301870A (ja) 通信回線制御システム
US20080077651A1 (en) Information processing system with collaborating devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application