KR20150066083A - 전자 장치의 멀티 태스킹 방법 및 그 전자 장치 - Google Patents

전자 장치의 멀티 태스킹 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20150066083A
KR20150066083A KR1020130151183A KR20130151183A KR20150066083A KR 20150066083 A KR20150066083 A KR 20150066083A KR 1020130151183 A KR1020130151183 A KR 1020130151183A KR 20130151183 A KR20130151183 A KR 20130151183A KR 20150066083 A KR20150066083 A KR 20150066083A
Authority
KR
South Korea
Prior art keywords
program
application program
application
state
processor
Prior art date
Application number
KR1020130151183A
Other languages
English (en)
Other versions
KR102148948B1 (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 KR1020130151183A priority Critical patent/KR102148948B1/ko
Priority to US14/562,226 priority patent/US9690621B2/en
Publication of KR20150066083A publication Critical patent/KR20150066083A/ko
Application granted granted Critical
Publication of KR102148948B1 publication Critical patent/KR102148948B1/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 전자 장치의 멀티 태스킹 방법 및 그 전자 장치에 관한 것으로, 전자 장치에 있어서, 제1 어플리케이션 프로그램을 후 순위의 후면(Background) 프로그램으로 전환하고, 제2 어플리케이션 프로그램을 선 순위의 전면(Foreground) 프로그램으로 실행시키기 위한 프로세서; 및 상기 전면 프로그램의 영상을 디스플레이 하기 위한 디스플레이 모듈을 포함하되, 상기 프로세서는, 상기 제1 어플리케이션 프로그램의 식별 정보에 따라, 상기 후면 프로그램으로 전환된 상기 제1 어플리케이션 프로그램을, 슬립 모드인 동결(Frezze) 상태로 변경하거나, 작동 모드인 비동결(UnFreeze) 상태로 계속 실행할 지를 결정하는 것을 특징으로 한다. 또한, 본 발명은 상술한 실시 예와 다른 실시 예들도 포함한다.

Description

전자 장치의 멀티 태스킹 방법 및 그 전자 장치{MULTI TASKING METHOD OF ELECTRONIC APPARATUS AND ELECTRONIC APPARATUS THEREOF}
본 발명은, 전자 장치의 멀티 태스킹 방법 및 그 전자 장치에 관한 것이다.
스마트 폰(Smart Phone) 또는 태블릿(Tablet) PC 등과 같은 다양한 유형의 전자 장치는, 서로 다른 복수의 어플리케이션 프로그램(Application Program)(이하, 어플리케이션 이라고 함.)을 동시에 처리하는 멀티 태스킹(Multi Tasking) 동작을 수행할 수 있다.
상기 멀티 태스킹 동작은, 하나의 전자 장치에서 복수의 작업(Task)을 동시에 수행하기 위한 운영 체계(Operating System)를 갖추고 있다.
예를 들어, 도 1에 도시한 바와 같이, 스마트 폰 등과 같은 전자 장치의 디스플레이 모듈(Display Module)에 어플리케이션 리스트(Application List)가 디스플레이 될 수 있다.
그리고, 사용자가 제1 어플리케이션(Application #1)으로서, 동영상(Video)을 선택하여 실행시키는 경우, 도 2에 도시한 바와 같이, 싱글 태스킹(Single Tasking) 기능에 의해, 제1 어플리케이션의 동영상이 실행된다.
상기 제1 어플리케이션의 동영상은, 전면(Foreground) 프로그램으로 실행되고, 이후 사용자가, 제2 어플리케이션(Application #2)으로서, 네비게이션(Navigation)을 추가로 선택하여 실행시키는 경우, 도 2에 도시한 바와 같이, 멀티 태스킹 동작에 의해, 상기 제2 어플리케이션의 네비게이션이 동시에 실행 될 수 있다.
예를 들면, 상기 제2 어플리케이션의 네비게이션은, 전면(Foreground) 프로그램으로 실행되는 반면, 상기 제1 어플리케이션의 동영상은, 후면(Background) 프로그램으로 전환되어 계속 실행될 수 있다.
상기 전면 프로그램은 멀티 태스킹 동작을 수행하는 동안, 우선 순위가 높게 수행되는 선 순위의 프로그램으로서, 멀티 디스플레이 레이어 중 최상위 레이어에 동작 상태가 디스플레이 되므로, 사용자가 전면 프로그램의 동작 상태를 볼 수 있다.
반면, 상기 후면 프로그램은, 멀티 태스킹 동작을 수행하는 동안, 우선 순위가 낮게 수행되는 후 순위의 프로그램으로서, 상기 전면 프로그램 보다 낮은 하위 레이어 또는 주변에, 반투명 형태로 디스플레이 되거나, 일부분 또는 썸네일 등으로 다양하게 디스플레이 되거나, 또는 디스플레이 되지 않을 수도 있다.
상기와 같이 복수의 어플리케이션들을 동시에 실행시키는 경우, 전원 소모가 많이 발생하게 되므로, 예를 들어, 배터리(Battery) 전원을 사용하는 스마트 폰 또는 태블릿 PC 등과 같은 전자 장치에서는, 멀티 태스킹 동작을 수행하는 동안 발생하는 전력 소모 량을 효율적으로 줄 일수 있는 방안이 중요한 이슈가 되고 있다.
본 발명의 실시 예는, 멀티 태스킹 동작을 수행하기 위해, 후 순위의 후면(Background) 프로그램으로 전환되는 어플리케이션을, 해당 어플리케이션의 식별 정보와 활성화 상태 등에 따라, 슬립(Sleep) 모드인 동결(Freeze) 상태로 변경하거나, 작동(Operation) 모드인 비동결(UnFreeze) 상태로 계속 실행시키기 위한 전자 장치의 멀티 태스킹 방법 및 그 전자 장치를 제공한다.
본 발명의 다른 실시 예는, 후면 프로그램으로 이미 전환된 어플리케이션을, 재실행(Resume), 화면 전환(Back), 이벤트(Event), 그리고 종료(Terminate) 요청 등에 따라, 전면 프로그램으로 전환한 후, 정상 작동이 가능하게 자동으로 데이터를 업데이트하여 실행시키거나, 전면 프로그램으로 전환하지 않고 후면 프로그램 상태에서 효율적으로 종료시키기 위한 전자 장치의 멀티 태스킹 방법 및 그 전자 장치를 제공한다.
본 발명의 실시 예에 따른 전자 장치의 멀티 태스킹 방법에 있어서, 제1 어플리케이션 프로그램을 후 순위의 후면(Background) 프로그램으로 전환하고, 제2 어플리케이션 프로그램을 선 순위의 전면(Foreground) 프로그램으로 실행하는 과정; 및 상기 제1 어플리케이션 프로그램의 식별 정보에 따라, 상기 후면 프로그램으로 전환된 상기 제1 어플리케이션 프로그램을, 슬립 모드인 동결(Frezze) 상태로 변경하거나, 작동 모드인 비동결(UnFreeze) 상태로 계속 실행할 지를 결정하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 전자 장치에 있어서, 제1 어플리케이션 프로그램을 후 순위의 후면(Background) 프로그램으로 전환하고, 제2 어플리케이션 프로그램을 선 순위의 전면(Foreground) 프로그램으로 실행시키기 위한 프로세서; 및 상기 전면 프로그램의 영상을 디스플레이 하기 위한 디스플레이 모듈을 포함하되, 상기 프로세서는, 상기 제1 어플리케이션 프로그램의 식별 정보에 따라, 상기 후면 프로그램으로 전환된 상기 제1 어플리케이션 프로그램을, 슬립 모드인 동결(Frezze) 상태로 변경하거나, 작동 모드인 비동결(UnFreeze) 상태로 계속 실행할 지를 결정하는 것을 특징으로 한다.
본 발명의 다양한 실시 예에 따르면, 전자 장치에서 멀티 태스킹 동작을 수행하는 동안 발생하는 전력 소모 량을 절감할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치에서 백그라운드에서 동작중인 어플리케이션이 사용하는 자원을 제한할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치에서 사용중이지 않은 어플리케이션이 사용하는 자원을 제한할 수 있다.
도 1은 전자 장치에 어플리케이션 리스트가 디스플레이 된 도면이다.
도 2는 전자 장치에서 멀티 태스킹 동작이 수행되는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 전자 장치의 블록 도면이다.
도 4는 본 발명의 일 실시 예에 따른 하드웨어의 블록 도면이다.
도 5는 본 발명의 일 실시 예에 따른 프로그래밍 모듈의 블록 도면이다.
도 6은 본 발명의 일 실시 예에 따른 프로세서의 멀티 태스킹 컨트롤 동작을 도식화한 도면이다.
도 7는 본 발명의 일 실시 예에 따른 프로세서의 컨트롤 로직을 도식화한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 실시간 프로세스 관리 테이블을 도시한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 화이트 리스트를 도시한 도면이다.
도 10은 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법에 대한 동작 흐름도이다.
도 11은 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법에 대한 세부 동작 흐름도이다.
도 12는 본 발명의 일 실시 예에 따라 화이트 리스트(White List)의 어플리케이션들이 후면 프로그램으로 전환된 상태의 도면이다.
도 13은 본 발명의 일 실시 예에 따라 음악 또는 네비게이션의 어플리케이션들이 후면 프로그램으로 전환된 상태의 도면이다.
도 14는 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 재실행(Resume)에 해당하는 세부 동작 흐름도이다.
도 15는 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 화면 전환(Back)에 해당하는 세부 동작 흐름도이다.
도 16은 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 이벤트(Event)에 해당하는 세부 동작 흐름도이다.
도 17은 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 종료(Terminate)에 해당하는 세부 동작 흐름도이다.
도 18은 본 발명의 일 실시 예에 따라 어플리케이션의 시작과 재실행/이벤트에 해당하는 처리 과정을 도시한 도면이다.
도 19는 본 발명의 일 실시 예에 따라 어플리케이션의 화면 전환과 종료에 해당하는 처리 과정을 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다. 본 발명은 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있으나, 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있다.
따라서, 본 발명은 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용되었다.
본 발명에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 스마트 폰(Smart Phone), 태블릿 PC(Tablet Personal Computer), 이동전화기(Mobile Phone), 화상전화기, 전자북 리더기(E-Book Reader), 데스크탑 PC(Desktop Personal Computer), 랩탑 PC(Laptop Personal Computer), 넷북 컴퓨터(Netbook Computer), PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), MP3 플레이어, 모바일 의료기기, 전자 팔찌, 전자 목걸이, 전자 앱세서리(Appcessory), 카메라(Camera), 웨어러블 장치(Wearable Device), 전자 시계(Electronic Clock), 손목 시계(Wrist Watch), 스마트 가전(Smart White Appliance)(예: 냉장고, 에어컨, 청소기, 인공 지능 로봇, TV, DVD(Digital Video Disk) 플레이어, 오디오, 오븐, 전자레인지, 세탁기, 공기 청정기, 전자 액자 등), 각종 의료기기(예: MRA(Magnetic Resonance Angiography), MRI(Magnetic Resonance Imaging), CT(Computed Tomography), 촬영기, 초음파기 등), 네비게이션(Navigation) 장치, GPS 수신기(Global Positioning System Receiver), EDR(Event Data Recorder), FDR(Flight Data Recorder), 셋톱 박스(Set-Top Box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 전자 사전, 자동차 인포테인먼트(Infotainment) 장치, 선박용 전자 장비(Electronic Equipment for Ship, 예를 들면, 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(Avionics), 보안 기기, 전자 의복, 전자 키, 캠코더(Camcorder), 게임 콘솔(Game Consoles), HMD(Head-Mounted Display), 평판표시장치(Flat Panel Display Device), 전자 앨범, 통신 기능을 포함한 가구(Furniture) 또는 건물/구조물의 일부, 전자 보드(Electronic Board), 전자 사인 입력장치(Electronic Signature Receiving Device) 또는 프로젝터(Projector) 등의 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 본 발명에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
도 3은, 본 발명의 일 실시 예에 따른 전자 장치의 블록 도면이다. 도 3을 참조하면, 전자장치(100)는 버스(110), 프로세서(120), 메모리(130), 사용자 입력 모듈(140), 디스플레이 모듈(150), 그리고 통신 모듈(160)을 포함할 수 있다.
상기 버스(110)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서(120)는, 예를 들면, 상기 버스(110)를 통해 전술한 다른 구성요소들(예: 메모리(130), 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160) 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(130)는, 상기 프로세서(120) 또는 다른 구성요소들(예: 사용자 입력 모듈(140), 디스플레이 모듈(150), 통신 모듈(160) 등)로부터 수신되거나 상기 프로세서(120) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다.
상기 메모리(130)는, 예를 들면, 커널(131), 미들웨어(132), 어플리케이션 프로그래밍 인터페이스(API: Application Programming Interface, 133) 또는 애플리케이션(134) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널(131)은 나머지 다른 프로그래밍 모듈들, 예를 들면, 미들웨어(132), API(133) 또는 애플리케이션(134)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120) 또는 메모리(130) 등)을 제어 또는 관리할 수 있다.
상기 커널(131)은 상기 미들웨어(132), API(133) 또는 애플리케이션(134)에서 전자 장치(100)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(132)는 상기 API(133) 또는 애플리케이션(134)이 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(132)는 (다수의) 애플리케이션들(134)로부터 수신된 작업 요청들과 관련하여, 예를 들면, (다수의) 애플리케이션들(134) 들 중 적어도 하나의 애플리케이션에 전자 장치(100)의 시스템 리소스(예: 버스(110), 프로세서(120) 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 로드 밸런싱을 수행할 수 있다.
상기 API(133)는 애플리케이션(134)이 커널(131) 또는 미들웨어(132)에서 제공하는 기능을 제어할 수 있는 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수를 포함할 수 있다.
상기 사용자 입력 모듈(140)은, 예를 들면, 사용자로부터 명령 또는 데이터를 입력 받아 버스(110)를 통해 프로세서(120) 또는 메모리(130)에 전달할 수 있고, 상기 디스플레이 모듈(150)은 사용자에게 화상, 영상 또는 데이터 등을 표시할 수 있다.
상기 통신 모듈(160)은 다른 전자 장치(102)와 전자 장치(100) 간의 통신을 연결할 수 있고, 상기 통신 모듈(160)은 소정의 근거리 통신 프로토콜(예: Wifi(Wireless Fidelity), BT(Bluetooth), NFC(Near Field Communication) 또는 소정의 네트워크 통신(162)(예: Internet, LAN(Local Area Network), WAN(Wire Area Network), Telecommunication Network, Cellular Network, Satellite Network 또는 POTS(Plain Old Telephone Service) 등)을 지원할 수 있다.
상기 전자 장치(102, 104) 각각은 전자 장치(100)와 동일한 (예: 같은 타입의) 장치이거나 또는 다른 (예: 다른 타입의) 장치일 수 있다.
도 4는, 본 발명의 일 실시 예에 따른 하드웨어의 블록 도면이다. 상기 하드웨어(200)는, 예를 들면, 도 3에 도시된 전자 장치(100)일 수 있다. 도 4를 참조하면, 상기 하드웨어(200)는 하나 이상의 프로세서(210), SIM(Subscriber Identification Module) 카드(214), 메모리(220), 통신 모듈(230), 센서 모듈(240), 사용자 입력 모듈(250), 디스플레이 모듈(260), 인터페이스(270), 오디오 코덱(280), 카메라 모듈(291), 전력관리 모듈(295), 배터리(296), 인디케이터(297) 또는 모터(298)를 포함할 수 있다.
상기 프로세서(210) (예: 프로세서 120)는, 하나 이상의 애플리케이션 프로세서(AP: Application Processor, 211) 또는 하나 이상의 커뮤니케이션 프로세서(CP: Communication Processor, 213)를 포함할 수 있다.
상기 프로세서(210)는, 예를 들면, 도 1에 도시된 프로세서(120)일 수 있다. 도 3에서는 상기 AP(211) 및 CP(213)가 상기 프로세서(210) 내에 포함된 것으로 도시되었으나, 상기 AP(211)와 CP(213)는 서로 다른 IC 패키지들 내에 각각 포함될 수 있다. 일 실시 예에서 상기 AP(211) 및 CP(213)는 하나의 IC 패키지 내에 포함될 수 있다.
상기 AP(211)는 운용체제 또는 응용 프로그램을 구동하여 상기 AP(211)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어하고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(211)는, 예를 들면, SoC(System on Chip)로 구현될 수 있다. 일 실시 예에 따르면, 상기 프로세서(210)는, GPU(Graphic Processing Unit, 미도시)를 더 포함할 수 있다.
상기 CP(213)는 상기 하드웨어(200)를 포함하는 전자 장치(예: 전자 장치 100)와 네트워크로 연결된 다른 전자 장치들 간의 통신에서 데이터 링크를 관리하고 통신 프로토콜을 변환하는 기능을 수행할 수 있다. 상기 CP(213)는, 예를 들면, SoC로 구현될 수 있다.
일 실시 예에 따르면, 상기 CP(213)는 멀티미디어 제어 기능의 적어도 일부를 수행할 수 있다. 상기 CP(213)는, 예를 들면, 가입자 식별 모듈(예: SIM 카드 214)을 이용하여 통신 네트워크 내에서 단말의 구별 및 인증을 수행할 수 있다. 또한, 상기 CP(213)는 사용자에게 음성 통화, 영상 통화, 문자 메시지 또는 패킷 데이터(packet data) 등의 서비스들을 제공할 수 있다.
또한, 상기 CP(213)는 통신 모듈(230)의 데이터 송수신을 제어할 수 있다. 도 4에서는, 상기 CP(213), 전력관리 모듈(295) 또는 메모리(220) 등의 구성요소들이 상기 AP(211)와 별개의 구성요소로 도시되어 있으나, 일 실시 예에 따르면, 상기 AP(211)가 전술한 구성요소들의 적어도 일부(예: CP(213))를 포함하도록 구현될 수 있다.
일 실시 예에 따르면, 상기 AP(211) 또는 CP(213)는 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(211) 또는 CP(213)는 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 SIM 카드(214)는 가입자 식별 모듈을 구현한 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(214)는 고유한 식별 정보(예: ICCID(Integrated Circuit Card Identifier)) 또는 가입자 정보(예: IMSI(International Mobile Subscriber Identity))를 포함할 수 있다.
상기 메모리(220)는 내장 메모리(222) 또는 외장 메모리(224)를 포함할 수 있다. 상기 메모리(220)는, 예를 들면, 도 3에 도시된 메모리(130)일 수 있다. 상기 내장 메모리(222)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 내장 메모리(222)는 Solid State Drive (SSD)의 형태를 취할 수도 있다. 상기 외장 메모리(224)는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 또는 memory stick 등을 더 포함할 수 있다.
상기 통신 모듈(230)은 무선 통신 모듈(231) 또는 RF 모듈(234)을 포함할 수 있다. 상기 통신 모듈(230)은, 예를 들면, 도 3에 도시된 통신 모듈(160)일 수 있다. 상기 무선 통신 모듈(231)은, 예를 들면, WiFi(233), BT(BlueTooth, 235), GPS(237) 또는 NFC(Near Field Communication, 239)를 포함할 수 있다. 예를 들면, 상기 무선 통신 모듈(231)은 무선 주파수를 이용하여 무선 통신 기능을 제공할 수 있다.
추가적으로 또는 대체적으로, 상기 무선 통신 모듈(231)은 하드웨어(200)를 네트워크(예: Internet, LAN(Local Area Network), WAN(Wire Area Network), Telecommunication Network, Cellular Network, Satellite Network 또는 POTS(Plain Old Telephone Service) 등)와 연결시키기 위한 네트워크 인터페이스(예: LAN card) 또는 모뎀 등을 포함할 수 있다.
상기 RF 모듈(234)은 데이터의 송수신, 예를 들면, RF 신호 또는 호출된 전자 신호의 송수신을 담당할 수 있다. 상기 RF 모듈(234)은, 도시되지는 않았으나, 예를 들면, 트랜시버(Transceiver), PAM(Power Amp Module), 주파수 필터(Frequency Filter) 또는 LNA(Low Noise Amplifier) 등을 포함할 수 있다.
또한, 상기 RF 모듈(234)은 무선통신에서 자유공간 상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다.
상기 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), RGB(Red, Green, Blue) 센서(240H), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K) 또는 UV(Ultra Violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 상기 센서 모듈(240)은 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다.
추가적으로/대체적으로, 상기 센서 모듈(240)은, 예를 들면, 후각 센서(E-Nose Sensor, 미도시), EMG 센서(Electromyography Sensor, 미도시), EEG 센서(Electroencephalogram Sensor, 미도시), ECG 센서(Electrocardiogram Sensor, 미도시) 또는 지문 센서 등을 포함할 수 있다. 상기 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 사용자 입력 모듈(250)은 터치 패널(Touch Panel, 252), (디지털) 펜 센서(Pen Sensor, 254), 키(Key, 256) 또는 초음파 입력 장치(258)를 포함할 수 있다. 상기 사용자 입력 모듈(250)은, 예를 들면, 도 3에 도시된 사용자 입력 모듈(140)일 수 있다. 상기 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다.
또한, 상기 터치 패널(252)은 컨트롤러(미도시)를 더 포함할 수도 있다. 정전식의 경우, 직접 터치뿐만 아니라 근접 인식도 가능하다. 상기 터치 패널(252)은 택타일 레이어(Tactile Layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(252)은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(254)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 시트(Sheet)를 이용하여 구현될 수 있다. 상기 키(256)로서, 예를 들면, 키패드 또는 터치 키가 이용될 수 있다.
상기 초음파 입력 장치(258)는 초음파 신호를 발생하는 펜을 통해, 단말에서 마이크(예: 마이크(288))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 일 실시 예에 따르면, 상기 하드웨어(200)는 통신 모듈(230)를 이용하여 이와 연결된 외부 장치(예: 네트워크, 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 모듈(260)은 패널(262) 또는 홀로그램(264)을 포함할 수 있다. 상기 디스플레이 모듈(260)은, 예를 들면, 도 3에 도시된 디스플레이 모듈(150)일 수 있다. 상기 패널(262)은, 예를 들면, LCD(Liquid-Crystal Display) 또는 AM-OLED(Active-Matrix Organic Light-Emitting Diode) 등일 수 있다. 상기 패널(262)은, 예를 들면, 유연하게(Flexible), 투명하게(Transparent) 또는 착용할 수 있게(Wearable) 구현될 수 있다.
상기 패널(262)은 터치 패널(252)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램(264)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 일 실시 예에 따르면, 상기 디스플레이 모듈(260)은 패널(262) 또는 홀로그램(264)을 제어하기 위한 제어회로를 더 포함할 수 있다.
상기 인터페이스(270)는, 예를 들면, HDMI(High-Definition Multimedia Interface, 272), USB(Universal Serial Bus, 274), 프로젝터(276) 또는 D-sub(D-subminiature, 278)를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(270)는, 예를 들면, SD(Secure Digital)/MMC(Multi-Media Card)(미도시) 또는 IrDA(Infrared Data Association, 미도시)를 포함할 수 있다.
상기 오디오 코덱(280)은 음성과 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 코덱(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286) 또는 마이크(288) 등을 통해 입력 또는 출력되는 음성 정보를 변환시킬 수 있다.
상기 카메라 모듈(291)은 화상 및 동영상을 촬영할 수 있는 장치로서, 일 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 렌즈 또는 후면 렌즈), ISP(Image Signal Processor, 미도시) 또는 플래쉬 LED(Flash LED, 미도시)를 포함할 수 있다.
상기 전력관리 모듈(295)은 하드웨어(200)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력관리 모듈(295)은, 예를 들면, PMIC(Power Management Integrated Circuit), 충전 IC(Charger Integrated Circuit) 또는 배터리 게이지(Battery Fuel Gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다.
일 실시 예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(296)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(296)는 전기를 생성하여 전원을 공급할 수 있고, 예를 들면, 충전식 전지(Rechargeable Battery)일 수 있다.
인디케이터(297)는 하드웨어(200) 혹은 그 일부(예: 상기 AP 211)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있다. MCU (299)은, 센서 모듈(240)을 제어할 수 있다.
도시되지는 않았으나, 상기 하드웨어(200)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(Digital Multimedia Broadcasting), DVB(Digital Video Broadcasting) 또는 미디어 플로우(Media Flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 발명에 따른 하드웨어의 전술한 구성요소들의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 발명에 따른 하드웨어는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
또한, 본 발명에 따른 하드웨어의 구성 요소들 중 일부가 결합되어 하나의 개체(Entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 5는, 본 발명의 일 실시 예에 따른 프로그래밍 모듈의 블록 도면이다. 프로그래밍 모듈(300)은, 도 3에 도시된 전자 장치(100)(예: 메모리(130))에 포함(예: 저장)될 수 있다. 상기 프로그래밍 모듈(300)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 프로그래밍 모듈(300)은 하드웨어(예: 하드웨어(200))에 구현되어 전자 장치(예: 전자 장치(100))에 관련된 자원을 제어하는 운용체제(OS: Operation System) 또는 운용체제 상에서 구동되는 다양한 애플리케이션(예: 애플리케이션(370))을 포함할 수 있다.
예를 들면, 상기 운용체제는 안드로이드(Android), iOS, 윈도우즈(Windows), 심비안(Symbian), 타이젠(Tizen) 또는 바다(Bada) 등이 될 수 있다. 도 5를 참조하면, 상기 프로그래밍 모듈(300)은 커널(310), 미들웨어 (330), API(Application Programming Interface, 360) 또는 애플리케이션(370)을 포함할 수 있다.
상기 커널(310)(예: 커널(131))은 시스템 리소스 매니저(311) 또는 디바이스 드라이버(312)를 포함할 수 있다. 상기 시스템 리소스 매니저(311)는, 예를 들면, 프로세스관리부(313), 메모리관리부(315) 또는 파일시스템 관리부(317) 등을 포함할 수 있다.
상기 시스템 리소스 매니저(311)는 시스템 리소스의 제어, 할당 또는 회수 등을 수행할 수 있다. 상기 디바이스 드라이버(312)는, 예를 들면, 디스플레이 드라이버(314), 카메라 드라이버(316), 블루투스 드라이버(318), 공유 메모리 드라이버(320), USB 드라이버(322), 키패드 드라이버(324), WiFi 드라이버(326) 또는 오디오 드라이버(328)를 포함할 수 있다.
또한, 일 실시 예에 따르면, 상기 디바이스 드라이버(312)는 IPC(Inter-Process Communication, 미도시) 드라이버를 포함할 수 있다.
상기 미들웨어(330)는 애플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하기 위해 미리 구현해 놓은 복수의 모듈들을 포함할 수 있다. 또한, 상기 미들웨어(330)는 애플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(360)를 통해 기능을 제공할 수 있다.
예를 들면, 도 5에 도시된 바와 같이, 상기 미들웨어(330)(예: 미들웨어(132))는 런타임 라이브러리(335), 어플리케이션 매니저(Application Manager, 341), 윈도우 매니저(Window Manager, 342), 멀티미디어 매니저(Multimedia Manager, 343), 리소스 매니저(Resource Manager, 344), 파워 매니저(Power Manager, 345), 데이터베이스 매니저(Database Manager, 346), 패키지 매니저(347), 연결 매니저(Connectivity Manager, 348), 통지 매니저(Notification Manager, 349), 위치 매니저(Location Manager, 350), 그래픽 매니저(Graphic Manager, 351) 또는 보안 매니저(Security Manager, 352) 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리(335)는, 예를 들면, 애플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 일 실시 예에 따르면, 런타임 라이브러리(335)는 입출력, 메모리 관리 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 애플리케이션 매니저(341)는, 예를 들면, 애플리케이션(370) 중 적어도 하나의 애플리케이션의 생명주기(Life Cycle)를 관리할 수 있다. 상기 윈도우 매니저(342)는 화면에서 사용하는 GUI 자원을 관리할 수 있다.
상기 멀티미디어 매니저(343)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(Codec)을 이용하여 미디어 파일의 인코딩(Encoding) 또는 디코딩(Decoding)을 수행할 수 있다. 리소스 매니저(344)는 상기 애플리케이션(370) 중 적어도 어느 하나의 애플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저(345)는 바이오스(BIOS: Basic Input/Output System) 등과 함께 동작하여 배터리(Battery) 또는 전원을 관리하고, 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저(346)는 애플리케이션(370) 중 적어도 하나의 애플리케이션에서 사용할 데이터베이스를 생성, 검색 또는 변경할 수 있도록 관리할 수 있다.
상기 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 애플리케이션의 설치 또는 업 데이트를 관리할 수 있다. 연결 매니저(348)는, 예를 들면, WiFi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저(349)는 도착 메시지, 약속, 근접성 알림 등의 사건(Event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저(350)는 전자 장치의 위치 정보를 관리할 수 있다.
상기 그래픽 매니저(351)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저(352)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(예: 전자 장치(100))가 전화 기능을 구비한 경우에는, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(Telephony Manager, 미도시)를 더 포함할 수 있다.
상기 미들웨어(330)는 전술한 내부 구성요소 모듈들의 다양한 기능 조합을 통해 새로운 미들웨어 모듈을 생성하여 사용할 수 있다. 상기 미들웨어(330)는 차별화된 기능을 제공하기 위해 운용체제의 종류별로 특화된 모듈을 제공할 수 있다.
또한, 상기 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 따라서, 본 발명의 실시 예에 기재된 구성요소를 일부 생략하거나 다른 구성요소를 더 구비하거나 또는 유사한 기능을 수행하는 다른 명칭을 갖는 구성요소로 대체할 수 있다.
상기 API(360)(예: API(133))는 API 프로그래밍 함수들의 집합으로, 운용체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 IOS의 경우, 예를 들면, 플랫폼별로 하나의 API 셋을 제공할 수 있으며, 타이젠(Tizen)의 경우, 예를 들면, 두 개 이상의 API 셋을 제공할 수 있다.
상기 애플리케이션(370)(예: 상기 애플리케이션(134))은, 예를 들면, 프리로드 어플리케이션(Preloaded Application) 또는 제 삼자 어플리케이션(Third Party Application)을 포함할 수 있다.
상기 프로그래밍 모듈(300)의 적어도 일부는 컴퓨터로 읽을 수 있는 저장매체(Computer-Readable Storage Media)에 저장된 명령어로 구현될 수 있다. 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서(210))에 의해 실행될 경우, 하나 이상의 프로세서가 명령어에 해당하는 기능을 수행할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(260)가 될 수 있다. 상기 프로그래밍 모듈(300)의 적어도 일부는, 예를 들면, 프로세서(210)에 의해 구현(Implement) (예: 실행)될 수 있다.
상기 프로그래밍 모듈(300)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(Sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 발명에 따른 프로그래밍 모듈(예: 프로그래밍 모듈(300))의 구성요소들의 명칭은 운용체제의 종류에 따라서 달라질 수 있다. 또한, 본 발명에 따른 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명의 다양한 실시 예에 따른 전자 장치의 멀티 태스킹 방법 및 그 전자 장치에 대해 상세히 설명한다.
본 발명에 따른 전자 장치는, 도 4에 도시된 구성 요소들을 포함하여 구성될 수 있다. 상기 전자 장치(200)의 프로세서(210)는, 예를 들어, 사용자 인터페이스(UI)를 통해 선택된 임의의 제1 어플리케이션을 최초로 실행시킬 때, 시작(Launch) 요구를 수신함과 아울러, 상기 제1 어플리케이션의 아이디(ID)를, 어플리케이션 관리 데몬(Application Manage Daemon)으로부터 입력 받는다.
또한, 상기 프로세서(210)는, 이후, 사용자 인터페이스를 통해 선택된 제2 어플리케이션을 동시에 실행시키는 경우, 멀티 태스킹 동작을 수행하여, 상기 제2 어플리케이션을 전면(Foreground) 프로그램으로 실행시키되, 상기 어플리케이션을 후면(Background) 프로그램으로 전환하여, 전력 소모 량이 적은 슬립(Sleep) 모드인 동결(Freeze) 상태로 변경하거나, 정상 작동(Operation) 모드인 비동결(Unfreeze) 상태로 계속 실행시키게 된다.
참고로, 상기 전면 프로그램은, 멀티 태스킹 동작을 수행하는 동안, 우선 순위가 높게 수행되는 선 순위의 프로그램이고, 상기 후면 프로그램은, 멀티 태스킹 동작을 수행하는 동안, 우선 순위가 낮게 수행되는 후 순위의 프로그램으로서, 임의의 다른 명칭으로 일컬어질 수도 있다. .
한편, 상기 프로세서(210)은, 상기와 같은 전면 프로그램과 후면 프로그램, 그리고 슬립 모드의 동결 상태와, 작동 모드인 비동결 상태의 각 어플리케이션들에 대응되는 실시간 프로세스 관리 테이블(Realtime Process Management Table)을 생성하여 관리하게 된다.
참고로, 하드웨어의 슬립 모드와 작동 모드는, 아이들(idle) 상태와 활성화(activation) 상태로 일컬어질 수 있고, 소프트웨어인 어플리케이션 프로그램의 슬립 모드와 작동 모드는, 동결(freeze) 상태와 비동결(unfreeze) 상태로 일컬어질 수 있다.
도 6은, 본 발명의 일 실시 예에 따른 프로세서의 멀티 태스킹 컨트롤 동작을 도식화한 도면이다. 예를 들어, 도 6에 도시한 바와 같이, 상기 프로세서(210)는, 다양한 어플리케이션들(Application #1~#n)에 대해, 쇼(Show), 재실행(Resume), 시작(Launch), 화면 전환(Back), 종료(Terminate), 그리고 숨김(Hide) 등의 다양한 처리 동작을 수행하게 된다.
또한, 상기 프로세서(210)는, 네트워크를 통해 수신되는 요구(Request)에 응답(Action)하거나, 전자 장치의 내부에서 발생하는 내부 이벤트(Internal Event)에 응답(Action)하여, 멀티 태스킹 컨트롤(Multi Tasking Control) 동작을 수행하게 된다.
예를 들어, 상기 프로세서(210)는, 멀티 태스킹 동작을 수행하는 경우, 전면(Foreground) 프로그램의 어플리케이션을 비동결(UnFreeze) 상태로 실행시키되, 후면(Background) 프로그램의 어플리케이션을, 해당 어플리케이션의 식별 정보와, 활성화 상태 등에 따라, 전력 소모 량이 적은 슬립 모드인 동결(Freeze) 상태로 변경시키거나, 정상 작동 모드인 비동결 상태로 계속 실행시키게 된다.
또한, 상기 프로세서(210)는, 다수의 어플리케이션들을, 전면 프로그램 그룹 또는 후면 프로그램 그룹으로 그룹핑(Grouping)하여 효율적으로 관리할 수 있다.
도 7은, 본 발명의 일 실시 예에 따른 프로세서의 컨트롤 로직을 도식화한 도면이다. 예를 들어, 도 7에 도시한 바와 같이, 상기 프로세서(210)는, 어플리케이션에 대한 시작(Launch), 재실행(Resume), 그리고 숨김(Hide) 등의 동작을 처리할 때, 어플리케이션의 라이프 사이클(lifecycle)을 관리하는 어플리케이션 관리 데몬(Application Manger Daemon)과의 인터페이스 동작을 수행한다.
상기 프로세서(210)는, 어플리케이션에 대한 통지 이벤트(Notify Event) 등의 동작을 처리할 때, 어플리케이션의 통지(notification)를 제어하는 어플리케이션 서비스 데몬(Application Service Daemon)과의 인터페이스 동작을 수행한다.
상기 프로세서(210)는, 어플리케이션에 대한 활동/비활동(active/inactive) 여부를 판단하는 등의 동작을 처리할 때. 어플리케이션의 활성화 상태를 관리하는 디바이스 관리 데몬(Device Manager Daemon)과의 인터페이스 동작을 수행한다.
그리고, 상기 프로세서(210)는, 윈도우 변경(Window Change) 등의 동작을 처리할 때, 어플리케이션의 가시성(visibility)을 제어하는 윈도우 관리 데몬(Window Manager Daemon)과의 인터페이스 동작을 수행한다.
도 8은, 본 발명의 일 실시 예에 따른 실시간 프로세스 관리 테이블을 도시한 도면이다. 예를 들어, 도 8에 도시한 바와 같이, 상기 실시간 프로세스 관리 테이블에는, 각 어플리케이션들에 대한 프로그램 아이디(PID: Program ID), 어플리케이션 네임(Name), 프로그램 아이디 리스트(PID List), 현재 위치(Current Position), 현재 상태(Current State) 그리고 예외(Exclude) 코드 등과 같은 다양한 정보들이 포함될 수 있다.
상기 현재 상태 정보는, 동결 상태 또는 비동결 상태를 나타내고, 상기 현재 위치 정보는, 전면 프로그램 또는 후면 프로그램을 나타내며, 상기 예외 코드 정보는, 해당 어플리케이션이 현재 위치와 무관하게 비동결 상태로 계속 실행되어야 하는 어플리케이션임을 나타낸다.
그리고, 상기 프로그램 리스트 정보는, 예를 들어, 브라우저(Browser)가 실행될 상호 종속 관계에 있는 복수의 어플리케이션들이 그룹(Group)으로 함께 실행되고 있음을 나타낸다.
예를 들어, 도 8에 도시한 바와 같이, 프로그램 아이디가 PID=112인 어플리케이션과, 프로그램 아이디가 PID=113인 어플리케이션이. 브라우저를 실행하기 위해, 상기 프로그램 아이디 리스트 정보 내에, 하나의 그룹으로 관리될 수 있다.
한편, 상기 프로세서(210)는, 상기 예외(exclude) 코드 정보에 기반하여, 현재 위치(Current Position) 정보와 무관하게, 항상 비동결 상태로 계속 실행되어야 하는 어플리케이션들을, 화이트 리스트(White List)로 미리 설정하여 관리하게 된다.
도 9는, 본 발명의 일 실시 예에 따른 화이트 리스트를 도시한 도면이다. 예를 들어, 도 9에 도시한 바와 같이, 상기 화이트 리스트에는, 화이트 리스트 번호(Number)와, 어플리케이션 유형(Type), 그리고 어플리케이션 네임(Name) 등이 포함될 수 있다.
그리고, 상기 화이트 리스트에 포함되는 어플리케이션은, 비동결 상태로 항상 실행되어야 하는 어플리케이션들로서, 클러스터 홈(Cluster Home), 메뉴 스크린(Menu Screen), 시스템 팝업(System Popup), 그리고 통지 패널(Notification Panel) 등의 어플리케이션이 포함될 수 있다.
도 10은, 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법에 대한 동작 흐름도이다. 예를 들어, 도 10에 도시한 바와 같이, 상기 프로세서(210)는, 사용자의 요청 등에 따라, 제1 어플리케이션(Application #1)을 전면(Foreground) 프로그램으로 실행시키게 된다(S10).
이후, 사용자가, 제2 어플리케이션(Application #2)의 실행을 요청하는 경우(S11), 상기 제2 어플리케이션을 전면 프로그램을 실행시키고(S12), 상기 제1 어플리케이션을 전면 프로그램에서 후면(Background) 프로그램으로 전환하게 된다(S13).
이때, 상기 프로세서(210)는, 상기 제1 어플리케이션의 아이디(ID)를 확인하여, 후면 프로그램으로 전환되는 제1 어플리케이션을 전력 소모 량이 적은 동결(Freeze) 상태로 변경시키거나, 또는 비동결(UnFreeze) 상태로 계속 실행시키게 되며(S14), 이후 사용자가 요청하는 해당 동작을 수행하게 된다(S15).
예를 들어, 상기 프로세서(210)는, 상기 후면 프로그램으로 전환되는 제1 어플리케이션이, 비동결 상태로 계속 실행되어야만 하는 어플리케이션이 아닌 경우, 전력 소모 량이 적은 동결 상태로 변경하여, 멀티 태스킹 동작을 수행하는 동안 발생하는 전력 소모 량을 줄이게 된다.
도 11은, 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법에 대한 세부 동작 흐름도이다. 예를 들어, 도 11에 도시한 바와 같이, 상기 프로세서(210)는, 제1 어플리케이션(Application #1)을 전면(Foreground) 프로그램으로 실행시키던 도중(S20), 제2 어플리케이션(Application #2)의 실행이 요청되면(S21), 상기 제2 어플리케이션을 전면 프로그램을 실행시키고(S22), 상기 제1 어플리케이션을 전면 프로그램에서 후면(Background) 프로그램으로 전환하게 된다(S23).
그리고, 상기 프로세서(210)는, 상기 제1 어플리케이션의 아이디(ID)를 확인하여(S24), 화이트 리스트(White List) 내에 포함된 아이디이면(S25), 상기 후면 프로그램으로 전환된 제1 어플리케이션을 비동결 상태로 계속 실행시키게 된다.
예를 들어, 도 9을 참조로 전술한 바와 같이, 상기 화이트 리스트에는, 후면 프로그램으로의 전환 여부와 상관 없이, 비동결 상태로 항상 실행되어야 하는 클러스터 홈(Cluster Home), 메뉴 스크린(Menu Screen), 시스템 팝업(System Popup), 그리고 통지 패널(Notification Panel) 등에 해당하는 어플리케이션의 아이디(ID) 등이 포함될 수 있다.
그리고, 상기 프로세서(210)는, 상기와 같이 제1 어플리케이션이, 후면 프로그램으로 전환되는 시점에, 상기 화이트 리스트와의 비교 동작을 수행하거나, 상기 제1 어플리케이션이 최초로 실행되는 시점에, 상기 화이트 리스트와의 비교 동작을 미리 수행할 수도 있다.
한편, 상기 프로세서(210)는, 상기 제1 어플리케이션의 아이디가, 상기 화이트 리스트 내에 포함된 아이디가 아니면, 상기 제1 어플리케이션의 활성화 상태를 확인하게 된다(S26).
상기 확인 결과, 계속 실행이 필요한 활동 상태의 어플리케이션인 경우(S27), 예를 들어, 상기 제1 어플리케이션이 음악(Music) 또는 네비게이션(Navigation)에 해당하는 어플리케이션이면서, 현재 상태가 활동(active) 상태이면, 상기 제1 어플리케이션인 음악 또는 네비게이션을, 후면 프로그램으로 전환하되, 비동결 상태로 계속 실행시키게 된다(S28).
반면, 상기 제1 어플리케이션이 음악(Music) 또는 네비게이션(Navigation)에 해당하는 어플리케이션이더라도, 비활동(inactive) 상태이면, 상기 제1 어플리케이션인 음악 또는 네비게이션을, 후면 프로그램으로 전환하면서 동결 상태로 변경하여 전력 소모 량을 줄이게 된다(S29).
그리고, 이후 사용자가 요청하는 동작을 수행하게 되므로(S30), 멀티 태스킹 동작에 의해 후면 프로그램으로 전환되는 어플리케이션이, 화이트 리스트에 속하거나, 활동 상태인 음악 또는 네비게이션에 해당하는 경우, 비동결 상태로 계속 실행된다.
반면, 상기 이외의 나머지 어플리케이션 및 비활동 상태인 경우에는, 동결 상태로 변경하여, 전력 소모 량을 줄이게 된다. 즉, 도 12에 도시한 바와 같이, 화이트 리스트에 속하는 클러스터 홈, 메뉴 스크린, 시스템 팝업, 그리고 통지 패널의 어플리케이션은, 후면 프로그램으로 전환되더라도, 비동결 상태로 계속 실행되어, 사용자의 요청 등에 신속하여 응답할 수 있게 된다.
또한, 도 13에 도시한 바와 같이, 활동 상태에 있는 음악 또는 네비게이션의 어플리케이션은, 후면 프로그램으로 전환되더라도, 비동결 상태로 계속 실행되어, 사용자가 음악을 계속 청취하거나, 네비게이션을 통한 위치 정보 등을 계속 추적할 수 있게 된다.
도 14는, 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 재실행(Resume)에 해당하는 세부 동작 흐름도이다. 예를 들어, 도 14에 도시한 바와 같이, 상기 프로세서(210)는, 제1 어플리케이션을 전면 프로그램으로 실행하던 도중(S50), 사용자 인터페이스(UI)를 통해 제2 어플리케이션의 재실행(Resume)이 요청되는 경우(S51), 상기 제2 어플리케이션이 후면 프로그램으로 동결 상태에 있는 지를 확인하게 된다(S52).
예를 들어, 상기 제2 어플리케이션이, 후면 프로그램으로 동결 상태에 있는 동영상(Video)이면, 상기 프로세서(210)는, 상기 동영상의 제2 어플리케이션을 비동결 상태로 동결 해제하고(S53), 전면 프로그램으로 실행 중인 제1 어플리케이션을 후면 프로그램으로 전환함과 동시에, 상기 동결 해제된 동영상의 제2 어플리케이션을 전면 프로그램으로 전환하게 된다.
그리고, 상기 프로세서(210)는, 상기 전면 프로그램으로 전환된 제2 어플리케이션을 실행시킴과 아울러, 최근 데이터로 업데이트한 후(S56), 사용자가 요청하는 동작을 수행하게 된다(S57).
예를 들어, 네비게이션(navigation)의 어플리케이션이 후면 프로그램에서 전면 프로그램으로 전환되는 경우, 상기 프로세서는, 사용자의 키 입력이 없더라도, 정상 작동이 신속하게 가능하도록, GPS 신호 등을 즉시 수신 받아, 지도 영상 등을 최신 데이터로 업데이트함으로써, 사용자가 요청하는 동작을 즉시 수행할 수 있도록 한다.
한편, 상기 제1 어플리케이션이, 후면 프로그램으로 전환되는 경우, 해당 어플리케이션의 아이디(ID) 또는 활성화 상태 등에 따라 동결 상태로 변경되거나, 비동결 상태로 계속 실행될 수도 있으며, 더 나아가, 상기 제1 어플리케이션은, 전면 프로그램 그룹(Group)으로 그룹핑 되어, 후면 프로그램으로 전환되지 않고 전면 프로그램으로 계속 실행될 수도 있다.
도 15는, 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 화면 전환(Back)에 해당하는 세부 동작 흐름도이다. 예를 들어, 도 15에 도시한 바와 같이, 상기 프로세서(210)는, 제1 어플리케이션을 전면 프로그램으로 실행하던 도중(S60), 사용자 인터페이스(UI)를 통해 화면 전환(Back)이 요청되는 경우(S61), 윈도우 관리 데몬(Window Manage Daemon)으로부터 윈도우 상태 변화를 감지하게 된다(S62).
그리고, 상기 프로세서(210)는, 전면 프로그램의 바로 아래에 있는 후면 프로그램을 확인하게 된다(S63). 예를 들어, 전면 프로그램의 바로 아래에 제2 어플리케이션이 후면 프로그램으로 동결 상태에 있는 경우, 상기 제1 어플리케이션을 후면 프로그램으로 전환하고(S64), 상기 제2 어플리케이션을 전면 프로그램으로 전환하게 된다(S65).
또한, 상기 프로세서(210)는, 상기 제2 어플리케이션을 동결 해제시켜 실행시킴과 아울러, 최근 데이터로 업데이트한 후(S66), 사용자가 요청하는 동작을 수행하게 된다(S67).
한편, 상기 제1 어플리케이션이, 후면 프로그램으로 전환되는 경우, 해당 어플리케이션의 아이디(ID) 또는 활성화 상태 등에 따라 동결 상태로 변경되거나, 비동결 상태로 계속 실행될 수도 있으며, 더 나아가, 상기 제1 어플리케이션은, 전면 프로그램 그룹(Group)으로 그룹핑 되어, 후면 프로그램으로 전환되지 않고 전면 프로그램으로 계속 실행될 수도 있다.
도 16은, 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 이벤트(Event)에 해당하는 세부 동작 흐름도이다. 예를 들어, 도 16에 도시한 바와 같이, 상기 프로세서(210)는, 제1 어플리케이션을 전면 프로그램으로 실행하던 도중(S70), 네트워크를 통한 외부 이벤트를 수신하거나, 전자 장치의 내부에서 발생한 내부 이벤트를 수신하는 경우(S71), 상기 이벤트 정보를 확인하게 된다(S72).
예를 들어, 상기 외부 또는 내부의 이벤트 정보는, 단문메시지서비스(SMS), 멀티미디어서비스(MMS), 푸시(Push), 콜(Call), 그리고 알람(Alarm) 중 어느 하나 이상일 수 있다.
그리고, 상기 프로세서(210)에서는, 상기 이벤트 정보를 확인하여, 현재 후면 프로그램으로 동결 상태에 있는 제2 어플리케이션의 실행이 필요한지를 판단하게 된다(S73).
예를 들어, 네트워크를 통해 외부 이벤트인 멀티미디어서비스(MMS)를 수신하거나, 전자 장치의 내부에서 발생한 내부 이벤트인 알람(Alarm)을 수신하여 확인한 결과, 현재 후면 프로그램으로 동결 상태에 있는 제2 어플리케이션의 실행이 필요한 경우, 상기 제1 어플리케이션을 후면 프로그램으로 전환하고(S74), 상기 제2 어플리케이션을 전면 프로그램으로 전환하게 된다(S75).
또한, 상기 프로세서(210)는, 상기 제2 어플리케이션을 동결 해제시켜 실행시킴과 아울러, 최근 데이터로 업데이트한 후(S76), 사용자가 요청하는 동작을 수행하게 된다(S77).
한편, 상기 제1 어플리케이션이, 후면 프로그램으로 전환되는 경우, 해당 어플리케이션의 아이디(ID) 또는 활성화 상태 등에 따라 동결 상태로 변경되거나, 비동결 상태로 계속 실행될 수도 있으며, 더 나아가, 상기 제1 어플리케이션은, 전면 프로그램 그룹(Group)으로 그룹핑 되어, 후면 프로그램으로 전환되지 않고 전면 프로그램으로 계속 실행될 수도 있다.
도 17은, 본 발명의 일 실시 예에 따른 전자 장치의 멀티 태스킹 방법 중 종료(Terminate)에 해당하는 세부 동작 흐름도이다. 예를 들어, 도 17에 도시한 바와 같이, 상기 프로세서(210)는, 사용자 인터페이스를 통해 어플리케이션 종료(Terminate)가 요청되는 경우(S80), 해당 어플리케이션의 위치(Position)와 상태(State)를 확인하게 된다(S81).
예를 들어, 상기 종료가 요청된 어플리케이션이, 현재 후면 프로그램으로 동결 상태에 있는 어플리케이션인 경우(S82), 상기 프로세서(210)는, 해당 어플리케이션을 전면 프로그램으로 전환하지 않고, 후면 프로그램 상태에서, 동결 상태를 해제하게 된다(S83).
그리고, 상기 프로세서(210)는, 종료 핸들러(Terminate Handler)를 호출하여(S84), 해당 어플리케이션을 후면 프로그램 상태에서 종료 처리한 후(S85), 사용자가 요청하는 동작을 수행하게 된다(S86).
이에 따라, 후면 프로그램으로 동결 상태에 있는 어플리케이션을 불필요하게 전면 프로그램으로 전환하지 않고서도, 효율적으로 종료 처리할 수 있게 된다.
도 18은, 본 발명의 일 실시 예에 따라 어플리케이션의 시작과 재실행/이벤트에 해당하는 처리 과정을 도시한 도면이다. 예를 들어, 도 18에 도시한 바와 같이, 상기 프로세서(210)는, 사용자와의 인터페이스를 위한 사용자 레벨(User Level)과, 커널(kernel)과의 인터페이스를 위한 커벌 레벨(Kernel Level)로 구분될 수 있다.
그리고, 상기 프로세서(210)는, 사용자의 시작(Launch) 요구에 상응하여(S100), 해당 어플리케이션의 아이디 체크(Check application ID) 동작(S101)과, 동결 상태의 온/오프 체크(Check freeze on/off) 동작(S102), 그리고 화이트 리스트를 이용한 동결 제외 리스트 체크(Check freeze exclude list) 동작을 수행하고(S103), 그 결과에 따라 해당 어플리케이션에 대한 프로세스 리스트 테이블 생성(Make process list table) 동작을 수행하게 된다(S104).
또한, 상기 프로세서(210)는, 상기와 같이 생성된 프로세스 처리 리스트를 기반으로, 해당 어플리케이션을 전면 프로그램 그룹으로 이동시키기 위한 인서트 그룹(Insert group) 동작(S105)과, 전면 프로그램의 비동결 어플리케이션(Unfreeze Application)으로 실행시키는 동작을 순차적으로 수행하며(S106), 이때 사용자는, 해당 어플리케이션의 실행 여부를 볼 수 있게 된다(Show application)(S107).
한편, 상기 프로세서(210)는, 사용자의 재실행(Resume) 요구 또는 내부/외부의 이벤트(Event) 수신에 상응하여(S108), 해당 어플리케이션의 아이디 체크(Check application ID) 동작(S109)과, 동결 상태의 온/오프 체크(Check freeze on/off) 동작(S110), 그리고 현재 상태 체크(Check freeze state) 동작을 수행하게 된다(S111).
또한, 상기 프로세서(210)는, 해당 어플리케이션을 전면 프로그램 그룹으로 이동시키기 위한 이동 그룹(Move group) 동작(S112)과, 전면 프로그램의 비동결 어플리케이션(Unfreeze Application)으로 실행시키는 동작을 순차적으로 수행하게 된다(S113).
그리고, 상기 프로세서(210)는, 상기 동작 수행 결과에 상응하는 프로세스 리스트 테이블 업데이트(Update process list table) 동작을 수행하게 된다(S114).
도 19는, 본 발명의 일 실시 예에 따라 어플리케이션의 화면 전환과 종료에 해당하는 처리 과정을 도시한 도면이다. 예를 들어, 도 19에 도시한 바와 같이, 상기 프로세서(210)는, 화면 전환(Back) 요구에 상응하여(S200), 해당 어플리케이션 아이디 체크(Check application ID) 동작(S201)과, 동결 상태 온/오프 체크(Check freeze on/off) 동작(S202), 그리고 어플리케이션 상태 체크(Check Application State) 동작을 수행하게 된다(S203).
또한, 상기 프로세서(210)는, 해당 어플리케이션을 후면 프로그램 그룹으로 이동시키기 위한 이동 그룹(Move group) 동작(S204)과, 어플리케이션 활동성 체크 동작(Check application activity)을 수행하게 된다(S205).
그리고, 상기 프로세서(210)는, 상기 체크 결과, 활동성이 없는 어플리케이션인 경우, 해당 어플리케이션을 동결시키는 어플리케이션 동결(Freeze application) 동작(S206)과, 상기 동작 수행 결과에 상응하는 프로세스 리스트 테이블 업데이트(Update process list table) 동작을 수행하며(S207), 이때 사용자는 해당 어플리케이션의 실행 여부를 볼 수 없게 된다(Hide application)(S208).
한편, 상기 프로세서(210)는, 종료(Terminate) 요구에 상응하여(S209), 해당 어플리케이션의 아이디 체크(Check application ID) 동작(S210)과, 동결 상태의 온/오프 체크(Check freeze on/off) 동작(S211), 그리고 어플리케이션 상태 체크(Check Application State) 동작을 수행하게 된다(S212).
또한, 상기 프로세서(210)는, 해당 어플리케이션이 후면 프로그램으로 동결 상태에 있는 경우, 전면 프로그램으로 전환하지 않고, 후면 프로그램 상태에서, 어플리케이션 동결 해제(Unfreeze application) 동작을 수행한 후(S213), 종료 핸들러 호출(Call terminate handler) 동작과, 어플리케이션 종료(Terminate application) 동작을 순차적으로 수행하게 된다(S214).
이에 따라, 후면 프로그램으로 동결 상태에 있는 어플리케이션을 불필요하게 전면 프로그램으로 전환하지 않고서도, 효율적으로 종료 처리할 수 있게 된다.
본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(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), DVD(Digital Video Disk) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(Magnetic Cassette)에 저장될 수 있다.
또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(Access)할 수 있는 부착 가능한(Attachable) 저장 장치(Storage Device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 발명의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 발명의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 발명의 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 발명이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
100: 전자 장치 102: 전자 장치
104: 전자 장치 110: 버스
120: 프로세서 130: 메모리
131: 커널 132: 미들웨어
133: 애플리케이션 프로그래밍 인터페이스
140: 사용자 입력모듈 150: 디스플레이 모듈
160: 통신 모듈 162: 네트워크
164: 서버 200: 전자 장치
210: 프로세서 211: 애플리케이션 프로세서
213: 커뮤니케이션 프로세서 214: SIM 카드
220: 메모리 222: 내장 메모리
224: 외장 메모리 230: 통신 모듈
231: 무선 통신 모듈 234: RF 모듈
233: WiFi 235: BT
237: GPS 239: NFC
240: 센서 모듈 240A: 제스처 센서
240B: 자이로 센서 240C: 기압 센서
240D: 마그네틱 센서 240E: 가속도 센서
240F: 그립 센서 240G: 근접 센서
240H: RGB 센서 240I: 생체 센서
240J: 온/습도 센서 240K: 조도 센서
240M: UV 센서 250: 사용자 입력모듈
252: 터치 패널 254: 펜 센서
256: 키 258: 울트라 소닉
260: 디스플레이 모듈 262: 패널
264: 홀로그램 270: 인터페이스
272: HDMI 274: USB
276: 프로젝터 278: D-SUB
280: 오디오 코덱 282: 스피커
284: 리시버 286: 이어폰
288: 마이크 291: 카메라 모듈
295: 전력 관리 모듈 296: 배터리
297: 인디케이터 298: 모터
300: 전자 장치 310: 커널
311: 시스템 리소스 매니저 312: 디바이스 드라이버
330: 미들웨어 341: 애플리케이션 매니저
342: 윈도우 매니저 343: 멀티미디어 매니저
344: 리소스 매니저 345: 파워 매니저
346: 데이터베이스 매니저 347: 패키지 매니저
348: 연결 매니저 349: 통지 매니저
350: 위치 매니저 351: 그래픽 매니저
352: 보안 매니저 355: 런타임 라이브러리
360: API 370: 애플리케이션
371: 홈 372: 다이얼러
373:SMS/MMS 374: IM
375: 브라우저 376: 카메라
377: 알람 378: 컨텐트
379: 음성 다이얼 380: 이메일
381: 달력 382: 미디어 플레이어
383: 앨범 384: 시계

Claims (20)

  1. 전자 장치의 멀티 태스킹 방법에 있어서,
    제1 어플리케이션 프로그램을 후 순위의 후면(Background) 프로그램으로 전환하고, 제2 어플리케이션 프로그램을 선 순위의 전면(Foreground) 프로그램으로 실행하는 과정; 및
    상기 제1 어플리케이션 프로그램의 식별 정보에 따라, 상기 후면 프로그램으로 전환된 상기 제1 어플리케이션 프로그램을, 슬립 모드인 동결(Frezze) 상태로 변경하거나, 작동 모드인 비동결(UnFreeze) 상태로 계속 실행할 지를 결정하는 과정을 포함하는 방법.
  2. 제1항에 있어서,
    상기 결정하는 과정은, 상기 제1 어플리케이션 프로그램의 식별 정보가, 사전에 설정된 화이트 리스트(White List) 내에 포함된 식별 정보이면, 작동 모드인 비동결 상태로 계속 실행할 것을 결정하는 방법.
  3. 제2항에 있어서,
    상기 화이트 리스트는, 클러스터 홈, 메뉴 스크린, 시스템 팝업, 그리고 통지(Notification) 패널 중 어느 하나 이상에 해당하는 어플리케이션 프로그램의 식별 정보를 포함하는 방법.
  4. 제1항에 있어서,
    상기 결정하는 과정은, 상기 제1 어플리케이션 프로그램의 식별 정보가, 음악 또는 네비게이션 중 어느 하나 이상에 해당하고, 상기 제1 어플리케이션 프로그램이, 상기 후면 프로그램으로 전환되기 직전에 활성화 상태이면, 상기 비동결 상태로 계속 실행할 것을 결정하는 방법.
  5. 제1항에 있어서,
    상기 동결 상태의 제1 어플리케이션 프로그램에 대한 재실행(Resume)이 요청되면, 상기 제1 어플리케이션 프로그램을 전면 프로그램으로 다시 전환한 후, 정상 작동이 가능하게 데이터를 자동으로 업데이트하여 비동결 상태로 실행시키는 과정을 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 동결 상태의 제1 어플리케이션 프로그램에 대한 화면 전환(Back)이 요청되면, 상기 제1 어플리케이션 프로그램을 전면 프로그램으로 다시 전환한 후, 정상 작동이 가능하게 데이터를 자동으로 업데이트하여 비동결 상태로 실행시키는 과정을 더 포함하는 방법.
  7. 제6항에 있어서,
    상기 화면 전환에 의해 전면 프로그램으로 다시 전환되는 제1 어플리케이션 프로그램은, 상기 제2 어플리케이션 프로그램의 바로 아래 화면에 존재하는 후면 프로그램인 방법.
  8. 제1항에 있어서,
    상기 동결 상태의 제1 어플리케이션 프로그램에 대한 이벤트(Event)가 요청되면, 상기 제1 어플리케이션 프로그램을 전면 프로그램으로 다시 전환한 후 정상 작동이 가능하게 데이터를 자동으로 업데이트하여 비동결 상태로 실행시키는 과정을 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 이벤트는, 내부 또는 외부에서 발생한 단문메시지서비스(SMS), 멀티미디어서비스(MMS), 푸시(Push), 콜(Call), 그리고 알람(Alarm) 중 어느 하나 이상에 해당하는 이벤트인 방법.
  10. 제1항에 있어서,
    상기 동결 상태의 제1 어플리케이션 프로그램에 대한 종료(Terminate)가 요청되면, 상기 제1 어플리케이션 프로그램을 후면 프로그램 상태에서, 비동결 상태로 변경한 후 종료시키는 과정을 더 포함하는 방법.
  11. 제1항에 있어서,
    상기 전면 프로그램과 후면 프로그램은, 적어도 하나 이상의 어플리케이션 프로그램이 포함된 그룹으로 관리되는 방법.
  12. 전자 장치에 있어서,
    제1 어플리케이션 프로그램을 후 순위의 후면(Background) 프로그램으로 전환하고, 제2 어플리케이션 프로그램을 선 순위의 전면(Foreground) 프로그램으로 실행시키기 위한 프로세서; 및
    상기 전면 프로그램의 영상을 디스플레이 하기 위한 디스플레이 모듈을 포함하되,
    상기 프로세서는, 상기 제1 어플리케이션 프로그램의 식별 정보에 따라, 상기 후면 프로그램으로 전환된 상기 제1 어플리케이션 프로그램을, 슬립 모드인 동결(Frezze) 상태로 변경하거나, 작동 모드인 비동결(UnFreeze) 상태로 계속 실행할 지를 결정하는 장치.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 제1 어플리케이션 프로그램의 식별 정보가, 사전에 설정된 화이트 리스트(White List) 내에 포함된 식별 정보이면, 작동 모드인 비동결 상태로 계속 실행할 것을 결정하는 장치.
  14. 제13항에 있어서,
    상기 화이트 리스트는, 클러스터 홈, 메뉴 스크린, 시스템 팝업, 그리고 통지(Notification) 패널 중 어느 하나 이상에 해당하는 어플리케이션 프로그램의 식별 정보를 포함하는 장치.
  15. 제12항에 있어서,
    상기 프로세서는, 상기 제1 어플리케이션 프로그램의 식별 정보가, 음악 또는 네비게이션 중 어느 하나 이상에 해당하고, 상기 제1 어플리케이션 프로그램이, 상기 후면 프로그램으로 전환되기 직전에 활성화 상태이면, 상기 비동결 상태로 계속 실행할 것을 결정하는 장치.
  16. 제12항에 있어서,
    상기 프로세서는, 상기 동결 상태의 제1 어플리케이션 프로그램에 대한 재실행(Resume)이 요청되면, 상기 제1 어플리케이션 프로그램을 전면 프로그램으로 다시 전환한 후, 정상 작동이 가능하게 데이터를 자동으로 업데이트하여 비동결 상태로 실행시키는 장치.
  17. 제12항에 있어서,
    상기 프로세서는, 상기 동결 상태의 제1 어플리케이션 프로그램에 대한 화면 전환(Back)이 요청되면, 상기 제1 어플리케이션 프로그램을 전면 프로그램으로 다시 전환한 후, 정상 작동이 가능하게 데이터를 자동으로 업데이트하여 비동결 상태로 실행시키는 장치.
  18. 제12항에 있어서,
    상기 프로세서는, 상기 동결 상태의 제1 어플리케이션 프로그램에 대한 이벤트(Event)가 요청되면, 상기 제1 어플리케이션 프로그램을 전면 프로그램으로 다시 전환한 후 정상 작동이 가능하게 데이터를 자동으로 업데이트하여 비동결 상태로 실행시키는 장치.
  19. 제12항에 있어서,
    상기 프로세서는, 상기 동결 상태의 제1 어플리케이션 프로그램에 대한 종료(Terminate)가 요청되면, 상기 제1 어플리케이션 프로그램을 후면 프로그램 상태에서, 비동결 상태로 변경한 후 종료시키는 장치.
  20. 제1항의 방법을 수행하기 위한 프로그램이 저장된 컴퓨터 판독 가능 저장 매체.
KR1020130151183A 2013-12-06 2013-12-06 전자 장치의 멀티 태스킹 방법 및 그 전자 장치 KR102148948B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130151183A KR102148948B1 (ko) 2013-12-06 2013-12-06 전자 장치의 멀티 태스킹 방법 및 그 전자 장치
US14/562,226 US9690621B2 (en) 2013-12-06 2014-12-05 Multitasking method and electronic device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130151183A KR102148948B1 (ko) 2013-12-06 2013-12-06 전자 장치의 멀티 태스킹 방법 및 그 전자 장치

Publications (2)

Publication Number Publication Date
KR20150066083A true KR20150066083A (ko) 2015-06-16
KR102148948B1 KR102148948B1 (ko) 2020-08-27

Family

ID=53271266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130151183A KR102148948B1 (ko) 2013-12-06 2013-12-06 전자 장치의 멀티 태스킹 방법 및 그 전자 장치

Country Status (2)

Country Link
US (1) US9690621B2 (ko)
KR (1) KR102148948B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170035799A (ko) * 2015-09-23 2017-03-31 삼성전자주식회사 애플리케이션을 관리하는 방법 및 장치
KR20170108605A (ko) * 2016-03-18 2017-09-27 삼성전자주식회사 전자장치 및 그의 프로세스 재개 방법
CN110018905A (zh) * 2018-01-10 2019-07-16 广东欧珀移动通信有限公司 信息处理方法、装置、计算机设备和计算机可读存储介质
KR102088006B1 (ko) * 2019-10-28 2020-05-26 주식회사 에이치케이시스템 리소스모니터 분석을 통한 컴퓨터 시스템의 에너지 절감 방법
WO2022149970A1 (ko) * 2021-01-11 2022-07-14 삼성전자 주식회사 서비스 운용 방법 및 이를 지원하는 전자 장치

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114768A1 (en) 2008-10-31 2010-05-06 Wachovia Corporation Payment vehicle with on and off function
US10867298B1 (en) 2008-10-31 2020-12-15 Wells Fargo Bank, N.A. Payment vehicle with on and off function
US9830167B2 (en) * 2014-08-12 2017-11-28 Linkedin Corporation Enhancing a multitasking user interface of an operating system
US11429975B1 (en) 2015-03-27 2022-08-30 Wells Fargo Bank, N.A. Token management system
US11170364B1 (en) 2015-07-31 2021-11-09 Wells Fargo Bank, N.A. Connected payment card systems and methods
KR20170016752A (ko) * 2015-08-04 2017-02-14 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US10268254B2 (en) * 2016-01-15 2019-04-23 Google Llc Systems and methods for extending battery life by monitoring mobile application activity
US10430040B2 (en) * 2016-01-18 2019-10-01 Microsoft Technology Licensing, Llc Method and an apparatus for providing a multitasking view
US10776072B2 (en) * 2016-03-29 2020-09-15 Intel Corporation Technologies for framework-level audio device virtualization
CN106055394B (zh) * 2016-05-25 2018-11-06 宇龙计算机通信科技(深圳)有限公司 应用解冻方法及***
CN106095481A (zh) * 2016-05-31 2016-11-09 宇龙计算机通信科技(深圳)有限公司 一种静默安装应用程序处理方法及移动终端
CN106020484B (zh) * 2016-05-31 2019-03-22 宇龙计算机通信科技(深圳)有限公司 一种应用的冻结与解冻方法及应用操作***
CN106095553A (zh) * 2016-06-15 2016-11-09 依偎科技(南昌)有限公司 一种应用冻结方法及移动终端
CN106126324A (zh) * 2016-06-20 2016-11-16 依偎科技(南昌)有限公司 一种冻结应用程序的方法及终端
US11886611B1 (en) 2016-07-01 2024-01-30 Wells Fargo Bank, N.A. Control tower for virtual rewards currency
US11615402B1 (en) 2016-07-01 2023-03-28 Wells Fargo Bank, N.A. Access control tower
US11935020B1 (en) 2016-07-01 2024-03-19 Wells Fargo Bank, N.A. Control tower for prospective transactions
US10992679B1 (en) 2016-07-01 2021-04-27 Wells Fargo Bank, N.A. Access control tower
US11386223B1 (en) 2016-07-01 2022-07-12 Wells Fargo Bank, N.A. Access control tower
CN106200876B (zh) * 2016-07-11 2019-06-04 珠海市魅族科技有限公司 应用程序处理方法及***
KR20180013608A (ko) * 2016-07-29 2018-02-07 삼성전자주식회사 전자 장치의 전력 소모 감소를 위한 방법 및 장치
CN106295275B (zh) * 2016-07-29 2019-06-11 宇龙计算机通信科技(深圳)有限公司 一种应用冻结管理的方法、装置以及终端
CN106250225A (zh) * 2016-07-29 2016-12-21 宇龙计算机通信科技(深圳)有限公司 一种应用程序冻结方法及终端设备
CN106528211B (zh) * 2016-10-21 2020-06-26 北京安云世纪科技有限公司 一种应用程序的解除禁用方法及终端
CN106815040B (zh) * 2016-11-24 2020-10-23 北京安云世纪科技有限公司 进行应用更新的方法及装置
CN106775230B (zh) * 2016-12-09 2020-12-22 宇龙计算机通信科技(深圳)有限公司 一种应用冻结方法、装置及终端
CN106844029B (zh) * 2017-01-19 2020-06-30 努比亚技术有限公司 一种自管理的Android进程冻结和解冻的装置及方法
CN106909450A (zh) * 2017-02-28 2017-06-30 深圳天珑无线科技有限公司 进程管理方法、装置及终端
US11556936B1 (en) 2017-04-25 2023-01-17 Wells Fargo Bank, N.A. System and method for card control
US10592305B2 (en) * 2017-05-16 2020-03-17 Apple Inc. Application session and enhancement for a wearable electronic device
US11062388B1 (en) 2017-07-06 2021-07-13 Wells Fargo Bank, N.A Data control tower
JP6891072B2 (ja) * 2017-08-09 2021-06-18 オムロンヘルスケア株式会社 情報処理装置、受信方法、およびプログラム
KR102405752B1 (ko) * 2017-08-23 2022-06-08 삼성전자주식회사 어플리케이션 프로그램의 권한을 제어하는 방법 및 전자 장치
WO2019071615A1 (zh) 2017-10-13 2019-04-18 华为技术有限公司 一种降低终端功耗的方法及终端
CN110073336A (zh) * 2017-10-13 2019-07-30 华为技术有限公司 应用管理方法及终端
CN108055693B (zh) * 2017-10-26 2020-12-18 江苏知链科技有限公司 一种终端应用控制方法、终端及计算机可读存储介质
US11188887B1 (en) 2017-11-20 2021-11-30 Wells Fargo Bank, N.A. Systems and methods for payment information access management
CN109960572B (zh) * 2017-12-22 2020-06-02 北京三快在线科技有限公司 设备资源管理方法和装置以及智能终端
CN109992323B (zh) * 2017-12-29 2022-09-16 Oppo广东移动通信有限公司 进程处理方法和装置、电子设备、计算机可读存储介质
CN109992375B (zh) * 2017-12-29 2021-04-23 Oppo广东移动通信有限公司 信息处理方法、装置、计算机设备和计算机可读存储介质
CN109992380B (zh) * 2017-12-29 2021-06-08 Oppo广东移动通信有限公司 应用程序处理方法和装置、电子设备、计算机可读存储介质
CN110032429B (zh) * 2018-01-10 2022-03-18 Oppo广东移动通信有限公司 信息处理方法、装置、移动终端及计算机可读存储介质
CN109348353B (zh) * 2018-09-07 2020-04-14 百度在线网络技术(北京)有限公司 智能音箱的服务处理方法、装置和智能音箱
CN110908727A (zh) * 2018-09-14 2020-03-24 中兴通讯股份有限公司 应用的冻结方法及装置, 存储介质及电子装置
CN109725702A (zh) 2018-12-28 2019-05-07 三星电子(中国)研发中心 一种基于ai预测的智能终端节能方法和设备
WO2020133441A1 (zh) * 2018-12-29 2020-07-02 深圳市欢太科技有限公司 应用程序的管理方法、装置、存储介质及电子设备
CN110069322B (zh) * 2019-03-21 2023-12-05 努比亚技术有限公司 后台应用的处理方法、终端设备及存储介质
CN111857859A (zh) * 2019-04-30 2020-10-30 中兴通讯股份有限公司 应用控制方法、装置、终端及计算机可读存储介质
CN110691401B (zh) * 2019-08-28 2021-04-09 华为技术有限公司 一种***应用的管理方法及装置
US11054962B1 (en) * 2019-12-16 2021-07-06 Digits Financial, Inc. System and method for displaying changes to a number of entries in a set of data between page views
US11048378B1 (en) 2019-12-16 2021-06-29 Digits Financial, Inc. System and method for tracking changes between a current state and a last state seen by a user
US10992606B1 (en) 2020-09-04 2021-04-27 Wells Fargo Bank, N.A. Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets
CN112433831A (zh) * 2020-11-17 2021-03-02 珠海格力电器股份有限公司 应用冻结方法、存储介质及电子设备
US11546338B1 (en) 2021-01-05 2023-01-03 Wells Fargo Bank, N.A. Digital account controls portal and protocols for federated and non-federated systems and devices
CN113010228A (zh) * 2021-03-19 2021-06-22 Oppo广东移动通信有限公司 内存处理方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030035555A (ko) * 2001-10-31 2003-05-09 주식회사 팬택앤큐리텔 이동 통신 단말기에 있어서 다중 작업을 위한 디스플레이구현/전환 방법
KR100881218B1 (ko) * 2007-12-28 2009-02-05 (주)케이티에프테크놀로지스 복수의 어플리케이션을 동시에 구동하는 이동 통신 단말기
KR20130048290A (ko) * 2010-04-07 2013-05-09 애플 인크. 기회적 멀티태스킹
KR20130070311A (ko) * 2011-12-19 2013-06-27 엘지전자 주식회사 이동 단말기
KR20130127445A (ko) * 2010-10-25 2013-11-22 마이크로소프트 코포레이션 어플리케이션 수명 관리

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075675A (en) * 1988-06-30 1991-12-24 International Business Machines Corporation Method and apparatus for dynamic promotion of background window displays in multi-tasking computer systems
US5542088A (en) * 1994-04-29 1996-07-30 Intergraph Corporation Method and apparatus for enabling control of task execution
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US20130024812A1 (en) * 2011-07-13 2013-01-24 Z124 Foreground/background assortment of hidden windows
US7647591B1 (en) * 2001-09-26 2010-01-12 Palmsource Inc. Method for dynamically enabling the expansion of a computer operating system
JP2003162355A (ja) * 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器
JP2003319062A (ja) * 2002-04-23 2003-11-07 Nec Corp ハンズフリー携帯電話機およびハンズフリー切替プログラム
JP2004237392A (ja) * 2003-02-05 2004-08-26 Sony Corp ロボット装置、及びロボット装置の表現方法
US20050034124A1 (en) * 2003-03-27 2005-02-10 House Eric Edward Mechanism for simultaneously operating multiple applications on a personal digital assistant implementing a palm operating system
GB0315492D0 (en) * 2003-07-02 2003-08-06 Symbian Ltd A method of enabling a multitasking wireless information device to conserve battery power
US20050164688A1 (en) * 2004-01-27 2005-07-28 Kyocera Corporation Mobile terminal, method for controlling mobile telephone terminal, and mobile telephone terminal
KR100590560B1 (ko) 2004-11-19 2006-06-19 에스케이 텔레콤주식회사 휴대 단말기에서 운용되는 애플리케이션 플랫폼과 휴대단말기 운영 체제 간의 인터페이스 방법 및 장치
EP1920539A1 (en) * 2005-08-26 2008-05-14 KTF Technologies, Inc. User terminal for performing a plurality of applications simultaneously
KR20080009415A (ko) * 2006-07-24 2008-01-29 엘지전자 주식회사 백그라운드 태스크 제어 방법 및 이를 수행하기 위한이동통신 단말기
KR100784973B1 (ko) * 2006-09-11 2007-12-11 삼성전자주식회사 영상 데이터의 변조를 이용한 영역 표시 방법
KR20080024734A (ko) * 2006-09-14 2008-03-19 삼성전자주식회사 웹문서 구성 장치 및 방법과 웹문서 배열 설정 장치
KR101367547B1 (ko) * 2007-04-16 2014-02-27 엘지전자 주식회사 이동통신단말기의 동적 커서 표시방법 및 그이동통신단말기
KR101548958B1 (ko) * 2008-09-18 2015-09-01 삼성전자주식회사 휴대단말기의 터치스크린 동작 제어 방법 및 장치
KR101569776B1 (ko) * 2009-01-09 2015-11-19 삼성전자주식회사 접히는 표시부를 가지는 휴대 단말기 및 이의 운용 방법
KR101144346B1 (ko) * 2009-02-20 2012-05-11 에스케이플래닛 주식회사 자바 애플리케이션 관리 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
KR101601040B1 (ko) * 2009-05-19 2016-03-09 삼성전자주식회사 휴대 단말기의 화면 표시 방법 및 이를 지원하는 휴대 단말기
KR101651128B1 (ko) * 2009-10-05 2016-08-25 엘지전자 주식회사 이동 단말기 이것의 애플리케이션 실행 제어 방법
KR101633335B1 (ko) * 2009-12-07 2016-06-24 엘지전자 주식회사 이동 단말기 및 이것의 애플리케이션 제어 방법
CN101788926B (zh) * 2009-12-28 2014-04-30 中兴通讯股份有限公司 J2me应用前台切换的资源调配方法及装置
KR101690786B1 (ko) * 2010-02-12 2016-12-28 삼성전자주식회사 멀티태스킹 수행 장치 및 방법
WO2011108797A1 (en) * 2010-03-03 2011-09-09 Lg Electronics Inc. Mobile terminal and control method thereof
EP2390758A1 (en) * 2010-05-25 2011-11-30 Samsung Electronics Co., Ltd. Method and apparatus for managing an application being executed in a portable terminal
TWI448889B (zh) * 2010-08-27 2014-08-11 Htc Corp 具有動態調整運作模式機制之電子裝置及其方法
US9727177B2 (en) * 2011-02-23 2017-08-08 Kyocera Corporation Electronic device with a touch sensor
WO2012127596A1 (ja) * 2011-03-19 2012-09-27 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
JP5620331B2 (ja) * 2011-04-26 2014-11-05 京セラ株式会社 携帯電子機器、制御方法および制御プログラム
EP3324665B1 (en) * 2011-04-27 2022-03-30 Seven Networks, LLC Detection and filtering of malware based on traffic observations made in a distributed mobile traffic management system
US9183047B2 (en) * 2011-05-13 2015-11-10 Samsung Electronics Co., Ltd. Classifying requested application based on processing and response time and scheduling threads of the requested application according to a preset group
JP5883578B2 (ja) * 2011-06-03 2016-03-15 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理方法、情報処理システム
KR101841590B1 (ko) * 2011-06-03 2018-03-23 삼성전자 주식회사 멀티태스킹 인터페이스 제공 방법 및 장치
US20120317498A1 (en) * 2011-06-07 2012-12-13 Research In Motion Limited Electronic communication device and method for displaying icons
WO2013015994A1 (en) * 2011-07-27 2013-01-31 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
US20130215127A1 (en) * 2011-08-31 2013-08-22 Nokia Corporation Method, apparatus and computer program product for managing rendering of content
US9032413B2 (en) * 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
JP2013135242A (ja) 2011-12-23 2013-07-08 Sharp Corp 携帯端末、アプリケーションソフト制御方法、アプリケーションソフト制御プログラム及び記録媒体
CN103188653B (zh) * 2011-12-27 2016-06-08 华为终端有限公司 接收数据的方法、发送数据的方法、移动终端和服务器
KR102006470B1 (ko) * 2011-12-28 2019-08-02 삼성전자 주식회사 사용자 디바이스에서 멀티태스킹 운용 방법 및 장치
WO2013116856A1 (en) * 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
JP5840525B2 (ja) * 2012-02-16 2016-01-06 シャープ株式会社 情報処理装置
KR101356867B1 (ko) * 2012-03-12 2014-01-29 한국과학기술원 안드로이드 운영체제에서의 어플리케이션 분류방법, 그리고 안드로이드 운영체제에서의 어플리케이션 분류 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
JP5853817B2 (ja) * 2012-03-28 2016-02-09 富士通株式会社 情報処理装置、制御方法及び制御プログラム
US9690563B2 (en) * 2012-05-17 2017-06-27 International Business Machines Corporation Updating web resources
JP5849857B2 (ja) * 2012-05-29 2016-02-03 株式会社デンソー 近距離無線通信装置
GB201210600D0 (en) * 2012-06-14 2012-08-01 Microsoft Corp Call invites
US9286115B2 (en) * 2012-06-21 2016-03-15 Microsoft Technology Licensing, Llc Performant runtime pause with no CPU utilization
US9007239B1 (en) * 2012-07-02 2015-04-14 Amazon Technologies, Inc. Reduction of memory consumption
US20140013271A1 (en) * 2012-07-05 2014-01-09 Research In Motion Limited Prioritization of multitasking applications in a mobile device interface
WO2014024917A1 (ja) * 2012-08-10 2014-02-13 京セラ株式会社 携帯端末装置および携帯端末装置の制御方法
US9201693B2 (en) * 2012-09-04 2015-12-01 Microsoft Technology Licensing, Llc Quota-based resource management
US9489236B2 (en) * 2012-10-31 2016-11-08 Microsoft Technology Licensing, Llc Application prioritization
CN103809725B (zh) * 2012-11-12 2017-03-29 联想(北京)有限公司 一种电子设备及基于该电子设备的状态切换方法
US20140177497A1 (en) * 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US10251034B2 (en) * 2013-03-15 2019-04-02 Blackberry Limited Propagation of application context between a mobile device and a vehicle information system
US10078372B2 (en) * 2013-05-28 2018-09-18 Blackberry Limited Performing an action associated with a motion based input
KR20150026565A (ko) * 2013-09-03 2015-03-11 엘지전자 주식회사 디스플레이 장치 및 그것의 제어방법
US9841944B2 (en) * 2013-10-28 2017-12-12 Lenovo (Beijing) Co., Ltd. Method for processing information and electronic apparatus
US9250953B2 (en) * 2013-11-12 2016-02-02 Oxide Interactive Llc Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030035555A (ko) * 2001-10-31 2003-05-09 주식회사 팬택앤큐리텔 이동 통신 단말기에 있어서 다중 작업을 위한 디스플레이구현/전환 방법
KR100881218B1 (ko) * 2007-12-28 2009-02-05 (주)케이티에프테크놀로지스 복수의 어플리케이션을 동시에 구동하는 이동 통신 단말기
KR20130048290A (ko) * 2010-04-07 2013-05-09 애플 인크. 기회적 멀티태스킹
KR20130127445A (ko) * 2010-10-25 2013-11-22 마이크로소프트 코포레이션 어플리케이션 수명 관리
KR20130070311A (ko) * 2011-12-19 2013-06-27 엘지전자 주식회사 이동 단말기

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170035799A (ko) * 2015-09-23 2017-03-31 삼성전자주식회사 애플리케이션을 관리하는 방법 및 장치
KR20170108605A (ko) * 2016-03-18 2017-09-27 삼성전자주식회사 전자장치 및 그의 프로세스 재개 방법
CN110018905A (zh) * 2018-01-10 2019-07-16 广东欧珀移动通信有限公司 信息处理方法、装置、计算机设备和计算机可读存储介质
CN110018905B (zh) * 2018-01-10 2023-05-05 Oppo广东移动通信有限公司 信息处理方法、装置、计算机设备和计算机可读存储介质
KR102088006B1 (ko) * 2019-10-28 2020-05-26 주식회사 에이치케이시스템 리소스모니터 분석을 통한 컴퓨터 시스템의 에너지 절감 방법
WO2022149970A1 (ko) * 2021-01-11 2022-07-14 삼성전자 주식회사 서비스 운용 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
US20150160976A1 (en) 2015-06-11
KR102148948B1 (ko) 2020-08-27
US9690621B2 (en) 2017-06-27

Similar Documents

Publication Publication Date Title
KR102148948B1 (ko) 전자 장치의 멀티 태스킹 방법 및 그 전자 장치
CN109074158B (zh) 电子设备及其启动应用的方法
KR102147088B1 (ko) 전자장치에서 수신된 정보를 사용자에게 제공하기 위한 방법 및 장치
US20210389973A1 (en) Electronic device and method for operating the same
CN107852527B (zh) 控制视频的共享的方法以及适配该方法的电子设备
KR20150037066A (ko) 전자 장치의 디스플레이 방법 및 그 전자 장치
KR20150054413A (ko) 시선 데이터에 따라 컨텐츠의 위치를 결정하는 전자 장치 및 방법
US10198057B2 (en) Electronic device and method for measuring position change
US10432926B2 (en) Method for transmitting contents and electronic device thereof
KR102480895B1 (ko) 전자 장치 및 전자 장치의 동작 제어 방법
KR20150022335A (ko) 이동 통신 시스템에서 전자 장치의 통신 수행 방법 및 장치
KR20150026056A (ko) 곡면 바닥을 가지는 전자 장치 및 그 동작 방법
KR20150051663A (ko) 터치 입력에 반응하여 기능을 실행하는 방법 및 이를 구현하는 전자장치
KR20150051816A (ko) 메시지 어플리케이션 운영 방법 및 이를 구현하는 전자 장치
KR102157858B1 (ko) 전력 소모를 줄일 수 있는 전자 장치 및 방법
KR20150066876A (ko) 사용자 인터페이스 제어 방법 및 그 전자 장치
KR20150051078A (ko) 전자 장치의 락 스크린 디스플레이 방법 및 그 전자 장치
KR20150051497A (ko) 전자 장치의 적외선 통신 방법 및 그 전자 장치
KR20180014569A (ko) 근거리 무선 통신 네트워크에서 스캔 방법 및 이를 구현하는 전자 장치
KR20150075140A (ko) 전자 장치의 메시지 제어 방법 및 그 전자 장치
KR20180020401A (ko) 통신망 연결 제어 방법, 저장 매체 및 이를 위한 전자 장치
US10237087B2 (en) Method for controlling transmission speed and electronic device thereof
KR20150085996A (ko) 전자 센서 모듈의 노이즈 회피를 위한 디스플레이 구동 주파수 시프트 방법 및 장치
KR20150117968A (ko) 입력방향에 따라 기능을 전환하는 전자 장치 및 방법
KR20150068136A (ko) 전자 장치의 컨텐츠 다운로드 방법 및 그 전자 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right