KR101904955B1 - 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치 - Google Patents

터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치 Download PDF

Info

Publication number
KR101904955B1
KR101904955B1 KR1020130136969A KR20130136969A KR101904955B1 KR 101904955 B1 KR101904955 B1 KR 101904955B1 KR 1020130136969 A KR1020130136969 A KR 1020130136969A KR 20130136969 A KR20130136969 A KR 20130136969A KR 101904955 B1 KR101904955 B1 KR 101904955B1
Authority
KR
South Korea
Prior art keywords
pattern
interaction pattern
resource
touch
cpu
Prior art date
Application number
KR1020130136969A
Other languages
English (en)
Other versions
KR20150055192A (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 KR1020130136969A priority Critical patent/KR101904955B1/ko
Priority to EP14192848.1A priority patent/EP2874063A3/en
Priority to US14/539,534 priority patent/US20150130761A1/en
Publication of KR20150055192A publication Critical patent/KR20150055192A/ko
Application granted granted Critical
Publication of KR101904955B1 publication Critical patent/KR101904955B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명의 실시예들은, 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법에 있어서, 사용자의 멀티태스킹을 위한 상호작용에 해당하는 터치신호를 상기 모바일 기기의 터치 스크린를 통해 수신하면, 상기 터치신호에 대응하는 상호작용 패턴을 인식하는 과정; 인식된 상기 상호작용 패턴에 대응하는 자원 할당정도를 결정하는 과정; 및 결정된 상기 자원 할당정도에 따라, 상기 모바일 기기의 자원을 할당하는 과정을 포함한다.

Description

터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치{A method and an apparatus allocating for computing resources in the touch based mobile device}
본 발명은 터치기반 멀티태스킹 모바일 기기에 관한 것으로, 특히 사용자의 터치 패턴에 따라 최적화된 자원 할당을 통해, 보다 향상된 사용자 경험을 제공하기 위한 컴퓨팅 자원 할당 기술에 관한 것이다.
스마트폰 등의 모바일 기기 기술에 대한 비약적인 발전으로 인해, 일반 사용자들은 모바일 기기를 이용하여 보다 향상된 품질의 다양한 서비스를 제공받는 것이 가능해졌다. 이러한 발전을 가능하게 했던 가장 큰 요인은 모바일 기기 하드웨어의 질적 향상이라고 할 수 있다. 최근 출시된 스마트폰의 경우 4개 이상의 CPU, 2GB 이상의 메모리, 128GB 이상의 저장공간, 그리고 LTE 모뎀까지 장착하는 등 데스크톱의 하드웨어와 크게 차이가 나지 않고 있다. 이에 따라서 이를 활용하기 위한 소프트웨어(운영체제, 프레임워크, 응용 등)는 점점 다양해지고 복잡해지고 있다. 최신 스마트폰들이 탑재하고 있는 응용 소프트웨어는 이미 데스크톱의 그것과 크게 다르지 않으며, 풀 3D 기술, 멀티 윈도우 기술 등과 같은 혁신적인 기술들이 계속적으로 스마트폰에 적용이 되고 있다. 이와 같이 스마트폰의 소프트웨어가 복잡해짐에 따라서 사용자는 보다 다양한 서비스를 경험하게 되었지만, 질적으로 만족할 만한 사용자 경험을 제공받는 것은 매우 어려워졌다.
일반적으로 터치기반의 멀티태스킹 모바일 장치에서 보다 나은 사용자 반응성을 제공하기 위한 방법은 화면을 점유하고 있는 응용에게 보다 많은 컴퓨팅 자원을 할당하는 것이다. 여기서 컴퓨팅 자원은 CPU, 메모리 대역폭, 네트워크 대역폭 등을 포함한다.
Google사의 Android는 화면을 점유하고 있는 Foreground 응용들에 대해서 Background 응용들에 비해서 약 9배의 높은 우선순위를 주고 우선순위에 비례한 CPU 자원을 할당한다. 이는 Foreground 응용들이 보다 오랫동안 CPU를 사용하도록 보장함으로써 향상된 사용자 반응성을 제공할 수 있다. Apple사의 스마트폰 운영체제인 iOS의 경우, 사용자 터치에 관련된 프로세스들을 모두 실시간 우선순위로 설정하여 일반 우선순위의 다른 응용들보다 항상 우선적으로 CPU를 사용할 수 있다고 알려져 있다. 그 외 RIM사의Blackberry OS, Nokia사의 Symbian 역시 모두 유사한 방식, 즉 사용자와의 상호작용에 영향을 끼치는 프로세스들에게 정적으로 높은 중요도를 주는 방식으로 향상된 사용자 반응성을 제공한다.
최근 모바일 장치의 자원이 풍부해짐에 따라 다수의 Foreground 우선순위 응용들에 대한 한 화면에서 멀티 태스킹이 가능해지고, 이들이 서로 다양한 자원에 대해서 경쟁하게 되면서 사용자 반응성을 향상시키는 것은 더욱 어려워졌다. 이러한 환경에서 사용자가 상호작용하는 응용은 시시때때로 변하기 때문에 단순하게 화면의 점유 여부로 중요도를 판별하는 기존의 Foreground / Background 우선순위 모델이나 정적으로 프로세스의 우선순위를 결정하는 방식은 사용자가 현재 상호작용하는 응용과 그렇지 않은 응용을 효과적으로 구분할 수 없다.
도 1은 멀티윈도우 기능을 수행 중인 모바일 기기에서 어플리케이션의 종류에 따라 변화하는 자원요구량을 설명하기 위한 참조도이다. 예를 들면, 도 1과 같이 멀티 윈도우 기능을 탑재한 최신 스마트폰(10)에서 사용자는 화면의 한쪽에는 동영상 재생 응용 어플리케이션(11)을 실행하고, 다른 한쪽에는 노트 필기 응용 어플리케이션(12)을 동시에 수행시킬 수 있다. 이러한 경우, 도 1 (a)는 사용자 상호작용이 없을 때의 응용 어플리케이션 별 자원 할당 요구량을 나타내는 것이고, 도 1 (b)는 노트 필기 응용 어플리케이션에 사용자 상호작용이 발생하는 경우에 응용 어플리케이션 별 자원 할당 요구량을 나타낸 것이다. 도 1 (a) 및 (b)에 도시된 바와 같이, 종래의 Foreground/Background 우선순위 모델은 두 응용들의 자원 요구량이 명백히 다름에도 불구하고 모두 동일한 자원을 할당한다. 따라서, 종래기술은 화면을 점유중인 모든 응용들에 대해서 동일한 자원을 할당하기 때문에 사용자가 상호작용하는 응용에게 충분한 자원을 할당하지 못할 수 있다. 이로 인해, 사용자가 노트 필기 응용(12)에 상호작용할 때 CPU, 메모리 자원이 요구량에 미치지 못하여 부드러운 필기를 보장하지 못하는 문제점이 있다.
또한, 동일한 응용이라 할 지라도 사용자가 해당 응용에 어떤 상호작용을 하는지에 따라 요구되는 반응성의 정도와 필요한 컴퓨팅 자원의 종류가 달라지기 때문에 종래의 정적인 방법은 요구되는 사용자 반응성의 정도를 보장하지 못한다.
도 2는 모바일 기기에서 다양한 사용자 상호작용의 종류에 따라 변화하는 자원요구량을 설명하기 위한 참조도이다. 도 2 (a)는 웹 브라우저에서 링크 터치 시 자원 할당 요구량을 나타내고, 도 2 (b)는 웹 브라우저에서 드레그(스크롤) 시 자원 할당 요구량을 나타낸다. 도 2에서 보듯이, 사용자가 새로운 URL에 들어가기 위해 특정 링크를 터치하였을 때(20)와 이미 로딩 된 웹 페이지의 내용을 읽기 위해 위?아래로 스크롤 할 때(21)의 자원 사용 패턴은 상이하다. 링크 터치 시에는 해당 페이지의 DOM(Document Object Model) Tree를 구성하고 Contents를 서버로부터 읽어 들이기 위해 CPU와 네트워크 자원이 많이 요구된다. 반면 드레그 시에는 새로운 내용을 프레임버퍼에 저장하고 이를 화면에 갱신하기 위해 CPU와 메모리 자원이 많이 요구된다. 그런데, 기존의 정적인 자원할당 기법은 이와 같이 동적으로 달라지는 자원 사용 요구량을 만족시킬 수 없으며, 이는 조악한 사용자 경험의 주된 원인이 된다.
또한, 종래에는 자원 할당에 있어서, CPU 자원의 할당만을 주된 목적으로 하고 있다. 일반적으로 모바일 기기의 응용 어플리케이션이 보다 빠르게 반응하기 위해서는 CPU 뿐만이 아니라 메모리, 네트워크 등 다양한 자원을 효율적으로 할당해야 한다. 따라서 종래 기술들은 효과적으로 사용자 반응성을 향상시킬 수 없다는 문제점이 있다.
따라서 본 발명이 해결하고자 하는 과제는 정적 자원할당 기법을 해결하기 위해 제안된 것으로, 터치기반 멀티태스킹 모바일 기기에서 사용자의 상호작용 패턴에 따라 최적의 사용자 반응성을 달성할 수 있도록 CPU, 메모리, 네트워크 자원의 할당 정도를 최적으로 결정하여 자원을 할당하도록 하는 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치를 제공하기 위한 것이다.
본 발명의 일 실시예에 따르면, 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법에 있어서, 사용자의 멀티태스킹을 위한 상호작용에 해당하는 터치신호를 상기 모바일 기기의 터치 스크린를 통해 수신하면, 상기 터치신호에 대응하는 상호작용 패턴을 인식하는 과정; 인식된 상기 상호작용 패턴에 대응하는 자원 할당정도를 결정하는 과정; 및 결정된 상기 자원 할당정도에 따라, 상기 모바일 기기의 자원을 할당하는 과정을 포함한다.
본 발명의 또 다른 실시예에 따르면, 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당장치에 있어서, 사용자의 멀티태스킹을 위한 상호작용에 해당하는 터치신호가 터치 스크린을 통해 감지되면, 감지된 상기 터치신호에 따라, 상기 터치신호에 대응하는 상호작용 패턴을 인식하는 패턴 인식부; 인식된 상기 상호작용 패턴에 대응하는 자원 할당정도를 결정하는 자원 결정부; 상기 자원 결정부에서 결정된 상기 자원 할당정도에 따라, 상기 모바일 기기의 자원을 할당하는 자원 할당부를 포함한다.
본 발명에 따르면, 터치 기반의 모바일 기기에서 멀티 태스킹을 수행하는 과정 중에, 사용자의 터치 패턴에 의한 상호작용의 종류에 따라 컴퓨팅 자원을 적절하게 할당함으로써, 모바일 기기에 대한 사용자 경험을 개선시키는 효과를 얻을 수 있다.
본 발명 및 그의 효과에 대한 보다 완벽한 이해를 위해, 첨부되는 도면들을 참조하여 하기의 설명들이 이루어질 것이고, 여기서 동일한 참조 부호들은 동일한 부분들을 나타낸다.
도 1은 멀티윈도우 기능을 수행 중인 모바일 기기에서 어플리케이션의 종류에 따라 변화하는 자원요구량을 설명하기 위한 참조도이다.
도 2는 모바일 기기에서 다양한 사용자 상호작용의 종류에 따라 변화하는 자원요구량을 설명하기 위한 참조도이다.
도 3은 본 발명에 따른 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법을 설명하기 위한 일 실시예의 플로차트이다.
도 4는 도 3에 도시된 상호작용 패턴을 인식하는 단계를 설명하기 위한 일 실시예의 플로차트이다.
도 5는 상호작용 패턴으로서, 순간적 상호작용패턴, 연속적 상호작용패턴 및 멀티터치 상호작용패턴에 대해 예시한 참조도이다.
도 6은 상호작용 패턴에 따른 CPU 시간, CPU 클럭 주파수, 메모리 대역폭, 네트워크 대역폭의 할당정도를 설명하기 위한 참조도이다.
도 7은 상호작용 패턴에 따른 CPU, 메모리, 네트워크에 대한 자원 할당을 예시한 참조도이다.
도 8은 본 발명에 따른 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당장치를 설명하기 위한 일 실시예의 블록도이다.
도 9는 도 8에 도시된 패턴 인식부를 설명하기 위한 일 실시예의 블록도이다.
본 특허 명세서에서 본 발명의 원리들을 설명하기 위해 사용되는 도 1 내지 도 9는 단지 예시를 위한 것인 바, 발명의 범위를 제한하는 어떠한 것으로도 해석되서는 안된다. 당해 분야에서 통상의 지식을 가진 자는 본 발명의 원리들이 적절하게 배치된 임의의 모바일 기기에서 구현될 수 있음을 이해할 것이다.
본 발명의 모바일 기기는 터치 기반의 멀티 태스킹이 가능하며, 음성 통신 및/또는 데이터 통신이 가능한 단말로서, 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 전자북 리더기(e-book reader), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), 웨어러블 장치(wearable device), 전자 시계(electronic clock), 네비게이션(navigation) 장치, 전자 사전 등의 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 본 발명의 일 실시예에 따른 모바일 기기는 전술한 기기들에 한정되지 않는다.
본 발명의 특징에 따른, 터치기반 모바일 기기에서 향상된 사용자 반응성을 위한 컴퓨팅 자원의 할당 방식은 다음의 세 과정을 포함할 수 있다. 즉, 첫번째 과정은 사용자의 상호작용 패턴을 인식하는 과정이고, 두번째 과정은 인식한 사용자 상호작용 패턴에 따라 컴퓨팅 자원의 할당 정도를 결정하는 과정이고, 세번째 과정은 상기 결정된 자원 할당 정도에 기초하여 실제로 해당 컴퓨팅 자원을 관리하는 과정을 포함한다.
첫번째 과정에서, 모바일 기기의 터치 스크린이 터치된 이벤트에 대해 전기적 신호를 발생시켜서 터치 패턴 인식수단(후술하는 패턴 인식부에 대응함)로 전달하면, 터치 패턴 인식기가 패턴의 종류를 인식한다. 터치 패턴 인식수단은 전기적 신호에 대해 순간적 상호작용, 연속적 상호작용, 및 멀티터치 상호작용 중 어느 하나의 패턴으로 인식한다.
두번째 과정에서, 자원 할당 결정수단(후술하는 자원 결정부에 대응함)이 인식된 터치 패턴에 따라 요구되는 CPU 시간, CPU 주파수, 메모리 대역폭, 네트워크 대역폭을 현재 모바일 기기의 하드웨어 특성에 따라 학습에 기반하여 결정한다. 자원 할당 결정수단은 인식한 터치 패턴이 지속되는 시간이 증가함에 따라 점진적으로 CPU 시간, CPU 주파수, 메모리 대역폭, 네트워크 대역폭을 부가적으로 할당한다.
세번째 과정에서, 결정된 CPU 시간, CPU 주파수, 메모리 대역폭, 네트워크 대역폭을 각각 CPU 스케줄러(후술하는 스케줄러에 대응함), CPU 주파수 제어기(후술하는 CPU 주파수 제어모듈에 대응함), 메모리 할당기(후술하는 메모리 할당모듈에 대응함), 네트워크 대역폭 제어기(후술하는 대역폭 제어모듈에 대응함)에 전달하여 각 컴퓨팅 자원을 할당한다.
본 발명에 대한 동작을 상세하게 설명하면 다음과 같다. 사용자가 터치기반 모바일 기기에 특정 상호작용을 수행하였을 때, 해당 모바일 기기의 터치스크린은 상호작용에 대한 전기적 신호를 터치 패턴 인식수단에 전달한다. 전기적 신호는 터치가 발생한 좌표들의 시퀀스로 구성된다. 터치 패턴 인식수단은 전기적 신호를 분석하여 해당 신호가 미리 정의된 세가지 상호작용 중 하나에 속하는지 판별한다. 만약 속하지 않는다면, 기존 운영체제가 정적으로 결정한 컴퓨팅 자원을 할당한다. 반면 속한다면, 인식된 결과는 자원 할당 결정수단에 전달된다. 자원 할당 결정수단은 학습에 의해 결정된 상호작용 패턴 별 자원 할당모델이 저장되어 있다. 이 모델은 시간의 함수로, 사용자의 상호작용이 오래 지속된다면 각 할당 자원에 대해 시간에 선형적인 게인(gain) 값을 곱하여 점진적으로 자원을 할당할 수 있다. 자원 할당 결정수단에서 할당할 자원이 결정되면 이 정보는 각 자원을 담당하고 있는 구성요소로 전달된다. CPU 자원의 경우, 사용자가 상호작용 하고 있는 응용 어플리케이션이 받아야 하는 CPU 시간과 주파수가 각각 CPU 스케줄러와 CPU 주파수 제어기에 전달된다. 메모리 자원의 경우, 메모리 할당자는 사용자가 상호작용하는 응용 어플리케이션이 특정 저장영역 이상의 메모리의 사용을 보장받을 수 있도록 메모리의 저장영역을 할당한다. 네트워크 자원인 모뎀의 경우, 네트워크 대역폭 제어기는 사용자가 상호작용하는 응용 어플리케이션이 특정 대역폭 이상의 네트워크 사용을 보장받을 수 있도록 모뎀의 네트워크 대역폭을 할당한다.
전술한 바와 같이, 본 발명에서 인식하는 세 가지 사용자 상호작용 패턴은 순간적 상호작용, 연속적 상호작용 및 멀티터치 상호작용을 포함한다.
순간적 상호작용 패턴은 사용자가 매우 짧은 시간 안에 즉각적인 응답을 원하는 패턴이다. 예를 들어, 텝(Tap), 드블텝(Double Tap), 텝앤홀드(Tap & Hold)가 순산적 상호작용 패턴에 속한다. 이러한 상호작용 패턴은 주로 CPU 집중적, 메모리 집중적, 네트워크 집중적 워크로드를 동반한다. 예를 들면, 웹 브라우저에서 새로운 URL에 들어갈 때, 검색을 수행할 때, 응용 소프트웨어를 실행할 때, 응용 내에서 특정 버튼이나 아이콘을 선택할 때, 응용 내에서 타이핑을 칠 때 사용된다.
연속적 상호작용 패턴은 사용자가 상대적으로 긴 시간 동안 계속적으로 상호작용을 하는 패턴이다. 예를 들어, 드레그(Drag)와 플릭(Flick)이 연속적 상호작용 패턴에 속한다. 이러한 상호작용 패턴은 주로 CPU 집중적, 메모리 집중적, 네트워크 집중적 워크로드를 동반하며 특히 상호작용 지속시간이 길어질수록 CPU 자원은 많이, 네트워크 자원은 조금 요구된다. 예를 들면, 웹 브라우저에서 이미 로딩된 화면을 위 아래로 탐색할 때, 웹 브라우저에서 다른 페이지로 이동할 때, 갤러리에서 이미지를 탐색할 때, 게임에서 캐릭터를 움직일 때, 그림 그리기 응용에서 선을 그릴 때 사용된다.
멀티터치 상호작용 패턴은 사용자가 두 개 이상의 손가락을 이용해 상대적으로 긴 시간 동안 상호작용을 하는 패턴이다. 예를 들어, 핀치앤스프레드(Pinch & Spread)와 회전(Rotate)이 멀티터치 상호작용 패턴에 속한다. 이러한 상호작용 패턴은 주로 CPU 집중적, 메모리 집중적 워크로드를 동반하며 특히 상호작용 지속시간이 길어질수록 메모리 자원이 많이 요구된다. 예를 들면, 다양한 응용에서 확대, 축소, 회전을 할 때 사용되고 특히 그림 그리기 응용과 갤러리 응용에서 유용한 상호작용이다.
이하에서는 세 가지 사용자 상호작용 패턴에 따른 자원할당정책을 설명한다. 세 가지로 분류된 상호작용 패턴 각각에 대한 자원할당 정책은 터치기반 멀티태스킹 모바일 기기를 설계할 때 학습을 통해 결정될 수 있으며 구체적인 실시 예는 다음과 같이 예시할 수 있다.
첫번째, 순간적 상호작용 패턴의 경우에, 상호작용이 발생한 응용 어플리케이션에 대한 CPU, 메모리, 네트워크 자원할당 정도를 다음과 같이 증가시킨다.
CPU 스케줄러는 CPU 에 대해, 해당 응용 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 응용 어플리케이션의 우선순위를 최대값으로 즉각 상승시킨다. 또한, CPU 주파수 제어기는 해당 응용 어플리케이션이 보다 빠른 수행을 할 수 있도록 상호작용이 발생한 시점부터 응용 어플리케이션이 수행 중인 CPU 클럭 주파수를 최대값으로 즉각 상승시킨다. 또한, 메모리 할당기는 해당 응용 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 응용 어플리케이션이 사용 가능한 메모리 사용영역을 최대값으로 즉각 상승시킨다. 또한, 네트워크 대역폭 제어기는 해당 응용 어플리케이션이 빠르게 응답할 수 있도록 응용 어플리케이션의 사용 가능한 네트워크 대역폭을 최대값으로 즉각 상승시킨다.
두번째, 연속적 상호작용 패턴의 경우에, 상호작용이 발생한 응용 어플리케이션에 대한 CPU, 메모리, 네트워크 자원할당 정도를 다음과 같이 증가시킨다.
CPU 스케줄러는 해당 응용 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 응용의 우선순위를 시간에 양수 게인(gain) 값을 곱한 값으로 점진적 보정시킨다. 즉, 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 높은 우선순위를 할당하여 많은 CPU 시간을 보장한다. 단, 보정되는 우선순위는 시스템 관리자가 정해놓은 최대값을 넘어설 수 없다. 또한, CPU 주파수 제어기는 해당 응용 어플리케이션이 보다 빠른 수행을 할 수 있도록 상호작용이 발생한 시점부터 응용 어플리케이션이 수행 중인 CPU 클락 주파수를 최대값으로 즉각 상승시킨다. 또한, 메모리 할당기는 해당 응용 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 응용 어플리케이션이 사용 가능한 메모리 사용영역을 최대값으로 즉각 상승시킨다. 네트워크 대역폭 제어기는 해당 응용 어플리케이션에게 보다 많은 네트워크 시간을 할당할 수 있도록 응용 어플리케이션의 우선 순위를 시간에 음수 게인(gain) 값을 곱한 값으로 점진적 보정시킨다. 즉, 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 작은 네트워크 대역폭을 응용에게 할당한다. 단, 보정되는 네트워크 대역폭은 응용 어플리케이션의 원래 할당받은 네트워크 대역폭보다 작아질 수 없다. 또한, 네트워크 대역폭 제어기는 연속적 상호작용의 지속시간이 특정 문턱 값보다 길어지면 네트워크 대역폭을 최소화함으로써, Communication Processor(CP)를 저전력 모드로 전환하여 모바일 장치의 전력 효율을 향상시킨다.
세번째, 멀티터치 상호작용 패턴의 경우에, 상호작용이 발생한 응용 어플리케이션에 대한 CPU, 메모리, 네트워크 자원할당 정도를 다음과 같이 증가시킨다.
CPU 스케줄러는 해당 응용 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 응용 어플리케이션의 우선순위를 최대값으로 즉각 상승시킨다. 또한, CPU 주파수 제어기는 해당 응용 어플리케이션이 보다 빠른 수행을 할 수 있도록 상호작용이 발생한 시점부터 응용이 수행 중인 CPU 클럭 주파수를 최대값으로 즉각 상승시킨다. 또한, 메모리 할당기는 해당 응용 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 응용이 사용 가능한 메모리 사용영역을 시간에 양수 게인(gain) 값을 곱한 값으로 점진적 보정시킨다. 즉, 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 큰 메모리 영역을 할당한다. 단, 보정되는 메모리 영역은 시스템 관리자가 정해놓은 최대값을 넘어설 수 없다. 한편, 네트워크 대역폭 제어기는 멀티터치 상호작용패턴인 경우에 네트워크 자원이 추가적으로 조정될 필요가 없으므로, 기존에 설정되어 있던 네트워크 대역폭을 유지하는 정도에서 별도의 자원을 할당하지는 않는다.
도 3은 본 발명에 따른 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법을 설명하기 위한 일 실시예의 플로차트이다.
사용자의 멀티태스킹을 위한 상호작용에 해당하는 터치신호를 모바일 기기의 터치 스크린을 통해 수신하면, 터치패턴 인식수단은 상기 터치신호에 대응하는 상호작용 패턴을 인식한다(S100 단계). 사용자가 모바일 기기의 터치 스크린에 멀티태스킹을 위한 터치를 하게 되면, 터치 스크린은 사용자의 터치에 따라, 이에 대응하는 터치신호 즉, 전기적 신호를 발생시킨다. S100 단계는 이러한 전기적 신호로부터 사용자의 모바일 기기에 대한 상호작용에 대응하는 패턴을 인식한다.
도 4는 도 3에 도시된 상호작용 패턴을 인식하는 단계를 설명하기 위한 일 실시예의 플로차트이다.
터치패턴 인식수단은 상기 터치신호로부터 터치가 발생한 상기 터치 스크린의 좌표들의 시퀀스, 터치 지속시간, 터치 가속도 및 멀티 터치 여부 중 어느 하나 이상의 정보를 검출한다(S200 단계). 여기서, 시퀀스 정보는 사용자의 터치수단(예를 들어, 손가락, 팬 등)이 터치 스크린에 터치한 위치에 해당하는 좌표값을 의미하고, 터치 지속시간은 사용자의 터치수단이 터치 스크린에 접촉한 상태에서의 머무는 시간을 의미하며, 터치 가속도는 사용자의 터치수단이 터치 스크린 상에서 터치 순간에 일어나는 속도 변화값을 의미하고, 멀티 터치는 터치 스크린 상에서 2 이상의 터치수단이 동시에 접촉하고 있는 상태를 의미한다.
S200 단계 후에, 터치패턴 인식수단은 검출된 정보로부터, 터치신호에 대응하는 상호작용 패턴을 인식한다(S202 단계). 이러한 상호작용 패턴의 일 예로서, 순간적 상호작용패턴, 연속적 상호작용패턴 및 멀티터치 상호작용패턴 등을 포함한다.
도 5는 상호작용 패턴으로서, 순간적 상호작용패턴, 연속적 상호작용패턴 및 멀티터치 상호작용패턴에 대해 예시한 참조도이다.
도 5에 도시된 바와 같이, 순간적 상호작용패턴은 텝(Tap; 300), 더블 텝(Double Tap; 302) 및 텝 홀드(Tap & Hold; 304) 등을 포함한다. 텝(Tap; 300)은 터치 스크린에 사용자의 터치수단(예를 들어, 손가락, 팬 등)을 순간적으로 한번 접촉하는 패턴이고, 더블 텝(Double Tap; 302)은 터치 스크린에 사용자의 터치수단을 순간적으로 두번 접촉하는 패턴이고, 텝 홀드(Tap & Hold; 304)는 터치 스크린에 사용자의 터치수단을 접촉한 상태에서 해당 접촉 상태를 유지하고 있는 패턴을 의미한다.
또한, 도 5에 도시된 바와 같이, 연속적 상호작용패턴은 드레그(Drag; 310) 및 플릭(Flick; 312) 등을 포함한다. 드레그(Drag; 310)는 터치 스크린에 사용자의 터치수단을 접촉한 상태에서 화면 상에서 터치수단을 이동시키는 패턴이고, 플릭(Flick; 312)은 터치 스크린에 사용자의 터치수단을 접촉한 상태에서 터치수단을 화면 상에서 튕기듯이 이동시키는 패턴을 의미한다.
또한, 도 5에 도시된 바와 같이, 멀티터치 상호작용패턴은 핀치 스프레드(Pinch & Spread; 320) 및 회전(Rotate; 322) 등을 포함한다. 핀치 스프레드(Pinch & Spread; 320)는 터치 스크린에 사용자의 터치수단을 2개 이상 접촉한 상태에서 복수의 터치수단들의 상호 간격을 넓히거나 좁히는 방향으로 이동시키는 패턴이고, 회전(Rotate; 322)은 터치 스크린에 사용자의 터치수단을 2개 이상 접촉한 상태에서 복수의 터치수단들을 회전시키는 패턴이다.
S100 단계 후에, 자원 할당 결정수단은 인식된 상호작용 패턴에 대응하는 자원 할당정도를 결정한다(S102 단계). 자원 할당 결정수단은 CPU 자원, 메모리 자원 및 네트워크 자원 등에 대한 자원 할당정도를 결정한다. 이를 위해, 자원 할당 결정수단은 상기 CPU 자원, 상기 메모리 자원 및 상기 네트워크 자원에 대한 하드웨어 특성에 따라 학습된 자원 할당모델에 기초하여 자원 할당을 결정한다. 구체적으로, 상기 자원 할당모델은 상호작용 패턴에 따른 각 자원의 할당정도를 터치기반 모바일 장치 제조사가 설계단계에서 학습한다. 도 6은 상호작용 패턴에 따른 CPU 시간, CPU 클럭 주파수, 메모리 대역폭, 네트워크 대역폭의 할당정도를 학습한 자원 할당 모델을 설명하기 위한 참조도이다.
도 6을 참조하여, 자원 할당 결정수단의 기능을 설명하면 다음과 같다.
자원 할당 결정수단은 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, 순간적 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 CPU 자원에 대한 할당 순위를 최우선 순위로 결정한다. CPU 할당 순위가 최우선 순위가 된다는 것은 해당 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 응용 어플리케이션의 우선순위를 최대값으로 상승시키는 것을 의미한다.
또한, 자원 할당 결정수단은 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, 순간적 상호작용패턴에 따른 어플리케이션의 동작을 위해, CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정한다. CPU 클럭 주파수가 최대값이 된다는 것은 해당 어플리케이션이 보다 빠른 수행을 할 수 있도록 상호작용이 발생한 시점부터 CPU 의 구동 성능을 최대화하는 것을 의미한다.
또한, 자원 할당 결정수단은 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, 순간적 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 메모리 자원에 대한 할당 사용영역을 가능한 최대 사용영역으로 결정한다. 메모리에 대해 최대 사용영역으로 결정된다는 것은 해당 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 사용 가능한 메모리의 영역을 최대화하는 것을 의미한다.
또한, 자원 할당 결정수단은 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, 순간적 상호작용패턴에 따른 어플리케이션의 동작을 위해, 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최대 네트워크 대역폭으로 결정한다. 최대 네트워크 대역폭으로 결정된다는 것은 해당 어플리케이션이 네트워크로 연결된 다른 기기들과 사이에서 고속의 데이터 교환이 가능하도록 사용 가능한 네트워크 대역폭을 최대화하는 것을 의미한다.
한편, 자원 할당 결정수단은 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, 연속적 상호작용패턴에 따른 어플리케이션의 동작을 위해, CPU 자원에 대한 할당 순위를 연속적 상호작용패턴의 지속 시간에 비례하여 높은 순위를 갖도록 결정한다. 자원 할당 결정수단은 해당 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 하기 위해, 시간에 양수 게인(gain) 값을 곱한 값만큼 비례적으로 높은 우선 순위를 갖도록 결정한다. 따라서, 자원 할당 결정수단은 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 높은 우선순위를 갖도록 함으로써, 많은 CPU 시간을 보장한다. 이때, 자원 할당 결정수단은 연속적 상호작용패턴에 부여하는 우선순위에 대해, 미리 정해놓은 최대 우선순위를 넘지 않도록 하는 임계값을 설정할 수 있다.
또한, 자원 할당 결정수단은 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, 연속적 상호작용패턴에 따른 어플리케이션의 동작을 위해, CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정한다. 자원 할당 결정수단은 CPU 클럭 주파수를 최대화함으로써, 상호작용이 발생한 시점부터 CPU가 고속으로 구동하도록 한다.
또한, 자원 할당 결정수단은 연속적 상호작용패턴에 해당하는 경우에, 상기 연속적 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 메모리 자원에 대한 할당 사용영역을 가능한 최대 사용영역으로 결정한다. 자원 할당 결정수단은 해당 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 어플리케이션이 사용 가능한 메모리 사용영역을 최대값으로 결정한다.
또한, 자원 할당 결정수단은 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, 연속적 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 연속적 상호작용패턴의 지속 시간에 반비례하는 네트워크 대역폭을 갖도록 결정한다. 자원 할당 결정수단은 해당 어플리케이션에게 보다 많은 네트워크 시간을 할당할 수 있도록, 어플리케이션의 우선 순위를 시간에 음수 게인(gain) 값을 곱한 값만큼 점진적으로 보정시킨다. 즉, 자원 할당 결정수단은 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 작은 네트워크 대역폭을 어플리케이션에게 할당하도록 결정한다. 단, 자원 할당 결정수단은 보정되는 네트워크 대역폭이 어플리케이션의 원래 할당받은 네트워크 대역폭보다 작아지지 않도록 결정한다.
또한, 자원 할당 결정수단은 상호작용 패턴이 연속적 상호작용패턴에 해당하고, 연속적 상호작용패턴의 지속 시간이 일정 임계시간을 초과한다면, 연속적 상호작용패턴에 따른 어플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최소 네트워크 대역폭을 갖도록 결정한다. 자원 할당 결정수단은 연속적 상호작용의 지속시간이 특정 문턱 값보다 길어지면 네트워크 대역폭을 최소화함으로써, Communication Processor(CP)를 저전력 모드로 전환하여 모바일 기기의 전력 효율을 높일 수 있도록 한다.
한편, 자원 할당 결정수단은 상호작용 패턴이 멀티터치 상호작용패턴에 해당하는 경우에, 멀티터치 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 CPU 자원에 대한 할당 순위를 최우선 순위로 결정한다. 멀티터치 상호작용패턴의 경우에, CPU 자원에 대한 할당 순위를 결정하는 방식은 순간적 상호작용패턴에서의 방식과 동일하다.
또한, 자원 할당 결정수단은 상호작용 패턴이 멀티터치 상호작용패턴에 해당하는 경우에, 멀티터치 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정한다. 멀티터치 상호작용패턴의 경우에, CPU 자원에 대한 CPU 클럭 주파수를 결정하는 방식은 순간적 상호작용패턴에서의 방식과 동일하다.
또한, 자원 할당 결정수단은 상호작용 패턴이 멀티터치 상호작용패턴에 해당하는 경우에, 멀티터치 상호작용패턴에 따른 어플리케이션의 동작을 위해, 상기 메모리 자원에 대한 할당 사용영역을 멀티터치 상호작용패턴의 지속 시간에 비례하여 많은 사용영역을 갖도록 결정한다. 자원 할당 결정수단은 해당 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 응용이 사용 가능한 메모리 사용영역을 시간에 양수 게인(gain) 값을 곱한 값으로 점진적 보정시킨다. 즉, 자원 할당 결정수단은 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 큰 메모리 영역을 할당받을 수 있도록 메모리 사용영역을 결정한다. 단, 자원 할당 결정수단은 보정되는 메모리 영역이 미리 정해놓은 최대 영역을 넘어설 수 없도록 설정할 수 있다. 한편, 자원 할당 결정수단은 멀티터치 상호작용패턴인 경우에 네트워크 자원이 추가적으로 조정될 필요가 없으므로, 기존에 설정되어 있던 네트워크 대역폭을 유지하는 정도에서 별도의 자원을 할당하지는 않는다.
S102 단계 후에, 결정된 상기 자원 할당정도에 따라, 상기 모바일 기기의 자원을 할당한다(S104 단계). 자원 할당 결정수단에서 할당할 자원이 결정되면, 결정된 CPU 시간, CPU 주파수, 메모리 사용영역, 네트워크 대역폭에 대한 할당정도 결정정보는 각각 CPU 스케줄러, CPU 주파수 제어기, 메모리 할당기, 네트워크 대역폭 제어기에 전달된다. CPU 스케줄러는 결정된 CPU 시간에 대응하여 CPU에 대한 구동 시간을 스케줄링한다. CPU 주파수 제어기는 결정된 CPU 주파수에 따라 CPU가 구동되도록 CPU로 해당 주파수 신호를 출력한다. 메모리 할당기는 결정된 메모리 사용영역에 따라, 어플리케이션의 실행을 위해 필요한 메모리의 사용영역을 할당한다. 네트워크 대역폭 제어기는 결정된 네트워크 대역폭에 따라, 어플리케이션이 특정 대역폭 이상의 네트워크 사용을 보장받을 수 있도록 모뎀의 네트워크 대역폭을 할당한다.
도 7은 상호작용 패턴에 따른 CPU, 메모리, 네트워크에 대한 자원 할당을 예시한 참조도이다. 사용자는 자신의 모바일 기기에 탑재된 멀티 윈도우 기능을 이용하여 동영상 재생 어플리케이션과 노트필기 어플리케이션을 동시에 실행 중이라고 가정한다. 도 7 (a)는 사용자의 상호작용이 없을 때에 해당하는 자원 할당을 예시하는 것으로, 각 자원에 대한 할당은 종래기술의 그것과 동일하다. 실시 예에서는 모바일 기기의 화면을 점유하고 있는 모든 응용에게 동일한 CPU 시간(400), CPU 클럭 주파수(402), 메모리 사용영역(404), 네트워크 대역폭(406)을 할당한다고 가정한다. 반면, 도 7(b)는 사용자가 노트필기 어플리케이션을 구동하여 선을 그릴 때(즉 연속적 상호작용을 했을 때), 각 자원에 대한 할당을 예시한 것이다. 도 7(b)에 도시된 바와 같이, CPU 시간(410)의 경우, 본 발명의 자원할당정책에 따라 노트필기 어플리케이션의 우선순위가 상승되어 다른 어플리케이션(즉, 동영상 재생 어플리케이션)에 비해 상대적으로 높은 중요도가 할당되어 결과적으로 보다 많은 CPU 시간을 사용하도록 보장받는다. 특히, 사용자가 상호작용을 지속하는 시간이 증가할수록 보다 많은 CPU 시간을 보장받는다. CPU 클럭 주파수(412)의 경우, 본 발명의 자원할당정책에 따라 상호작용을 시작하는 시점부터 클럭 주파수가 최대값으로 증가하여 노트필기 어플리케이션이 보다 빠르게 동작할 수 있다. 메모리 사용영역(414)의 경우, 본 발명의 자원할당정책에 따라 노트필기 어플리케이션의 사용 가능한 메모리 영역이 증가하여 보다 많은 메모리 영역을 사용할 수 있다. 네트워크 대역폭(416)의 경우, 본 발명의 자원할당정책에 따라 노트필기 어플리케이션의 사용 가능 네트워크 대역폭이 일시적으로 증가하지만 상호작용 지속시간이 증가하면서 다시 원래의 대역폭으로 줄어든다.
 
도 8은 본 발명에 따른 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당장치를 설명하기 위한 일 실시예의 블록도로서, 패턴 인식부(510), 자원 결정부(520) 및 자원 할당부(530)을 포함한다. 또한, 본원발명을 설명하기 위한 부수적인 구성요소로서, 터치 스크린(500), CPU(540), 메모리(550) 및 모뎀(560)을 등을 포함한다.
터치 스크린(500)은 사용자가 터치 수단(예를 들어, 손가락, 팬 등)에 의해, 모바일 기기의 디스플레이 화면을 터치하는 경우에, 터치 수단에 의한 접촉을 감지하고, 해당 감지 결과에 대응하는 전기적 신호(즉, 터치신호)를 발생시켜서 패턴 인식부(510)로 전달한다. 터치 스크린(500)의 기능 및 구조는 종래의 일반적인 내용에 해당하므로 상세한 설명은 생략한다. 또한, CPU(540), 메모리(550) 및 모뎀(560)의 기능 및 구조도 종래의 일반적인 내용에 해당하므로 상세한 설명은 생략한다.
패턴 인식부(510)는 사용자의 멀티태스킹을 위한 상호작용에 해당하는 터치신호가 터치 스크린(500)을 통해 감지되면, 감지된 터치신호에 따라 터치신호에 대응하는 상호작용 패턴을 인식하고, 인식된 결과를 자원 결정부(520)로 전달한다.
도 9는 도 8에 도시된 패턴 인식부(510)를 설명하기 위한 일 실시예의 블록도로서, 터치정보 검출모듈(600) 및 패턴 인식모듈(610)을 포함한다.
터치정보 검출모듈(600)은 터치가 발생한 터치 스크린의 좌표들의 시퀀스, 터치 지속시간, 터치 가속도 및 멀티 터치 여부 등에 대한 정보를 검출하고, 검출정보를 패턴 인식모듈(610)로 전달한다. 터치정보 검출모듈(600)은 좌표들의 시퀀스, 터치 지속시간, 터치 가속도 및 멀티 터치 여부를 검출하기 위한 하드웨어 자원 및/또는 소프트웨어 자원을 구비하고 있다. 터치정보 검출모듈(600)은 시퀀스 정보로서 터치수단(예를 들어, 손가락, 팬 등)이 터치 스크린에 터치한 위치에 해당하는 좌표값을 검출하고, 터치 지속시간정보로서 터치수단이 터치 스크린에 접촉한 상태를 유지하는 시간을 검출하고, 터치 가속도정보로서 터치수단이 터치 스크린 상에서 터치 순간에 일어나는 속도 변화값을 검출하고, 멀티 터치정보로서 터치 스크린 상에서 2 이상의 터치수단이 동시에 접촉하고 있는 상태정보를 검출한다.
패턴 인식모듈(610)은 터치정보 검출모듈(600)에서 검출된 정보로부터 터치신호에 대응하는 상호작용 패턴을 인식하고, 인식된 상호작용패턴의 정보를 자원 결정부(520)로 전달한다.
패턴 인식모듈(610)은 상호작용패턴으로서 순간적 상호작용패턴, 연속적 상호작용패턴 및 멀티터치 상호작용패턴 중 어느 하나를 인식한다.
패턴 인식모듈(610)은 순간적 상호작용패턴으로서 텝(Tap), 더블 텝(Double Tap) 또는 텝 홀드(Tap & Hold) 등을 인식한다. 또한, 패턴 인식모듈(610)은 연속적 상호작용패턴으로서 드레그(Drag) 또는 플릭(Flick) 등을 인식한다. 또한, 패턴 인식모듈(610)은 멀티터치 상호작용패턴으로서 핀치 스프레드(Pinch & Spread) 또는 회전(Rotate) 등을 인식한다.
패턴 인식모듈(610)은 터치 스크린에 터치수단이 순간적으로 한번 접촉하는 경우에 텝(Tap) 패턴으로 인식하고, 터치 스크린에 터치수단이 순간적으로 두번 접촉하는 경우에 더블 텝(Double Tap) 패턴으로 인식하고, 터치 스크린에 터치수단이 접촉한 상태에서 해당 접촉 상태를 유지하고 있는 경우에 텝 홀드(Tap & Hold) 패턴으로 인식한다.
또한, 패턴 인식모듈(610)은 터치 스크린에 터치수단이 접촉한 상태에서 이동하는 경우에 드레그(Drag) 패턴으로 인식하고, 터치 스크린에 터치수단이 접촉한 상태에서 튕기듯이 이동하는 경우에 플릭(Flick) 패턴으로 인식한다.
또한, 패턴 인식모듈(610)은 터치 스크린에 터치수단이 2개 이상 접촉한 상태에서 터치수단들의 상호 간격이 넓혀지거나 좁혀지는 방향으로 이동하는 경우에 핀치 스프레드(Pinch & Spread) 패턴으로 인식하고, 터치 스크린에 터치수단이 2개 이상 접촉한 상태에서 회전하는 경우에 회전(Rotate) 패턴으로 인식한다.
자원 결정부(520)는 패턴 인식부(510)에서 인식된 상호작용패턴에 대응하는 자원 할당정도를 결정하고, 결정된 자원 할당정도의 정보를 자원 할당부(530)에 전달한다.
자원 결정부(520)는 CPU 자원, 메모리 자원 및 네트워크 자원 등에 대한 자원 할당정도를 결정한다.
자원 결정부(520)는 CPU 자원, 메모리 자원 및 네트워크 자원에 대한 하드웨어 특성에 따라 학습된 자원 할당모델에 기초하여 결정한다. 자원 결정부(520)는 장치 제조사가 설계단계에서 학습한 자원 할당모델에 기반하여, 상호작용 패턴에 따른 각 자원의 할당정도를 결정한다.
자원 결정부(520)는 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, CPU 자원에 대한 할당 순위를 최우선 순위로 결정한다. 자원 결정부(520)는 순간적 상호작용패턴의 수행을 위한 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 어플리케이션의 우선순위를 최우선 순위로 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정한다. 자원 결정부(520)는 순간적 상호작용패턴의 수행을 위한 어플리케이션이 보다 빨리 동작할 수 있도록, 상호작용이 발생한 시점부터 CPU 클럭 주파수를 최대값으로 결정한다.
또한, 자원 결정부(520)는 상호작용패턴이 순간적 상호작용패턴에 해당하는 경우에, 메모리 자원에 대한 할당 사용영역을 가능한 최대 사용영역으로 결정한다. 자원 결정부(520)는 순간적 상호작용패턴을 수행하기 위한 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 사용 가능한 메모리의 영역을 최대화하도록 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 순간적 상호작용패턴에 해당하는 경우에, 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최대 네트워크 대역폭으로 결정한다. 자원 결정부(520)는 순간적 상호작용패턴을 수행하기 위한 어플리케이션이 네트워크로 연결된 다른 기기들과 사이에서 고속의 데이터 교환이 가능하도록, 사용 가능한 네트워크 대역폭을 최대화하도록 결정한다.
한편, 자원 결정부(520)는 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, CPU 자원에 대한 할당 순위를 연속적 상호작용패턴의 지속 시간에 비례하여 높은 순위를 갖도록 결정한다. 자원 결정부(520)는 연속적 상호작용패턴을 수행하기 위한 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 하기 위해, 시간에 양수 게인(gain) 값을 곱한 값만큼 비례적으로 높은 우선 순위를 갖도록 결정한다. 따라서, 자원 결정부(520)는 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 높은 우선순위를 갖도록 함으로써, 많은 CPU 시간을 보장한다. 이때, 자원 결정부(520)는 연속적 상호작용패턴에 부여하는 우선순위에 대해, 미리 정해놓은 최대 우선순위를 넘지 않도록 하는 임계값을 설정할 수 있다.
또한, 자원 결정부(520)는 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정한다. 자원 결정부(520)는 상호작용이 발생한 시점부터 CPU가 고속으로 구동하도록 하기 위해 CPU 클럭 주파수를 최대값으로 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, 상기 메모리 자원에 대한 할당 사용영역을 가능한 최대 사용영역으로 결정한다. 자원 결정부(520)는 연속적 상호작용패턴을 수행하기 위한 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 어플리케이션이 사용 가능한 메모리 사용영역을 최대값으로 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 연속적 상호작용패턴에 해당하는 경우에, 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 연속적 상호작용패턴의 지속 시간에 반비례하는 네트워크 대역폭을 갖도록 결정한다. 자원 결정부(520)는 연속적 상호작용패턴을 수행하기 위한 어플리케이션에게 보다 많은 네트워크 시간을 할당할 수 있도록, 어플리케이션의 우선 순위를 시간에 음수 게인(gain) 값을 곱한 값만큼 점진적으로 보정시킨다. 즉, 자원 결정부(520)는 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 작은 네트워크 대역폭을 어플리케이션에게 할당하도록 결정한다. 단, 자원 결정부(520)는 보정되는 네트워크 대역폭이 어플리케이션의 원래 할당받은 네트워크 대역폭보다 작아지지 않도록 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 연속적 상호작용패턴에 해당하고, 연속적 상호작용패턴의 지속 시간이 일정 임계시간을 초과한다면, 연속적 상호작용패턴에 따른 어플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최소 네트워크 대역폭을 갖도록 결정한다. 연속적 상호작용패턴의 지속 시간이 일정 임계시간을 초과하는지 여부는 전술한 패턴 인식부(510)에서 검출한다. 자원 결정부(520)는 연속적 상호작용의 지속시간이 일정 임계시간보다 길어지면 Communication Processor(CP)를 저전력 모드로 전환하도록 네트워크 대역폭을 최소화로 결정한다.
한편, 자원 결정부(520)는 상호작용 패턴이 멀티터치 상호작용패턴에 해당하는 경우에, 상기 CPU 자원에 대한 할당 순위를 최우선 순위로 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 멀티터치 상호작용패턴에 해당하는 경우에, 상기 CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정한다.
또한, 자원 결정부(520)는 상호작용 패턴이 멀티터치 상호작용패턴에 해당하는 경우에, 상기 메모리 자원에 대한 할당 사용영역을 멀티터치 상호작용패턴의 지속 시간에 비례하여 많은 사용영역을 갖도록 결정한다. 자원 결정부(520)는 멀티터치 상호작용패턴을 수행하기 위한 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 어플리케이션이 사용 가능한 메모리 사용영역을 시간에 양수 게인(gain) 값을 곱한 값으로 점진적 보정시킨다. 즉, 자원 결정부(520)는 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 큰 메모리 영역을 할당받을 수 있도록 메모리 사용영역을 결정한다. 단, 자원 결정부(520)는 보정되는 메모리 영역이 미리 정해놓은 최대 영역을 넘어설 수 없도록 설정할 수 있다. 한편, 자원 결정부(520)는 멀티터치 상호작용패턴인 경우에 네트워크 자원이 추가적으로 조정될 필요가 없으므로, 기존에 설정되어 있던 네트워크 대역폭을 유지하는 정도에서 별도의 자원을 할당하지는 않는다.
자원 할당부(530)는 자원 결정부(520)에서 결정된 자원 할당정도에 따라, 모바일 기기의 자원을 할당하고, 할당을 위한 신호를 각각 CPU(540), 메모리(550) 및 모뎀(560)으로 전달한다. 이를 위해, 자원 할당부(530)는 스케줄러(532), CPU 주파수 제어모듈(534), 메모리 할당모듈(536) 및 대역폭 제어모듈(538)을 포함한다.
스케줄러(532)는 자원 할당정도에 따라, CPU에 대한 할당 시간을 스케줄링하고, 스케줄링 신호를 CPU(540)로 출력한다.
순간적 상호작용 패턴 또는 멀티터치 상호작용 패턴 중 어느 하나인 경우에, 스케줄러(532)는 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 어플리케이션의 우선순위를 최대값으로 즉각 상승시킨다.
또한, 연속적 상호작용 패턴의 경우에, 스케줄러(532)는 어플리케이션에게 보다 많은 CPU 시간을 할당할 수 있도록 어플리케이션의 우선순위를 지속시간에 비례하도록 점진적 증가시킨다.
CPU 주파수 제어모듈(534)은 자원 할당정도에 따라, CPU에 대한 클럭 주파수신호를 CPU로 출력한다.
순간적 상호작용 패턴, 연속적 상호작용 패턴 및 멀티터치 상호작용패턴 중 어느 하나인 경우에, CPU 주파수 제어모듈(534)은 어플리케이션이 보다 빠른 수행을 할 수 있도록 상호작용이 발생한 시점부터 어플리케이션이 수행 중인 CPU 클럭 주파수를 최대값으로 즉각 상승시킨다.
메모리 할당모듈(536)은 자원 할당정도에 따라, 메모리에 대한 사용영역을 할당하기 위한 신호를 메모리(550)로 출력한다.
순간적 상호작용 패턴 또는 연속적 상호작용 패턴 중 어느 하나인 경우에, 메모리 할당모듈(536)은 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 어플리케이션이 사용 가능한 메모리 사용영역을 최대값으로 즉각 상승시킨다.
또한, 멀티터치 상호작용패턴의 경우에, 메모리 할당모듈(536)은 어플리케이션이 충분한 메모리 사용을 보장받을 수 있도록 응용이 사용 가능한 메모리 사용영역을 지속시간에 비례하도록 점진적 증가시킨다. 즉, 메모리 할당모듈(536)은 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 큰 메모리 영역을 할당한다.
대역폭 제어모듈(538)은 자원 할당정도에 따라, 모뎀(560)에 대한 네트워크 대역폭을 할당하기 위한 신호를 모뎀(560)으로 출력한다.
순간적 상호작용 패턴의 경우에, 대역폭 제어모듈(538)은 어플리케이션이 빠르게 응답할 수 있도록 어플리케이션의 사용 가능한 네트워크 대역폭을 최대값으로 즉각 상승시킨다.
또한, 연속적 상호작용 패턴의 경우에, 대역폭 제어모듈(538)은 어플리케이션에게 보다 많은 네트워크 시간을 할당할 수 있도록 어플리케이션의 우선 순위를 시간에 음수 게인(gain) 값을 곱한 값으로 점진적 보정시킨다. 즉, 대역폭 제어모듈(538)은 사용자 상호작용 지속 시간이 길어지면 길어질수록 보다 작은 네트워크 대역폭을 어플리케이션에게 할당한다.
또한, 연속적 상호작용 패턴의 경우에, 대역폭 제어모듈(538)은 연속적 상호작용의 지속시간이 일정 임계시간보다 길어지면 네트워크 대역폭을 최소화한다.
한편, 멀티터치 상호작용 패턴의 경우에, 대역폭 제어모듈(538)은 네트워크 자원이 추가적으로 조정될 필요가 없으므로, 기존에 설정되어 있던 네트워크 대역폭을 유지하는 정도에서 별도의 자원을 할당하지는 않는다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 일 예로, 본 발명의 실시예들에서는 경우로 설명하였으나 본 발명의 보호범위는 반드시 이에 한정되지는 않을 것이다.
본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금, 본 발명의 청구항 및/또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM, Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM, Compact Disc-ROM), 디지털 다목적 디스크(DVDs, Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 전자 장치에 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 전자 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 휴대용 전자 장치에 접속할 수도 있다.
510: 패턴 인식부
520: 자원 결정부
530: 자원 할당부
532: 스케줄러
534: CPU 주파수 제어모듈
536: 메모리 할당모듈
538: 대역폭 제어모듈
600: 터치정보 검출모듈
610: 패턴 인식모듈

Claims (35)

  1. 전자 장치의 자원 할당 방법에 있어서,
    제1 패턴의 터치 입력을 식별하는 과정과,
    상기 제1 패턴의 터치 입력에 대응하는 제1 양의 자원을 할당하는 과정과,
    상기 제1 패턴으로부터 제2 패턴으로의 패턴의 변화를 식별하는 과정과,
    적어도 하나의 하드웨어 요소로 상기 제2 패턴의 터치 입력에 대응하는 제2 양의 자원을 할당하는 과정과,
    상기 자원은 상기 적어도 하나의 하드웨어 요소가 애플리케이션을 실행하기 위해 사용되고,
    상기 자원은 CPU(central processing unit) 자원. 메모리 자원 및 네트워크 자원 중 적어도 하나를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 패턴의 터치 입력을 식별하는 과정은,
    상기 제1 패턴의 터치 입력으로부터 터치가 발생한 터치 스크린의 좌표들의 시퀀스, 터치 지속시간, 터치 가속도 및 멀티 터치 여부 중 어느 하나 이상의 정보를 검출하는 과정과,
    상기 검출된 정보로부터 상기 제1 패턴을 식별하는 과정을 포함하는 방법.
  3. 제2항에 있어서,
    상기 제1 패턴은,
    순간적 상호작용 패턴, 연속적 상호작용 패턴 및 멀티터치 상호작용 패턴 중 어느 하나에 해당하는 방법.
  4. 제3항에 있어서,
    상기 순간적 상호작용 패턴은,
    텝(tap), 더블 텝(double Tap) 및 텝 홀드(tap & hold) 중 적어도 어느 하나 이상에 해당하는 방법.
  5. 제3항에 있어서,
    상기 연속적 상호작용 패턴은,
    드레그(drag) 및 플릭(flick) 중 적어도 어느 하나 이상에 해당하는 방법.
  6. 제3항에 있어서,
    상기 멀티터치 상호작용 패턴은,
    핀치 스프레드(pinch & spread) 및 회전(rotate) 중 적어도 어느 하나 이상에 해당하는 방법.
  7. 제1항에 있어서,
    상기 제2 양의 자원을 할당하는 과정은,
    상기 CPU 자원, 상기 메모리 자원 및 상기 네트워크 자원에 대한 하드웨어 특성에 따라 학습된 자원 할당 모델에 기반하여 결정하는 과정을 포함하는 방법.
  8. 제1항에 있어서,
    상기 제2 패턴이 순간적 상호작용 패턴 및 멀티터치 상호작용 패턴 중 어느 하나에 해당하는 경우, 상기 순간적 상호작용 패턴 또는 상기 멀티터치 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 할당 순위를 최우선 순위로 결정하는 과정을 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 제2 패턴이 상기 순간적 상호작용 패턴 및 상기 멀티터치 상호작용 패턴 중 어느 하나에 해당하는 경우, 상기 순간적 상호작용 패턴 또는 상기 멀티터치 상호작용 패턴에 따른 상기 애플리케이션의 동작을 위한 상기 CPU 자원의 CPU 클럭 주파수를 최대값으로 결정하는 방법.
  10. 제1항에 있어서,
    상기 제2 패턴이 순간적 상호작용 패턴 및 연속적 상호작용 패턴 중 어느 하나에 해당하는 경우, 상기 순간적 상호작용 패턴 또는 상기 연속적 상호작용 패턴에 따른 상기 애플리케이션의 동작을 위한 상기 메모리 자원에 대한 할당 사용영역을 가능한 최대 사용영역으로 결정하는 과정을 더 포함하는 방법.
  11. 제1항에 있어서,
    상기 제2 패턴이 순간적 상호작용 패턴에 해당하는 경우, 상기 순간적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최대 네트워크 대역폭으로 결정하는 과정을 더 포함하는 방법.
  12. 제1항에 있어서,
    상기 제2 패턴이 연속적 상호작용 패턴에 해당하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 할당 순위를 상기 연속적 상호작용 패턴의 지속 시간에 비례하여 높은 순위를 갖도록 결정하는 과정을 더 포함하는 방법.
  13. 제12항에 있어서,
    상기 제2 패턴이 상기 연속적 상호작용 패턴에 해당하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정하는 과정을 더 포함하는 방법.
  14. 제1항에 있어서,
    상기 제2 패턴이 연속적 상호작용 패턴에 해당하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 상기 연속적 상호작용 패턴의 지속 시간에 반비례하는 네트워크 대역폭을 갖도록 결정하는 과정을 더 포함하는 방법.
  15. 제1항에 있어서,
    상기 제2 패턴이 연속적 상호작용 패턴에 해당하고, 상기 연속적 상호작용 패턴의 지속 시간이 일정 임계시간을 초과하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최소 네트워크 대역폭을 갖도록 결정하는 과정을 더 포함하는 방법.
  16. 제1항에 있어서,
    상기 제2 패턴이 멀티터치 상호작용 패턴에 해당하는 경우, 상기 멀티터치 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 메모리 자원에 대한 할당 사용영역을 상기 멀티터치 상호작용 패턴의 지속 시간에 비례하여 많은 사용영역을 갖도록 결정하는 과정을 더 포함하는 방법.
  17. 자원 할당을 위한 전자 장치에 있어서,
    제1 패턴의 터치 입력을 식별하고,
    상기 제1 패턴의 터치 입력에 대응하는 제1 양의 자원을 할당하고,
    상기 제1 패턴으로부터 제2 패턴으로의 패턴의 변화를 식별하고,
    적어도 하나의 하드웨어 요소로 상기 제2 패턴의 터치 입력에 대응하는 제2 양의 자원을 할당하는 적어도 하나의 프로세서를 포함하고,
    상기 자원은 상기 적어도 하나의 하드웨어 요소가 애플리케이션을 실행하기 위해 사용되고,
    상기 자원은 CPU(central processing unit) 자원. 메모리 자원 및 네트워크 자원 중 적어도 하나를 포함하는 전자 장치.
  18. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 패턴의 터치 입력으로부터 터치가 발생한 터치 스크린의 좌표들의 시퀀스, 터치 지속시간, 터치 가속도 및 멀티 터치 여부 중 어느 하나 이상의 정보를 검출하고,
    상기 검출된 정보로부터 상기 제1 패턴을 식별하는 전자 장치.
  19. 제18항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 패턴으로서 순간적 상호작용 패턴, 연속적 상호작용 패턴 및 멀티터치 상호작용 패턴 중 어느 하나를 인식하는 전자 장치.
  20. 제19항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 순간적 상호작용 패턴으로서 텝(tap), 더블 텝(double tap) 및 텝 홀드(tap & hold) 중 적어도 어느 하나 이상을 인식하는 전자 장치.
  21. 제19항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 연속적 상호작용 패턴으로서 드레그(drag) 및 플릭(flick) 중 적어도 어느 하나 이상을 인식하는 전자 장치.
  22. 제19항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 멀티터치 상호작용 패턴으로서 핀치 스프레드(pinch & spread) 및 회전(rotate) 중 적어도 어느 하나 이상을 인식하는 전자 장치.
  23. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 CPU 자원, 상기 메모리 자원 및 상기 네트워크 자원에 대한 하드웨어 특성에 따라 학습된 자원 할당 모델에 기반하여 결정하는 전자 장치.
  24. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 순간적 상호작용 패턴 및 멀티터치 상호작용 패턴 중 어느 하나에 해당하는 경우, 상기 순간적 상호작용 패턴 또는 상기 멀티터치 상호작용 패턴에 따른 상기 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 할당 순위를 최우선 순위로 결정하는 전자 장치.
  25. 제24항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 상기 순간적 상호작용 패턴 및 상기 멀티터치 상호작용 패턴 중 어느 하나에 해당하는 경우, 상기 순간적 상호작용 패턴 또는 상기 멀티터치 상호작용 패턴에 따른 상기 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정하는 전자 장치.
  26. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 순간적 상호작용 패턴 및 연속적 상호작용 패턴 중 어느 하나에 해당하는 경우, 상기 순간적 상호작용 패턴 또는 상기 연속적 상호작용 패턴에 따른 상기 애플리케이션의 동작을 위한 상기 메모리 자원에 대한 할당 사용영역을 가능한 최대 사용영역으로 결정하는 전자 장치.
  27. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 순간적 상호작용 패턴에 해당하는 경우, 상기 순간적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최대 네트워크 대역폭으로 결정하는 전자 장치.
  28. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 연속적 상호작용 패턴에 해당하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 할당 순위를 상기 연속적 상호작용 패턴의 지속 시간에 비례하여 높은 순위를 갖도록 결정하는 전자 장치.
  29. 제28항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 상기 연속적 상호작용 패턴에 해당하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 CPU 자원에 대한 CPU 클럭 주파수를 최대값으로 결정하는 전자 장치.
  30. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 연속적 상호작용 패턴에 해당하는 경우, 상기 연속적 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 상기 연속적 상호작용 패턴의 지속 시간에 반비례하는 네트워크 대역폭을 갖도록 결정하는 전자 장치.
  31. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 연속적 상호작용 패턴에 해당하고, 상기 연속적 상호작용 패턴의 지속 시간이 일정 임계시간을 초과하는 경우, 상기 연속적 상호작용 패턴에 따른 상기 애플리케이션의 동작을 위한 상기 네트워크 자원에 대한 할당 네트워크 대역폭을 가능한 최소 네트워크 대역폭을 갖도록 결정하는 전자 장치.
  32. 제17항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 패턴이 멀티터치 상호작용 패턴에 해당하는 경우, 상기 멀티터치 상호작용 패턴에 따른 애플리케이션의 동작을 위한 상기 메모리 자원에 대한 할당 사용영역을 상기 멀티터치 상호작용 패턴의 지속 시간에 비례하여 많은 사용영역을 갖도록 결정하는 전자 장치.
  33. 제17항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 제2 양의 자원에 따라, CPU에 대한 할당 시간을 스케줄링하는 스케줄러와,
    상기 제2 양의 자원에 따라, 상기 CPU에 대한 클럭 주파수신호를 상기 CPU로 출력하는 CPU 주파수 제어모듈과
    상기 제2 양의 자원에 따라, 메모리에 대한 저장영역을 할당하는 메모리 할당모듈과,
    상기 제2 양의 자원에 따라, 모뎀에 대한 네트워크 대역폭을 할당하는 대역폭 제어모듈 중 어느 하나 이상을 포함하는 전자 장치.
  34. 삭제
  35. 삭제
KR1020130136969A 2013-11-12 2013-11-12 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치 KR101904955B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130136969A KR101904955B1 (ko) 2013-11-12 2013-11-12 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치
EP14192848.1A EP2874063A3 (en) 2013-11-12 2014-11-12 Method and apparatus for allocating computing resources in touch-based mobile device
US14/539,534 US20150130761A1 (en) 2013-11-12 2014-11-12 Method and apparatus for allocating computing resources in touch-based mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130136969A KR101904955B1 (ko) 2013-11-12 2013-11-12 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150055192A KR20150055192A (ko) 2015-05-21
KR101904955B1 true KR101904955B1 (ko) 2018-10-10

Family

ID=51945722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130136969A KR101904955B1 (ko) 2013-11-12 2013-11-12 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치

Country Status (3)

Country Link
US (1) US20150130761A1 (ko)
EP (1) EP2874063A3 (ko)
KR (1) KR101904955B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610780A (zh) * 2015-10-27 2017-05-03 中兴通讯股份有限公司 一种文本选取方法和智能终端
US11165715B2 (en) 2016-06-14 2021-11-02 Maxell, Ltd. Communication control method
US10304014B2 (en) * 2017-07-07 2019-05-28 International Business Machines Corporation Proactive resource allocation plan generator for improving product releases
CN107861814B (zh) * 2017-10-31 2023-01-06 Oppo广东移动通信有限公司 资源配置方法及设备
CN107861816B (zh) 2017-10-31 2022-10-28 Oppo广东移动通信有限公司 资源配置方法及装置
CN107894920A (zh) * 2017-11-09 2018-04-10 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN108037999A (zh) 2017-12-06 2018-05-15 广东欧珀移动通信有限公司 资源配置方法及相关产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070283261A1 (en) * 2006-06-06 2007-12-06 Christopher Harrison Gesture-Based Transient Prioritization Processes Scheduling
US8493330B2 (en) * 2007-01-03 2013-07-23 Apple Inc. Individual channel phase delay scheme
US9311528B2 (en) * 2007-01-03 2016-04-12 Apple Inc. Gesture learning
KR101548958B1 (ko) * 2008-09-18 2015-09-01 삼성전자주식회사 휴대단말기의 터치스크린 동작 제어 방법 및 장치
US8732576B2 (en) * 2008-12-04 2014-05-20 Nvidia Corporation Operating system providing multi-touch support for applications in a mobile device
KR101690786B1 (ko) * 2010-02-12 2016-12-28 삼성전자주식회사 멀티태스킹 수행 장치 및 방법
KR101361214B1 (ko) * 2010-08-17 2014-02-10 주식회사 팬택 터치스크린의 제어영역을 설정하는 인터페이스 장치 및 방법
KR101842906B1 (ko) * 2011-02-10 2018-05-15 삼성전자주식회사 복수의 터치스크린을 가지는 장치 및 복수의 터치스크린을 가지는 장치의 화면 변경방법
KR101842457B1 (ko) * 2011-03-09 2018-03-27 엘지전자 주식회사 이동 단말기 및 그의 텍스트 커서 운용방법
KR101873741B1 (ko) * 2011-10-26 2018-07-03 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
EP2798452A4 (en) * 2011-12-28 2015-09-09 Intel Corp HYBRID MOBILE INTERACTIONS FOR NATIVE APPS AND WEB APPS
KR101878671B1 (ko) * 2012-02-06 2018-07-16 엘지전자 주식회사 이동 단말기 및 그것을 이용한 데이터 통신방법
US9177274B2 (en) * 2012-08-21 2015-11-03 Hewlett-Packard Development Company, L.P. Queue with segments for task management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
EP2874063A3 (en) 2016-06-01
KR20150055192A (ko) 2015-05-21
US20150130761A1 (en) 2015-05-14
EP2874063A2 (en) 2015-05-20

Similar Documents

Publication Publication Date Title
KR101904955B1 (ko) 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치
CN110663018B (zh) 多显示器设备中的应用启动
US10209882B2 (en) Method of performing one or more operations based on a gesture
US11740914B2 (en) Positioning user interface components based on application layout and user workflows
KR102194795B1 (ko) 전력 제어를 위한 전자 장치 및 방법
US9582188B2 (en) Method for adjusting display area and electronic device thereof
JP5911599B2 (ja) 分類ウェブページ切り替えのための方法および携帯型デバイス
US9569107B2 (en) Gesture keyboard with gesture cancellation
WO2016025657A1 (en) Quick navigation of message conversation history
US20130283206A1 (en) Method of adjusting size of window and electronic device therefor
US20140145945A1 (en) Touch-based input control method
WO2016114961A1 (en) Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
US9360989B2 (en) Information processing device, and method for changing execution priority
WO2018045934A1 (zh) 应用进程的管理方法和终端设备
WO2015074458A1 (en) Method and apparatus for optimizing operating environment of a user terminal
WO2017202287A1 (zh) 一种页面滑动方法及装置
JP2020513603A (ja) 動的な外部電力資源選択
US20160328144A1 (en) User interface for touch devices
CN113204299B (zh) 显示方法、装置、电子设备和存储介质
EP3433709A1 (en) Asynchronous interaction handoff to system at arbitrary time
KR102569267B1 (ko) 전자 장치 및 그 제어 방법
KR102322033B1 (ko) 운영 체제 간 디스크 이미지를 공유하는 방법 및 디바이스
WO2018209464A1 (zh) 一种联系人列表控制方法和终端
US10671450B2 (en) Coalescing events framework
WO2018176245A1 (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