KR20150010563A - 캐싱 방법 및 그 전자 장치 - Google Patents

캐싱 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20150010563A
KR20150010563A KR20140041105A KR20140041105A KR20150010563A KR 20150010563 A KR20150010563 A KR 20150010563A KR 20140041105 A KR20140041105 A KR 20140041105A KR 20140041105 A KR20140041105 A KR 20140041105A KR 20150010563 A KR20150010563 A KR 20150010563A
Authority
KR
South Korea
Prior art keywords
electronic device
content
person
preloaded
cache memory
Prior art date
Application number
KR20140041105A
Other languages
English (en)
Other versions
KR102273109B1 (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 삼성전자주식회사
Publication of KR20150010563A publication Critical patent/KR20150010563A/ko
Application granted granted Critical
Publication of KR102273109B1 publication Critical patent/KR102273109B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/171Portable consumer electronics, e.g. mobile phone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 다양한 실시예에 따르면, 전자 장치의 동작 방법은, 프리로드(pre-load)할 특정 컨텐츠를 결정하는 동작과, 상기 특정 컨텐츠가 프리로드될 상황을 결정하는 동작과, 상기 전자 장치의 상황을 감시하는 동작과, 상기 프리로드될 상황이 감지되면, 상기 특정 컨텐츠가 캐시 메모리에 존재하는지 여부를 결정하는 동작, 및 상기 특정 컨텐츠가 상기 캐시 메모리에 존재하지 않는 경우, 상기 특정 컨텐츠를 상기 캐시 메모리에 로드하는 동작을 포함할 수 있다.
또한, 다른 실시예가 가능하다.

Description

캐싱 방법 및 그 전자 장치{METHOD FOR CACHING AND ELECTRONIC DEVICE THEREOF}
본 발명의 실시예는 캐싱 방법 및 그 전자 장치에 관한 것이다.
스마트 폰 또는 태블릿 PC와 같은 전자 장치는 통상적으로 크기, 무게, 가격 등의 문제로 전자 장치에 설치되는 메모리의 용량이 제한된다. 따라서, 전자 장치는 모든 가용 메모리를 사용하여 어플리케이션을 실행하도록 시도되고 있다. 예를 들어, 리눅스나 안드로이드(예; 리눅스 커널을 기반으로 한 전자 장치의 운영 체제)와 같은 운영체제에서, 기존의 메모리 관리 기술은 정적 프로세스 정보를 기반으로 하여 삭제할 어플리케이션을 선택할 수 있다.
데스크탑 컴퓨터는 그 능력을 증대시키기 위해 많은 양의 메모리가 제공될 수 있는 반면, 휴대 전자 장치는 가용 메모리의 제한으로 인해 동시에 실행되는 다수의 어플리케이션을 유지하는 것이 불가능하다.
본 발명의 다양한 실시예에 따르면, 캐시 메모리를 효과적으로 운용할 수 있는 캐싱 방법 및 그 전자 장치를 제공한다.
본 발명의 다양한 실시예에 따르면, 사용자의 요구에 따라 적응적으로 어플리케이션을 프리로드(pre-load)하기 위한 캐싱 방법 및 그 전자 장치를 제공한다.
본 발명의 다양한 실시예에 따르면, 전자 장치의 동작 방법은, 프리로드(pre-load)할 특정 컨텐츠를 결정하는 동작과, 상기 특정 컨텐츠가 프리로드될 상황을 결정하는 동작과, 상기 전자 장치의 상황을 감시하는 동작과, 상기 프리로드될 상황이 감지되면, 상기 특정 컨텐츠가 캐시 메모리에 존재하는지 여부를 결정하는 동작, 및 상기 특정 컨텐츠가 상기 캐시 메모리에 존재하지 않는 경우, 상기 특정 컨텐츠를 상기 캐시 메모리에 로드하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치는, 캐시 메모리와, 입출력 모듈, 및 상기 캐시 메모리에 프리로드할 특정 컨텐츠를 결정하기 위한 적어도 하나의 프로세서를 포함하고, 상기 프로세서는, 상기 특정 컨텐츠가 프리로드될 상황을 결정하고, 상기 전자 장치의 상황을 감시하고, 상기 프리로드될 상황이 감지되면, 상기 특정 컨텐츠가 상기 캐시 메모리에 존재하는지 여부를 결정하고, 상기 특정 컨텐츠가 상기 캐시 메모리에 존재하지 않는 경우, 상기 특정 컨텐츠를 상기 캐시 메모리에 로드하도록 설정된 프로세서를 포함할 수 있다.
다양한 실시예에 따른 캐싱 방법 및 그 전자 장치는, 한정된 캐시 메모리를 효과적으로 운용함으로써, 전자 장치의 메모리 효율을 향상시킬 수 있다. 다양한 실시예에 따른 캐싱 방법 및 그 전자 장치는, 사용자의 요구에 따라 적응적으로 어플리케이션을 프리로드(pre-load)함으로써, 다수의 어플리케이션을 동시에 운용할 수 있다.
도 1은 본 발명의 실시예에 따른 전자 장치의 사시도이다.
도 2는 본 발명의 실시예에 따른 전자 장치의 기능 블록도이다.
도 3은 본 발명의 실시예에 따른 전자 장치에서 캐시 메모리에 컨텐츠를 프리로드하기 위한 방법을 나타내는 흐름도이다.
도 4는 본 발명의 실시예에 따른 전자 장치에서 프리로드할 어플리케이션을 결정하기 위한 방법을 나타내는 흐름도이다.
도 5a 내지 도 5d는 본 발명의 실시예에 따른 전자 장치의 사용을 보여주기 위한 도면이다.
도 6a 내지 도 6d는 본 발명의 실시예에 따른 전자 장치의 사용을 보여주기 위한 도면이다.
도 7a 내지 도 7d는 본 발명의 실시예에 따른 전자 장치의 사용을 보여주기 위한 도면이다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는 “포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시예에서 사용된 “제1,”“제2,”“첫째,”또는“둘째,”등의 표현들은 본 발명의 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 제1 전자 장치와 제2 전자 장치는 모두 전자 장치이며, 서로 다른 전자 장치를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예에 따른 전자 장치는, 캐싱 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 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 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 캐싱 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들어, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSync™, 애플TV™, 또는 구글TV™), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 각종 의료기기(예: 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), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 또는 산업용 또는 가정용 로봇 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 캐싱 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 실시예에 따른 전자 장치의 사시도이다.
도 1을 참조하면, 전자 장치(200)에서 제공되는 캐시 메모리의 용량은 한정될 수 있다. 예를 들어, 데이터를 로드하거나 어플리케이션을 실행하기 위해서는 캐시 메모리의 일부분만이 사용될 수 있다. 예를 들어, 실행 가능한 어플리케이션은 메인 메모리 또는 서버로부터 캐시 메모리로 로드될 수 있으며, 플래쉬 메모리에서 실행될 수 있다. 따라서, 어플리케이션이 실행되기 전에, 캐시 메모리에 큰 용량의 어플리케이션이 로드될 때에는 상당한 지연이 발생할 수 있다.
한 실시예에 따르면, 전자 장치(200) 사용자는 캐시 메모리를 확장하거나 기능 보완을 할 수 없다. 예를 들어, 전자 장치(200)에서 저장되거나 실행되는 각 시스템의 어플리케이션과 사용자 어플리케이션은 캐시 메모리가 필요하다. 어플리케이션이 선택되면, 어플리케이션은 캐시 메모리에 로드될 수 있다. 원하는 어플리케이션이 실행되기 위한 캐시 메모리의 용량이 충분하지 않은 경우, 해당 어플리케이션은 차단되거나 사용할 수 없게 되므로, 해당 어플리케이션은 캐시 메모리로부터 삭제될 수 있다. 또한, 사용자가 동시에 다수의 어플리케이션을 실행하는 경우, 가용 캐시 메모리는 가득차게 되고, 더 이상 추가적인 어플리케이션을 실행하기 위한 캐시 메모리의 용량이 부족해질 수 있다. 따라서, 메모리 전체의 용량을 사용하여 어플리케이션을 실행할 경우, 추가적인 어플리케이션을 실행하기 위해 메모리 할당에 필요한 여유 공간이 부족해질 수 있다.
도 2는 본 발명의 실시예에 따른 전자 장치의 기능 블록도이다.
도 2를 참조하면, 전자 장치(200)는 적어도 하나의 프로세서(210) 및 메모리(220)를 포함할 수 있다. 메모리(220)는 실행 가능한 코드 및 데이터를 저장할 수 있다. 예를 들어, 실행 가능한 코드는 운영체제 또는 사용자 어플리케이션과 같은 시스템 소프트웨어를 포함할 수 있다. 프로세서(210)는 적어도 하나의 캐시 메모리(211)를 포함할 수 있다. 캐시 메모리(211)에는 어플리케이션 실행 시, 어플리케이션 소프트웨어가 로드될 수 있다. 예를 들어, 프로세서(210)는 메모리(220)를 액세스하는 속도보다 빠른 속도로 캐시 메모리(211)를 액세스할 수 있다. 하지만, 캐시 메모리(211)는 메모리(220)보다 훨씬 작은 메모리 용량을 가질 수 있다. 한 실시예에 따르면, 사용 중인 어플리케이션 및 데이터는 메모리(220)로부터 캐시 메모리(211)로 로드될 수 있다.
전자 장치(200)는 디스플레이(230), 오디오 프로세서(240) 및 입력 모듈(250)을 포함할 수 있다. 입력 모듈(250) 및 디스플레이(230)는 하나의 모듈로써 조합될 수 있으며, 예를 들어 터치 스크린으로 구현될 수 있다. 오디오 프로세서(240)는 오디오 입력을 위한 마이크로폰과, 오디오 출력을 위한 스피커를 제어할 수 있다. 또한, 전자 장치(200)는 무선 통신 모듈(260)을 포함하도록 구성될 수 있다.
예를 들어, 전자 장치(200)는 어플리케이션이 실행될 경우, 어플리케이션을 실행하기 위한 할당된 캐시 메모리를 가질 수 있고, 해당 어플리케이션은 캐시 메모리(220)로 로드될 수 있다. 일반적으로, 메모리(220)에 저장되는 어플리케이션은 캐시 메모리(211)에서 사용할 수 있는 메모리 공간보다 훨씬 많은 메모리 공간을 차지할 수 있다. 따라서, 한 실시예에 따른 전자 장치(200)의 운영 체제는 어플리케이션 실행에 필요한 캐시 메모리(211)를 할당하기 위한 메모리 관리 모듈을 포함할 수 있다. 예를 들어, 메모리 관리 모듈은 다른 프로그램을 원활하게 사용하기 위하여, 더 이상 요청되지 않은 캐시 메모리(211)의 메모리 할당을 해제할 수 있다. 이러한 운영 체제 또는 전화 기능과 같은 일부 어플리케이션은 캐시 메모리(211)에서 항상 로드되거나 실행된 상태로 유지될 수 있다. 예를 들어, 게임 또는 이메일과 같은 어플리케이션들의 경우, 해당 어플리케이션이 실행되거나 호출될 때에만 캐시 메모리(211)에 로드될 수 있다.
한 실시예에 따르면, 전자 장치(200) 사용자는 어플리케이션을 실행하거나, 설치하거나, 또는 삭제하는 등의 다양한 어플리케이션 관련 기능을 수행할 수 있는 접근 권한을 가질 수 있다. 전자 장치(200)에서 동작하는 통화 송수신 어플리케이션과 같은 필수적인 어플리케이션들은, 사용자가 설치하거나 삭제할 수 있는 어플리케이션들 사이에 나열되지 않을 수 있다. 예를 들어, 필수적인 어플리케이션들은 사용자에 의해 재구성될 수 있다. 예를 들어, 사용자는 발신자의 신원에 따라 다른 벨소리, 또는 호를 수신할 때의 표시되는 영상 등을 선택할 수 있다.
상술한 방식으로 실행되도록 요구되지 않는 어플리케이션에 대해서는, 사용자는 업데이트 또는 초기화를 위한 시간 지연을 방지하기 위해, 하나 이상의 어플리케이션이 특정 상황에서 메모리에 로드되거나 실행되도록 유지되는 것을 원할 수 있다. 한 실시예에 따르면, 전자 장치(200)는 사용자의 직장 내 가상 사설망(VPN; virtual private network)에 접근할 수 있는 이메일과 같은 어플리케이션들을 포함할 수 있다. 또한, 전자 장치(200)는 사용자가 가정에서 손쉽게 이용할 수 있는 스트리밍 비디오 선택 어플리케이션, 레시피 가이드, 또는 게임과 같은 어플리케이션들을 더 포함할 수 있다. 또한, 전자 장치(200)는 사용자가 차에 있을 경우 또는 다른 사용자와 연결되어 함께 게임을 할 수 있는 상황 등에서, 네비게이션 또는 게임 어플리케이션 등과 같이 손쉽게 이용할 수 있는 다양한 어플리케이션들을 포함할 수 있다.
한 실시예에 따르면, 전자 장치(200)는 상황에 따라 자동적으로 메모리에 로드되거나 또는 백그라운드에서 실행될 수 있는 하나 이상의 어플리케이션들을 선택할 수 있다. 각각의 어플리케이션의 경우, 전자 장치(200)는 하나 이상의 그룹에서 어플리케이션을 추가하기 위한 기능을 포함할 수 있다. 예를 들어, 전자 장치(200)는 사용자의 근무시간 동안 이용할 수 있는 "직장" 어플리케이션 그룹을 포함할 수 있다. 예를 들어, 전자 장치(200)는 사용자의 편리 또는 직관성을 위해 다양한 방식으로 그룹을 정의할 수 있다. 또한, 어플리케이션은 상술한 그룹의 구성요소가 될 수 있다.
한 실시예에 따르면, 전자 장치(200)가 정의한 각각의 그룹의 어플리케이션들은 해당 그룹의 기준에 따라 메모리에 로드되거나, 백그라운드에서 실행될 수 있다. 예를 들어, "직장" 그룹의 경우, 전자 장치(200)는 월요일부터 금요일까지의 오전 9시부터 오후 6시까지, 즉 보통의 사용자의 근무 일정을 포함하는 환경을 정의할 수 있다. 예를 들어, "직장" 어플리케이션은 메모리에 로드될 수 있으며, 예정된 시간 동안 지체 없이 사용될 수 있도록 준비될 수 있다. 일주일 중 특정일, 한달 중 특정일, 지정된 날짜, 또는 지정된 시간 등은 메모리에서 어플리케이션을 로드할지 여부를 결정하는 기준으로 사용될 수 있다.
한 실시예에 따르면, 상술한 그룹에는 더 많은 실행 기준이 추가될 수 있다. 예를 들어, 전자 장치(200)는 사용자가 추가근무를 하는 경우, 전자 장치(200)가 와이파이 라우터를 감지할 때마다 "직장" 그룹에서 실행시킬 어플리케이션을 결정할 수 있다. 따라서, 사용자가 근무시간 외에 주말에 사무실로 출근하는 경우, 전자 장치(200)는 사용자가 와이파이 라우터의 인근 지역에 들어감에 따라 "직장" 어플리케이션을 메모리로 로드시킬 수 있다. 전자 장치(200)가 감지할 수 있는 무선 라우터 등의 신호는 메모리에서 어플리케이션을 로드할지 여부를 결정하는 기준으로 사용될 수 있다.
다른 예를 들어, 전자 장치(200)의 위치는 어플리케이션의 실행 기준으로 사용될 수 있다. 전자 장치(200)의 위치는, 식별된 라우터의 위치, 알려진 신호의 소스들 간의 삼각 측량 방식, GPS(global positioning system) 신호 수신, 체크-인 서비스(예; 포스퀘어(foursquare), 옐프(yelp), 페이스북 등), 스캔 이미지, 근거리 무선 통신 등에 의해 결정될 수 있다.
한 실시예에 따르면, 어플리케이션은 지정된 시간에 메모리에 로드될 수 있다. 예를 들어, 전자 장치(200)는 사용자가 특정 날짜에 가족 휴가 모임에 참석한다는 것을 확인할 수 있다. 전자 장치(200)는 사용자의 일정에 "가족" 그룹에 대한 날짜를 입력할 수 있으며, 해당 날에 "가족" 그룹과 연관된 어플리케이션을 메모리에 로드시킬 수 있다.
한 실시예에 따르면, 어플리케이션을 실행시키거나, 메모리에 로드시키기 위한 기준은 조합될 수 있다. 예를 들어, 전자 장치(200)는 사용자가 집에 위치할 때마다 또는 사용자 일정에 "가족" 그룹과 연관된 데이터를 입력할 때마다 "가족" 그룹의 어플리케이션을 로드하도록 결정할 수 있다.
한 실시예에 따르면, 어플리케이션의 실행은 상술한 바와 같이 예시적으로 사용될 수 있으나 이에 국한되지는 않으며, 데이터 또는 파일이 동일한 방식으로 메모리에 로드될 수 있다. 예를 들어, 전자 장치(200)는 "가족" 그룹 하단의 항목들 사이에 로드하고 싶은 사진 갤러리를 포함할 수 있다. 만일, 전자 장치(200)가 사진을 로드할 수 없는 상황일지라도, 사진 갤러리는 이전에 메모리에 "가족" 그룹의 구성요소로써 로드되었기 때문에, 전자 장치(200)는 여전히 해당 사진을 공유할 수 있다.
한 실시예에 따르면, 특정 메모리 자원은 메모리에 로드된 어플리케이션 또는 데이터를 위해 사용될 수 있다. 예를 들어, 사용자는 일반적으로 자신의 사진을 소셜 미디어 사이트의 온라인 사진 공유 사이트에 저장할 수 있다. 해당 사진은 전체적으로 선택될 수 있고, 포토 앨범 또는 메타데이터와 같은 특정 프로그램에 따라 선택될 수 있다. 사용자는 자신의 "자녀" 앨범의 사진만을 "가족" 그룹에 로드할 수 있으며, "프로젝트" 앨범의 사진은 로드하지 않을 수 있다. 마찬가지로, 사용자는 사진의 인물 태그 정보, 사진의 위치, 사진의 날짜 또는 시간 등과 같은 특정 메타데이터를 포함한 특정 사진을 로드할 수 있다.
한 실시예에 따르면, 특정 데이터 또는 어플리케이션은 여러 그룹 내에 포함될 수 있다. 예를 들어, 가족업무 중인 사용자는, "직장" 그룹과 "가족" 그룹 모두가 포함됨으로써, 그의 부인의 전자 장치를 포함할 수 있다.
특정 데이터 또는 어플리케이션은 그것이 특정 그룹에 속해 있는지에 상관없이 메모리에 로드되도록 지정될 수 있다. 사용자는 예를 들어, 자신이 취업 박람회에 참석하기로 예정한 날짜에, 이력서를 메모리에 로드하도록 선택할 수 있다. 따라서, 사용자는 취업 박람회에 있는 동안 서버에 저장된 문서를 다운로드하기 위한 신호가 없을 경우일지라도, 사용자의 이력서는 고용주에게 제공되기 위해 자신의 메모리에 로드될 수 있다.
상술한 바와 같이, 사용자는 다양한 상황에서 메모리에 로드하기를 원하는 어플리케이션 및 데이터를 선택할 수 있다. 그러나 본 발명의 실시예는 이에 국한되지는 않는다.
예를 들어, 전자 장치(200)의 운영체제는 어플리케이션이 실행되거나, 데이터가 로드 시(예: 메타데이터)의 다양한 상황을 추적할 수 있다. 운영체제는 어플리케이션 또는 데이터의 사용의 패턴을 감지할 수 있고, 유사한 사용 패턴에 따라 기존의 그룹에 어플리케이션이나 데이터를 추가하는 것을 사용자에게 추천할 수 있다. 만일, 유사한 사용 패턴을 가지는 그룹이 없는 경우, 운영체제는 새로운 그룹을 추가하는 것을 추천할 수 있고, 사용자가 이러한 상황에서 어플리케이션이나 데이터를 프리로드하기를 원하는 경우, 단순히 물어볼 수도 있다. 운영체제는 사용 패턴이 지정된 임계값을 초과할 시, 사용자에게 메시지를 표시하도록 설정될 수 있다. 지정된 임계값은 위치, 시간, 주 또는 월의 요일, 날짜, 사용 빈도, 신호의 근접, 달력에서의 특정 이벤트 존재 등과 같이 감지될 수 있는 특정 기준값 또는 그들의 조합에 기반할 수 있다.
예를 들어, 사용자가 직장 상사 또는 고객과의 예약된 미팅 시간을 알려주는 프로젝트를 로드하는 경우, 운영체제는 해당 프로젝트를 감지하고, 상사의 전자 장치를 감지할 때마다 또는 사용자의 일정이 상사나 고객과의 예약된 미팅을 포함할 때마다 해당 프로젝트를 프리로드할지를 물어볼 수 있다.
한 실시예에 따르면, 전자 장치(200)는 특정 사람이 근접할 것으로 예상되는 경우, 해당 어플리케이션 또는 데이터를 프리로드하도록 결정할 수 있다.
예를 들어, 사용자는 회의가 있거나 또는 특정 사람과 예정된 만남이 있는 경우, 자신의 주소록으로부터 일정표로 항목을 복사할 수 있다. 또한, 전자 장치(200)는 주소록에 등록된 특정 사람의 단말의 신호를 가질 수 있다. 따라서, 전자 장치(200)는 회의 또는 특정 사람과의 만남 이전에, 프리로드되어야 할 어플리케이션 및 데이터를 판단할 수 있다. 또한, 전자 장치(200)는 다른 사람의 단말의 신호를 감지하는 경우, 이메일 메시지, 텍스트 메시지, 사진 태그 등과 같은 데이터를 검색할 수 있다. 전자 장치(200)는 특정 사람에게 보낸 메시지 또는 특정 사람으로부터 받은 메시지, 신원이 확인된 사람의 메시지, 특정 사람이 태그된 사진, 주소록의 사람 정보 또는 특정 사람과 연관된 데이터 또는 소셜 어플리케이션, 이전에 다른 사람과 함께 사용했던 어플리케이션(예; 멀티 플레이 게임) 등과 같은 특정 어플리케이션 또는 데이터를 메모리에 로드할 수 있다.
한 실시예에 따르면, 상황은 그룹에 추가될 뿐만 아니라, 개별 어플리케이션을 로드하거나 실행하는 것에 대해 정의될 수 있다. 예를 들어, 사용자가 하나 이상의 친구들의 그룹과 함께 플레이할 수 있는 멀티플레이 게임을 포함하는 경우, 사용자는 특정 친구가 소유하는 전자 장치가 사용자의 전자 장치(200)에 근접함을 감지할 때마다 해당 멀티플레이 게임을 실행하도록 구성할 수 있다. 사용자가 특정 친구들과 연관된 모든 정보를 프리로드하기를 원하지 않는 경우에도, 사용자는 하나 이상의 친구들의 전자 장치가 근접함을 감지하는 것을 기반으로 하여, 게임과 같은 특정 컨텐츠를 프리로드하도록 구성할 수 있다.
한 실시예에 따르면, 전자 장치(200)는 특정 상황이 감지될 때 특정 어플리케이션을 실행하도록 구성될 수 있다. 예를 들어, 사용자는 자신의 친구인 "아담", "밥", "찰리"와 함께 멀티플레이 게임을 즐길 수 있다. 전자 장치(200)는 "아담", "밥", "찰리" 세 사람이, 일정, 달력, 또는 그들의 전자 장치의 감지됨에 따라 존재하는 것으로 판단한 경우, 해당 게임을 메모리에 로드하도록 구성될 수 있다. 예를 들어, 세 친구의 전자 장치가 근접함을 확인하거나, 이러한 상황에서 메모리에 게임을 로드하는 옵션이 사용자에게 포함되거나 포함되지 않고 제시되는 경우, 해당 게임은 기본값에 근거하여 메모리에 로드될 수 있다. 즉, 어플리케이션 또는 데이터는 설정된 기준값에 근거하여 메모리에 프리로드 되도록 지정될 수 있으며, 대안적으로 설정된 기준값에 근거하여 사용자에게 제시될 수 있으며, 사용자가 특별히 선택했을 경우에만 프리로드 되도록 지정할 수도 있다.
한 실시예에 따르면, 전자 장치(200)는 특정 어플리케이션 또는 데이터가 다른 기준값에 근거하여 사용될 수 있는지를 판단하도록 구성될 수 있다. 예를 들어, 사용자가 쇼핑몰 내에 있을 때마다, 사용자는 가격 비교 어플리케이션을 사용할 수 있다. 다른 예를 들어, 사용자는 자신의 어머니의 전자 장치와 사진을 공유할 수 있다.
도 3은 본 발명의 실시예에 따른 전자 장치에서 캐시 메모리에 컨텐츠를 프리로드하기 위한 방법을 나타내는 흐름도이다.
도 3을 참조하면, 전자 장치는 301 단계에서, 캐시 메모리에 프리로드할 특정 컨텐츠를 결정할 수 있다. 특정 컨텐츠는, 예를 들어 실행 가능한 어플리케이션, 문서, 사진 앨범 등을 포함할 수 있다. 실행 가능한 어플리케이션은, 로드되기 위한 대기시간을 줄이기 위해 비휘발성 메모리에 로드될 수 있다. 사진 앨범은 외부 서버, 클라우드 스토리지(cloud storage), 또는 소셜 네트워크 서비스 등으로부터 로드될 수 있다.
한 실시예에 따르면, 특정 컨텐츠가 전자 장치가 아닌, 외부 서버 등과 같은 저장 장치로부터 로드된 데이터를 포함하는 경우, 프리로드된 데이터 컨텐츠는 통상의 다운로드 시간을 줄여줄 뿐만 아니라, 네트워크 연결이 불가능한 상황에서도 데이터 컨텐츠를 사용할 수 있도록 할 수 있다. 특정 컨텐츠는 목록 형태를 포함할 수 있다. 이러한 목록은 적어도 하나의 특정 어플리케이션, 데이터 항목, 또는 명명된 그룹을 포함할 수 있다. 명명된 그룹은 목록 형태를 포함할 수 있으며, 동일한 유형의 항목(예; 적어도 하나의 특정 어플리케이션, 데이터 항목, 또는 그룹)을 포함할 수 있다. 예를 들어, 제1 그룹이 제2 그룹을 포함하는 경우, 제1 그룹이 반복되어 포함되는 것을 방지하기 위해, 제3 그룹은 제1 그룹을 포함할 수 없다. 특정 컨텐츠가 하나의 그룹을 포함하는 경우, 해당 그룹의 모든 컨텐츠들은 프리로드될 수 있다.
전자 장치는 303 단계에서, 특정 컨텐츠가 프리로드될 상황을 결정할 수 있다. 상황은 예를 들어, 전자 장치의 전원인가, 전자 장치의 상태, 현지 시간, 지리적 위치, 적어도 하나의 지정된 무선 신호의 검출, 또는 적어도 하나의 사람, 장소, 물체, 신호의 접근을 포함할 수 있다. 한 실시예에 따르면, 전자 장치의 전원이 인가되는 경우, 전자 장치가 구동되면서 특정 컨텐츠를 프리로드할 수 있다. 한 실시예에 따르면, 전자 장치의 상태는 유휴(idle) 상태, 화면 잠금 상태, 전화 호출 상태, 무음 상태 등을 포함할 수 있다. 전자 장치의 상태는 특정 동작 상태에만 국한되지는 않으며, 예를 들어 속도, 방향, 방위, 뉴스 정보 확인, 또는 지역 기온이나 지역 날씨와 같은 환경 정보의 확인 등의 다양한 상황을 포함할 수 있다. 한 실시예에 따르면, 지리적 위치는 GPS 수신기, 삼각 측량법, 결정된 위치에서의 이미지 입력(예; 카메라), 또는 오디오 입력(예; 마이크) 등에 의해 결정될 수 있다. 그러나 이에 국한되지는 않으며, 지리적 위치를 결정하기 위한 다양한 방법이 있다. 한 실시예에 따르면, 사람의 접근 여부는 예약된 미팅, 다른 전자 장치로부터의 신호 검출, 또는 체크-인 서비스(예; 포스퀘어, 옐프, 페이스북 등)로부터 획득된 정보를 통해 결정될 수 있다. 그러나 이에 국한되지는 않으며, 사람의 접근 여부를 결정하기 위한 다양한 방법이 있다. 한 실시예에 따르면, 장소의 접근 여부는 GPS 신호, 인식된 와이파이 신호, 지그비 신호, 또는 Z-파 신호 등에 의해 결정될 수 있다. 그러나 이에 국한되지는 않으며, 장소의 접근 여부를 결정하기 위한 다양한 방법이 있다. 한 실시예에 따르면, 신호의 접근 여부는 최소 신호 강도의 검출에 의해 결정될 수 있다. 예를 들어, 카메라 입력은 적어도 하나의 인식된 특정 사람, 장소, 마크, 물체를 포함하는 사진 또는 영상을 포함할 수 있다. 전자 장치는 이미지의 사람의 얼굴을 인식함으로써, 사람의 접근 여부를 결정할 수 있으며, 특정 마크 또는 특정 물체를 인식함으로써, 위치를 결정할 수 있다.
다양한 실시예에 따르면, 프리로드될 각각의 특정 컨텐츠들은 각각의 해당 상황이 존재할 수 있다. 이러한 상황은 다른 특정 컨텐츠와 동일할 수도, 동일하지 않을 수도 있다. 또한, 이러한 상황이 실제에서는 다르게 적용될 수 있다.
전자 장치는 305 단계에서, 전자 장치의 상황을 감시할 수 있다. 이러한 감시는 지속적으로 또는 일정 주기마다 수행될 수 있다. 예를 들어, 전자 장치는 주기적으로, 컨텐츠의 프리로드를 위한 상황을 획득된 상황 정보와 비교할 수 있다. 이러한 주기는 사용자에 의해 지정된 시간의 주기일 수 있으며, 제조자에 의해 결정되거나 가변적으로 결정될 수 있다.
전자 장치는 307 단계에서, 전자 장치의 상황과 특정 컨텐츠가 프리로드될 상황이 일치하는지 여부를 판단할 수 있다.
전자 장치의 상황과 특정 컨텐츠가 프리로드될 상황이 일치하는 경우, 전자 장치는 309 단계에서, 특정 컨텐츠가 캐시 메모리에 존재하는지 여부를 결정할 수 있다.
특정 컨텐츠가 캐시 메모리에 존재하지 않은 경우, 전자 장치는 311 단계에서, 특정 컨텐츠를 캐시 메모리에 로드할 수 있다. 예를 들어, 전자 장치의 상황이 특정 컨텐츠를 프리로드하기 위한 상황과 대응하는 경우, 캐시 메모리에 특정 컨텐츠를 로드할 수 있다.
도 4는 본 발명의 실시예에 따른 전자 장치에서 프리로드할 어플리케이션을 결정하기 위한 방법을 나타내는 흐름도이다.
도 4를 참조하면, 전자 장치는 401 단계에서, 캐시 메모리에 컨텐츠를 로드할 수 있다. 예를 들어, 전자 장치는 어플리케이션을 실행하도록 시도하거나, 또는 실행된 어플리케이션이 특정 데이터를 불러오도록 시도할 수 있다.
전자 장치는 403 단계에서, 로드 시의 상황을 기록하고, 로드된 횟수를 증가시킬 수 있다. 예를 들어, 특정 컨텐츠가 자주 로드되는 경우, 특정 컨텐츠는 프리로드될 후보로 검출될 수 있다.
전자 장치는 405 단계에서, 기록된 상황을 평가할 수 있다. 한 실시예에 따르면, 전자 장치는 적어도 하나의 관련성 또는 반복 패턴이 발견될 수 있는지 여부를 결정하기 위해 기록된 상황을 평가할 수 있다. 예를 들어, 특정 컨텐츠는 금요일 오후에, 또는 두 개의 특정 사인(sign) 신호가 검출될 때마다 감지될 수 있다. 평가된 상황은 단지 캐시 메모리에 로드된 현재의 상황뿐만 아니라, 컨텐츠의 모든 상황의 히스토리가 될 수 있다. 로드 횟수는 상황이 평가되기 이전에, 임계값을 넘도록 증가할 수 있다. 따라서, 거의 사용되지 않는 어플리케이션은 상황에 따라 확인되지 않을 수 있다. 한 실시예에 따르면, 캐시 메모리에 로드된 어플리케이션이나 데이터를 실행하기 위해 소요되는 전체 시간은 유지될 수 있으며 또한, 컨텐츠에 소요되는 전체 시간이 임계값을 초과하는 경우, 컨텐츠의 환경이 평가될 수 있다. 그러나 이에 국한되지는 않으며, 특정 기준은 어플리케이션이 로딩되거나 사용되는 상대적 또는 절대적 로드 횟수를 결정하기 위해 사용될 수 있다. 또한, 결정될 수 있는 로딩의 상황은 대응되도록 기록될 수 있다. 임계값은 사용자 또는 제조자에 의해 세팅될 수 있으며, 사용되는 동안 다양하게 결정될 수 있다.
전자 장치는 407 단계에서, 임계값을 초과하는 상황의 패턴을 검출할 수 있다. 예를 들어, 평가를 통해 특정 패턴이 감지되는지 여부를 결정할 수 있다. 임계값은 로딩 상황이 프리로드를 추천하기 위한 강한 패턴이 있는지 여부를 결정하기 위해 사용될 수 있다. 충분히 강한 패턴이 검출되는 경우, 전자 장치는 409 단계에서, 검출된 패턴의 상황에 따라 프리로드 목록에 추가할 컨텐츠를 추천할 수 있다. 한 실시예에 따르면, 사용자는 추천된 프리로드 컨텐츠의 추가를 수락하거나 거절할 수 있다. 예를 들어, 사용자가 프리로드 목록에 추가를 수락하는 경우, 해당 프리로드 컨텐츠의 환경은 사용자에 의해 편집될 수 있다.
전자 장치는 411 단계에서, 어플리케이션을 실행할 수 있다. 예를 들어, 전자 장치는 캐시 메모리에 로드된 어플리케이션을 실행하거나, 데이터 요청을 진행할 수 있다.
한 실시예에 따르면, 특정 컨텐츠는 해당 상황이 일치할 때, 캐시 메모리에 로드될 수 있다. 예를 들어, 가용 캐시 메모리는 지정된 임계값 이하일 수 있다. 한 실시예에 따르면, 특정 컨텐츠는 우선적으로 처리될 수 있다. 한 실시예에 따르면, 우선순위가 높은 컨텐츠가 첫 번째로 로드될 수 있으며 또한, 가용 캐시 메모리가 임계값 미만인 경우, 그 다음 우선순위가 높은 컨텐츠가 로드될 수 있다.
우선순위는 사용자에 의해 설정될 수 있다. 예를 들어, 사용자는 이메일 어플리케이션을 다른 컨텐츠보다 항상 높은 우선순위를 갖도록 설정할 수 있다.
우선순위는 프리로딩을 위한 상황의 검출 횟수에 따라 결정될 수 있다. 예를 들어, 사용자는 자신의 사무실의 무선 라우터가 검출될 때마다 또는 주중 업무 시간 동안에 로드되는 제1 어플리케이션을 가질 수 있다. 또한, 사용자는 주중 업무 시간 동안에 프리로드되는 제2 어플리케이션을 가질 수 있다. 한 실시예에 따르면, 상술한 두 개의 상황이 일치하는 경우, 사용자의 회사 라우터는 감지될 수 있고, 그 시간은 주중 업무 시간일 수 있다. 또한, 제1 어플리케이션은 제2 어플리케이션 보다 더 많은 상황이 일치할 수 있으며, 따라서 제1 어플리케이션은 제2 어플리케이션 보다 높은 우선순위를 가질 수 있다.
우선순위는 특정 컨텐츠의 가중치를 포함할 수 있다. 예를 들어, "직장" 그룹의 컨텐츠가 "가정" 그룹의 컨텐츠와 일부 동일하더라도, 사용자는 "직장" 그룹의 컨텐츠가 "가정" 그룹의 컨텐츠보다 높은 우선순위의 가중치를 갖도록 결정할 수 있다. 컨텐츠는 여러 그룹 내에 포함될 수 있으며, 각 상황에 적용된 다른 프리로딩 상황과 별도로 나열될 수 있다.
우선순위는 특정 상황에 대한 가중치를 포함할 수 있다. 예를 들어, 특정 사람이 접근하는 상황은 지리적 위치와 일치하는 상황보다 높은 우선순위를 가질 수 있다.
도 5A 내지 도 5D는 본 발명의 실시예에 따른 전자 장치의 사용을 보여주기 위한 도면이다.
도 5A를 참조하면, 도 5A는 전자 장치(500)의 사용을 나타낸다. 전자 장치(500)는 바탕화면 또는 홈 화면에 자주 사용하는 어플리케이션을 실행하기 위한 아이콘들(501, 503)을 포함할 수 있다. 그러나 이는 요구되지 않을 수 있으며, 사용자는 종래의 수단에 따른 어플리케이션 또는 데이터를 로드하기 위해 선택할 수 있다. 도 5A에서, 사용자는 아이콘(503)을 선택할 수 있다.
도 5B에서, 전자 장치(500)는 어플리케이션을 로딩하는 상황을 표시하고, 해당 어플리케이션이 로딩되는 상황들의 이력을 비교할 수 있다. 또한, 전자 장치(500)는 어플리케이션 로딩 상황에서 가능성 있는 패턴을 결정할 수 있다. 전자 장치(500)는 가능성 있는 패턴을 알리기 위한 대화 박스(511)를 표시할 수 있으며, 또한, 이러한 상황에서 사용자가 어플리케이션의 프리로드를 원하는 경우 요청할 수 있다.
도 5C에서, 사용자는 프리로드 목록에 어플리케이션을 추가하기 위해 "Yes"를 선택한 상황일 수 있다. 프리로드 화면(521)은 프리로드 목록에 추가된 아이콘(523)을 포함할 수 있다. 프리로드 목록의 각 아이콘들은 프리로드 그룹의 멤버인지 여부를 나타낼 수 있다. 예를 들어, 도 5C에서, 아이콘(525)은 "가정" 그룹과, "주말" 그룹에 포함되는 것으로 표시될 수 있다. 또한, 아이콘(527)은 "가정" 그룹에 포함되는 것으로 표시될 수 있다. 한 실시예에 따르면, 새로 추가된 아이콘(523)은 어떤 그룹에도 포함되는 않는 것으로 표시될 수 있다. 예를 들어, 전자 장치(500)는 아이콘(523)에 대한 로딩 상황들의 이력이 일치하는 경우, 프리로드 그룹에 대한 아이콘 추가를 사용자에게 추천할 수 있다. 도 5C에서, 사용자는 프리로드를 위한 구체적인 기준을 검토하기 위해 아이콘(523)을 선택할 수 있다.
도 5D에서, 아이콘의 프리로드 정보는 검토할 수 있는 사용자에게 표시될 수 있다. 한 실시예에 따르면, 아이콘 또는 어플리케이션의 로드 이력은, 금요일 밤 오후 8시 이후의 조건(531)에서 얼마나 자주 로드되었는지 확인할 수 있다. 옵션(533, 535)은 프리로드 조건을 편집(533)하거나, 현재의 프리로드 조건을 저장(535)하기 위해 사용자에게 제공될 수 있다. 사용자가 프리로드의 조건을 추가하거나 삭제하기를 원하는 경우, 사용자는 조건 편집 옵션(533)을 선택할 수 있다. 반면에, 사용자가 현재의 조건(531)을 조정하기를 원하는 경우, 예를 들어 사용자는 날짜와 시간을 스크롤하여 선택하는 방식으로 프리로드 시간을 조정할 수 있다.
도 6A 내지 도 6D는 본 발명의 실시예에 따른 전자 장치의 사용을 보여주기 위한 도면이다.
도 6A을 참조하면, 전자 장치(600)는 예를 들어, 취업 박람회에 참석하기 이전에 프리로드할 "이력서"의 데이터 문서(601)를 포함할 수 있다. 사용자는 "이력서" 문서(601)를 선택할 수 있고, 예를 들어 도 6B에서, 문서를 편집하거나, 전송하거나, 또는 문서를 프리로드하기 위한 옵션(603)이 표시될 수 있다. 한 실시예에 따르면, 사용자는 "프리로드"를 선택할 수 있다.
도 6C에서, "이력서" 문서(601)의 프리로드 항목은 생성되어 표시될 수 있다. 한 실시예에 따르면, 전자 장치(600)는 "이력서" 문서(601)에 추가할 수 있는 "가정", "직장", "주말"과 같은 옵션(605) 중 적어도 하나를 표시할 수 있다. 전자 장치(600)는 "날짜", "요일", "시간", "위치", "라우터", "사람" 등과 같은 프리로드의 기준(607)을 선택하기 위한 옵션을 표시할 수 있다. 이러한 기준(607)은 단지 예시적인 목적으로 제공될 수 있으며, 전자 장치(600)에 의해 결정될 수 있는 어떤 기준은 프리로드 상황으로써 선택될 수 있다.
도 6D에서, 사용자는 "날짜" 옵션을 선택할 수 있으며, 취업 박람회의 날짜인 "2013년 6월 25일"을 입력할 수 있다. 이러한 날짜는 다양한 방식으로 입력될 수 있으며, 예를 들어 문자열 방식 또는 달력에서 선택하는 방식으로 입력될 수 있다. 한 실시예에 따르면, 예를 들어 해당 날짜에 문서가 저장된 클라우드에서 사용자의 접근 여부와 상관없이, 전자 장치(600)는 선택된 날짜에 "이력서" 문서(601)를 캐시 메모리에 프리로드할 수 있다.
도 7A 내지 도 7D는 본 발명의 실시예에 따른 전자 장치의 사용을 보여주기 위한 도면이다.
도 7A를 참조하면, 전자 장치(700)는 카메라 기능의 사용을 나타낸다. 한 실시예에 따르면, 사용자는 세 명의 사람이 포함된 사진을 촬영할 수 있다. 도 7B에서, 전자 장치(700)는 사진에 포함된 세 명의 사람을 검출할 수 있으며, 검출된 사람이 알려진 사람인지를 확인하기 위해 전화번호부의 사진 정보와 비교할 수 있다. 한 실시예에 따르면, 전자 장치(700)는 제1 사람이 "존 스미스"이고, 제2 사람이 "마이크 스미스"이며, 제3 사람이 "짐 클락"이라는 것을 인식할 수 있다. 사용자는 첫 번째부터 두 명의 사람이 "존 스미스"와, "마이크 스미스"라는 것을 해당 박스를 체크됨으로써 확인할 수 있다.
도 7C에서, 전자 장치(700)는 체크된 두 사람을 검출할 시, 인식된 사람(존 스미스, 마이크 스미스)에 대한 정보를 캐시 메모리에 프리로드할지 여부를 요청할 수 있다. 한 실시예에 따르면, 사용자는 프리로드를 위해 "마이크 스미스"를 선택할 수 있다. 예를 들어, 전자 장치(700)는 다양한 방식(예; 통신 방식, 소셜 네트워킹 어플리케이션, 또는 마이크 스미스에 관련된 정보 등)을 통해 "마이크 스미스"의 존재 또는 근접을 감지할 때마다, "마이크 스미스"와 관련된 정보를 캐시 메모리에 로드할 수 있다. 한 실시예에 따르면, 사람을 검출하는 방법은 카메라 입력에만 한정되지는 않는다. 예를 들어, 전화번호부의 "마이크 스미스" 항목은, "마이크 스미스"의 단말로부터의 신호 및 "마이크 스미스"가 참여한 위치 기반의 체크-인 서비스를 포함할 수 있다.
본 발명의 다양한 실시예에 사용된 용어 “모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시예에 따른 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예를 들어, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서(예: 상기 프로세서 210)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 220가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서 210에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(magnetic media)와, CD-ROM(compact disc read only memory), DVD(digital versatile disc)와 같은 광기록 매체(optical media)와, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media)와, 그리고 ROM(read only memory), RAM(random access memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 다양한 실시예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 다양한 실시예들은 본 발명의 다양한 실시예에 따른 기술 내용을 쉽게 설명하고 본 발명의 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.

Claims (24)

  1. 전자 장치의 동작 방법에 있어서,
    프리로드(pre-load)할 특정 컨텐츠를 결정하는 동작;
    상기 특정 컨텐츠가 프리로드될 상황을 결정하는 동작;
    상기 전자 장치의 상황을 감시하는 동작;
    상기 프리로드될 상황이 감지되면, 상기 특정 컨텐츠가 캐시 메모리에 존재하는지 여부를 결정하는 동작; 및
    상기 특정 컨텐츠가 상기 캐시 메모리에 존재하지 않는 경우, 상기 특정 컨텐츠를 상기 캐시 메모리에 로드하는 동작을 포함하는 방법.
  2. 제 1항에 있어서,
    상기 특정 컨텐츠는,
    외부 서버, 클라우드(cloud) 또는 소셜 네트워크 서비스 중 적어도 하나에 저장되거나, 사용자에 의해 선택되는 데이터 또는 어플리케이션 중 적어도 하나를 포함하는 방법.
  3. 제 2항에 있어서,
    컨텐츠의 로드 횟수를 확인하는 동작;
    상기 컨텐츠가 로드 시의 상황을 판단하는 동작; 및
    상기 컨텐츠의 로드 횟수와, 상기 컨텐츠가 로드 시의 상황 간에 지정된 적어도 하나의 관련성이 확인되면, 상기 특정 컨텐츠에 상기 컨텐츠를 추가하기 위한 옵션을 표시하는 동작을 더 포함하는 방법.
  4. 제 2항에 있어서,
    적어도 하나의 특정 컨텐츠를 포함하는 적어도 하나의 그룹을 결정하는 동작; 및
    상기 결정된 그룹이 프리로드될 상황이 감지되면, 상기 그룹의 모든 특정 컨텐츠를 상기 캐시 메모리에 로드하는 동작을 포함하는 방법.
  5. 제 1항에 있어서,
    상기 프리로드될 상황은, 사용자에 의해 선택되거나, 상기 전자 장치의 전원인가, 상기 전자 장치의 상태, 현지 시간, 지리적 위치, 뉴스 정보 수신, 기상 정보 확인, 적어도 하나의 지정된 무선 신호의 감지, 예정된 일정, 적어도 하나의 사람, 장소, 물체, 신호의 근접 중 적어도 하나를 포함하는 방법.
  6. 제 5항에 있어서,
    상기 무선 신호는,
    WiFi 신호, 블루투스 신호, NFC(near field communication) 신호, GPS(global positioning system) 신호, 지그비(zigbee) 신호, Z-파 신호, 휴대단말 타워신호, 식별된 휴대단말 신호 중 적어도 하나를 포함하는 방법.
  7. 제 5항에 있어서,
    상기 전자 장치의 상황은, 카메라 입력, 오디오 입력 또는 체크-인 서비스 중 적어도 하나에 의해 결정되는 방법.
  8. 제 7항에 있어서,
    상기 카메라 입력은,
    사진 또는 동영상을 포함하는 고유 인식된 사람, 장소, 랜드마크, 물체 중 적어도 하나를 포함하는 방법.
  9. 제 5항에 있어서,
    상기 전자 장치의 상태는,
    속도, 방향, 방위, 결정된 환경 중 적어도 하나를 포함하는 방법.
  10. 제 1항에 있어서,
    상기 캐시 메모리의 가용 용량이 특정 레벨 미만인 경우, 상기 프리로드할 특정 컨텐츠를 첫 번째 우선순위로 결정하는 방법.
  11. 제 10항에 있어서,
    상기 우선순위는,
    사용자에 의해 선택되거나, 상기 프리로드될 상황이 감지되는 횟수에 따라 결정되거나, 상기 특정 컨텐츠의 가중치를 포함하거나, 또는 상기 프리로드될 상황의 가중치를 포함하는 방법.
  12. 제 1항에 있어서,
    상기 프리로드될 상황이 사람과 연관된 경우, 상기 특정 컨텐츠는,
    사람과 연결된 가용 통신, 사람이 인식된 통신, 사람과 연관된 소셜 어플리케이션, 사람과 상호작용하는 어플리케이션, 전화번호부의 사람 정보에 기반한 소셜 어플리케이션, 사람이 태그되거나 언급된 데이터를 포함하는 방법.
  13. 전자 장치에 있어서,
    캐시 메모리;
    입출력 모듈; 및
    상기 캐시 메모리에 프리로드할 특정 컨텐츠를 결정하기 위한 적어도 하나의 프로세서를 포함하고,
    상기 프로세서는,
    상기 특정 컨텐츠가 프리로드될 상황을 결정하고, 상기 전자 장치의 상황을 감시하고, 상기 프리로드될 상황이 감지되면, 상기 특정 컨텐츠가 상기 캐시 메모리에 존재하는지 여부를 결정하고, 상기 특정 컨텐츠가 상기 캐시 메모리에 존재하지 않는 경우, 상기 특정 컨텐츠를 상기 캐시 메모리에 로드하도록 설정된 프로세서를 포함하는 장치.
  14. 제 13항에 있어서,
    통신 모듈을 더 포함하고,
    상기 특정 컨텐츠는,
    외부 서버, 클라우드(cloud) 또는 소셜 네트워크 서비스 중 적어도 하나에 저장되거나, 사용자에 의해 선택되는 데이터 또는 어플리케이션 중 적어도 하나를 포함하는 장치.
  15. 제 14항에 있어서,
    상기 적어도 하나의 프로세서는,
    컨텐츠의 로드 횟수를 확인하고,
    상기 컨텐츠가 로드 시의 상황을 판단하고,
    상기 컨텐츠의 로드 횟수와, 상기 컨텐츠가 로드 시의 상황 간에 지정된 적어도 하나의 관련성이 확인되면, 상기 특정 컨텐츠에 상기 컨텐츠를 추가하기 위한 옵션을 표시하도록 설정된 장치.
  16. 제 14항에 있어서,
    상기 프로세서는,
    적어도 하나의 특정 컨텐츠를 포함하는 적어도 하나의 그룹을 결정하고, 상기 결정된 그룹이 프리로드될 상황이 감지되면, 상기 그룹의 모든 특정 컨텐츠를 상기 캐시 메모리에 로드하도록 설정된 장치.
  17. 제 13항에 있어서,
    상기 프리로드될 상황은,
    사용자에 의해 선택되거나, 상기 전자 장치의 전원인가, 상기 전자 장치의 상태, 현지 시간, 지리적 위치, 뉴스 정보 수신, 기상 정보 확인, 적어도 하나의 지정된 무선 신호의 감지, 예정된 일정, 적어도 하나의 사람, 장소, 물체, 신호의 근접 중 적어도 하나를 포함하는 장치.
  18. 제 17항에 있어서,
    WiFi 신호, 블루투스 신호, NFC(near field communication) 신호, GPS(global positioning system) 신호, 지그비(zigbee) 신호, Z-파 신호, 휴대단말 타워신호, 식별된 휴대단말 신호 중 적어도 하나를 포함하는 무선 신호를 수신하기 위한 통신 모듈을 더 포함하는 장치.
  19. 제 17항에 있어서,
    카메라 입력을 수신하기 위한 카메라 모듈, 오디오 입력을 수신하기 위한 마이크 모듈, 체크-인 서비스를 제공하기 위한 통신 모듈 중 적어도 하나를 포함하고,
    상기 전자 장치의 상황은, 상기 카메라 입력, 상기 오디오 입력 또는 상기 체크-인 서비스 중 적어도 하나에 의해 결정되는 장치.
  20. 제 19항에 있어서,
    상기 카메라 입력은,
    사진 또는 동영상을 포함하는 고유 인식된 사람, 장소, 랜드마크, 물체 중 적어도 하나를 포함하는 장치.
  21. 제 17항에 있어서,
    상기 전자 장치의 상태는,
    속도, 방향, 방위, 결정된 환경 중 적어도 하나를 포함하는 장치.
  22. 제 13항에 있어서,
    상기 프로세서는,
    상기 캐시 메모리의 가용 용량이 특정 레벨 미만인 경우, 상기 프리로드할 특정 컨텐츠를 첫 번째 우선순위로 결정하도록 설정된 장치.
  23. 제 22항에 있어서,
    상기 우선순위는, 사용자에 의해 선택되거나, 상기 프리로드될 상황이 감지되는 횟수에 따라 결정되거나, 상기 특정 컨텐츠의 가중치를 포함하거나, 또는 상기 프리로드될 상황의 가중치를 포함하는 장치.
  24. 제 13항에 있어서,
    상기 프리로드될 상황이 사람과 연관된 경우, 상기 특정 컨텐츠는,
    사람과 연결된 가용 통신, 사람이 인식된 통신, 사람과 연관된 소셜 어플리케이션, 사람과 상호작용하는 어플리케이션, 전화번호부의 사람 정보에 기반한 소셜 어플리케이션, 사람이 태그되거나 언급된 데이터를 포함하는 장치.
KR1020140041105A 2013-07-19 2014-04-07 캐싱 방법 및 그 전자 장치 KR102273109B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/946,856 US9588897B2 (en) 2013-07-19 2013-07-19 Adaptive application caching for mobile devices
US13/946,856 2013-07-19

Publications (2)

Publication Number Publication Date
KR20150010563A true KR20150010563A (ko) 2015-01-28
KR102273109B1 KR102273109B1 (ko) 2021-07-06

Family

ID=52344572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140041105A KR102273109B1 (ko) 2013-07-19 2014-04-07 캐싱 방법 및 그 전자 장치

Country Status (2)

Country Link
US (1) US9588897B2 (ko)
KR (1) KR102273109B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160116910A (ko) * 2015-03-31 2016-10-10 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 데이터 처리 방법
WO2017057912A1 (ko) * 2015-10-02 2017-04-06 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
CN107343099A (zh) * 2017-07-03 2017-11-10 赵桂银 一种移动终端数据加载方法及装置
CN109889656A (zh) * 2018-12-29 2019-06-14 深圳豪客互联网有限公司 一种数据读取方法、装置、设备及存储介质
WO2020130734A1 (ko) * 2018-12-21 2020-06-25 삼성전자 주식회사 사용자 상태에 기초하여 반응을 제공하는 전자 장치 및 그의 동작 방법
WO2022119053A1 (ko) * 2020-12-02 2022-06-09 삼성전자 주식회사 어플리케이션을 프리로드하는 방법 및 이를 지원하는 전자 장치

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102160650B1 (ko) * 2013-08-26 2020-09-28 삼성전자주식회사 사용자의 의도를 자동으로 인지하여 정보를 제공하는 모바일 장치 및 그의 동작 방법
WO2015034483A1 (en) * 2013-09-04 2015-03-12 Intel Corporation Mechanism for facilitating dynamic storage management for mobile computing devices
US9928169B2 (en) 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US9710198B2 (en) 2014-05-07 2017-07-18 Sandisk Technologies Llc Method and computing device for controlling bandwidth of swap operations
US9665296B2 (en) * 2014-05-07 2017-05-30 Sandisk Technologies Llc Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications
US9633233B2 (en) 2014-05-07 2017-04-25 Sandisk Technologies Llc Method and computing device for encrypting data stored in swap memory
US20160191958A1 (en) * 2014-12-26 2016-06-30 Krush Technologies, Llc Systems and methods of providing contextual features for digital communication
US11095743B2 (en) * 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US10629296B2 (en) * 2014-08-29 2020-04-21 Nanthealth, Inc. Mobile carrier-centric data record custodian systems and methods
US9442857B2 (en) * 2014-10-03 2016-09-13 Adobe Systems Incorporated Dynamic memory estimations for memory bounded applications
US9465734B1 (en) * 2015-04-08 2016-10-11 Apple Inc. Coalition based memory management
CN104951340B (zh) * 2015-06-12 2018-07-06 联想(北京)有限公司 一种信息处理方法及装置
WO2017004241A1 (en) 2015-07-02 2017-01-05 Krush Technologies, Llc Facial gesture recognition and video analysis tool
US10089233B2 (en) 2016-05-11 2018-10-02 Ge Aviation Systems, Llc Method of partitioning a set-associative cache in a computing platform
CN106648747B (zh) * 2016-11-14 2021-01-05 腾讯科技(深圳)有限公司 进程预加载处理方法及装置
CN108228270B (zh) * 2016-12-19 2021-04-16 腾讯科技(深圳)有限公司 启动资源加载方法及装置
WO2019019194A1 (zh) * 2017-07-28 2019-01-31 华为技术有限公司 应用管理方法及终端
CN109976821B (zh) * 2017-12-14 2022-02-11 Oppo广东移动通信有限公司 应用程序加载方法、装置、终端及存储介质
US11922187B2 (en) 2018-03-05 2024-03-05 Tensera Networks Ltd. Robust application preloading with accurate user experience
WO2019171237A1 (en) 2018-03-05 2019-09-12 Tensera Networks Ltd. Application preloading in the presence of user actions
US20190306265A1 (en) * 2018-04-02 2019-10-03 Telefonaktiebolaget L M Ericsson (Publ) Group enhanced content delivery
CN108647052B (zh) * 2018-04-28 2020-12-01 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108595227A (zh) 2018-05-10 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
CN108595228B (zh) 2018-05-10 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立方法、装置、存储介质及移动终端
CN108647056B (zh) * 2018-05-10 2020-04-24 上海瑾盛通信科技有限公司 应用程序预加载方法、装置、存储介质及终端
CN108710513B (zh) 2018-05-15 2020-07-21 Oppo广东移动通信有限公司 应用程序启动方法、装置、存储介质及终端
CN108762839B (zh) * 2018-05-22 2020-12-18 北京小米移动软件有限公司 应用程序的界面显示方法及装置
CN108804157A (zh) 2018-06-05 2018-11-13 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
US11055110B2 (en) 2018-06-05 2021-07-06 Microsoft Technology Licensing, Llc Operating system service for persistently executing programs
CN109271352B (zh) * 2018-08-18 2021-10-22 上海豹云网络信息服务有限公司 在移动互联网内根据状态信息进行文件预取的方法及系统
CN109683949A (zh) * 2018-12-13 2019-04-26 深圳创维-Rgb电子有限公司 预装应用管理方法、装置及存储介质
CN110187925B (zh) * 2019-05-30 2023-10-17 努比亚技术有限公司 一种桌面预启动控制方法、设备及计算机可读存储介质
US10536857B1 (en) * 2019-06-24 2020-01-14 Bank Of America Corporation Systems and methods for pre-authenticating a user on a mobile device
US11824956B2 (en) 2019-07-30 2023-11-21 Tensera Networks Ltd. Pre-rendering of application user-interfaces in user devices using off-line pre-render mode
CN110868626B (zh) * 2019-11-06 2021-06-11 北京达佳互联信息技术有限公司 一种内容数据预加载的方法及装置
CN116670646A (zh) 2020-12-03 2023-08-29 腾赛拉网络有限公司 预加载具有现有任务的应用
CN116601602A (zh) 2020-12-20 2023-08-15 腾赛拉网络有限公司 对用户透明地预加载应用
WO2023204578A1 (ko) * 2022-04-18 2023-10-26 삼성전자 주식회사 오디오 서비스를 제공하는 전자 장치 및 그 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050034129A1 (en) * 1998-11-24 2005-02-10 Microsoft Corporation System and method for terminating applications
US20080005736A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
US20100153007A1 (en) * 2008-12-15 2010-06-17 Crowley Michael J Pre-Loading Waypoint Data
US20120317370A1 (en) * 2011-04-27 2012-12-13 Seven Networks, Inc. Cache state management on a mobile device to preserve user experience

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037573A (ko) 1998-12-01 2000-07-05 김영돈 사용자 습관이 적용된 소프트웨어 실행방법 및 그 실행장치
KR20000054261A (ko) 2000-05-30 2000-09-05 김호광 사용자 습관이 적용된 소프트웨어 실행방법 및 그 실행장치
JP4136517B2 (ja) 2002-07-31 2008-08-20 株式会社日立製作所 移動端末
US20100106852A1 (en) * 2007-10-24 2010-04-29 Kindig Bradley D Systems and methods for providing user personalized media content on a portable device
KR101668242B1 (ko) 2010-06-23 2016-10-21 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
KR101403808B1 (ko) 2010-08-23 2014-06-11 한국전자통신연구원 이용 패턴에 따라 어플리케이션 서비스를 실행하는 모바일 단말 장치 및 그의 어플리케이션 서비스 실행 방법
US20120324481A1 (en) 2011-06-16 2012-12-20 Samsung Electronics Co. Ltd. Adaptive termination and pre-launching policy for improving application startup time
CN103888934B (zh) * 2012-12-21 2018-06-22 腾讯科技(深圳)有限公司 一种移动终端缓存管理装置及管理方法
CN103559299B (zh) * 2013-11-14 2017-02-15 贝壳网际(北京)安全技术有限公司 清理文件的方法、装置及移动终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050034129A1 (en) * 1998-11-24 2005-02-10 Microsoft Corporation System and method for terminating applications
US20080005736A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
US20100153007A1 (en) * 2008-12-15 2010-06-17 Crowley Michael J Pre-Loading Waypoint Data
US20120317370A1 (en) * 2011-04-27 2012-12-13 Seven Networks, Inc. Cache state management on a mobile device to preserve user experience

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160116910A (ko) * 2015-03-31 2016-10-10 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 데이터 처리 방법
WO2017057912A1 (ko) * 2015-10-02 2017-04-06 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
KR20170039999A (ko) * 2015-10-02 2017-04-12 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
US10936340B2 (en) 2015-10-02 2021-03-02 Samsung Electronics Co., Ltd. Apparatus and method for performing selective application preloading in electronic device
CN107343099A (zh) * 2017-07-03 2017-11-10 赵桂银 一种移动终端数据加载方法及装置
WO2020130734A1 (ko) * 2018-12-21 2020-06-25 삼성전자 주식회사 사용자 상태에 기초하여 반응을 제공하는 전자 장치 및 그의 동작 방법
CN109889656A (zh) * 2018-12-29 2019-06-14 深圳豪客互联网有限公司 一种数据读取方法、装置、设备及存储介质
WO2022119053A1 (ko) * 2020-12-02 2022-06-09 삼성전자 주식회사 어플리케이션을 프리로드하는 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
KR102273109B1 (ko) 2021-07-06
US20150026415A1 (en) 2015-01-22
US9588897B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
KR102273109B1 (ko) 캐싱 방법 및 그 전자 장치
US9300615B2 (en) Methods and devices for generating action item from email
EP2996317B1 (en) Method for providing specialized mode according to date and electronic device supporting the same
US20170075737A1 (en) Method of displaying notifications and electronic device adapted thereto
KR102297445B1 (ko) 이벤트 정보의 수집 및 표시
US8904550B2 (en) Selection of sandbox for initiating application
KR102504201B1 (ko) 전자 장치 및 이의 알림 출력 제어 방법
KR20170035657A (ko) 그룹 프로파일 생성을 위한 장치 및 그 방법
US20150186850A1 (en) Smart Meeting Creation and Management
KR20170111810A (ko) 전자 장치의 위치 정보 기반 메신저 운영 방법 및 장치
EP2955659B1 (en) System and method for accessing and updating secured data
US20210158304A1 (en) Enhanced views and notifications of location and calendar information
US9411876B2 (en) Methods and devices for storing content based on classification options
US9118505B2 (en) System and method for controlling updates on a mobile device
CA2816007C (en) Selection of sandbox for initiating application
US20160173422A1 (en) Message delivery via preferred communications applications
EP2887709A1 (en) User interface method which controls output of incoming dial tone of smart device
KR20180024345A (ko) 전자 장치에서 컨텐츠 관리를 위한 방법 및 장치
KR20180055196A (ko) 일정 공유 방법 및 이를 지원하는 전자 장치
KR102114201B1 (ko) 전자장치 및 전자장치의 메시지처리 방법
KR102691020B1 (ko) 일과 생활에 대한 정보를 제공하기 위한 전자 장치 및 방법
US9081745B2 (en) Methods and devices for configuring a device based on personal identification information
KR102264428B1 (ko) 전자 장치의 동작 방법 및 장치
EP2451140A1 (en) System and method for controlling the display of events updates on a mobile device

Legal Events

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