KR20100005935A - Method for identifying own program usage permission jointly and terminal device, recording medium - Google Patents

Method for identifying own program usage permission jointly and terminal device, recording medium Download PDF

Info

Publication number
KR20100005935A
KR20100005935A KR1020080066054A KR20080066054A KR20100005935A KR 20100005935 A KR20100005935 A KR 20100005935A KR 1020080066054 A KR1020080066054 A KR 1020080066054A KR 20080066054 A KR20080066054 A KR 20080066054A KR 20100005935 A KR20100005935 A KR 20100005935A
Authority
KR
South Korea
Prior art keywords
information
keystroke
input
key
program
Prior art date
Application number
KR1020080066054A
Other languages
Korean (ko)
Inventor
김재형
홍종철
권봉기
Original Assignee
주식회사 비즈모델라인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 비즈모델라인 filed Critical 주식회사 비즈모델라인
Priority to KR1020080066054A priority Critical patent/KR20100005935A/en
Publication of KR20100005935A publication Critical patent/KR20100005935A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A system and a method for checking sharing the use of a program, a terminal device and a recording medium therefor are provided to conveniently and accurately determine whether the right of using a program is shared. CONSTITUTION: An information input unit(110) inputs user input information including character string information using a program. A keystroke information checker(150) checks keystroke information of the character string information. A keystroke cluster checker(165) checks a keystroke cluster corresponding to an equal word among character string information stored during fixed time. If one keystroke cluster is checked, a sharing checking unit(130) checks the right of using a program as a non-sharing.

Description

프로그램 이용 권한 공유 확인 방법 및 단말장치와 이를 위한 기록매체{Method for Identifying Own Program Usage Permission Jointly and Terminal Device, Recording Medium}Method for Identifying Own Program Usage Permission Jointly and Terminal Device, Recording Medium}

도 1은 본 발명의 일 실시 방법에 따라 키스트로크 클러스터링을 통해 프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 응용프로그램 기능 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of an application program function having a function of checking whether to share a program use right through keystroke clustering according to an exemplary embodiment of the present invention.

도 2는 본 발명의 다른 일 실시 방법에 따라 키스트로크 클러스터링을 통해 응용프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 키스트로크 프로그램 기능 구성을 도시한 도면이다.2 is a diagram illustrating a keystroke program function configuration having a function of confirming whether to share an application program right through keystroke clustering according to another exemplary embodiment of the present invention.

도 3은 본 발명의 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템을 도시한 도면이다.FIG. 3 is a diagram illustrating a system for confirming sharing of program usage rights through keystroke clustering of character string information included in user input information according to an embodiment of the present invention.

도 4는 본 발명의 실시 방법에 따른 사용자 인증 과정을 도시한 도면이다.4 is a diagram illustrating a user authentication process according to an embodiment of the present invention.

도 5는 본 발명의 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 정보를 저장하는 과정을 도시한 도면이다.FIG. 5 is a diagram illustrating a process of storing keystroke information to confirm sharing of program use rights through keystroke clustering of string information included in user input information according to an exemplary embodiment of the present invention.

도 6은 본 발명의 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.FIG. 6 is a diagram illustrating a process of checking a sharing state of a program use right by reading a keystroke pattern according to an exemplary embodiment of the present invention.

도 7은 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보를 송수신하는 과정을 도시한 도면이다.FIG. 7 illustrates a process of transmitting and receiving keystroke-based user input information to confirm sharing of program use rights through keystroke clustering of character string information included in user input information according to another exemplary embodiment of the present invention.

도 8은 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 저장매체에 저장하는 과정을 도시한 도면이다.8 is a diagram illustrating keystroke information included in keystroke-based user input information in a storage medium to confirm sharing of program usage rights through keystroke clustering of string information included in user input information according to another exemplary embodiment of the present invention. A diagram showing the process of storing.

도 9는 본 발명의 다른 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.FIG. 9 is a diagram illustrating a process of checking a sharing state of a program use authority by reading a keystroke pattern according to another exemplary embodiment of the present invention.

<도면의 주요부분에 대한 설명><Description of main parts of drawing>

100 : 제어부 105 : 인터페이스 출력부100 control unit 105 interface output unit

110 : 정보 입력부 115 : 정보 수신부110: information input unit 115: information receiving unit

120 : 정보 전송부 125 : 패턴 유사도 확인부120: information transmission unit 125: pattern similarity check unit

130 : 공유 확인부 135 : 공유 판별 정보 저장부130: share confirmation unit 135: share determination information storage unit

140 : 키스트로크 패턴 정보 저장부 145 : 키 입력 기반 응용 기능부140: keystroke pattern information storage unit 145: key input based application function unit

150 : 키스트로크 정보 확인부 155 : 키스트로크 정보 가공부150: keystroke information verification unit 155: keystroke information processing unit

160 : 키스트로크 기반 사용자 입력 정보 생성부160: keystroke based user input information generation unit

165 : 키스트로크 클러스터 확인부165: keystroke cluster identification unit

170 : 키스트로크 정보 저장부170: keystroke information storage unit

175 : 키스트로크 패턴 정보 생성부175: keystroke pattern information generation unit

본 발명은 하나 이상의 키 데이터를 입력하는 키 입력수단, 하나 이상의 저장영역을 구비한 저장수단을 구비한 단말에 구비된 프로그램의 이용 권한 공유를 확인하는 방법에 있어서, 상기 프로그램에 구비된 키 입력 인터페이스를 기반으로 상기 키 입력수단을 통해 상기 프로그램 이용을 위한 문자열 정보를 포함하는 사용자 입력 정보를 입력 처리하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 키스트로크(Keystroke) 정보-입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 확인하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보를 구성하는 각 키 데이터에 대한 키스트로크 정보를 연계하여 상기 저장수단에 저장하는 단계와, 상기 저장수단과 연계하여 일정 기간 동안 일정 횟수 이상 저장된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 N(N>1)개의 키스트로크 정보에 포함된 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하 는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 단계 및 상기 확인결과, 하나의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 두개 이상의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 단계를 포함하는 프로그램 이용 권한 공유 확인 방법에 관한 것이다.According to an aspect of the present invention, there is provided a key input means for inputting one or more key data, and a method for confirming sharing of a use right of a program provided in a terminal having a storage means having one or more storage areas. Inputting and processing user input information including string information for using the program through the key input means, and keystrokes for two or more key data constituting string information included in the user input information; Keystroke information, including input duration information, input interval information, and pressure information, and keystroke information for each key data constituting the string information and the character string information included in the user input information. Storing in the storage means in association with the storage means; One or more patterns of input duration information, input interval information, and pressure information included in N (N> 1) keystroke information corresponding to the same word (or sentence or index word) among string information stored a predetermined number of times for a certain period of time. Identifying m (m> = 1) keystroke clusters including n (n <= N) pattern target keystroke information in which the target information is distributed within a predetermined range, and as a result of the checking, one of If the keystroke cluster is identified, determining that the program usage rights are not shared; and if more than one keystroke cluster is identified, verifying that the program usage rights are shared by more than one user. The present invention relates to a method of confirming permission sharing.

정보통신 기술의 지속적인 발전으로 통신망을 통한 경제활동(예컨대, 전자상거래, 비대면 금융거래 등)과 여론활동(예컨대, 댓글, 게시판)이 활성화되고, 유료 컨텐츠 이용(예컨대, 온라인 강의, 게임, 아이템 구입)이 빈번해지면서, 온라인을 통한 비대면 상태에서 사용자를 정확하게 식별하는 것이 매우 중요한 보안요소로 이슈화되었다.With the continuous development of information and communication technology, economic activities (e.g. e-commerce, non-face-to-face financial transactions, etc.) and public opinion activities (e.g. comments, bulletin boards) through communication networks are activated, and paid content use (e.g. online lectures, games, items) As purchases are becoming more frequent, identifying users accurately in the non-face-to-face state online has become an important security factor.

이에, 고도한 보안을 필요로 하는 온라인 서비스를 제공하는 대부분의 온라인 서비스 제공자는 공인인증서 내지 OTP(One Time Password) 등을 통해 비대면 상태에서 사용자를 정확하게 식별하고자 하고 있으나, 이것은 어디까지나 악의적인 도용/복제를 방지하려고 하는 것을 목적으로 할 뿐, 인증된 사용자가 자신의 인증권한을 타인과 공유하려고 마음먹은 경우까지 처리하지는 못한다.Therefore, most online service providers that provide high-security online services attempt to accurately identify users in a non-face-to-face state through a certificate or OTP (One Time Password), but this is only for malicious theft. It is only intended to prevent / replicate, but does not handle the case when an authenticated user decides to share his or her authorization rights with others.

특히, 상기 인증된 사용자가 자신의 인증권한을 타인과 공유하는 것은, 온라인 서비스 제공자 입장에서 그만큼의 수익이 감소하는 것을 의미하는 바, 대부분의 온라인 서비스 제공자는 이를 차단하려고 하고 있으나, 현재 마땅한 해결책이 없는 실정이다.In particular, the sharing of the authentication authority with others by the authenticated user means that the amount of revenue is reduced for the online service provider, and most online service providers are trying to block it, but the present solution There is no situation.

물론, 상기 인증된 사용자가 자신의 인증권한을 타인과 공유하는 것을 방지할 수 있는 해결책은 바이오메트릭스(Biometrics)를 이용하는 방법이다. 상기 바이오메트릭스를 이용한 인증 방법은, 인증된 사용자의 지문, 얼굴 특징(facial feature), 홍채(irises), 장문(palm print) 등과 같은 사용자의 고유한 생체적 특성을 인증수단으로 이용하는 것인데, 이를 위해서는 사용자 측에 상기 생체적 특성을 인증하기 위한 별도의 생체인식장치를 구비해야만 한다. 그러나, 대부분의 사용자가 상기 생체인식장치를 구비하는 것을 꺼릴 뿐만 아니라, 상기 생체인식장치를 구입하는 비용도 만만치 않아 상기 바이오메트릭스를 이용해 인증된 사용자가 자신의 인증권한을 타인과 공유하는 것을 방지하는 것은 매우 난해한 문제점을 포함하고 있다.Of course, a solution that can prevent the authenticated user from sharing his authentication authority with others is by using biometrics. The authentication method using the biometrics is to use a user's unique biometric characteristics such as fingerprint, facial feature, irises, palm print, etc. of the authenticated user as an authentication means. Must have a separate biometric device for authenticating the biometrics on the user side. However, not only most users are reluctant to have the biometric device, but also the cost of purchasing the biometric device is difficult to prevent the user authenticated using the biometrics from sharing their authentication authority with others. The thing involves a very difficult problem.

상기 문제점을 해결하기 위한 본 발명의 목적은, 하나 이상의 키 데이터를 입력하는 키 입력수단, 하나 이상의 저장영역을 구비한 저장수단을 구비한 단말장치에 있어서, 상기 프로그램에 구비된 키 입력 인터페이스를 기반으로 상기 키 입력수단을 통해 상기 프로그램 이용을 위한 문자열 정보를 포함하는 사용자 입력 정보를 입력 처리하는 정보 입력부와, 상기 사용자 입력 정보에 포함된 문자열 정보 를 구성하는 두개 이상의 키 데이터에 대한 키스트로크(Keystroke) 정보-입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 확인하는 키스트로크 정보 확인부와, 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보를 구성하는 각 키 데이터에 대한 키스트로크 정보를 연계하여 상기 저장수단에 저장하는 키스트로크 정보 저장부와, 상기 저장수단과 연계하여 일정 기간 동안 일정 횟수 이상 저장된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 N(N>1)개의 키스트로크 정보에 포함된 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부 및 상기 확인결과, 하나의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 두개 이상의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부를 포함하는 단말장치를 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention for solving the above problems is a terminal device having a key input means for inputting one or more key data and a storage means having one or more storage areas, based on a key input interface provided in the program. An information input unit configured to process user input information including string information for using the program through the key input means, and keystrokes for two or more key data constituting string information included in the user input information ) A keystroke information checking unit for checking information, including at least one of input duration information, input interval information, and pressure information, and character string information included in the user input information and key data constituting the string information. Keystroke information stored in the storage means in association with the keystroke information Input duration information included in the book and N (N> 1) keystroke information corresponding to the same word (or sentence or index word) among string information stored at least a predetermined number of times for a predetermined period in association with the storage means; Identify m (m> = 1) keystroke clusters containing n (n <= N) pattern target keystroke information in which one or more pattern target information among interval information and pressure information is distributed within a predetermined range. When the keystroke cluster check unit and the check result indicate that one keystroke cluster is identified, the program use authority is not shared, and when two or more keystroke clusters are identified, the program use authority is assigned to two or more users. It is to provide a terminal device including a sharing confirmation unit for confirming that the shared by.

본 발명에 따른 프로그램 이용 권한 공유 확인 방법에 있어서, 하나 이상의 키 데이터를 입력하는 키 입력수단, 하나 이상의 저장영역을 구비한 저장수단을 구비한 단말에 구비된 프로그램의 이용 권한 공유를 확인하는 방법은, 상기 프로그램에 구비된 키 입력 인터페이스를 기반으로 상기 키 입력수단을 통해 상기 프로그램 이용을 위한 문자열 정보를 포함하는 사용자 입력 정보를 입력 처리하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 키스트로크(Keystroke) 정보-입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 확인하는 단계와, 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보를 구성하는 각 키 데이터에 대한 키스트로크 정보를 연계하여 상기 저장수단에 저장하는 단계와, 상기 저장수단과 연계하여 일정 기간 동안 일정 횟수 이상 저장된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 N(N>1)개의 키스트로크 정보에 포함된 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 단계 및 상기 확인결과, 하나의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 두개 이상의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 단계를 포함하여 이루어지는 것을 특징으로 한다.In the method for confirming the sharing of program usage rights according to the present invention, a method for confirming sharing of the usage rights of a program provided in a terminal having a key input means for inputting one or more key data and a storage means having one or more storage areas is provided. Inputting and processing user input information including string information for using the program through the key input means based on a key input interface provided in the program; and configuring string information included in the user input information. Identifying keystroke information (including at least one input duration information, input interval information, and pressure information) for two or more pieces of key data; and constructing the string information and the string information included in the user input information. The storage means by linking keystroke information for each key data And input duration information included in N (N> 1) keystroke information corresponding to the same word (or sentence or index word) among string information stored at least a predetermined number of times for a predetermined period in association with the storing means. M (m> = 1) keystroke clusters including n (n <= N) pattern target keystroke information in which one or more pattern target information among input interval information and pressure information is distributed within a predetermined range. Checking and the result of the check, if one keystroke cluster is confirmed, confirm that the program use rights are not shared, and if two or more keystroke clusters are identified, the program use rights are shared by more than one user Characterized in that it comprises the step of confirming that it is.

본 발명에 따른 프로그램 이용 권한 공유 확인 방법은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 n개의 패턴 대상 키스트로크 정보를 통해 m개의 키스트로크 패턴 정보를 생성하는 단계와, m개의 키스트로크 패턴 정보에 대한 패턴 유사도 정보를 확인하는 단계 및 상기 패턴 유사도 정보가 기 설정된 공유 판별 기 준 유사도 이하이면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 상기 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.In accordance with another aspect of the present invention, there is provided a method of sharing program usage rights, generating m keystroke pattern information through n pattern target keystroke information included in the identified m keystroke clusters, and m keystroke pattern information. Confirming the pattern similarity information for the and if the pattern similarity information is equal to or less than a predetermined sharing discrimination criterion similarity, confirming that the program use authority is not shared, and if the pattern similarity information is equal to or greater than the predetermined sharing discrimination criterion similarity. The method may further include checking that the program use right is shared by two or more users.

본 발명에 따른 프로그램 이용 권한 공유 확인 방법은, 상기 프로그램 이용 권한에 대한 공유 판별 정보를 통신망 상의 서버로 전송하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.The program usage right sharing confirmation method according to the present invention is characterized by further comprising the step of transmitting the share determination information for the program use rights to a server on the communication network.

한편, 상기 전술한 프로그램 이용 권한 공유 확인 방법을 실행하는 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체를 포함한다.On the other hand, it includes a computer-readable recording medium, characterized in that for recording the program for executing the above-described program usage rights sharing confirmation method.

한편, 본 발명에 따른 단말장치에 있어서, 하나 이상의 키 데이터를 입력하는 키 입력수단, 하나 이상의 저장영역을 구비한 저장수단을 구비한 단말장치는, 상기 프로그램에 구비된 키 입력 인터페이스를 기반으로 상기 키 입력수단을 통해 상기 프로그램 이용을 위한 문자열 정보를 포함하는 사용자 입력 정보를 입력 처리하는 정보 입력부와, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 키스트로크(Keystroke) 정보-입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 확인하는 키스트로크 정보 확인부와, 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보를 구성하는 각 키 데이터에 대한 키스트로크 정보를 연계하여 상기 저장수단에 저장하는 키스트로크 정보 저장부와, 상기 저장수단과 연계하여 일정 기간 동안 일정 횟수 이상 저장된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 N(N>1)개의 키스트로크 정보에 포함된 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부 및 상기 확인결과, 하나의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 두개 이상의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부를 포함하여 이루어지는 것을 특징으로 한다.Meanwhile, in the terminal device according to the present invention, a terminal device having key input means for inputting one or more key data and storage means having one or more storage areas is based on the key input interface provided in the program. An information input unit for inputting and processing user input information including string information for using the program through key input means, and keystroke information on two or more key data constituting string information included in the user input information A keystroke information checking unit for checking input duration information, input interval information, and pressure information, and a keystroke for each key data constituting the string information and the string information included in the user input information. A keystroke information storage unit for storing information in the storage unit in association with the information; Input duration information, input interval information, and pressure included in N (N> 1) keystroke information corresponding to the same word (or sentence or index word) among string information stored a predetermined number of times for a predetermined period in association with the storage means. Keystroke cluster that identifies m (m> = 1) keystroke clusters containing n (n <= N) pattern target keystroke information in which one or more pattern target information is distributed within a predetermined range. As a result of the verification unit and the check result, if one keystroke cluster is confirmed, the program use authority is not shared. If two or more keystroke clusters are identified, the program use authority is shared by two or more users. Characterized in that it comprises a shared confirmation unit to confirm that.

본 발명에 따른 단말장치는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 n개의 패턴 대상 키스트로크 정보를 통해 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부를 더 구비하여 이루어지는 것을 특징으로 한다.The terminal apparatus according to the present invention further comprises a keystroke pattern information generation unit for generating m keystroke pattern information through the n pattern target keystroke information included in the identified m keystroke clusters. do.

본 발명에 따른 단말장치에 있어서, 상기 키스트로크 패턴 정보 생성부는, 상기 n개 키스트로크 정보에 대한 평균 값과 분산 값을 포함하는 키스트로크 패턴 정보를 생성하거나, 또는 상기 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정 된 그래프를 이용한 기하학적 연산을 처리하여 키스트로크 패턴 정보를 생성하거나, 또는 상기 n개 키스트로크 정보에 기 설정된 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.In the terminal device according to the present invention, the keystroke pattern information generation unit generates keystroke pattern information including an average value and a variance of the n keystroke information, or writes the n keystroke information. Substitute the pattern calculation formula, replace / combine according to the predetermined pattern calculation law, or process the geometric operation using a preset graph to generate keystroke pattern information, or write to the n keystroke information. After multiplying the set weight, the keystroke pattern information is generated by substituting a predetermined pattern calculation formula, substituting / combining according to a predetermined pattern calculation rule, or processing a geometric operation using a preset graph. .

이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, with reference to the accompanying drawings and description will be described in detail the operating principle of the preferred embodiment of the present invention. However, the drawings and the following description shown below are for the preferred method among various methods for effectively explaining the features of the present invention, the present invention is not limited only to the drawings and description below. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the present invention.

또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성요소와 본 발명을 위해 추가된 구성요소 사이의 관계도 명백하게 이해할 수 있을 것이다. In addition, preferred embodiments of the present invention to be carried out below are provided in each system functional configuration to efficiently describe the technical components constituting the present invention, or system functions that are commonly provided in the technical field to which the present invention belongs. The configuration will be omitted, and described mainly on the functional configuration to be additionally provided for the present invention. If those skilled in the art to which the present invention pertains, it will be able to easily understand the function of the components that are conventionally used among the omitted functional configuration not shown below, and also the configuration omitted as described above The relationship between the elements and the components added for the present invention will also be clearly understood.

또한, 이하 실시예는 본 발명의 핵심적인 기술적 특징을 효율적으로 설명하기 위해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 명백하게 이해할 수 있도록 용어를 적절하게 변형, 또는 통합, 또는 분리하여 사용할 것이나, 이에 의해 본 발명이 한정되는 것은 결코 아니다. 즉, 본 발명을 구성하는 각각의 수단은 이하 실시예에 도시되는 시스템 상에 구비되는 서버(또는 단말) 이거나, 또는 적어도 하나 이상의 서버(또는 단말)에 구비된 소정의 기능 구성부이거나, 또는 적어도 하나 이상의 서버(또는 단말)에 구비된 적어도 두개 이상의 기능 구성부의 연합일 수 있다. 또한, 이하 실시예에 도시되는 서버(또는 단말)은 편의상 본 발명의 진보적인 기술적 특징을 이루기 위한 적어도 두개 이상의 기능 구성부를 포함하여 이루어지는 것으로 도시하지만, 상기 서버(또는 단말) 내에 도시되는 기능 구성부는 상술된 수단과 매칭되어 각 기능 구성부의 역할과 기능 및 해당 서버(또는 단말) 운용자(또는 운용기관)에 따라 서로 다른 두개 이상의 서버(또는 단말)에 구비될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.In addition, the following examples will be used to appropriately modify, integrate, or separate the terminology so that those skilled in the art to which the present invention pertains may clearly understand the present invention. The present invention is by no means limited thereto. In other words, each means constituting the present invention is a server (or terminal) provided on the system shown in the following embodiments, or a predetermined functional configuration provided in at least one or more servers (or terminals), or at least It may be an association of at least two or more functional components provided in one or more servers (or terminals). In addition, the server (or terminal) shown in the following embodiment is shown to include at least two or more functional components for achieving the technical features of the present invention for convenience, the functional component shown in the server (or terminal) Matched with the above-described means may be provided in two or more different servers (or terminals) according to the role and function of each functional component and the corresponding server (or terminal) operator (or operator), whereby the present invention is not limited No.

결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.As a result, the technical spirit of the present invention is determined by the claims, and the following examples are one means for efficiently explaining the technical spirit of the present invention to those skilled in the art to which the present invention pertains. It is only.

도면1은 본 발명의 일 실시 방법에 따라 키스트로크 클러스터링을 통해 프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 응용프로그램 기능 구성을 도시한 도면이다.1 is a diagram showing the configuration of an application program function having a function of checking whether to share a program use right through keystroke clustering according to an exemplary embodiment of the present invention.

보다 상세하게 본 도면1은 상기 클라이언트 단말에 구비되어 키 입력 기반의 각종 응용 기능을 구비한 응용프로그램에서 상기 키 입력되는 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 상기 응용프로그램에 대한 이용 권한이 공유되고 있는지 확인하는 기능을 구비한 응용프로그램의 기능 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 키스트로크 클러스터링을 통해 프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 응용프로그램 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면1에 도시된 실시 방법으로 한정되지 아니한다.In more detail, FIG. 1 illustrates an application program provided in the client terminal and configured to perform keystroke clustering on string information included in the user input information inputted in the key input in an application program having various application functions based on key input. The function configuration of the application having a function of checking whether the usage rights are shared, and those skilled in the art to which the present invention belongs, the keystroke clustering by referring to and / or modifying the present Figure 1 Through various embodiments of the present invention can be inferred through the configuration of the application function having a function of checking whether or not to share the program use rights, the present invention includes all the inferred implementation method, shown in Figure 1 It is not limited to the implemented method.

본 발명에 따르면, 상기 응용프로그램이 구비된 클라이언트 단말은, 상기 응용프로그램에 대응하는 프로그램 코드가 기록되는 기록매체, 및 상기 응용프로그램 에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역을 구비한 메모리부에 대응하는 저장수단과, 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위해 출력하는 적어도 하나 이상의 키 입력 인터페이스를 그래픽 사용자 인터페이스를 기반으로 상기 클라이언트 단말에 구비된 화면 출력장치로 출력하는 화면 출력수단과, 상기 클라이언트 단말에 구비된 입력장치(예컨대, 키보드(Keyboard), 또는 키패드(Keypad), 또는 마우스(Mouse) 등)와 연계하여 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위한 적어도 하나 이상의 키 데이터를 입력하는 키 입력수단과, 상기 클라이언트 단말이 접속한 유선 통신망(또는 무선 통신망)을 통해 통신망 상의 프로그램 운용 서버와 통신채널을 연결하고, 상기 통신채널을 통해 상기 프로그램 운용 서버와 상기 응용프로그램의 키 입력 기반의 각종 응용 기능 및 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 적어도 하나 이상의 정보(또는 데이터)를 송수신하는 통신수단을 구비하여 이루어지는 것을 특징으로 한다.According to the present invention, a client terminal provided with the application program includes a recording medium on which a program code corresponding to the application program is recorded, and the application program for sharing the program usage right through the keystroke clustering in the application program. Corresponding to the memory unit having a storage area for storing at least one string information included in the user input information input through the key input interface provided in the key and keystroke information for each key data included in the string information in association with each other; Storage means, screen output means for outputting at least one key input interface outputted to provide various application functions included in the application program to a screen output device provided in the client terminal based on a graphic user interface; Cline Input at least one or more key data for providing various application functions included in the application program in connection with an input device (for example, a keyboard, a keypad, a mouse, etc.) provided in the terminal. A key input means to connect a communication channel with a program operation server on a communication network through a wired communication network (or a wireless communication network) to which the client terminal is connected, and based on key input of the program operation server and the application program through the communication channel. It is characterized in that it comprises a communication means for transmitting and receiving at least one or more information (or data) for confirming the application use rights sharing through the various application functions and keystroke clustering.

본 발명의 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 대응하여 표출되는 상기 사용자의 자연적인 키 입력 행동패턴 에 대응하는 자연적 키스트로크(Natural Keystroke)를 포함하여 이루어지는 것이 바람직하다.According to an exemplary embodiment of the present invention, a keystroke for the user input information input through the key input means may be displayed in response to a user's wrist / finger joint characteristics, key input habits, and key input speed. It is preferable to include a natural keystroke corresponding to a typical key input behavior pattern.

본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자가 자신의 자연적인 키 입력 행동패턴과 무관하게 인위적으로 조작한 키 입력 행동패턴에 대응하는 인위적 키스트로크(Artificial Keystroke)를 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke for the user input information input through the key input means corresponds to a key input behavior pattern artificially manipulated by the user regardless of his or her natural key input behavior pattern. It is preferable to include an artificial keystroke (Artificial Keystroke).

본 발명의 실시 방법에 따르면, 상기 저장수단은 상기 응용프로그램에서 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 상기 화면 출력수단으로 출력하는 적어도 하나 이상의 키 입력 인터페이스에 대응하는 인터페이스 정보를 저장하는 것이 바람직하다.According to an embodiment of the present invention, the storage means stores the interface information corresponding to at least one or more key input interfaces outputted to the screen output means in order to provide various application functions based on the key input in the application program. desirable.

본 발명의 실시 방법에 따르면, 상기 인터페이스 정보에 대응하는 키 입력 인터페이스는, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 사용자 인터페이스, 또는 뷰(View)를 포함하여 이루어지는 것이 바람직하며, 상기 키 입력 인터페이스는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 사용자 입력 정보를 입력하는 사용자 인터페이스 이외에, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공 유 확인과 무관한 일반 입력 정보(예컨대, 키스트로크 기반 사용자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함하여 이루어지는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.According to an embodiment of the present invention, a key input interface corresponding to the interface information may include various key input user interfaces or views corresponding to various application functions based on key input provided in the application program. Preferably, the key input interface is a character string included in the user input information, in addition to the user interface for inputting user input information for checking the program use rights sharing through keystroke clustering for the character string information included in the user input information. It is possible to further comprise a user interface for inputting general input information (eg, input information not included in the keystroke-based user input information) irrelevant to the confirmation of sharing of program access rights through keystroke clustering of information. this Bayida by putting out clearly SHALL not limited by the present invention.

본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the user interface for inputting the user input information in the key input interface, an edit control for inputting two or more key data constituting the string information included in the user input information (Edit Control) is preferably included.

본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, a user interface for inputting the user input information in the key input interface may display two or more key data buttons (or icons) constituting string information included in the user input information. And a button control for inputting two or more key data buttons (or icons) displayed on the screen by clicking (eg, pressing a left button of a mouse input device) through a pointer input device (eg, a mouse input device). ) Or Custom Control.

본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력부가 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the screen output unit provides a touch screen type key input interface, a user interface for inputting the user input information in the key input interface is included in the user input information. Displays two or more key data buttons (or icons) constituting the generated string information on the screen, and clicks or enters two or more key data buttons (or icons) displayed on the screen. Control) is preferably included.

본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 인터페이스에 대한 다양한 실시 방법을 유추할 수 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.Those skilled in the art to which the present invention pertains will be able to infer various implementation methods for various key input interfaces corresponding to various application functions based on key input provided in the application program. Description will be omitted for convenience.

또한, 상기 저장수단은 상기 응용프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역과, 상기 키스트로크 정보에 대한 하나 이상의 키스트로크 패턴 정보를 저장하는 저장영역과, 상기 키스트로크 패턴 정보를 기반으로 상기 프로그램 이용 권한 공유 여부를 판별하는 공유 판별 정보를 저장하는 저장영역을 구비하여 이루어지는 것이 바람직하다.The storage means may include one or more character string information and the character string information included in user input information input through a key input interface provided in the application program to confirm sharing of program use rights through the keystroke clustering in the application program. A storage area for storing keystroke information associated with each key data included in the storage area; a storage area for storing one or more keystroke pattern information for the keystroke information; and using the program based on the keystroke pattern information. It is preferable to have a storage area for storing the share determination information for determining whether to share the authority.

본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 클라이언트 단말에 대응하는 각종 유선단말(또는 무선단말)의 단말 구성에 따른 상기 저장수단, 화면 출력수단, 키 입력수단 및 통신수단에 대한 기술적 특징을 명백하게 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.For those skilled in the art, the storage means, the screen output means, the key input means and the communication means according to the terminal configuration of the various wired terminals (or wireless terminals) corresponding to the client terminal Since the technical features will be clearly understood, detailed description thereof will be omitted for convenience.

도면1을 참조하면, 상기 응용프로그램은 상기 클라이언트 단말에 구비된 기록매체에 기록된 후, 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능과 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 실행 및 동작을 제어하며, 상기 키 입력 기반의 각종 응용 기능과 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하기 위해 상기 응용프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하거나, 또는 상기 기능 구성부들이 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼)를 통해 상기 클라이언트 단말에 구비된 적어도 하나 이상의 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하여 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하도록 제어하는 제어부(100)를 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 1, after the application program is recorded in a recording medium provided in the client terminal, various application functions based on key input provided in the application program in association with an operating system (or platform) provided in the client terminal. And control the execution and operation of the program access right sharing confirmation function through keystroke clustering, and configure the application program to provide various application functions based on the key input and the program access right sharing confirmation function through keystroke clustering. At least one or more functional components interoperate with each other, or at least one terminal component (eg, screen output means, key input) provided in the client terminal through an operating system (or platform) provided in the client terminal. Means, storage means, communication means, etc.) It is characterized in that it comprises a control unit 100 for controlling to provide a program use right sharing confirmation function through the keystroke clustering.

상기 제어부(100)는 상기 응용프로그램이 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼) 상에서 실행(예컨대, 클라이언트 단말에 구비된 프로세서에 의해 연산처리)되고, 상기 운영체제(또는 플랫폼)과 연계하여 상기 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하기 위한 메인프레임(Mainframe)에 대응하는 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 한다.The controller 100 executes the application program on an operating system (or platform) provided in the client terminal (eg, arithmetic processing by a processor provided in the client terminal), and connects the terminal to the operating system (or platform). And a program execution code corresponding to a mainframe for interworking with a component (for example, a screen output means, a key input means, a storage means, a communication means, etc.).

본 발명의 실시 방법에 따르면, 상기 제어부(100)는 상기 클라이언트 단말에 구비된 기록매체에 기록된 후, 사용자에 의해 프로그램 실행 명령, 또는 다른 프로그램에 의한 프로그램 실행 명령에 따라 운영체제(또는 플랫폼)을 기반으로 상기 응용프로그램을 기동하여 실행되도록 하는 것이 바람직하며, 상기 응용프로그램의 실행과 동시에 상기 운영체제(또는 플랫폼)로부터 상기 단말 구성요소에 대한 사용권한을 획득하는 것이 바람직하다.According to the exemplary embodiment of the present invention, the controller 100 records the operating system (or platform) according to a program execution command by a user or a program execution command by another program after being recorded on a recording medium provided in the client terminal. It is preferable to start and execute the application program on the basis of the execution of the application program, and at the same time as the execution of the application program, it is desirable to obtain a usage right for the terminal component from the operating system (or platform).

또한, 상기 제어부(100)는 상기 응용프로그램의 실행과 동시에 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 응용프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것이 바람직하다.In addition, the control unit 100 preferably controls at least one function component provided in the application program to interoperate with the execution of the application program to confirm the program use right sharing through the keystroke clustering.

본 발명의 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식의 멀티 태스킹을 지원하는 경우, 상기 제어부(100)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(핸들)를 할당하는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 접근권한을 이용하기 위해 상기 제어부(100)에 인스턴스를 할당하는 것이 바람직하다.According to an exemplary embodiment of the present invention, when the operating system (or platform) supports event-based multitasking, the controller 100 may assign an access right (handle) for using the terminal component in each functional component. It is preferable to assign, and at this time, each functional component constituting the application program preferably allocates an instance to the controller 100 to use the access right.

본 발명의 다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식을 지원하지 않는 경우, 상기 제어부(100)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(인터럽트)를 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 인터럽트를 사용하기 위해 상기 인터럽트를 호출하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the operating system (or platform) does not support an event method, the controller 100 obtains an access right (interrupt) for using the terminal component in each functional component. It is preferable to come, wherein each functional component constituting the application program preferably calls the interrupt to use the interrupt.

본 발명의 또다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스의 메모리 주소에 접근하는 경우, 상기 제어부(100)는 상기 각 기능 구성부에서 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스에 대한 접근권한(메모리 주소)을 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 메모리 주소를 통해 상기 단말 구성요소에 접근하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the operating system (or platform) accesses a memory address of an input / output bus of a peripheral device corresponding to the terminal component, the controller 100 may be configured to perform the operation in the respective functional components. It is preferable to obtain an access right (memory address) of an input / output bus of a peripheral device corresponding to the terminal component, wherein each functional component constituting the application program accesses the terminal component through the memory address. It is preferable.

본 발명에 따르면, 상기 응용프로그램은 키 입력 기반의 각종 응용 기능에 대응하여 화면 출력수단으로 적어도 하나 이상의 키 입력 인터페이스를 출력하는 인터페이스 출력부(105)와, 상기 키 입력 인터페이스에 포함된 적어도 하나 이상의 키 입력 사용자 인터페이스를 통해 상기 키 입력수단으로부터 상기 키 입력 기반의 각종 응용 기능에 대응하는 사용자 입력 정보를 입력받는 정보 입력부(110)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 입력 정보를 기반으로 키 입력 기반의 각종 응용 기능을 수행하는 키 입력 기반 응용 기능부(145)를 구비하고, 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 필요한 정보를 수신하는 정보 수신부(115)를 더 구비하여 이루어지는 것을 특징으로 하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램의 목적 및 용도에 따른 키 입력 기반의 각종 응용 기능을 기 유추할 수 있을 것이므로, 상기 키 입력 기반 응용 기능부(145) 및 정보 수신부(115)에 대한 상세한 설명은 편의상 생략하기로 한다.According to the present invention, the application program is an interface output unit 105 for outputting at least one or more key input interface to the screen output means in response to various application functions based on the key input, and at least one or more included in the key input interface And an information input unit 110 which receives user input information corresponding to various application functions based on the key input from the key input means through a key input user interface, and based on the user input information And a key input based application function unit 145 for performing various input based application functions, and further comprising an information receiving unit 115 for receiving information necessary for providing the various key input based application functions. It is characterized by the common knowledge in the technical field to which the present invention belongs. Those having the same will be able to infer various application functions based on key input according to the purpose and purpose of the application program, and thus the detailed description of the key input based application function unit 145 and the information receiving unit 115 will be described for convenience. It will be omitted.

상기 제어부(100)에 의해 상기 응용프로그램이 기동되어 상기 단말 구성요소 중 상기 화면 출력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되면, 상기 인터페이스 출력부(105)는 키 입력 기반 응용 기능을 제공하기 위해 프로그램 코드 형태(또는 상기 저장수단에 구비된 인터페이스 정보)에 대응하는 키 입력 인터페이스를 상기 화면 출력수단으로 출력하는 것을 특징으로 한다.When the application program is started by the controller 100 to obtain an access right (for example, a handle, an interrupt, or a memory address) to the screen output means among the terminal components, the interface output unit 105 In order to provide a key input based application function, a key input interface corresponding to a program code form (or interface information included in the storage means) is output to the screen output means.

본 발명의 실시 방법에 따르면, 상기 인터페이스 출력부(105)에 의해 출력되는 적어도 하나 이상의 키 입력 인터페이스는 에디트(Edit) 컨트롤, 또는 콤보박스(ComboBox) 컨트롤, 또는 리스트박스(ListBox) 컨트롤, 또는 버튼(Button) 컨트 롤 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 이미지(Image) 컨트롤, 또는 각종 커스텀(Custom) 컨트롤을 더 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the at least one key input interface output by the interface output unit 105 may be an edit control, a combo box control, a list box control, or a button. It is preferable to include at least one (Button) control and the like, and it is preferable to further include an image control or various custom controls according to the intention of those skilled in the art.

본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the user interface for inputting the user input information in the key input interface, an edit control for inputting two or more key data constituting the string information included in the user input information (Edit Control) is preferably included.

본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, a user interface for inputting the user input information in the key input interface may display two or more key data buttons (or icons) constituting string information included in the user input information. And a button control for inputting two or more key data buttons (or icons) displayed on the screen by clicking (eg, pressing a left button of a mouse input device) through a pointer input device (eg, a mouse input device). ) Or Custom Control.

본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력수단이 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정 보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the screen output means provides a touch screen type key input interface, a user interface for inputting the user input information in the key input interface may include the user input information. Button control or custom control that displays two or more key data buttons (or icons) constituting string information contained in the screen, and clicks and inputs two or more key data buttons (or icons) displayed on the screen. It is preferable to include (Custom Control).

상기 제어부(100)에 의해 상기 단말 구성요소 중 상기 키 입력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되고, 상기 인터페이스 출력부(105)에 의해 상기 키 입력 인터페이스가 출력되면, 상기 정보 입력부(110)는 상기 클라이언트 단말에 구비된 키 입력수단을 통해 상기 키 입력 기반 응용 기능을 제공하기 위한 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리하는 것을 특징으로 한다.The control unit 100 obtains an access right (for example, a handle, an interrupt, or a memory address) of the key input unit among the terminal components, and the key input interface is provided by the interface output unit 105. When output, the information input unit 110 inputs one or more key data constituting string information included in user input information for providing the key input based application function through a key input unit provided in the client terminal. It is characterized by.

도면1을 참조하면, 상기 키스트로크 프로그램은, 상기 정보 입력부(110)가 상기 키 입력수단을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리시, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간(Duration) 정보, 입력 간격(Interval) 정보, 압력(Pressure) 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 키스트로크 정보 확인부(150)와, 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공하는 키스트로크 정보 가공부(155)를 구비하여 이루어지는 것을 특징으로 하며, 당업자의 의도에 따라 사용자 입력 정보에 포 함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버에서 수행하는 경우, 상기 가공된 키스트로크 정보를 상기 사용자 입력 정보와 연계하여 상기 프로그램 운용 서버로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 키스트로크 기반 사용자 입력 정보 생성부(160)와, 상기 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버로 전송하는 정보 전송부(120)를 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 1, the keystroke program includes the user input information when the information input unit 110 processes one or more key data constituting character string information included in the user input information through the key input means. Keystroke information verification unit for confirming the keystroke information including one or more input duration information, input interval information, pressure information for each key data constituting the string information contained in ( 150) and a keystroke information processing unit 155 for processing the identified keystroke information according to a predetermined keystroke processing method, and a character string included in user input information according to the intention of a person skilled in the art. Program operation on the network to confirm sharing of program permission through keystroke clustering of information. And a keystroke-based user input information generation unit 160 for generating keystroke-based user input information to be transmitted to the program operation server in association with the user input information. And an information transmitter 120 for transmitting the generated keystroke-based user input information to the program operation server.

상기 정보 입력부(110)가 상기 키 입력수단을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리시, 상기 키스트로크 정보 확인부(150)는 상기 키 입력수단과 연계하여 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것을 특징으로 한다.When the information input unit 110 processes one or more key data constituting character string information included in the user input information through the key input unit, the keystroke information checking unit 150 is associated with the key input unit. And keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting character string information included in the user input information.

여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.The input duration information may include time interval information that is maintained in a state in which each key corresponding to each key data constituting character string information included in the user input information is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입 력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to the exemplary embodiment of the present invention, the input duration information may include the key up from the time when the key corresponding to each key data constituting the character string information included in the user input information is down. It is preferable to include the time difference information until the time.

예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.For example, when the time when the key corresponding to the specific key data is down is called T_down, when the time when the key corresponding to the key data is down is called T_up and when the input duration is called T_duration, input duration information, It is calculated through a formula such as "T_duration = T_up-T_down".

본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.According to the exemplary embodiment of the present invention, the key data constituting the character string information included in the user input information must be keyed down after the key is down, so that the input duration information always has a positive number.

상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.The input interval information is a key corresponding to the previous key data constituting the string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is characterized in that it comprises the time interval information from the time after the pressing until the key corresponding to the next key data is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정 보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the input interval information constitutes string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. And the time difference information from the time when the key corresponding to the previous key data is down after the key is up to the time when the next key is down.

예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.For example, among two or more pieces of key data constituting the character string information included in the user input information, a time at which a key corresponding to the previous key data is up is called T (n-1) _up, and a key corresponding to the next key data is When the down time is called T (n) _down and the input interval information is called T_interval, the input interval information is calculated through a calculation formula such as "T_interval = T (n) _down-T (n-1) _up". do.

본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.According to an exemplary embodiment of the present invention, when the key corresponding to the previous key data is up and the key corresponding to the next key data is down among two or more key data constituting the character string information included in the user input information, Preferably, the input interval information has positive interval information including a positive number.

본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.According to another embodiment of the present invention, among the two or more key data constituting the string information included in the user input information according to the wrist / finger joint characteristics, key input habits, key input speed of the user corresponding to the previous key data If the key corresponding to the next key data is down before the up key is up after being down, and the key corresponding to the next key data is down before the key corresponding to the previous key data is up, the input The interval information preferably has negative interval information including negative numbers.

여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.Here, the negative interval information includes time interval information in which a key corresponding to the previous key data and a key corresponding to the next key data are simultaneously pressed among two or more key data constituting the character string information included in the user input information. It is preferable to comprise, and it is possible to continue two or more times.

만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.If a third key of the three or more pieces of key data constituting the character string information included in the user input information is down before the first key and the second key are both down, the input interval between the first key and the second key Preferably, the information includes negative interval information from the first key up until the second key is down, and the input interval information between the second key and the third key is the third key after the second key is up. It is preferable to include the negative interval information until the down.

본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.According to another exemplary embodiment of the present invention, among two or more pieces of key data constituting the character string information included in the user input information, the time corresponding to the previous key data is down and then up corresponds to the next key data. The time at which the key is down may be processed at the same time within a predetermined reference time range. In this case, the input interval information may have a zero number (= Zero Interval).

상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 클라이언트 단말에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.When the pressure information is provided with a pressure sensor on each key button constituting a key input device provided in the client terminal for inputting each key data constituting character string information included in the user input information, the user In the process of inputting each key corresponding to each key data constituting the character string information included in the input information, key pressure information sensed by the pressure sensor is preferably included.

본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to an exemplary embodiment of the present invention, the pressure information may include maximum peak pressure information for an input duration of pressing of each key corresponding to each key data constituting character string information included in the user input information. desirable.

본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is a pressure sensed by a predetermined reference time unit for an input duration in which each key corresponding to each key data constituting character string information included in the user input information is pressed. It is preferred to include the average pressure value for the information.

본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is sensed by a predetermined reference time unit for each input key pressed time corresponding to each key data constituting character string information included in the user input information. It is preferable that the pressure information calculated by substituting a plurality of pieces of pressure information into a preset pressure calculation formula (for example, an integral formula) is included.

본 발명의 실시 방법에 따라 상기 키 입력 인터페이스에 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 필요한 일반 입력 정보(예컨대, 키스트로크 기반 사용자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함된 경우, 상기 키스트로크 정보 확인부(150)는 상기 키 입력 인터페이스 상에 캐럿이 할당된 컨트롤 정보를 판독하여 상기 키 입력 인터페이스를 기반으로 상기 정보 입력부(110)를 통해 입력되는 복수의 정보 중 상기 사용자 입력 정보를 확인하고, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것이 바람직하다.According to an exemplary embodiment of the present invention, general input information (for example, keystroke-based user input information required for a program usage right sharing confirmation function through keystroke clustering of character string information included in the user input information in the key input interface) is provided. In the case of further including a user interface for inputting input information not included, the keystroke information checking unit 150 reads control information assigned with a caret on the key input interface and based on the key input interface. Checking the user input information of the plurality of information input through the information input unit 110, input duration information, input interval information, pressure information for each key data constituting the character string information included in the user input information Checking for keystroke information that includes one or more Is recommended.

상기 키스트로크 정보 확인부(150)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로 크 정보 가공부(155)는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공하는 것을 특징으로 한다.When keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is confirmed through the keystroke information checking unit 150, The keystroke information processing unit 155 may include keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting character string information included in the user input information. It is characterized in that processing according to the set processing method.

본 발명의 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(155)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to the exemplary embodiment of the present invention, the keystroke information processing unit 155 may process the input duration information and the input interval information of the checked keystroke information in millisecond units, wherein the time unit is Various modifications can be made according to the intention of those skilled in the art, and the present invention is characterized by including all the modified methods described above.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234", the input duration information of "1" is 500ms, the input duration information of "2" is 450ms, and the input duration information of "3" is 400ms. , Input duration information of "4" is processed in the form of 500ms, input interval information of "1" and "2" is 300ms, input interval information of "2" and "3" is 500ms, "3" And input interval information of " 4 " is preferably processed into a form such as 400 ms.

본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(155)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설 정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the keystroke information processing unit 155 may process the input duration information and the input interval information of the checked keystroke information into a predetermined number of reference unit times, Here, the reference unit time is preferably made to include a minimum key repetition time, the reference unit time can be implemented in various modifications according to the intention of those skilled in the art, the present invention includes all the modified implementation method Characterized in that made.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2"와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234" and the reference unit time information is 10 ms, 50 pieces of input duration information of "1" are 45 pieces of input duration information of "2". The input duration information of "3" is processed into 40 pieces, the input duration information of "4" into 50 pieces, and the input interval information of "1" and "2" is 30 pieces, "2" and 50 pieces of input interval information of "3" and 40 pieces of input interval information of "3" and "4" are preferably processed.

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(155)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the keystroke information processing unit 155 may process the input duration information and the input interval information of the checked keystroke information into a predetermined threshold time interval value. Here, the threshold time and the number of critical time intervals can be variously modified according to the intention of those skilled in the art, and the present invention is characterized by including all the modified implementation method.

예컨대, 상기 사용자 입력 정보가 "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'와 같은 형태로 가공하는 것이 바람직하다.For example, the user input information includes a number such as "1234", and the threshold time interval value is "0" which is 299ms or less, 399ms in 300ms "1", "2" in 400ms and 499ms in 5ms, and 500ms in 599ms. "3", 600ms to 699ms to "4", 700ms to 799ms to "5", 800ms to 899ms to "6", 900ms to 999ms to "7", 1000ms to "8", "1" The input duration information of '3', the input duration information of '2' is '2', the input duration information of '3' is '2', and the input duration information of '4' is the same as '3'. And the input interval information of "1" and "2" is "1", the input interval information of "2" and "3" is "3", and the input interval information of "3" and "4" It is preferable to process in the form of '2'.

본 발명의 실시 방법에 따르면, 상기 키스트로크 정보 가공부(155)는 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.According to the exemplary embodiment of the present invention, the keystroke information processing unit 155 preferably processes the sensor-specific sensing data sensed by the pressure sensor into one unified pressure unit (eg, Pascal).

본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버에서 수행하는 경우, 상기 키스트로크 정보 가공부(155)에 의해 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공되면, 상기 키스트로크 기반 사용자 입력 정보 생성부(160)는 상기 가공된 키스트로크 정보와 상기 사용자 입력 정보를 연계하여 상기 프로그램 운용 서버로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 것을 특징으로 한다.According to the intention of a person of ordinary skill in the art of the present invention, when the program use authority sharing confirmation through keystroke clustering on the string information included in the user input information is performed by the program operation server on the communication network, the keystroke information processing unit 155 When the checked keystroke information is processed according to a preset keystroke processing method, the keystroke based user input information generation unit 160 operates the program by linking the processed keystroke information with the user input information. And generating keystroke based user input information to be transmitted to the server.

본 발명의 일 실시 방법에 따라 상기 클라이언트 단말과 프로그램 운용 서버가 HTTP(Hyper-Text Transfer Protocol) 호환 프로토콜을 통해 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 기 설정된 조합(또는 결합) 방식에 따라 조합(또는 결합)하여 상기 프로그램 운용 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.According to an embodiment of the present invention, when the client terminal and the program operation server are connected to a communication channel through a Hyper-Text Transfer Protocol (HTTP) compatible protocol, the keystroke-based user input information may be generated by the generation unit. The stroke information may be combined (or combined) according to a preset combination (or combination) to generate keystroke-based user input information for transmission to the program operation server.

여기서, 상기 사용자 입력 정보와 키스트로크 정보의 조합(또는 결합) 방식은 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.Here, the combination (or combination) of the user input information and the keystroke information can be implemented in various modifications according to the intention of those skilled in the art, and it is apparent that the present invention includes all the inferred implementation methods. It is.

예컨대, 상기 사용자 입력 정보가 "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"과 같이 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태로 변형되어 생성되는 것이 가능하다.For example, the user input information includes a number such as "1234", the keystroke information includes input duration information and input interval information in milliseconds, and the input duration information of "1" is 500ms, "2". Input duration information of "450ms", input duration information of "3" is 400ms, input duration information of "4" is 500ms, input interval information of "1" and "2" is 300ms, "2" And input interval information of "3" is 500ms, and input interval information of "3" and "4" is 400ms. The keystroke-based user input information may be generated as "1234 & 500.450.400.500: 300.500.400". The keystroke-based user input information may be generated in various forms. In addition, the keystroke-based user input information may be generated in various forms, for example, "1234 & 500 (300) .450 (500) .400 (400) .500".

본 발명의 다른 일 실시 방법에 따라 상기 클라이언트 단말과 프로그램 운용 서버가 상기 프로그램 운용 서버에서 정의한 통신 프로토콜에 따라 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 상기 통신 프로토콜에서 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조에 포함하여 상기 프로그램 운용 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.According to another embodiment of the present invention, when the client terminal and the program management server are connected to a communication channel according to a communication protocol defined by the program management server, the keystroke based user input information is generated by the generation unit of the user input information and keystrokes. It is preferable to generate keystroke-based user input information for transmission to the program operation server by including the information in the keystroke-based user input information data structure defined in the communication protocol.

예컨대, 상기 프로그램 운용 서버에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조가 "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에 상기 입력 지속 시간 정보와 입력 간격 정보를 대 입하여 상기 프로그램 운용 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보가 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태의 데이터 구조를 통해 생성되는 것이 가능하다.For example, the keystroke based user input information data structure defined in the program operation server includes a structured data structure such as "struct data {char character; int duration; int interval; int pressure};", and the user input information. Includes a number such as "1234", the keystroke information includes input duration information and input interval information in milliseconds, and the input duration information of "1" is 500ms, and input duration information of "2". Is 450ms, input duration information of "3" is 400ms, input duration information of "4" is 500ms, input interval information of "1" and "2" is 300ms, input of "2" and "3" If the interval information is 500ms, and the input interval information of "3" and "4" is 400ms, the input duration information and input to the data.character, data.duration, data.interval, data.pressure of the structured data structure Program operation by substituting interval information And a key stroke-based input user information to send to the server can be created, in addition it is possible that the key stroke-based input user information is generated by the data structures of various types.

예컨대, 상기 프로그램 운용 서버에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조는 상기 "1234&500.450.400.500:300.500.400" 또는 "1234&500(300).450(500).400(400).500"와 같은 데이터 구조를 포함하여도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.For example, the keystroke-based user input information data structure defined by the program operation server may be the same as the "1234 & 500.450.400.500: 300.500.400" or "1234 & 500 (300) .450 (500) .400 (400) .500". The same data structure may be included, and the present invention is not limited thereto.

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 상기 가공된 키스트로크 정보를 별도의 프로토콜을 통해 상기 프로그램 운용 서버로 전송하도록 분리된 키스트로크 기반 사용자 입력 정보를 생성하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to another exemplary embodiment of the present invention, the keystroke-based user input information may include a keystroke-based generator configured to transmit the user input information and the processed keystroke information to the program operation server through a separate protocol. It is possible to generate user input information, by which the present invention is not limited.

본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버에서 수행하는 경우, 상기 키스트로크 기반 사용자 입력 정보 생성부(160)를 통해 상기 프로그램 운용 서버로 전송할 키스트로크 기반 사용자 입력 정보가 생성되면, 상기 정보 전송부(120)는 상기 클라이언트 단말에 구비된 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버로 전송하는 것을 특징으로 한다.According to the intention of a person skilled in the art, the keystroke-based user input information generation unit may be performed when a program operation server on a communication network performs program sharing permission check through keystroke clustering on string information included in user input information. When the keystroke-based user input information to be transmitted to the program operation server is generated through the 160, the information transmitter 120 transmits the generated keystroke-based user input information through communication means provided in the client terminal. Characterized in that the transmission to the program operation server.

본 발명의 실시 방법에 따르면, 상기 클라이언트 단말에 암호화 모듈(도시생략)이 구비된 경우, 상기 정보 전송부(120)는 상기 암호화 모듈(도시생략)을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 암호화하여 프로그램 운용 서버로 전송하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to an embodiment of the present invention, when an encryption module (not shown) is provided in the client terminal, the information transmitter 120 may generate the generated keystroke based user input information through the encryption module (not shown). It is possible to encrypt and transmit to the program management server, whereby the present invention is not limited.

도면1을 참조하면, 상기 응용프로그램은, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 키스트로크 정보 저장부(170)와, 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하고, 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부(165)와, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부(175)과, 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 키스트로크 패턴 정보 저장부(140)을 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 1, when the application program determines keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting character string information included in the user input information, Linking the keystroke information including one or more input duration information, input interval information, and pressure information about one or more key data constituting the string information included in the user input information with the string information included in the user input information. N (N> 1) pieces including the keystroke information storage unit 170 to store in the storage means and the same word (or sentence or index word) stored at least a predetermined number of times during a predetermined period of the character string information stored in the storage means. Check the string information, and check the N keystroke information associated with the identified N string information. And n (n <= N) in which at least one pattern target information among input key duration information, input interval information, and pressure information for each key data included in the keystroke information among the identified N keystroke information is distributed within a predetermined range. Keystroke cluster identification unit 165 for identifying m (m> = 1) keystroke clusters including) pattern target keystroke information, and each of the identified keystroke clusters. A keystroke pattern information generation unit 175 for generating m keystroke pattern information for m keystroke clusters using the n keystroke information, and storing the generated m keystroke pattern information in a storage means. And a keystroke pattern information storage unit 140.

상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 저장부(170)는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 것을 특징으로 한다.When the keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is confirmed, the keystroke information storage unit 170 Input duration information and input interval information for one or more pieces of key data constituting string information included in the user input information for a function of checking program use rights sharing through keystroke clustering of the string information included in the user input information. And storing keystroke information including one or more pressure information in storage means in association with character string information included in the user input information.

상기 키스트로크 정보 저장부(170)에 의해 상기 저장수단에 상기 추출된 키스트로크 정보가 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장된 후, 상기 키스트로크 클러스터 확인부(165)는 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하는 것을 특징으로 한다.After the extracted keystroke information is stored in the storage means by the keystroke information storage unit 170 in association with the character string information included in the user input information, the keystroke cluster identification unit 165 stores the storage means. N (N> 1) string information including the same word (or sentence or index word) stored at least a predetermined number of times for a predetermined period of time, and N keys associated with the identified N string information It is characterized by checking the stroke information.

여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.Here, the predetermined period refers to a period up to a recent past predetermined point of time based on a current time point for identifying the keystroke cluster, and the predetermined number of times indicates the minimum number of keystroke information required to generate the keystroke pattern information. It is preferable to comprise.

만약 저장수단으로부터 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보가 확인되면, 상기 키스트로크 클러스터 확인부(165)는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보를 결정하는 것을 특징으로 하며, 상기 패턴 대상 정보가 기 설정된 경우, 상기 패턴 대상 정보를 결정하는 것이 생략되어도 무방하다.If the N (N> 1) keystroke information stored more than a predetermined number of times during a predetermined period is confirmed from the storage means, the keystroke cluster identification unit 165 is included in the keystroke information among the identified N keystroke information. And determining one or more pattern target information among input duration information, input interval information, and pressure information for each key data. If the pattern target information is preset, determining the pattern target information may be omitted. Do.

여기서, 상기 패턴 대상 정보는, 입력 지속시간 정보와 입력 간격 정보를 포함하거나, 또는 입력 지속시간 정보와 입력 간격 정보 및 압력 정보를 포함하여 이루어지는 것이 바람직하다.Here, the pattern object information preferably includes input duration information and input interval information, or preferably includes input duration information, input interval information, and pressure information.

이후, 상기 키스트로크 클러스터 확인부(165)는 상기 결정된(또는 기 설정 된) 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 확인하는 것을 특징으로 한다. Thereafter, the keystroke cluster identification unit 165 may check n (n <= N) pattern target keystroke information in which the determined (or predetermined) pattern target information is distributed within a predetermined range.

여기서, n(n<=N)개의 패턴 대상 키스트로크 정보는 하나의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 것을 특징으로 하며, 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 개수의 키스트로크 정보를 포함하여 이루어지는 것이 바람직하다.Here, the n (n <= N) pattern target keystroke information corresponds to one keystroke cluster, and the minimum number of keystroke information required for generating the keystroke pattern information is obtained. It is preferable to comprise.

본 발명에 따르면, 상기 키스트로크 클러스터 확인부(165)는 n개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인하는 것을 특징으로 한다.According to the present invention, the keystroke cluster identification unit 165 may identify m (m> = 1) keystroke clusters including n pattern target keystroke information.

상기 키스트로크 클러스터 확인부(165)에 의해 m개의 키스트로크 클러스터가 확인되면, 상기 키스트로크 패턴 정보 생성부(175)는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.When the m keystroke clusters are identified by the keystroke cluster identification unit 165, the keystroke pattern information generation unit 175 may generate n keystroke information included in each of the identified m keystroke clusters. M keystroke pattern information corresponding to the m keystroke clusters is generated.

본 발명의 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(175)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보 를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.According to an exemplary embodiment of the present invention, the keystroke pattern information generation unit 175 may generate keys for m keystroke clusters by using each of n keystroke information included in the identified m keystroke clusters. It is preferable to generate m keystroke pattern information including a stroke average value and a variance value.

본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(175)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke pattern information generation unit 175 substitutes each of the n keystroke information included in the identified m keystroke clusters into a preset pattern calculation formula, Alternatively, it is preferable to generate m keystroke pattern information by performing substitution / combination according to a preset pattern calculation rule or by processing a geometric operation using a preset graph. Here, the preset pattern calculation formula, pattern calculation rule, and geometric calculation may be performed by converting the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by those skilled in the art. It is preferable to comprise processing.

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(175)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명 을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke pattern information generation unit 175 multiplies each of the n keystroke information included in the identified m keystroke clusters by each predetermined weight. It is preferable to generate m keystroke pattern information by substituting a predetermined pattern calculation formula, replacing / combining according to a predetermined pattern calculation law, or processing a geometric operation using a preset graph. In this case, the weight is preferably set by the person skilled in the art to set more weights to the information item that acts as an important factor in generating the keystroke pattern information, and the preset pattern calculation formula, pattern calculation rule and geometric calculation are described in the present invention. It is preferable to include processing the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by a person skilled in the art.

상기 키스트로크 패턴 정보 생성부(175)에 의해 m개의 키스트로크 패턴 정보가 생성되면, 상기 키스트로크 패턴 정보 저장부(140)는 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 것을 특징으로 한다.When m keystroke pattern information is generated by the keystroke pattern information generation unit 175, the keystroke pattern information storage unit 140 stores the generated m keystroke pattern information in a storage unit. It is done.

본 발명의 실시 방법에 따르면, 상기 키스트로크 패턴 정보 저장부(140)는 상기 생성된 m개의 키스트로크 패턴 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하거나, 또는 상기 생성된 m개의 키스트로크 패턴 정보를 각각의 키스트로크 패턴 정보를 생성하는데 사용된 키스트로크 클러스터에 포함된 n개의 키스트로크 정보와 연계하여 저장수단에 저장하는 것이 바람직하다.According to the exemplary embodiment of the present invention, the keystroke pattern information storage unit 140 stores the generated m keystroke pattern information in a storage means in association with the user input information, or the generated m keystrokes. Preferably, the pattern information is stored in the storage means in association with the n keystroke information included in the keystroke cluster used to generate the respective keystroke pattern information.

도면1을 참조하면, 상기 응용프로그램은, 상기 키스트로크 패턴 정보 생성부(175)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 패턴 유사도 확인부(125)와, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패 턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하고, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부(130)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하는 공유 판별 정보 저장부(135), 또는 상기 공유 판별 정보를 통신망 상의 프로그램 운용 서버로 전송하는 정보 전송부(120)를 더 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 1, when two or more keystroke pattern information is generated by the keystroke pattern information generation unit 175, the application program compares the generated two or more keystroke pattern information and compares the two or more keystroke patterns. The pattern similarity confirming unit 125 that checks the keystroke pattern similarity information with respect to the pattern information, and if the identified keystroke pattern similarity information is equal to or greater than a preset sharing determination criterion similarity level, the two or more comparison target keystroke pattern information is one. Confirm with the keystroke pattern information of to confirm that the user authority (for example, user authentication information, or a client terminal use authority for inputting user input information) is used by only one user, and the confirmed keystroke pattern Similarity information is based on In this case, the two or more comparison target keystroke pattern information is identified as two or more different keystroke pattern information so that the user authority (for example, user authentication information or client terminal use authority for inputting user input information) is applied to two or more users. And a sharing confirmation unit 130 for confirming that the data is being shared by the user. The sharing determination information on the user's authority (for example, user authentication information or a client terminal use authority for inputting user input information) is determined. And a sharing determination information storage unit 135 for storing in the storage means in association with the user input information, or an information transmission unit 120 for transmitting the sharing determination information to a program operation server on a communication network. .

상기 키스트로크 패턴 정보 생성부(175)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 패턴 유사도 확인부(125)는 기 설정된 패턴 유사도 산출식(또는 연산 법칙, 또는 기학학적 연산)을 통해 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 것을 특징으로 한다.When two or more pieces of keystroke pattern information are generated by the keystroke pattern information generating unit 175, the pattern similarity checking unit 125 performs the predetermined pattern similarity calculation formula (or a calculation rule or a geometrical operation). The keystroke pattern similarity information of the two or more keystroke pattern information is confirmed by comparing the generated two or more keystroke pattern information.

만약 상기 키스트로크 패턴 유사도 정보가 확인되면, 상기 공유 확인부(130)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(130)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.If the keystroke pattern similarity information is confirmed, the sharing confirmation unit 130 determines that the two or more comparison target keystroke pattern information is one when the identified keystroke pattern similarity information is equal to or greater than a preset sharing determination criterion similarity. Characterized in that the keystroke pattern of the, characterized in that, in this case, the sharing confirmation unit 130 is the user's authority (for example, the user authentication information, or the client terminal access authority for inputting user input information) is not shared only It is desirable to confirm that it is being used by one user.

또한, 상기 공유 확인부(130)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(130)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 바람직하다.In addition, when the identified keystroke pattern similarity information is determined to be equal to or less than a preset sharing criterion similarity, the sharing checker 130 checks the two or more comparison target keystroke pattern information as two or more different keystroke pattern information. In this case, the sharing confirmation unit 130 confirms that the user authority (eg, user terminal authentication authority for inputting user authentication information or user input information) is shared by two or more users. It is preferable.

또한, 상기 키스트로크 패턴 정보 생성부(175)에 의해 오직 하나의 키스트로크 패턴 정보가 생성되면, 상기 공유 확인부(130)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.In addition, when only one keystroke pattern information is generated by the keystroke pattern information generation unit 175, the sharing confirmation unit 130 inputs the user right (eg, user authentication information or user input information). Client terminal usage rights) are not shared and are being used by only one user.

본 발명의 다른 실시 방법에 따르면, 상기 공유 확인부(130)는 상기 패턴 유사도 확인부(125)에 의해 키스트로크 패턴 유사도 정보 생성과 무관하게 상기 키스트로크 클러스터 확인부(165)에 의해 확인되는 키스트로크 클러스터 개수, 또는 상기 키스트로크 패턴 정보 생성부(175)에 의해 생성된 상기 키스트로크 패턴 정보 개수가 두개 이상인 경우, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to another exemplary embodiment of the present invention, the sharing confirmation unit 130 is a key identified by the keystroke cluster identification unit 165 irrespective of keystroke pattern similarity information generation by the pattern similarity identification unit 125. When the number of stroke clusters or the number of keystroke pattern information generated by the keystroke pattern information generation unit 175 is two or more, use of the client terminal for inputting the user authority (eg, user authentication information or user input information). Authority) is shared by two or more users, thereby limiting the present invention.

상기 공유 확인부(130)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 여부가 확인되면, 상기 공유 판별 정보 저장부(135)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장한다.When the sharing confirmation unit 130 confirms whether the sharing of the user authority (for example, the user authentication information, or the user terminal usage authority for inputting user input information) is shared, the sharing determination information storage unit 135 Share determination information on user authority (eg, user authentication information or a client terminal use authority for inputting user input information) is generated, and the generated sharing determination information is stored in storage means in association with the user input information.

또는, 상기 공유 확인부(130)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 여부가 확인되면, 상기 정보 전송부(120)는 상기 사용자 권한(예컨대, 사용자 인증 정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 통신수단을 통해 상기 생성된 공유 판별 정보를 통신망 상의 프로그램 운용 서버로 전송한다.Alternatively, when it is confirmed by the sharing confirmation unit 130 whether to share the user right (eg, user authentication information, or a user terminal use authority for inputting user input information), the information transmitting unit 120 determines the sharing. Generate sharing discrimination information on user authority (for example, user authentication information, or client terminal use authority to input user input information), and transmit the generated sharing discrimination information to a program operation server on a communication network through the communication means; .

도면2는 본 발명의 다른 일 실시 방법에 따라 키스트로크 클러스터링을 통해 응용프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 키스트로크 프로그램 기능 구성을 도시한 도면이다.2 is a diagram illustrating a keystroke program function configuration having a function of confirming whether to share an application program right through keystroke clustering according to another exemplary embodiment of the present invention.

보다 상세하게 본 도면2는 키 입력 기반의 각종 응용 기능을 구비하여 클라이언트 단말에 구비된 응용프로그램과 적어도 하나 이상의 프로세스 간 통신 방식(예컨대, 프로세스 간 메시지 교환 방식, 또는 프로세스 간 메모리 공유 방식, 또는 프로세스 간 라이브러리 파일(LIB/DLL) 공유 방식, 형식 라이브러리(Type Library) 방식 등)을 통해 연동하고, 상기 프로세스 간 통신을 통해 상기 응용프로그램의 키 입력 기반 응용 기능에 대응하여 키 입력되는 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 상기 응용프로그램에 대한 이용 권한이 공유되고 있는지 확인하는 키스트로크 프로그램의 기능 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 키스트로크 클러스터링을 통해 응용프로그램 이용 권한에 대한 공유 여부를 확인하는 기능을 구비한 키스트로크 프로그램 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면2에 도시된 실시 방법으로 한정되지 아니한다.In more detail, FIG. 2 illustrates various types of application functions based on key input, and at least one inter-process communication method (eg, inter-process message exchange method, or inter-process memory sharing method, or process) with an application program provided in a client terminal. Inter-library file (LIB / DLL) sharing method, type library method, etc.) and inter-process communication to the user input information that is keyed in corresponding to the key input based application function of the application program. The function configuration of the keystroke program to check whether the access rights for the application program is shared through keystroke clustering of the included string information. The keyast by referring to and / or modifying Figure 2 It is possible to infer various implementation methods for the configuration of the keystroke program function having a function of checking whether the application usage rights are shared through the clustering, but the present invention includes all the inferred implementation methods. It is not limited to the implementation method shown in FIG.

본 발명에 따르면, 상기 키스트로크 프로그램이 구비된 클라이언트 단말은, 상기 키스트로크 프로그램에 대응하는 프로그램 코드가 기록되는 기록매체, 및 상기 키스트로크 프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 프로세스 간 통신을 통해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역을 구비한 메모리부에 대응하는 저장수단과, 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위해 출력하는 적어도 하나 이상의 키 입력 인터페이스를 그래픽 사용자 인터페이스를 기반으로 상기 클라이언트 단말에 구비된 화면 출력장치로 출력하는 화면 출력수단과, 상기 클라이언트 단말에 구비된 입력장치(예컨대, 키보드(Keyboard), 또는 키패드(Keypad), 또는 마우스(Mouse) 등)와 연계하여 상기 응용프로그램에 구비된 각종 응용 기능을 제공하기 위한 적어도 하나 이상의 키 데이터를 입력하는 키 입력수단과, 상기 클라이언트 단말이 접속한 유선 통신망(또는 무선 통신망)을 통해 통신망 상의 프로그램 운용 서버와 통신채널을 연결하고, 상기 통신채널을 통해 상기 프로그램 운용 서버와 상기 응용프로그램의 키 입력 기반의 각종 응용 기능 및 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 적어도 하나 이상의 정보(또는 데이터)를 송수신하는 통신수단을 구비하여 이루어지는 것을 특징으로 한다.According to the present invention, a client terminal provided with the keystroke program includes a recording medium on which a program code corresponding to the keystroke program is recorded, and the keystroke program to confirm sharing of program use rights through the keystroke clustering. Storage for linking and storing one or more string information included in user input information input through a key input interface included in the application program through the inter-process communication and keystroke information for each key data included in the string information. A storage unit corresponding to a memory unit having an area, and at least one key input interface outputted to provide various application functions included in the application program based on a graphical user interface; Screen output means for outputting to an output device and various applications provided in the application program in connection with an input device (for example, a keyboard, a keypad, a mouse, etc.) provided in the client terminal. A key input means for inputting at least one key data for providing a function, and a communication channel with a program operation server on a communication network through a wired communication network (or a wireless communication network) to which the client terminal is connected, and through the communication channel. And a communication means for transmitting and receiving the program operation server and at least one information (or data) for checking the program usage right sharing through keystroke clustering and various application functions based on key input of the application program. .

본 발명의 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 대응하여 표출되는 상기 사용자의 자연적인 키 입력 행동패턴에 대응하는 자연적 키스트로크(Natural Keystroke)를 포함하여 이루어지는 것이 바람직하다.According to an exemplary embodiment of the present invention, a keystroke for the user input information input through the key input means may be displayed in response to a user's wrist / finger joint characteristics, key input habits, and key input speed. It is preferable to include a natural keystroke corresponding to a typical key input behavior pattern.

본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력수단을 통해 입력되는 사용자 입력 정보에 대한 키스트로크는, 사용자가 자신의 자연적인 키 입력 행동패턴과 무관하게 인위적으로 조작한 키 입력 행동패턴에 대응하는 인위적 키스트로크(Artificial Keystroke)를 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke for the user input information input through the key input means corresponds to a key input behavior pattern artificially manipulated by the user regardless of his or her natural key input behavior pattern. It is preferable to include an artificial keystroke (Artificial Keystroke).

본 발명의 실시 방법에 따르면, 상기 저장수단은 상기 응용프로그램에서 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 상기 화면 출력수단으로 출력하는 적어도 하나 이상의 키 입력 인터페이스에 대응하는 인터페이스 정보를 저장하는 것이 바람직하다.According to an embodiment of the present invention, the storage means stores the interface information corresponding to at least one or more key input interfaces outputted to the screen output means in order to provide various application functions based on the key input in the application program. desirable.

본 발명의 실시 방법에 따르면, 상기 인터페이스 정보에 대응하는 키 입력 인터페이스는, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 사용자 인터페이스, 또는 뷰(View)를 포함하여 이루어지는 것이 바람직하며, 상기 키 입력 인터페이스는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 사용자 입력 정보를 입력하는 사용자 인터페이스 이외에, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인과 무관한 일반 입력 정보(예컨대, 키스트로크 기반 사용자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함하여 이루어지는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.According to an embodiment of the present invention, a key input interface corresponding to the interface information may include various key input user interfaces or views corresponding to various application functions based on key input provided in the application program. Preferably, the key input interface is a character string included in the user input information, in addition to the user interface for inputting user input information for checking the program use rights sharing through keystroke clustering for the character string information included in the user input information. It may further comprise a user interface for inputting general input information (for example, input information not included in keystroke-based user input information) irrelevant to checking program permission sharing through keystroke clustering of information. Bayida by putting out clearly SHALL not limited by the present invention.

본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the user interface for inputting the user input information in the key input interface, an edit control for inputting two or more key data constituting the string information included in the user input information (Edit Control) is preferably included.

본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트 롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, a user interface for inputting the user input information in the key input interface may display two or more key data buttons (or icons) constituting string information included in the user input information. And a button control for inputting two or more key data buttons (or icons) displayed on the screen by clicking (eg, pressing a left button of a mouse input device) through a pointer input device (eg, a mouse input device). ) Or Custom Control.

본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력부가 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the screen output unit provides a touch screen type key input interface, a user interface for inputting the user input information in the key input interface is included in the user input information. Displays two or more key data buttons (or icons) constituting the generated string information on the screen, and clicks or enters two or more key data buttons (or icons) displayed on the screen. Control) is preferably included.

본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능에 대응하는 각종 키 입력 인터페이스에 대한 다양한 실시 방법을 유추할 수 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.Those skilled in the art to which the present invention pertains will be able to infer various implementation methods for various key input interfaces corresponding to various application functions based on key input provided in the application program. Description will be omitted for convenience.

또한, 상기 저장수단은 상기 키스트로크 프로그램에서 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 프로세스 간 통신을 통해 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보에 포함된 하나 이상의 문자열 정보와 상기 문자열 정보에 포함된 각 키 데이터에 대한 키스트로크 정보를 연계하여 저장하는 저장영역과, 상기 키스트로크 정 보에 대한 하나 이상의 키스트로크 패턴 정보를 저장하는 저장영역과, 상기 키스트로크 패턴 정보를 기반으로 상기 프로그램 이용 권한 공유 여부를 판별하는 공유 판별 정보를 저장하는 저장영역을 구비하여 이루어지는 것이 바람직하다.In addition, the storage means is one included in the user input information input through the key input interface provided in the application through the inter-process communication to confirm the program use rights sharing through the keystroke clustering in the keystroke program A storage area for storing the above string information and keystroke information for each key data included in the string information, a storage area for storing one or more keystroke pattern information for the keystroke information, and the keystroke It is preferable to have a storage area for storing the share determination information for determining whether to share the program use authority based on the pattern information.

본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 클라이언트 단말에 대응하는 각종 유선단말(또는 무선단말)의 단말 성에 따른 상기 저장수단, 화면 출력수단, 키 입력수단 및 통신수단에 대한 기술적 특징을 명백하게 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.Those skilled in the art to which the present invention pertains, the storage means, screen output means, key input means and communication means according to the terminal characteristics of various wired terminals (or wireless terminals) corresponding to the client terminal Since the features will be clearly understood, detailed description thereof will be omitted for convenience.

도면2를 참조하면, 상기 키스트로크 프로그램은 상기 클라이언트 단말에 구비된 기록매체에 기록된 후, 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 프로세스 간 통신을 통해 연동되는 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력되는 사용자 입력 정보를 기반으로 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 실행 및 동작을 제어하며, 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하기 위해 상기 키스트로크 프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하거나, 또는 상기 기능 구성부들이 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼)를 통해 상기 클라이언트 단말에 구비된 적어도 하나 이상의 단말 구성요소(예컨대, 저장수단, 통신수단 등)와 연동하여 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 제공하도록 제어하는 제어부(225)를 구 비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 2, the keystroke program is recorded in a recording medium provided in the client terminal, and then provided in an application program linked through the inter-process communication in connection with an operating system (or platform) provided in the client terminal. To execute and control a program access right sharing check function through keystroke clustering based on user input information input through the key input interface, and to provide a program use right sharing check function through keystroke clustering. At least one or more functional components constituting a keystroke program interoperate with each other, or at least one or more terminal components (eg, provided in the client terminal through an operating system (or platform) provided in the client terminal) that And a control unit 225 for controlling the program access right sharing function through the keystroke clustering.

상기 제어부(225)는 상기 키스트로크 프로그램이 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼) 상에서 실행(예컨대, 클라이언트 단말에 구비된 프로세서에 의해 연산처리)되고, 상기 운영체제(또는 플랫폼)과 연계하여 상기 단말 구성요소(예컨대, 저장수단, 통신수단 등)와 연동하기 위한 메인프레임(Mainframe)에 대응하는 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 한다.The control unit 225 executes the keystroke program on an operating system (or platform) provided in the client terminal (eg, arithmetic processing by a processor provided in the client terminal), and connects the keystroke program to the operating system (or platform). And a program execution code corresponding to a mainframe (mainframe) for interworking with a terminal component (eg, storage means, communication means, etc.).

본 발명의 실시 방법에 따르면, 상기 제어부(225)는 상기 클라이언트 단말에 구비된 기록매체에 기록된 후, 사용자에 의해 프로그램 실행 명령, 또는 상기 응용프로그램에 의한 프로그램 실행 명령에 따라 운영체제(또는 플랫폼)을 기반으로 상기 키스트로크 프로그램을 기동하여 실행되도록 하는 것이 바람직하며, 상기 키스트로크 프로그램의 실행과 동시에 상기 운영체제(또는 플랫폼)로부터 상기 단말 구성요소에 대한 사용권한을 획득하는 것이 바람직하다.According to an embodiment of the present invention, the control unit 225 is recorded on a recording medium provided in the client terminal, and then operating system (or platform) according to a program execution command by a user or a program execution command by the application program. It is preferable to start and execute the keystroke program based on the above, and it is preferable to acquire the right to use the terminal component from the operating system (or platform) simultaneously with the execution of the keystroke program.

또한, 상기 제어부(225)는 상기 키스트로크 프로그램의 실행과 동시에 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 키스트로크 프로그램에 구비되는 적어도 하나 이상의 기능 구성부를 상호 연동하도록 제어하는 것이 바람직하다.In addition, the control unit 225 preferably controls at least one function component provided in the keystroke program to interoperate with the execution of the keystroke program at the same time to confirm sharing of program usage rights through the keystroke clustering. .

본 발명의 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식의 멀티 태스킹을 지원하는 경우, 상기 제어부(225)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(핸들)를 할당하는 것이 바람직하며, 이 때 상기 키스트로크 프로그램을 구성하는 각 기능 구성부는 상기 접근권한을 이용하기 위해 상기 제어부(225)에 인스턴스를 할당하는 것이 바람직하다.According to an embodiment of the present invention, when the operating system (or platform) supports event-based multitasking, the controller 225 may assign an access right (handle) for using the terminal component in each functional component. Preferably, each function component constituting the keystroke program allocates an instance to the controller 225 in order to use the access right.

본 발명의 다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식을 지원하지 않는 경우, 상기 제어부(225)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(인터럽트)를 얻어오는 것이 바람직하며, 이 때 상기 키스트로크 프로그램을 구성하는 각 기능 구성부는 상기 인터럽트를 사용하기 위해 상기 인터럽트를 호출하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the operating system (or platform) does not support an event method, the controller 225 obtains an access right (interrupt) for using the terminal component in each functional component. It is preferred to come, wherein each functional component constituting the keystroke program preferably invokes the interrupt to use the interrupt.

본 발명의 또다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스의 메모리 주소에 접근하는 경우, 상기 제어부(225)는 상기 각 기능 구성부에서 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스에 대한 접근권한(메모리 주소)을 얻어오는 것이 바람직하며, 이 때 상기 키스트로크 프로그램을 구성하는 각 기능 구성부는 상기 메모리 주소를 통해 상기 단말 구성요소에 접근하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the operating system (or platform) accesses a memory address of an input / output bus of a peripheral device corresponding to the terminal component, the controller 225 may be configured to perform at least one of the function components. It is preferable to obtain an access right (memory address) to the input / output bus of the peripheral device corresponding to the terminal component, wherein each functional component constituting the keystroke program accesses the terminal component through the memory address. It is desirable to.

도면2를 참조하면, 상기 응용프로그램은 상기 클라이언트 단말에 구비된 기 록매체에 기록된 후, 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼)와 연계하여 상기 응용프로그램에 구비된 키 입력 기반의 각종 응용 기능을 실행 및 동작을 제어하며, 상기 키 입력 기반의 각종 응용 기능을 제공하기 위해 상기 응용프로그램을 구성하는 적어도 하나 이상의 기능 구성부를 상호 연동하거나, 또는 상기 기능 구성부들이 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼)를 통해 상기 클라이언트 단말에 구비된 적어도 하나 이상의 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하여 상기 키 입력 기반의 각종 응용 기능을 제공하도록 제어하는 응용 제어부(200)를 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 2, after the application program is recorded in a recording medium provided to the client terminal, various applications based on key input provided to the application program in association with an operating system (or platform) provided in the client terminal. Control the execution and operation of the function, and interoperate at least one or more function components constituting the application program to provide various application functions based on the key input, or the operating system provided with the function components in the client terminal (Or a platform) to provide various application functions based on the key input by interworking with at least one terminal component (eg, a screen output means, a key input means, a storage means, a communication means, etc.) provided in the client terminal. It is characterized by comprising an application control unit 200 for controlling.

상기 응용 제어부(200)는 상기 응용프로그램이 상기 클라이언트 단말에 구비된 운영체제(또는 플랫폼) 상에서 실행(예컨대, 클라이언트 단말에 구비된 프로세서에 의해 연산처리)되고, 상기 운영체제(또는 플랫폼)과 연계하여 상기 단말 구성요소(예컨대, 화면 출력수단, 키 입력수단, 저장수단, 통신수단 등)와 연동하기 위한 메인프레임(Mainframe)에 대응하는 프로그램 실행 코드를 포함하여 이루어지는 것을 특징으로 한다.The application control unit 200 is executed by the application program on the operating system (or platform) provided in the client terminal (for example, arithmetic processing by a processor provided in the client terminal), in conjunction with the operating system (or platform) And a program execution code corresponding to a mainframe for interworking with a terminal component (eg, a screen output means, a key input means, a storage means, a communication means, etc.).

본 발명의 실시 방법에 따르면, 상기 응용 제어부(200)는 상기 클라이언트 단말에 구비된 기록매체에 기록된 후, 사용자에 의해 프로그램 실행 명령, 또는 다른 프로그램에 의한 프로그램 실행 명령에 따라 운영체제(또는 플랫폼)을 기반으로 상기 응용프로그램을 기동하여 실행되도록 하는 것이 바람직하며, 상기 응용프로그램의 실행과 동시에 상기 운영체제(또는 플랫폼)로부터 상기 단말 구성요소에 대한 사용권한을 획득하는 것이 바람직하다.According to an embodiment of the present invention, the application control unit 200 is recorded on a recording medium provided in the client terminal, the operating system (or platform) according to a program execution command by a user or a program execution command by another program It is preferable to start and execute the application program based on the above, and it is preferable to acquire the right to use the terminal component from the operating system (or platform) at the same time as the execution of the application program.

본 발명의 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식의 멀티 태스킹을 지원하는 경우, 상기 응용 제어부(200)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(핸들)를 할당하는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 접근권한을 이용하기 위해 상기 응용 제어부(200)에 인스턴스를 할당하는 것이 바람직하다.According to an embodiment of the present invention, when the operating system (or platform) supports event-based multitasking, the application control unit 200 has an access right (handle) for using the terminal component in each functional unit. In this case, it is preferable that each function component constituting the application program allocates an instance to the application control unit 200 to use the access right.

본 발명의 다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 이벤트 방식을 지원하지 않는 경우, 상기 응용 제어부(200)는 각 기능 구성부에서 상기 단말 구성요소를 이용하기 위한 접근권한(인터럽트)를 얻어오는 것이 바람직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 인터럽트를 사용하기 위해 상기 인터럽트를 호출하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the operating system (or platform) does not support an event method, the application control unit 200 grants an access right (interrupt) for using the terminal component in each functional component. It is desirable to obtain each function component, which constitutes the application program, preferably calling the interrupt to use the interrupt.

본 발명의 또다른 일 실시 방법에 따라 상기 운영체제(또는 플랫폼)가 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스의 메모리 주소에 접근하는 경우, 상기 응용 제어부(200)는 상기 각 기능 구성부에서 상기 단말 구성요소에 대응하는 주변장치의 입출력 버스에 대한 접근권한(메모리 주소)을 얻어오는 것이 바람 직하며, 이 때 상기 응용프로그램을 구성하는 각 기능 구성부는 상기 메모리 주소를 통해 상기 단말 구성요소에 접근하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the operating system (or platform) approaches a memory address of an input / output bus of a peripheral device corresponding to the terminal component, the application control unit 200 in each of the functional components It is preferable to obtain an access right (memory address) for an input / output bus of a peripheral device corresponding to the terminal component, wherein each functional component constituting the application program is connected to the terminal component through the memory address. It is desirable to approach.

본 발명에 따르면, 상기 응용프로그램은 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 클라이언트 단말에 구비된 키스트로크 프로그램과 적어도 하나 이상의 프로세스 간 통신 방식 통해 통신하는 프로세스 간 통신 처리부(205)를 구비하여 이루어지는 것을 특징으로 하며, 상기 키스트로크 프로그램은 상기 프로세스 간 통신 처리부(205)와 연동하는 적어도 하나 이상의 프로세스 간 통신부(230)가 기 구비되어 있는 것을 특징으로 한다.According to the present invention, the application program interprocess communication processing unit 205 for communicating with the keystroke program provided in the client terminal through at least one inter-process communication method to confirm the program use rights sharing through the keystroke clustering The keystroke program may include at least one inter-process communication unit 230 interworking with the inter-process communication processing unit 205.

본 발명의 일 실시 방법에 따르면, 상기 제어부(225)에 의해 상기 응용프로그램이 기동되면, 상기 프로세스 간 통신 처리부(205)는 상기 클라이언트 단말에 구비된 키스트로크 프로그램을 확인하고, 상기 확인된 키스트로크 프로그램에 구비된 프로세스 간 통신부(230)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.According to the exemplary embodiment of the present invention, when the application program is started by the control unit 225, the inter-process communication processing unit 205 checks the keystroke program provided in the client terminal, and checks the checked keystroke. It is preferable to connect the inter-process communication unit 230 provided with the program and the inter-process communication channel.

본 발명의 다른 일 실시 방법에 따르면, 상기 제어부(225)에 의해 상기 응용프로그램이 기동되면, 상기 프로세스 간 통신 처리부(205)는 상기 클라이언트 단말에 구비된 키스트로크 프로그램(예컨대, 상기 응용프로그램을 기동시킨 키스트로크 프로그램, 또는 운영체제(또는 플랫폼) 상에 상기 응용프로그램의 부모 프로세스로 설정된 키스트로크 프로그램, 또는 상기 응용프로그램에 구비된 프로세스 간 통신 처리부(205)에 정의된 프로세스 간 통신 프로토콜에 반응하는 키스트로크 프로그램)에 구비된 프로세스 간 통신부(230)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the application program is started by the controller 225, the inter-process communication processing unit 205 starts a keystroke program (eg, the application program) provided in the client terminal. A keystroke program or a keystroke program set as a parent process of the application program on an operating system (or platform), or a key responding to an interprocess communication protocol defined in the interprocess communication processor 205 included in the application program. It is preferable to connect the inter-process communication unit 230 and the inter-process communication channel provided in the stroke program).

본 발명의 실시 방법에 따르면, 상기 프로세스 간 통신 처리부(205)는 프로세스 간 메시지 교환 방식, 또는 프로세스 간 메모리 공유 방식, 또는 프로세스 간 라이브러리 파일(LIB/DLL) 공유 방식, 형식 라이브러리(Type Library) 방식 중 적어도 하나 이상의 프로세스 간 통신 방식에 따라 상기 키스트로크 프로그램과 프로세스 간 통신채널을 연결하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 프로세스 간 통신 방식에 대한 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.According to an embodiment of the present invention, the inter-process communication processing unit 205 may exchange messages between processes, share memory between processes, share library files (LIB / DLL) between processes, and type library methods. It is preferable to connect the keystroke program and the inter-process communication channel according to at least one of the inter-process communication method, and those skilled in the art to which the present invention belongs, the technical features of the inter-process communication method Since it will be familiar with, the detailed description thereof will be omitted for convenience.

본 발명에 따르면, 상기 응용프로그램은 키 입력 기반의 각종 응용 기능에 대응하여 화면 출력수단으로 적어도 하나 이상의 키 입력 인터페이스를 출력하는 인터페이스 출력부(210)와, 상기 키 입력 인터페이스에 포함된 적어도 하나 이상의 키 입력 사용자 인터페이스를 통해 상기 키 입력수단으로부터 상기 키 입력 기반의 각종 응용 기능에 대응하는 사용자 입력 정보를 입력받는 정보 입력부(215)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 입력 정보를 기반으로 키 입력 기반의 각종 응용 기능을 수행하는 키 입력 기반 응용 기능부(220)를 구비하여 이루어지는 것을 특징으로 하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 응용프로그램의 목적 및 용도에 따른 키 입력 기반의 각종 응용 기능을 기 유추할 수 있을 것이므로, 상기 키 입력 기반 응용 기능부(220)에 대한 상세한 설명은 편의상 생략하기로 한다.According to the present invention, the application program is an interface output unit 210 for outputting at least one or more key input interface to the screen output means in response to various application functions based on the key input, and at least one or more included in the key input interface And an information input unit 215 for receiving user input information corresponding to various application functions based on the key input from the key input means through a key input user interface, and based on the user input information Characterized in that it comprises a key input based application function unit 220 for performing a variety of input-based application functions, those skilled in the art to which the present invention belongs, the purpose and use of the application To infer various application functions based on key input Since the detailed explanation of the key input based on the application function unit 220 will be omitted for convenience.

상기 응용 제어부(200)에 의해 상기 응용프로그램이 기동되어 상기 단말 구성요소 중 상기 화면 출력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되면, 상기 인터페이스 출력부(210)는 키 입력 기반 응용 기능을 제공하기 위해 프로그램 코드 형태(또는 상기 저장수단에 구비된 인터페이스 정보)에 대응하는 키 입력 인터페이스를 상기 화면 출력수단으로 출력하는 것을 특징으로 한다.When the application program is started by the application control unit 200 to obtain access authority (eg, a handle, an interrupt, or a memory address) to the screen output unit among the terminal components, the interface output unit 210. Is characterized in that for outputting a key input interface corresponding to a program code form (or interface information provided in the storage means) to the screen output means to provide a key input based application function.

본 발명의 실시 방법에 따르면, 상기 인터페이스 출력부(210)에 의해 출력되는 적어도 하나 이상의 키 입력 인터페이스는 에디트(Edit) 컨트롤, 또는 콤보박스(ComboBox) 컨트롤, 또는 리스트박스(ListBox) 컨트롤, 또는 버튼(Button) 컨트롤 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 이미지(Image) 컨트롤, 또는 각종 커스텀(Custom) 컨트롤을 더 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the at least one key input interface output by the interface output unit 210 may be an edit control, a combo box control, a list box control, or a button. (Button) control, etc. It is preferable to comprise at least one, and it is preferable to further comprise an image control or various custom controls according to the intention of a person skilled in the art.

본 발명의 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포 함된 문자열 정보를 구성하는 두개 이상의 키 데이터를 입력하기 위한 에디트 컨트롤(Edit Control)을 포함하여 이루어지는 것이 바람직하다.According to one embodiment of the invention, the user interface for inputting the user input information in the key input interface, Edit control for inputting two or more key data constituting the string information included in the user input information (Edit Control) is preferably included.

본 발명의 다른 일 실시 방법에 따르면, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 포인터 입력장치(예컨대, 마우스 입력장치)를 통해 클릭(예컨대, 마우스 입력장치의 왼쪽 버튼 누름)하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, a user interface for inputting the user input information in the key input interface may display two or more key data buttons (or icons) constituting string information included in the user input information. And a button control for inputting two or more key data buttons (or icons) displayed on the screen by clicking (eg, pressing a left button of a mouse input device) through a pointer input device (eg, a mouse input device). ) Or Custom Control.

본 발명의 또다른 일 실시 방법에 따르면, 상기 화면 출력수단이 터치 스크린 방식의 키 입력 인터페이스를 제공하는 경우, 상기 키 입력 인터페이스에서 상기 사용자 입력 정보를 입력하기 위한 사용자 인터페이스는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 버튼(또는 아이콘)을 화면에 표시하고, 상기 화면에 표시된 두개 이상의 키 데이터 버튼(또는 아이콘)를 클릭하여 입력하는 버튼 컨트롤(Button Control) 또는 커스텀 컨트롤(Custom Control)을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the screen output unit provides a touch screen type key input interface, a user interface for inputting the user input information in the key input interface corresponds to the user input information. A button control or a custom control that displays two or more key data buttons (or icons) constituting the included string information, and clicks and inputs two or more key data buttons (or icons) displayed on the screen. Custom Control) is preferably included.

상기 응용 제어부(200)에 의해 상기 단말 구성요소 중 상기 키 입력수단에 대한 접근권한(예컨대, 핸들, 또는 인터럽트, 또는 메모리 주소)이 획득되고, 상기 인터페이스 출력부(210)에 의해 상기 키 입력 인터페이스가 출력되면, 상기 정보 입력부(215)는 상기 클라이언트 단말에 구비된 키 입력수단을 통해 상기 키 입력 기반 응용 기능을 제공하기 위한 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리하는 것을 특징으로 한다.The application control unit 200 obtains an access right (eg, a handle, an interrupt, or a memory address) to the key input unit among the terminal components, and the key input interface by the interface output unit 210. When is outputted, the information input unit 215 processes the input of one or more key data constituting character string information included in user input information for providing the key input based application function through key input means provided in the client terminal. Characterized in that.

본 발명에 따르면, 상기 키스트로크 프로그램은 상기 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 클라이언트 단말에 기 구비되어 있는 응용프로그램과 적어도 하나 이상의 프로세스 간 통신 방식 통해 통신하는 프로세스 간 통신부(230)를 구비하여 이루어지는 것을 특징으로 하며, 상기 응용프로그램은 상기 프로세스 간 통신부(230)와 연동하는 적어도 하나 이상의 프로세스 간 통신부(230)가 기 구비되어 있는 것을 특징으로 한다.According to the present invention, the keystroke program is an inter-process communication unit 230 for communicating with at least one inter-process communication method with an application program provided in the client terminal to confirm sharing of program usage rights through the keystroke clustering. Characterized in that is provided, wherein the application program is characterized in that at least one or more inter-process communication unit 230 in conjunction with the inter-process communication unit 230 is provided.

본 발명의 일 실시 방법에 따르면, 상기 제어부(225)에 의해 상기 키스트로크 프로그램이 기동되면, 상기 프로세스 간 통신부(230)는 상기 클라이언트 단말에 기 실행되어 동작하고 있는 적어도 하나 이상의 응용프로그램을 확인하고, 상기 확인된 적어도 하나 이상의 응용프로그램에 구비된 프로세스 간 통신 처리부(205)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.According to an exemplary embodiment of the present invention, when the keystroke program is activated by the controller 225, the inter-process communication unit 230 may identify at least one or more application programs that are previously executed and operated on the client terminal. In addition, it is preferable to connect the inter-process communication channel with the inter-process communication processing unit 205 included in the at least one identified application program.

본 발명의 다른 일 실시 방법에 따르면, 상기 제어부(225)에 의해 상기 키스 트로크 프로그램이 기동되면, 상기 프로세스 간 통신부(230)는 상기 클라이언트 단말에 기 실행되어 동작하고 있는 적어도 하나 이상의 응용프로그램 중 어느 하나의 통신 대상 응용프로그램(예컨대, 상기 키스트로크 프로그램을 기동시킨 응용프로그램, 또는 운영체제(또는 플랫폼) 상에 상기 키스트로크 프로그램의 부모 프로세스로 설정된 응용프로그램, 또는 상기 키스트로크 프로그램에 구비된 프로세스 간 통신부(230)에 정의된 프로세스 간 통신 프로토콜에 반응하는 응용프로그램)에 구비된 프로세스 간 통신 처리부(205)와 프로세스 간 통신채널을 연결하는 것이 바람직하다.According to another exemplary embodiment of the present invention, when the keystroke program is started by the controller 225, the inter-process communication unit 230 may be one of at least one application program that is previously executed and operated by the client terminal. Any communication target application program (for example, an application program that started the keystroke program, or an application program set as a parent process of the keystroke program on an operating system (or platform), or between processes provided in the keystroke program). It is preferable to connect the inter-process communication channel with the inter-process communication processing unit 205 included in the inter-process communication protocol defined in the communication unit 230).

본 발명의 실시 방법에 따르면, 상기 프로세스 간 통신부(230)는 프로세스 간 메시지 교환 방식, 또는 프로세스 간 메모리 공유 방식, 또는 프로세스 간 라이브러리 파일(LIB/DLL) 공유 방식, 형식 라이브러리(Type Library) 방식 중 적어도 하나 이상의 프로세스 간 통신 방식에 따라 상기 응용프로그램과 프로세스 간 통신채널을 연결하는 것이 바람직하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 프로세스 간 통신 방식에 대한 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략하기로 한다.According to an embodiment of the present invention, the inter-process communication unit 230 may include an inter-process message exchange method, an inter-process memory sharing method, an inter-process library file (LIB / DLL) sharing method, or a type library method. It is preferable to connect the communication channel between the application program and the process according to at least one inter-process communication method, and those skilled in the art to which the present invention pertains, the technical features of the inter-process communication method Since it will be understood, a detailed description thereof will be omitted for convenience.

또한, 상기 키스트로크 프로그램은 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 필요한 정보를 수신하는 정보 수신부(235)를 더 구비하여 이루어지는 것을 특징으 로 하며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 키스트로크 프로그램이 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 필요한 각종 정보를 유추할 수 있을 것이므로, 상기 정보 수신부(235)에 대한 상세한 설명은 편의상 생략하기로 한다.In addition, the keystroke program is characterized in that it further comprises an information receiving unit 235 for receiving information necessary for checking the program use rights sharing through keystroke clustering for the string information included in the user input information In the technical field to which the present invention pertains, the keystroke program may infer various kinds of information necessary for confirming the program use right sharing through keystroke clustering of the string information included in the user input information. Since it will be possible, a detailed description of the information receiver 235 will be omitted for convenience.

본 발명에 따르면, 상기 키스트로크 프로그램은 상기 프로세스 간 통신부(230)와 연계하여 상기 응용프로그램에 구비된 키 입력 인터페이스를 통해 입력된 사용자 입력 정보와 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간(Duration) 정보, 입력 간격(Interval) 정보, 압력(Pressure) 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 키스트로크 정보 확인부(265)와, 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공하는 키스트로크 정보 가공부(270)를 구비하여 이루어지는 것을 특징으로 하며, 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버에서 수행하는 경우, 상기 가공된 키스트로크 정보를 상기 사용자 입력 정보와 연계하여 상기 프로그램 운용 서버로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 키스트로크 기반 사용자 입력 정보 생성부(275)와, 상기 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버로 전송하는 정보 전송부(240)를 구비하여 이루어지는 것을 특징으 로 한다.According to the present invention, the keystroke program is configured to configure user input information input through a key input interface provided in the application program and string information included in the user input information in association with the inter-process communication unit 230. A keystroke information checking unit 265 for checking keystroke information including at least one of input duration information, input interval information, and pressure information on key data, and the identified keystrokes And a keystroke information processing unit 270 for processing the information according to a predetermined keystroke processing method. A program through keystroke clustering of character string information included in user input information according to the intention of a person skilled in the art. When checking the permission sharing is performed by the program operation server on the network, A keystroke-based user input information generation unit 275 for generating keystroke-based user input information to be transmitted to the program operation server in association with the processed keystroke information and the user input information; And an information transmitter 240 for transmitting keystroke-based user input information to the program operation server.

상기 응용프로그램에서 상기 키 입력수단을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터를 입력 처리시, 상기 키스트로크 정보 확인부(265)는 상기 키 입력수단과 연계하여 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것을 특징으로 한다.When the application program inputs one or more key data constituting character string information included in the user input information through the key input means, the keystroke information checking unit 265 is connected with the key input means to the user. And keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting character string information included in the input information.

여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.The input duration information may include time interval information that is maintained in a state in which each key corresponding to each key data constituting character string information included in the user input information is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to the exemplary embodiment of the present invention, the input duration information includes a time when a key corresponding to each key data constituting character string information included in the user input information is down from a time when the corresponding key is up. It is preferable that the time difference information is included.

예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입 력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.For example, when the time when the key corresponding to the specific key data is down is called T_down, when the time when the key corresponding to the key data is down is called T_up, and the input duration is called T_duration, input duration information , "T_duration = T_up-T_down".

본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.According to the exemplary embodiment of the present invention, the key data constituting the character string information included in the user input information must be keyed down after the key is down, so that the input duration information always has a positive number.

상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.The input interval information is a key corresponding to the previous key data constituting the string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is characterized in that it comprises the time interval information from the time after the pressing until the key corresponding to the next key data is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the input interval information is configured to configure string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is preferable to include the time difference information from the time when the key corresponding to the previous key data is down after the up time to the time when the next key is down.

예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상 의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.For example, among two or more pieces of key data constituting the character string information included in the user input information, the time when the key corresponding to the previous key data is up is called T (n-1) _up, and the key corresponding to the next key data. When the time at which is down is called T (n) _down and the input interval information is called T_interval, the input interval information, such as "T_interval = T (n) _down-T (n-1) _up", is calculated. Is calculated.

본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.According to an exemplary embodiment of the present invention, when the key corresponding to the previous key data is up and the key corresponding to the next key data is down among two or more key data constituting the character string information included in the user input information, Preferably, the input interval information has positive interval information including a positive number.

본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.According to another embodiment of the present invention, among the two or more key data constituting the string information included in the user input information according to the wrist / finger joint characteristics, key input habits, key input speed of the user corresponding to the previous key data If the key corresponding to the next key data is down before the up key is up after being down, and the key corresponding to the next key data is down before the key corresponding to the previous key data is up, the input The interval information preferably has negative interval information including negative numbers.

여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다 음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.Here, the negative interval information includes time interval information in which a key corresponding to the previous key data and a key corresponding to the next key data are simultaneously pressed among two or more key data constituting the character string information included in the user input information. It is preferable to comprise a, it is possible to be continuous two or more times.

만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.If a third key of the three or more pieces of key data constituting the character string information included in the user input information is down before the first key and the second key are both down, the input interval between the first key and the second key Preferably, the information includes negative interval information from the first key up until the second key is down, and the input interval information between the second key and the third key is the third key after the second key is up. It is preferable to include the negative interval information until the down.

본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.According to another exemplary embodiment of the present invention, among two or more pieces of key data constituting the character string information included in the user input information, the time corresponding to the previous key data is down and then up corresponds to the next key data. The time at which the key is down may be processed at the same time within a predetermined reference time range. In this case, the input interval information may have a zero number (= Zero Interval).

상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 클라이언트 단말에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함 된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.When the pressure information is provided with a pressure sensor on each key button constituting a key input device provided in the client terminal for inputting each key data constituting character string information included in the user input information, the user In the process of inputting each key corresponding to each key data constituting the character string information included in the input information, it is preferable to include key pressure information sensed by the pressure sensor.

본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to an exemplary embodiment of the present invention, the pressure information may include maximum peak pressure information for an input duration of pressing of each key corresponding to each key data constituting character string information included in the user input information. desirable.

본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is a pressure sensed by a predetermined reference time unit for an input duration in which each key corresponding to each key data constituting character string information included in the user input information is pressed. It is preferred to include the average pressure value for the information.

본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is sensed by a predetermined reference time unit for each input key pressed time corresponding to each key data constituting character string information included in the user input information. It is preferable that the pressure information calculated by substituting a plurality of pieces of pressure information into a preset pressure calculation formula (for example, an integral formula) is included.

본 발명의 실시 방법에 따라 상기 키 입력 인터페이스에 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 필요한 일반 입력 정보(예컨대, 키스트로크 기반 사용자 입력 정보에 포함되지 않는 입력 정보)를 입력하는 사용자 인터페이스를 더 포함된 경우, 상기 키스트로크 정보 확인부(265)는 상기 키 입력 인터페이스 상에 캐럿이 할당된 컨트롤 정보를 판독하여 상기 키 입력 인터페이스를 기반으로 상기 정보 입력부(215)를 통해 입력되는 복수의 정보 중 상기 사용자 입력 정보를 확인하고, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하는 것이 바람직하다.According to an exemplary embodiment of the present invention, general input information (for example, keystroke-based user input information required for a program usage right sharing confirmation function through keystroke clustering of character string information included in the user input information in the key input interface) is provided. In the case of further including a user interface for inputting input information not included, the keystroke information checking unit 265 reads control information assigned to a caret on the key input interface and based on the key input interface. The user input information is checked among a plurality of information input through the information input unit 215, and input duration information, input interval information, and pressure information for each key data constituting character string information included in the user input information are input. Checking for keystroke information that includes one or more Is recommended.

상기 키스트로크 정보 확인부(265)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 가공부(270)는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공하는 것을 특징으로 한다.When keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is confirmed through the keystroke information checking unit 265, The keystroke information processing unit 270 presets keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting character string information included in the user input information. It is characterized by processing according to the processing method.

본 발명의 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(270)는 상 기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to the exemplary embodiment of the present invention, the keystroke information processing unit 270 may process the input duration information and the input interval information of the keystroke information identified above in millisecond units, wherein the time unit According to the intention of the person skilled in the art can be variously modified and carried out, the present invention is characterized in that it comprises all the modified method described above.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234", the input duration information of "1" is 500ms, the input duration information of "2" is 450ms, and the input duration information of "3" is 400ms. , Input duration information of "4" is processed in the form of 500ms, input interval information of "1" and "2" is 300ms, input interval information of "2" and "3" is 500ms, "3" And input interval information of " 4 " is preferably processed into a form such as 400 ms.

본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(270)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the keystroke information processing unit 270 preferably processes the input duration information and the input interval information of the checked keystroke information into a predetermined number of reference unit times, where Preferably, the reference unit time includes a minimum key repetition time, and according to the intention of the person skilled in the art, the reference unit time may be modified in various ways, and the present invention includes all the modified methods. It is characterized by.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기 준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2"와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234" and the reference unit time information is 10 ms, 50 input duration information of "1" is 45 and input duration information of "2" is 45. Input duration information of "3" is processed into 40 pieces, input duration information of "4" into 50 pieces, and input interval information of "1" and "2" is 30 pieces, "2" And 50 input interval information of " 3 ", and 40 input interval information of " 3 " and " 4 "

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 정보 가공부(270)는 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the keystroke information processing unit 270 preferably processes the input duration information and the input interval information of the checked keystroke information into a preset threshold time interval value. Here, the threshold time and the number of critical time intervals can be variously modified according to the intention of those skilled in the art, and the present invention is characterized by including all the modified implementation method.

예컨대, 상기 사용자 입력 정보가 "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'와 같은 형태로 가공하는 것이 바람직하다.For example, the user input information includes a number such as "1234", and the threshold time interval value is "0" which is 299 ms or less, 399 to 300 ms "1", 400 to 499 ms "2", 500 ms to 599 ms "3", 699 ms to 600 ms to "4", 700 ms to 799 ms to "5", 800 ms to 899 ms to "6", 900 ms to 999 ms to "7", 1000 ms to "8" or more The input duration information is '3', the input duration information of '2' is '2', the input duration information of '3' is '2', and the input duration information of '4' is '3'. And the input interval information of "1" and "2" is' 1 ', the input interval information of "2" and "3" is' 3', and the input interval information of "3" and "4" is' It is preferable to process in the form like 2 '.

본 발명의 실시 방법에 따르면, 상기 키스트로크 정보 가공부(270)는 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.According to the exemplary embodiment of the present invention, the keystroke information processing unit 270 preferably processes the sensor-specific sensing data sensed by the pressure sensor into one unified pressure unit (eg, Pascal).

본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버에서 수행하는 경우, 상기 키스트로크 정보 가공부(270)에 의해 상기 확인된 키스트로크 정보를 기 설정된 키스트로크 가공 방식에 따라 가공되면, 상기 키스트로크 기반 사용자 입력 정보 생성부(275)는 상기 가공된 키스트로크 정보와 상기 사용자 입력 정보를 연계하여 상기 프로그램 운용 서버로 전송할 키스트로크 기반 사용자 입력 정보를 생성하는 것을 특징으로 한다.According to the intention of a person skilled in the art, the keystroke information processing unit 270 when the program operation authority sharing confirmation through keystroke clustering on the string information included in the user input information is performed by the program operation server on the communication network. When the checked keystroke information is processed according to a predetermined keystroke processing method, the keystroke-based user input information generation unit 275 operates the program by linking the processed keystroke information with the user input information. And generating keystroke based user input information to be transmitted to the server.

본 발명의 일 실시 방법에 따라 상기 클라이언트 단말과 프로그램 운용 서버가 HTTP(Hyper-Text Transfer Protocol) 호환 프로토콜을 통해 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 기 설정된 조합(또는 결합) 방식에 따라 조합(또는 결합)하여 상기 프로그램 운용 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.According to an embodiment of the present invention, when the client terminal and the program operation server are connected to a communication channel through a Hyper-Text Transfer Protocol (HTTP) compatible protocol, the keystroke-based user input information may be generated by the generation unit. The stroke information may be combined (or combined) according to a preset combination (or combination) to generate keystroke-based user input information for transmission to the program operation server.

여기서, 상기 사용자 입력 정보와 키스트로크 정보의 조합(또는 결합) 방식은 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.Here, the combination (or combination) of the user input information and the keystroke information can be implemented in various modifications according to the intention of those skilled in the art, and it is apparent that the present invention includes all the inferred implementation methods. It is.

예컨대, 상기 사용자 입력 정보가 "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"과 같이 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태로 변형되어 생성되는 것이 가능하다.For example, the user input information includes a number such as "1234", the keystroke information includes input duration information and input interval information in milliseconds, and the input duration information of "1" is 500ms, "2". Input duration information of "450ms", input duration information of "3" is 400ms, input duration information of "4" is 500ms, input interval information of "1" and "2" is 300ms, "2" And input interval information of "3" is 500ms, and input interval information of "3" and "4" is 400ms. The keystroke-based user input information may be generated as "1234 & 500.450.400.500: 300.500.400". The keystroke-based user input information may be generated in various forms. In addition, the keystroke-based user input information may be generated in various forms, for example, "1234 & 500 (300) .450 (500) .400 (400) .500".

본 발명의 다른 일 실시 방법에 따라 상기 클라이언트 단말과 프로그램 운용 서버가 상기 프로그램 운용 서버에서 정의한 통신 프로토콜에 따라 통신채널이 연결된 경우, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 키스트로크 정보를 상기 통신 프로토콜에서 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조에 포함하여 상기 프로그램 운용 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.According to another embodiment of the present invention, when the client terminal and the program management server are connected to a communication channel according to a communication protocol defined by the program management server, the keystroke based user input information is generated by the generation unit of the user input information and keystrokes. It is preferable to generate keystroke-based user input information for transmission to the program operation server by including the information in the keystroke-based user input information data structure defined in the communication protocol.

예컨대, 상기 프로그램 운용 서버에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조가 "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에 상기 입력 지속 시간 정보와 입력 간격 정보를 대입하여 상기 프로그램 운용 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보가 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태의 데이터 구조를 통해 생성되는 것이 가능하다.For example, the keystroke based user input information data structure defined in the program operation server includes a structured data structure such as "struct data {char character; int duration; int interval; int pressure};", and the user input information. Includes a number such as "1234", the keystroke information includes input duration information and input interval information in milliseconds, and the input duration information of "1" is 500ms, and input duration information of "2". Is 450ms, input duration information of "3" is 400ms, input duration information of "4" is 500ms, input interval information of "1" and "2" is 300ms, input of "2" and "3" If the interval information is 500ms, and the input interval information of "3" and "4" is 400ms, the input duration information and input to the data.character, data.duration, data.interval, data.pressure of the structured data structure The program operation by substituting interval information And a key stroke-based input user information to send to the server can be created, in addition it is possible that the key stroke-based input user information is generated by the data structures of various types.

예컨대, 상기 프로그램 운용 서버에서 상기 정의한 키스트로크 기반 사용자 입력 정보 데이터 구조는 상기 "1234&500.450.400.500:300.500.400" 또는 "1234&500(300).450(500).400(400).500"와 같은 데이터 구조를 포함하여도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.For example, the keystroke-based user input information data structure defined by the program operation server may be the same as the "1234 & 500.450.400.500: 300.500.400" or "1234 & 500 (300) .450 (500) .400 (400) .500". The same data structure may be included, and the present invention is not limited thereto.

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 기반 사용자 입력 정보는 생성부는 상기 사용자 입력 정보와 상기 가공된 키스트로크 정보를 별도의 프로토콜을 통해 상기 프로그램 운용 서버로 전송하도록 분리된 키스트로크 기반 사용자 입력 정보를 생성하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to another exemplary embodiment of the present invention, the keystroke-based user input information may include a keystroke-based generator configured to transmit the user input information and the processed keystroke information to the program operation server through a separate protocol. It is possible to generate user input information, by which the present invention is not limited.

본 발명의 실시하는 당업자의 의도에 따라 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 통신망 상의 프로그램 운용 서버에서 수행하는 경우, 상기 키스트로크 기반 사용자 입력 정보 생성부(275)를 통해 상기 프로그램 운용 서버로 전송할 키스트로크 기반 사용자 입력 정보가 생성되면, 상기 정보 전송부(240)는 상기 클라이언트 단말에 구비된 통신수단을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 상기 프로그램 운용 서버로 전송하는 것을 특징으로 한다.According to the intention of a person skilled in the art, the keystroke-based user input information generation unit may be performed when a program operation server on a communication network performs program sharing permission check through keystroke clustering on string information included in user input information. When keystroke-based user input information to be transmitted to the program operation server is generated through 275, the information transmitter 240 receives the generated keystroke-based user input information through communication means provided in the client terminal. Characterized in that the transmission to the program operation server.

본 발명의 실시 방법에 따르면, 상기 클라이언트 단말에 암호화 모듈(도시생략)이 구비된 경우, 상기 정보 전송부(240)는 상기 암호화 모듈(도시생략)을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 암호화하여 프로그램 운용 서버 로 전송하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to an embodiment of the present invention, when an encryption module (not shown) is provided in the client terminal, the information transmitter 240 may generate the generated keystroke based user input information through the encryption module (not shown). It is possible to encrypt and transmit the program operation server, whereby the present invention is not limited.

도면2를 참조하면, 상기 키스트로크 프로그램은, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 키스트로크 정보 저장부(285)와, 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하고, 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부(280)와, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부(290)과, 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 키스트로크 패턴 정보 저장부(260)을 구비하여 이루어지는 것을 특 징으로 한다.Referring to FIG. 2, the keystroke program checks keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting character string information included in the user input information. And the keystroke information including one or more input duration information, input interval information, and pressure information about one or more key data constituting the string information included in the user input information, and the character string information included in the user input information. N (N> 1) including a keystroke information storage unit 285 for storing in the storage means in association with the same word (or sentence or index word) stored at least a predetermined number of times during a predetermined period of the character string information stored in the storage means. Character string information, and the N keystroke information associated with the identified N character string information In this case, one or more pattern target information among input duration information, input interval information, and pressure information for each key data included in the keystroke information among the identified N keystroke information are distributed within a predetermined range. It is included in the keystroke cluster identification unit 280 for identifying m (m> = 1) keystroke clusters including = N) pattern target keystroke information, and the identified m keystroke clusters. A keystroke pattern information generation unit 290 for generating m keystroke pattern information for m keystroke clusters using the respective n keystroke information, and storage means for storing the generated m keystroke pattern information. It is characterized in that it comprises a keystroke pattern information storage unit 260 to be stored in.

상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면, 상기 키스트로크 정보 저장부(285)는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 기능을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장수단에 저장하는 것을 특징으로 한다.When the keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is confirmed, the keystroke information storage unit 285 Input duration information and input interval information for one or more pieces of key data constituting string information included in the user input information for a function of checking program use rights sharing through keystroke clustering of the string information included in the user input information. And storing keystroke information including one or more pressure information in storage means in association with character string information included in the user input information.

상기 키스트로크 정보 저장부(285)에 의해 상기 저장수단에 상기 추출된 키스트로크 정보가 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장된 후, 상기 키스트로크 클러스터 확인부(280)는 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하는 것을 특징으로 한다.After the extracted keystroke information is stored in the storage means by the keystroke information storage unit 285 in association with the string information included in the user input information, the keystroke cluster identification unit 280 stores the storage means. N (N> 1) string information including the same word (or sentence or index word) stored at least a predetermined number of times for a predetermined period of time, and N keys associated with the identified N string information It is characterized by checking the stroke information.

여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.Here, the predetermined period refers to a period up to a recent past predetermined point of time based on a current time point for identifying the keystroke cluster, and the predetermined number of times indicates the minimum number of keystroke information required to generate the keystroke pattern information. It is preferable to comprise.

만약 저장수단으로부터 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보가 확인되면, 상기 키스트로크 클러스터 확인부(280)는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보를 결정하는 것을 특징으로 하며, 상기 패턴 대상 정보가 기 설정된 경우, 상기 패턴 대상 정보를 결정하는 것이 생략되어도 무방하다.If the N (N> 1) keystroke information stored more than a predetermined number of times in a predetermined period from the storage means is confirmed, the keystroke cluster identification unit 280 is included in the keystroke information among the identified N keystroke information. And determining one or more pattern target information among input duration information, input interval information, and pressure information for each key data. If the pattern target information is preset, determining the pattern target information may be omitted. Do.

여기서, 상기 패턴 대상 정보는, 입력 지속시간 정보와 입력 간격 정보를 포함하거나, 또는 입력 지속시간 정보와 입력 간격 정보 및 압력 정보를 포함하여 이루어지는 것이 바람직하다.Here, the pattern object information preferably includes input duration information and input interval information, or preferably includes input duration information, input interval information, and pressure information.

이후, 상기 키스트로크 클러스터 확인부(280)는 상기 결정된(또는 기 설정된) 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 확인하는 것을 특징으로 한다. Thereafter, the keystroke cluster identification unit 280 may identify n (n <= N) pattern target keystroke information in which the determined (or predetermined) pattern target information is distributed within a predetermined range.

여기서, n(n<=N)개의 패턴 대상 키스트로크 정보는 하나의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 것을 특징으로 하며, 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 개수의 키스트로크 정보를 포함하여 이루어지는 것이 바람직하다.Here, the n (n <= N) pattern target keystroke information corresponds to one keystroke cluster, and the minimum number of keystroke information required for generating the keystroke pattern information is obtained. It is preferable to comprise.

본 발명에 따르면, 상기 키스트로크 클러스터 확인부(280)는 n개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인하는 것을 특징으로 한다.According to the present invention, the keystroke cluster identification unit 280 may identify m (m> = 1) keystroke clusters including n pattern target keystroke information.

상기 키스트로크 클러스터 확인부(280)에 의해 m개의 키스트로크 클러스터가 확인되면, 상기 키스트로크 패턴 정보 생성부(290)는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.When the m keystroke clusters are identified by the keystroke cluster identification unit 280, the keystroke pattern information generation unit 290 may generate n keystroke information included in each of the identified m keystroke clusters. M keystroke pattern information corresponding to the m keystroke clusters is generated.

본 발명의 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(290)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.According to an exemplary embodiment of the present invention, the keystroke pattern information generation unit 290 may use keys for m keystroke clusters by using each of n keystroke information included in the identified m keystroke clusters. It is preferable to generate m keystroke pattern information including a stroke average value and a variance value.

본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(290)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로 크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke pattern information generation unit 290 substitutes each of the n keystroke information included in the identified m keystroke clusters into a preset pattern calculation equation. It is preferable to generate m keystroke pattern information by performing substitution / combination according to a predetermined pattern calculation rule, or by performing a geometric operation using a preset graph. Here, the preset pattern calculation formula, pattern calculation rule, and geometric calculation may be performed by converting the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by those skilled in the art. It is preferable to comprise processing.

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(290)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke pattern information generation unit 290 multiplies each of the n keystroke information included in the identified m keystroke clusters by a predetermined weight. It is preferable to generate m keystroke pattern information by substituting a predetermined pattern calculation formula, replacing / combining according to a predetermined pattern calculation law, or processing a geometric operation using a preset graph. In this case, the weight is preferably set by the person skilled in the art to set more weights to the information item that acts as an important factor in generating the keystroke pattern information, and the preset pattern calculation formula, pattern calculation rule and geometric calculation are described in the present invention. It is preferable to include processing the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by a person skilled in the art.

상기 키스트로크 패턴 정보 생성부(290)에 의해 m개의 키스트로크 패턴 정보 가 생성되면, 상기 키스트로크 패턴 정보 저장부(260)는 상기 생성된 m개의 키스트로크 패턴 정보를 저장수단에 저장하는 것을 특징으로 한다.When the m keystroke pattern information is generated by the keystroke pattern information generation unit 290, the keystroke pattern information storage unit 260 stores the generated m keystroke pattern information in a storage unit. It is done.

본 발명의 실시 방법에 따르면, 상기 키스트로크 패턴 정보 저장부(260)는 상기 생성된 m개의 키스트로크 패턴 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하거나, 또는 상기 생성된 m개의 키스트로크 패턴 정보를 각각의 키스트로크 패턴 정보를 생성하는데 사용된 키스트로크 클러스터에 포함된 n개의 키스트로크 정보와 연계하여 저장수단에 저장하는 것이 바람직하다.According to an exemplary embodiment of the present invention, the keystroke pattern information storage unit 260 stores the generated m keystroke pattern information in a storage means in association with the user input information, or the generated m keystrokes. Preferably, the pattern information is stored in the storage means in association with the n keystroke information included in the keystroke cluster used to generate the respective keystroke pattern information.

도면2를 참조하면, 상기 키스트로크 프로그램은, 상기 키스트로크 패턴 정보 생성부(290)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 패턴 유사도 확인부(245)와, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하고, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하여 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부(250)를 구비하여 이루어지는 것을 특징으로 하며, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장하는 공유 판별 정보 저장부(255), 또는 상기 공유 판별 정보를 통신망 상의 프로그램 운용 서버로 전송하는 정보 전송부(240)를 더 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 2, when two or more keystroke pattern information is generated by the keystroke pattern information generation unit 290, the two or more keys are compared by comparing the generated two or more keystroke pattern information. The pattern similarity checking unit 245 for checking the keystroke pattern similarity information with respect to the stroke pattern information, and if the checked keystroke pattern similarity information is equal to or greater than a preset sharing criterion similarity, the two or more comparison target keystroke pattern information is determined. Check with the keystroke pattern information to confirm that the user right (for example, user authentication information, or a client terminal use right for inputting user input information) is being used by only one user, and the confirmed keystroke pattern The similarity information is based on the preset share determination criteria. 2 or less, the at least two comparison target keystroke pattern information is identified as at least two different keystroke pattern information, and the user authority (for example, user authentication information or a client terminal use authority for inputting user input information) is two or more. And a sharing confirmation unit 250 confirming that they are being shared by the user, and determining the sharing of the user's authority (for example, user terminal authentication authority for inputting user authentication information or user input information). And a sharing determination information storage unit 255 for storing information in a storage means in association with the user input information, or an information transmission unit 240 for transmitting the sharing determination information to a program operation server on a communication network. It is done.

상기 키스트로크 패턴 정보 생성부(290)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 패턴 유사도 확인부(245)는 기 설정된 패턴 유사도 산출식(또는 연산 법칙, 또는 기학학적 연산)을 통해 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 것을 특징으로 한다.When two or more pieces of keystroke pattern information are generated by the keystroke pattern information generation unit 290, the pattern similarity checking unit 245 performs the predetermined pattern similarity calculation formula (or a calculation rule or a geometrical operation). The keystroke pattern similarity information of the two or more keystroke pattern information is confirmed by comparing the generated two or more keystroke pattern information.

만약 상기 키스트로크 패턴 유사도 정보가 확인되면, 상기 공유 확인부(250)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(250)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.If the keystroke pattern similarity information is confirmed, the sharing confirming unit 250 determines that the two or more comparison target keystroke pattern information is one when the identified keystroke pattern similarity information is equal to or greater than a preset sharing determination criterion similarity. It is characterized in that the keystroke pattern information of the, and in this case, the sharing check unit 250 is the user authority (for example, user authentication information, or the client terminal use authority for inputting user input information) is not shared only It is desirable to confirm that it is being used by one user.

또한, 상기 공유 확인부(250)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(250)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 바람직하다.In addition, when the identified keystroke pattern similarity information is determined to be equal to or less than a preset sharing criterion similarity, the sharing checker 250 confirms the two or more comparison target keystroke pattern information as two or more different keystroke pattern information. In this case, the sharing confirming unit 250 confirms that the user's authority (for example, client terminal use authority for inputting user authentication information or user input information) is shared by two or more users. It is preferable.

또한, 상기 키스트로크 패턴 정보 생성부(290)에 의해 오직 하나의 키스트로크 패턴 정보가 생성되면, 상기 공유 확인부(250)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.In addition, when only one keystroke pattern information is generated by the keystroke pattern information generation unit 290, the sharing confirmation unit 250 inputs the user right (eg, user authentication information or user input information). Client terminal usage rights) are not shared and are being used by only one user.

본 발명의 다른 실시 방법에 따르면, 상기 공유 확인부(250)는 상기 패턴 유사도 확인부(245)에 의해 키스트로크 패턴 유사도 정보 생성과 무관하게 상기 키스트로크 클러스터 확인부(280)에 의해 확인되는 키스트로크 클러스터 개수, 또는 상기 키스트로크 패턴 정보 생성부(290)에 의해 생성된 상기 키스트로크 패턴 정보 개수가 두개 이상인 경우, 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to another exemplary embodiment of the present invention, the sharing confirmation unit 250 is a key identified by the keystroke cluster identification unit 280 regardless of the generation of keystroke pattern similarity information by the pattern similarity identification unit 245. When the number of stroke clusters or the number of keystroke pattern information generated by the keystroke pattern information generation unit 290 is two or more, use of the client terminal for inputting the user authority (eg, user authentication information or user input information). Authority) is shared by two or more users, thereby limiting the present invention.

상기 공유 확인부(250)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 여부가 확인되면, 상기 공유 판별 정보 저장부(255)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단에 저장한다.When the sharing confirmation unit 250 confirms whether or not to share the user right (eg, user authentication information, or a user terminal use authority for inputting user input information), the sharing determination information storage unit 255 determines the sharing. Share determination information on user authority (eg, user authentication information or a client terminal use authority for inputting user input information) is generated, and the generated sharing determination information is stored in storage means in association with the user input information.

또는, 상기 공유 확인부(250)에 의해 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 여부가 확인되면, 상기 정보 전송부(240)는 상기 사용자 권한(예컨대, 사용자 인증정보, 또는 사용자 입력 정보를 입력하는 클라이언트 단말 이용 권한)에 대한 공유 판별 정보를 생성하고, 상기 통신수단을 통해 상기 생성된 공유 판별 정보를 통신망 상의 프로그램 운용 서버로 전송한다.Alternatively, when it is confirmed by the sharing confirming unit 250 whether the sharing of the user right (eg, user authentication information, or a user terminal use authority for inputting user input information) is shared, the information transmitting unit 240 may determine the sharing. Generates sharing discrimination information on user authority (eg, user authentication information or authority to use a client terminal to input user input information), and transmits the generated sharing discrimination information to a program operation server on a communication network through the communication means; .

도면3은 본 발명의 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정 보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템을 도시한 도면이다.FIG. 3 is a diagram illustrating a system for confirming sharing of program usage rights through keystroke clustering of character string information included in user input information according to an exemplary embodiment of the present invention.

보다 상세하게 본 도면3은 클라이언트 단말(370)에서 상기 도면1 또는 도면2에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 키스트로크 기반 사용자 입력 정보를 전송시, 프로그램 운용 서버(300)에서 상기 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 프로그램 이용 권한 공유를 확인하는 시스템 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면3에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, FIG. 3 illustrates a program operation when the client terminal 370 transmits keystroke-based user input information through an application program (or a keystroke program) having the program function configuration shown in FIG. 1 or 2. The system 300 extracts and reads the keystroke information included in the keystroke-based user input information from the server 300 and checks the program usage right sharing through keystroke clustering of the string information included in the user input information. As a person of ordinary skill in the art to which the present invention pertains, a system for confirming the sharing of program use rights through keystroke clustering of character string information included in the user input information by referring to and / or modifying the present invention 3 will be described. Various implementation methods (e.g., Omitted, subdivided, or combined implementation methods) may be inferred, but the present invention includes all implementation methods inferred from the above, and is not limited to the implementation methods shown in FIG.

예컨대, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3에 도시된 시스템 구성을 참조하여 상기 클라이언트 단말(370)에서 상기 도면1 또는 도면2에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 전송되는 공유 판별 정보를 수신하여 저장매체(365)에 저장하는 실 시 방법을 유추할 수 있을 것이며, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.For example, those skilled in the art to which the present invention pertains may have a program function configuration shown in FIG. 1 or 2 in the client terminal 370 with reference to the system configuration shown in FIG. The present invention may be inferred from a method of receiving and storing the share determination information transmitted through an application program (or a keystroke program) in the storage medium 365. The present invention includes all the inferred implementation methods. It is obvious.

본 발명의 실시 방법을 따르는 본 도면3을 참조하면, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인 시스템은, 상기 도면1 또는 도면2에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 구비한 클라이언트 단말(370)과, 상기 통신망을 통해 상기 클라이언트 단말(370)과 연결되며, 상기 클라이언트 단말(370)에서 상기 도면1 또는 도면2에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 키스트로크 기반 사용자 입력 정보를 전송하면, 상기 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 추출 및 판독하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통해 프로그램 이용 권한 공유를 확인하는 프로그램 운용 서버(300)를 포함하여 이루어지는 것을 특징으로 한다.Referring to FIG. 3 according to an exemplary embodiment of the present invention, a system for confirming sharing of program usage rights through keystroke clustering for character string information included in the user input information may include a program function configuration shown in FIG. A client terminal 370 having an application program (or a keystroke program) having a connection with the client terminal 370 through the communication network, and shown in FIG. 1 or 2 in the client terminal 370. When the keystroke-based user input information is transmitted through an application program (or a keystroke program) having a programmed function configuration, the keystroke information included in the keystroke-based user input information is extracted and read out to the user input information. Program through keystroke clustering of embedded string information Including the program management server 300 to determine permissions for sharing characterized in that formed.

다만, 본 도면3에서 상기 프로그램 운용 서버(300)를 편의상 하나의 서버 형태로 이루어지는 것으로 도시하였으나, 이에 의해 본 발명이 한정되는 것은 결코 아니며, 상기 프로그램 운용 서버(300)는 각 구성 요소 별로 두개 이상의 서버 군 형태로 실시되는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다. 즉, 본 도면3에서 프로그램 운용 서 버(300)는 물리적인 서버 명칭을 의미하는 것이 아니라, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위한 기능적인 명칭을 통칭하여 명명한 것임을 명백하게 밝혀두는 바이다.However, in FIG. 3, the program operation server 300 is illustrated as being formed in one server form for convenience. However, the present invention is not limited thereto, and the program operation server 300 may have two or more components for each component. It is possible to be implemented in the form of a server group, the present invention is characterized in that it comprises all the possible inference method. That is, in FIG. 3, the program operation server 300 does not mean a physical server name, but a functional name for confirming sharing of program use rights through keystroke clustering of character string information included in the user input information. It is clear that this is a collective name.

상기 클라이언트 단말(370)은 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 유선 통신망(예컨대, ADSL(Asymmetric Digital Subscriber Line)/VDSL(Very high-data rate Digital Subscriber Line), 케이블 통신망)를 통해 상기 프로그램 운용 서버(300)와 통신 연결되는 데스크탑 컴퓨터 또는 노트북을 포함하는 유선단말을 적어도 하나 이상 포함하여 이루어지거나, 또는 CDMA(Code Division Multiple Access) 기반의 이동 통신망에 연결되는 이동 통신단말, 또는 IEEE 802.16x 기반의 초고속 무선 인터넷에 연결되는 휴대 인터넷 단말을 적어도 하나 이상 포함하는 무선단말을 적어도 하나 이상 포함하여 이루어지거나, 상기 유선 통신망 또는 무선 통신망 중 어느 하나의 통신망을 통해 양방향 통신이 가능한 IP-TV 또는 디지털 TV 또는 DMB를 적어도 하나 이상 포함하는 TV장치(도시생략)를 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 하며, 상기 도면1 또는 도면2에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 구비하여 이루어지는 것을 특징으로 한다.The client terminal 370 is a wired communication network based on Transmission Control Protocol / Internet Protocol (TCP / IP) (eg, Asymmetric Digital Subscriber Line (ADSL) / Very High-data Rate Digital Subscriber Line (VDSL), cable communication network). A mobile communication terminal comprising at least one wired terminal including a desktop computer or a notebook computer connected to the program operation server 300 or a mobile communication network connected to a code division multiple access (CDMA) based mobile communication network, or IEEE IP-TV including at least one wireless terminal including at least one or more portable Internet terminals connected to the 802.16x-based high-speed wireless Internet, or capable of bi-directional communication through any one of the wired or wireless communication networks. Or at least one TV device (not shown) including at least one digital TV or DMB. Characterized in that at least comprising and further characterized in that obtained by having the application (or keystroke program) having the function programmed configuration shown in the figure 1 or figure 2.

본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 상기 유선단말 또는 무선단말 또는 TV장치(도시생략)를 하나 이상 포함하는 클라이언트 단말(370)에 대한 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.Those skilled in the art will be familiar with the technical features of the client terminal 370 including one or more of the wired terminal, the wireless terminal, or the TV device (not shown). Detailed description thereof will be omitted for convenience.

본 발명의 실시 방법에 따르면, 상기 프로그램 운용 서버(300)는 상기 응용프로그램을 통해 입력된 문자열 정보를 포함하는 사용자 입력 정보와 상기 사용자 입력 정보를 입력한 사용자 정보를 연계하여 이루어진 사용자 등록 데이터를 저장하는 데이터베이스를 구비하여 이루어지는 것을 특징으로 하며, 상기 데이터베이스는 상기 프로그램 운용 서버(300)와 연계된 데이터베이스 관리 시스템(DataBase Management System; DBMS)에 구비되는 것을 특징으로 한다.According to an embodiment of the present invention, the program operation server 300 stores user registration data formed by linking user input information including string information input through the application program with user information inputting the user input information. Characterized in that the database is provided, the database is characterized in that provided in the Database Management System (DBMS) associated with the program management server (300).

본 발명의 실시 방법에 따르면, 상기 사용자 등록 데이터에 포함된 사용자 정보는, 상기 프로그램 운용 서버(300)에 등록된 사용자의 ID정보, 별칭 정보, 성명 정보, 고유번호 정보를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 프로그램 운용 서버(300)에서 상에서 상기 사용자를 유일하게 식별할 수 있는 모든 정보를 포함하여 이루어지는 것이 바람직하다.According to the exemplary embodiment of the present invention, the user information included in the user registration data includes one or more ID information, alias information, name information, and unique number information of a user registered in the program operation server 300. Preferably, the program operation server 300 includes all information that can uniquely identify the user.

또한, 상기 사용자 등록 데이터에 포함된 사용자 입력 정보는, 상기 클라이언트 단말(370)에서 상기 응용프로그램을 통해 상기 사용자가 입력한 문자열 정보와, 상기 문자열과 연계된 하나 이상의 컨텐츠(예컨대, 이미지, 사운드, 멀티미디 어)를 포함하여 이루어지는 것이 바람직하다.In addition, the user input information included in the user registration data may include string information input by the user through the application program in the client terminal 370 and one or more contents (eg, image, sound, Multimedia).

본 발명에 따르면, 상기 프로그램 운용 서버(300)는 사용자의 회원 가입 과정에서 등록된 사용자 인증정보와, 사용자 회원 정보를 연계하여 저장하는 사용자 인증 D/B(360)를 구비하거나, 또는 네트워크를 통해 연동하는 것을 특징으로 한다.According to the present invention, the program operation server 300 is provided with a user authentication D / B 360 for storing the user authentication information and the user member information registered during the user registration process, or through a network It is characterized by interlocking.

여기서, 상기 사용자 인증정보는, 상기 프로그램 운용 서버(300)에 등록된 사용자의 ID정보, 비밀번호, ID/PW 정보를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 프로그램 운용 서버(300)가 공인인증서 로그인을 지원하는 경우, 상기 사용자 인증정보는 공인인증서 비밀번호를 더 포함하여 이루어지는 것이 바람직하다.Here, the user authentication information, preferably comprises one or more ID information, password, ID / PW information of the user registered in the program management server 300, the program management server 300 is logged in the official certificate In the case of supporting the user authentication information, it is preferable that the authentication certificate further comprises a password.

또는, 상기 사용자 인증정보는, 사용자의 ID 내지 비밀번호로만 한정되는 것은 결코 아니며, 상기 클라이언트 단말(370)에 구비된 단말주소 정보(예컨대, IP주소 정보, MAC주소 정보), 프로그램 식별정보(예컨대, 프로그램 일련번호, 프로그램 식별코드), 장치 정보(예컨대, 하드디스크 일련번호)를 포함하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.Alternatively, the user authentication information is not limited to the user's ID or password, but terminal address information (eg, IP address information and MAC address information) included in the client terminal 370, program identification information (eg, It is possible to include a program serial number, a program identification code), and device information (for example, a hard disk serial number), whereby the present invention is not limited.

또한, 상기 사용자 회원 정보는, 상기 클라이언트 단말(370)에 구비된 응용프로그램에 대한 정당한 사용자의 회원ID 정보, 성명, 주민등록번호, 주소, 연락처 등을 하나 이상 포함하여 이루어지는 것이 바람직하다.The user member information may include at least one member ID information, name, resident registration number, address, contact information, etc. of a legitimate user for an application provided in the client terminal 370.

본 발명의 실시 방법에 따르면, 상기 사용자 등록 데이터에 포함되는 사용자 정보는 상기 사용자 인증정보 내지 사용자 회원 정보에 포함된 정보 중 상기 사용자를 유일하게 식별할 수 있는 정보를 포함하여 이루어지는 것이 바람직하다.According to the exemplary embodiment of the present invention, the user information included in the user registration data may include information uniquely identifying the user among the information included in the user authentication information or the user member information.

도면3을 참조하면, 상기 프로그램 운용 서버(300)는, 상기 클라이언트 단말(370)에서 상기 사용자 인증정보를 전송하면, 상기 사용자 인증정보를 수신하는 정보 수신부(305)(또는 정보 수신수단)와, 상기 수신된 사용자 인증정보와 상기 사용자 인증 D/B(360)에 저장된 사용자 인증정보를 비교하여 상기 사용자를 인증하는 사용자 인증부(320)(또는 사용자 인증수단)을 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 3, when the client terminal 370 transmits the user authentication information, the program operation server 300 may include an information receiver 305 (or information receiving means) for receiving the user authentication information. And a user authentication unit 320 (or user authentication means) for authenticating the user by comparing the received user authentication information with the user authentication information stored in the user authentication D / B 360.

상기 클라이언트 단말(370)에서 사용자 인증정보를 전송하면, 상기 정보 수신부(305)는 상기 사용자 인증정보를 수신하는 것을 특징으로 한다.When the client terminal 370 transmits user authentication information, the information receiving unit 305 may receive the user authentication information.

상기 정보 수신부(305)를 통해 상기 사용자 인증정보가 수신되면, 상기 사용자 인증부(320)는 상기 수신된 사용자 인증정보와 상기 사용자 인증 D/B(360)에 저장된 사용자 인증정보를 비교하여 상기 사용자를 인증하는 것을 특징으로 한다.When the user authentication information is received through the information receiving unit 305, the user authentication unit 320 compares the received user authentication information with the user authentication information stored in the user authentication D / B 360 and the user. Characterized in that the authentication.

도면3을 참조하면, 상기 프로그램 운용 서버(300)는, 상기 클라이언트 단말(370)에서 상기 키스트로크 기반 사용자 입력 정보를 전송하면, 상기 키스트로크 기반 사용자 입력 정보를 수신하는 정보 수신부(305)(또는 정보 수신수단)와, 상기 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와 키스트로크 정보를 추출하는 정보 추출부(315)(또는 정보 추출수단)와, 상기 사용자 인증 D/B(360)와 연계하여 상기 사용자 입력 정보에 대응하는 사용자 정보를 확인하고, 상기 확인된 사용자 정보와 상기 추출된 사용자 입력 정보를 연계하여 상기 DBMS에 구비된 사용자 등록 데이터에 저장하는 정보 저장부(310)(또는 정보 저장수단)을 구비하여 이루어지는 것을 특징으로 하며, 본 발명의 다른 실시 방법에 따라 상기 클라이언트 단말(370)에 구비된 응용프로그램의 키 입력 기반 응용 기능이 상기 프로그램 운용 서버(300)와 연계하여 동작하지 않는 경우, 상기 정보 수신부(305)는 상기 클라이언트 단말(370)로부터 상기 도면1 또는 도면2에 도시된 프로그램 기능 구성을 구비한 응용프로그램(또는 키스트로크 프로그램)을 통해 전송되는 공유 판별 정보를 수신하는 것이 가능함을 명백하게 밝혀두는 바이다.Referring to FIG. 3, when the client terminal 370 transmits the keystroke-based user input information, the program operation server 300 receives the keystroke-based user input information. Information receiving means), an information extracting unit 315 (or information extracting means) for extracting the user input information and keystroke information from the received keystroke-based user input information, and the user authentication D / B 360 An information storage unit 310 (or storing the user information corresponding to the user input information) and storing the user information corresponding to the user input information and storing the extracted user input information in user registration data provided in the DBMS. Information storage means), and provided to the client terminal 370 according to another embodiment of the present invention. When a key input based application function of an application program does not operate in connection with the program operation server 300, the information receiving unit 305 is configured from the client terminal 370 as the program function shown in FIG. 1 or 2. It will be apparent that it is possible to receive sharing discrimination information transmitted via an application program (or a keystroke program) having a.

상기 클라이언트 단말(370)에서 상기 응용프로그램을 통해 입력된 사용자 입력 정보와 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 포함하는 키스트로크 기반 사용자 입력 정보를 전송하면, 상기 정보 수신부(305)는 상기 키스트로크 기반 사용자 입력 정보를 수신하는 것을 특징으로 한다.One or more input duration information, input interval information, and pressure information for one or more pieces of key data constituting user input information input through the application program and character string information included in the user input information in the client terminal 370. When the keystroke-based user input information including the keystroke information is included, the information receiving unit 305 may receive the keystroke-based user input information.

상기 정보 수신부(305)를 통해 상기 키스트로크 기반 사용자 입력 정보가 수신되면, 상기 정보 추출부(315)는 상기 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보를 추출하고, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 추출하는 것을 특징으로 한다.When the keystroke based user input information is received through the information receiver 305, the information extractor 315 extracts the user input information from the keystroke based user input information and is included in the user input information. And extracting keystroke information including one or more input duration information, input interval information, and pressure information about one or more pieces of key data constituting character string information.

상기 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와 키스트로크 정보가 추출되면, 상기 정보 저장부(310)는 상기 사용자 인증 D/B(360)와 연계하여 상기 사용자 입력 정보에 대응하는 사용자 정보를 확인하고, 상기 확인된 사용자 정보와 상기 추출된 사용자 입력 정보를 연계하여 상기 DBMS에 구비된 사용자 등록 데이터에 저장하는 것을 특징으로 한다.When the user input information and the keystroke information are extracted from the keystroke-based user input information, the information storage unit 310 links with the user authentication D / B 360 to obtain user information corresponding to the user input information. And confirming and storing the checked user information and the extracted user input information in the user registration data provided in the DBMS.

만약 상기 프로그램 운용 서버(300)가 검색서버이고, 상기 사용자 입력 정보가 검색 키워드를 포함하는 경우, 상기 정보 저장부(310)가 상기 사용자 입력 정보를 저장하는 것이 생략될 수 있으며, 이 경우 상기 프로그램 운용 서버(300)에 구비된 검색 처리부(도시생략)는 상기 검색 키워드를 통한 검색결과 데이터를 확인하여 상기 클라이언트 단말(370)로 제공하는 검색 서비스를 제공한다.If the program operation server 300 is a search server and the user input information includes a search keyword, storing the user input information by the information storage unit 310 may be omitted. In this case, the program The search processing unit (not shown) provided in the operation server 300 checks the search result data through the search keyword and provides a search service provided to the client terminal 370.

도면3을 참조하면, 상기 프로그램 운용 서버(300)는, 상기 정보 수신부(305)를 통해 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 정보 추출부(315)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대응하는 키스트로크 정보가 추출되면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장매체(365)에 저장하는 키스트로크 정보 저장부(330)(또는 키스트로크 정보 저장수단)와, 상기 저장매체(365)에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하고, 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부(325)(또는 키스트로크 클러스터 확인수단)와, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부(335)(또는 키스트로크 패턴 정보 생성수단)과, 상기 생성된 m개의 키스트로크 패턴 정보를 저장매체(365)에 저장하는 키스트로크 패턴 정보 저장부(340)(또는 키스트로크 패턴 정보 저장수단)을 구비하여 이루어지는 것을 특징으로 한다.Referring to FIG. 3, the program operation server 300 may include character string information included in the user input information through the information extracting unit 315 from keystroke based user input information received through the information receiving unit 305. When keystroke information corresponding to one or more pieces of key data constituting the extracted keystroke information is included, one or more pieces of input duration information, input interval information, and pressure information of one or more pieces of key data constituting the character string information included in the user input information are included. The keystroke information storage unit 330 (or keystroke information storage means) for storing the keystroke information in association with the character string information included in the user input information in the storage medium 365 and the storage medium 365. N (N> 1) pieces of stored string information that contain the same word (or sentence, or index word) that is stored a certain number of times over a period of time. Checking string information, checking N keystroke information associated with the identified N string information, input duration information for each key data included in the keystroke information among the identified N keystroke information, M (m> = 1) keystroke clusters including n (n <= N) pattern target keystroke information in which one or more pattern target information among input interval information and pressure information are distributed within a predetermined range. M number of m keystroke clusters using the keystroke cluster identification unit 325 (or keystroke cluster identification means) for checking and n keystroke information of each of the identified m keystroke clusters. A keystroke pattern information generating unit 335 (or keystroke pattern information generating means) for generating keystroke pattern information, and the generated m keystrokes And a keystroke pattern information storage unit 340 (or keystroke pattern information storage means) for storing stroke pattern information in the storage medium 365.

상기 정보 수신부(305)를 통해 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 정보 추출부(315)를 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대응하는 키스트로크 정보가 추출되면, 상기 키스트로크 정보 저장부(330)는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장매체(365)에 저장하는 것을 특징으로 한다.From the keystroke-based user input information received through the information receiver 305, keystroke information corresponding to one or more key data constituting string information included in the user input information is extracted through the information extractor 315. The keystroke information storage unit 330 may include one or more keys constituting string information included in the user input information to confirm sharing of program usage rights through keystroke clustering of the string information included in the user input information. And keystroke information including one or more pieces of input duration information, input interval information, and pressure information about the data in a storage medium 365 in association with string information included in the user input information.

만약 상기 사용자 인증부(320)에 의해 상기 클라이언트 단말(370)에 대한 사용자 인증정보가 인증된 경우, 상기 키스트로크 정보 저장부(330)는 상기 인증된 사용자 인증정보를 더 연계하여 상기 저장매체(365)에 저장하는 것이 바람직하다.If the user authentication information for the client terminal 370 is authenticated by the user authentication unit 320, the keystroke information storage unit 330 further links the authenticated user authentication information to the storage medium ( 365).

상기 키스트로크 정보 저장부(330)에 의해 상기 저장매체(365)에 상기 추출된 키스트로크 정보가 상기 사용자 입력 정보에 포함된 문자열 정보와 연계하여 저장된 후, 상기 키스트로크 클러스터 확인부(325)는 상기 저장매체(365)에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또 는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인하는 것을 특징으로 한다.After the extracted keystroke information is stored in the storage medium 365 by the keystroke information storage unit 330 in association with the string information included in the user input information, the keystroke cluster identification unit 325 Among the string information stored in the storage medium 365, N (N> 1) string information including the same word (or sentence or index word) stored a predetermined number of times or more during a predetermined period of time is checked, and the identified N strings N keystroke information associated with the information is identified.

여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.Here, the predetermined period refers to a period up to a recent past predetermined point of time based on a current time point for identifying the keystroke cluster, and the predetermined number of times indicates the minimum number of keystroke information required to generate the keystroke pattern information. It is preferable to comprise.

만약 저장매체(365)로부터 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보가 확인되면, 상기 키스트로크 클러스터 확인부(325)는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보를 결정하는 것을 특징으로 하며, 상기 패턴 대상 정보가 기 설정된 경우, 상기 패턴 대상 정보를 결정하는 것이 생략되어도 무방하다.If the N (N> 1) keystroke information stored more than a predetermined number of times for a predetermined period from the storage medium 365 is confirmed, the keystroke cluster identification unit 325 may determine the keystroke among the identified N keystroke information. And determining one or more pattern target information among input duration information, input interval information, and pressure information for each key data included in the information. When the pattern target information is set in advance, the pattern target information is determined. It may be omitted.

여기서, 상기 패턴 대상 정보는, 입력 지속시간 정보와 입력 간격 정보를 포함하거나, 또는 입력 지속시간 정보와 입력 간격 정보 및 압력 정보를 포함하여 이루어지는 것이 바람직하다.Here, the pattern object information preferably includes input duration information and input interval information, or preferably includes input duration information, input interval information, and pressure information.

이후, 상기 키스트로크 클러스터 확인부(325)는 상기 결정된(또는 기 설정 된) 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 확인하는 것을 특징으로 한다. Thereafter, the keystroke cluster identification unit 325 may identify n (n <= N) pattern target keystroke information in which the determined (or predetermined) pattern target information is distributed within a predetermined range.

여기서, n(n<=N)개의 패턴 대상 키스트로크 정보는 하나의 키스트로크 클러스터(Keystroke Cluster)에 대응하는 것을 특징으로 하며, 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 개수의 키스트로크 정보를 포함하여 이루어지는 것이 바람직하다.Here, the n (n <= N) pattern target keystroke information corresponds to one keystroke cluster, and the minimum number of keystroke information required for generating the keystroke pattern information is obtained. It is preferable to comprise.

본 발명에 따르면, 상기 키스트로크 클러스터 확인부(325)는 n개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인하는 것을 특징으로 한다.According to the present invention, the keystroke cluster identification unit 325 may identify m (m> = 1) keystroke clusters including n pattern target keystroke information.

상기 키스트로크 클러스터 확인부(325)에 의해 m개의 키스트로크 클러스터가 확인되면, 상기 키스트로크 패턴 정보 생성부(335)는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하는 것을 특징으로 한다.When the m keystroke clusters are identified by the keystroke cluster identification unit 325, the keystroke pattern information generation unit 335 may generate n keystroke information included in each of the identified m keystroke clusters. M keystroke pattern information corresponding to the m keystroke clusters is generated.

본 발명의 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(335)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보 를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.According to the exemplary embodiment of the present invention, the keystroke pattern information generation unit 335 may use keys for m keystroke clusters by using each of n keystroke information included in the identified m keystroke clusters. It is preferable to generate m keystroke pattern information including a stroke average value and a variance value.

본 발명의 다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(335)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke pattern information generation unit 335 substitutes n keystroke information included in the identified m keystroke clusters into a predetermined pattern calculation formula, Alternatively, it is preferable to generate m keystroke pattern information by performing substitution / combination according to a preset pattern calculation rule or by processing a geometric operation using a preset graph. Here, the preset pattern calculation formula, pattern calculation rule, and geometric calculation may be performed by converting the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by those skilled in the art. It is preferable to comprise processing.

본 발명의 또다른 일 실시 방법에 따르면, 상기 키스트로크 패턴 정보 생성부(335)는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명 을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the keystroke pattern information generation unit 335 multiplies each of the n keystroke information included in the identified m keystroke clusters by each predetermined weight. It is preferable to generate m keystroke pattern information by substituting a predetermined pattern calculation formula, replacing / combining according to a predetermined pattern calculation law, or processing a geometric operation using a preset graph. In this case, the weight is preferably set by the person skilled in the art to set more weights to the information item that acts as an important factor in generating the keystroke pattern information, and the preset pattern calculation formula, pattern calculation rule and geometric calculation are described in the present invention. It is preferable to include processing the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by a person skilled in the art.

상기 키스트로크 패턴 정보 생성부(335)에 의해 m개의 키스트로크 패턴 정보가 생성되면, 상기 키스트로크 패턴 정보 저장부(340)는 상기 생성된 m개의 키스트로크 패턴 정보를 저장매체(365)에 저장하는 것을 특징으로 한다.When m keystroke pattern information is generated by the keystroke pattern information generation unit 335, the keystroke pattern information storage unit 340 stores the generated m keystroke pattern information on the storage medium 365. Characterized in that.

본 발명의 실시 방법에 따르면, 상기 키스트로크 패턴 정보 저장부(340)는 상기 생성된 m개의 키스트로크 패턴 정보를 상기 사용자 입력 정보와 연계하여 저장매체(365)에 저장하거나, 또는 상기 생성된 m개의 키스트로크 패턴 정보를 각각의 키스트로크 패턴 정보를 생성하는데 사용된 키스트로크 클러스터에 포함된 n개의 키스트로크 정보와 연계하여 저장매체(365)에 저장하는 것이 바람직하다.According to the exemplary embodiment of the present invention, the keystroke pattern information storage unit 340 stores the generated m keystroke pattern information in the storage medium 365 in association with the user input information, or the generated m The keystroke pattern information is preferably stored in the storage medium 365 in association with the n keystroke information included in the keystroke cluster used to generate the respective keystroke pattern information.

도면3을 참조하면, 상기 프로그램 운용 서버(300)는, 상기 키스트로크 패턴 정보 생성부(335)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 패턴 유사도 확인부(350)(또는 패턴 유사도 확인수단)와, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 두개 이상의 비교 대상 키스 트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하여 상기 프로그램 이용 권한이 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하고, 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하여 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부(355)(또는 공유 확인수단)와, 상기 프로그램 이용 권한에 대한 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장매체(365)에 저장하는 공유 판별 정보 저장부(345)(공유 판별 정보 저장수단)를 구비하여 이루어지는 것을 특징으로 하며, 본 발명의 다른 실시 방법에 따라 상기 정보 수신부(305)를 통해 상기 클라이언트 단말(370)로부터 공유 판별 정보가 수신되는 경우, 상기 공유 판별 정보 저장부(345)는 상기 수신된 공유 판별 정보를 상기 저장매체(365)에 저장하는 것을 특징으로 한다.Referring to FIG. 3, when two or more keystroke pattern information is generated by the keystroke pattern information generation unit 335, the program operation server 300 compares the generated two or more keystroke pattern information to the keystroke pattern information. If the pattern similarity checking unit 350 (or pattern similarity checking means) for checking the keystroke pattern similarity information with respect to the two or more keystroke pattern informations and the checked keystroke pattern similarity information are equal to or greater than a preset sharing determination criterion similarity, The two or more comparison keystroke pattern information may be identified as one keystroke pattern information to confirm that the program use authority is being used by only one user, and the predetermined keystroke pattern similarity information is determined to be shared. If the reference similarity is less than or equal to the two or more A share confirming unit 355 (or a share confirming means) which confirms that the stroke pattern information is two or more different keystroke pattern information and confirms that the program use right is shared by two or more users, and the program use right. And the sharing discrimination information storage unit 345 (sharing discrimination information storage means) for storing the sharing discrimination information on the storage medium 365 in association with the user input information. When the sharing determination information is received from the client terminal 370 through the information receiving unit 305, the sharing determination information storage unit 345 stores the received sharing determination information in the storage medium 365. Characterized in that.

상기 키스트로크 패턴 정보 생성부(335)에 의해 두개 이상의 키스트로크 패턴 정보가 생성되면, 상기 패턴 유사도 확인부(350)는 기 설정된 패턴 유사도 산출식(또는 연산 법칙, 또는 기학학적 연산)을 통해 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하는 것을 특징으로 한다.When two or more pieces of keystroke pattern information are generated by the keystroke pattern information generating unit 335, the pattern similarity checking unit 350 performs the predetermined pattern similarity calculation formula (or a calculation rule or a geometrical operation). The keystroke pattern similarity information of the two or more keystroke pattern information is confirmed by comparing the generated two or more keystroke pattern information.

만약 상기 키스트로크 패턴 유사도 정보가 확인되면, 상기 공유 확인부(355) 는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(355)는 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.If the keystroke pattern similarity information is confirmed, the sharing check unit 355 determines that the two or more comparison target keystroke pattern information is one when the identified keystroke pattern similarity information is equal to or greater than a preset sharing determination criterion similarity. Characterized in that the keystroke pattern of the, characterized in that, in this case, the sharing check unit 355 preferably checks that the program use rights are not used by only one user is not shared.

또한, 상기 공유 확인부(355)는 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면, 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하는 것을 특징으로 하며, 이 경우 상기 공유 확인부(355)는 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 바람직하다.In addition, when the identified keystroke pattern similarity information is determined to be equal to or less than a preset sharing criterion similarity, the sharing confirmation unit 355 confirms the two or more comparison target keystroke pattern information as two or more different keystroke pattern information. In this case, the sharing check unit 355 preferably confirms that the program use rights are shared by two or more users.

또한, 상기 키스트로크 패턴 정보 생성부(335)에 의해 오직 하나의 키스트로크 패턴 정보가 생성되면, 상기 공유 확인부(355)는 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인하는 것이 바람직하다.In addition, when only one keystroke pattern information is generated by the keystroke pattern information generation unit 335, the sharing confirmation unit 355 is used by only one user without sharing the program permission. It is desirable to confirm.

본 발명의 다른 실시 방법에 따르면, 상기 공유 확인부(355)는 상기 패턴 유사도 확인부(350)에 의해 키스트로크 패턴 유사도 정보 생성과 무관하게 상기 키스트로크 클러스터 확인부(325)에 의해 확인되는 키스트로크 클러스터 개수, 또는 상 기 키스트로크 패턴 정보 생성부(335)에 의해 생성된 상기 키스트로크 패턴 정보 개수가 두개 이상인 경우, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to another exemplary embodiment of the present invention, the sharing confirmation unit 355 may determine the key similar to the keystroke cluster identification unit 325 by the pattern similarity identification unit 350 regardless of keystroke pattern similarity information generation. When the number of stroke clusters or the number of keystroke pattern information generated by the keystroke pattern information generation unit 335 is two or more, it is possible to confirm that the program use authority is shared by two or more users. The present invention is not limited thereby.

상기 공유 확인부(355)에 의해 상기 프로그램 이용 권한에 대한 공유 여부가 확인되면, 상기 공유 판별 정보 저장부(345)는 상기 프로그램 이용 권한에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장매체(365)에 저장한다.When the sharing confirmation unit 355 confirms whether or not to share the program use right, the sharing determination information storage unit 345 generates sharing determination information about the program use right, and the generated sharing determination information It is stored in the storage medium 365 in association with the user input information.

도면4는 본 발명의 실시 방법에 따른 사용자 인증 과정을 도시한 도면이다.4 is a diagram illustrating a user authentication process according to an embodiment of the present invention.

보다 상세하게 본 도면4는 상기 클라이언트 단말(370)에서 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 기동하여 사용자 인증정보를 전송하면, 상기 프로그램 운용 서버(300)에서 상기 사용자 인증정보를 인증하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 사용자 인증 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면4에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, in FIG. 4, when the client terminal 370 starts the application program (or keystroke program) illustrated in FIG. 1 or 2 and transmits user authentication information, the program operation server 300 transmits the user authentication information. As a process of authenticating user authentication information, those of ordinary skill in the art to which the present invention pertains may refer to and / or modify the drawing 4 to infer various implementation methods for the user authentication process. However, the present invention includes all the implementation methods inferred from the above, and is not limited to the implementation method shown in FIG.

이하, 본 도면4에서 상기 도면3에 도시된 클라이언트 단말(370)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(300)를 편의상 "서버"라고 하고, 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 편의상 프로그램이라고 한다.Hereinafter, in FIG. 4, the client terminal 370 illustrated in FIG. 3 is referred to as a “terminal” for convenience, and the program operation server 300 is referred to as a “server” for convenience and the application illustrated in FIG. 1 or FIG. 2. A program (or keystroke program) is called a program for convenience.

도면4를 참조하면, 상기 단말에서 상기 도면1 또는 도면2에 도시된 기능 구성을 포함하는 프로그램을 기동하여 통신망을 통해 상기 서버에 접속하여 통신채널을 연결하고(400), 이에 대응하여 상기 프로그램은 상기 서버로 전송할 사용자 인증정보를 확인한다(405).Referring to FIG. 4, the terminal starts a program including the functional configuration shown in FIG. 1 or FIG. 2 to connect to the server through a communication network to connect a communication channel (400). The user authentication information to be sent to the server is checked (405).

여기서, 상기 사용자 인증정보는, 상기 서버에 등록된 사용자의 ID정보, 비밀번호, ID/PW 정보를 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 서버가 공인인증서 로그인을 지원하는 경우, 상기 사용자 인증정보는 공인인증서 비밀번호를 더 포함하여 이루어지는 것이 바람직하다.Here, the user authentication information, preferably comprises at least one of the ID information, password, ID / PW information of the user registered in the server, if the server supports the authentication certificate login, the user authentication information is It is preferable that the authentication certificate password is further included.

또는, 상기 사용자 인증정보는, 사용자의 ID 내지 비밀번호로만 한정되는 것은 결코 아니며, 상기 클라이언트 단말(370)에 구비된 단말주소 정보(예컨대, IP주소 정보, MAC주소 정보), 프로그램 식별정보(예컨대, 프로그램 일련번호, 프로그램 식별코드), 장치 정보(예컨대, 하드디스크 일련번호)를 포함하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.Alternatively, the user authentication information is not limited to the user's ID or password, but terminal address information (eg, IP address information and MAC address information) included in the client terminal 370, program identification information (eg, It is possible to include a program serial number, a program identification code), and device information (for example, a hard disk serial number), whereby the present invention is not limited.

만약 상기 사용자 인증정보가 확인되면(410), 상기 단말은 상기 프로그램을 통해 상기 사용자 인증정보를 통신채널을 통해 상기 서버로 전송하고(415), 이에 대응하여 상기 수신된 사용자 인증정보와 상기 사용자 인증 D/B(360)에 저장된 사용자 인증정보를 비교하여 상기 사용자를 인증한다(420).If the user authentication information is confirmed (410), the terminal transmits the user authentication information to the server through the communication channel through the program (415), and correspondingly the received user authentication information and the user authentication The user is authenticated by comparing the user authentication information stored in the D / B 360 (420).

만약 상기 수신된 사용자 인증정보를 통해 상기 사용자가 인증되면(425), 상기 프로그램 운용 서버(300)는 사용자 입력 정보를 등록하는 과정을 수행할 수 있다.If the user is authenticated through the received user authentication information (425), the program operation server 300 may perform a process of registering user input information.

도면5는 본 발명의 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 정보를 저장하는 과정을 도시한 도면이다.FIG. 5 is a diagram illustrating a process of storing keystroke information to confirm sharing of program use rights through keystroke clustering of string information included in user input information according to an exemplary embodiment of the present invention.

보다 상세하게 본 도면5는 상기 클라이언트 단말(370)에서 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 키 입력 기반 각종 응용 기능을 위해 입력된 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하고, 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 확인된 키스트로크 정보를 연계하여 저장수단에 저장하는 과정 에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 정보를 저장하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면5에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, FIG. 5 illustrates a character string included in user input information input for various application functions based on key input from the client terminal 370 through an application program (or a keystroke program) shown in FIG. 1 or 2. Identify keystroke information including one or more input duration information, input interval information, and pressure information for two or more pieces of key data constituting the information; and include character string information and the identified keystroke information included in the user input information. A process of storing the information in a storage means in association with one another. For those skilled in the art to which the present invention pertains, a keystroke for the character string information included in the user input information by referring to and / or modifying the drawing 5 will be described. Keystroke information is stored to confirm sharing of program access rights through clustering. Various implementation methods for the process may be inferred, but the present invention includes all the implementation methods inferred above and is not limited to the implementation method shown in FIG.

이하, 본 도면5에서 상기 도면3에 도시된 클라이언트 단말(370)을 편의상 "단말"이라고 하고, 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 편의상 프로그램이라고 한다.In FIG. 5, the client terminal 370 shown in FIG. 3 is referred to as " terminal " for convenience, and the application program (or keystroke program) shown in FIG. 1 or FIG. 2 is called a program for convenience.

도면5를 참조하면, 상기 단말은 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 하나 이상의 사용자 입력 정보가 입력(또는 선택)되는지 확인하고(500), 만약 하나 이상의 사용자 입력 정보가 입력(또는 선택)되면(505), 상기 단말은 상기 프로그램을 통해 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인한다(510).Referring to FIG. 5, the terminal checks whether one or more user input information is input (or selected) through an application program (or a keystroke program) shown in FIG. 1 or 2 (500). When the input information is input (or selected) (505), the terminal through the program at least one input duration information, input interval information, pressure information for each key data constituting the character string information included in the user input information The keystroke information that is included is checked (510).

여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.The input duration information may include time interval information that is maintained in a state in which each key corresponding to each key data constituting character string information included in the user input information is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to the exemplary embodiment of the present invention, the input duration information includes a time when a key corresponding to each key data constituting character string information included in the user input information is down from a time when the corresponding key is up. It is preferable that the time difference information is included.

예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.For example, when the time when the key corresponding to the specific key data is down is called T_down, when the time when the key corresponding to the key data is down is called T_up and when the input duration is called T_duration, input duration information, It is calculated through a formula such as "T_duration = T_up-T_down".

본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.According to the exemplary embodiment of the present invention, the key data constituting the character string information included in the user input information must be keyed down after the key is down, so that the input duration information always has a positive number.

상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.The input interval information is a key corresponding to the previous key data constituting the string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is characterized in that it comprises the time interval information from the time after the pressing until the key corresponding to the next key data is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the input interval information is configured to configure string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is preferable to include the time difference information from the time when the key corresponding to the previous key data is down after the up time to the time when the next key is down.

예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.For example, among two or more pieces of key data constituting the character string information included in the user input information, a time at which a key corresponding to the previous key data is up is called T (n-1) _up, and a key corresponding to the next key data is When the down time is called T (n) _down and the input interval information is called T_interval, the input interval information is calculated through a calculation formula such as "T_interval = T (n) _down-T (n-1) _up". do.

본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.According to an exemplary embodiment of the present invention, when the key corresponding to the previous key data is up and the key corresponding to the next key data is down among two or more key data constituting the character string information included in the user input information, Preferably, the input interval information has positive interval information including a positive number.

본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.According to another embodiment of the present invention, among the two or more key data constituting the string information included in the user input information according to the wrist / finger joint characteristics, key input habits, key input speed of the user corresponding to the previous key data If the key corresponding to the next key data is down before the up key is up after being down, and the key corresponding to the next key data is down before the key corresponding to the previous key data is up, the input The interval information preferably has negative interval information including negative numbers.

여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.Here, the negative interval information includes time interval information in which a key corresponding to the previous key data and a key corresponding to the next key data are simultaneously pressed among two or more key data constituting the character string information included in the user input information. It is preferable to comprise, and it is possible to continue two or more times.

만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.If a third key of the three or more pieces of key data constituting the character string information included in the user input information is down before the first key and the second key are both down, the input interval between the first key and the second key Preferably, the information includes negative interval information from the first key up until the second key is down, and the input interval information between the second key and the third key is the third key after the second key is up. It is preferable to include the negative interval information until the down.

본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.According to another exemplary embodiment of the present invention, among two or more pieces of key data constituting the character string information included in the user input information, the time corresponding to the previous key data is down and then up corresponds to the next key data. The time at which the key is down may be processed at the same time within a predetermined reference time range. In this case, the input interval information may have a zero number (= Zero Interval).

상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 단말에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.When the pressure information is provided with a pressure sensor on each key button constituting a key input device provided in the terminal for inputting each key data constituting character string information included in the user input information, the user input In the process of inputting each key corresponding to each key data constituting character string information included in the information, the key pressure information sensed by the pressure sensor is preferably included.

본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to an exemplary embodiment of the present invention, the pressure information may include maximum peak pressure information for an input duration of pressing of each key corresponding to each key data constituting character string information included in the user input information. desirable.

본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is a pressure sensed by a predetermined reference time unit for an input duration in which each key corresponding to each key data constituting character string information included in the user input information is pressed. It is preferred to include the average pressure value for the information.

본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is sensed by a predetermined reference time unit for each input key pressed time corresponding to each key data constituting character string information included in the user input information. It is preferable that the pressure information calculated by substituting a plurality of pieces of pressure information into a preset pressure calculation formula (for example, an integral formula) is included.

만약 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면(515), 상기 단말은 상기 프로그램을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공한다(520).If the keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is checked (515), the terminal performs the program. In operation 520, keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is processed according to a preset processing method.

본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to an exemplary embodiment of the present invention, the terminal preferably processes the input duration information and the input interval information of the checked keystroke information in millisecond units, wherein the time unit is variously changed according to the intention of those skilled in the art. It is possible to carry out by modification, and the present invention is characterized in that it comprises all of the modified implementation method.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234", the input duration information of "1" is 500ms, the input duration information of "2" is 450ms, and the input duration information of "3" is 400ms. , Input duration information of "4" is processed in the form of 500ms, input interval information of "1" and "2" is 300ms, input interval information of "2" and "3" is 500ms, "3" And input interval information of " 4 " is preferably processed into a form such as 400 ms.

본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the terminal preferably processes the input duration information and the input interval information of the checked keystroke information into a predetermined number of reference unit times, wherein the reference unit time is a minimum key. It is preferable to include a repetition time, the reference unit time can be carried out in a variety of modifications according to the intention of those skilled in the art, the present invention is characterized in that it comprises all the modified implementation method.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2"와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태 로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234" and the reference unit time information is 10 ms, 50 pieces of input duration information of "1" are 45 pieces of input duration information of "2". The input duration information of "3" is processed into 40 pieces, the input duration information of "4" into 50 pieces, and the input interval information of "1" and "2" is 30 pieces, "2" and It is preferable to process 50 pieces of input interval information of "3" and 40 pieces of input interval information of "3" and "4".

본 발명의 또다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the terminal preferably processes the input duration information and the input interval information of the checked keystroke information into a preset threshold time interval value, wherein the threshold time and the threshold time The number of sections can be variously modified and implemented according to the intention of those skilled in the art, and the present invention is characterized by including all the modified method described above.

예컨대, 상기 사용자 입력 정보가 "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'와 같은 형태로 가공하는 것이 바람직하다.For example, the user input information includes a number such as "1234", and the threshold time interval value is "0" which is 299 ms or less, 399 to 300 ms "1", 400 to 499 ms "2", 500 ms to 599 ms "3", 699 ms to 600 ms to "4", 700 ms to 799 ms to "5", 800 ms to 899 ms to "6", 900 ms to 999 ms to "7", 1000 ms to "8" or more The input duration information is '3', the input duration information of '2' is '2', the input duration information of '3' is '2', and the input duration information of '4' is '3'. And the input interval information of "1" and "2" is' 1 ', the input interval information of "2" and "3" is' 3', and the input interval information of "3" and "4" is' It is preferable to process in the form like 2 '.

본 발명의 실시 방법에 따르면, 상기 단말은 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.According to an embodiment of the present invention, the terminal preferably processes the sensor-specific sensing data sensed by the pressure sensor into one unified pressure unit (eg, Pascal).

이후, 상기 단말은 상기 가공된 키스트로크 정보와 상기 사용자 입력 정보에 포함된 문자열 정보를 연계하여 저장수단에 저장한다(525).Thereafter, the terminal stores the processed keystroke information and character string information included in the user input information in a storage means in operation 525.

도면6은 본 발명의 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.FIG. 6 is a diagram illustrating a process of checking a shared state of a program use authority by reading a keystroke pattern according to an exemplary embodiment of the present invention.

보다 상세하게 본 도면6은 상기 도면5에 도시된 과정을 통해 상기 클라이언트 단말(370)에 구비된 저장수단에 상기 프로그램을 통해 입력된 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보에 대응하는 키스트로크 정보가 일정 횟수 이상 저장된 경우, 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)에서 상기 저장수단에 저장된 키스트로크 정보 중 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보에 대한 m(m>=1)개의 키스트로크 클러스터를 확인하고, 상기 m개의 키스트로크 클러스터에 대한 키스트로크 패턴 판독을 통해 상기 프로그램 이용 권한이 공유되고 있는지 확인하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면6에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, FIG. 6 illustrates character string information included in the user input information input through the program and a key corresponding to the character string information in a storage unit provided in the client terminal 370 through the process illustrated in FIG. 5. When the stroke information is stored a predetermined number of times, N (N> 1) pieces of the keystroke information stored in the storage means in the application program (or keystroke program) shown in FIG. The process of identifying m (m> = 1) keystroke clusters for keystroke information and checking whether the program use authority is shared by reading keystroke patterns for the m keystroke clusters, Those skilled in the art to which the present invention pertains may refer to and / or modify the drawing 6, Although various implementation methods may be inferred for the process of confirming the sharing status of the program use authority by reading the keystroke pattern, the present invention includes all the implementation methods inferred above, and is shown in FIG. It is not limited to only.

이하, 본 도면6에서 상기 도면3에 도시된 클라이언트 단말(370)을 편의상 "단말"이라고 한다.Hereinafter, in FIG. 6, the client terminal 370 shown in FIG. 3 is referred to as a “terminal” for convenience.

도면6을 참조하면, 상기 도면5에 도시된 과정을 통해 상기 클라이언트 단말(370)에서 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보가 상기 도면6에 도시된 과정을 통해 일정 횟수 이상 상기 저장수단에 저장된 경우, 상기 단말은 상기 저장수단에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인한다(600).Referring to FIG. 6, the keystroke information included in the keystroke-based user input information transmitted from the client terminal 370 through the process illustrated in FIG. 5 is determined a predetermined number of times or more through the process illustrated in FIG. 6. When stored in the storage means, the terminal checks the N (N> 1) string information including the same word (or sentence or index word) stored a predetermined number of times during a predetermined period of the string information stored in the storage means, and The N keystroke information associated with the confirmed N string information is confirmed (600).

여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.Here, the predetermined period refers to a period up to a recent past predetermined point of time based on a current time point for identifying the keystroke cluster, and the predetermined number of times indicates the minimum number of keystroke information required to generate the keystroke pattern information. It is preferable to comprise.

만약 저장수단으로부터 일정 기간 동안 일정 횟수 이상 저장된 N개의 키스트로크 정보가 확인되면(605), 상기 단말은 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인한다(610).If the N keystroke information stored more than a predetermined number of times during the predetermined period is confirmed from the storage means (605), the terminal input duration information for each key data included in the keystroke information among the identified N keystroke information. Verifying m (m> = 1) keystroke clusters including n (n <= N) pattern target keystroke information in which one or more pattern target information among input interval information and pressure information is distributed within a predetermined range ( 610).

만약 상기 저장수단에 저장된 N개의 키스트로크 정보로부터 m개의 키스트로크 클러스터가 확인되면(615), 상기 단말은 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하고(620), 상기 생성된 생성 m개의 키스트로크 패턴 정보를 저장수단에 저장한다(625).If m keystroke clusters are identified from the N keystroke information stored in the storage means (615), the terminal uses the m keystroke information of each of the m keystroke clusters in the identified m keystroke clusters. The m keystroke pattern information corresponding to the number of keystroke clusters is generated (620), and the generated m keystroke pattern information are stored in the storage means (625).

본 발명의 일 실시 방법에 따르면, 상기 단말은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.According to an exemplary embodiment of the present invention, the terminal includes a keystroke average value and a variance value for m keystroke clusters using the n keystroke information included in the identified m keystroke clusters. It is preferable to generate m pieces of keystroke pattern information.

본 발명의 다른 일 실시 방법에 따르면, 상기 단말은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the terminal substitutes n keystroke information included in the identified m keystroke clusters into a preset pattern calculation formula or according to a preset pattern calculation rule. It is preferable to generate m keystroke pattern information by performing substitution / combination or by performing a geometric operation using a preset graph. Here, the preset pattern calculation formula, pattern calculation rule, and geometric calculation may be performed by converting the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by those skilled in the art. It is preferable to comprise processing.

본 발명의 또다른 일 실시 방법에 따르면, 상기 단말은, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the terminal multiplies each of the n keystroke information included in the identified m keystroke clusters by each predetermined weight, and then substitutes the preset pattern calculation formula. Alternatively, it is preferable to generate m keystroke pattern information by performing substitution / combination according to a predetermined pattern calculation rule or by processing a geometric operation using a preset graph. In this case, the weight is preferably set by the person skilled in the art to set more weights to the information item that acts as an important factor in generating the keystroke pattern information, and the preset pattern calculation formula, pattern calculation rule and geometric calculation are described in the present invention. It is preferable to include processing the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by a person skilled in the art.

만약 상기 키스트로크 패턴 정보 생성 과정에서 오직 하나의 키스트로크 패턴 정보가 생성되면(630), 상기 단말은 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(635).If only one keystroke pattern information is generated in the process of generating the keystroke pattern information (630), the terminal determines that the program use right is not shared and is used by only one user (635).

반면 상기 키스트로크 패턴 정보 생성 과정에서 두개 이상의 키스트로크 패 턴 정보가 생성되면(630), 상기 단말은 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하고(640), 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도를 비교하여 상기 프로그램 이용 권한의 공유 여부를 판별한다(645).On the other hand, if two or more keystroke pattern information is generated in the process of generating the keystroke pattern information (630), the terminal compares the generated two or more keystroke pattern information keystroke pattern for the two or more keystroke pattern information The similarity information is checked (640), and the determined keystroke pattern similarity information is compared with a predetermined sharing determination criterion similarity to determine whether to share the program use authority (645).

만약 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면(650), 상기 단말은 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(635).If the checked keystroke pattern similarity information is determined to be equal to or greater than a predetermined sharing determination criterion similarity (650), the terminal checks the two or more comparison target keystroke pattern information as one keystroke pattern information and uses the program. Verify that the permissions are not shared and are being used by only one user (635).

반면 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면(650), 상기 단말은 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인한다(655).On the other hand, if the identified keystroke pattern similarity information is determined to be equal to or less than a predetermined sharing determination criterion similarity (650), the terminal checks the two or more comparison target keystroke pattern information as two or more different keystroke pattern information, and Verify that the program usage rights are shared by more than one user (655).

이후, 상기 단말은 상기 프로그램 이용 권한에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장수단 에 저장한다(660).Thereafter, the terminal generates sharing determination information on the program use authority, and stores the generated sharing determination information in the storage means in association with the user input information (660).

도면7은 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보를 송수신하는 과정을 도시한 도면이다.FIG. 7 is a diagram illustrating a process of transmitting and receiving keystroke-based user input information to confirm sharing of program use rights through keystroke clustering of string information included in user input information according to another exemplary embodiment of the present invention.

보다 상세하게 본 도면7은 상기 클라이언트 단말(370)에서 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 키 입력 기반 각종 응용 기능을 위해 입력된 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인하고, 상기 키스트로크 정보를 포함하는 키스트로크 기반 사용자 입력 정보를 생성하여 전송하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면7을 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보를 송수신하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면7에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, FIG. 7 illustrates a character string included in user input information input for various application functions based on key input from the client terminal 370 through an application program (or a keystroke program) shown in FIG. 1 or 2. Identify keystroke information including one or more input duration information, input interval information, and pressure information for two or more pieces of key data constituting the information, and generate and transmit keystroke-based user input information including the keystroke information. As a person skilled in the art to which the present invention pertains, the authority to use a program through keystroke clustering of character string information included in the user input information by referring to and / or modifying the drawing 7 Sending and receiving keystroke based user input information for sharing confirmation Would be able to infer a variety of exemplary methods for the information, the present invention includes all embodiments in which the inference method, shall not be limited to the exemplary method shown in the figure 7.

이하, 본 도면7에서 상기 도면3에 도시된 클라이언트 단말(370)을 편의상 " 단말"이라고 하고, 상기 프로그램 운용 서버(300)를 편의상 "서버"라고 하고, 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 편의상 프로그램이라고 한다.Hereinafter, in FIG. 7, the client terminal 370 illustrated in FIG. 3 is referred to as a “terminal” for convenience, and the program operation server 300 is referred to as a “server” for convenience and the application illustrated in FIG. 1 or FIG. 2. A program (or keystroke program) is called a program for convenience.

도면7을 참조하면, 상기 단말은 상기 도면1 또는 도면2에 도시된 응용프로그램(또는 키스트로크 프로그램)을 통해 하나 이상의 사용자 입력 정보가 입력(또는 선택)되는지 확인하고(700), 만약 하나 이상의 사용자 입력 정보가 입력(또는 선택)되면(705), 상기 단말은 상기 프로그램을 통해 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 확인한다(710).Referring to FIG. 7, the terminal checks whether one or more user input information is input (or selected) through an application program (or a keystroke program) shown in FIG. 1 or 2 (700). When the input information is input (or selected) (705), the terminal receives at least one input duration information, input interval information, pressure information for each key data constituting the character string information included in the user input information through the program The keystroke information is checked (710).

여기서, 상기 입력 지속시간 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 상태로 지속된 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 하다.The input duration information may include time interval information that is maintained in a state in which each key corresponding to each key data constituting character string information included in the user input information is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 지속시간 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 키가 다운(Down)된 시각부터 해당 키가 업(Up)된 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to the exemplary embodiment of the present invention, the input duration information includes a time when a key corresponding to each key data constituting character string information included in the user input information is down from a time when the corresponding key is up. It is preferable that the time difference information is included.

예컨대, 특정 키 데이터에 대응하는 키가 다운된 시각을 T_down이라고 하고, 상기 키 데이터에 대응하는 키가 다운된 후 업된 시각을 T_up이라고 하고, 상기 입력 지속시간을 T_duration이라고 하면, 입력 지속시간 정보, "T_duration = T_up - T_down"과 같은 산출식을 통해 산출된다.For example, when the time when the key corresponding to the specific key data is down is called T_down, when the time when the key corresponding to the key data is down is called T_up and when the input duration is called T_duration, input duration information, It is calculated through a formula such as "T_duration = T_up-T_down".

본 발명의 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 키 데이터는 반드시 키 다운 후에 키 업이 발생함으로, 상기 입력 지속시간 정보는 항상 양의 수를 갖게 되는 것이 바람직하다.According to the exemplary embodiment of the present invention, the key data constituting the character string information included in the user input information must be keyed down after the key is down, so that the input duration information always has a positive number.

상기 입력 간격 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 눌려진 후 그 다음 키 데이터에 대응하는 키가 눌려질 때까지의 시간 간격 정보를 포함하여 이루어지는 것을 특징으로 한다.The input interval information is a key corresponding to the previous key data constituting the string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is characterized in that it comprises the time interval information from the time after the pressing until the key corresponding to the next key data is pressed.

본 발명의 실시 방법에 따르면, 상기 입력 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두 번째 이상의 키 데이터에 대응하는 키가 눌려진 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 이전 키 데이터에 대응하는 키가 다운된 후 업된 시각부터 그 다음 키가 다운되는 시각까지의 시간차 정보를 포함하여 이루어지는 것이 바람직하다.According to an embodiment of the present invention, the input interval information is configured to configure string information included in the user input information when a key corresponding to the second or more key data constituting the string information included in the user input information is pressed. It is preferable to include the time difference information from the time when the key corresponding to the previous key data is down after the up time to the time when the next key is down.

예컨대, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 시각을 T(n-1)_up이라고 하고, 그 다음 키 데이터에 대응하는 키가 다운된 시각을 T(n)_down이라고 하고, 상기 입력 간격 정보를 T_interval이라고 하면, 상기 입력 간격 정보, "T_interval = T(n)_down - T(n-1)_up"과 같은 산출식을 통해 산출된다.For example, among two or more pieces of key data constituting the character string information included in the user input information, a time at which a key corresponding to the previous key data is up is called T (n-1) _up, and a key corresponding to the next key data is When the down time is called T (n) _down and the input interval information is called T_interval, the input interval information is calculated through a calculation formula such as "T_interval = T (n) _down-T (n-1) _up". do.

본 발명의 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 업된 후 그 다음 키 데이터에 대응하는 키가 다운된 경우, 상기 입력 간격 정보는 양의 수를 포함하는 양의 간격 정보(Positive Interval)를 갖게 되는 것이 바람직하다.According to an exemplary embodiment of the present invention, when the key corresponding to the previous key data is up and the key corresponding to the next key data is down among two or more key data constituting the character string information included in the user input information, Preferably, the input interval information has positive interval information including a positive number.

본 발명의 다른 일 실시 방법에 따르면, 사용자의 손목/손가락 관절 특성, 키 입력 습관, 키 입력 속도에 따라 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 것이 가능하며, 이전 키 데이터에 대응하는 키가 업되기 전에 그 다음 키 데이터에 대응하는 키가 다운되는 경우, 상기 입력 간격 정보는 음의 수를 포함하는 음의 간격 정보(Negative Interval)를 갖게 되는 것이 바람직하다.According to another embodiment of the present invention, among the two or more key data constituting the string information included in the user input information according to the wrist / finger joint characteristics, key input habits, key input speed of the user corresponding to the previous key data If the key corresponding to the next key data is down before the up key is up after being down, and the key corresponding to the next key data is down before the key corresponding to the previous key data is up, the input The interval information preferably has negative interval information including negative numbers.

여기서, 상기 음의 간격 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키와 그 다음 키 데이터에 대응하는 키가 동시에 눌려져 있는 시간 간격 정보를 포함하여 이루어지는 것이 바람직하며, 두 번 이상 연속되는 것이 가능하다.Here, the negative interval information includes time interval information in which a key corresponding to the previous key data and a key corresponding to the next key data are simultaneously pressed among two or more key data constituting the character string information included in the user input information. It is preferable to comprise, and it is possible to continue two or more times.

만약, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 세개 이상의 키 데이터 중, 첫번째 키와 두번째 키가 다운된 후 모두 업되기 전에 세번째 키가 다운되는 경우, 상기 첫번째 키와 두번째 키 사이의 입력 간격 정보는 상기 첫번째 키가 업된 후 상기 두번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하며, 상기 두번째 키와 세번째 키 사이의 입력 간격 정보는 상기 두번째 키가 업된 후 상기 세번째 키가 다운될 때까지의 음의 간격 정보를 포함하여 이루어지는 것이 바람직하다.If a third key of the three or more pieces of key data constituting the character string information included in the user input information is down before the first key and the second key are both down, the input interval between the first key and the second key Preferably, the information includes negative interval information from the first key up until the second key is down, and the input interval information between the second key and the third key is the third key after the second key is up. It is preferable to include the negative interval information until the down.

본 발명의 또다른 일 실시 방법에 따르면, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터 중, 이전 키 데이터에 대응하는 키가 다운된 후 업되는 시각과 그 다음 키 데이터에 대응하는 키가 다운되는 시각이 일정 기준 시간 범위 내에서 동일한 시각으로 처리될 수 있으며, 이 경우 상기 입력 간격 정보는 영의 수(=Zero Interval)를 갖게 되는 것이 바람직하다.According to another exemplary embodiment of the present invention, among two or more pieces of key data constituting the character string information included in the user input information, the time corresponding to the previous key data is down and then up corresponds to the next key data. The time at which the key is down may be processed at the same time within a predetermined reference time range. In this case, the input interval information may have a zero number (= Zero Interval).

상기 압력 정보는, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터를 입력하기 위한 상기 단말에 구비된 키 입력장치를 구성하는 각각의 키 버튼에 압력 센서가 구비되는 경우, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키를 입력하는 과정에서 상기 압력 센서를 통해 센싱되는 키 압력 정보를 포함하여 이루어지는 것이 바람직하다.When the pressure information is provided with a pressure sensor on each key button constituting a key input device provided in the terminal for inputting each key data constituting character string information included in the user input information, the user input In the process of inputting each key corresponding to each key data constituting character string information included in the information, the key pressure information sensed by the pressure sensor is preferably included.

본 발명의 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안의 최대 피크 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to an exemplary embodiment of the present invention, the pressure information may include maximum peak pressure information for an input duration of pressing of each key corresponding to each key data constituting character string information included in the user input information. desirable.

본 발명의 다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 압력 정보에 대한 평균 압력 값을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is a pressure sensed by a predetermined reference time unit for an input duration in which each key corresponding to each key data constituting character string information included in the user input information is pressed. It is preferred to include the average pressure value for the information.

본 발명의 또다른 일 실시 방법에 따르면, 상기 압력 정보는 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대응하는 각각의 키가 눌려진 입력 지속시간 동안 기 설정된 기준 시간 단위로 센싱된 복수의 압력 정보를 기 설정된 압력 산출식(예컨대, 적분식)에 대입하여 산출된 압력 정보를 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the pressure information is sensed by a predetermined reference time unit for each input key pressed time corresponding to each key data constituting character string information included in the user input information. It is preferable that the pressure information calculated by substituting a plurality of pieces of pressure information into a preset pressure calculation formula (for example, an integral formula) is included.

만약 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보가 확인되면(715), 상기 단말은 상기 프로그램을 통해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 각 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 기 설정된 가공 방식에 따라 가공한다(720).If the keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is confirmed (715), the terminal determines the program. In operation 720, keystroke information including one or more input duration information, input interval information, and pressure information for each key data constituting the character string information included in the user input information is processed according to a preset processing method.

본 발명의 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 밀리초 단위로 가공하는 것이 바람직하며, 여기서 상기 시간 단위는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to an exemplary embodiment of the present invention, the terminal preferably processes the input duration information and the input interval information of the checked keystroke information in millisecond units, wherein the time unit is variously changed according to the intention of those skilled in the art. It is possible to carry out by modification, and the present invention is characterized in that it comprises all of the modified implementation method.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하는 경우, "1"의 입력 지속시간 정보는 500ms, "2"의 입력 지속시간 정보는 450ms, "3"의 입력 지속시간 정보는 400ms, "4"의 입력 지속시간 정보는 500ms와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 300ms, "2"와 "3"의 입력 간격 정보는 500ms, "3"과 "4"의 입력 간격 정보는 400ms와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234", the input duration information of "1" is 500ms, the input duration information of "2" is 450ms, and the input duration information of "3" is 400ms. , Input duration information of "4" is processed in the form of 500ms, input interval information of "1" and "2" is 300ms, input interval information of "2" and "3" is 500ms, "3" And input interval information of " 4 " is preferably processed into a form such as 400 ms.

본 발명의 다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 기준단위 시간 개수로 가공하는 것이 바람직하며, 여기서 상기 기준단위 시간은 최소 키 반복시간을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 기준단위 시간은 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the terminal preferably processes the input duration information and the input interval information of the checked keystroke information into a predetermined number of reference unit times, wherein the reference unit time is a minimum key. It is preferable to include a repetition time, the reference unit time can be carried out in a variety of modifications according to the intention of those skilled in the art, the present invention is characterized in that it comprises all the modified implementation method.

예컨대, 상기 사용자 입력 정보가 "1234"와 같은 숫자를 포함하고, 상기 기준단위 시간 정보가 10ms인 경우, "1"의 입력 지속시간 정보는 50개, "2"의 입력 지속시간 정보는 45개, "3"의 입력 지속시간 정보는 40개, "4"의 입력 지속시간 정보는 50개와 같은 형태로 가공하고, 상기 "1"과 "2"의 입력 간격 정보는 30개, "2"와 "3"의 입력 간격 정보는 50개, "3"과 "4"의 입력 간격 정보는 40개와 같은 형태로 가공하는 것이 바람직하다.For example, when the user input information includes a number such as "1234" and the reference unit time information is 10 ms, 50 pieces of input duration information of "1" are 45 pieces of input duration information of "2". The input duration information of "3" is processed into 40 pieces, the input duration information of "4" into 50 pieces, and the input interval information of "1" and "2" is 30 pieces, "2" and 50 pieces of input interval information of "3" and 40 pieces of input interval information of "3" and "4" are preferably processed.

본 발명의 또다른 일 실시 방법에 따르면, 상기 단말은 상기 확인된 키스트로크 정보의 입력 지속시간 정보와 입력 간격 정보를 기 설정된 임계시간 구간 값으로 가공하는 것이 바람직하며, 여기서 상기 임계시간과 임계시간 구간 개수는 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 변형된 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.According to another exemplary embodiment of the present invention, the terminal preferably processes the input duration information and the input interval information of the checked keystroke information into a preset threshold time interval value, wherein the threshold time and the threshold time The number of sections can be variously modified and implemented according to the intention of those skilled in the art, and the present invention is characterized by including all the modified method described above.

예컨대, 상기 사용자 입력 정보가 "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'와 같은 형태로 가공하는 것이 바람직하다.For example, the user input information includes a number such as "1234", and the threshold time interval value is "0" which is 299 ms or less, 399 to 300 ms "1", 400 to 499 ms "2", 500 ms to 599 ms "3", 699 ms to 600 ms to "4", 700 ms to 799 ms to "5", 800 ms to 899 ms to "6", 900 ms to 999 ms to "7", 1000 ms to "8" or more The input duration information is '3', the input duration information of '2' is '2', the input duration information of '3' is '2', and the input duration information of '4' is '3'. And the input interval information of "1" and "2" is' 1 ', the input interval information of "2" and "3" is' 3', and the input interval information of "3" and "4" is' It is preferable to process in the form like 2 '.

본 발명의 실시 방법에 따르면, 상기 단말은 상기 압력 센서에 의해 센싱된 센서 별 센싱 데이터를 하나의 통일된 압력 단위(예컨대, 파스칼)로 가공하는 것이 바람직하다.According to an embodiment of the present invention, the terminal preferably processes the sensor-specific sensing data sensed by the pressure sensor into one unified pressure unit (eg, Pascal).

이후, 상기 단말은 상기 프로그램을 통해 상기 가공된 키스트로크 정보와 상기 입력(또는 선택)된 사용자 입력 정보를 연계하여 키스트로크 기반 사용자 입력 정보를 생성한다(725).Thereafter, the terminal generates keystroke-based user input information by linking the processed keystroke information and the input (or selected) user input information through the program (725).

본 발명의 실시 방법에 따르면, 상기 단말은 상기 사용자 입력 정보와 키스트로크 정보를 기 설정된 조합(또는 결합) 방식에 따라 조합(또는 결합)하여 GET/POST 방식으로 상기 서버로 전송하기 위한 키스트로크 기반 사용자 입력 정보를 생성하는 것이 바람직하다.According to an embodiment of the present invention, the terminal combines (or combines) the user input information and keystroke information according to a preset combination (or combination) scheme and transmits the keystroke based on the GET / POST scheme to the server. It is desirable to generate user input information.

여기서, 상기 사용자 입력 정보와 키스트로크 정보의 조합(또는 결합) 방식은 당업자의 의도에 따라 다양하게 변형하여 실시하는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어짐을 명백하게 밝혀두는 바이다.Here, the combination (or combination) of the user input information and the keystroke information can be implemented in various modifications according to the intention of those skilled in the art, and it is apparent that the present invention includes all the inferred implementation methods. It is.

예컨대, 상기 사용자 입력 정보가 "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"과 같이 생성될 수 있으며, 이외에도 상기 키스트로크 기반 사용자 입력 정보는 다양한 형태로 변형되어 생성되는 것이 가능하다.For example, the user input information includes a number such as "1234", the keystroke information includes input duration information and input interval information in milliseconds, and the input duration information of "1" is 500ms, "2". Input duration information of "450ms", input duration information of "3" is 400ms, input duration information of "4" is 500ms, input interval information of "1" and "2" is 300ms, "2" And input interval information of "3" is 500ms, and input interval information of "3" and "4" is 400ms. The keystroke-based user input information may be generated as "1234 & 500.450.400.500: 300.500.400". The keystroke-based user input information may be generated in various forms. In addition, the keystroke-based user input information may be generated in various forms, for example, "1234 & 500 (300) .450 (500) .400 (400) .500".

이후, 상기 단말은 상기 프로그램을 통해 상기 생성된 키스트로크 기반 사용 자 입력 정보를 상기 통신채널을 통해 상기 서버로 전송한다(730).Thereafter, the terminal transmits the generated keystroke based user input information to the server through the communication channel (730).

본 발명의 실시 방법에 따르면, 상기 단말에 암호화 모듈(도시생략)이 구비된 경우, 상기 단말은 상기 암호화 모듈(도시생략)을 통해 상기 생성된 키스트로크 기반 사용자 입력 정보를 암호화하여 서버로 전송하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.According to an embodiment of the present invention, when the terminal is provided with an encryption module (not shown), the terminal encrypts the generated keystroke-based user input information through the encryption module (not shown) and transmits it to a server. It is possible that the present invention is not limited thereby.

도면8은 본 발명의 다른 일 실시 방법에 따른 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 저장매체(365)에 저장하는 과정을 도시한 도면이다.FIG. 8 illustrates keystroke information included in keystroke-based user input information to confirm sharing of program usage rights through keystroke clustering of string information included in user input information according to another exemplary embodiment of the present invention. 365 is a diagram illustrating a process of storing.

보다 상세하게 본 도면8은 상기 도면7에 도시된 과정을 통해 상기 클라이언트 단말(370)에서 상기 키스트로크 기반 사용자 입력 정보가 전송되면, 상기 도면3에 도시된 프로그램 운용 서버(300)에서 상기 키스트로크 기반 사용자 입력 정보로부터 상기 키스트로크 정보와 사용자 입력 정보를 추출하고, 상기 추출된 사용자 입력 정보를 사용자 정보와 연계하여 DBMS에 구비된 사용자 등록 데이터에 저장하되, 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 추출된 키스트로크 정보를 상기 사용자 입력 정보와 연계하여 저장매체(365)에 저장하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면8을 참조 및/또는 변형하여 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보를 저장매체(365)에 저장하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면8에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, in FIG. 8, when the keystroke-based user input information is transmitted from the client terminal 370 through the process illustrated in FIG. 7, the keystroke is transmitted from the program operation server 300 illustrated in FIG. Extract the keystroke information and the user input information from the base user input information, and store the extracted user input information in user registration data included in the DBMS in association with the user information, but not in the character string information included in the user input information. In the process of storing the extracted keystroke information in the storage medium 365 in association with the user input information to confirm the program use rights sharing through the keystroke clustering, the general knowledge in the art If a person having a, the user by referring to and / or modified in this figure 8 Infers various implementation methods for storing keystroke information included in keystroke-based user input information in the storage medium 365 to confirm sharing of program access rights through keystroke clustering of string information included in the output information. As will be appreciated, the present invention includes all the inferred implementation methods, and is not limited to the implementation method shown in FIG.

이하, 본 도면8에서 상기 도면3에 도시된 클라이언트 단말(370)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(300)를 편의상 "서버"라고 한다.Hereinafter, in FIG. 8, the client terminal 370 illustrated in FIG. 3 is referred to as a “terminal” for convenience, and the program operation server 300 is referred to as a “server” for convenience.

도면8을 참조하면, 상기 도면7에 도시된 과정을 통해 상기 단말에서 상기 키스트로크 기반 사용자 입력 정보가 전송되면, 상기 서버는 통신채널을 통해 상기 키스트로크 기반 사용자 입력 정보를 수신하고(800), 상기 수신된 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보를 추출한다(805).Referring to FIG. 8, when the keystroke-based user input information is transmitted from the terminal through the process illustrated in FIG. 7, the server receives the keystroke-based user input information through a communication channel (800). One or more input duration information, input interval information, and pressure information for the user input information and one or more key data constituting the character string information included in the user input information from the received keystroke based user input information. Keystroke information is extracted (805).

만약 상기 키스트로크 기반 사용자 입력 정보로부터 상기 사용자 입력 정보와 키스트로크 정보가 추출되면(810), 상기 서버는 상기 추출된 사용자 입력 정보를 사용자 정보와 연계하여 DBMS에 구비된 사용자 등록 데이터에 저장한다(815).If the user input information and the keystroke information are extracted from the keystroke based user input information (810), the server stores the extracted user input information in the user registration data provided in the DBMS in association with the user information ( 815).

만약 상기 추출된 사용자 입력 정보가 사용자 정보와 연계하여 DBMS에 구비된 사용자 등록 데이터에 저장되면(820), 상기 서버는 상기 키스트로크 기반 사용자 입력 정보를 전송한 단말에 구비된 프로그램에 대한 사용자 인증정보를 확인한다(825).If the extracted user input information is stored in the user registration data provided in the DBMS in association with the user information (820), the server authenticates the user authentication information for the program provided in the terminal transmitting the keystroke-based user input information. Check (825).

본 발명의 다른 실시 방법에 따라 상기 도면7에 도시된 사용자 인증 과정이 생략된 경우, 상기 사용자 인증정보 확인 과정이 생략되어도 무방하다.According to another exemplary embodiment of the present invention, when the user authentication process shown in FIG. 7 is omitted, the user authentication information checking process may be omitted.

만약 상기 사용자 인증정보가 확인되면(830), 상기 서버는 상기 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 클러스터링을 통한 프로그램 이용 권한 공유 확인을 위해 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 하나 이상의 키 데이터에 대한 입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함하는 키스트로크 정보와, 상기 사용자 입력 정보에 포함된 문자열 정보와, 상기 확인된 사용자 인증정보를 연계하여 저장매체(365)에 저장한다(835).If the user authentication information is confirmed (830), the server configures the string information included in the user input information to confirm the program use right sharing through keystroke clustering for the string information included in the user input information. Keystroke information including one or more pieces of input duration information, input interval information, and pressure information of one or more pieces of key data, character string information included in the user input information, and the identified user authentication information. 365) (835).

본 발명의 다른 실시 방법에 따라 상기 도면7에 도시된 사용자 인증 과정이 생략된 경우, 상기 사용자 인증정보가 상기 저장매체(365)에 저장되는 것이 생략되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.According to another exemplary embodiment of the present invention, when the user authentication process shown in FIG. 7 is omitted, it may be omitted that the user authentication information is stored in the storage medium 365. Accordingly, the present invention is not limited thereto. .

도면9는 본 발명의 다른 일 실시 방법에 따라 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정을 도시한 도면이다.FIG. 9 is a diagram illustrating a process of checking a shared state of a program use authority by reading a keystroke pattern according to another exemplary embodiment of the present invention.

보다 상세하게 본 도면9는 상기 도면7에 도시된 과정을 통해 상기 클라이언트 단말(370)에서 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보가 상기 도면8에 도시된 과정을 통해 일정 횟수 이상 상기 저장매체(365)에 저장된 경우, 상기 도면3에 도시된 프로그램 운용 서버(300)에서 상기 저장매체(365)에 저장된 키스트로크 정보 중 일정 기간 동안 일정 횟수 이상 저장된 N(N>1)개의 키스트로크 정보에 대한 m(m>=1)개의 키스트로크 클러스터를 확인하고, 상기 m개의 키스트로크 클러스터에 대한 키스트로크 패턴 판독을 통해 상기 프로그램 이용 권한이 공유되고 있는지 확인하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면9를 참조 및/또는 변형하여 상기 키스트로크 패턴 판독을 통해 프로그램 이용 권한에 대한 공유 상태를 확인하는 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면9에 도시된 실시 방법만으로 한정되지 아니한다.In more detail, in FIG. 9, keystroke information included in keystroke-based user input information transmitted from the client terminal 370 through the process illustrated in FIG. 7 is a predetermined number of times or more through the process illustrated in FIG. 8. When stored in the storage medium 365, N (N> 1) keys stored in the program operation server 300 shown in FIG. 3 at least a predetermined number of times for a predetermined period of keystroke information stored in the storage medium 365. The present invention relates to a process of identifying m (m> = 1) keystroke clusters for stroke information and checking whether the program use authority is shared by reading keystroke patterns for the m keystroke clusters. Those skilled in the art may refer to and / or modify this drawing to program the keystroke pattern reading. Would be able to infer a variety of exemplary methods for the step of determining the shared status of the use authority, the present invention includes all embodiments in which the inference method, shall not be limited to the exemplary method shown in the figure 9.

이하, 본 도면9에서 상기 도면3에 도시된 클라이언트 단말(370)을 편의상 "단말"이라고 하고, 상기 프로그램 운용 서버(300)를 편의상 "서버"라고 한다.Hereinafter, in FIG. 9, the client terminal 370 shown in FIG. 3 is referred to as a "terminal" for convenience, and the program operation server 300 is referred to as a "server" for convenience.

도면9를 참조하면, 상기 도면7에 도시된 과정을 통해 상기 클라이언트 단 말(370)에서 전송된 키스트로크 기반 사용자 입력 정보에 포함된 키스트로크 정보가 상기 도면8에 도시된 과정을 통해 일정 횟수 이상 상기 저장매체(365)에 저장된 경우, 상기 서버는 상기 저장매체(365)에 저장된 문자열 정보 중 일정 기간 동안 일정 횟수 이상 저장된 동일한 단어(또는 문장, 또는 색인어)를 포함하는 N(N>1)개의 문자열 정보를 확인하고, 상기 확인된 N개의 문자열 정보와 연계된 N개의 키스트로크 정보를 확인한다(900).Referring to FIG. 9, keystroke information included in keystroke-based user input information transmitted from the client terminal 370 through the process illustrated in FIG. 7 is a predetermined number of times or more through the process illustrated in FIG. 8. When stored in the storage medium 365, the server includes N (N> 1) pieces of the same word (or sentence or index word) stored for a predetermined number of times during a predetermined period of the string information stored in the storage medium 365. In operation 900, the string information is checked and the N keystroke information associated with the identified N string information is confirmed.

여기서, 상기 일정 기간이란 상기 키스트로크 클러스터를 확인하는 현재 시점을 기반으로 최근의 과거 일정 시점까지의 기간을 의미하며, 상기 일정 횟수는 상기 키스트로크 패턴 정보를 생성하기 위해 필요한 최소 키스트로크 정보 개수를 포함하여 이루어지는 것이 바람직하다.Here, the predetermined period refers to a period up to a recent past predetermined point of time based on a current time point for identifying the keystroke cluster, and the predetermined number of times indicates the minimum number of keystroke information required to generate the keystroke pattern information. It is preferable to comprise.

만약 저장매체(365)로부터 일정 기간 동안 일정 횟수 이상 저장된 N개의 키스트로크 정보가 확인되면(905), 상기 서버는 상기 확인된 N개의 키스트로크 정보 중 상기 키스트로크 정보에 포함된 각 키 데이터 별 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터를 확인한다(910).If the N keystroke information stored more than a predetermined number of times for a predetermined period from the storage medium 365 is confirmed (905), the server inputs each key data included in the keystroke information among the identified N keystroke information. M (m> = 1) keystroke cluster including n (n <= N) pattern target keystroke information in which one or more pattern target information among duration information, input interval information, and pressure information is distributed within a predetermined range. Check (910).

만약 상기 저장매체(365)에 저장된 N개의 키스트로크 정보로부터 m개의 키스 트로크 클러스터가 확인되면(915), 상기 서버는 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 상기 m개의 키스트로크 클러스터에 대응하는 m개의 키스트로크 패턴 정보를 생성하고(920), 상기 생성된 생성 m개의 키스트로크 패턴 정보를 저장매체(365)에 저장한다(925).If m keystroke clusters are identified from the N keystroke information stored in the storage medium 365 (915), the server stores the respective n keystroke information included in the identified m keystroke clusters. The m keystroke pattern information corresponding to the m keystroke clusters is generated (920), and the generated m keystroke pattern information is stored in the storage medium 365 (925).

본 발명의 일 실시 방법에 따르면, 상기 서버는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 이용하여 m개의 키스트로크 클러스터에 대한 키스트로크 평균 값과 분산 값을 포함하는 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다.According to an embodiment of the present invention, the server includes a keystroke average value and a variance value for m keystroke clusters by using each of the n keystroke information included in the identified m keystroke clusters. It is preferable to generate m pieces of keystroke pattern information.

본 발명의 다른 일 실시 방법에 따르면, 상기 서버는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the server substitutes each of the n keystroke information included in the identified m keystroke clusters into a preset pattern calculation formula or according to a preset pattern calculation rule. It is preferable to generate m keystroke pattern information by performing substitution / combination or by performing a geometric operation using a preset graph. Here, the preset pattern calculation formula, pattern calculation rule, and geometric calculation may be performed by converting the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by those skilled in the art. It is preferable to comprise processing.

본 발명의 또다른 일 실시 방법에 따르면, 상기 서버는, 상기 확인된 m개의 키스트로크 클러스터에 포함된 각각의 n개 키스트로크 정보에 기 설정된 각각의 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 m개의 키스트로크 패턴 정보를 생성하는 것이 바람직하다. 단, 여기서, 상기 가중치는 당업자가 상기 키스트로크 패턴 정보 생성에 중요한 요소로 작용하는 정보 항목에 더 많은 가중치를 설정하는 것이 바람직하며, 기 설정된 상기 패턴 산출식, 패턴 연산 법칙 및 기하학적 연산은 본 발명을 실시하는 당업자기 정한 상수 값과 임계 값을 포함하는 수식(또는 기하학적 그래프)에 상기 n개의 키스트로크 정보를 변수로 처리하는 것을 포함하여 이루어지는 것이 바람직하다.According to another exemplary embodiment of the present invention, the server multiplies each of the n keystroke information included in the identified m keystroke clusters by each predetermined weight, and then substitutes the preset pattern calculation formula. Alternatively, it is preferable to generate m keystroke pattern information by performing substitution / combination according to a predetermined pattern calculation rule or by processing a geometric operation using a preset graph. In this case, the weight is preferably set by the person skilled in the art to set more weights to the information item that acts as an important factor in generating the keystroke pattern information, and the preset pattern calculation formula, pattern calculation rule and geometric calculation are described in the present invention. It is preferable to include processing the n keystroke information into a variable (or a geometric graph) including a constant value and a threshold value determined by a person skilled in the art.

만약 상기 키스트로크 패턴 정보 생성 과정에서 오직 하나의 키스트로크 패턴 정보가 생성되면(930), 상기 서버는 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(935).If only one keystroke pattern information is generated in the process of generating the keystroke pattern information (930), the server checks that the program use right is not shared and is being used by only one user (935).

반면 상기 키스트로크 패턴 정보 생성 과정에서 두개 이상의 키스트로크 패턴 정보가 생성되면(930), 상기 서버는 상기 생성된 두개 이상의 키스트로크 패턴 정보를 비교하여 상기 두개 이상의 키스트로크 패턴 정보에 대한 키스트로크 패턴 유사도 정보를 확인하고(940), 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도를 비교하여 상기 프로그램 이용 권한의 공유 여부를 판별한다(945).On the other hand, if two or more keystroke pattern information is generated in the process of generating the keystroke pattern information (930), the server compares the generated two or more keystroke pattern information to the keystroke pattern similarity of the two or more keystroke pattern information The information is checked (940), and the determined keystroke pattern similarity information is compared with a preset sharing determination criterion similarity to determine whether the program use authority is shared (945).

만약 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상으로 확인되면(950), 상기 서버는 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 하나의 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 공유되지 않고 오직 하나의 사용자에 의해 사용되고 있는 것으로 확인한다(935).If the identified keystroke pattern similarity information is determined to be equal to or greater than a preset sharing determination criterion similarity (950), the server checks the two or more comparison target keystroke pattern information as one keystroke pattern information and uses the program. Verify that the permissions are not shared and are being used by only one user (935).

반면 상기 확인된 키스트로크 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하로 확인되면(950), 상기 서버는 상기 두개 이상의 비교 대상 키스트로크 패턴 정보를 두개 이상의 서로 다른 키스트로크 패턴 정보로 확인하고, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인한다(955).On the other hand, if the checked keystroke pattern similarity information is determined to be equal to or less than a predetermined sharing determination criterion similarity (950), the server checks the two or more comparison target keystroke pattern information as two or more different keystroke pattern information, and The program usage right is confirmed to be shared by two or more users (955).

이후, 상기 서버는 상기 프로그램 이용 권한에 대한 공유 판별 정보를 생성하고, 상기 생성된 공유 판별 정보를 상기 사용자 입력 정보와 연계하여 저장매체(365)에 저장한다(960).Thereafter, the server generates sharing determination information on the program use authority, and stores the generated sharing determination information on the storage medium 365 in association with the user input information (960).

본 발명에 따르면, 클라이언트 단말에 구비된 프로그램을 통해 입력되는 사용자 입력 정보에 포함된 문자열 정보에 대한 키스트로크 패턴 분석 및 키스트로크 클러스터링을 통해 저렴한 비용으로 추가적인 장치를 없이 상기 사용자 입력 정보를 입력하는 프로그램에 대한 프로그램 이용 권한이 다른 사용자와 공유하고 있는지 편리하고 정확하게 판별할 수 있는 이점이 있다.According to the present invention, a program for inputting the user input information without an additional device at a low cost through keystroke pattern analysis and keystroke clustering on string information included in user input information input through a program provided in a client terminal. There is an advantage that it is convenient and accurate to determine if the program access rights for the shared with other users.

Claims (7)

하나 이상의 키 데이터를 입력하는 키 입력수단, 하나 이상의 저장영역을 구비한 저장수단을 구비한 단말에 구비된 프로그램의 이용 권한 공유를 확인하는 방법에 있어서,Claims [1] A method for confirming sharing of a use right of a program provided in a terminal having a key input means for inputting one or more key data and a storage means having one or more storage areas. 상기 프로그램에 구비된 키 입력 인터페이스를 기반으로 상기 키 입력수단을 통해 상기 프로그램 이용을 위한 문자열 정보를 포함하는 사용자 입력 정보를 입력 처리하는 단계;Input processing of user input information including character string information for using the program through the key input means based on a key input interface provided in the program; 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 키스트로크(Keystroke) 정보-입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 확인하는 단계;Identifying keystroke information, including input duration information, input interval information, and pressure information, for at least two pieces of key data constituting character string information included in the user input information; 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보를 구성하는 각 키 데이터에 대한 키스트로크 정보를 연계하여 상기 저장수단에 저장하는 단계;Storing the string information included in the user input information and keystroke information for each key data constituting the string information in the storage means; 상기 저장수단과 연계하여 일정 기간 동안 일정 횟수 이상 저장된 문자열 정보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 N(N>1)개의 키스트로크 정보에 포함된 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 단계; 및Input duration information, input interval information, included in N (N> 1) keystroke information corresponding to the same word (or sentence or index word) among string information stored at least a predetermined number of times for a predetermined period in association with the storage means; Identifying m (m> = 1) keystroke clusters including n (n <= N) pattern target keystroke information in which at least one pattern target information of the pressure information is distributed within a predetermined range; And 상기 확인결과, 하나의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 두개 이상의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 프로그램 이용 권한 공유 확인 방법.As a result of the check, when one keystroke cluster is identified, it is confirmed that the program use right is not shared, and when two or more keystroke clusters are identified, it is confirmed that the program use right is shared by two or more users. Steps to verify the program access rights sharing, characterized in that comprises a. 제 1항에 있어서, The method of claim 1, 상기 확인된 m개의 키스트로크 클러스터에 포함된 n개의 패턴 대상 키스트로크 정보를 통해 m개의 키스트로크 패턴 정보를 생성하는 단계;Generating m keystroke pattern information through the n pattern target keystroke information included in the identified m keystroke clusters; m개의 키스트로크 패턴 정보에 대한 패턴 유사도 정보를 확인하는 단계; 및identifying pattern similarity information for m keystroke pattern information; And 상기 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이하이면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 상기 패턴 유사도 정보가 기 설정된 공유 판별 기준 유사도 이상이면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 프로그램 이용 권한 공유 확인 방법.If the pattern similarity information is equal to or less than a predetermined sharing determination criterion similarity, it is determined that the program use authority is not shared. If the pattern similarity information is equal to or greater than the predetermined sharing determination criterion similarity, the program use authority is determined by two or more users. Confirming that it is being shared; Program access rights sharing confirmation method characterized in that it further comprises. 제 1항에 있어서, The method of claim 1, 상기 프로그램 이용 권한에 대한 공유 판별 정보를 통신망 상의 서버로 전송 하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 프로그램 이용 권한 공유 확인 방법.And transmitting the share determination information on the program use right to a server on a communication network. 제 1항 내지 제 3항 중 어느 한 항의 방법을 실행하는 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 3. 하나 이상의 키 데이터를 입력하는 키 입력수단, 하나 이상의 저장영역을 구비한 저장수단을 구비한 단말장치에 있어서,A terminal apparatus comprising key input means for inputting one or more key data, and storage means having one or more storage areas. 상기 프로그램에 구비된 키 입력 인터페이스를 기반으로 상기 키 입력수단을 통해 상기 프로그램 이용을 위한 문자열 정보를 포함하는 사용자 입력 정보를 입력 처리하는 정보 입력부;An information input unit configured to input and process user input information including string information for using the program through the key input unit based on a key input interface provided in the program; 상기 사용자 입력 정보에 포함된 문자열 정보를 구성하는 두개 이상의 키 데이터에 대한 키스트로크(Keystroke) 정보-입력 지속시간 정보, 입력 간격 정보, 압력 정보를 하나 이상 포함-를 확인하는 키스트로크 정보 확인부;A keystroke information checking unit for checking keystroke information, including input duration information, input interval information, and pressure information, for at least two pieces of key data constituting character string information included in the user input information; 상기 사용자 입력 정보에 포함된 문자열 정보와 상기 문자열 정보를 구성하는 각 키 데이터에 대한 키스트로크 정보를 연계하여 상기 저장수단에 저장하는 키스트로크 정보 저장부;A keystroke information storage unit for storing the string information included in the user input information and keystroke information for each key data constituting the string information in the storage unit in association with each other; 상기 저장수단과 연계하여 일정 기간 동안 일정 횟수 이상 저장된 문자열 정 보 중 동일한 단어(또는 문장, 또는 색인어)에 대응하는 N(N>1)개의 키스트로크 정보에 포함된 입력 지속시간 정보, 입력 간격 정보, 압력 정보 중 하나 이상의 패턴 대상 정보가 일정 범위 내에 분포하는 n(n<=N)개의 패턴 대상 키스트로크 정보를 포함하는 m(m>=1)개의 키스트로크 클러스터(Keystroke Cluster)를 확인하는 키스트로크 클러스터 확인부; 및Input duration information and input interval information included in N (N> 1) keystroke information corresponding to the same word (or sentence or index word) among string information stored a predetermined number of times for a predetermined period in association with the storage means. To identify m (m> = 1) keystroke clusters containing n (n <= N) pattern target keystroke information in which one or more pattern target information among pressure information is distributed within a predetermined range. Stroke cluster checking unit; And 상기 확인결과, 하나의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 공유되지 않는 것으로 확인하고, 두개 이상의 키스트로크 클러스터가 확인되면, 상기 프로그램 이용 권한이 둘 이상의 사용자에 의해 공유되고 있는 것으로 확인하는 공유 확인부;를 포함하여 이루어지는 것을 특징으로 하는 단말장치.As a result of the check, when one keystroke cluster is identified, it is confirmed that the program use right is not shared, and when two or more keystroke clusters are identified, it is confirmed that the program use right is shared by two or more users. Shared identification unit; Terminal device comprising a. 제 5항에 있어서, The method of claim 5, 상기 확인된 m개의 키스트로크 클러스터에 포함된 n개의 패턴 대상 키스트로크 정보를 통해 m개의 키스트로크 패턴 정보를 생성하는 키스트로크 패턴 정보 생성부를 더 구비하여 이루어지는 것을 특징으로 하는 단말장치.And a keystroke pattern information generation unit for generating m keystroke pattern information through the n pattern target keystroke information included in the identified m keystroke clusters. 제 6항에 있어서, 상기 키스트로크 패턴 정보 생성부는,The method of claim 6, wherein the keystroke pattern information generation unit, 상기 n개 키스트로크 정보에 대한 평균 값과 분산 값을 포함하는 키스트로크 패턴 정보를 생성하거나, 또는Generate keystroke pattern information including an average value and a variance value of the n keystroke information, or 상기 n개 키스트로크 정보를 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 키스트로크 패턴 정보를 생성하거나, 또는Substituting the n keystroke information into a predetermined pattern calculation formula, or replace / combine according to the predetermined pattern calculation law, or by performing a geometric operation using a predetermined graph to generate keystroke pattern information, or 상기 n개 키스트로크 정보에 기 설정된 가중치를 곱한 후, 기 설정된 패턴 산출식에 대입하거나, 또는 기 설정된 패턴 연산 법칙에 따라 치환/조합하거나, 또는 기 설정된 그래프를 이용한 기하학적 연산을 처리하여 키스트로크 패턴 정보를 생성하는 것을 특징으로 하는 단말장치.After multiplying the n keystroke information by a predetermined weight, it is substituted into a predetermined pattern calculation formula, substituted / combined according to a predetermined pattern calculation law, or a geometric operation using a preset graph is processed to perform a keystroke pattern. Terminal device, characterized in that for generating information.
KR1020080066054A 2008-07-08 2008-07-08 Method for identifying own program usage permission jointly and terminal device, recording medium KR20100005935A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080066054A KR20100005935A (en) 2008-07-08 2008-07-08 Method for identifying own program usage permission jointly and terminal device, recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066054A KR20100005935A (en) 2008-07-08 2008-07-08 Method for identifying own program usage permission jointly and terminal device, recording medium

Publications (1)

Publication Number Publication Date
KR20100005935A true KR20100005935A (en) 2010-01-18

Family

ID=41815198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066054A KR20100005935A (en) 2008-07-08 2008-07-08 Method for identifying own program usage permission jointly and terminal device, recording medium

Country Status (1)

Country Link
KR (1) KR20100005935A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091118A (en) * 2014-07-09 2014-10-08 北京智谷睿拓技术服务有限公司 Permission safety risk determining method and device
CN104091117A (en) * 2014-07-09 2014-10-08 北京智谷睿拓技术服务有限公司 Clustering method and device based on safety risks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091118A (en) * 2014-07-09 2014-10-08 北京智谷睿拓技术服务有限公司 Permission safety risk determining method and device
CN104091117A (en) * 2014-07-09 2014-10-08 北京智谷睿拓技术服务有限公司 Clustering method and device based on safety risks

Similar Documents

Publication Publication Date Title
AU2012328082B2 (en) Abstracted and randomized one-time passwords for transactional authentication
EP3796199A1 (en) Data management system and data management method
US20130263240A1 (en) Method for authentication and verification of user identity
EP1189128A2 (en) Secure system and method for accessing files in computers using fingerprints
CN101689236B (en) Secure login protocol
CN107409129B (en) Use the authorization in accesses control list and the distributed system of group
WO2011076764A1 (en) Authenticating human interface device
CN1894882A (en) Authentication system
KR20100005977A (en) System and method for providing ordered advertisement based on location with real wireless termianl user and recording medium
JP4758175B2 (en) User authentication method and user authentication program
CN109219003A (en) Information ciphering method, device, storage medium and electronic equipment
KR20100005935A (en) Method for identifying own program usage permission jointly and terminal device, recording medium
WO2020128693A1 (en) Device and method to control access to protected functionality of applications
US9992193B2 (en) High-safety user multi-authentication system and method
KR20100005916A (en) System and method for identifying own user authentication information jointly by user input information and recording medium
KR20100005958A (en) System and method for providing ordered advertisement with real program user and recording medium
KR101492995B1 (en) Method for Identifying Public Ownership of Mobile Device Usage Permission
KR101937476B1 (en) User hierarchical authentication apparatus and method for the same
KR20100005951A (en) System and method for providing ordered advertisement using cookie and recording medium
KR20030014946A (en) Method For Integrated Authentication To Many Living Body Information Authentication Programs
JP4300778B2 (en) Personal authentication system, server device, personal authentication method, program, and recording medium.
KR20100005967A (en) System and method for providing ordered advertisement based on location with real user and recording medium
KR20100005923A (en) System and method for identifying own usage permission jointly and recording medium
KR20100005932A (en) System and method for identifying own usage permission jointly by cookie and recording medium
KR20100005962A (en) System and method for providing ordered advertisement with real wireless terminal user and recording medium

Legal Events

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