KR100970729B1 - 입력 관리 장치 및 방법 - Google Patents

입력 관리 장치 및 방법 Download PDF

Info

Publication number
KR100970729B1
KR100970729B1 KR1020030097808A KR20030097808A KR100970729B1 KR 100970729 B1 KR100970729 B1 KR 100970729B1 KR 1020030097808 A KR1020030097808 A KR 1020030097808A KR 20030097808 A KR20030097808 A KR 20030097808A KR 100970729 B1 KR100970729 B1 KR 100970729B1
Authority
KR
South Korea
Prior art keywords
input
event
management
management information
generated
Prior art date
Application number
KR1020030097808A
Other languages
English (en)
Other versions
KR20050066511A (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 KR1020030097808A priority Critical patent/KR100970729B1/ko
Priority to US11/020,107 priority patent/US8051431B2/en
Publication of KR20050066511A publication Critical patent/KR20050066511A/ko
Application granted granted Critical
Publication of KR100970729B1 publication Critical patent/KR100970729B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 하나의 관리 모듈을 이용하여 멀티 입력을 통합 관리할 수 있는 장치 및 방법을 개시한다.
본 발명에 따른 입력 관리 장치 및 방법은, 적어도 하나의 입력 디바이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템에 적용된다.
본 발명에 따른 입력 관리 장치는, 이벤트 생성 모듈, 입력 관리 정보 저장부, 입력 관리 정보 관리 모듈, 이벤트 관리 모듈, 이벤트 분석 모듈을 포함한다.
이벤트 생성 모듈은, 입력 디바이스에 의한 입력 또는 프로그램 실행에 따른 입력이 발생되면, 발생된 입력에 대응되는 입력 이벤트를 생성한다. 입력 관리 정보 저장부는 입력에 대한 관리 정보를 저장한다. 입력 관리 정보 관리 모듈은 시스템 관리자의 요구에 따라 입력 관리 정보 저장부에 저장된 정보를 관리한다. 이벤트 관리 모듈은 입력 이벤트가 생성되면, 입력 관리 정보 저장부를 참조하여 변형된 이벤트를 생성하거나 입력 이벤트를 출력한다. 이벤트 분석 모듈은 입력 이벤트를 분석하여 이벤트 관리 모듈에서 해석 가능한 자료 구조로 출력한다.
따라서, 별도의 하드웨어를 개발하거나 추가할 필요 없이 관리자가 용이하게 사용자의 입력 환경을 관리할 수 있다.

Description

입력 관리 장치 및 방법{Input management apparatus and method thereof}
도 1은 본 발명에 따른 입력 관리 장치의 기능 블록도이다.
도 2는 도 1에 도시된 입력 관리정보 저장부에 저장되는 정보의 스키마(schema)이다.
도 3은 도 1에 도시된 이벤트 관리 모듈의 상세 구성이다.
도 4는 도 1에 도시된 입력 관리 정보 관리 모듈의 상세 구성이다.
도 5는 본 발명에 따른 입력 관리 방법에 있어서, 입력 관리 정보 저장부를 업데이트 하는 과정에 대한 동작 흐름 도이다.
도 6은 도 5에 도시된 흐름 도에서 정의된 이벤트 데이터 리드 단계와 파싱 단계의 상세 흐름도이다.
도 7은 본 발명에 따른 입력 관리 방법에 있어서 생성된 이벤트를 관리하는 과정에 대한 동작 흐름 도이다.
본 발명은 입력 관리 장치 및 방법에 관한 것으로, 특히 입력 디바이스(input device)에 의한 입력 및 프로그램 실행에 따른 입력과 같은 멀티 입력을 통합 관리할 수 있는 장치 및 방법에 관한 것이다.
기존의 전자기기나 컴퓨터와 같은 데이터 처리 시스템에 있어서 입력은 키보드, 마우스, 리모콘 및 터치 패널과 같은 입력 디바이스(input device)에 의한 키 입력 또는 프로그램 실행에 따른 입력으로 구분할 수 있다. 이러한 입력에 대해 기존의 전자기기나 데이터 처리 시스템은 개별적으로 관리하고 있다. 즉, 기존의 전자기기나 데이터 처리 시스템은 키보드에 의한 입력, 마우스에 의한 입력, 리모콘에 의한 입력, 터치 패널에 의한 입력 및 각 프로그램 실행에 따른 입력에 대한 관리를 독립적으로 운영하고 있다.
따라서 키보드, 마우스, 리모콘을 비롯한 각종 입력 디바이스 및 각종 프로그램 실행에 따른 입력을 모두 관리하기 위해서 기존의 전자기기나 데이터 처리 시스템은 각 입력 장치 또는 각 프로그램에 대응되는 입력 관리 기능을 갖추어야 한다. 그러므로 셋탑 박스나 키오스크(kiosk)와 같이 시스템 자원이 풍부하지 않은 시스템에서는 각종 입력 디바이스 및 각종 프로그램 실행에 따른 입력을 모두 관리할 수 있는 기능을 갖추기 어렵다.
또한, 기존의 입력 관리 기능은 각 입력 디바이스 또는 각 프로그램 실행에 따른 입력에 대해 독립적으로 입력을 제한하는 기능을 갖고 있으나 다른 디바이스의 입력 또는 다른 프로그램 실행에 따른 입력에 대응되는 동작 안(action plan)으로 변형하거나 복수의 입력 디바이스에 의한 입력 또는 복수의 프로그램 실행에 따른 입력을 조합한 입력을 관리하는 기능은 없다. 상기 입력 변형 예로는 키보드의 입력 A에 대한 동작 안을 마우스의 왼쪽 클릭에 의한 입력에 대한 동작 안으로 바 꾸는 것을 들 수 있다. 상기 입력을 조합한 입력 예로는 키보드의 입력 A와 마우스의 왼쪽 클릭에 의한 입력을 조합한 입력에 대한 동작 안을 정의하는 것을 들 수 있다.
본 발명이 이루고자 하는 기술적 과제는 하나의 관리 모듈을 이용하여 멀티 입력을 통합 관리할 수 있는 장치 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 각종 입력 디바이스에 의한 입력 및 각종 프로그램 실행에 따른 입력을 이벤트 단위로 통합 관리할 수 있는 장치 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 관리자에 의해 설정된 입력 관리 정보를 토대로 각종 입력 디바이스에 의한 입력 및 각종 프로그램 실행에 따른 입력을 통합 관리할 수 있는 장치 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 자원이 제한된 시스템에서 멀티 입력 디바이스에 의한 입력 및 멀티 프로그램 실행에 따른 입력을 모두 관리할 수 있는 장치 및 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 복수의 입력 디바이스에 의한 복수의 입력 또는 복수의 프로그램 실행에 따른 복수의 입력을 조합하여 하나의 입력으로 관리할 수 있는 장치 및 방법을 제공하는데 있다.
상기 기술적 과제들을 달성하기 위하여 본 발명은, 적어도 하나의 입력 디바 이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템에 있어서, 입력 디바이스에 의한 입력 또는 상기 프로그램 실행에 따른 입력이 발생되면, 발생된 입력에 대응되는 제 1 이벤트를 생성하는 이벤트 생성 모듈; 입력에 대한 관리 정보를 저장하는 입력 관리 정보 저장부; 제 1 이벤트가 생성되면, 입력 관리 정보 저장부를 참조하여 제 2 이벤트를 생성하는 이벤트 관리 모듈을 포함하는 입력 관리 장치를 제공한다.
상기 기술적 과제들을 달성하기 위하여 본 발명은, 적어도 하나의 입력 디바이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템에 있어서, 입력 디바이스에 의한 입력 또는 상기 프로그램 실행에 따른 입력이 발생되면, 발생된 입력에 대응되는 제 1 이벤트를 생성하는 이벤트 생성 모듈; 입력에 대한 관리 정보를 저장하는 입력 관리 정보 저장부; 시스템의 관리자의 요구에 따라 입력 관리 정보 저장부에 저장된 정보를 관리하는 입력 관리 정보 관리 모듈; 제 1 이벤트가 생성되면, 상기 입력 관리 정보 저장부를 참조하여 제 2 이벤트를 생성하는 이벤트 관리 모듈; 제 1 이벤트가 생성되면, 생성된 제 1 이벤트를 분석하여 이벤트 관리 모듈에서 해석 가능한 자료 구조로 출력하는 이벤트 분석 모듈을 포함하는 입력 관리 장치를 제공한다.
상기 기술적 과제들을 달성하기 위하여 본 발명은, 적어도 하나의 입력 디바이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템에 있어서, 시스템의 관리자에 의해 상기 시스템에서 발생 가능한 입력 이벤트 데이터가 정의되면, 정의된 입력 이벤트 데이터를 토대로 입력 관리 정보를 저 장하는 단계; 입력에 따라 제 1 이벤트가 생성되면, 저장된 입력 관리 정보를 참조하여 제 2 이벤트를 생성하는 이벤트 관리 단계를 포함하는 입력 관리 방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 입력 관리 장치의 기능 블록도이다. 본 발명에 따른 입력 관리 장치는 입력 발생 군(100), 이벤트 생성 모듈(110), 이벤트 분석 모듈(120), 이벤트 관리 모듈(130), 입력 관리 정보 저장부(140), 입력 관리 데이터 베이스(150), 입력 관리 정보 관리 모듈(160), 이벤트 처리 모듈(170)로 구성된다.
입력 발생 군(100)은 복수개의 입력 디바이스와 실행 가능한 복수개의 프로그램으로 구성된다. 도 1에서 입력 발생 군(100)은 키보드(100_1), 마우스(100_2), 리모콘(100_3), 제 1 프로그램(100_N), 제 2 프로그램(100_N+1)으로 구성된다. 제 1 및 제 2 프로그램(100_N, 100_N+1)은 해당되는 시스템에 수시로 로딩되어 운영되는 프로그램이다.
입력 발생 군(100)에 포함되어 있는 복수개의 입력 디바이스와 복수개의 프로그램에 의해 적어도 하나의 입력이 발생되면, 발생된 입력은 이벤트 생성 모듈(110)로 전송된다. 입력 발생 군(100)은 복수개의 입력 디바이스에 의한 복수개의 입력 또는 복수개의 프로그램 실행에 따른 복수개의 입력이 동시에 발생될 수 있다. 예를 들어, 키보드(100_1)와 마우스(100_2)로부터 동시에 입력이 발생될 수 있다.
이벤트 생성 모듈(110)은 사전에 설정된 규칙에 따라 수신된 입력에 대응되는 이벤트를 생성한다. 수신되는 입력은 코드 형태를 갖는다. 이벤트 생성 모듈(110)은 사전에 설정된 규칙에 따라 수신된 입력 코드에 대응되는 이벤트를 생성한다. 이벤트 생성 모듈(110)은 수신되는 입력 코드를 토대로 수신된 입력을 제공한 소스를 식별할 수 있다. 즉, 이벤트 생성 모듈(110)은 수신된 입력 코드를 토대로 수신된 입력을 제공한 입력 디바이스 또는 프로그램을 식별할 수 있다. 그 다음, 이벤트 생성 모듈(110)은 해당되는 입력이 해당되는 소스에서 어떤 이벤트에 해당되는 지를 판단하고, 해당되는 이벤트를 생성한다. 생성되는 이벤트는 입력 이벤트라고 할 수 있다. 입력 이벤트는 이벤트 코드와 이벤트 파라미터로 구성된다. 이벤트 파라미터는 추가되는 입력 변수를 정의한다. 예를 들어 키보드상의 키 A와 시프트(shift) 키가 동시에 제어된 경우에, 시프트 키에 대한 정보가 이벤트 파라미터로 정의된다.
이벤트 생성 모듈(110)은 복수개의 입력 디바이스로부터 동시에 입력이 발생되거나 복수개의 프로그램 실행에 따라 복수개의 입력이 동시에 수신될 때, 수신되는 복수개의 입력을 조합한 결과에 대응되는 이벤트를 생성할 수 있다. 예를 들어, 키보드의 입력 A와 마우스의 입력 B가 동시에 발생될 때, 상기 A와 B를 조합한 결과를 토대로 하나의 입력 이벤트를 생성할 수 있다.
이벤트 분석 모듈(120)은 이벤트 생성 모듈(110)에서 생성되는 이벤트가 어떤 이벤트인지 분석하고, 이벤트 관리 모듈(130)에서 해석 가능한 자료 구조로 형 성하여 출력한다. 상기 해석 가능한 자료 구조는 해당되는 시스템에 정의된 자료 구조에 종속된다.
이벤트 관리 모듈(130)은 이벤트 분석 모듈(120)로부터 입력 이벤트가 제공되면, 입력 관리 정보 저장부(140)를 참조하여 변형된 이벤트(modified event)를 생성한다.
이벤트 관리 모듈(130)은 입력 이벤트가 수신되면, 입력 관리정보 저장부(140)에 수신된 입력 이벤트의 이벤트 코드 및 이벤트 파라미터와 동일한 이벤트 코드 및 이벤트 파라미터를 갖는 이벤트 데이터가 저장되어 있는지 체크한다. 동일한 이벤트 코드 및 이벤트 파라미터를 갖는 이벤트 데이터가 저장되어 있으면, 이벤트 관리 모듈(130)은 변형된 이벤트를 생성한다. 변형된 이벤트는 입력 관리 정보 저장부(140)에 저장되어 있는 이벤트 데이터를 토대로 생성된다.
즉, 입력 관리 정보 저장부(140)에 저장되어 있는 이벤트 정보는 도 2에 도시된 바와 같이 입력 이벤트(input event) 영역과 동작 안(action plan) 영역으로 구분된다. 입력 이벤트 영역에는 이벤트 코드와 이벤트 파라미터가 저장된다. 이벤트 코드는 시스템별 정의된 이벤트의 종류를 판단하는 코드이다. 이벤트 파라미터는 시스템별 정의된 이벤트 종류에 따른 추가 입력 변수이다. 동작 안 영역에는 동작 안을 구분하는 타입(type)정보와 실질적인 동작 안 정보가 저장된다.
도 2의 경우에 동작 안은 입력 이벤트에 대한 블록킹(blocking)을 의미하는 정보 및 변경하고자 하는 동작 안에 대응되는 다른 이벤트(other event)에 대한 정보가 저장된다. 블록킹은 해당되는 입력 이벤트를 무효화하는 것이다. 상기 타입 정보는 상기 동작 안중 선택된 동작 안을 나타내는 정보이다. 만약 타입 정보 "1"이 입력 이벤트에 대한 블록킹 동작을 선택하는 것을 의미하는 것이면, 타입 정보 "0"은 입력 이벤트의 동작 안을 다른 동작 안으로 변경하는 다른 이벤트로의 변경 동작을 선택한 것을 의미한다.
입력 관리 정보 저장부(140)에 저장되는 이벤트 데이터가 상술한 바와 같을 때, 이벤트 관리 모듈(130)에서 생성되는 변형된 이벤트는 상기 동작 안(action plan) 영역에 기록되어 있는 실질적인 동작 안 정보를 토대로 생성된다.
그러나, 동일한 이벤트 코드 및 이벤트 파라미터를 갖는 이벤트 데이터가 입력 관리 정보 저장부(140)에 저장되어 있지 않으면, 이벤트 관리 모듈(130)은 수신된 입력 이벤트를 출력한다.
이를 위하여 이벤트 관리 모듈(130)은 도 3에 도시된 바와 같은 구성 요소를 갖는다. 도 3을 참조하면, 본 발명에 따른 이벤트 관리 모듈(130)은 이벤트 모니터링 기능부(301), 이벤트 매니저(302), 이벤트 추가/변경 처리 모듈(303), 및 프로그램 검출기(304)로 구성된다.
이벤트 모니터링 기능부(301)는 이벤트 발생여부를 모니터링하고, 그 결과를 이벤트 매니저(302)로 제공한다. 이벤트 매니저(302)는 이벤트 모니터링 기능부(301)로부터 이벤트 발생을 알리는 정보가 수신되면, 발생된 이벤트에 대응되는 동작이 관리자가 설정한 조건에 맞게 수행될 수 있도록 발생된 이벤트를 관리한다.
이벤트 추가/변경 처리 모듈(303)은 입력 이벤트를 관리자가 설정한 조건에 따른 이벤트로 처리할지 여부를 판단한다. 이를 위하여 이벤트 추가/변경 처리 모듈(303)은 입력 이벤트의 이벤트 코드와 이벤트 파라미터를 토대로 입력 관리 정보 저장부(140)를 참조한다. 참조 결과, 동일한 이벤트 코드와 이벤트 파라미터가 존재하면, 입력 이벤트에 대응되는 동작이 입력 관리 정보 저장부(140)에 저장되어 있는 동작 안을 따르도록, 입력 관리 정보 저장부(140)에 저장되어 있는 동작 안 정보를 리드하여 이벤트 매니저(302)로 제공한다.
프로그램 검출기(304)는 입력 이벤트 또는 이벤트 추가/변경 처리 모듈(303)에 의해 변형된 이벤트가 어떤 프로그램에 전달되는 것인지를 검출한다. 즉, 프로그램 검출기(304)는 해당되는 시스템에서 현재 수행되는 코드 영역을 실행하는 프로그램을 입력 이벤트 또는 변형된 이벤트를 전달할 프로그램으로서 검출한다. 검출 결과는 이벤트 매니저(302)로 제공된다.
이벤트 매니저(302)는 이벤트 추가/변경 처리 모듈(303)부터 제공되는 정보를 토대로 변형된 이벤트와 입력 이벤트를 선택적으로 발생하고, 프로그램 검출기(304)로부터 제공되는 정보를 토대로 발생된 이벤트를 전달할 목적지를 정의한다.
입력 관리 정보 저장부(140)는 관리자에 의해 관리되는 입력 관리 데이터 베이스(150)에 저장된 정보를 토대로 업데이트 된다. 업데이트 시점은 관리자에 의해 제어된다.
입력 관리 데이터 베이스(150)에는 이미 정의된 입력에 대한 이벤트와 정의되지 않은 입력에 대한 이벤트에 대한 정의 데이터가 기록된다. 이미 정의된 입력 은 입력 디바이스에 의해 발생 가능한 입력 또는 프로그램 실행에 따라 발생 가능한 입력에 대해 시스템에 이미 정의된 것이고, 정의되지 않은 입력은 시스템에 정의되지 않은 것으로 가공되는 입력이다. 이를 위하여 관리자는 기본 입력 포맷을 토대로 이벤트에 대한 정의 데이터를 입력한다.
만약 기본 입력 포맷이 한 라인에 하나의 입력을 원칙으로 하여 주석(comment), 명령(command), 데이터(data)에 대한 정보를 입력하도록 정의되어 있고, 주석은 해당 라인이 주석이라는 것을 명시하기 위해 맨 앞 문자로 "#"을 사용하도록 하고, 명령은 해당 라인이 명령이라는 것을 명시하기 위해 맨 앞 문자로 "!"를 사용하도록 하고, 데이터는 해당 라인이 데이터라는 것을 명시하기 위해 맨 앞 문자로 상술한 문자를 사용하지 않도록 정의되어 있으면, 관리자는 상술한 기본 입력 포맷에 따라 입력 이벤트에 대한 정의 데이터를 입력한다.
그리고, 관리자는 데이터를 입력할 때, 어떤 이벤트인지를 정의하는 구문, 기 정의된 방법으로 정의되는 구문, 해당 이벤트에 대해 어떤 동작(action)을 취할 것인지 정의하는 구문 등을 이용하거나 직접 이벤트 정의 데이터를 작성할 수 있다.
상술한 입력 이벤트 정의 방법을 토대로 입력된 데이터에 의해 입력 관리 데이터 베이스(150)는 형성된다. 입력 관리 데이터 베이스(150)에 저장되는 이벤트 정의 데이터는 텍스트(text)파일 형태를 갖는다.
입력 관리 정보 관리 모듈(160)은 관리자가 요구할 때마다 입력 관리 데이터 베이스(150)에 저장되어 있는 이벤트 정의 데이터를 리드하여 파싱(parsing)하고, 파싱 결과로 입력 관리 정보 저장부(140)를 업데이트 한다.
이를 위하여 입력 관리 정보 관리 모듈(160)은 도 4에 도시된 바와 같은 구성 요소를 갖는다. 도 4를 참조하면, 입력 관리 정보 관리 모듈(160)의 구성 요소는 하위 레벨 이벤트 포맷 정보(401), 상위 레벨 이벤트 포맷 정보(402), 이벤트 데이터 파서(403), 입력 관리 데이터 커넥터(404), 이벤트 데이터 로더(405)를 포함한다.
하위 레벨 이벤트 포맷 정보(401)는 하위 레벨로 분류되는 이벤트의 포맷에 대한 정보가 정의되어 있다. 하위 레벨 이벤트는 정의되지 않은 입력에 대한 이벤트이다.
상위 레벨 이벤트 포맷 정보(402)는 상위 레벨로 분류되는 이벤트의 포맷에 대한 정보가 정의되어 있다. 상위 레벨 이벤트는 기 정의된 입력에 대한 이벤트이다.
이벤트 데이터 파서(403)는 관리자로부터 요구 정보가 수신되면, 입력 관리 데이터 커넥터(404)를 통해 입력 관리 데이터 베이스(150)로부터 라인 단위로 이벤트 정의 데이터를 리드하고, 리드된 이벤트 정의 데이터가 하위 레벨 이벤트이면, 하위 레벨 이벤트 포맷 정보(401)를 참조하고, 리드된 이벤트 정의 데이터가 상위 레벨 이벤트이면, 상위 레벨 이벤트 포맷 정보(402)를 참조하여 리드된 이벤트 정의 데이터를 파싱(parsing)한다.
파싱을 실패(fail)하면, 이벤트 데이터 파서(403)는 파싱(parsing) 실패 메시지를 관리자가 인식할 수 있도록 출력한다. 파싱 실패는 리드된 이벤트 정의 데 이터가 유효(valid)하지 않은 경우이다. 반면에 리드된 이벤트 정의 데이터가 유효(valid)하고, 해당되는 데이터의 종료지점(end)까지 리드된 경우에 파싱이 성공된 것으로 판단하여 이벤트 데이터 파서(404)는 파싱 성공(success) 메시지를 관리자가 인식할 수 있도록 출력한다.
그리고 이벤트 데이터 파서(403)는 파싱된 데이터를 이벤트 로더(405)를 통해 입력 관리 정보 저장부(140)에 로딩시킨다. 이에 따라 입력 관리 정보 저장부(140)에 저장된 정보는 업데이트 된다.
입력 관리 데이터 커넥터(404)는 관리자로부터 요구 정보가 수신되면, 이벤트 데이터 파서(403)에 의해 제어되어 입력 관리 데이터 베이스(150)와 연결되고, 입력 관리 데이터 베이스(150)에 저장되어 있는 이벤트 정의 데이터를 라인 단위로 리드한다.
이벤트 데이터 로더(405)는 이벤트 데이터 파서(403)에서 이벤트 정의 데이터에 대한 파싱을 성공하면, 파싱된 이벤트 정의 데이터를 입력 관리 정보 저장부(140)에 로딩시켜 입력 관리 정보 저장부(140)에 저장된 데이터를 업데이트 한다.
이벤트 처리 모듈(170)은 이벤트 관리 모듈(130)에서 발생되는 입력 이벤트 또는 변형된 이벤트를 해석하여 해당되는 시스템에서 그에 적합한 동작이 수행되도록 한다.
도 5는 본 발명에 따른 입력 관리 방법에 있어서, 입력 관리 정보 저장부(140)를 업데이트 하는 과정에 대한 동작 흐름도이다.
제 501 단계에서 관리자에 의해 입력 이벤트들이 정의된다. 입력 이벤트들은 이미 정의된 입력에 대한 이벤트와 정의되지 않은 입력에 대한 이벤트를 포함한다. 이벤트 정의는 도 1의 입력 관리 데이터 베이스(150)에서 설명한 바와 같이 기본 입력 포맷을 토대로 정의된다
제 502 단계에서 입력 관리 정보 관리 모듈(160)에 의해 정의된 이벤트 데이터를 리드한다.
제 503 단계에서 이벤트 포맷 정보를 참조하여 리드된 데이터를 파싱한다. 즉, 리드된 이벤트가 하위 레벨 이벤트이면, 하위 레벨 이벤트 포맷 정보를 참조하여 리드된 데이터를 파싱한다. 리드된 이벤트가 상위 레벨 이벤트이면, 상위 레벨 이벤트 포맷 정보를 참조하여 리드된 데이터를 파싱한다. 하위 레벨 이벤트는 정의되지 않은 입력에 대한 이벤트이고, 상위 레벨 이벤트는 이미 정의된 입력에 대한 이벤트이다.
제 504 단계에서 상기 파싱된 데이터를 토대로 입력 관리 정보 저장부(140)에 저장된 데이터를 업데이트 한다.
도 6은 도 5에 도시된 흐름도에서 정의된 이벤트 데이터를 리드하는 단계와 파싱 단계의 상세 흐름도이다.
제 601 단계에서 정의된 이벤트 데이터를 라인 단위로 리드한다.
제 602 단계에서 리드된 이벤트 데이터가 유효(valid)한지를 판단한다. 제 602 단계에서 리드된 이벤트 데이터가 유효한 것으로 판단되면, 제 603 단계에서 리드된 라인이 주석(comment)을 의미하는지를 체크한다. 제 603 단계에서 주석으로 판단되면, 제 601 단계로 리턴되어 라인단위로 정의된 이벤트 데이터를 리드한다.
제 603 단계에서 주석이 아닌 것으로 판단되면, 제 604 단계에서 커맨드인지를 체크한다. 제 604 단계에서 커맨드로 판단되면, 제 605 단계에서 리드할 이벤트 데이터의 속성(attribute)을 부여하고, 제 601 단계로 리턴되어 다음 라인의 이벤트 데이터를 리드한다.
제 604 단계에서 커맨드가 아닌 것으로 판단되면, 제 606 단계에서 리드된 이벤트 데이터가 종료지점에 해당되는지를 체크한다. 제 606 단계에서 데이터 종료지점이 아닌 것으로 판단되면, 제 607 단계에서 이벤트 데이터의 속성에 따라 리드된 이벤트 데이터를 추가하고 제 601 단계로 리턴된다.
그러나, 제 606 단계에서 리드된 이벤트 데이터가 데이터 종료지점으로 판단되면, 제 608 단계에서 이벤트 데이터 파싱 성공 메시지를 출력하고, 작업을 종료한다.
한편, 제 602 단계에서 리드된 데이터가 유효하지 않은 것으로 판단되면, 제 609 단계에서 파싱 실패(fail) 메시지를 출력하고 작업을 종료한다.
도 7은 본 발명에 따른 입력 관리 방법에 있어서 생성된 이벤트를 관리하는 과정에 대한 동작 흐름도이다.
제 701 단계에서 이벤트가 생성된 것으로 판단되면, 제 702 단계에서 입력 이벤트인지 판단한다. 제 702 단계에서 입력 이벤트로 판단되면, 제 703 단계에서 입력된 이벤트와 동일한 이벤트가 입력 관리 정보 저장부(140)에 존재하는지를 체크한다.
제 703 단계에서 입력 관리 정보 저장부(140)에 동일한 이벤트가 존재하는 것으로 판단되면, 제 704 단계에서 변형된 이벤트를 생성한다. 변형된 이벤트는 입력 관리 정보 저장부(140)에 저장되어 있는 정보를 토대로 생성된다. 그리고, 제 705 단계에서 이벤트 처리 루틴으로 진행된다. 이에 따라 입력 이벤트에 대한 동작 안은 변형된 이벤트에 따라 바뀐다. 동작 안은 해당되는 입력 이벤트를 블록킹(blocking)하거나 다른 동작 안으로 변경될 수 있다. 이에 따라 키보드 이벤트 A가 마우스 이벤트 B로 변경될 수 있다. 이와 같이 입력 이벤트를 무효화하거나 변형시키는 것이 가능하다.
한편, 제 703 단계에서 입력 이벤트와 동일한 이벤트 데이터가 입력 관리 정보 저장부(140)에 존재하지 않으면, 제 706 단계에서 이벤트 관리 모듈(130)은 입력 이벤트를 생성한다. 이에 따라 제 705 단계에서 이벤트 처리 루틴으로 진행되어 입력 이벤트에 대응되는 동작 안이 수행된다.
상술한 바와 같이 본 발명은 하나의 관리 모듈을 이용하여 각종 입력을 관리함으로써, 셋톱 박스 또는 키오스크와 같이 시스템 자원이 제한된 시스템에서 효율적으로 자원을 관리할 수 있다.
또한, 본 발명은 사용자 레벨에 따라 꼭 필요한 입력만을 시스템 관리자가 활성화시킬 수 있다. 즉, 사용자가 자주 사용하는 기능을 시스템 관리자가 사용하기 쉽게 정의하거나 불필요한 입력을 최소화시킬 수 있어, 사용자의 편의성을 증대시킬 뿐 아니라 잘못된 입력으로 인한 시스템의 오동작을 방지할 수 있다.
그리고 본 발명은 허가되지 않은 프로그램의 실행 또는 고의적으로 시스템 내부에 불법 접근하기 위해 주로 이용되는 입력들을 무효화시킬 수 있어, 리버스 엔지니어링이나 시스템 해킹을 목적으로 시스템에 접근하는 것을 방지할 수 있다.
더욱이, 복수개의 서로 다른 입력 디바이스에 의한 입력을 하나의 입력 이벤트로 처리할 수 있도록 입력 이벤트를 가공할 수 있어, 입력 이벤트를 다양한 형태로 변형시킬 수 있다.
그리고, 관리자가 해당되는 입력 이벤트에 대한 정의 데이터를 입력하는 것으로 입력 이벤트 변형 또는 추가가 가능하므로, 입력 이벤트 변형 또는 추가를 위하여 관리자가 별도의 하드웨어를 개발하거나 추가하지 않아도 될 뿐 아니라 사용자에게 보다 효율적인 입력 방법 제안을 계속적으로 용이하게 수행할 수 있다.
본 발명은 상술한 실시 예에 한정되지 않으며, 본 발명의 사상 내에서 당업자에 의한 변형이 가능함은 물론이다. 따라서, 본 발명에서 권리를 청구하는 범위는 상세한 설명의 범위 내로 정해지는 것이 아니라 후술하는 청구범위로 정해질 것이다.

Claims (16)

  1. 적어도 하나의 입력 디바이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템의 입력 관리 장치에 있어서,
    상기 입력 디바이스에 의한 입력 또는 상기 프로그램 실행에 따른 입력이 발생되면, 발생된 입력에 대응되는 제 1 이벤트를 생성하는 이벤트 생성 모듈;
    상기 입력에 대한 관리 정보를 저장하는 입력 관리 정보 저장부;
    상기 제 1 이벤트가 생성되면, 상기 입력 관리 정보 저장부에 저장된 관리 정보에 기초하여 제 2 이벤트를 생성하는 이벤트 관리 모듈을 포함하고,
    복수개의 입력 디바이스에 의한 입력 또는 복수개의 프로그램 실행에 따른 입력이 동시에 발생되면, 상기 이벤트 생성 모듈은 상기 동시에 발생된 입력을 조합한 결과에 기초하여 상기 제 1 이벤트를 생성하는 것을 특징으로 하는 입력 관리 장치.
  2. 제 1 항에 있어서, 상기 입력에 대한 관리 정보는 상기 시스템의 관리자에 의해 상기 시스템에서 이용 가능한 입력 디바이스와 프로그램을 토대로 이미 정의된 입력에 대한 이벤트와 정의되지 않은 입력에 대한 이벤트에 대한 관리 정보를 포함하도록 설정되는 것을 특징으로 하는 입력 관리 장치.
  3. 제 2 항에 있어서, 상기 입력에 대한 관리 정보는 상기 시스템의 관리자에 의해 업데이트가 가능한 것을 특징으로 하는 입력 관리 장치.
  4. 제 1 항에 있어서, 상기 입력 관리 정보 저장부에 저장된 관리 정보에 기초하여 상기 제 1 이벤트의 동작 안에 대한 변경이 필요한 것으로 판단되면, 상기 이벤트 관리 모듈은 상기 입력 관리 정보 저장부에 저장되어 있는 정보에 기초하여 상기 제 2 이벤트를 생성하는 것을 특징으로 하는 입력 관리 장치.
  5. 제 4 항에 있어서, 상기 입력 관리 정보 저장부에 저장된 관리 정보에 기초하여 상기 제 1 이벤트의 동작 안에 대한 변경이 필요하지 않은 것으로 판단되면, 상기 이벤트 관리 모듈은 상기 제 1 이벤트를 출력하는 기능을 더 포함하는 것을 특징으로 하는 입력 관리 장치.
  6. 제 4 항에 있어서, 상기 제 1 이벤트에 식별 정보와 동일한 식별 정보를 갖는 정보가 상기 입력 관리 정보 저장부에 존재하면, 상기 이벤트 관리 모듈은 상기 제 1 이벤트의 동작 안에 대한 변경이 필요한 것으로 판단하는 것을 특징으로 하는 입력 관리 장치.
  7. 삭제
  8. 제 1 항에 있어서, 상기 이벤트 관리 모듈은, 상기 제 1 이벤트 또는 상기 제 2 이벤트가 전달될 프로그램을 검출하는 기능을 더 포함하는 입력 관리 장치.
  9. 적어도 하나의 입력 디바이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템의 입력 관리 장치에 있어서,
    상기 입력 디바이스에 의한 입력 또는 상기 프로그램 실행에 따른 입력이 발생되면, 발생된 입력에 대응되는 제 1 이벤트를 생성하는 이벤트 생성 모듈;
    상기 입력에 대한 관리 정보를 저장하는 입력 관리 정보 저장부;
    상기 시스템의 관리자의 요구에 따라 상기 입력 관리 정보 저장부에 저장된 정보를 관리하는 입력 관리 정보 관리 모듈;
    상기 제 1 이벤트가 생성되면, 상기 입력 관리 정보 저장부에 저장된 관리 정보에 기초하여 제 2 이벤트를 생성하는 이벤트 관리 모듈;
    상기 제 1 이벤트가 생성되면, 상기 생성된 제 1 이벤트를 분석하여 상기 이벤트 관리 모듈에서 해석 가능한 자료 구조로 출력하는 이벤트 분석 모듈을 포함하는 입력 관리 장치.
  10. 제 9 항에 있어서, 상기 입력 관리 정보 관리 모듈은, 상기 시스템에서 발생 가능한 입력 이벤트를 사전에 정의된 입력에 대한 이벤트와 사전에 정의되지 않은 입력에 대한 이벤트로 구분하여 관리하는 것을 특징으로 하는 입력 관리 장치.
  11. 적어도 하나의 입력 디바이스에 의한 입력 및 적어도 하나의 프로그램 실행에 따른 입력을 처리할 수 있는 시스템의 입력 관리 방법에 있어서,
    상기 시스템의 관리자에 의해 상기 시스템에서 발생 가능한 입력 이벤트 데이터가 정의되면, 상기 정의된 입력 이벤트 데이터에 기초하여 입력 관리 정보를 저장하는 단계;
    상기 입력에 따라 제 1 이벤트가 생성되면, 상기 저장된 입력 관리 정보에 기초하여 제 2 이벤트를 생성하는 이벤트 관리 단계를 포함하고,
    상기 제 1 이벤트는 복수개의 입력 디바이스에 의한 입력 또는 복수개의 프로그램 실행에 따른 입력이 동시에 발생되면, 동시에 발생된 입력을 조합한 결과에 의해 생성된 이벤트인 것을 특징으로 하는 입력 관리 방법.
  12. 제 11 항에 있어서, 상기 발생 가능한 입력 이벤트는 상기 시스템에서 이용 가능한 입력 디바이스와 프로그램을 토대로 사전에 정의된 입력 이벤트와 사전에 정의되지 않은 입력에 대한 이벤트를 포함하는 것을 특징으로 하는 입력 관리 방법.
  13. 제 11 항에 있어서, 상기 제 2 이벤트는 상기 제 1 이벤트의 동작 안에 대한 변경이 필요하다고 판단되면 생성되는 것을 특징으로 하는 입력 관리 방법.
  14. 제 11 항에 있어서, 상기 방법은,
    상기 저장된 입력 관리 정보에 기초하여 상기 제 1 이벤트의 동작 안에 대한 변경이 필요하지 않은 것으로 판단되면, 상기 제 1 이벤트를 현재 입력에 대응되는 이벤트로 출력하는 단계를 더 포함하는 입력 관리 방법.
  15. 삭제
  16. 제 11 항에 있어서, 상기 방법은, 상기 관리자의 요구에 따라 상기 입력 관리 정보를 업데이트 하는 단계를 더 포함하는 입력 관리 방법.
KR1020030097808A 2003-12-26 2003-12-26 입력 관리 장치 및 방법 KR100970729B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020030097808A KR100970729B1 (ko) 2003-12-26 2003-12-26 입력 관리 장치 및 방법
US11/020,107 US8051431B2 (en) 2003-12-26 2004-12-27 Apparatus and method for input management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030097808A KR100970729B1 (ko) 2003-12-26 2003-12-26 입력 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20050066511A KR20050066511A (ko) 2005-06-30
KR100970729B1 true KR100970729B1 (ko) 2010-07-16

Family

ID=34747734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030097808A KR100970729B1 (ko) 2003-12-26 2003-12-26 입력 관리 장치 및 방법

Country Status (2)

Country Link
US (1) US8051431B2 (ko)
KR (1) KR100970729B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013062371A1 (en) * 2011-10-26 2013-05-02 Samsung Electronics Co., Ltd. System and method for transmitting messages related to operations of electronic devices
KR101361335B1 (ko) * 2011-12-02 2014-02-12 서울대학교산학협력단 다양한 입력장치를 수용할 수 있는 모바일 디바이스 및 그 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060070308A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 편재형 환경에서 입력 공유 장치 및 그 방법
KR100764062B1 (ko) * 2006-05-01 2007-10-09 엘아이지넥스원 주식회사 항공기의 다중화 컴퓨터 시스템
KR100929350B1 (ko) * 2007-08-28 2009-12-03 주식회사 신안메이드 구운소금 분쇄장치
TW201017471A (en) * 2008-10-23 2010-05-01 Asustek Comp Inc Identification method for an electronic system and related electronic system
US10078382B2 (en) * 2014-09-04 2018-09-18 Home Box Office, Inc. Unified input and invoke handling
CN116974361A (zh) * 2022-04-21 2023-10-31 华为技术有限公司 一种输入方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100221374B1 (ko) * 1995-01-19 1999-09-15 포만 제프리 엘 이벤트를 효율적으로 처리하는 데이타 처리 시스템 및 그의 방법과 저장장치
KR20010060277A (ko) * 1999-11-12 2001-07-06 포만 제프리 엘 입력이벤트를 관리하는 방법, 시스템 및 컴퓨터 프로그램제품

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104765B2 (ja) * 1990-08-24 1995-11-13 ゼロックス コーポレイション コンピュータ駐在ソフトウエアシステムに対するユーザインタフェースとしての電子的ドキュメント
US5283856A (en) * 1991-10-04 1994-02-01 Beyond, Inc. Event-driven rule-based messaging system
US5555346A (en) * 1991-10-04 1996-09-10 Beyond Corporated Event-driven rule-based messaging system
US5471618A (en) * 1992-11-30 1995-11-28 3Com Corporation System for classifying input/output events for processes servicing the events
EP0777880B1 (de) * 1994-08-25 1998-10-21 Siemens Aktiengesellschaft Verfahren zur simultanen digitalen verarbeitung mehrerer von/zu audio-videogeräten zu übertragenden datenpakete in einem rechnersystem
US5600790A (en) * 1995-02-10 1997-02-04 Research In Motion Limited Method and system for loading and confirming correct operation of an application program in a target system
US5694150A (en) * 1995-09-21 1997-12-02 Elo Touchsystems, Inc. Multiuser/multi pointing device graphical user interface system
US6466996B1 (en) * 1998-09-14 2002-10-15 Compaq Information Technologies Group, L.P. Method and system for implementing intelligent distributed input-output processing as a software process in a host operating system environment
US6727884B1 (en) * 1999-04-06 2004-04-27 Microsoft Corporation System and method for mapping input device controls to software actions
US7116310B1 (en) * 1999-04-06 2006-10-03 Microsoft Corporation Application programming interface that maps input device controls to software actions
KR20020068857A (ko) 2001-02-23 2002-08-28 (주) 사이텍소프트 컴퓨터의 전원관리 시스템
US6839896B2 (en) * 2001-06-29 2005-01-04 International Business Machines Corporation System and method for providing dialog management and arbitration in a multi-modal environment
US20030051071A1 (en) * 2001-09-13 2003-03-13 Thorarinn Stefansson Modular software system and method
US7177925B2 (en) * 2002-09-27 2007-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Event management system
US7500250B2 (en) * 2003-03-27 2009-03-03 Microsoft Corporation Configurable event handling for user interface components

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100221374B1 (ko) * 1995-01-19 1999-09-15 포만 제프리 엘 이벤트를 효율적으로 처리하는 데이타 처리 시스템 및 그의 방법과 저장장치
KR20010060277A (ko) * 1999-11-12 2001-07-06 포만 제프리 엘 입력이벤트를 관리하는 방법, 시스템 및 컴퓨터 프로그램제품

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013062371A1 (en) * 2011-10-26 2013-05-02 Samsung Electronics Co., Ltd. System and method for transmitting messages related to operations of electronic devices
US8988243B2 (en) 2011-10-26 2015-03-24 Samsung Electronics Co., Ltd System and method for transmitting messages related to operations of electronic devices
US9721441B2 (en) 2011-10-26 2017-08-01 Samsung Electronics Co., Ltd System and method for transmitting messages related to operations of electronic devices
US10510221B2 (en) 2011-10-26 2019-12-17 Samsung Electronics Co., Ltd System and method for transmitting messages related to operations of electronic devices
KR101361335B1 (ko) * 2011-12-02 2014-02-12 서울대학교산학협력단 다양한 입력장치를 수용할 수 있는 모바일 디바이스 및 그 방법

Also Published As

Publication number Publication date
KR20050066511A (ko) 2005-06-30
US8051431B2 (en) 2011-11-01
US20050160105A1 (en) 2005-07-21

Similar Documents

Publication Publication Date Title
Son et al. Rolecast: finding missing security checks when you do not know what checks are
KR101238550B1 (ko) 명령을 내리는 방법 및 컴퓨터 판독가능 매체
US6212578B1 (en) Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls
US7895605B2 (en) Method for tracking an event through multiple module-specific files
CN110225029B (zh) 注入攻击检测方法、装置、服务器及存储介质
CN101384995A (zh) 应用服务器中的管理自动化
CN112149109B (zh) 模块化权限控制管理方法及系统
US20080209572A1 (en) Data Processing System, Data Processing Method, and Management Server
EP3053131A1 (en) Overlays to modify data objects of source data
US8438557B2 (en) Reusing an application object
KR100970729B1 (ko) 입력 관리 장치 및 방법
CN103164455A (zh) 数据库的优化方法及装置
CN109325046A (zh) 数据库脚本生成方法、装置、介质及电子设备
US9715372B2 (en) Executable guidance experiences based on implicitly generated guidance models
CN102460381A (zh) 软件扩展分析
US20110082819A1 (en) Systems and Methods for Decision Pattern Identification and Application
US7827195B2 (en) Document management device and document management method
CN110705715B (zh) 超参数管理方法、装置及电子设备
US20050193004A1 (en) Building a case base from log entries
Beato et al. UML automatic verification tool (TABU)
CN107291614B (zh) 文件异常检测方法和电子设备
US8739136B2 (en) Validating run-time references
US20040153871A1 (en) Automatic analysis of the properties of a system based on runtime logs
CN101794293B (zh) 扩展文件属性信息的安全管理至虚拟硬盘
CN114691197A (zh) 代码分析方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee