KR20100005958A - 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체 - Google Patents

실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체 Download PDF

Info

Publication number
KR20100005958A
KR20100005958A KR1020080066087A KR20080066087A KR20100005958A KR 20100005958 A KR20100005958 A KR 20100005958A KR 1020080066087 A KR1020080066087 A KR 1020080066087A KR 20080066087 A KR20080066087 A KR 20080066087A KR 20100005958 A KR20100005958 A KR 20100005958A
Authority
KR
South Korea
Prior art keywords
information
keystroke
program
user
input
Prior art date
Application number
KR1020080066087A
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 KR1020080066087A priority Critical patent/KR20100005958A/ko
Publication of KR20100005958A publication Critical patent/KR20100005958A/ko

Links

Images

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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/02Details
    • H03M11/04Coding of multifunction keys
    • H03M11/06Coding of multifunction keys by operating the multifunction key itself in different ways
    • H03M11/10Coding of multifunction keys by operating the multifunction key itself in different ways by methods based on duration or pressure detection of keystrokes

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및 시스템과 이를 위한 기록매체에 관한 것으로서, 본 발명에 따른 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법은, 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 방법에 있어서, 상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계 및 상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 단계를 포함한다.
실제, 프로그램, 사용자, 맞춤형, 광고

Description

실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및 시스템과 이를 위한 기록매체{System and Method for Providing Ordered Advertisement with Real Program User and Recording Medium}
도 1은 본 발명의 실시 방법에 따라 키스트로크 클러스터링을 통해 확인된 프로그램 이용 권한의 실제 사용자에게 맞춤형 광고를 제공하는 시스템 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 방법에 따라 키스트로크 클러스터링을 통해 프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 응용프로그램 기능 구성을 도시한 도면이다.
도 3은 본 발명의 다른 일 실시 방법에 따라 키스트로크 클러스터링을 통해 응용프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 키스트로크 프로그램 기능 구성을 도시한 도면이다.
도 4는 본 발명의 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템을 도시한 도면이다.
도 5는 본 발명의 실시 방법에 따른 사용자 인증 과정을 도시한 도면이다.
도 6은 본 발명의 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 정보를 저장하는 과정을 도시한 도면이다.
도 7은 본 발명의 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.
도 8은 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보를 송수신하는 과정을 도시한 도면이다.
도 9는 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 저장매체에 저장하는 과정을 도시한 도면이다.
도 10은 본 발명의 다른 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.
도 11은 본 발명의 실시 방법에 따라 키스트로크 패턴 별 실제 사용자에 대한 맞춤형 광고제공 시스템 구성을 도시한 도면이다.
도 12는 본 발명의 실시 방법에 따라 키스트로크 패턴 별 실제 사용자에 대한 맞춤형 광고 제공 과정을 도시한 도면이다.
<도면의 주요부분에 대한 설명>
100 : 프로그램 운용 서버 105 : 키스트로크 인증 서버
110 : 저장매체 115 : CRM 서버
120 : CRM 정보 D/B 125 : 광고서버
130 : 광고 D/B 135 : 클라이언트 단말
본 발명은 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 방법에 있어서, 상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계 및 상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 단계를 포함하는 실제 프로그램 사용자에 대한 맞춤형 광고 제 공 방법에 관한 것이다.
정보통신 기술의 지속적인 발전으로 통신망을 통한 경제활동(예컨대, 전자상거래, 비대면 금융거래 등)과 여론활동(예컨대, 댓글, 게시판)이 활성화되고, 유료 컨텐츠 이용(예컨대, 온라인 강의, 게임, 아이템 구입)이 빈번해지면서, 온라인을 통한 비대면 상태에서 사용자를 정확하게 식별하는 것이 매우 중요한 보안요소로 이슈화되었다.
이에, 고도한 보안을 필요로 하는 온라인 서비스를 제공하는 대부분의 온라인 서비스 제공자는 공인인증서 내지 OTP(One Time Password) 등을 통해 비대면 상태에서 사용자를 정확하게 식별하고자 하고 있으나, 이것은 어디까지나 악의적인 도용/복제를 방지하려고 하는 것을 목적으로 할 뿐, 인증된 사용자가 자신의 인증권한을 타인과 공유하려고 마음먹은 경우까지 처리하지는 못한다.
특히, 상기 인증된 사용자가 자신의 인증권한을 타인과 공유하는 것은, 온라인 서비스 제공자 입장에서 그만큼의 수익이 감소하는 것을 의미하는 바, 대부분의 온라인 서비스 제공자는 이를 차단하려고 하고 있으나, 현재 마땅한 해결책이 없는 실정이다.
물론, 상기 인증된 사용자가 자신의 인증권한을 타인과 공유하는 것을 방지 할 수 있는 해결책은 바이오메트릭스(Biometrics)를 이용하는 방법이다. 상기 바이오메트릭스를 이용한 인증 방법은, 인증된 사용자의 지문, 얼굴 특징(facial feature), 홍채(irises), 장문(palm print) 등과 같은 사용자의 고유한 생체적 특성을 인증수단으로 이용하는 것인데, 이를 위해서는 사용자 측에 상기 생체적 특성을 인증하기 위한 별도의 생체인식장치를 구비해야만 한다. 그러나, 대부분의 사용자가 상기 생체인식장치를 구비하는 것을 꺼릴 뿐만 아니라, 상기 생체인식장치를 구입하는 비용도 만만치 않아 상기 바이오메트릭스를 이용해 인증된 사용자가 자신의 인증권한을 타인과 공유하는 것을 방지하는 것은 매우 난해하며, 상기 온라인 서비스에 대한 실제 사용자를 확인하기란 거의 불가능한 문제점을 포함하고 있다.
상기 문제점을 해결하기 위한 본 발명의 목적은, 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 시스템에 있어서, 상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 수단과, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프 로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 수단과, 상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터를 확인하는 수단 및 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 수단을 구비하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 시스템을 제공함에 있다.
본 발명에 따른 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법은, 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 방법에 있어서, 상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계 및 상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한, 일정 기간 동안 사용자가 이용하는 단말로부터 전송된 일정 개수 이상의 사용자 입력 정보에 포함된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 일정 개수 이상의 키스트로크 정보가 일정 범위 내에 분포하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하고, 상기 확인된 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 상기 문자열 정보 및 상기 프로그램(또는 응용프로그램)에 대한 사용자 인증정보와 연계하여 저장매체에 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계는, 상기 수신된 키스트로크 정보에 대응하는 키스트로크 패턴 정보를 생성하는 단계 및 상기 사용자 입력 정보에 포함되어 일정 기간 동안 일정 개수 이상 수신된 문자열 정보 중 프로그램(또는 응용프로그램)에 대한 동일한 사용자 인증정보와 연계되고, 동일한 단어(또는 문장, 또는 색인어)에 대응하는 키스트로크 정보가 일정 범위 내에 분포하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 m개의 키스트로크 패턴 정보를 각 문자열 정보와 연계하여 저장하는 저장매체로부터 상기 수신된 사용자 입력 정보에 포함된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 키스트로크 정보와 매칭되는 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
또한, 상기 프로그램(또는 응용프로그램)에 대한 사용자 인증정보와 연계된 m(m>=1)개의 키스트로크 패턴 별 고객관계 정보를 주기(또는 반복)적으로 수집하여 저장하는 고객관계 정보 D/B로부터 상기 실제 사용자에 대한 키스트로크 패턴 정보에 대응하는 상기 실제 사용자의 고객관계 정보를 확인하는 단계 및 하나 이상의 광고 대상 고객관계 정보와 광고 데이터를 연계하여 저장하는 광고 D/B로부터 상기 실제 사용자의 고객관계 정보와 매칭되는 광고 대상 고객관계 정보와 연계된 광고 데이터를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따르면, 상기 사용자 인증정보는, 사용자의 ID정보, 비밀번호, ID/PW 정보를 하나 이상 포함하거나, 또는 상기 단말에 구비된 단말주소 정보, 프로그램 식별정보, 단말장치 정보를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따르면, 상기 프로그램 이용 권한의 실제 사용자는, 유일한 하나의 키스트로크 패턴 정보에 대응하는 유일한 프로그램(또는 응용프로그램) 사용자, 또는 복수의 키스트로크 패턴 정보에 대응하여 확인되는 복수의 프로그램 이용 권한 공유자 중 상기 현재 프로그램(또는 응용프로그램) 사용자, 또는 상기 프로그램(또는 응용프로그램)에 대한 사용자 인증정보의 실제 사용자를 포함하여 이루어 지는 것을 특징으로 한다.
본 발명은 전술한 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법을 실행하는 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체를 포함한다.
본 발명에 따른 실제 프로그램 사용자에 대한 맞춤형 광고 제공 시스템은, 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 시스템에 있어서, 상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 수단과, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 수단과, 상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터를 확인하는 수단 및 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 수단을 구비하여 이루어지는 것을 특징으로 한다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성요소와 본 발명을 위해 추가된 구성요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하 실시예는 본 발명의 핵심적인 기술적 특징을 효율적으로 설명하기 위해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 명백하게 이해할 수 있도록 용어를 적절하게 변형, 또는 통합, 또는 분리하여 사용할 것이나, 이에 의해 본 발명이 한정되는 것은 결코 아니다. 즉, 본 발명을 구성하는 각각의 수단은 이하 실시예에 도시되는 시스템 상에 구비되는 서버(또는 단말) 이거나, 또는 적어도 하나 이상의 서버(또는 단말)에 구비된 소정의 기능 구성부이거나, 또는 적어도 하나 이상의 서버(또는 단말)에 구비된 적어도 두개 이상의 기능 구성부의 연합일 수 있다. 또한, 이하 실시예에 도시되는 서버(또는 단말)은 편의상 본 발명의 진보적인 기술적 특징을 이루기 위한 적어도 두개 이상의 기능 구성부를 포함하여 이루어지는 것으로 도시하지만, 상기 서버(또는 단말) 내에 도시되는 기능 구성부는 상술된 수단과 매칭되어 각 기능 구성부의 역할과 기능 및 해당 서버(또는 단말) 운용자(또는 운용기관)에 따라 서로 다른 두개 이상의 서버(또는 단말)에 구비될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면1은 본 발명의 실시 방법에 따라 키스트로크 클러스터링을 통해 확인된 프로그램 이용 권한의 실제 사용자에게 맞춤형 광고를 제공하는 시스템 구성을 도시한 도면이다.
보다 상세하게 본 도면1은 프로그램 이용 권한에 대한 키스트로크 클러스터링을 통해 확인하는 하나 이상의 키스트로크 패턴 분석을 통해 프로그램 이용 권한의 실제 사용자를 확인하고, 상기 확인된 프로그램 이용 권한의 실제 사용자에 대응하는 키스트로크 패턴 별 CRM 정보를 기반으로 상기 프로그램 이용 권한의 실제 사용자에 맞춤형 광고를 제공하기 위한 기능적 서버 시스템 구성을 도시한 것으로, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 키스트로크 클러스터링을 통해 확인된 프로그램 이용 권한의 실제 사용자에게 맞춤형 광고를 제공하는 시스템 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면1을 참조하면, 상기 키스트로크 클러스터링을 통해 확인된 프로그램 이용 권한의 실제 사용자에게 맞춤형 광고를 제공하는 시스템은, 상기 프로그램 이용 권한에 대한 키스트로크 클러스터링을 통해 확인하는 하나 이상의 키스트로크 패턴 분석을 통해 확인되는 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)과, 상기 클라이언트 단말(135)에 구비된 응용프로그램(또는 키스트 로크 프로그램)을 관리 및 운용하는 프로그램 운용 서버(100)와, 상기 클라이언트 단말(135)로부터 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 프로그램 이용 권한 공유를 확인하거나, 또는 상기 클라이언트 단말(135)로부터 전송된 프로그램 이용 권한에 대한 공유 판별 정보를 수신하는 키스트로크 인증 서버(105), 상기 프로그램 이용 권한에 대한 공유 확인을 기반으로 상기 프로그램 이용 권한의 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)에 대한 CRM 정보를 확인하여 저장하는 CRM 서버(115) 및 상기 확인된 프로그램 이용 권한의 실제 사용자에게 맞춤형 광고를 제공하는 광고서버(125)를 구비하여 이루어지는 것을 특징으로 한다.
여기서, 상기 클라이언트 단말(135)은 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 구비하여 이루어지는 것을 특징으로 한다.
또한, 상기 키스트로크 인증 서버(105)는 상기 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 프로그램 이용 권한 공유를 확인하기 위한 저장매체(110)를 구비하거나, 또는 네트워크를 통해 연동하고, 상기 CRM 서버(115)는 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 각 키스트로크 패턴 별 CRM 정보를 연계하여 저장하는 상기 CRM 정보 D/B(120)를 구비하거나, 또는 네트워크를 통해 연동하고, 상기 광고서버(125)는 하 나 이상의 광고 대상 CRM 정보와 광고 데이터를 연계하여 저장하는 광고 D/B(130)를 구비하거나, 또는 네트워크를 통해 연동하는 것을 특징으로 한다.
다만, 본 도면1에서 상기 프로그램 운용 서버(100), 키스트로크 인증 서버(105), CRM 서버(115), 광고서버(125)를 편의상 별도의 서버 형태로 이루어지는 것으로 도시하였으나, 이에 의해 본 발명이 한정되는 것은 결코 아니며, 상기 프로그램 운용 서버(100), 키스트로크 인증 서버(105), CRM 서버(115), 광고서버(125)는 하나의 통합 서버 형태로 실시되거나, 또는 각 구성 요소 별로 두개 이상의 서버 군 형태로 실시되는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다. 즉, 본 도면1에서 프로그램 운용 서버(100), 키스트로크 인증 서버(105), CRM 서버(115), 광고서버(125)는 물리적인 서버 명칭을 의미하는 것이 아니라, 상기 키스트로크 클러스터링을 통해 확인된 프로그램 이용 권한의 실제 사용자에게 맞춤형 광고를 제공하기 위한 기능적인 명칭으로 명명된 것임을 명백하게 밝혀두는 바이다.
도면2는 본 발명의 일 실시 방법에 따라 키스트로크 클러스터링을 통해 프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 응용프로그램 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면2는 상기 클라이언트 단말(135)에 구비되어 키 입력 기반의 각종 응용 기능을 구비한 응용프로그램에서 상기 키 입력되는 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 상기 응용프로그램에 대한 이용 권한이 공유되고 있는지 확인하는 기능을 구비한 응용프로그램의 기능 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 키스트로크 클러스터링을 통해 프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 응용프로그램 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면2에 도시된 실시 방법으로 한정되지 아니한다.
본 발명에 따르면, 상기 응용프로그램이 구비된 클라이언트 단말(135)은, 상기 응용프로그램에 대응하는 프로그램 코드가 기록되는 기록매체, 및 상기 응용프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역을 구비한 메모리부에 대응하는 저장수단과, 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위해 출력하는 적어도 하나 이상의 키 입력 인터페이스를 그래픽 사용자 인터페이스를 기반으로 상기 클라이언트 단말(135)에 구비된 화면 출력장치로 출력하는 화면 출력수단과, 상기 클라이언트 단말(135)에 구비된 입력장치(예컨대, 키보드(Keyboard), 또는 키패드(Keypad), 또는 마우스(Mouse) 등)와 연계하여 상기 응 용프로그램에 구비된 각종 응용 기능을 제공하기 위한 적어도 하나 이상의 키 데이터를 입력하는 키 입력수단과, 상기 클라이언트 단말(135)이 접속한 유선 통신망(또는 무선 통신망)을 통해 통신망 상의 프로그램 운용 서버(100)와 통신채널을 연결하고, 상기 통신채널을 통해 상기 프로그램 운용 서버(100)와 상기 응용프로그램의 키 입력 기반의 각종 응용 기능 및 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 적어도 하나 이상의 정보(또는 데이터)를 송수신하는 통신수단을 구비하여 이루어지는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 대응하여 표출되는 상기 사용자의 자연적인 키 입력 행동패턴에 대응하는 자연적 키스트로크(Natural Keystroke)를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자가 자신의 자연적인 키 입력 행동패턴과 무관하게 인위적으로 조작한 키 입력 행동패턴에 대응하는 인위적 키스트로크(Artificial Keystroke)를 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 저장수단은 상기 응용프로그램에서 상 기 키 입력 기반의 각종 응용 기능을 제공하기 위해 상기 화면 출력수단으로 출력하는 적어도 하나 이상의 키 입력 인터페이스에 대응하는 인터페이스 정보를 저장하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 인터페이스 정보에 대응하는 키 입력 인터페이스는, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 사용자 인터페이스, 또는 뷰(View)를 포함하여 이루어지는 것이 바람직하며, 상기 키 입력 인터페이스는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 사용자 입력 정보를 입력하는 사용자 인터페이스 이외에, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인과 무관한 일반 입력 정보(예컨대, 키스트로크 기반 사용자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함하여 이루어지는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.
본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력부가 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 인터페이스에 대한 다양한 실시 방법을 유추할 수 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.
또한, 상기 저장수단은 상기 응용프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역과, 상기 키스트로크 정보에 대한 하나 이상의 키스트로크 패턴 정보를 저장하는 저장영역과, 상기 키스트로크 패턴 정보를 기반으로 상기 프로그램 이용 권한 공유 여부를 판별하는 공유 판별 정보를 저장하는 저장영역을 구비하여 이루어지는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 클라이언트 단말(135)에 대응하는 각종 유선단말(또는 무선단말)의 단말 구성에 따른 상기 저장수단, 화면 출력수단, 키 입력수단 및 통신수단에 대한 기술적 특징을 명백하게 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
도면2를 참조하면, 상기 응용프로그램은 상기 클라이언트 단말(135)에 구비된 기록매체에 기록된 후, 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능과 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 실행 및 동작 을 제어하며, 상기 키 입력 기반의 각종 응용 기능과 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하기 위해 상기 응용프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하거나, 또는 상기 기능 구성부들이 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼)를 통해 상기 클라이언트 단말(135)에 구비된 적어도 하나 이상의 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하여 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하도록 제어하는 제어부(200)를 구비하여 이루어지는 것을 특징으로 한다.
상기 제어부(200)는 상기 응용프로그램이 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼) 상에서 실행(예컨대, 클라이언트 단말(135)에 구비된 프로세서에 의해 연산처리)되고, 상기 운영체제(또는 플랫폼)과 연계하여 상기 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하기 위한 메인프레임(Mainframe)에 대응하는 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 제어부(200)는 상기 클라이언트 단말(135)에 구비된 기록매체에 기록된 후, 사용자에 의해 프로그램 실행 명령, 또는 다른 프로그램에 의한 프로그램 실행 명령에 따라 운영체제(또는 플랫폼)을 기반으로 상기 응용프로그램을 기동하여 실행되도록 하는 것이 바람직하며, 상기 응용프 로그램의 실행과 동시에 상기 운영체제(또는 플랫폼)로부터 상기 단말 구성요소에 대한 사용권한을 획득하는 것이 바람직하다.
또한, 상기 제어부(200)는 상기 응용프로그램의 실행과 동시에 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 응용프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것이 바람직하다.
본 발명의 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식의 멀티 태스킹을 지원하는 경우, 상기 제어부(200)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(핸들)를 할당하는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 접근권한을 이용하기 위해 상기 제어부(200)에 인스턴스를 할당하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식을 지원하지 않는 경우, 상기 제어부(200)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(인터럽트)를 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 인터럽트를 사용하기 위해 상기 인터럽트를 호출하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스의 메모리 주소에 접근하는 경우, 상기 제어부(200)는 상기 각 기능 구성부에서 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스에 대한 접근권한(메모리 주소)을 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 메모리 주소를 통해 상기 단말 구성요소에 접근하는 것이 바람직하다.
본 발명에 따르면, 상기 응용프로그램은 키 입력 기반의 각종 응용 기능에 대응하여 화면 출력수단으로 적어도 하나 이상의 키 입력 인터페이스를 출력하는 인터페이스 출력부(205)와, 상기 키 입력 인터페이스에 포함된 적어도 하나 이상의 키 입력 사용자 인터페이스를 통해 상기 키 입력수단으로부터 상기 키 입력 기반의 각종 응용 기능에 대응하는 사용자 입력 정보를 입력받는 정보 입력부(210)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 입력 정보를 기반으로 키 입력 기반의 각종 응용 기능을 수행하는 키 입력 기반 응용 기능부(245)를 구비하고, 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 필요한 정보 및 프로그램 이용 권한의 실제 사용자에게 제공될 맞춤형 광고 데이터를 수신하는 정보 수신부(215)를 더 구비하여 이루어지는 것을 특징으로 하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램의 목적 및 용도에 따른 키 입력 기반의 각종 응용 기능을 기 유추할 수 있을 것이므로, 상기 키 입력 기반 응용 기능부(245) 및 정보 수신부(215)에 대한 상세한 설명은 편의상 생략하기로 한다.
상기 제어부(200)에 의해 상기 응용프로그램이 기동되어 상기 단말 구성요소 중 상기 화면 출력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되면, 상기 인터페이스 출력부(205)는 키 입력 기반 응용 기능을 제공하기 위해 프로그램 코드 형태(또는 상기 저장수단에 구비된 인터페이스 정보)에 대응하는 키 입력 인터페이스를 상기 화면 출력수단으로 출력하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 인터페이스 출력부(205)에 의해 출력되는 적어도 하나 이상의 키 입력 인터페이스는 에디트(Edit) 컨트롤, 또는 콤보박스(ComboBox) 컨트롤, 또는 리스트박스(ListBox) 컨트롤, 또는 버튼(Button) 컨트롤 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 이미지(Image) 컨트롤, 또는 각종 커스텀(Custom) 컨트롤을 더 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력수단이 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
상기 제어부(200)에 의해 상기 단말 구성요소 중 상기 키 입력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되고, 상기 인터페이스 출력부(205)에 의해 상기 키 입력 인터페이스가 출력되면, 상기 정보 입력부(210)는 상기 클라이언트 단말(135)에 구비된 키 입력수단을 통해 상기 키 입력 기반 응용 기능을 제공하기 위한 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리하는 것을 특징으로 한다.
도면2를 참조하면, 상기 키스트로크 프로그램은, 상기 정보 입력부(210)가 상기 키 입력수단을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리시, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간(Duration) 정보, 입력 간격(Interval) 정보, 압력(Pressure) 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 키스트로크 정보 확인부(250)와, 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공하는 키스트로크 정보 확인부(255)를 구비하여 이루어지는 것을 특징으로 하며, 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버(100)에서 수행하는 경우, 상기 가공된 키스트로크 정보를 상기 사용자 입력 정보와 연계하여 상기 프로그램 운용 서버(100)로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 키스트로크 기반 사용자 입력 정보 생성부(260)와, 상기 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버(100)로 전송하는 정보 전송부(220)를 구비하여 이루어지는 것을 특징으로 한다.
상기 정보 입력부(210)가 상기 키 입력수단을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리시, 상기 키스트로크 정보 확인부(250)는 상기 키 입력수단과 연계하여 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.
본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.
본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.
상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.
본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.
여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.
만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.
상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 클라이언트 단말(135)에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따라 상기 키 입력 인터페이스에 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 필요한 일반 입력 정보(예컨대, 키스트로크 기반 사용 자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함된 경우, 상기 키스트로크 정보 확인부(250)는 상기 키 입력 인터페이스 상에 캐럿이 할당된 컨트롤 정보를 판독하여 상기 키 입력 인터페이스를 기반으로 상기 정보 입력부(210)를 통해 입력되는 복수의 정보 중 상기 사용자 입력 정보를 확인하고, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것이 바람직하다.
상기 키스트로크 정보 확인부(250)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 확인부(255)는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키스트로크 정보 확인부(255)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법 을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 정보 확인부(255)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2" 와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 정보 확인부(255)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 임계시간 구간 값이 299ms 이하는 "0", 300ms에서 399ms는 "1", 400ms에서 499ms는 "2", 500ms에서 599ms는 "3", 600ms에서 699ms는 "4", 700ms에서 799ms는 "5", 800ms에서 899ms는 "6", 900ms에서 999ms는 "7", 1000ms 이상의 "8"을 포함하는 경우, "1"의 입력 지속시간 정보는 '3', "2"의 입력 지속시간 정보는 '2', "3"의 입력 지속시간 정보는 '2', "4"의 입력 지속시간 정보는 '3'과 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 '1', "2"와 "3"의 입력 간격 정보는 '3', "3"과 "4"의 입력 간격 정보는 '2'와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 키스트로크 정보 확인부(255)는 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.
본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버(100)에서 수행하는 경우, 상기 키스트로크 정보 확인부(255)에 의해 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공되면, 상기 키스트로크 기반 사용자 입력 정보 생성부(260)는 상기 가공된 키스트로크 정보와 상기 사용자 입력 정보를 연계하여 상기 프로그램 운용 서버(100)로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따라 상기 클라이언트 단말(135)과 프로그램 운용 서버(100)가 HTTP(Hyper-Text Transfer Protocol) 호환 프로토콜을 통해 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 기 설정된 조합(또는 결합) 방식에 따라 조합(또는 결합)하여 상기 프로그램 운용 서버(100)로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.
여기서, 상기 사용자 입력 정보와 키스트로크 정보의 조합(또는 결합) 방식 은 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 키스트로크 정보가 밀리초 단위의 입력 지속시간 정보와 입력 간격 정보를 포함하여 상기 "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms이고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms인 경우, 상기 키스트로크 기반 사용자 입력 정보는 "1234&500.450.400.500:300.500.400"과 같이 생성될 수 있으며, 또는 "1234&500(300).450(500).400(400).500"과 같이 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태로 변형되어 생성되는 것이 가능하다.
본 발명의 다른 일 실시 방법에 따라 상기 클라이언트 단말(135)과 프로그램 운용 서버(100)가 상기 프로그램 운용 서버(100)에서 정의한 통신 프로토콜에 따라 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 상기 통신 프로토콜에서 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조에 포함하여 상기 프로그램 운용 서버(100)로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.
예컨대, 상기 프로그램 운용 서버(100)에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조가 "struct data { char character; int duration; int interval; int pressure };"와 같은 구조화된 데이터 구조를 포함하고, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 키스트로크 정보가 밀리초 단위의 입력 지속시간 정보와 입력 간격 정보를 포함하여 상기 "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms이고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms인 경우, 상기 구조화된 데이터 구조의 data.character, data.duration, data.interval, data.pressure에 상기 입력 지속 시간 정보와 입력 간격 정보를 대입하여 상기 프로그램 운용 서버(100)로 전송하기 위한 키스트로크 기반 사용자 입력 정보가 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태의 데이터 구조를 통해 생성되는 것이 가능하다.
예컨대, 상기 프로그램 운용 서버(100)에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조는 상기 "1234&500.450.400.500:300.500.400" 또는 "1234&500(300).450(500).400(400).500"와 같은 데이터 구조를 포함하여도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 상기 가공된 키스트로크 정보를 별도의 프로토콜을 통해 상기 프로그램 운용 서버(100)로 전송하도록 분리된 키스트로크 기반 사용자 입력 정보를 생성하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버(100)에서 수행하는 경우, 상기 키스트로크 기반 사용자 입력 정보 생성부(260)를 통해 상기 프로그램 운용 서버(100)로 전송할 키스트로크 기반 사용자 입력 정보가 생성되면, 상기 정보 전송부(220)는 상기 클라이언트 단말(135)에 구비된 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버(100)로 전송하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 클라이언트 단말(135)에 암호화 모듈(도시생략)이 구비된 경우, 상기 정보 전송부(220)는 상기 암호화 모듈(도시생략)을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 암호화하여 프로그램 운용 서버(100)로 전송하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
도면2를 참조하면, 상기 응용프로그램은, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 키스트로크 정보 저장부(270)와, 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하고, 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부(265)와, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부(275)과, 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 키스트로크 패턴 정보 저장부(240)을 구비하여 이루어지는 것을 특징으로 한다.
상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대 한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 저장부(270)는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 것을 특징으로 한다.
상기 키스트로크 정보 저장부(270)에 의해 상기 저장수단에 상기 추출된 키스트로크 정보가 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장된 후, 상기 키스트로크 클러스터 확인부(265)는 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.
만약 저장수단으로부터 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보가 확인되면, 상기 키스트로크 클러스터 확인부(265)는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보를 결정하는 것을 특징으로 하며, 상기 패턴 대상 정보가 기 설정된 경우, 상기 패턴 대상 정보를 결정하는 것이 생략되어도 무방하다.
여기서, 상기 패턴 대상 정보는, 입력 지속시간 정보와 입력 간격 정보를 포함하거나, 또는 입력 지속시간 정보와 입력 간격 정보 및 압력 정보를 포함하여 이루어지는 것이 바람직하다.
이후, 상기 키스트로크 클러스터 확인부(265)는 상기 결정된(또는 기 설정된) 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, n(n<=N)개의 패턴 대상 키스트로크 정보는 하나의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 것을 특징으로 하며, 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 개수의 키스트로크 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명에 따르면, 상기 키스트로크 클러스터 확인부(265)는 n개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인하는 것을 특징으로 한다.
상기 키스트로크 클러스터 확인부(265)에 의해 m개의 키스트로크 클러스터가 확인되면, 상기 키스트로크 패턴 정보 생성부(275)는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(275)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(275)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(275)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
상기 키스트로크 패턴 정보 생성부(275)에 의해 m개의 키스트로크 패턴 정보가 생성되면, 상기 키스트로크 패턴 정보 저장부(240)는 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 키스트로크 패턴 정보 저장부(240)는 상기 생성된 m개의 키스트로크 패턴 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하거나, 또는 상기 생성된 m개의 키스트로크 패턴 정보를 각각의 키스트로크 패턴 정보를 생성하는데 사용된 키스트로크 클러스터에 포함된 n개의 키스트로크 정보와 연계하여 저장수단에 저장하는 것이 바람직하다.
도면2를 참조하면, 상기 응용프로그램은, 상기 키스트로크 패턴 정보 생성부(275)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 패턴 유사도 확인부(225)와, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하고, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부(230)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 권한(예 컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하는 공유 판별 정보 저장부(235), 또는 상기 공유 판별 정보를 통신망 상의 프로그램 운용 서버(100)로 전송하는 정보 전송부(220)를 더 구비하여 이루어지는 것을 특징으로 한다.
상기 키스트로크 패턴 정보 생성부(275)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 패턴 유사도 확인부(225)는 기 설정된 패턴 유사도 산출식(또는 연산 법칙, 또는 기학학적 연산)을 통해 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 것을 특징으로 한다.
만약 상기 키스트로크 패턴 유사도 정보가 확인되면, 상기 공유 확인부(230)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(230)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.
또한, 상기 공유 확인부(230)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(230)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 바람직하다.
또한, 상기 키스트로크 패턴 정보 생성부(275)에 의해 오직 하나의 키스트로크 패턴 정보가 생성되면, 상기 공유 확인부(230)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 공유 확인부(230)는 상기 패턴 유사도 확인부(225)에 의해 키스트로크 패턴 유사도 정보 생성과 무관하게 상기 키스트로크 클러스터 확인부(265)에 의해 확인되는 키스트로크 클러스터 개수, 또는 상기 키스트로크 패턴 정보 생성부(275)에 의해 생성된 상기 키스트로크 패턴 정보 개수가 두개 이상인 경우, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 공유 확인부(230)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 여부가 확인되면, 상기 공유 판별 정보 저장부(235)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장한다.
또는, 상기 공유 확인부(230)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 여부가 확인되면, 상기 정보 전송부(220)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 통신수단을 통해 상기 생성된 공유 판별 정보를 통신망 상의 프로그램 운용 서버(100)(또는 도면11에 도시된 광고서버(125))로 전송한다.
도면3은 본 발명의 다른 일 실시 방법에 따라 키스트로크 클러스터링을 통해 응용프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 키스트로크 프로그램 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면3은 키 입력 기반의 각종 응용 기능을 구비하여 클라이언트 단말(135)에 구비된 응용프로그램과 적어도 하나 이상의 프로세스 간 통신 방식(예컨대, 프로세스 간 메시지 교환 방식, 또는 프로세스 간 메모리 공유 방식, 또는 프로세스 간 라이브러리 파일(LIB/DLL) 공유 방식, 형식 라이브러리(Type Library) 방식 등)을 통해 연동하고, 상기 프로세스 간 통신을 통해 상기 응용프로그램의 키 입력 기반 응용 기능에 대응하여 키 입력되는 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 상기 응용프로그램에 대한 이용 권한이 공유되고 있는지 확인하는 키스트로크 프로그램의 기능 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 키스트로크 클러스터링을 통해 응용프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 키스트로크 프로그램 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면3에 도시된 실시 방법으로 한정되지 아니한다.
본 발명에 따르면, 상기 키스트로크 프로그램이 구비된 클라이언트 단말(135)은, 상기 키스트로크 프로그램에 대응하는 프로그램 코드가 기록되는 기록매체, 및 상기 키스트로크 프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 프로세스 간 통신을 통해 상기 응용프로그 램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역을 구비한 메모리부에 대응하는 저장수단과, 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위해 출력하는 적어도 하나 이상의 키 입력 인터페이스를 그래픽 사용자 인터페이스를 기반으로 상기 클라이언트 단말(135)에 구비된 화면 출력장치로 출력하는 화면 출력수단과, 상기 클라이언트 단말(135)에 구비된 입력장치(예컨대, 키보드(Keyboard), 또는 키패드(Keypad), 또는 마우스(Mouse) 등)와 연계하여 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위한 적어도 하나 이상의 키 데이터를 입력하는 키 입력수단과, 상기 클라이언트 단말(135)이 접속한 유선 통신망(또는 무선 통신망)을 통해 통신망 상의 프로그램 운용 서버(100)와 통신채널을 연결하고, 상기 통신채널을 통해 상기 프로그램 운용 서버(100)와 상기 응용프로그램의 키 입력 기반의 각종 응용 기능 및 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 적어도 하나 이상의 정보(또는 데이터)를 송수신하는 통신수단을 구비하여 이루어지는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 대응하여 표출되는 상기 사용자의 자연적인 키 입력 행동패턴에 대응하는 자연적 키스트로크(Natural Keystroke)를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자가 자신의 자연적인 키 입력 행동패턴과 무관하게 인위적으로 조작한 키 입력 행동패턴에 대응하는 인위적 키스트로크(Artificial Keystroke)를 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 저장수단은 상기 응용프로그램에서 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 상기 화면 출력수단으로 출력하는 적어도 하나 이상의 키 입력 인터페이스에 대응하는 인터페이스 정보를 저장하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 인터페이스 정보에 대응하는 키 입력 인터페이스는, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 사용자 인터페이스, 또는 뷰(View)를 포함하여 이루어지는 것이 바람직하며, 상기 키 입력 인터페이스는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 사용자 입력 정보를 입력하는 사용자 인터페이스 이외에, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인과 무관한 일반 입력 정보(예컨대, 키스트로크 기반 사용자 입력 정보에 포 함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함하여 이루어지는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.
본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력부가 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 인터페이스에 대한 다양한 실시 방법을 유추할 수 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.
또한, 상기 저장수단은 상기 키스트로크 프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 프로세스 간 통신을 통해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역과, 상기 키스트로크 정보에 대한 하나 이상의 키스트로크 패턴 정보를 저장하는 저장영역과, 상기 키스트로크 패턴 정보를 기반으로 상기 프로그램 이용 권한 공유 여부를 판별하는 공유 판별 정보를 저장하는 저장영역을 구비하여 이루어지는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 클라이언트 단말(135)에 대응하는 각종 유선단말(또는 무선단말)의 단말 구성에 따른 상기 저장수단, 화면 출력수단, 키 입력수단 및 통신수단에 대한 기술적 특징을 명백하게 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
///
도면3을 참조하면, 상기 키스트로크 프로그램은 상기 클라이언트 단말(135)에 구비된 기록매체에 기록된 후, 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 프로세스 간 통신을 통해 연동되는 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보를 기반으로 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 실행 및 동작을 제어하며, 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하기 위해 상기 키스트로크 프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하거나, 또는 상기 기능 구성부들이 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼)를 통해 상기 클라이언트 단말(135)에 구비된 적어도 하나 이상의 단말 구성요소(예컨대, 저장수단, 통신수단 등)와 연동하여 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하도록 제어하는 제어부(325)를 구비하여 이루어지는 것을 특징으로 한다.
상기 제어부(325)는 상기 키스트로크 프로그램이 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼) 상에서 실행(예컨대, 클라이언트 단말(135)에 구비된 프로세서에 의해 연산처리)되고, 상기 운영체제(또는 플랫폼)과 연계하여 상 기 단말 구성요소(예컨대, 저장수단, 통신수단 등)와 연동하기 위한 메인프레임(Mainframe)에 대응하는 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 제어부(325)는 상기 클라이언트 단말(135)에 구비된 기록매체에 기록된 후, 사용자에 의해 프로그램 실행 명령, 또는 상기 응용프로그램에 의한 프로그램 실행 명령에 따라 운영체제(또는 플랫폼)을 기반으로 상기 키스트로크 프로그램을 기동하여 실행되도록 하는 것이 바람직하며, 상기 키스트로크 프로그램의 실행과 동시에 상기 운영체제(또는 플랫폼)로부터 상기 단말 구성요소에 대한 사용권한을 획득하는 것이 바람직하다.
또한, 상기 제어부(325)는 상기 키스트로크 프로그램의 실행과 동시에 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 키스트로크 프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것이 바람직하다.
본 발명의 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식의 멀티 태스킹을 지원하는 경우, 상기 제어부(325)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(핸들)를 할당하는 것이 바람직하며, 이 때 상기 키스트로크 프로그램을 구성하는 각 기능 구성부는 상기 접근권한을 이용하기 위해 상기 제어부(325)에 인스턴스를 할당하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식을 지원하지 않는 경우, 상기 제어부(325)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(인터럽트)를 얻어오는 것이 바람직하며, 이 때 상기 키스트로크 프로그램을 구성하는 각 기능 구성부는 상기 인터럽트를 사용하기 위해 상기 인터럽트를 호출하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스의 메모리 주소에 접근하는 경우, 상기 제어부(325)는 상기 각 기능 구성부에서 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스에 대한 접근권한(메모리 주소)을 얻어오는 것이 바람직하며, 이 때 상기 키스트로크 프로그램을 구성하는 각 기능 구성부는 상기 메모리 주소를 통해 상기 단말 구성요소에 접근하는 것이 바람직하다.
도면3을 참조하면, 상기 응용프로그램은 상기 클라이언트 단말(135)에 구비된 기록매체에 기록된 후, 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능을 실행 및 동작을 제어하며, 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 상기 응용프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하거 나, 또는 상기 기능 구성부들이 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼)를 통해 상기 클라이언트 단말(135)에 구비된 적어도 하나 이상의 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하여 상기 키 입력 기반의 각종 응용 기능을 제공하도록 제어하는 응용 제어부(300)를 구비하여 이루어지는 것을 특징으로 한다.
상기 응용 제어부(300)는 상기 응용프로그램이 상기 클라이언트 단말(135)에 구비된 운영체제(또는 플랫폼) 상에서 실행(예컨대, 클라이언트 단말(135)에 구비된 프로세서에 의해 연산처리)되고, 상기 운영체제(또는 플랫폼)과 연계하여 상기 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하기 위한 메인프레임(Mainframe)에 대응하는 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 응용 제어부(300)는 상기 클라이언트 단말(135)에 구비된 기록매체에 기록된 후, 사용자에 의해 프로그램 실행 명령, 또는 다른 프로그램에 의한 프로그램 실행 명령에 따라 운영체제(또는 플랫폼)을 기반으로 상기 응용프로그램을 기동하여 실행되도록 하는 것이 바람직하며, 상기 응용프로그램의 실행과 동시에 상기 운영체제(또는 플랫폼)로부터 상기 단말 구성요소에 대한 사용권한을 획득하는 것이 바람직하다.
본 발명의 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식의 멀티 태스킹을 지원하는 경우, 상기 응용 제어부(300)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(핸들)를 할당하는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 접근권한을 이용하기 위해 상기 응용 제어부(300)에 인스턴스를 할당하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식을 지원하지 않는 경우, 상기 응용 제어부(300)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(인터럽트)를 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 인터럽트를 사용하기 위해 상기 인터럽트를 호출하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스의 메모리 주소에 접근하는 경우, 상기 응용 제어부(300)는 상기 각 기능 구성부에서 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스에 대한 접근권한(메모리 주소)을 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 메모리 주소를 통해 상기 단말 구성요소에 접근하는 것이 바람직하다.
본 발명에 따르면, 상기 응용프로그램은 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 클라이언트 단말(135)에 구비된 키스트로크 프로그램과 적어도 하나 이상의 프로세스 간 통신 방식 통해 통신하는 프로세스 간 통신 처리부(305)를 구비하여 이루어지는 것을 특징으로 하며, 상기 키스트로크 프로그램은 상기 프로세스 간 통신 처리부(305)와 연동하는 적어도 하나 이상의 프로세스 간 통신부(330)가 기 구비되어 있는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 제어부(325)에 의해 상기 응용프로그램이 기동되면, 상기 프로세스 간 통신 처리부(305)는 상기 클라이언트 단말(135)에 구비된 키스트로크 프로그램을 확인하고, 상기 확인된 키스트로크 프로그램에 구비된 프로세스 간 통신부(330)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 제어부(325)에 의해 상기 응용프로그램이 기동되면, 상기 프로세스 간 통신 처리부(305)는 상기 클라이언트 단말(135)에 구비된 키스트로크 프로그램(예컨대, 상기 응용프로그램을 기동시킨 키스트로크 프로그램, 또는 운영체제(또는 플랫폼) 상에 상기 응용프로그램의 부모 프로세스로 설정된 키스트로크 프로그램, 또는 상기 응용프로그램에 구비된 프로세스 간 통신 처리부(305)에 정의된 프로세스 간 통신 프로토콜에 반응하는 키스트로크 프로그램)에 구비된 프로세스 간 통신부(330)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 프로세스 간 통신 처리부(305)는 프로세스 간 메시지 교환 방식, 또는 프로세스 간 메모리 공유 방식, 또는 프로세스 간 라이브러리 파일(LIB/DLL) 공유 방식, 형식 라이브러리(Type Library) 방식 중 적어도 하나 이상의 프로세스 간 통신 방식에 따라 상기 키스트로크 프로그램과 프로세스 간 통신채널을 연결하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 프로세스 간 통신 방식에 대한 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.
본 발명에 따르면, 상기 응용프로그램은 키 입력 기반의 각종 응용 기능에 대응하여 화면 출력수단으로 적어도 하나 이상의 키 입력 인터페이스를 출력하는 인터페이스 출력부(310)와, 상기 키 입력 인터페이스에 포함된 적어도 하나 이상의 키 입력 사용자 인터페이스를 통해 상기 키 입력수단으로부터 상기 키 입력 기반의 각종 응용 기능에 대응하는 사용자 입력 정보를 입력받는 정보 입력부(315)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 입력 정보를 기반으로 키 입력 기반의 각종 응용 기능을 수행하는 키 입력 기반 응용 기능부(320)를 구비하여 이루어지는 것을 특징으로 하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램의 목적 및 용도에 따른 키 입력 기반의 각종 응용 기능을 기 유추할 수 있을 것이므로, 상기 키 입력 기반 응용 기능부(320)에 대한 상세한 설명은 편의상 생략하기로 한다.
상기 응용 제어부(300)에 의해 상기 응용프로그램이 기동되어 상기 단말 구성요소 중 상기 화면 출력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되면, 상기 인터페이스 출력부(310)는 키 입력 기반 응용 기능을 제공하기 위해 프로그램 코드 형태(또는 상기 저장수단에 구비된 인터페이스 정보)에 대응하는 키 입력 인터페이스를 상기 화면 출력수단으로 출력하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 인터페이스 출력부(310)에 의해 출력되는 적어도 하나 이상의 키 입력 인터페이스는 에디트(Edit) 컨트롤, 또는 콤보박스(ComboBox) 컨트롤, 또는 리스트박스(ListBox) 컨트롤, 또는 버튼(Button) 컨트롤 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 이미지(Image) 컨트롤, 또는 각종 커스텀(Custom) 컨트롤을 더 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력수단이 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.
상기 응용 제어부(300)에 의해 상기 단말 구성요소 중 상기 키 입력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되고, 상기 인터페이스 출력부(310)에 의해 상기 키 입력 인터페이스가 출력되면, 상기 정보 입력부(315)는 상기 클라이언트 단말(135)에 구비된 키 입력수단을 통해 상기 키 입력 기반 응용 기능을 제공하기 위한 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리하는 것을 특징으로 한다.
본 발명에 따르면, 상기 키스트로크 프로그램은 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 클라이언트 단말(135)에 기 구비되어 있는 응용프로그램과 적어도 하나 이상의 프로세스 간 통신 방식 통해 통신하는 프로세스 간 통신부(330)를 구비하여 이루어지는 것을 특징으로 하며, 상기 응용프로그램은 상기 프로세스 간 통신부(330)와 연동하는 적어도 하나 이상의 프로세스 간 통신부(330)가 기 구비되어 있는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 제어부(325)에 의해 상기 키스트로크 프로그램이 기동되면, 상기 프로세스 간 통신부(330)는 상기 클라이언트 단말(135)에 기 실행되어 동작하고 있는 적어도 하나 이상의 응용프로그램을 확인하고, 상기 확인된 적어도 하나 이상의 응용프로그램에 구비된 프로세스 간 통신 처리부(305)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 제어부(325)에 의해 상기 키스트로크 프로그램이 기동되면, 상기 프로세스 간 통신부(330)는 상기 클라이언트 단말(135)에 기 실행되어 동작하고 있는 적어도 하나 이상의 응용프로그램 중 어느 하나의 통신 대상 응용프로그램(예컨대, 상기 키스트로크 프로그램을 기동시킨 응 용프로그램, 또는 운영체제(또는 플랫폼) 상에 상기 키스트로크 프로그램의 부모 프로세스로 설정된 응용프로그램, 또는 상기 키스트로크 프로그램에 구비된 프로세스 간 통신부(330)에 정의된 프로세스 간 통신 프로토콜에 반응하는 응용프로그램)에 구비된 프로세스 간 통신 처리부(305)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 프로세스 간 통신부(330)는 프로세스 간 메시지 교환 방식, 또는 프로세스 간 메모리 공유 방식, 또는 프로세스 간 라이브러리 파일(LIB/DLL) 공유 방식, 형식 라이브러리(Type Library) 방식 중 적어도 하나 이상의 프로세스 간 통신 방식에 따라 상기 응용프로그램과 프로세스 간 통신채널을 연결하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 프로세스 간 통신 방식에 대한 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.
또한, 상기 키스트로크 프로그램은 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 필요한 정보 및 프로그램 이용 권한의 실제 사용자에게 제공될 맞춤형 광고 데이터를 수신하는 정보 수신부(335)를 더 구비하여 이루어지는 것을 특징으로 하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 키스트로크 프로그램이 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 필요한 각종 정보를 유추할 수 있을 것이므로, 상기 정보 수신부(335)에 대한 상세한 설명은 편의상 생략하기로 한다.
본 발명에 따르면, 상기 키스트로크 프로그램은 상기 프로세스 간 통신부(330)와 연계하여 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력된 사용자 입력 정보와 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간(Duration) 정보, 입력 간격(Interval) 정보, 압력(Pressure) 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 키스트로크 정보 확인부(365)와, 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공하는 키스트로크 정보 가공부(370)를 구비하여 이루어지는 것을 특징으로 하며, 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버(100)에서 수행하는 경우, 상기 가공된 키스트로크 정보를 상기 사용자 입력 정보와 연계하여 상기 프로그램 운용 서버(100)로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 키스트로크 기반 사용자 입력 정보 생성부(375)와, 상기 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버(100)로 전송하는 정보 전송부(340)를 구비하여 이루어지는 것을 특징으로 한다.
상기 응용프로그램에서 상기 키 입력수단을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리시, 상기 키스트로크 정보 확인부(365)는 상기 키 입력수단과 연계하여 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.
본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.
본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.
상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.
본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.
여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.
만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.
상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 클라이언트 단말(135)에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따라 상기 키 입력 인터페이스에 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 필요한 일반 입력 정보(예컨대, 키스트로크 기반 사용 자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함된 경우, 상기 키스트로크 정보 확인부(365)는 상기 키 입력 인터페이스 상에 캐럿이 할당된 컨트롤 정보를 판독하여 상기 키 입력 인터페이스를 기반으로 상기 정보 입력부(315)를 통해 입력되는 복수의 정보 중 상기 사용자 입력 정보를 확인하고, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것이 바람직하다.
상기 키스트로크 정보 확인부(365)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 가공부(370)는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(370)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법 을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(370)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2" 와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(370)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 임계시간 구간 값이 299ms 이하는 "0", 300ms에서 399ms는 "1", 400ms에서 499ms는 "2", 500ms에서 599ms는 "3", 600ms에서 699ms는 "4", 700ms에서 799ms는 "5", 800ms에서 899ms는 "6", 900ms에서 999ms는 "7", 1000ms 이상의 "8"을 포함하는 경우, "1"의 입력 지속시간 정보는 '3', "2"의 입력 지속시간 정보는 '2', "3"의 입력 지속시간 정보는 '2', "4"의 입력 지속시간 정보는 '3'과 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 '1', "2"와 "3"의 입력 간격 정보는 '3', "3"과 "4"의 입력 간격 정보는 '2'와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 키스트로크 정보 가공부(370)는 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.
본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버(100)에서 수행하는 경우, 상기 키스트로크 정보 가공부(370)에 의해 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공되면, 상기 키스트로크 기반 사용자 입력 정보 생성부(375)는 상기 가공된 키스트로크 정보와 상기 사용자 입력 정보를 연계하여 상기 프로그램 운용 서버(100)로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따라 상기 클라이언트 단말(135)과 프로그램 운용 서버(100)가 HTTP(Hyper-Text Transfer Protocol) 호환 프로토콜을 통해 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 기 설정된 조합(또는 결합) 방식에 따라 조합(또는 결합)하여 상기 프로그램 운용 서버(100)로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.
여기서, 상기 사용자 입력 정보와 키스트로크 정보의 조합(또는 결합) 방식 은 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 키스트로크 정보가 밀리초 단위의 입력 지속시간 정보와 입력 간격 정보를 포함하여 상기 "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms이고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms인 경우, 상기 키스트로크 기반 사용자 입력 정보는 "1234&500.450.400.500:300.500.400"과 같이 생성될 수 있으며, 또는 "1234&500(300).450(500).400(400).500"과 같이 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태로 변형되어 생성되는 것이 가능하다.
본 발명의 다른 일 실시 방법에 따라 상기 클라이언트 단말(135)과 프로그램 운용 서버(100)가 상기 프로그램 운용 서버(100)에서 정의한 통신 프로토콜에 따라 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 상기 통신 프로토콜에서 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조에 포함하여 상기 프로그램 운용 서버(100)로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.
예컨대, 상기 프로그램 운용 서버(100)에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조가 "struct data { char character; int duration; int interval; int pressure };"와 같은 구조화된 데이터 구조를 포함하고, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 키스트로크 정보가 밀리초 단위의 입력 지속시간 정보와 입력 간격 정보를 포함하여 상기 "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms이고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms인 경우, 상기 구조화된 데이터 구조의 data.character, data.duration, data.interval, data.pressure에 상기 입력 지속 시간 정보와 입력 간격 정보를 대입하여 상기 프로그램 운용 서버(100)로 전송하기 위한 키스트로크 기반 사용자 입력 정보가 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태의 데이터 구조를 통해 생성되는 것이 가능하다.
예컨대, 상기 프로그램 운용 서버(100)에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조는 상기 "1234&500.450.400.500:300.500.400" 또는 "1234&500(300).450(500).400(400).500"와 같은 데이터 구조를 포함하여도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 상기 가공된 키스트로크 정보를 별도의 프로토콜을 통해 상기 프로그램 운용 서버(100)로 전송하도록 분리된 키스트로크 기반 사용자 입력 정보를 생성하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버(100)에서 수행하는 경우, 상기 키스트로크 기반 사용자 입력 정보 생성부(375)를 통해 상기 프로그램 운용 서버(100)로 전송할 키스트로크 기반 사용자 입력 정보가 생성되면, 상기 정보 전송부(340)는 상기 클라이언트 단말(135)에 구비된 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버(100)로 전송하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 클라이언트 단말(135)에 암호화 모듈(도시생략)이 구비된 경우, 상기 정보 전송부(340)는 상기 암호화 모듈(도시생략)을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 암호화하여 프로그램 운용 서버(100)로 전송하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
도면3을 참조하면, 상기 키스트로크 프로그램은, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 키스트로크 정보 저장부(385)와, 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하고, 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부(380)와, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부(390)과, 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 키스트로크 패턴 정보 저장부(360)을 구비하여 이루어지는 것을 특징으로 한다.
상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 저장부(385)는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 것을 특징으로 한다.
상기 키스트로크 정보 저장부(385)에 의해 상기 저장수단에 상기 추출된 키스트로크 정보가 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장된 후, 상기 키스트로크 클러스터 확인부(380)는 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.
만약 저장수단으로부터 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보가 확인되면, 상기 키스트로크 클러스터 확인부(380)는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보를 결정하는 것을 특징으로 하며, 상기 패턴 대상 정보가 기 설정된 경우, 상기 패턴 대상 정보를 결정하는 것이 생략되어도 무방하다.
여기서, 상기 패턴 대상 정보는, 입력 지속시간 정보와 입력 간격 정보를 포함하거나, 또는 입력 지속시간 정보와 입력 간격 정보 및 압력 정보를 포함하여 이루어지는 것이 바람직하다.
이후, 상기 키스트로크 클러스터 확인부(380)는 상기 결정된(또는 기 설정된) 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, n(n<=N)개의 패턴 대상 키스트로크 정보는 하나의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 것을 특징으로 하며, 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 개수의 키스트로크 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명에 따르면, 상기 키스트로크 클러스터 확인부(380)는 n개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인하는 것을 특징으로 한다.
상기 키스트로크 클러스터 확인부(380)에 의해 m개의 키스트로크 클러스터가 확인되면, 상기 키스트로크 패턴 정보 생성부(390)는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(390)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(390)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(390)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
상기 키스트로크 패턴 정보 생성부(390)에 의해 m개의 키스트로크 패턴 정보가 생성되면, 상기 키스트로크 패턴 정보 저장부(360)는 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 키스트로크 패턴 정보 저장부(360)는 상기 생성된 m개의 키스트로크 패턴 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하거나, 또는 상기 생성된 m개의 키스트로크 패턴 정보를 각각의 키스트로크 패턴 정보를 생성하는데 사용된 키스트로크 클러스터에 포함된 n개의 키스트로크 정보와 연계하여 저장수단에 저장하는 것이 바람직하다.
도면3을 참조하면, 상기 키스트로크 프로그램은, 상기 키스트로크 패턴 정보 생성부(390)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 패턴 유사도 확인부(345)와, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하고, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하 는 공유 확인부(350)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하는 공유 판별 정보 저장부(355), 또는 상기 공유 판별 정보를 통신망 상의 프로그램 운용 서버(100)로 전송하는 정보 전송부(340)를 더 구비하여 이루어지는 것을 특징으로 한다.
상기 키스트로크 패턴 정보 생성부(390)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 패턴 유사도 확인부(345)는 기 설정된 패턴 유사도 산출식(또는 연산 법칙, 또는 기학학적 연산)을 통해 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 것을 특징으로 한다.
만약 상기 키스트로크 패턴 유사도 정보가 확인되면, 상기 공유 확인부(350)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(350)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.
또한, 상기 공유 확인부(350)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(350)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 바람직하다.
또한, 상기 키스트로크 패턴 정보 생성부(390)에 의해 오직 하나의 키스트로크 패턴 정보가 생성되면, 상기 공유 확인부(350)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 공유 확인부(350)는 상기 패턴 유사도 확인부(345)에 의해 키스트로크 패턴 유사도 정보 생성과 무관하게 상기 키스트로크 클러스터 확인부(380)에 의해 확인되는 키스트로크 클러스터 개수, 또는 상기 키스트로크 패턴 정보 생성부(390)에 의해 생성된 상기 키스트로크 패턴 정보 개수가 두개 이상인 경우, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용 자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 공유 확인부(350)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 여부가 확인되면, 상기 공유 판별 정보 저장부(355)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장한다.
또는, 상기 공유 확인부(350)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 여부가 확인되면, 상기 정보 전송부(340)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말(135) 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 통신수단을 통해 상기 생성된 공유 판별 정보를 통신망 상의 프로그램 운용 서버(100)(또는 도면11에 도시된 광고서버(125))로 전송한다.
도면4는 본 발명의 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정 보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템을 도시한 도면이다.
보다 상세하게 본 도면4는 클라이언트 단말(135)에서 상기 도면2 또는 도면3에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 키스트로크 기반 사용자 입력 정보를 전송시, 프로그램 운용 서버(100)에서 상기 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 프로그램 이용 권한 공유를 확인하거나, 또는 상기 클라이언트 단말(135)로부터 제공된 프로그램 이용 권한에 대한 공유 판별 정보를 수신하고, 상기 프로그램 이용 권한에 대한 공유 확인을 기반으로 상기 프로그램 이용 권한의 실제 사용자(예컨대, 상기 사용자 인증자 정보의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)에 대한 CRM(Customer Relationship Management) 정보를 확인하여 저장하는 시스템 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면4에 도시된 실시 방법만으로 한정되지 아니한다.
예컨대, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4에 도시된 시스템 구성을 참조하여 상기 클라이언트 단말(135)에서 상기 도면2 또는 도면3에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 전송되는 공유 판별 정보를 수신하여 저장매체(110)에 저장하는 실시 방법을 유추할 수 있을 것이며, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.
본 발명의 실시 방법을 따르는 본 도면4를 참조하면, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템은, 상기 도면2 또는 도면3에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 구비한 클라이언트 단말(135)과, 상기 통신망을 통해 상기 클라이언트 단말(135)과 연결되며, 상기 클라이언트 단말(135)에서 상기 도면2 또는 도면3에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 키스트로크 기반 사용자 입력 정보를 전송하면, 상기 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 프로그램 이용 권한 공유를 확인하거나, 또는 상기 클라이언트 단말(135)로부터 제공된 프로그램 이용 권한에 대한 공유 판별 정보를 수신하고, 상기 프로그램 이용 권한에 대한 공유 확인을 기반으로 상기 프로그램 이용 권한의 실제 사용자(예컨대, 상기 사용자 인증자 정보의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)에 대한 CRM 정보를 확인하여 저장하는 프로그램 운용 서버(100)를 포함하여 이루어지는 것을 특징으로 한다.
다만, 본 도면4에서 상기 프로그램 운용 서버(100)를 편의상 하나의 서버 형태로 이루어지는 것으로 도시하였으나, 이에 의해 본 발명이 한정되는 것은 결코 아니며, 상기 프로그램 운용 서버(100)는 각 구성 요소 별로 두개 이상의 서버 군 형태(예컨대, 상기 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 프로그램 이용 권한 공유를 확인하거나, 또는 상기 클라이언트 단말(135)로부터 제공된 프로그램 이용 권한에 대한 공유 판별 정보를 수신하는 키스트로크 인증 서버(105)와, 상기 프로그램 이용 권한에 대한 공유 확인을 기반으로 상기 프로그램 이용 권한의 실제 사용자(예컨대, 상기 사용자 인증자 정보의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)에 대한 CRM 정보를 확인하여 저장하는 CRM 서버(115))로 실시되는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다. 즉, 본 도면4에서 프로그램 운용 서버(100)는 물리적인 서버 명칭을 의미하는 것이 아니라, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 기능적인 명칭을 통칭하여 명명한 것임을 명백하게 밝혀두는 바이다.
상기 클라이언트 단말(135)은 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 유선 통신망(예컨대, ADSL(Asymmetric Digital Subscriber Line)/VDSL(Very high-data rate Digital Subscriber Line), 케이블 통신망)를 통해 상기 프로그램 운용 서버(100)와 통신 연결되는 데스크탑 컴퓨터 또는 노트북을 포함하는 유선단말을 적어도 하나 이상 포함하여 이루어지거나, 또는 CDMA(Code Division Multiple Access) 기반의 이동 통신망에 연결되는 이동 통신단말, 또는 IEEE 802.16x 기반의 초고속 무선 인터넷에 연결되는 휴대 인터넷 단말을 적어도 하나 이상 포함하는 무선단말을 적어도 하나 이상 포함하여 이루어지거나, 상기 유선 통신망 또는 무선 통신망 중 어느 하나의 통신망을 통해 양방향 통신이 가능한 IP-TV 또는 디지털 TV 또는 DMB를 적어도 하나 이상 포함하는 TV장치(도시생략)를 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 하며, 상기 도면2 또는 도면3에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 구비하여 이루어지는 것을 특징으로 한다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 상기 유선단말 또는 무선단말 또는 TV장치(도시생략)를 하나 이상 포함하는 클라이언트 단말(135)에 대한 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
본 발명의 실시 방법에 따르면, 상기 프로그램 운용 서버(100)는 상기 응용프로그램을 통해 입력된 문자열 정보를 포함하는 사용자 입력 정보와 상기 사용자 입력 정보를 입력한 사용자 정보를 연계하여 이루어진 사용자 등록 데이터를 저장하는 데이터베이스를 구비하여 이루어지는 것을 특징으로 하며, 상기 데이터베이스는 상기 프로그램 운용 서버(100)와 연계된 데이터베이스 관리 시스템(DataBase Management System; DBMS)에 구비되는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 사용자 등록 데이터에 포함된 사용자 정보는, 상기 프로그램 운용 서버(100)에 등록된 사용자의 ID정보, 별칭 정보, 성명 정보, 고유번호 정보를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 프로그램 운용 서버(100)에서 상에서 상기 사용자를 유일하게 식별할 수 있는 모든 정보를 포함하여 이루어지는 것이 바람직하다.
또한, 상기 사용자 등록 데이터에 포함된 사용자 입력 정보는, 상기 클라이언트 단말(135)에서 상기 응용프로그램을 통해 상기 사용자가 입력한 문자열 정보와, 상기 문자열과 연계된 하나 이상의 컨텐츠(예컨대, 이미지, 사운드, 멀티미디어)를 포함하여 이루어지는 것이 바람직하다.
본 발명에 따르면, 상기 프로그램 운용 서버(100)는 사용자의 회원 가입 과정에서 등록된 사용자 인증정보와, 사용자 회원 정보를 연계하여 저장하는 사용자 인증 D/B(465)를 구비하거나, 또는 네트워크를 통해 연동하는 것을 특징으로 한다.
여기서, 상기 사용자 인증정보는, 상기 프로그램 운용 서버(100)에 등록된 사용자의 ID정보, 비밀번호, ID/PW 정보를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 프로그램 운용 서버(100)가 공인인증서 로그인을 지원하는 경우, 상기 사용자 인증정보는 공인인증서 비밀번호를 더 포함하여 이루어지는 것이 바람직하다.
또는, 상기 사용자 인증정보는, 사용자의 ID 내지 비밀번호로만 한정되는 것은 결코 아니며, 상기 클라이언트 단말(135)에 구비된 단말주소 정보(예컨대, IP주소 정보, MAC주소 정보), 프로그램 식별정보(예컨대, 프로그램 일련번호, 프로그램 식별코드), 장치 정보(예컨대, 하드디스크 일련번호)를 포함하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
또한, 상기 사용자 회원 정보는, 상기 클라이언트 단말(135)에 구비된 응용프로그램에 대한 정당한 사용자의 회원ID 정보, 성명, 주민등록번호, 주소, 연락처 등을 하나 이상 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 사용자 등록 데이터에 포함되는 사용자 정보는 상기 사용자 인증정보 내지 사용자 회원 정보에 포함된 정보 중 상기 사용 자를 유일하게 식별할 수 있는 정보를 포함하여 이루어지는 것이 바람직하다.
도면4를 참조하면, 상기 프로그램 운용 서버(100)는, 상기 클라이언트 단말(135)에서 상기 사용자 인증정보를 전송하면, 상기 사용자 인증정보를 수신하는 정보 수신부(400)(또는 정보 수신수단)와, 상기 수신된 사용자 인증정보와 상기 사용자 인증 D/B(465)에 저장된 사용자 인증정보를 비교하여 상기 사용자를 인증하는 사용자 인증부(415)(또는 사용자 인증수단)을 구비하여 이루어지는 것을 특징으로 한다.
상기 클라이언트 단말(135)에서 사용자 인증정보를 전송하면, 상기 정보 수신부(400)는 상기 사용자 인증정보를 수신하는 것을 특징으로 한다.
상기 정보 수신부(400)를 통해 상기 사용자 인증정보가 수신되면, 상기 사용자 인증부(415)는 상기 수신된 사용자 인증정보와 상기 사용자 인증 D/B(465)에 저장된 사용자 인증정보를 비교하여 상기 사용자를 인증하는 것을 특징으로 한다.
도면4를 참조하면, 상기 프로그램 운용 서버(100)는, 상기 클라이언트 단말(135)에서 상기 키스트로크 기반 사용자 입력 정보를 전송하면, 상기 키스트로크 기반 사용자 입력 정보를 수신하는 정보 수신부(400)(또는 정보 수신수단)와, 상기 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와 키스트 로크 정보를 추출하는 정보 추출부(410)(또는 정보 추출수단)와, 상기 사용자 인증 D/B(465)와 연계하여 상기 사용자 입력 정보에 대응하는 사용자 정보를 확인하고, 상기 확인된 사용자 정보와 상기 추출된 사용자 입력 정보를 연계하여 상기 DBMS에 구비된 사용자 등록 데이터에 저장하는 정보 저장부(405)(또는 정보 저장수단)을 구비하여 이루어지는 것을 특징으로 하며, 본 발명의 다른 실시 방법에 따라 상기 클라이언트 단말(135)에 구비된 응용프로그램의 키 입력 기반 응용 기능이 상기 프로그램 운용 서버(100)와 연계하여 동작하지 않는 경우, 상기 정보 수신부(400)는 상기 클라이언트 단말(135)로부터 상기 도면2 또는 도면3에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 전송되는 공유 판별 정보를 수신하는 것이 가능함을 명백하게 밝혀두는 바이다.
상기 클라이언트 단말(135)에서 상기 응용프로그램을 통해 입력된 사용자 입력 정보와 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 포함하는 키스트로크 기반 사용자 입력 정보를 전송하면, 상기 정보 수신부(400)는 상기 키스트로크 기반 사용자 입력 정보를 수신하는 것을 특징으로 한다.
상기 정보 수신부(400)를 통해 상기 키스트로크 기반 사용자 입력 정보가 수신되면, 상기 정보 추출부(410)는 상기 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보를 추출하고, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 추출하는 것을 특징으로 한다.
상기 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와 키스트로크 정보가 추출되면, 상기 정보 저장부(405)는 상기 사용자 인증 D/B(465)와 연계하여 상기 사용자 입력 정보에 대응하는 사용자 정보를 확인하고, 상기 확인된 사용자 정보와 상기 추출된 사용자 입력 정보를 연계하여 상기 DBMS에 구비된 사용자 등록 데이터에 저장하는 것을 특징으로 한다.
만약 상기 프로그램 운용 서버(100)가 검색서버이고, 상기 사용자 입력 정보가 검색 키워드를 포함하는 경우, 상기 정보 저장부(405)가 상기 사용자 입력 정보를 저장하는 것이 생략될 수 있으며, 이 경우 상기 프로그램 운용 서버(100)에 구비된 검색 처리부(도시생략)는 상기 검색 키워드를 통한 검색결과 데이터를 확인하여 상기 클라이언트 단말(135)로 제공하는 검색 서비스를 제공한다.
도면4를 참조하면, 상기 프로그램 운용 서버(100)는, 상기 정보 수신부(400)를 통해 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 정보 추출부(410)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대응하는 키스트로크 정보가 추출되면, 상기 사용자 입력 정보에 포함된 문 자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장매체(110)에 저장하는 키스트로크 정보 저장부(425)(또는 키스트로크 정보 저장수단)와, 상기 저장매체(110)에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하고, 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부(420)(또는 키스트로크 클러스터 확인수단)와, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부(430)(또는 키스트로크 패턴 정보 생성수단)과, 상기 생성된 m개의 키스트로크 패턴 정보를 저장매체(110)에 저장하는 키스트로크 패턴 정보 저장부(435)(또는 키스트로크 패턴 정보 저장수단)을 구비하여 이루어지는 것을 특징으로 한다.
상기 정보 수신부(400)를 통해 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 정보 추출부(410)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보 를 구성하는 하나 이상의 키 데이터에 대응하는 키스트로크 정보가 추출되면, 상기 키스트로크 정보 저장부(425)는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장매체(110)에 저장하는 것을 특징으로 한다.
만약 상기 사용자 인증부(415)에 의해 상기 클라이언트 단말(135)에 대한 사용자 인증정보가 인증된 경우, 상기 키스트로크 정보 저장부(425)는 상기 인증된 사용자 인증정보를 더 연계하여 상기 저장매체(110)에 저장하는 것이 바람직하다.
상기 키스트로크 정보 저장부(425)에 의해 상기 저장매체(110)에 상기 추출된 키스트로크 정보가 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장된 후, 상기 키스트로크 클러스터 확인부(420)는 상기 저장매체(110)에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시 점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.
만약 저장매체(110)로부터 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보가 확인되면, 상기 키스트로크 클러스터 확인부(420)는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보를 결정하는 것을 특징으로 하며, 상기 패턴 대상 정보가 기 설정된 경우, 상기 패턴 대상 정보를 결정하는 것이 생략되어도 무방하다.
여기서, 상기 패턴 대상 정보는, 입력 지속시간 정보와 입력 간격 정보를 포함하거나, 또는 입력 지속시간 정보와 입력 간격 정보 및 압력 정보를 포함하여 이루어지는 것이 바람직하다.
이후, 상기 키스트로크 클러스터 확인부(420)는 상기 결정된(또는 기 설정된) 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 확인하는 것을 특징으로 한다.
여기서, n(n<=N)개의 패턴 대상 키스트로크 정보는 하나의 키스트로크 클러 스터(Keystroke Cluster)에 대응하는 것을 특징으로 하며, 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 개수의 키스트로크 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명에 따르면, 상기 키스트로크 클러스터 확인부(420)는 n개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인하는 것을 특징으로 한다.
상기 키스트로크 클러스터 확인부(420)에 의해 m개의 키스트로크 클러스터가 확인되면, 상기 키스트로크 패턴 정보 생성부(430)는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(430)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성 부(430)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(430)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
상기 키스트로크 패턴 정보 생성부(430)에 의해 m개의 키스트로크 패턴 정보가 생성되면, 상기 키스트로크 패턴 정보 저장부(435)는 상기 생성된 m개의 키스트로크 패턴 정보를 저장매체(110)에 저장하는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 키스트로크 패턴 정보 저장부(435)는 상기 생성된 m개의 키스트로크 패턴 정보를 상기 사용자 입력 정보와 연계하여 저장매체(110)에 저장하거나, 또는 상기 생성된 m개의 키스트로크 패턴 정보를 각각의 키스트로크 패턴 정보를 생성하는데 사용된 키스트로크 클러스터에 포함된 n개의 키스트로크 정보와 연계하여 저장매체(110)에 저장하는 것이 바람직하다.
도면4를 참조하면, 상기 프로그램 운용 서버(100)는, 상기 키스트로크 패턴 정보 생성부(430)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 패턴 유사도 확인부(445)(또는 패턴 유사도 확인수단)와, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하여 상기 프로그램 이용 권한이 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하고, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하여 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부(450)(또는 공유 확인수단)와, 상기 프로그램 이용 권한에 대한 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장매체(110)에 저장하는 공유 판별 정보 저장부(440)(공유 판별 정보 저장수단)를 구비하여 이루어지는 것을 특징으로 하며, 본 발명의 다른 실시 방법에 따라 상기 정보 수신부(400)를 통해 상기 클라이언트 단말(135)로부터 공유 판별 정보가 수신되는 경우, 상기 공유 판별 정보 저장부(440)는 상기 수신된 공유 판별 정보를 상기 저장매체(110)에 저장하는 것을 특징으로 한다.
상기 키스트로크 패턴 정보 생성부(430)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 패턴 유사도 확인부(445)는 기 설정된 패턴 유사도 산출식(또는 연산 법칙, 또는 기학학적 연산)을 통해 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 것을 특징으로 한다.
만약 상기 키스트로크 패턴 유사도 정보가 확인되면, 상기 공유 확인부(450)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(450)는 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.
또한, 상기 공유 확인부(450)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(450)는 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 바람직하다.
또한, 상기 키스트로크 패턴 정보 생성부(430)에 의해 오직 하나의 키스트로크 패턴 정보가 생성되면, 상기 공유 확인부(450)는 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.
본 발명의 다른 실시 방법에 따르면, 상기 공유 확인부(450)는 상기 패턴 유사도 확인부(445)에 의해 키스트로크 패턴 유사도 정보 생성과 무관하게 상기 키스트로크 클러스터 확인부(420)에 의해 확인되는 키스트로크 클러스터 개수, 또는 상기 키스트로크 패턴 정보 생성부(430)에 의해 생성된 상기 키스트로크 패턴 정보 개수가 두개 이상인 경우, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 공유 확인부(450)에 의해 상기 프로그램 이용 권한에 대한 공유 여부가 확인되면, 상기 공유 판별 정보 저장부(440)는 상기 프로그램 이용 권한에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장매체(110)에 저장한다.
도면4를 참조하면, 상기 프로그램 운용 서버(100)는, 프로그램 이용 권한의 실제 사용자에 대한 CRM 정보를 축적하기 위해, 상기 공유 확인부(450)를 통해 확인된 상기 프로그램 이용 권한에 대한 하나의 유일한 사용자, 또는 m개의 프로그램 이용 권한 공유자 중 상기 정보 수신부(400)를 통해 수신된 키스트로크 기반 프로그램 이용 권한에 포함된 키스트로크 정보에 대응하는 현재 프로그램 이용 권한 사용자 중 어느 하나에 대응하는 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 별 CRM 정보를 주기(또는 반복)적으로 확인하는 키스트로크 패턴 별 CRM 정보 확인부(455)(또는 CRM 정보 확인수단)와, 상기 확인된 키스트로크 패턴 별 CRM 정보를 상기 사용자 인증정보 및 키스트로크 패턴 정보와 연계하여 CRM 정보 D/B(120)에 저장하는 CRM 정보 저장부(460)(또는 CRM 정보 저장수단)을 구비하여 이루어지는 것을 특징으로 한다.
상기 공유 확인부(450)를 통해 확인된 상기 프로그램 이용 권한에 대한 하나의 유일한 사용자가 확인되면, 상기 키스트로크 패턴 별 CRM 정보 확인부(455)는 상기 확인된 유일한 사용자에 대응하는 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하고, 상기 키스트로크 패턴 정보에 대응하는 프로그램 이용 권한의 실제 사용자에 대한 CRM 정보를 주기(또는 반복)적으로 확인하는 것을 특징으로 한다.
또는, 상기 공유 확인부(450)를 통해 확인된 상기 프로그램 이용 권한에 대한 m개의 프로그램 이용 권한 공유자가 확인되면, 상기 키스트로크 패턴 별 CRM 정보 확인부(455)는 상기 확인된 m개의 프로그램 이용 권한 공유자 중 상기 정보 수신부(400)를 통해 수신된 키스트로크 기반 프로그램 이용 권한에 포함된 키스트로크 정보에 대응하는 현재 프로그램 이용 권한 사용자에 대응하는 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하고, 상기 키스트로크 패턴 정보에 대응하는 프로그램 이용 권한의 실제 사용자에 대한 CRM 정보를 주기(또는 반복)적으로 확인하는 것을 특징으로 한다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 클라이언트 단말(135)을 통해 요청되는 상기 프로그램 이용 권한의 실제 사용자의 서비스 요청 및 상기 클라이언트 단말(135)로 제공되는 서비스를 분석하여 상기 프로그램 이용 권한의 실제 사용자에 대한 CRM 정보를 주기(또는 반복)적으로 확인하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.
상기 키스트로크 패턴 별 CRM 정보 확인부(455)를 통해 상기 프로그램 이용 권한의 실제 사용자에 대한 CRM 정보가 확인되면, 상기 CRM 정보 저장부(460)는 상기 확인된 키스트로크 패턴 별 CRM 정보를 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 연계하고, 상기 연계된 하나 이상의 키스트로크 패턴 별 CRM 정보와 키스트로크 패턴 정보를 상기 사용자 인증정보와 연계하여 CRM 정보 D/B(120)에 저장하는 것을 특징으로 한다.
도면5는 본 발명의 실시 방법에 따른 사용자 인증 과정을 도시한 도면이다.
보다 상세하게 본 도면5는 상기 클라이언트 단말(135)에서 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 기동하여 사용자 인증정보를 전송하면, 상기 프로그램 운용 서버(100)에서 상기 사용자 인증정보를 인증하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 사용자 인증 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면5에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면5에서 상기 도면4에 도시된 클라이언트 단말(135)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(100)를 편의상 "서버"라고 하고, 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 편의상 프로그램이라고 한다.
도면5를 참조하면, 상기 단말에서 상기 도면2 또는 도면3에 도시된 기능 구성을 포함하는 프로그램을 기동하여 통신망을 통해 상기 서버에 접속하여 통신채널을 연결하고(500), 이에 대응하여 상기 프로그램은 상기 서버로 전송할 사용자 인증정보를 확인한다(505).
여기서, 상기 사용자 인증정보는, 상기 서버에 등록된 사용자의 ID정보, 비밀번호, ID/PW 정보를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 서버가 공인인증서 로그인을 지원하는 경우, 상기 사용자 인증정보는 공인인증서 비밀번호를 더 포함하여 이루어지는 것이 바람직하다.
또는, 상기 사용자 인증정보는, 사용자의 ID 내지 비밀번호로만 한정되는 것은 결코 아니며, 상기 클라이언트 단말(135)에 구비된 단말주소 정보(예컨대, IP주소 정보, MAC주소 정보), 프로그램 식별정보(예컨대, 프로그램 일련번호, 프로그램 식별코드), 장치 정보(예컨대, 하드디스크 일련번호)를 포함하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
만약 상기 사용자 인증정보가 확인되면(510), 상기 단말은 상기 프로그램을 통해 상기 사용자 인증정보를 통신채널을 통해 상기 서버로 전송하고(515), 이에 대응하여 상기 수신된 사용자 인증정보와 상기 사용자 인증 D/B(465)에 저장된 사용자 인증정보를 비교하여 상기 사용자를 인증한다(520).
만약 상기 수신된 사용자 인증정보를 통해 상기 사용자가 인증되면(525), 상기 프로그램 운용 서버(100)는 사용자 입력 정보를 등록하는 과정을 수행할 수 있다.
도면6은 본 발명의 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 정보를 저장하는 과정을 도시한 도면이다.
보다 상세하게 본 도면6은 상기 클라이언트 단말(135)에서 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 키 입력 기반 각종 응용 기능을 위해 입력된 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하고, 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 확인된 키스트로크 정보를 연계하여 저장수단에 저장하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대 한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 정보를 저장하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면6에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면6에서 상기 도면4에 도시된 클라이언트 단말(135)을 편의상 "단말"이라고 하고, 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 편의상 프로그램이라고 한다.
도면6을 참조하면, 상기 단말은 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 하나 이상의 사용자 입력 정보가 입력(또는 선택)되는지 확인하고(600), 만약 하나 이상의 사용자 입력 정보가 입력(또는 선택)되면(605), 상기 단말은 상기 프로그램을 통해 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인한다(610).
여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.
본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.
본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.
상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.
본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.
여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.
만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키 가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.
상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 단말에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.
만약 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면(615), 상기 단말은 상기 프로그램을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공한다(620).
본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1" 의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2"와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 임계시간 구간 값이 299ms 이하는 "0", 300ms에서 399ms는 "1", 400ms에서 499ms는 "2", 500ms에서 599ms는 "3", 600ms에서 699ms는 "4", 700ms에서 799ms는 "5", 800ms에서 899ms는 "6", 900ms에서 999ms는 "7", 1000ms 이상의 "8"을 포함하는 경우, "1"의 입력 지속시간 정보는 '3', "2"의 입력 지속시간 정보는 '2', "3"의 입력 지속시간 정보는 '2', "4"의 입력 지속시간 정보는 '3'과 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 '1', "2"와 "3"의 입력 간격 정보는 '3', "3"과 "4"의 입력 간격 정보는 '2'와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 단말은 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.
이후, 상기 단말은 상기 가공된 키스트로크 정보와 상기 사용자 입력 정보에 포함된 문자열 정보를 연계하여 저장수단에 저장한다(625).
도면7은 본 발명의 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.
보다 상세하게 본 도면7은 상기 도면6에 도시된 과정을 통해 상기 클라이언트 단말(135)에 구비된 저장수단에 상기 프로그램을 통해 입력된 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보에 대응하는 키스트로크 정보가 일정 횟수 이상 저장된 경우, 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)에서 상기 저장수단에 저장된 키스트로크 정보 중 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보에 대한 m(m>=1)개의 키스트로크 클러스터를 확인하고, 상기 m개의 키스트로크 클러스터에 대한 키스트로크 패턴 판독을 통해 상기 프로그램 이용 권한이 공유되고 있는지 확인하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면7을 참조 및/또는 변형하여 상기 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면7에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면7에서 상기 도면4에 도시된 클라이언트 단말(135)을 편의상 " 단말"이라고 한다.
도면7을 참조하면, 상기 도면6에 도시된 과정을 통해 상기 클라이언트 단말(135)에서 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보가 상기 도면6에 도시된 과정을 통해 일정 횟수 이상 상기 저장수단에 저장된 경우, 상기 단말은 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인한다(700).
여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.
만약 저장수단으로부터 일정 기간 동안 일정 횟수 이상 저장된 N개의 키스트로크 정보가 확인되면(705), 상기 단말은 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러 스터를 확인한다(710).
만약 상기 저장수단에 저장된 N개의 키스트로크 정보로부터 m개의 키스트로크 클러스터가 확인되면(715), 상기 단말은 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하고(720), 상기 생성된 생성 m개의 키스트로크 패턴 정보를 저장수단에 저장한다(725).
본 발명의 일 실시 방법에 따르면, 상기 단말은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처 리하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 단말은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
만약 상기 키스트로크 패턴 정보 생성 과정에서 오직 하나의 키스트로크 패턴 정보가 생성되면(730), 상기 단말은 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(735).
반면 상기 키스트로크 패턴 정보 생성 과정에서 두개 이상의 키스트로크 패턴 정보가 생성되면(730), 상기 단말은 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하고(740), 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도를 비교하여 상기 프로그램 이용 권한의 공유 여부를 판별한다(745).
만약 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면(750), 상기 단말은 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(735).
반면 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면(750), 상기 단말은 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인한다(755).
이후, 상기 단말은 상기 프로그램 이용 권한에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하고, 상기 생성된 공유 판별 정보를 상기 도면2에 도시된 프로그램 운용 서버(100), 또는 도면11에 도시된 광고서버(125)로 전송한다(760).
도면8은 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보를 송수신하는 과정을 도시한 도면이다.
보다 상세하게 본 도면8은 상기 클라이언트 단말(135)에서 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 키 입력 기반 각종 응용 기능을 위해 입력된 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하고, 상기 키스트로크 정보를 포함하는 키스트로크 기반 사용자 입력 정보를 생성하여 전송하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면8을 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보를 송수신하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면8에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면8에서 상기 도면4에 도시된 클라이언트 단말(135)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(100)를 편의상 "서버"라고 하고, 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 편의상 프로그램이라고 한다.
도면8을 참조하면, 상기 단말은 상기 도면2 또는 도면3에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 하나 이상의 사용자 입력 정보가 입력(또는 선택)되는지 확인하고(800), 만약 하나 이상의 사용자 입력 정보가 입력(또는 선택)되면(805), 상기 단말은 상기 프로그램을 통해 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인한다(810).
여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.
본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.
본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.
상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.
본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.
여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정 보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.
만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.
상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 단말에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.
만약 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면(815), 상기 단말은 상기 프로그램을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공한다(820).
본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2"와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 임계시간 구간 값이 299ms 이하는 "0", 300ms에서 399ms는 "1", 400ms에서 499ms는 "2", 500ms에서 599ms는 "3", 600ms에서 699ms는 "4", 700ms에서 799ms는 "5", 800ms에서 899ms는 "6", 900ms에서 999ms는 "7", 1000ms 이상의 "8"을 포함하는 경우, "1"의 입력 지속시간 정보는 '3', "2"의 입력 지속시간 정보는 '2', "3"의 입력 지속시간 정보는 '2', "4"의 입력 지속시간 정보는 '3'과 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 '1', "2"와 "3"의 입력 간격 정보는 '3', "3"과 "4"의 입력 간격 정보는 '2'와 같은 형태로 가공하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 단말은 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.
이후, 상기 단말은 상기 프로그램을 통해 상기 가공된 키스트로크 정보와 상기 입력(또는 선택)된 사용자 입력 정보를 연계하여 키스트로크 기반 사용자 입력 정보를 생성한다(825).
본 발명의 실시 방법에 따르면, 상기 단말은 상기 사용자 입력 정보와 키스트로크 정보를 기 설정된 조합(또는 결합) 방식에 따라 조합(또는 결합)하여 GET/POST 방식으로 상기 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보 를 생성하는 것이 바람직하다.
여기서, 상기 사용자 입력 정보와 키스트로크 정보의 조합(또는 결합) 방식은 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.
예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 키스트로크 정보가 밀리초 단위의 입력 지속시간 정보와 입력 간격 정보를 포함하여 상기 "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms이고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms인 경우, 상기 키스트로크 기반 사용자 입력 정보는 "1234&500.450.400.500:300.500.400"과 같이 생성될 수 있으며, 또는 "1234&500(300).450(500).400(400).500"과 같이 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태로 변형되어 생성되는 것이 가능하다.
이후, 상기 단말은 상기 프로그램을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 통신채널을 통해 상기 서버로 전송한다(830).
본 발명의 실시 방법에 따르면, 상기 단말에 암호화 모듈(도시생략)이 구비된 경우, 상기 단말은 상기 암호화 모듈(도시생략)을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 암호화하여 서버로 전송하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
도면9는 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 저장매체(110)에 저장하는 과정을 도시한 도면이다.
보다 상세하게 본 도면9는 상기 도면8에 도시된 과정을 통해 상기 클라이언트 단말(135)에서 상기 키스트로크 기반 사용자 입력 정보가 전송되면, 상기 도면4에 도시된 프로그램 운용 서버(100)에서 상기 키스트로크 기반 사용자 입력 정보로부터 상기 키스트로크 정보와 사용자 입력 정보를 추출하고, 상기 추출된 사용자 입력 정보를 사용자 정보와 연계하여 DBMS에 구비된 사용자 등록 데이터에 저장하되, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 추출된 키스트로크 정보를 상기 사용자 입력 정보와 연계하여 저장매체(110)에 저장하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면9를 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 저장매체(110)에 저장하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면9에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면9에서 상기 도면4에 도시된 클라이언트 단말(135)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(100)를 편의상 "서버"라고 한다.
도면9를 참조하면, 상기 도면8에 도시된 과정을 통해 상기 단말에서 상기 키스트로크 기반 사용자 입력 정보가 전송되면, 상기 서버는 통신채널을 통해 상기 키스트로크 기반 사용자 입력 정보를 수신하고(900), 상기 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 추출한다(905).
만약 상기 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와 키스트로크 정보가 추출되면(910), 상기 서버는 상기 추출된 사용자 입력 정보를 사용자 정보와 연계하여 DBMS에 구비된 사용자 등록 데이터에 저장한다(915).
만약 상기 추출된 사용자 입력 정보가 사용자 정보와 연계하여 DBMS에 구비된 사용자 등록 데이터에 저장되면(920), 상기 서버는 상기 키스트로크 기반 사용자 입력 정보를 전송한 단말에 구비된 프로그램에 대한 사용자 인증정보를 확인한다(925).
본 발명의 다른 실시 방법에 따라 상기 도면8에 도시된 사용자 인증 과정이 생략된 경우, 상기 사용자 인증정보 확인 과정이 생략되어도 무방하다.
만약 상기 사용자 인증정보가 확인되면(930), 상기 서버는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보와, 상기 확인된 사용자 인증정보를 연계하여 저장매체(110)에 저장한다(935).
본 발명의 다른 실시 방법에 따라 상기 도면8에 도시된 사용자 인증 과정이 생략된 경우, 상기 사용자 인증정보가 상기 저장매체(110)에 저장되는 것이 생략되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
도면10은 본 발명의 다른 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.
보다 상세하게 본 도면10은 상기 도면8에 도시된 과정을 통해 상기 클라이언트 단말(135)에서 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보가 상기 도면9에 도시된 과정을 통해 일정 횟수 이상 상기 저장매체(110)에 저장된 경우, 상기 도면4에 도시된 프로그램 운용 서버(100)에서 상기 저장매체(110)에 저장된 키스트로크 정보 중 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보에 대한 m(m>=1)개의 키스트로크 클러스터를 확인하고, 상기 m개의 키스트로크 클러스터에 대한 키스트로크 패턴 판독을 통해 상기 프로그램 이용 권한이 공유되고 있는지 확인하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면10을 참조 및/또는 변형하여 상기 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면10에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면10에서 상기 도면4에 도시된 클라이언트 단말(135)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(100)를 편의상 "서버"라고 한다.
도면10을 참조하면, 상기 도면8에 도시된 과정을 통해 상기 클라이언트 단말(135)에서 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보 가 상기 도면9에 도시된 과정을 통해 일정 횟수 이상 상기 저장매체(110)에 저장된 경우, 상기 서버는 상기 저장매체(110)에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인한다(1000).
여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.
만약 저장매체(110)로부터 일정 기간 동안 일정 횟수 이상 저장된 N개의 키스트로크 정보가 확인되면(1005), 상기 서버는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인한다(1010).
만약 상기 저장매체(110)에 저장된 N개의 키스트로크 정보로부터 m개의 키스트로크 클러스터가 확인되면(1015), 상기 서버는 상기 확인된 m개의 키스트로크 클 러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하고(1020), 상기 생성된 생성 m개의 키스트로크 패턴 정보를 저장매체(110)에 저장한다(1025).
본 발명의 일 실시 방법에 따르면, 상기 서버는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 서버는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 서버는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가 중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.
만약 상기 키스트로크 패턴 정보 생성 과정에서 오직 하나의 키스트로크 패턴 정보가 생성되면(1030), 상기 서버는 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(1035).
반면 상기 키스트로크 패턴 정보 생성 과정에서 두개 이상의 키스트로크 패턴 정보가 생성되면(1030), 상기 서버는 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하고(1040), 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도를 비교하여 상기 프로그램 이용 권한의 공유 여부를 판별한다(1045).
만약 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면(1050), 상기 서버는 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(1035).
반면 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면(1050), 상기 서버는 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인한다(1055).
이후, 상기 서버는 상기 프로그램 이용 권한에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장매체(110)에 저장한다(1060).
도면11은 본 발명의 실시 방법에 따라 키스트로크 패턴 별 실제 사용자에 대한 맞춤형 광고제공 시스템 구성을 도시한 도면이다.
보다 상세하게 본 도면11은 상기 도면4에 도시된 시스템을 통해 확인된 프로 그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)가 상기 프로그램 운용 서버(100)에 접속하여 하나 이상의 서비스 이용시, 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 기반으로 상기 도면4에 도시된 시스템을 통해 확인된 상기 실제 사용자에 대한 키스트로크 패턴 별 CRM 정보를 확인하고, 광고 대상 CRM 정보와 광고 데이터를 연계하여 저장하는 광고 D/B(130)로부터 상기 확인된 키스트로크 패턴 별 CRM 정보와 매칭되는 하나 이상의 광고 데이터를 확인하고, 상기 확인된 광고 데이터를 상기 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되도록 처리하는 시스템 구성에 대한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면11을 참조 및/또는 변형하여 상기 키스트로크 패턴 별 사용자에 대한 광고제공 시스템 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면11에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명의 실시 방법을 따르는 도면11을 참조하면, 상기 키스트로크 패턴 별 실제 사용자에 대한 맞춤형 광고제공 시스템은, 상기 도면4에 도시된 클라이언트 단말(135)과 프로그램 운용 서버(100), 및 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)가 상기 프로그램 운용 서버(100)에 접속하여 하나 이상의 서비스 이용시, 상기 클라이언트 단말(135)을 통해 상기 프로그램 운용 서버(100)에 접속한 상기 프로그램 이용 권한의 실제 사용자에게 광고제공 여부를 확인하고, 광고제공 확인시, 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 기반으로 상기 도면4에 도시된 시스템을 통해 확인된 상기 실제 사용자에 대한 키스트로크 패턴 별 CRM 정보를 확인하고, 광고 대상 CRM 정보와 광고 데이터를 연계하여 저장하는 광고 D/B(130)로부터 상기 확인된 키스트로크 패턴 별 CRM 정보와 매칭되는 하나 이상의 광고 데이터를 확인하고, 상기 확인된 광고 데이터를 상기 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되도록 처리하는 광고서버(125)를 구비하여 이루어지는 것을 특징으로 한다.
다만, 본 도면11에서 상기 광고서버(125)를 편의상 상기 도면4에 도시된 프로그램 운용 서버(100)와 분리된 하나의 서버 형태로 이루어지는 것으로 도시하였으나, 이에 의해 본 발명이 한정되는 것은 결코 아니며, 상기 광고서버(125)는 각 구성 요소 별로 두개 이상의 서버 군 형태로 실시되거나, 또는 상기 도면4에 도시된 프로그램 운용 서버(100) 내에 포함되는 광고 기능부 형태로 실시되는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다. 즉, 본 도면11에서 광고서버(125)는 물리적인 서버 명칭을 의미하는 것이 아니라, 상기 키스트로크 패턴 별 실제 사용자에 대한 광고제공을 위한 기능적인 명칭을 통칭하여 명명한 것임을 명백하게 밝혀두는 바이다.
본 발명에 따르면, 상기 광고서버(125)는, 광고 대상 사용자를 확인하기 위한 광고 대상 CRM 정보와 상기 프로그램 이용 권한의 실제 사용자에게 제공할 광고 데이터를 연계하여 저장하고, 상기 광고 데이터에 대한 광고주 정보, 광고단가 정보, 광고 예치금 정보를 하나 이상 더 연계하여 저장하는 광고 D/B(130)를 구비하거나, 또는 네트워크를 통해 연동하는 것을 특징으로 한다.
상기 광고 대상 CRM 정보는, 상기 도면4에 도시된 CRM 정보 D/B(120)에 저장된 키스트로크 패턴 별 CRM 정보와 매칭되는 정보로서, 상기 키스트로크 패턴 별 CRM 정보 중 매칭되는 하나 이상의 CRM 정보를 확인하기 위한 정보(예컨대, CRM 카테고리 정보, 또는 광고 대상 사용자 분류 정보)를 포함하여 이루어지는 것이 바람직하다.
상기 광고 데이터는, 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 제공하여 노출 가능한 광고 컨텐츠를 포함하여 이루어지는 것이 바람직하며, 상기 광고 데이터는 광고내용에 대응하는 문자, 이미지, 사운드, 멀티미디어 컨텐츠를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 프로그램 이용 권한의 실제 사용자와 광고주를 상호작용하기 위한 광고주 링크 정보, 상기 프로그램 이용 권한의 실제 사용자가 상기 광고에 노출(또는 클릭)하였음을 확인하기 위한 광고 노출(또는 클릭) 확인 정보를 더 포함하여 이루어지는 것이 바 람직하다.
본 발명의 실시 방법에 따르면, 상기 광고 데이터는 배너 형태의 광고 데이터, 키워드 광고 데이터(예컨대, 광고 데이터와 키워드 정보를 더 포함하거나, 또는 광고 대상 CRM 정보가 키워드 기능을 수행), 동영상 광고 데이터를 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 광고주 정보는, 상기 광고 데이터를 등록하고, 상기 광고 데이터에 대한 광고단가 정보를 등록하고, 상기 광고단가에 대응하는 광고 예치금을 예치한 광고주를 식별하기 위한 정보를 포함하여 이루어지는 것이 바람직하다.
상기 광고단가 정보는, 상기 광고 데이터에 대한 단위노출회수 별 광고단가 금액, 상기 광고 데이터에 대한 클릭당 광고단가 금액, 상기 광고 데이터에 대한 상기 프로그램 이용 권한의 실제 사용자 행위에 대응하는 광고단가 금액을 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 광고 예치금 정보는, 상기 광고단가 정보에 대응하는 광고금액을 집행하기 위해 상기 광고주가 예치금 금액으로서, 상기 광고 데이터의 노출(또는 클릭, 또는 프로그램 이용 권한의 실제 사용자 행위)에 따라 상기 광고단가 금액 단위로 차감되는 것이 바람직하다.
도면11을 참조하면, 상기 광고서버(125)는 상기 도면4에 도시된 프로그램 운용 서버(100)(또는 클라이언트 단말(135))와 연계하여 상기 프로그램 이용 권한의 실제 사용자에 대한 광고제공 여부를 확인하는 광고제공 확인부(1100)(또는 광고제공 확인수단)와, 상기 광고제공 확인시, 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하고, 상기 CRM 정보 D/B(120)와 연계하여 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 연계된 키스트로크 패턴 별 CRM 정보를 확인하는 키스트로크 패턴 별 CRM 정보 확인부(1105)(또는 CRM 정보 확인수단)와, 상기 광고 D/B(130)와 연계하여 상기 확인된 키스트로크 패턴 별 CRM 정보와 매칭되는 광고 대상 CRM 정보와 연계된 광고 데이터 중 상기 프로그램 이용 권한의 실제 사용자에게 제공할 하나 이상의 광고 데이터를 확인하는 광고 확인부(1110)(또는 광고 확인수단)와, 상기 확인된 하나 이상의 광고 데이터를 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되도록 처리하는 광고제공 처리부(1115)(또는 광고제공 처리수단)을 구비하여 이루어지는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따라 상기 도면4에 도시된 프로그램 운용 서버(100)에서 키스트로크 클러스터링을 기반으로 상기 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)를 확인하고, 상기 확인된 프 로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 상기 광고서버(125)로 공유하면, 상기 광고제공 확인부(1100)는 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것으로 확인하는 것을 특징으로 하며, 이 경우 상기 광고 데이터는 상기 프로그램 운용 서버(100)를 통해 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 도면4에 도시된 프로그램 운용 서버(100)에서 키스트로크 클러스터링을 기반으로 상기 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)를 확인하고, 상기 확인된 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 상기 실제 사용자가 이용하는 클라이언트 단말(135) 정보(예컨대, 클라이언트 단말(135)의 현재 주소 정보, 또는 클라이언트 단말(135)에 구비된 응용프로그램(또는 키스트로크 프로그램) 정보)를 상기 광고서버(125)로 공유하면, 상기 광고제공 확인부(1100)는 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것으로 확인하는 것을 특징으로 하며, 이 경우 상기 광고 데이터는 상기 클라이언트 단말(135) 정보를 기반으로 상기 광고서버(125)에서 상기 클라이언트 단말(135)로 직접 제공되는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 도면4에 도시된 프로그램 운용 서버(100)에서 키스트로크 클러스터링을 기반으로 상기 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)를 확인하고, 상기 확인된 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 상기 광고서버(125)에 대응하는 광고링크 정보를 제공하고, 이에 대응하여 상기 클라이언트 단말(135)에서 상기 광고링크 정보를 기반으로 상기 광고서버(125)로 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 전송하면, 상기 광고제공 확인부(1100)는 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것으로 확인하는 것을 특징으로 하며, 이 경우 상기 광고 데이터는 상기 광고서버(125)에서 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 전송한 클라이언트 단말(135)로 직접 제공되는 것이 바람직하다.
상기 광고제공 확인부(1100)에 의해 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것이 확인되면, 상기 키스트로크 패턴 별 CRM 정보 확인부(1105)는 상기 프로그램 운용 서버(100)로부터 공유된 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하거나, 또는 상기 클라이언트 단말(135)로부터 제공된 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 것을 특징으로 한다.
상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보가 확인되면, 상기 키스트로크 패턴 별 CRM 정보 확인부(1105)는 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 각 키스트로크 패턴 별 CRM 정보를 연계하여 저장하는 상기 CRM 정보 D/B(120)와 연계하여 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 연계된 키스트로크 패턴 별 CRM 정보를 확인하는 것을 특징으로 한다.
상기 키스트로크 패턴 별 CRM 정보 확인부(1105)에 의해 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 별 CRM 정보가 확인되면, 상기 광고 확인부(1110)는 하나 이상의 광고 대상 CRM 정보와 광고 데이터를 연계하여 저장하는 광고 D/B(130)와 연계하여 상기 확인된 키스트로크 패턴 별 CRM 정보와 매칭되는 광고 대상 CRM 정보와 연계된 광고 데이터 중 상기 프로그램 이용 권한의 실제 사용자에게 제공할 하나 이상의 광고 데이터를 확인하는 것을 특징으로 한다.
만약 상기 광고 확인부(1110)에 의해 상기 프로그램 이용 권한의 실제 사용자에게 제공할 하나 이상의 광고 데이터가 확인되면, 상기 광고제공 처리부(1115)는 상기 확인된 하나 이상의 광고 데이터를 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되도록 처리하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 광고제공 처리부(1115)는 상기 프로 그램 이용 권한의 실제 사용자에게 제공하도록 확인된 하나 이상의 광고 데이터를 상기 도면4에 도시된 프로그램 운용 서버(100)로 제공함으로써, 상기 프로그램 운용 서버(100)에서 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)에 구비된 응용프로그램을 통해 상기 광고 데이터가 제공되도록 처리하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 광고제공 처리부(1115)는 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)을 확인하고, 통신망을 통해 상기 확인된 클라이언트 단말(135)로 상기 프로그램 이용 권한의 실제 사용자에게 제공하도록 확인된 하나 이상의 광고 데이터가 제공되도록 처리하는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 프로그램 이용 권한의 실제 사용자에게 제공된 광고 데이터의 노출(또는 클릭, 또는 프로그램 이용 권한의 실제 사용자 행위)를 확인하고, 이에 대한 광고단가 별 광고금액을 집행하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.
도면12는 본 발명의 실시 방법에 따라 키스트로크 패턴 별 실제 사용자에 대한 맞춤형 광고 제공 과정을 도시한 도면이다.
보다 상세하게 본 도면12는 상기 도면11에 도시된 맞춤형 광고제공 시스템 상의 광고서버(125)에서 상기 도면4에 도시된 시스템을 통해 확인된 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)의 키스트로크 패턴 정보를 기반으로 상기 실제 사용자에 대한 키스트로크 패턴 별 CRM 정보를 확인하고, 광고 대상 CRM 정보와 광고 데이터를 연계하여 저장하는 광고 D/B(130)로부터 상기 확인된 키스트로크 패턴 별 CRM 정보와 매칭되는 하나 이상의 광고 데이터를 확인하고, 상기 확인된 광고 데이터를 상기 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되도록 처리하는 과정에 대한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면12를 참조 및/또는 변형하여 상기 키스트로크 패턴 별 사용자에 대한 광고 제공 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면12에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면12를 참조하면, 상기 광고서버(125)는 상기 도면4에 도시된 프로그램 운용 서버(100)(또는 클라이언트 단말(135))와 연계하여 상기 프로그램 이용 권한의 실제 사용자에 대한 광고제공 여부를 확인한다(1200).
본 발명의 일 실시 방법에 따라 상기 도면4에 도시된 프로그램 운용 서버(100)에서 키스트로크 클러스터링을 기반으로 상기 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)를 확인하고, 상기 확인된 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 상기 광고서버(125)로 공유하면, 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것으로 확인하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 도면4에 도시된 프로그램 운용 서버(100)에서 키스트로크 클러스터링을 기반으로 상기 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)를 확인하고, 상기 확인된 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 상기 실제 사용자가 이용하는 클라이언트 단말(135) 정보(예컨대, 클라이언트 단말(135)의 현재 주소 정보, 또는 클라이언트 단말(135)에 구비된 응용프로그램(또는 키스트로크 프로그램) 정보)를 상기 광고서버(125)로 공유하면, 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것으로 확인하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 도면4에 도시된 프로그램 운용 서버(100)에서 키스트로크 클러스터링을 기반으로 상기 프로그램 이용 권한에 대한 실제 사용자(예컨대, 상기 클라이언트 단말(135)에 구비된 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)를 확인하고, 상기 확인된 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 상기 광고서버(125)에 대응하는 광고링크 정보를 제공하고, 이에 대응하여 상기 클라이언트 단말(135)에서 상기 광고링크 정보를 기반으로 상기 광고서버(125)로 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 전송하면, 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것으로 확인하는 것이 바람직하다.
만약 상기 프로그램 이용 권한의 실제 사용자에게 광고를 제공하는 것이 확인되면(1205), 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인한다(1210).
본 발명의 실시 방법에 따르면, 상기 광고서버(125)는 상기 프로그램 운용 서버(100)로부터 공유된 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하거나, 또는 상기 클라이언트 단말(135)로부터 제공된 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 것이 바람직하다.
이후, 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 각 키스트로크 패턴 별 CRM 정보를 연계하여 저장하는 상기 CRM 정보 D/B(120)와 연계하여 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보와 연계된 키스트로크 패턴 별 CRM 정보를 확인한다(1215).
만약 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 별 CRM 정보가 확인되면(1220), 상기 광고서버(125)는 하나 이상의 광고 대상 CRM 정보와 광고 데이터를 연계하여 저장하는 광고 D/B(130)와 연계하여 상기 확인된 키스트로크 패턴 별 CRM 정보와 매칭되는 광고 대상 CRM 정보와 연계된 광고 데이터 중 상기 프로그램 이용 권한의 실제 사용자에게 제공할 하나 이상의 광고 데이터를 확인한다(1225).
만약 상기 프로그램 이용 권한의 실제 사용자에게 제공할 하나 이상의 광고 데이터가 확인되면(1230), 상기 광고서버(125)는 상기 확인된 하나 이상의 광고 데이터를 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)로 제공되도록 처리한다(1235).
본 발명의 일 실시 방법에 따르면, 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자에게 제공하도록 확인된 하나 이상의 광고 데이터를 상기 도 면4에 도시된 프로그램 운용 서버(100)로 제공함으로써, 상기 프로그램 운용 서버(100)에서 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)에 구비된 응용프로그램을 통해 상기 광고 데이터가 제공되도록 처리하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 광고서버(125)는 상기 프로그램 이용 권한의 실제 사용자가 이용하는 클라이언트 단말(135)을 확인하고, 통신망을 통해 상기 확인된 클라이언트 단말(135)로 상기 프로그램 이용 권한의 실제 사용자에게 제공하도록 확인된 하나 이상의 광고 데이터가 제공되도록 처리하는 것이 바람직하다.
본 발명에 따르면, 클라이언트 단말에 구비된 프로그램을 통해 입력되는 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 패턴 분석 및 키스트로크 클러스터링을 통해 저렴한 비용으로 추가적인 장치를 없이 상기 사용자 입력 정보를 입력하는 프로그램에 대한 프로그램 이용 권한이 다른 사용자와 공유하고 있는지 편리하고 정확하게 판별한 후, 상기 프로그램 이용 권한의 실제 사용자(예컨대, 상기 프로그램의 유일한 사용자, 또는 프로그램 이용 권한 공유자 중 현재 사용자)에게 최적화된 맞춤형 광고를 제공하는 이점이 있다.

Claims (8)

  1. 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 방법에 있어서,
    상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 단계;
    상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계; 및
    상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법.
  2. 제 1항에 있어서,
    일정 기간 동안 사용자가 이용하는 단말로부터 전송된 일정 개수 이상의 사 용자 입력 정보에 포함된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 일정 개수 이상의 키스트로크 정보가 일정 범위 내에 분포하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하고, 상기 확인된 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 상기 문자열 정보 및 상기 프로그램(또는 응용프로그램)에 대한 사용자 인증정보와 연계하여 저장매체에 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법.
  3. 제 1항에 있어서, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계는,
    상기 수신된 키스트로크 정보에 대응하는 키스트로크 패턴 정보를 생성하는 단계; 및
    상기 사용자 입력 정보에 포함되어 일정 기간 동안 일정 개수 이상 수신된 문자열 정보 중 프로그램(또는 응용프로그램)에 대한 동일한 사용자 인증정보와 연계되고, 동일한 단어(또는 문장, 또는 색인어)에 대응하는 키스트로크 정보가 일정 범위 내에 분포하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 m개의 키스트로크 패턴 정보를 각 문자열 정보와 연계하여 저장하는 저장매체 로부터 상기 수신된 사용자 입력 정보에 포함된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 키스트로크 정보와 매칭되는 상기 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법.
  4. 제 1항에 있어서,
    상기 프로그램(또는 응용프로그램)에 대한 사용자 인증정보와 연계된 m(m>=1)개의 키스트로크 패턴 별 고객관계 정보를 주기(또는 반복)적으로 수집하여 저장하는 고객관계 정보 D/B로부터 상기 실제 사용자에 대한 키스트로크 패턴 정보에 대응하는 상기 실제 사용자의 고객관계 정보를 확인하는 단계; 및
    하나 이상의 광고 대상 고객관계 정보와 광고 데이터를 연계하여 저장하는 광고 D/B로부터 상기 실제 사용자의 고객관계 정보와 매칭되는 광고 대상 고객관계 정보와 연계된 광고 데이터를 확인하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법.
  5. 제 1항 내지 제 4항에 있어서, 상기 사용자 인증정보는,
    사용자의 ID정보, 비밀번호, ID/PW 정보를 하나 이상 포함하거나, 또는
    상기 단말에 구비된 단말주소 정보, 프로그램 식별정보, 단말장치 정보를 포함하여 이루어지는 것을 특징으로 하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법.
  6. 제 1항에 있어서, 상기 프로그램 이용 권한의 실제 사용자는,
    유일한 하나의 키스트로크 패턴 정보에 대응하는 유일한 프로그램(또는 응용프로그램) 사용자, 또는
    복수의 키스트로크 패턴 정보에 대응하여 확인되는 복수의 프로그램 이용 권한 공유자 중 상기 현재 프로그램(또는 응용프로그램) 사용자, 또는
    상기 프로그램(또는 응용프로그램)에 대한 사용자 인증정보의 실제 사용자를 포함하여 이루어지는 것을 특징으로 하는 쿠키를 이용한 맞춤형 광고 제공 방법.
  7. 제 1항 내지 제 4항 중 어느 한 항의 방법을 실행하는 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체.
  8. 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 프로그램(또는 하나 이상의 키 입력 기반 응용 기능과 광고출력 기능을 구비한 응용프로그램과 연계된 프로그램)을 구비한 단말로 광고를 제공하는 시스템에 있어서,
    상기 단말로부터 상기 키 입력 기반 응용 기능을 위해 입력된 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크(Keystroke) 정보-상기 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 수신하는 수단;
    상기 사용자 입력 정보에 포함된 문자열 정보에 대응하는 키스트로크 정보를 통해 상기 단말에 구비된 프로그램(또는 응용프로그램)에 대한 프로그램 이용 권한의 실제 사용자에 대한 키스트로크 패턴 정보를 확인하는 수단;
    상기 확인된 키스트로크 패턴 정보를 통해 상기 프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터를 확인하는 수단; 및
    프로그램 이용 권한의 실제 사용자에 대응하는 광고 데이터가 상기 단말로 제공되도록 처리하는 수단;을 구비하여 이루어지는 것을 특징으로 하는 실제 프로그램 사용자에 대한 맞춤형 광고 제공 시스템.
KR1020080066087A 2008-07-08 2008-07-08 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체 KR20100005958A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080066087A KR20100005958A (ko) 2008-07-08 2008-07-08 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066087A KR20100005958A (ko) 2008-07-08 2008-07-08 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체

Publications (1)

Publication Number Publication Date
KR20100005958A true KR20100005958A (ko) 2010-01-18

Family

ID=41815218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066087A KR20100005958A (ko) 2008-07-08 2008-07-08 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체

Country Status (1)

Country Link
KR (1) KR20100005958A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012015104A1 (ko) * 2010-07-29 2012-02-02 Han Sang Jin 판촉물 자동지급기 및 그 방법
CN103632279A (zh) * 2012-08-23 2014-03-12 能汲智慧港(上海)信息科技有限公司 基于模糊聚类技术的移动互联网广告自动发布方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012015104A1 (ko) * 2010-07-29 2012-02-02 Han Sang Jin 판촉물 자동지급기 및 그 방법
CN103632279A (zh) * 2012-08-23 2014-03-12 能汲智慧港(上海)信息科技有限公司 基于模糊聚类技术的移动互联网广告自动发布方法及装置

Similar Documents

Publication Publication Date Title
CN110741369B (zh) 使用电子身份进行安全生物统计认证
TWI526037B (zh) 用於交易鑑認之抽象化及隨機化單次使用密碼之方法及系統
US20130263240A1 (en) Method for authentication and verification of user identity
JP4470069B2 (ja) 入力補助装置、入力補助システム、入力補助方法、及び、入力補助プログラム
JP2008544339A (ja) 詐欺監視、検出、および階層状ユーザ認証のためのシステムおよび方法
CN108521405B (zh) 一种风险管控方法、装置及存储介质
Oh et al. Usability evaluation model for biometric system considering privacy concern based on MCDM model
KR20100005977A (ko) 실제 무선단말 사용자에 대한 위치 기반 맞춤형 광고 제공방법 및 시스템과 이를 위한 기록매체
JP5563951B2 (ja) 情報入力方法、情報入力システム、情報入力装置及びコンピュータプログラム
JP4758175B2 (ja) 利用者認証方法及び利用者認証プログラム
US20090189791A1 (en) Font or keystroke biometrics
US10650163B2 (en) Bot detection and access grant or denial based on bot identified
KR20100005958A (ko) 실제 프로그램 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체
KR20100005916A (ko) 사용자 입력 정보를 통한 사용자 인증정보 공유 확인 방법및 시스템과 이를 위한 기록매체
CN114491418B (zh) 软件许可方法及电子设备
KR20100005935A (ko) 프로그램 이용 권한 공유 확인 방법 및 단말장치와 이를위한 기록매체
US9992193B2 (en) High-safety user multi-authentication system and method
KR20100005951A (ko) 쿠키를 이용한 맞춤형 광고 제공 방법 및 시스템과 이를위한 기록매체
WO2018226500A1 (en) Biometric identification system and associated methods
KR101492995B1 (ko) 무선단말 이용 권한 공유 확인 방법
CN108140200A (zh) 与广告相关联的用户动作的基于装置完整性的评估
KR20100005967A (ko) 실제 사용자에 대한 위치 기반 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체
CN103870736A (zh) 用于互联网访问控制的个人信息安全保护装置和访问方法
KR20100005962A (ko) 실제 무선단말 사용자에 대한 맞춤형 광고 제공 방법 및시스템과 이를 위한 기록매체
JP4300778B2 (ja) 個人認証システム,サーバ装置,個人認証方法,プログラム及び記録媒体。

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
WITB Written withdrawal of application