KR20140010930A - 효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치 - Google Patents

효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20140010930A
KR20140010930A KR1020137013641A KR20137013641A KR20140010930A KR 20140010930 A KR20140010930 A KR 20140010930A KR 1020137013641 A KR1020137013641 A KR 1020137013641A KR 20137013641 A KR20137013641 A KR 20137013641A KR 20140010930 A KR20140010930 A KR 20140010930A
Authority
KR
South Korea
Prior art keywords
context
core
memory
processor
cache memory
Prior art date
Application number
KR1020137013641A
Other languages
English (en)
Other versions
KR101529802B1 (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 KR20140010930A publication Critical patent/KR20140010930A/ko
Application granted granted Critical
Publication of KR101529802B1 publication Critical patent/KR101529802B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Advance Control (AREA)

Abstract

콘텍스트 분류를 제공하기 위한 방법은 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하는 단계와, 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하기 위해 콘텍스트 코어와 연관된 캐시 메모리를 구성하는 단계와, 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하는 단계를 포함할 수 있다.

Description

효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING EFFICIENT CONTEXT CLASSIFICATION}
본 발명의 실시예는 일반적으로 사용자 인터페이스 기술에 관한 것으로서, 더 구체적으로는 사용자 인터페이스 동작에 대한 상호 작용 흐름의 개량을 용이하게 하기 위해 효율적인 콘텍스트 분류(context classification)를 제공하기 위한 방법 및 장치에 관한 것이다.
현대 통신 시대는 유선 및 무선 네트워크의 거대한 팽창을 야기하고 있다. 컴퓨터 네트워크, 텔레비전 네트워크 및 전화 네트워크는 소비자 요구에 의해 가속화되는 전례가 없는 기술적 팽창을 경험하고 있다. 네트워킹 기술은 정보 전달의 더 많은 탄력성 및 즉각성을 제공하면서 관련 소비자 요구를 처리하고 있다.
현재 및 미래 네트워킹 기술은 전자 디바이스의 능력을 확장함으로써 그리고 네트워크 성능을 개량함으로써 사용자에게 정보 전달의 용이성 및 편의성을 계속 용이하게 한다. 사용자에게 서비스 및 프로세싱을 제공하기 위해 전자 디바이스의 능력을 개량하는 일 장점은 병렬 컴퓨팅의 사용이다. 병렬 컴퓨팅은 수반된 프로세서의 병렬 리소스를 사용하는 계산, 연산 또는 다른 프로세싱과 같은 컴퓨팅 동작을 수행하기 위해 단일 디바이스 내의 다중 프로세서 또는 멀티-코어 프로세서 또는 상이한 디바이스에 걸쳐 분포된 다중 프로세서의 사용자를 수반한다. 따라서, 예를 들어, 몇몇 스레드는 하나의 프로세서 또는 코어 상에서 프로세싱될 수 있고, 반면에 다른 스레드는 다른 프로세서 또는 코어 상에서 동시에 프로세싱될 수 있다.
속도 및 프로세싱 능력의 상당한 증가가 병렬 컴퓨팅을 이용하는 디바이스 또는 시스템에 추가될 수 있다. 실제로, 멀티-프로세서 및/또는 멀티-코어 프로세싱 패러다임이 더 통상적이 되고 있다. 그러나, 멀티-프로세서 및/또는 멀티-코어 프로세싱은 몇몇 구현예에서 비교적 무겁고 전력 소비적인 것이 될 수도 있다. 특히 전력 및 프로세싱 능력이 무제한이 아닌 디바이스에서(예를 들어, 모바일 디바이스 또는 다른 배터리 작동식 플랫폼), 효율을 향상시키는 다른 인자가 발생할 수 있지 않으면 성취 가능한 성능 특징에 대한 리소스의 소비를 균형화하는 것이 중요하게 될 수 있다.
따라서, 비교적 효율적인 콘텍스트 분류를 가능하게 하기 위한 방법, 장치 및 컴퓨터 프로그램 제품이 제공된다. 이와 관련하여, 예를 들어 몇몇 실시예는 멀티-코어 환경에서 콘텍스트 분류를 효율적으로 지원하는 것이 가능한 아키텍처를 제공할 수 있다.
일 예시적인 실시예에서, 멀티-코어 환경에서 콘텍스트 분류를 지원하는 방법이 제공된다. 이 방법은 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하는 단계와, 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하기 위해 콘텍스트 코어와 연관된 캐시 메모리를 구성하는 단계와, 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하는 단계를 포함할 수 있다.
다른 예시적인 실시예에서, 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 장치가 제공된다. 이 장치는 적어도 하나의 프로세서, 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함할 수 있다. 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서와 함께, 장치로 하여금 적어도 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하고, 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하도록 콘텍스트 코어와 연관된 캐시 메모리를 구성하게 하며, 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하도록 구성될 수 있다.
일 예시적인 실시예에서, 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 장치가 제공된다. 이 장치는 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하기 위한 수단과, 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하기 위해 콘텍스트 코어와 연관된 캐시 메모리를 구성하게 하기 위한 수단과, 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하기 위한 수단을 포함할 수 있다.
일 예시적인 실시예에서, 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 컴퓨터 프로그램 제품이 제공된다. 이 컴퓨터 프로그램 제품은 그 내부에 저장된 컴퓨터 실행 가능 프로그램 코드 명령을 갖는 적어도 하나의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 컴퓨터 실행 가능 프로그램 코드 명령은 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하고, 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하기 위해 콘텍스트 코어와 연관된 캐시 메모리를 구성하게 하고, 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하기 위한 프로그램 코드 명령을 포함할 수 있다.
다른 예시적인 실시예에서, 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 장치가 제공된다. 이 장치는 메인 메모리와, 메모리 버스를 경유하여 메인 메모리에 액세스하도록 구성된 적어도 2개의 코어를 갖는 멀티-코어 프로세서를 포함한다. 적어도 2개의 코어 중 하나의 코어는 콘텍스트 코어로서 선택될 수 있다. 콘텍스트 코어는 그와 연관된 캐시 메모리를 가질 수 있다. 캐시 메모리는 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능을 수행하기 위해 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하도록 구성될 수 있다.
본 발명의 예시적인 실시예는 모바일 환경 또는 고정 환경에서 이용을 위한 방법, 장치 및 컴퓨터 프로그램 제품을 제공할 수 있다. 그 결과, 예를 들어 모바일 단말 및 다른 컴퓨팅 디바이스 사용자는 개량된 콘텍스트 인식 프로세스의 제공에 기초하여 개량된 사용자 상호 작용을 즐길 수 있다.
도 1은 본 발명의 예시적인 실시예에 따른 무선 통신 시스템의 개략 블록 다이어그램.
도 2는 본 발명의 예시적인 실시예에 따른 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 장치의 블록 다이어그램.
도 3은 예시적인 실시예에 따른 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 아키텍처의 더 상세한 블록 다이어그램.
도 4는 본 발명의 예시적인 실시예에 따른 멀티-코어 환경에서 콘텍스트 분류를 지원하기 위한 방법에 따른 흐름도.
본 발명의 몇몇 실시예가 일반적인 용어로 설명되었고, 이제 반드시 실제 축적대로 도시된 것은 아닌 첨부 도면이 참조될 것이다.
본 발명의 몇몇 실시예가 이제 본 발명의 몇몇 실시예 - 그러나 모든 실시예는 아님 - 가 도시되어 있는 첨부 도면을 참조하여 이하에 더 상세히 설명될 것이다. 실제로, 본 발명의 다양한 실시예는 다수의 상이한 형태로 구체화될 수 있고, 본 명세서에 설명된 실시예에 한정되는 것으로서 해석되어서는 안되고, 오히려 이들 실시예는 본 개시 내용이 적용 가능한 법적 요건을 만족시킬 수 있도록 제공된다. 유사한 도면 부호는 전체에 걸쳐 유사한 요소를 나타낸다. 본 명세서에 사용될 때, 용어 "데이터", "콘텐츠", "정보" 및 유사한 용어는 본 발명의 몇몇 실시예에 따라 전송되고, 수신되고 그리고/또는 저장되는 것이 가능한 데이터를 상호 교환 가능하게 나타내는데 사용될 수 있다. 따라서, 임의의 이러한 용어의 사용은 본 발명의 실시예의 사상 및 범주를 한정하도록 취해져서는 안 된다.
부가적으로, 본 명세서에 사용될 때, 용어 '회로'는 (a) 하드웨어 전용 회로 구현예(예를 들어, 아날로그 회로 및/또는 디지털 회로에서의 구현예), (b) 장치가 본 명세서에 설명된 하나 이상의 기능을 수행하게 하기 위해 함께 동작하는 하나 이상의 컴퓨터 판독 가능 메모리 상에 저장된 소프트웨어 및/또는 펌웨어 명령을 포함하는 컴퓨터 프로그램 제품(들)과 회로의 조합 및 (c) 예를 들어 소프트웨어 또는 펌웨어가 물리적으로 존재하지 않더라도 동작을 위해 소프트웨어 또는 펌웨어를 필요로 하는 마이크로프로세서(들) 또는 마이크로프로세서(들)의 부분과 같은 회로를 나타낸다. 이 '회로'의 정의는 임의의 청구범위를 포함하는 본 명세서에서의 이 용어의 모든 사용에 적용된다. 다른 예로서, 본 명세서에 사용될 때, 용어 '회로'는 하나 이상의 프로세서 및/또는 그 부분(들) 및 수반하는 소프트웨어 및/또는 펌웨어를 포함하는 구현예를 또한 포함한다. 다른 예로서, 본 명세서에 사용될 때 용어 '회로'는 예를 들어 기저대역 집적 회로 또는 휴대폰용 응용 프로세서 집적 회로 또는 서버, 셀룰러 네트워크 디바이스, 다른 네트워크 디바이스 및/또는 다른 컴퓨팅 디바이스 내의 유사한 집적 회로를 또한 포함한다.
본 명세서에 정의될 때, 비일시적, 물리적 저장 매체(예를 들어, 휘발성 또는 비휘발성 메모리 디바이스)를 칭하는 "컴퓨터 판독 가능 저장 매체"는 전자기 신호를 칭하는 "컴퓨터 판독 가능 전송 매체"로부터 구별될 수 있다.
사용자와 사용자의 전자 디바이스 사이의 상호 작용에 관련하는 사용자 경험을 향상시키거나 다른 방식으로 개량하는 것은 디바이스 설계자 및 제조업자의 지속적인 목표이다. 더 끊김 없는 사용자 상호 작용을 제공하는 능력은 제품을 판매하기 위해 마케팅 인지도를 생성하는데 있어서 그리고 소비자 충성도 및 만족도를 생성하는데 있어서 고도의 결정 인자일 수 있다. 비교적 적은 또는 적어도 최소량의 사용자 입력과의 원활한 상호 작용의 흐름을 제공하는 것은 가장 양호한 사용자 경험을 제공하는 것으로 고려될 수 있다. 달리 말하면, 사용자는 종종 자동이거나 가능한 한 자동으로 보이는 상호 작용을 선호한다.
사용자에게 유체 및 최소 침해성 상호 작용 경험을 제공하기 위해, 사용자 의도의 정확한 고속 추정 및 예측된 사용자 동작의 추정이 중요한 인자일 수 있다. 콘텍스트 정보가 고속의 신뢰적인 방식으로 디바이스가 이러한 추정을 행하는 것을 가능하게 하는데 유용할 수 있다. 이에 따라, 다수의 디바이스가 사용자 상호 작용을 개량하기 위해 적용 가능하고 사용 가능할 수 있는 콘텍스트 정보를 결정하기 위해 센서 및/또는 현재 디바이스 상태 또는 사용자 활동도 모니터를 이용한다. 이들 센서 및 모니터와 연관된 데이터의 프로세싱은 비교적 큰 부하를 생성할 수 있다. 부하를 취급하기 위한 멀티-코어 프로세서의 사용은 속도를 향상시킬 수 있지만, 때때로 메모리 버스 액세스와 연관된 병목현상(bottleneck)을 유발하고 전력 소비를 증가시킬 수 있다.
몇몇 예시적인 실시예는 예를 들어 현재 사용자 상태에 대한 연관 콘텐츠의 생성을 가속화하는 아키텍처를 이용함으로써 콘텍스트 정보 프로세싱의 관련성 및 시의성(timelineness)을 향상시키기 위한 메커니즘을 제공할 수 있다. 몇몇 실시예에서, 멀티-코어 프로세서의 단일 코어는 콘텍스트 인식 작업에 전용되도록 가상화될 수 있다. 전용 코어의 코어 레지스터 및 캐시 공간(예를 들어, L1 및/또는 L2 캐시) 내의 아키텍처에 의해 가상화되는 콘텍스트 엔진과 연관된 데이터 구조를 포함함으로써, 향상된 성능이 성취될 수 있다(예를 들어, 메모리 버스로의 액세스를 위한 적은 필요성을 갖고). 더욱이, 이러한 예시적인 실시예는 대응 디바이스 상에 소프트웨어의 나머지를 재기록하기 위한 필요성을 회피하는 점에서 겸손할(unobtrusive) 수도 있다. 몇몇 경우에, 전용 코어는 또한 특정 다른 동작(예를 들어, 특정 비트 동작)을 더 효율적이고 효과적으로 취급하도록 조정될 수도 있다. 따라서, 예를 들어, 몇몇 실시예는 랜덤 액세스 메모리의 사용보다 고속인 캐시 메모리를 경유하는 프로세싱이 향상된 사용자 인터페이스 응답성을 위해 최소 시간을 갖고 콘텍스트 예측을 제공하는 것을 가능하게 할 수 있다.
도 1은 본 발명의 일 예시적인 실시예에서, 본 발명의 실시예로부터 이득을 얻을 수 있는 모바일 단말(10)의 블록 다이어그램을 도시한다. 그러나, 도시되고 이하에 설명되는 바와 같은 모바일 단말은 단지 본 발명의 실시예로부터 이득을 얻을 수 있는 일 유형의 디바이스의 예시일 뿐이고, 따라서 본 발명의 실시예의 범주를 한정하도록 취해져서는 안된다는 것이 이해되어야 한다. 모바일 단말(10)의 다수의 실시예가 예시의 목적으로 이하에 설명되고 도시될 수 있지만, 개인 휴대 정보 단말(PDA), 호출기, 모바일 텔레비전, 게임기, 모든 유형의 컴퓨터(예를 들어, 랩탑 또는 모바일 컴퓨터), 카메라, 오디오/비디오 플레이어, 라디오, 위성 위치 확인 시스템(GPS) 디바이스 또는 전술된 것들의 임의의 조합 및 다른 유형의 통신 시스템과 같은 다른 유형의 모바일 단말이 본 발명의 실시예를 즉시 이용할 수 있다. 심지어 고정 디바이스가 몇몇 예시적인 실시예를 이용할 수 있다.
모바일 단말(10)은 송신기(14) 및 수신기(16)와 동작적으로 통신하는 안테나(12)(또는 다중 안테나)를 포함할 수 있다. 모바일 단말(10)은 송신기(14) 및 수신기(16)로의 신호의 제공 및 이들로부터의 신호의 수신을 각각 제어하는 제어기(20) 또는 프로세싱 하드웨어와 같은 장치를 추가로 포함할 수 있다. 신호는 적용 가능한 셀룰러 시스템의 공중 인터페이스 표준에 따라 정보를 신호화하는 것을 포함할 수 있고, 그리고/또는 사용자 음성, 수신된 데이터 및/또는 사용자 생성 데이터에 대응하는 데이터를 또한 포함할 수 있다. 이와 관련하여, 모바일 단말(10)은 하나 이상의 공중 인터페이스 표준, 통신 프로토콜, 변조 유형 및 액세스 유형과 함께 동작하는 것이 가능할 수 있다. 예시로서, 모바일 단말(10)은 임의의 다수의 1세대, 2세대, 3세대 및/또는 4세대 통신 프로토콜 등에 따라 동작하는 것이 가능할 수 있다. 예를 들어, 모바일 단말(10)은 2세대(2G) 무선 통신 프로토콜 IS-136[시분할 다중 접속(TDMA)], GSM(모바일 통신용 글로벌 시스템) 및 IS-95[코드 분할 다중 접속(CDMA)]에 따라, 또는 범용 이동 통신 시스템(UMTS), CDMA2000, 광대역 CDMA(WCDMA) 및 시분할 동기식 CDMA(TD-SCDMA)와 같은 3세대(3G) 무선 통신 프로토콜에 따라, E-UTRAN(진화형-범용 지상 무선 액세스 네트워크)과 같은 3.9G 무선 통신 프로토콜에 따라, 4세대(4G) 무선 통신 프로토콜 등에 따라 동작하는 것이 가능할 수 있다. 대안으로서(또는 부가적으로), 모바일 단말(10)은 비셀룰러 통신 메커니즘에 따라 동작하는 것이 가능할 수 있다. 예를 들어, 모바일 단말(10)은 무선 근거리 통신망(WLAN) 또는 다른 통신 네트워크에서 통신이 가능할 수도 있다.
제어기(20)와 같은 장치는 무엇보다도, 모바일 단말(10)의 오디오 및 논리 기능을 구현하는 회로를 포함할 수 있다는 것이 이해된다. 예를 들어, 제어기(20)는 디지털 신호 프로세서 드라이브, 마이크로프로세서 드라이브 및 다양한 아날로그 디지털 컨버터, 디지털 아날로그 컨버터 및/또는 다른 하드웨어 지원 회로를 포함할 수 있다. 모바일 단말(10)의 제어 및 신호 프로세싱 기능은 이들 각각의 능력에 따라 이들 디바이스 사이에 할당된다. 제어기(20)는 따라서 또한 변조 및 전송에 앞서 메시지 및 데이터를 콘볼루션 인코딩하고 인터리빙하기 위한 기능을 포함할 수 있다. 제어기(20)는 내부 음성 인코더를 부가로 포함할 수 있고, 내부 데이터 모뎀을 포함할 수 있다. 또한, 제어기(20)는 메모리 내에 저장될 수 있는 하나 이상의 소프트웨어 프로그램을 동작하기 위한 기능성을 포함할 수 있다. 예를 들어, 제어기(20)는 통상의 웹브라우저와 같은 접속성 프로그램을 동작하는 것이 가능할 수 있다. 접속성 프로그램은 이어서 예를 들어 무선 애플리케이션 프로토콜(WAP), 하이퍼텍스트 전송 프로토콜(HTTP) 등에 따라, 모바일 단말(10)이 위치 기반 콘텐츠 및/또는 다른 웹페이지 콘텐츠와 같은 웹 콘텐츠를 전송하고 수신하는 것을 가능하게 할 수 있다.
모바일 단말(10)은 제어기(20)에 결합될 수 있는 이어폰 또는 스피커(24), 링어(22), 마이크로폰(26), 디스플레이(28) 및 사용자 입력 인터페이스와 같은 출력 디바이스를 포함하는 사용자 인터페이스를 또한 포함할 수 있다. 모바일 단말(10)이 데이터를 수신하게 하는 사용자 입력 인터페이스는, 키패드(30), 터치 디스플레이(도시 생략), 마이크로폰(26) 또는 다른 입력 디바이스와 같은 모바일 단말(10)이 데이터를 수신하게 하는 임의의 다수의 디바이스를 포함할 수 있다. 키패드(30)를 포함하는 실시예에서, 키패드(30)는 숫자키(0 내지 9) 및 관련키(#, *) 및 모바일 단말을 동작하기 위해 사용된 다른 하드키 및 소프트키를 포함할 수 있다. 대안적으로, 키패드(30)는 통상의 QWERTY 키패드 배열을 포함할 수 있다. 키패드(30)는 연관 기능을 갖는 다양한 소프트키를 또한 포함할 수 있다. 게다가 또는 대안적으로, 모바일 단말(10)은 조이스틱 또는 다른 사용자 입력 인터페이스와 같은 인터페이스 디바이스를 포함할 수 있다. 모바일 단말(10)은 모바일 단말(10)을 동작하는데 사용된 다양한 회로에 전력 공급할 뿐만 아니라 선택적으로 검출 가능한 출력으로서 기계적 진동을 제공하는 진동 배터리팩과 같은 배터리(34)를 추가로 포함한다.
모바일 단말(10)은 일반적으로 스마트 카드라 칭할 수 있는 사용자 식별 모듈(UIM)(38)을 추가로 포함할 수 있다. UIM(38)은 통상적으로 내장된 프로세서를 갖는 메모리 디바이스이다. UIM(38)은 예를 들어 가입자 식별 모듈(SIM), 범용 집적 회로 카드(UICC), 범용 가입자 식별 모듈(USIM), 제거 가능 사용자 식별 모듈(R-UIM) 또는 임의의 다른 스마트 카드를 포함할 수 있다. UIM(38)은 통상적으로 모바일 가입자에 관련된 정보 요소를 저장한다. UIM(38)에 추가하여, 모바일 단말(10)은 메모리를 구비할 수 있다. 예를 들어, 모바일 단말(10)은 데이터의 일시 저장을 위한 캐시 영역을 포함하는 휘발성 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리(40)를 포함할 수 있다. 모바일 단말(10)은, 매립될 수 있고 그리고/또는 제거 가능할 수 있는 다른 비휘발성 메모리(42)를 또한 포함할 수 있다. 비휘발성 메모리(42)는 부가적으로 또는 대안적으로 전기 소거 가능 프로그램 가능 판독 전용 메모리(EEPROM), 플래시 메모리 등을 포함할 수 있다. 메모리는 모바일 단말(10)의 기능을 구현하기 위해 모바일 단말(10)에 의해 사용된 정보 및 데이터의 임의의 다수의 단편을 저장할 수 있다.
도 2는 본 발명의 예시적인 실시예에 따른 콘텍스트 분류를 제공하기 위한 장치의 개략 블록 다이어그램을 도시한다. 본 발명의 예시적인 실시예가 이제, 콘텍스트 부류를 제공하기 위한 장치(50)의 특정 요소가 도시되어 있는 도 2를 참조하여 설명될 것이다. 도 2의 장치(50)는 예를 들어 모바일 단말(10) 상에 이용될 수 있다. 그러나, 장치(50)는 대안적으로 모바일 및 고정의 모두의 다양한 다른 디바이스에 이용될 수도 있다. 몇몇 경우에, 실시예는 디바이스의 하나 또는 조합 상에 이용될 수 있다. 따라서, 본 발명의 몇몇 실시예는 분산 방식으로 복수의 디바이스에 의해 또는 클라이언트/서버 관계로 디바이스에 의해 단일 디바이스[예를 들어, 모바일 단말(10)]에서 전적으로 실시될 수 있다. 더욱이, 이하에 설명되는 디바이스 또는 요소는 필수적인 것은 아니고 따라서 몇몇은 특정 실시예에서 생략될 수 있다는 것이 주지되어야 한다.
이제 도 2를 참조하면, 콘텍스트 분류를 제공하기 위한 장치가 제공된다. 장치(50)는 프로세서(70), 사용자 인터페이스(72), 통신 인터페이스(74) 및 메모리 디바이스(76)를 포함하거나 다르게는 이들과 통신할 수 있다. 몇몇 실시예에서, 프로세서(70)[및/또는 코프로세서 또는 프로세서(70)를 보조하거나 다른 방식으로 연관된 임의의 다른 프로세싱 회로]가 장치(50)의 부품들간에 정보를 통과시키기 위해 버스를 경유하여 메모리 디바이스(76)와 통신할 수 있다. 메모리 디바이스(76)는 예를 들어 하나 이상의 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 달리 말하면, 예를 들어, 메모리 디바이스(76)는 머신[예를 들어, 프로세서(70)와 같은 컴퓨팅 디바이스]에 의해 검색 가능할 수 있는 데이터(예를 들어, 비트)를 저장하도록 구성된 게이트를 포함하는 전자 저장 디바이스(예를 들어, 컴퓨터 판독 가능 저장 매체)일 수 있다. 메모리 디바이스(76)는 장치가 본 발명의 예시적인 실시예에 따라 다양한 기능을 수행하는 것을 가능하게 하기 위한 정보, 데이터, 애플리케이션, 명령 등을 저장하도록 구성될 수 있다. 예를 들어, 메모리 디바이스(76)는 프로세서(70)에 의한 프로세싱을 위해 입력 데이터를 버퍼링하도록 구성될 수 있다. 부가적으로 또는 대안적으로, 메모리 디바이스(76)는 프로세서(70)에 의해 실행을 위한 명령을 저장하도록 구성될 수 있다.
장치(50)는 몇몇 실시예에서, 본 발명의 예시적인 실시예를 이용하도록 구성된 모바일 단말[예를 들어, 모바일 단말(10)] 또는 고정 통신 디바이스 또는 컴퓨팅 디바이스일 수 있다. 그러나, 몇몇 실시예에서, 장치(50)는 칩 또는 칩셋으로서 구체화될 수 있다. 달리 말하면, 장치(50)는 구조 조립체(예를 들어, 베이스보드) 상에 재료, 부품 및/또는 와이어를 포함하는 하나 이상의 물리적 패키지(예를 들어, 칩)를 포함할 수 있다. 구조적 조립체는 그 위에 포함된 부품 회로를 위한 물리적 강도, 크기의 보존 및/또는 전기적 상호 작용의 제한을 제공할 수 있다. 따라서, 장치(50)는 몇몇 경우에, 단일 칩 상에 또는 단일 "시스템 온 칩"으로서 본 발명의 실시예를 구현하도록 구성될 수 있다. 이와 같이, 몇몇 경우에, 칩 또는 칩셋은 본 명세서에 설명된 기능성을 제공하기 위한 하나 이상의 동작을 수행하기 위한 수단을 구성할 수 있다.
프로세서(70)는 다수의 상이한 방식으로 구체화될 수 있다. 예를 들어, 프로세서(70)는 코프로세서, 마이크로프로세서, 제어기, 디지털 신호 프로세서(DSP), 부속 DSP를 갖거나 갖지 않는 프로세싱 소자와 같은 다양한 프로세싱 수단, 또는 예를 들어, ASIC(응용 주문형 집적 회로), FPGA(필드 프로그램 가능 게이트 어레이), 마이크로제어기 유닛(MCU), 하드웨어 가속기, 벡터 프로세서, 그래픽 프로세싱 유닛(GPU), 특정 용도 컴퓨터 칩 또는 다른 유사한 하드웨어 프로세서와 같은 집적 회로를 포함하는 다양한 다른 프로세싱 회로 중 하나 이상으로서 구체화될 수 있다. 이와 같이, 몇몇 실시예에서, 프로세서(70)는 독립적으로 수행하도록 구성된 하나 이상의 프로세싱 코어를 포함할 수 있다. 멀티-코어 프로세서는 단일 물리적 패키지 내의 멀티프로세싱을 가능하게 할 수 있다. 부가적으로 또는 대안적으로, 프로세서(70)는 명령, 파이프라이닝 및/또는 멀티스레딩의 독립적인 실행을 가능하게 하기 위해 버스를 경유하여 직렬로 구성된 하나 이상의 프로세서를 포함할 수 있다.
예시적인 실시예에서, 프로세서(70)는 메모리 디바이스(76) 내에 저장되거나 프로세서(70)에 다른 방식으로 액세스 가능한 명령을 실행하도록 구성될 수 있다. 대안적으로 또는 부가적으로, 프로세서(70)는 하드 코딩된 기능성을 실행하도록 구성될 수 있다. 이와 같이, 하드웨어법 또는 소프트웨어법 또는 이들의 조합에 의해 구성되는지에 무관하게, 프로세서(70)는 이에 따라 구성되면서 본 발명의 실시예에 따른 동작을 수행하는 것이 가능한 엔티티(예를 들어, 회로 내에 물리적으로 구체화됨)를 표현할 수 있다. 따라서, 예를 들어, 프로세서(70)가 ASIC, FPGA 등으로서 구체화될 때, 프로세서(70)는 본 명세서에 설명된 동작을 수행하기 위해 구체적으로 구성된 하드웨어일 수 있다. 대안적으로, 다른 예로서, 프로세서(70)가 소프트웨어 명령의 실행자로서 구체화될 때, 명령은 구체적으로 명령이 실행될 때 본 명세서에 설명된 알고리즘 및/또는 동작을 수행하도록 프로세서(70)를 구성할 수 있다. 그러나, 몇몇 경우에, 프로세서(70)는 본 명세서에 설명된 알고리즘 및/또는 동작을 수행하기 위한 명령에 의한 프로세서(70)의 추가의 구성에 의해 본 발명의 실시예를 구체화하기 위해 적용된 특정 디바이스(예를 들어, 모바일 단말, 고정 단말 또는 네트워크 디바이스)의 프로세서일 수 있다. 프로세서(70)는 무엇보다도, 프로세서(70)의 동작을 지원하도록 구성된 클럭, 산술 논리 유닛(ALU) 및 논리 게이트를 포함할 수 있다.
한편, 통신 인터페이스(74)는 장치와 통신하는 네트워크 및/또는 임의의 다른 디바이스 또는 모듈로부터/로 데이터를 수신 및/또는 전송하도록 구성되는 하드웨어 또는 하드웨어와 소프트웨어의 조합에 구체화된 디바이스 또는 회로와 같은 임의의 수단일 수 있다. 이와 관련하여, 통신 인터페이스(74)는 예를 들어 무선 통신 네트워크와 통신하는 것을 가능하게 하기 위한 안테나(또는 다중 안테나) 및 지원 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 몇몇 환경에서, 통신 인터페이스(74)는 대안적으로 또는 유선 통신을 지원할 수 있다. 이와 같이, 예를 들어, 통신 인터페이스(74)는 케이블, 디지털 가입자 라인(DSL), 범용 직렬 버스(USB) 또는 다른 메커니즘을 경유하여 통신을 지원하기 위한 통신 모뎀 및/또는 다른 하드웨어/소프트웨어를 포함할 수 있다.
사용자 인터페이스(72)는 사용자 인터페이스(72)에서 사용자 입력의 지시를 수신하고 그리고/또는 사용자에 청각, 시각, 기계적 또는 다른 출력을 제공하기 위해 프로세서(70)와 통신할 수 있다. 이와 같이, 사용자 인터페이스(72)는 예를 들어, 키보드, 마우스, 조이스틱, 디스플레이, 터치 스크린, 소프트키, 마이크로폰, 스피커 또는 다른 입력/출력 메커니즘을 포함할 수 있다. 장치가 서버 또는 몇몇 다른 네트워크 디바이스로서 구체화되는 예시적인 실시예에서, 사용자 인터페이스(72)는 제한되거나 제거될 수도 있다. 그러나, 장치가 통신 디바이스[예를 들어, 모바일 단말(10)]로서 구체화되는 실시예에서, 사용자 인터페이스(72)는 다른 디바이스 또는 요소들 중에서, 스피커, 마이크로폰, 디스플레이 및 키보드 등의 임의의 것 또는 모두를 포함할 수 있다. 이와 관련하여, 예를 들어, 프로세서(70)는 예를 들어 스피커, 링어, 마이크로폰, 디스플레이 및/또는 기타 등등과 같은 사용자 인터페이스의 하나 이상의 요소의 적어도 일부 기능을 제어하도록 구성된 사용자 인터페이스 회로를 포함할 수 있다. 프로세서(70) 및/또는 프로세서(70)를 포함하는 사용자 인터페이스 회로는 프로세서(70)에 액세스 가능한 메모리[예를 들어, 메모리 디바이스(76) 및/또는 기타 등등] 상에 저장된 컴퓨터 프로그램 명령(예를 들어, 소프트웨어 및/또는 펌웨어)을 통해 사용자 인터페이스의 하나 이상의 요소의 하나 이상의 기능을 제어하도록 구성될 수 있다.
예시적인 실시예는 이제 멀티-코어 프로세서의 환경에서 설명될 것이지만, 몇몇 실시예는 또한 전술된 바와 같이 다수의 프로세서가 네트워킹되는 환경에서 실시될 수도 있다는 것이 이해되어야 한다. 예시적인 실시예에서, 프로세서(70)는 2개, 4개, 6개, 8개 또는 임의의 바람직한 수의 코어를 갖는 멀티-코어 프로세서일 수 있다. 다수의 프로세서 코어[코어(71, 71')에 의해 표현됨]의 각각은 명령을 실제로 판독하고 실행하는 프로세서(70)의 부분을 표현할 수 있다. 더욱이, 예시적인 실시예에서, 코어(71, 71')(2개 초과의 코어가 구현되는 경우에 다른 코어와 함께)는 코드 또는 스레드를 병렬로 실행할 수 있다. 이와 관련하여, 몇몇 경우에, 병렬 라이브러리가 이하에 더 상세히 설명되는 바와 같이 특정 환경에서 이용 가능한 프로세서의 수에 따라 스케일링될 수 있는 휴대 가능한 방식으로 코드가 기록되는 것을 가능하게 하기 위한 표준 구현 및 패턴을 제공하도록 이용될 수 있다.
예시적인 실시예에서, 프로세서(70)는 콘텍스트 엔진(80)으로서 구체화되고, 포함하거나 다르게는 제어할 수 있다. 이와 같이, 몇몇 실시예에서, 프로세서(70)는 본 명세서에 설명되는 바와 같이 콘텍스트 엔진(80)에 속하는 다양한 기능의 실행 또는 발생을 유발하고, 지시하거나 제어하는 것으로 일컬을 수 있다. 콘텍스트 엔진(80)은 하드웨어 또는 하드웨어와 소프트웨어의 조합에 따라 동작하여 이에 의해 본 명세서에 설명된 바와 같은 콘텍스트 엔진(80)의 대응 기능을 수행하도록 디바이스 또는 회로를 구성하는 디바이스 또는 회로[예를 들어, 소프트웨어 제어 하에서 동작하는 프로세서(70), 본 명세서에 설명된 동작을 수행하도록 구체적으로 구성된 ASIC 또는 FPGA로서 구체화된 프로세서(70) 또는 이들의 조합]와 같은 임의의 수단일 수 있다. 따라서, 소프트웨어가 이용되는 예에서, 소프트웨어를 실행하는 디바이스 또는 회로[예를 들어, 일 예에서 프로세서(70)]는 이러한 수단과 연관된 구조를 형성한다.
예시적인 실시예에서, 콘텍스트 엔진(80)은 일반적으로 몇몇 경우에 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하는 것과, 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하기 위해 콘텍스트 코어와 연관된 캐시 메모리를 구성하는 것과, 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하는 것을 포함할 수 있는 일련의 동작의 임의의 것 또는 모두를 수행하도록 구성될 수 있다. 몇몇 실시예에서, 콘텍스트 엔진(80)은 코어(71 또는 71') 중 단일의 것 상에 가상화될 수 있다. 이에 따라, 콘텍스트 인식 작업과 연관된 모든 프로세싱은 사용자 경험의 향상과 연관된 콘텍스트 판정 및 예측과 연관된 부하로의 단일 코어의 집중된 주의를 가능하게 하기 위해 단일 코어 상에서 수행될 수 있다. 예시적인 실시예에서, 콘텍스트 엔진(80)은 멀티-코어 프로세서[예를 들어, 프로세서(70)]의 단일 코어 상에 가상화될 수 있을 뿐만 아니라, 콘텍스트 엔진(80)과 연관된 데이터 구조가 마찬가지로 단일 코어의 코어 레지스터 및 캐시 메모리(예를 들어, 멀티-레벨 캐시 메모리의 L1 및/또는 L2 캐시) 상에 전적으로 제공될 수 있다. 따라서, 메인 메모리[예를 들어, 메모리 디바이스(76)]에 액세스하기 위한 필요성이 상당히 감소될 수 있고, 향상된 성능이 경험될 수 있다.
도 3은 예시적인 실시예를 수행하도록 구성된 멀티-코어 프로세서의 블록 다이어그램을 도시한다. 도 3에 도시된 바와 같이, 멀티-코어 프로세서는 복수의 코어(이 예에서 4개)를 포함할 수 있지만, 2개 이상의 코어를 포함하는 임의의 적합한 수가 다양한 상이한 예시적인 실시예에서 이용될 수 있다. 코어는 내부 버스 또는 다른 통신 메커니즘을 경유하여 서로 통신할 수 있다. 코어는 메모리 액세스 버스(96)를 경유하여 메인 메모리(90)[예를 들어, 도 2의 메모리 디바이스(76)]에 액세스하는 능력을 또한 가질 수 있다. 일반적으로 말하면, 코어[예를 들어, 코어(100, 102, 104, 106)]는 캐시 메모리(예를 들어, L1 및/또는 L2 캐시)를 공유하거나 공유하지 않을 수 있다. 그러나, 예시적인 실시예에서, 각각의 코어(100, 102, 104, 106)는 공유되지 않은 대응 캐시 메모리[예를 들어, 캐시 메모리(110, 112, 114, 116) 각각]를 포함할 수 있다. 몇몇 대안예에서, 캐시 메모리의 일 레벨(예를 들어, L1 캐시)은 각각의 코어에 대해 배타적일 수 있고, 다른 레벨(예를 들어, L2 캐시)은 일부 또는 전체 코어에 의해 공유될 수 있다. 공유 패러다임에 무관하게, 콘텍스트 엔진(80)과 연관된 데이터 구조가 캐시 메모리 내에 저장될 수 있다. 콘텍스트 엔진(80)은 또한 각각 콘텍스트 정보를 판정하기 위한 그리고 콘텍스트 정보에 기초하여 콘텍스트의 예측을 행하기 위한 제어 및 예측 알고리즘을 정의하는 명령을 포함하도록 구성될 수 있다.
이에 따라, 예시적인 실시예에서, 콘텍스트 엔진(80)은 코어(100)[이하, 콘텍스트 코어(100)]와 같은 코어들 중 하나를 사용하여 가상화에 의해 구체화될 수 있다. 콘텍스트 코어(100)의 캐시 메모리(110)는 콘텍스트 엔진(80)을 정의하는 데이터 구조를 저장할 수 있고, 또한 사용자 인터페이스 관련 상호 작용을 취급하기 위한 예측 알고리즘 및/또는 제어 알고리즘을 정의함으로써 콘텍스트 엔진(80)이 장치(50)의 콘텍스트를 판정하고 그리고/또는 예측을 행하는 것을 가능하게 하기 위해 사용될 수 있는 콘텍스트 정보와 연관된 데이터(예를 들어, 센서 및/또는 모니터 데이터)를 버퍼링하거나 저장할 수 있다. 예를 들어, 콘텍스트 엔진(80)은 사용자 입력에 기초하는 디스플레이를 위한 바람직한 뷰(예를 들어, 브라우저가 열린 후에 진행될 제 1 웹사이트)를 예측하고(예를 들어, 예측 알고리즘을 경유하여), 사용자 입력에 기초하여 콘텍스트를 예측하고(예를 들어, 사용자가 WLAN 액세스 포인트를 선택하면 홈 환경을 판정함) 그리고/또는 콘텍스트로부터 사용자 입력을 예측하도록(예를 들어, 경보 클럭이 설정될 가능성이 있는 저녁 시간 또는 소정의 다른 시간에 디바이스가 홈 환경에 있다고 판정될 때 경보 클럭을 크게 함) 구성될 수 있다.
몇몇 실시예에서, 콘텍스트 코어(100)에 의해 프로세싱된 콘텍스트 정보는 콘텍스트 스트링[예를 들어, 콘텍스트 스트링(120, 122, 124 등)]을 포함할 수 있다. 각각의 콘텍스트 스트링은 사용자 동작, 센서 데이터, 현재 상태(예를 들어, 애플리케이션 환경) 및/또는 기타 등등을 설명하는 고유 비트 시퀀스일 수 있다. 다수의 콘텍스트 스트링은 콘텍스트 문서(130)를 형성하기 위해 콘텍스트 코어(100)의 캐시 메모리(110) 내에 저장될 수 있다. 콘텍스트 문서(130)는 대응 시간 윈도우에 적용 가능할 수 있다. 몇몇 실시예에서, 시간 윈도우는 각각 랜덤 인덱스의 세트가 제공될 수 있다(예를 들어, 포지티브 및 네거티브 랜덤 인덱스를 제공하는 인덱스 방안에 따라). 콘텍스트 스트링과 연관된 데이터는 캐시 메모리(110)(예를 들어, L1 및/또는 L2 캐시) 내에 상주하는 빈도 매트릭스(140)에 추가될 수 있다. 빈도 매트릭스(140)는 콘텍스트 스트링과 연관된 특정 사용자 동작, 센서 데이터, 상태 정보 및 다른 발생이 조우되는 빈도를 지시할 수 있다. 캐시 메모리(110)에 저장된 데이터는 현재 콘텍스트의 추정치를 검색하는데 사용될 수 있다. 예를 들어, 현재 시간 윈도우와 연관된 콘텍스트 스트링과 이전의 콘텍스트 스트링 사이의 정합의 정도를 판정하기 위해 콘텍스트 스트링들 사이에 비교가 행해질 수 있다. 몇몇 실시예에서, 콘텍스트 스트링들 사이의 해밍(Hamming) 거리 또는 비교적 신속하게 수행될 수 있고 여전히 스트링들 사이의 유사성의 정도의 비교적 정확한 지시를 제공할 수 있는 다른 차이의 측정이 이용될 수 있다. 더욱이, 몇몇 실시예에서, 예측 벡터는 일반적으로 콘텍스트 정보에 기초하여 실시간 사용자 인터페이스 적응을 위해 비교적 신속하게 콘텍스트 엔진(80)에 의해 생성될 수 있다.
몇몇 실시예는 하나의 코어 및 캐시 상에 적합하고 따라서 시스템 내에 겸손하게 삽입될 수 있는 콘텍스트 정보를 판정하기 위한[예를 들어, 콘텍스트 엔진(80)을 경유하여] 알고리즘을 제공함으로써 모바일 디바이스 생성 스트림에 비교적 작은 변경을 제공할 수 있다. 더욱이, 캐시 메모리(110)는 콘텍스트 엔진(80)을 포함하기 때문에, 콘텍스트 엔진(80)의 예측 알고리즘 관련 기능은 종종 지연에 부닥치는 시스템 레벨 프로세스에 대한 병목현상인 메모리 버스 액세스(예를 들어, 메인 메모리로의)를 필요로 하지 않고 수행될 수 있다. 콘텍스트 엔진(80)의 예측 및 제어 알고리즘은 전체 파워 업-다운 사이클 동안 활성 상태로 캐시 내에 체류할 수 있다.
부가적으로, 빈도 매트릭스(140)는 캐시 손실 또는 메모리 페이징 이벤트 없이 빈도 매트릭스(140)가 항상 이용 가능하게 하기 위해 캐시 메모리(110)(예를 들어, L2 캐시) 내에 완전히 저장될 수 있다. 몇몇 실시예에서, 빈도 매트릭스(140)의 크기는 미리 고정될 수 있고, 따라서 L2 캐시의 사전 정의된 측으로 머신 학습 데이터를 스케일링하는 것이 가능할 수 있다. 몇몇 경우에, 신규 트레이닝 데이터가 빈도 매트릭스(140)의 크기를 변경하지 않고 추가될 수 있다(예를 들어, 예측의 관련성을 향상시키기 위해 정상 소비자 사용 중에 데이터 취득 및 머신 학습에 대해 사용을 위해 L2 캐시 구현을 적응성이 있게 함). 더욱이, 소정의 시간 간격으로 동기적으로 다른 시스템에 의해 사용될 준비가 된 신규한 예측 결과를 제공하는 방식으로 시스템을 구현하는 것이 가능할 수 있다. 복잡성은 따라서 사용자 인터페이스 디자인을 위해 감소될 수 있다.
몇몇 실시예에서, 관련 예측은 증가된 컴퓨팅 사이클 및 따라서 증가된 학습 기회를 필요로 하거나 이들에 의해 다른 방식으로 향상될 수 있기 때문에, 특정 강조점이 특정 동작을 취급하는 것을 용이하게 하도록 셋업될 수 있다. 예를 들어, 콘텍스트 코어(100)는 특정 사전 정의된 또는 특정 비트 동작을 취급하도록 조정될 수 있다. 이와 같이, 콘텍스트 코어(100)는 신속하고 비교적 정확한 방식으로 특정 콘텍스트 상황을 식별하도록 가능화된 특정 콘텍스트 가속기가 되도록 구성될 수 있다.
도 4는 본 발명의 예시적인 실시예에 따른 방법 및 프로그램 제품의 흐름도이다. 흐름도의 각각의 블록 및 흐름도의 블록들의 조합은 하나 이상의 컴퓨터 프로그램 명령을 포함하는 소프트웨어의 실행과 연관된 하드웨어, 펌웨어, 프로세서, 회로 및/또는 다른 디바이스와 같은 다양한 수단에 의해 구현될 수 있다는 것이 이해되어야 한다. 예를 들어, 전술된 절차의 하나 이상은 컴퓨터 프로그램 명령에 의해 구체화될 수 있다. 이와 관련하여, 전술된 절차를 구체화하는 컴퓨터 프로그램 명령은 사용자 단말 또는 다른 디바이스의 메모리 디바이스에 의해 저장되고 사용자 단말 또는 다른 디바이스 내의 프로세서에 의해 실행될 수 있다. 이해될 수 있는 바와 같이, 임의의 이러한 컴퓨터 프로그램 명령은 머신을 생성하기 위해 컴퓨터 또는 다른 프로그램 가능 장치(예를 들어, 하드웨어) 상에 로딩될 수 있어, 컴퓨터 또는 다른 프로그램 가능 장치 상에서 실행하는 명령이 흐름도 블록(들)에 지정된 기능을 구현하기 위한 수단을 생성하게 한다. 이들 컴퓨터 프로그램 명령은 특정 방식으로 기능하도록 컴퓨터 또는 다른 프로그램 가능 장치에 지시할 수 있는 비일시적 컴퓨터 판독 가능 메모리 내에 또한 저장될 수 있어, 컴퓨터 판독 가능 메모리 내에 저장된 명령이 흐름도 블록(들) 내에 지정된 기능을 구현하는 제조 부품을 생성하게 한다. 컴퓨터 프로그램 명령은 컴퓨터 또는 다른 프로그램 가능 장치 상에서 실행하는 명령이 흐름도 블록(들) 내에 지정된 기능을 구현하도록 컴퓨터 구현된 프로세스를 생성하기 위해 일련의 동작이 컴퓨터 또는 다른 프로그램 가능 장치 상에서 수행될 수 있게 하도록 컴퓨터 또는 다른 프로그램 가능 장치 상에 또한 로딩될 수 있다.
이에 따라, 흐름도의 블록들은 지정된 기능을 수행하기 위한 수단의 조합 및 지정된 기능을 수행하기 위한 동작의 조합을 지원한다. 흐름도의 하나 이상의 블록 및 흐름도의 블록들의 조합은 지정된 기능 또는 특정 용도 하드웨어 및 컴퓨터 명령의 조합을 수행하는 특정 용도 하드웨어 기반 컴퓨터 시스템에 의해 구현될 수 있다는 것이 또한 이해될 수 있을 것이다.
이와 관련하여, 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 방법은 동작 200에서 사용자 단말 내에 콘텍스트 코어로서 멀티-코어 프로세서의 단일 코어의 선택을 행하게 하는 단계와, 동작 210에서 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하기 위해 콘텍스트 코어와 연관된 캐시 메모리를 구성하는 단계와, 동작 220에서 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하는 단계를 포함할 수 있다.
몇몇 실시예에서, 상기 동작들 중 특정의 것들은 이하에 설명되는 바와 같이 수정되거나 더 확장될 수 있다. 더욱이, 몇몇 실시예에서, 부가의 선택적 동작이 또한 포함될 수 있다. 이하의 각각의 수정, 선택적 추가 또는 확장은 단독으로 또는 본 명세서에 설명된 특징들 중 임의의 다른 것들과 조합하여 상기 동작과 함께 포함될 수 있다는 것이 이해되어야 한다. 몇몇 실시예에서, 캐시 메모리를 구성하는 것은 사용자 단말과 연관된 사용자 동작, 센서 데이터 또는 현재 상태를 설명하는 대응 고유 비트 시퀀스를 각각 설명하는 복수의 콘텍스트 스트링을 포함하는 콘텍스트 문서를 정의하도록 캐시 메모리를 구성하는 것을 포함할 수 있다. 예시적인 경우에, 콘텍스트 문서를 정의하도록 캐시 메모리를 구성하는 것은 각각의 콘텍스트 문서가 상이한 시간 윈도우에 대응하는 복수의 콘텍스트 문서를 정의하는 것을 포함할 수 있다. 몇몇 실시예에서, 예측 및 제어 기능의 실행을 야기하는 것은 멀티-코어 프로세서의 메모리 캐시의 외부의 메모리로의 콘텍스트 코어에 의한 액세스 없이 수신된 콘텍스트 관련 정보에 기초하여 예측 알고리즘 또는 제어 알고리즘의 실행을 야기하는 것을 포함할 수 있다. 예시적인 실시예에서, 예측 및 제어 기능의 실행을 야기하는 것은 미리 저장된 콘텍스트 스트링에 현재 시간 윈도우와 연관된 콘텍스트 스트링의 비교를 야기하는 것을 포함할 수 있다. 사용자 인터페이스 관련 상호 작용에 관한 예측은 이어서 비교에 기초하여 행해질 수 있다. 몇몇 실시예에서, 캐시 메모리를 구성하는 것은 빈도 매트릭스를 정의하도록 캐시 메모리를 구성하는 것을 포함할 수 있다. 예시적인 실시예에서, 단일-코어를 선택하게 하는 것은 사용자 단말을 위해 콘텍스트 정보를 배타적으로 프로세싱하기 위해 콘텍스트 코어를 가상화하는 것을 추가로 포함할 수 있다.
예시적인 실시예에서, 상기 도 4의 방법을 수행하기 위한 장치는 전술된 동작(200 내지 220)의 일부 또는 각각을 수행하도록 구성된 프로세서[예를 들어, 프로세서(70) 또는 콘텍스트 코어(100)]를 포함할 수 있다. 프로세서는 예를 들어 하드웨어 구현 논리 기능을 수행하고, 저장된 명령을 실행하고 또는 각각의 동작을 수행하기 위한 알고리즘을 수행함으로써 동작(200 내지 220)을 수행하도록 구성될 수 있다. 대안적으로, 장치는 전술된 각각의 동작을 수행하기 위한 수단을 포함할 수 있다. 이와 관련하여, 예시적인 실시예에 따르면, 동작(200 내지 220)을 수행하기 위한 수단의 예는 예를 들어 콘텍스트 엔진(80)을 포함할 수 있다. 부가적으로 또는 대안적으로, 적어도 프로세서(70) 또는 콘텍스트 코어(100)가 콘텍스트 엔진(80)을 제어하도록 구성되거나 심지어 콘텍스트 엔진으로서 구체화될 수 있다는 사실에 의해, 프로세서(70), 콘텍스트 코어(100) 및/또는 전술된 바와 같이 명령을 프로세싱하기 위한 알고리즘을 실행하거나 명령을 실행하기 위한 디바이스 또는 회로는 또한 동작(200 내지 220)을 수행하기 위한 예시적인 수단을 형성할 수 있다.
본 명세서에 설명된 발명의 다수의 수정예 및 다른 실시예가 상기 설명 및 연관 도면에 제시된 교시의 이득을 갖는 본 발명이 속하는 기술 분야의 숙련자에게 고려될 수 있을 것이다. 따라서, 본 발명은 개시된 특정 실시예에 한정되도록 의도되는 것은 아니고, 수정예 및 다른 실시예가 첨부된 청구범위의 범주 내에 포함되도록 의도된다는 것이 이해되어야 한다. 더욱이, 상기 설명 및 연관 도면은 요소 및/또는 기능의 특정 예시적인 조합의 환경에서 몇몇 예시적인 실시예를 설명하고 있지만, 요소 및/또는 기능의 상이한 조합이 첨부된 청구범위의 범주로부터 벗어나지 않고 대안 실시예에 의해 제공될 수 있다는 것이 이해되어야 한다. 이와 관련하여, 예를 들어 상기에 명시적으로 설명된 것들과 상이한 요소 및/또는 기능의 조합이 또한 첨부된 청구범위의 일부에 설명될 수 있는 바와 같이 고려된다. 특정 용어가 본 명세서에 이용되었지만, 이들 용어는 한정의 목적이 아니라 단지 일반적이고 설명적인 개념으로 사용된다.
10: 모바일 단말 12: 안테나
14: 송신기 16: 수신기
20: 제어기 22: 링어
24: 스피커 26: 마이크로폰
70: 프로세서 71, 71': 코어
72: 사용자 인터페이스 74: 통신 인터페이스

Claims (20)

  1. 사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하는 단계와,
    상기 콘텍스트 코어가 상기 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하도록 상기 콘텍스트 코어와 연관된 캐시 메모리를 구성하는 단계와,
    상기 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 캐시 메모리를 구성하는 단계는, 상기 사용자 단말과 연관된 사용자 동작, 센서 데이터 또는 현재 상태를 설명하는 대응 고유 비트 시퀀스를 각각 설명하는 복수의 콘텍스트 스트링을 포함하는 콘텍스트 문서를 정의하도록 상기 캐시 메모리를 구성하는 단계를 포함하는
    방법.
  3. 제 2 항에 있어서,
    상기 콘텍스트 문서를 정의하도록 캐시 메모리를 구성하는 단계는 각각의 콘텍스트 문서가 상이한 시간 윈도우에 대응하는 복수의 콘텍스트 문서를 정의하는 단계를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 예측 및 제어 기능의 실행을 행하게 하는 단계는, 상기 멀티-코어 프로세서의 메모리 캐시의 외부의 메모리로의 상기 콘텍스트 코어에 의한 액세스 없이, 수신된 콘텍스트 관련 정보에 기초하여, 예측 알고리즘 또는 제어 알고리즘의 실행을 행하게 하는 단계를 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 예측 및 제어 기능의 실행을 행하게 하는 단계는 미리 저장된 콘텍스트 스트링과 현재 시간 윈도우와 연관된 콘텍스트 스트링의 비교를 행하게 하는 단계를 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 캐시 메모리를 구성하는 단계는 빈도 매트릭스(frequency matrix)를 정의하도록 상기 캐시 메모리를 구성하는 단계를 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 단일 코어를 선택하게 하는 단계는 상기 사용자 단말을 위한 콘텍스트 정보를 배타적으로 프로세싱하기 위해 상기 콘텍스트 코어를 가상화하는 단계를 더 포함하는
    방법.
  8. 적어도 하나의 프로세서, 및 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 적어도
    사용자 단말 내의 콘텍스트 코어로서 멀티-코어 프로세서 내의 단일 코어를 선택하게 하고,
    상기 콘텍스트 코어가 상기 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하도록 상기 콘텍스트 코어와 연관된 캐시 메모리를 구성하게 하며,
    상기 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능의 실행을 행하게 하는
    장치.
  9. 제 8 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 상기 사용자 단말과 연관된 사용자 동작, 센서 데이터 또는 현재 상태를 설명하는 대응 고유 비트 시퀀스를 각각 설명하는 복수의 콘텍스트 스트링을 포함하는 콘텍스트 문서를 정의하도록 캐시 메모리를 구성함으로써 상기 캐시 메모리를 구성하게 하는
    장치.
  10. 제 9 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 각각의 콘텍스트 문서가 상이한 시간 윈도우에 대응하는 복수의 콘텍스트 문서를 정의함으로써 상기 콘텍스트 문서를 정의하도록 상기 캐시 메모리를 구성하게 하는
    장치.
  11. 제 8 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 상기 멀티-코어 프로세서의 메모리 캐시의 외부의 메모리로의 상기 콘텍스트 코어에 의한 액세스 없이, 수신된 콘텍스트 관련 정보에 기초하여 예측 알고리즘 또는 제어 알고리즘의 실행을 행함으로써 예측 및 제어 기능의 실행을 행하게 하는
    장치.
  12. 제 8 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 미리 저장된 콘텍스트 스트링과 현재 시간 윈도우와 연관된 콘텍스트 스트링의 비교를 행함으로써 예측 및 제어 기능의 실행을 행하게 하는
    장치.
  13. 제 8 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 빈도 매트릭스를 정의하도록 캐시 메모리를 구성함으로써 상기 캐시 메모리를 구성하게 하는
    장치.
  14. 제 8 항에 있어서,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서와 함께, 상기 장치로 하여금 상기 사용자 단말을 위한 콘텍스트 정보를 배타적으로 프로세싱하기 위해 상기 콘텍스트 코어를 또한 가상화함으로써 상기 단일 코어를 선택하게 하는
    장치.
  15. 메인 메모리와,
    메모리 버스를 경유하여 상기 메인 메모리에 액세스하도록 구성된 적어도 2개의 코어를 갖는 멀티-코어 프로세서를 포함하되,
    상기 적어도 2개의 코어 중 하나의 코어는 콘텍스트 코어로서 선택되고, 상기 콘텍스트 코어는 연관된 캐시 메모리를 갖고, 상기 캐시 메모리는 상기 콘텍스트 코어에서 프로세싱된 콘텍스트 정보에 기초하여 사용자 인터페이스 상호 작용에 관련된 예측 및 제어 기능을 수행하도록 상기 콘텍스트 코어가 사용자 단말을 위한 콘텍스트 정보를 프로세싱하는 것을 가능하게 하도록 구성되는
    장치.
  16. 제 15 항에 있어서,
    상기 캐시 메모리는 상기 장치와 연관된 사용자 동작, 센서 데이터 또는 현재 상태를 설명하는 대응 고유 비트 시퀀스를 각각 설명하는 복수의 콘텍스트 스트링을 포함하는 콘텍스트 문서를 저장하도록 구성되는
    장치.
  17. 제 15 항에 있어서,
    상기 캐시 메모리는 각각의 콘텍스트 문서가 상이한 시간 윈도우에 대응하는 복수의 콘텍스트 문서를 정의하도록 구성되는
    장치.
  18. 제 15 항에 있어서,
    상기 콘텍스트 코어는 상기 메모리 버스를 경유하는 상기 메인 메모리로의 상기 콘텍스트 코어에 의한 액세스 없이 수신된 콘텍스트 관련 정보에 기초하여 예측 알고리즘 또는 제어 알고리즘의 실행을 행하도록 구성되는
    장치.
  19. 제 15 항에 있어서,
    상기 콘텍스트 코어는 미리 저장된 콘텍스트 스트링과 현재 시간 윈도우와 연관된 콘텍스트 스트링의 비교에 기초하여 콘텍스트 정보를 예측하도록 구성되는
    장치.
  20. 제 15 항에 있어서,
    상기 콘텍스트 코어는 상기 캐시 메모리 내에 빈도 매트릭스를 정의하도록 구성되는
    장치.
KR1020137013641A 2010-10-29 2011-10-17 효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치 KR101529802B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/915,954 US8516205B2 (en) 2010-10-29 2010-10-29 Method and apparatus for providing efficient context classification
US12/915,954 2010-10-29
PCT/IB2011/054606 WO2012056368A1 (en) 2010-10-29 2011-10-17 Method and apparatus for providing efficient context classification

Publications (2)

Publication Number Publication Date
KR20140010930A true KR20140010930A (ko) 2014-01-27
KR101529802B1 KR101529802B1 (ko) 2015-06-17

Family

ID=45993230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137013641A KR101529802B1 (ko) 2010-10-29 2011-10-17 효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US8516205B2 (ko)
EP (1) EP2633419A4 (ko)
KR (1) KR101529802B1 (ko)
CN (1) CN103189853B (ko)
CA (1) CA2815288A1 (ko)
WO (1) WO2012056368A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073498A (ko) 2020-11-26 2022-06-03 주식회사 알에스엔 텍스트 데이터에 대한 주제 별 분류 사전 구축방법 및 이를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장매체

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2495959A (en) * 2011-10-26 2013-05-01 Imagination Tech Ltd Multi-threaded memory access processor
US10108701B2 (en) 2012-02-22 2018-10-23 Nokia Technologies Oy System and method for determining context
EP2817737A4 (en) * 2012-02-22 2015-10-07 Nokia Technologies Oy ADAPTIVE SYSTEM
WO2013124522A1 (en) 2012-02-22 2013-08-29 Nokia Corporation A system, and a method for providing a predition for controlling a system
EP2817738B1 (en) 2012-02-22 2022-06-22 Nokia Technologies Oy Predictive service access
CN103914426B (zh) * 2013-01-06 2016-12-28 中兴通讯股份有限公司 一种多线程处理基带信号的方法及装置
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US9910675B2 (en) 2013-08-08 2018-03-06 Linear Algebra Technologies Limited Apparatus, systems, and methods for low power computational imaging
US9727113B2 (en) 2013-08-08 2017-08-08 Linear Algebra Technologies Limited Low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US9146747B2 (en) * 2013-08-08 2015-09-29 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing configurable computational imaging pipeline
CN105765552B (zh) * 2013-10-14 2020-01-21 诺基亚技术有限公司 用于基于情境关系来标识媒体文件的方法和装置
US11397681B2 (en) 2020-12-21 2022-07-26 Aux Mode Inc. Multi-cache based digital output generation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7679534B2 (en) * 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US7340438B2 (en) * 2001-05-21 2008-03-04 Nokia Corporation Method and apparatus for managing and enforcing user privacy
US7603112B2 (en) * 2003-04-03 2009-10-13 Nokia Corporation System, mobile station, method and computer program product for managing context-related information
US20050132239A1 (en) 2003-12-16 2005-06-16 Athas William C. Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
JP5113981B2 (ja) * 2004-03-31 2013-01-09 日本電気株式会社 コンテクスト提供方法、システム、装置ならびにプログラム
US7257678B2 (en) 2004-10-01 2007-08-14 Advanced Micro Devices, Inc. Dynamic reconfiguration of cache memory
US8515468B2 (en) * 2005-09-21 2013-08-20 Buckyball Mobile Inc Calculation of higher-order data from context data
JP2009527828A (ja) 2006-02-17 2009-07-30 クゥアルコム・インコーポレイテッド マルチプロセッサのアプリケーションサポートのためのシステムおよび方法
US7581188B2 (en) * 2006-09-27 2009-08-25 Hewlett-Packard Development Company, L.P. Context-based user interface system
US8161299B2 (en) * 2007-12-20 2012-04-17 Intel Corporation Location based policy system and method for changing computing environments
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
US20100241663A1 (en) * 2008-02-07 2010-09-23 Microsoft Corporation Providing content items selected based on context
US8205196B2 (en) * 2008-04-08 2012-06-19 Broadcom Corporation Systems and methods for using operating system (OS) virtualisation for minimizing power consumption in mobile phones
US8095112B2 (en) * 2008-08-21 2012-01-10 Palo Alto Research Center Incorporated Adjusting security level of mobile device based on presence or absence of other mobile devices nearby
US20100107100A1 (en) * 2008-10-23 2010-04-29 Schneekloth Jason S Mobile Device Style Abstraction
US8532642B2 (en) * 2009-03-31 2013-09-10 Empire Technology Development Llc Autonomous, non-interactive, context-based services for cellular phone
FR2946442B1 (fr) * 2009-06-05 2011-08-05 Airbus France Procede et dispositif de chargement et d'execution d'instructions a cycles deterministes dans un systeme avionique multi-coeurs ayant un bus dont le temps d'acces est non predictible

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220073498A (ko) 2020-11-26 2022-06-03 주식회사 알에스엔 텍스트 데이터에 대한 주제 별 분류 사전 구축방법 및 이를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장매체
KR20220137603A (ko) 2020-11-26 2022-10-12 주식회사 알에스엔 텍스트 데이터에 대한 주제 별 분류 사전 구축방법 및 이를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장매체

Also Published As

Publication number Publication date
WO2012056368A1 (en) 2012-05-03
KR101529802B1 (ko) 2015-06-17
EP2633419A4 (en) 2014-12-17
CA2815288A1 (en) 2012-05-03
CN103189853B (zh) 2016-06-29
US20120110267A1 (en) 2012-05-03
US8516205B2 (en) 2013-08-20
CN103189853A (zh) 2013-07-03
EP2633419A1 (en) 2013-09-04

Similar Documents

Publication Publication Date Title
KR101529802B1 (ko) 효율적인 콘텍스트 분류를 제공하기 위한 방법 및 장치
US10726515B2 (en) Hybrid rendering systems and methods
US9223581B2 (en) Data processing system and method for switching between heterogeneous accelerators
US10044576B2 (en) Estimation of power consumption of individual websites
US8745362B2 (en) Operating system aware branch predictor using a dynamically reconfigurable branch history table
CN112257135B (zh) 一种基于多线程的模型加载方法、装置、存储介质及终端
CN108363528B (zh) 应用页面的启动方法、装置、存储介质及电子设备
US9760967B2 (en) System and method of dynamically throttling CPU frequency for gaming workloads
EP3259825A1 (en) Heterogeneous battery cell switching
US20100241600A1 (en) Method, Apparatus and Computer Program Product for an Instruction Predictor for a Virtual Machine
EP3149594B1 (en) Method and apparatus for cache access mode selection
US10409350B2 (en) Instruction optimization using voltage-based functional performance variation
CN111782402A (zh) 数据处理方法、装置以及电子设备
US20120180063A1 (en) Method and Apparatus for Providing Management of Parallel Library Implementation
US11093401B2 (en) Hazard prediction for a group of memory access instructions using a buffer associated with branch prediction
US20170046168A1 (en) Scalable single-instruction-multiple-data instructions
WO2019128545A1 (zh) 进程处理方法、电子设备、计算机可读存储介质
US8549508B2 (en) Mechanism for performing instruction scheduling based on register pressure sensitivity
CN108255518B (zh) 处理器及循环程序分支预测方法
CN107886119B (zh) 特征提取方法、应用管控方法、装置、介质及电子设备
CN112214244A (zh) 一种运算装置及其操作方法
Chourasiya et al. Computation offloading in hand-held devices using ternary decision maker in Accountance with time and energy
US20100057656A1 (en) Device, system, and method of determining a solution scheme of a poly-algorithm solver
CN115757506A (zh) 数据处理方法、装置、介质及设备
Quintos et al. Implications of HCI in energy consumption between native and rich-client applications for navigations widgets in tablets

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee