KR20070028446A - 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템 - Google Patents

장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템 Download PDF

Info

Publication number
KR20070028446A
KR20070028446A KR1020067027070A KR20067027070A KR20070028446A KR 20070028446 A KR20070028446 A KR 20070028446A KR 1020067027070 A KR1020067027070 A KR 1020067027070A KR 20067027070 A KR20067027070 A KR 20067027070A KR 20070028446 A KR20070028446 A KR 20070028446A
Authority
KR
South Korea
Prior art keywords
application
information
resource
request
arbitration
Prior art date
Application number
KR1020067027070A
Other languages
English (en)
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 KR20070028446A publication Critical patent/KR20070028446A/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]
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager

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)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 장치 동작 모드에 기초한 애플리케이션 우선권을 위한 시스템에 관한 것이다. 장치상에 주요한 가시적 리소스를 할당하는 방법이 제공된다. 상기 방법은 요청 애플리케이션에 주요한 가시적 리소스의 할당을 요청하는 요청을 수신하는 단계 및 상기 주요한 가시적 리소스가 소유 애플리케이션에 할당되는지를 결정하는 단계를 포함한다. 상기 방법은 또한 중재 요청을 형성하기 위해 소유자 정보를 요청자 정보와 관련시키는 단계를 포함한다. 상기 방법은 또한 만일 소유자 정보가 소유 애플리케이션이 특권을 가지며, 요청 애플리케이션을 식별하는 식별자가 소유자 정보와 관련된 포기 리스트에 포함된 경우, 주요한 가시적 리소스가 요청 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하기 위해 중재 요청을 중재하는 단계를 포함한다.

Description

장치 동작 모드에 기초한 애플리케이션 우선권을 위한 시스템{SYSTEM FOR APPLICATION PRIORITY BASED ON DEVICE OPERATING MODE}
본 발명은 통상적으로 장치의 동작에 관한 것이며, 특히 장치 동작 모드에 기초한 애플리케이션 우선권을 위한 시스템에 관한 것이다.
기술에서의 진보는 광대한 데이터 네트워크의 발전 및 전개를 초래하였다. 이러한 네트워크는 인터넷과 같은 공용 데이터 네트워크, 및 무선 통신 네트워크와 같은 특성화된 네트워크를 포함한다. 이러한 네트워크의 사용자는 이용가능한 정보 및 서비스의 광대한 양을 액세스할 능력을 갖는다. 예를 들어, 무선 장치 소유자는 이제 그들의 장치상에서 실행하기 위한 광대한 애플리케이션을 다운로드 할 수도 있다.
리소스 할당은 다운로드 가능한 애플리케이션의 증가의 결과에 따라 점진적으로 중요하게 되고 있다. 장치 리소스는 디스플레이, 키패드, 사운드 프로세서, 모뎀, 저장 장치, 통신 채널 및 다른 타입의 리소스를 포함한다. 각각의 장치가 제한된 수의 리소스를 갖기 때문에, 이러한 리소스가 애플리케이션을 경쟁하도록 할당하는 방법은 장치가 어떻게 구동할지를 결정한다. 예를 들어, 무선 전화는 음성 호, 데이터 호, 애플리케이션 실행, 또는 SMS 메시지 제어 상태에 있을 수도 있 으며, 장치는 특정 동작 조건하에서 다양한 애플리케이션에 자신의 리소스를 어떻게 할당할지를 알 필요가 있다.
대부분의 장치를 위한 매우 중요한 리소스는 "주요한 가시적(top visible)" 리소스(TVR)(또는 종종 "유효범위")로 불린다. 주요한 가시적 리소스는 통상적으로 장치의 디스플레이 및 장치의 입력(즉, 키패드)을 포함하며, 이는 현재 장치의 포커스인 이플리케이션이 사용자에게 나타나게 한다. 예를 들어, 주요한 가시적 리소스가 할당된 애플리케이션은 디스플레이 및 키패드를 통해 장치 사용자와 상호작용할 수 있다.
어떤 애플리케이션이 주요한 가시적 리소스에 액세스할지를 결정하기 위해 장치상에서 실행하는 경쟁적인 애플리케이션들 사이에서 효율적인 중재가 필요하다. 예를 들어, "사용자 경험"을 결정하는 장치의 동작은 어떻게 애플리케이션에 주요한 가시적 리소스가 할당되는지에 의해 결정된다.
현재의 시스템에서, 주요한 가시적 리소스는 상태 규칙에 따라 애플리케이션에 할당된다. 예를 들어, 전화 핸드셋 장치에서, 애플리케이션은 전화 호가 진행 중인 때를 시작하도록 허가되지 않는다. 통상적으로, 주요한 가시적 리소스에 대한 애플리케이션의 액세스는 현재의 장치가 동작하는 동적 환경을 고려하지 않은 하드 코딩된 애플리케이션 규칙에 의해 제어된다.
따라서, 필요한 것은 애플리케이션에 장치의 동작 환경에 기초한 주요한 가시적 리소스가 어떤 애플리케이션에 할당되는 지를 결정하도록 동작하는 동적 애플리케이션 우선권 시스템이다. 시스템은 네트워크 캐리어와 같은 제3자가 장치상에 서 주요한 가시적 리소스가 할당되는지에 대한 입력을 갖도록 메카니즘을 제공해야 하며, 그로 인해 장치에 의해 제공되는 사용자 경험이 동적으로 제어될 수 있다.
하나 이상의 실시예에서, 장치의 주요한 가시적 리소스를 동적으로 할당하도록 동작하는 애플리케이션 우선권 시스템이 제공된다. 일 실시예에서, 애플리케이션 우선권 시스템이 장치상에 주요한 가시적 리소스를 할당하도록 동작하는 방법이 제공된다. 요청 애플리케이션으로 주요한 가시적 리소스의 할당을 요청하는 요청을 수신하는 단계, 및 주요한 가시적 리소스가 소유자 애플리케이션에 할당되는 것을 결정하는 단계를 포함한다. 방법은 또한 중재 요청을 형성하도록 소유자 정보를 요청자 정보와 결합하는 단계를 포함하는데, 소유자 정보는 소유 애플리케이션에 대한 정보를 포함하며, 요청자 정보는 요청 애플리케이션에 대한 정보를 포함한다. 방법은 또한 만일 소유자 정보가 소유 애플리케이션이 특권을 가지며, 요청 애플리케이션을 식별하는 식별자가 소유자 정보과 관련된 포기 리스트에 포함될 경우, 요청 애플리케이션에 할당될 주요한 가시적 리소스를 나타내는 중재 결정을 생성하기 위해 중재 요청을 중재하는 단계를 포함한다. 방법은 또한 중재 결정에 기초하여 주요한 뷰 리소스를 할당하는 단계를 포함한다.
일 실시예에서, 장치상에 주요한 가시적 리소스를 동적으로 할당하기 위한 애플리케이션 우선권 시스템을 동작시키는 장치가 제공된다. 장치는 소유 애플리케이션으로 주요한 가시적 리소스를 할당하도록 동작하고, 요청 애플리케이션으로부터 주요한 가시적 리소스의 할당을 위한 요청을 수신하는 리소스 관리자를 포함한다. 장치는 또한 만일 소유 애플리케이션이 특권을 가지며, 포기 리스트에서 요청 애플리케이션을 식별하지 않을 경우, 주요한 가시적 리소스를 소유 애플리케이션에 할당하도록 동작하는 중재 로직을 포함한다. 중재 로직은 또한 소유 애플리케이션이 특권을 가지며 포기 리스트에서 요청 애플리케이션을 식별할 경우 소유 애플리케이션과 요청 애플리케이션 사이에서 주요한 가시적 리소스의 할당을 중재하도록 동작한다. 중재 로직은 또한 소유 애플리케이션이 특권을 갖지 않는 경우, 소유 애플리케이션과 요청 애플리케이션 사이에서 주요한 가시적 리소스의 할당을 중재하도록 동작한다.
일 실시예에서, 장치상에 주요한 가시적 리소스를 동적으로 할당하는 애플리케이션 우선권 시스템을 동작시키는 장치가 제공된다. 장치는 주요한 가시적 리소스를 소유 애플리케이션에 할당하는 수단, 및 요청 애플리케이션으로부터 주요한 가시적 리소스의 할당을 위한 요청을 수신하는 수단을 포함한다. 장치는 또한 소유 애플리케이션이 특권을 가지며, 포기 리스트에서 요청 애플리케이션을 식별하지 않으면, 주요한 가시적 리소스를 소유 애플리케이션에 할당하기 위한 수단을 포함한다. 장치는 또한 소유 애플리케이션이 특권을 가지며 포기 리스트에서 요청 애플리케이션을 식별하면, 소유 애플리케이션과 요청 애플리케이션 사이에서 주요한 가시적 리소스의 할당을 중재하는 수단을 포함한다. 장치는 또한 소유 애플리케이션이 특권을 갖지 않으면 소유 애플리케이션과 요청 애플리케이션 사이에서 주요한 가시적 리소스의 할당을 중재하는 수단을 포함한다.
일 실시예에서, 장치의 프로세서에 의해 실행될 때, 장치상에 주요한 가시적 리소스를 동적으로 할당하기 위해 애플리케이션 우선권 시스템을 제공하도록 동작하는 명령을 포함하는 컴퓨터 판독 가능 매체가 제공된다. 컴퓨터 판독가능 매체는 소유 애플리케이션에 주요한 가시적 리소스를 할당하는 명령, 및 요청 애플리케이션으로부터 주요한 가시적 리소스의 할당을 위한 요청을 수신하는 명령을 포함한다. 컴퓨터 판독가능 매체는 또한 만일 소유 애플리케이션이 특권을 가지며 포기 리스트에서 요청 애플리케이션을 식별하지 않으면 주요한 가시적 리소스를 소유 애플리케이션에 할당하는 명령을 포함한다. 컴퓨터 판독가능 매체는 또한 만일 소유 애플리케이션이 특권을 가지며 포기 리스트에서 요청 애플리케이션을 식별하지 않으면, 소유 애플리케이션과 요청 애플리케이션 사이에서 주요한 가시적 리소스의 할당을 중재하기 위한 명령을 포함한다. 컴퓨터 판독가능 매체는 또한, 소유 애플리케이션이 특권을 갖지 않을 경우 소유 애플리케이션과 요청 애플리케이션 사이에서 주요한 가시적 리소스의 할당을 중재하기 위한 명령을 포함한다.
본 발명의 다른 특징, 장점 및 특성은 도면의 간단한 설명, 실시예 및 청구항을 참조하여 명확하게 될 것이다.
실시예의 전술한 특징 및 장점은 첨부된 도면과 함께 상세한 설명을 참조하여 더욱 명확하게 될 것이다.
도1은 장치 상에 주요한 가시적 리소스를 할당하도록 동작하는 동적 애플리케이션 우선권 시스템의 일 실시예이다.
도2는 예를 들어, 도1에 도시된 장치에서 주요한 가시적 리소스를 할당하기 위한 애플리케이션 우선권 시스템의 일 실시예의 기능 다이어그램이다.
도3은 애플리케이션 우선권 시스템의 일 실시예를 포함하는 장치의 일 실시예이다.
도4는 장치의 사용을 위해 애플리케이션 우선권 시스템의 일 실시예를 제공하는 방법의 일 실시예이다.
도5는 애플리케이션 우선권 시스템의 일 실시예를 제공하기 위해 리소스 중재자를 동작시키는 방법의 일 실시예이다.
도6은 애플리케이션 우선권 시스템의 하나 이상의 실시예를 갖는 사용자에 적합한 리소스 제어 구조의 일 실시예를 도시한다.
도7은 장치에서 주요한 가시적 리소스가 애플리케이션 우선권 시스템의 하나 이상의 실시예에 따른 두 애플리케이션들 사이에서 어떻게 할당되는지의 예를 나타낸다.
이하의 상세한 설명은 장치에서 주요한 가시적 리소스를 동적으로 할당하도록 동작하는 애플케이션 우선권 시스템의 하나 이상의 실시예를 설명한다. 일 실시예에서, 애플리케이션은 할당 요청을 리소스 관리자에게 전송함으로써 주요한 가시적 리소스의 할당을 요청한다. 할당 요청은 중재 요청을 형성하기 위해 주요한 가시적 리소스의 상태 및 현재 소유자를 설명하는 하나 이상의 파라미터와 결합된다. 중재기는 리소스가 어떻게 할당되는 지를 나타내는 중재 결정을 생성하기 위한 중재 규칙에 따른 중재 요청을 프로세싱한다. 이어 중재 결정이 주요한 가시적 리소스를 할당하기 위해 사용된다. 시스템은 소정 타입의 유선 또는 무선 장치, 데스크탑 컴퓨터, 노트북 컴퓨터, 무선 전화, 페이저, PDA, 이메일 장치, 태블릿 컴퓨터, 또는 소정의 다른 타입의 유선 또는 무선 장치와 함께 사용하기에 적합하지만 이에 한정되지는 않는다.
하나 이상의 실시예에서, 애플리케이션 우선권 시스템은 장치 특정 리소스에 대한 일반화된 호를 제공하는 것과 같은 장치의 동작을 간략화하는데 사용되는 장치상에서 실행하는 실행 시간 환경과 상호작용한다. 이러한 실행 시간 환경은 샌디에고 캘리포니아 콸콤사에 의해 개발된 WirelessTM(BREW®) 소프트웨어 플랫폼에 대한 이진 실행 시간 환경이다. 이하의 설명에서, 애플리케이션 우선권 시스템의 일 실시예는 BREW 소프트웨어 플랫폼과 같은 실행 시간 환경을 실행하는 무선 장치를 이용하여 구현되는 것으로 가정될 것이다. 그러나 애플리케이션 우선권 시스템의 하나 이상의 실시예는 무선 및 유선 장치상에 주요한 가시적 리소스를 동적으로 할당하도록 실행 시간 환경의 다른 타입과 함께 사용하기에 적합하다. 더욱이, "주요한 가시적 리소스"라는 용어는 장치 디스플레이 및 키패드의 조합을 포함하여 장치의 현재 포커스를 나타내기 위해 사용되는 장치상의 하드웨어 및/또는 소프트웨어 리소스의 소정 타입을 설명하기 위해 사용되지만 이에 한정되지는 않는다.
도1은 장치상에 주요한 가시적 리소스를 할당하도록 동작하는 동적 애플리케이션 우선권 시스템(100)의 일 실시예이다. 시스템(100)은 무선 통신 채널(106)을 통해 데이터 네트워크(104)와 통신하는 무선 터미널(102)을 포함한다. 데이터 네 트워크(104)는 유선, 무선, 개별 또는 공용 데이터 네트워크 또는 이들의 소정 조합을 포함할 수도 있지만 이에 한정되지 않는다.
시스템(100)은 또한 네트워크(104)와 통신하는 장치로 서비스를 제공하기 위해 통신 채널(100)을 통해 네트워크(104)에 결합되는 서버(018)를 포함한다. 예를 들어, 무선 터미널(102)은 무선 전화일 수도 있으며, 서버(108)는 전화기에 원격 통신 서비스를 제공하는 전국적인 원격 통신 네트워크의 일부일 수도 있다. 통신 채널(110)은 유선 또는 무선 통신 채널의 소정 타입일 수도 있다.
장치(102)는 장치 사용자에 의해 요구될 수 있는 특징 및 기능을 제공하기 위해 장치상에서 실행하는 애플리케이션(116)을 포함한다. 예를 들어, 애플리케이션(116)은 경로(120)에 도시된 바와 같이, 서버(108)로부터 장치(102)로 다운로드될 수도 있다. 실행 동안, 애플리케이션(116)은 일 실시예에서 장치 디스플레이 및 키패드를 포함하는 장치(102)의 주요한 가시적 리소스(118)로의 액세스를 얻기 위해 시도한다.
일 실시예에서, 애플리케이션(116)은 각각 애플리케이션의 권리 및 특권을 나타내는 하나 이상의 그룹 ID를 갖는다. 예를 들어, 그룹 ID는 주요한 가시적 리소스와 관련하여 애플리케이션이 특권(P)을 갖거나 비특권(nP)을 갖는지를 식별한다. 일 실시예에서, 특권 및 비특권을 갖는 애플리케이션은 주요한 가시적 리소스를 액세스할 수도 있지만, 특권을 갖는 애플리케이션은 주요한 가시적 리소스의 제어가 포기될 선택된 애플리케이션 또는 그룹을 특정하게 허용된다.
일 실시예에서, 장치(102)는 중재기(102) 및 중재 규칙(114)을 포함한다. 예를 들어, 중재기(112) 및 중재 규칙(114)은 경로(120)에 의해 도시된 바와 같이, 서버(108)로부터 장치(102)로 다운로드될 수도 있다. 중재기(112)는 장치(102)상에서 실행하는 애플리케이션들의 경쟁으로부터 주요한 가시적 리소스(118)에 대한 요청을 중재하도록 동작한다. 중재기(112)는 요청 애플리케이션 및 리소스 소유 애플리케이션에 대한 정보에 기초한 중재 요청을 설명한다. 일 실시예에서, 소유 애플리케이션 및 중재 규칙(114)의 특권 상태는 주요한 가시적 리소스(118)를 경쟁 애플리케이션으로 할당하는 방법을 나타내는 중재 결정을 생성하는데 사용된다. 따라서, 특정한 특권 상태를 선택된 애플리케이션에 관련시키고 특정 세트의 중재 규칙(114)을 서버(108)로부터 장치(102)로 다운로딩함으로써, 서버(108)가 장치상의 주요한 가시적 리소스(118)가 애플리케이션(116)으로 어떻게 할당되는지를 제어하는 것이 가능하다. 이는 서버가 장치(108)에 의해 제공된 사용자 경험을 제어하게 한다.
하나 이상의 실시예에서, 서버(108) 및 터미널(102)은 소정 타입의 장치일 수도 있으며, 이들의 데이터 네트워크(104)로의 관련된 접속은 무선, 유선 또는 소정의 이들 조합일 수도 있다. 따라서, 동적 애플리케이션 우선권 시스템의 실시예는 서버가 장치상의 주요한 가시적 리소스가 다양한 서버 및 터미널을 갖는 소정의 실질적인 네트워크 구조를 이용하여 할당되는 방법을 제어한다.
도2는 예를 들어 도1에 도시된 장치와 같은 장치에서 주요한 가시적 리소스를 할당하기 위해 애플리케이션 우선권 시스템(200)의 일 실시예의 기능 다이어그램을 도시한다. 시스템(200)은 주요한 가시적 리소스 관리자(202), 주요한 가시적 리소스 상태(204), 리소스 중재자(206), 및 중재 규칙(208)을 포함한다. 장치의 주요한 가시적 리소스(210) 및 일반적으로 212로 도시된, 장치상에서 실행하는 애플리케이션(1-4)이 또한 도시된다.
주요한 가시적 리소스 관리자(202)는 하드웨어 로직, 소프트웨어 로직, 또는 이들의 소정 조합을 포함하며, 주요한 가시적 리소스(210)를 관리하기 위해 동작한다. 주요한 가시적 리소스(210)는 디스플레이 및 키패드와 같은 소정 타입의 장치 리소스를 포함할 수도 있는데, 이들은 어떤 애플리케이션이 장치의 포커스를 갖는지를 사용자에게 나타내기 위해 사용된다. 예를 들어, 장치의 포커스를 갖는 애플리케이션은 사용자와 현재 상호작용하는 애플리케이션이다.
주요한 가시적 리소스 상태(204)는 하드웨어, 소프트웨어 또는 이들의 소정 조합을 포함한다. 일 실시예에서, 주요한 가시적 리소스 상태(204)는 주요한 가시적 리소스(210)에 대한 정보 및/또는 현재 리소스 소유자에 대한 정보(소유자 정보)를 포함한다. 예를 들어, 현재 주요한 가시적 리소스(210)가 할당된 애플리케이션은 리소스 소유자, 현재 소유자, 또는 소유 애플리케이션으로 고려된다. 예를 들어, 일 실시예에서, 주요한 가시적 리소스 상태(204)는 현재 소유자 식별자(ID), 하나 이상의 그룹 ID, 특권 상태, 리소스를 획득할 이유, 포기 리스트, 및/또는 현재 소유자 또는 주요한 가시적 리소스(210)에 대한 소정의 다른 정보를 포함하는 현재 소유자에 대한 정보를 포함한다. 일 실시예에서, 포기 리스트는 현재 소유자가 주요한 가시적 리소스(210)를 배포하기를 원하는 애플리케이션 또는 그룹(즉, 특권 클래스)을 식별한다. 일 실시예에서, 이러한 리스트는 리소스 중재기(206)에 의해 전달된 중재 프로세스 동안 제어한다. 다른 실시예에서, 이러한 포기 리스트는 어떻게 중재가 결정되는 지에 대해 리소스 중재기(206)에 대한 유일한 권고로 고려된다. 주요한 가시적 리소스 관리자(202)는 리소스 상태(204)에서 구성된 정보를 유지, 업데이트, 변경, 부가, 삭제 또는 프로세싱하도록 동작한다.
리소스 중재기(206)는 하드웨어, 소프트웨어 또는 이들의 소정 조합을 포함하며, 중재 규칙(208)을 이용하여 주요한 가시적 리소스(210)로의 액세스를 중재하도록 동작한다. 예를 들어, 일 실시예에서, 리소스 중재기(206)는 프로그램 모듈일 수도 있으며, 중재 규칙(208)은 리소스 중재기(206)에 의해 검색된 메모리에 저장되고 주요한 가시적 리소스(210)를 동적으로 할당하도록 프로세싱된 파라미터일 수 있다. 하나 이상의 실시예에서, 주요한 가시적 리소스 관리자(202) 및 리소스 중재기(206)는 장치상에서 실행하는 실행 시간 환경으로 다운로딩 가능한 익스텐션으로서 구현될 수도 있다; 예를 들어, 이들은 다운로딩 가능한 BREW 익스텐션일 수도 있다.
동적 애플리케이션 우선권 시스템(200)의 일 실시예의 동작 동안, 애플리케이션은 주요한 가시적 리소스(210)로의 액세스를 위해 주요한 가시적 리소스 관리자(202)로 할당 요청을 제출한다. 만일 주요한 가시적 리소스(210)가 이용가능하면, 주요한 가시적 리소스 관리자(202)는 주요한 가시적 리소스(210)를 요청 애플리케이션으로 할당한다. 만일 주요한 가시적 리소스(210)가 현재 다른 애플리케이션에 의해 소유되면, 주요한 가시적 리소스 관리자(202)는 요청 애플리케이션에 대한 정보(요청자 정보) 및 리소스의 현재 소유자에 대한 정보(소유자 정보)를 포함 하는 중재 요청을 어셈블링함으로써 대답한다. 요청 애플리케이션에 대한 정보는 할당 요청으로부터 유도되고, 리소스의 현재 소유자에 대한 정보는 주요한 가시적 리소스 상태(204)로부터 유도된다. 중재 요청은 214로 도시된 바와 같이, 리소스 중재기(206)로 전송된다. 리소스 중재기(206)는 주요한 가시적 리소스 관리자로 복귀(216으로 도시됨)하는 중재 결정을 생성하기 위해 중재 규칙(208)을 이용하여 중재 요청을 프로세싱한다. 이어 주요한 가시적 리소스 관리자(202)는 중재 결정에 따라 적절한 애플리케이션으로 주요한 가시적 리소스(210)를 할당하도록 동작한다.
일 실시예에서, 애플리케이션(212)은 특정 애플리케이션이 주요한 가시적 리소스(210)와 관련한 특권이 있는지를 결정하는 그룹 ID를 갖는다. 예를 들어, 그룹 ID는 그룹 ID를 갖는 모든 애플리케이션으로 적용하는 권리의 세트와 관련된다. 권리 중 하나는 주요한 가시적 리소스(210)와 관련한 애플리케이션의 특권 상태를 한정한다. 애플리케이션이 처음 주요한 가시적 리소스(210)로의 액세스를 획득할 때, 이는 자신의 애플리케이션 ID, 하나 이상의 그룹 ID, 및 주요한 가시적 리소스(210)로의 액세스를 원하는 이유를 포함하는 주요한 가시적 리소스 관리자(202)로 (할당 요청을 통해) 정보를 제공한다. 일 실시예에서, 그룹 ID는 애플리케이션 ID로부터 추론될 수 있기 때문에 패스되지 않는다. 일 실시예에서, 주요한 가시적 리소스(210)로의 액세스를 원하는 이유는 몇몇 열거된 타입 중 하나로부터 선택된다. 그러나 이유의 세트는 열거된 리스트로 한정되지 않지만 그룹 ID 또는 다른 관행적인 이유와 관련될 수 있다.
만일 애플리케이션이 자신의 그룹 ID로부터 결정된 바와 같이 특권이 주어지면, 애플리케이션은 어떤 애플리케이션이 주요한 가시적 리소스(210)를 제거할지를 한정할 수도 있다. 예를 들어, 애플리케이션은 주요한 가시적 리소스(210)가 포기될 애플리케이션을 식별하는 포기 리스트를 특정할 수도 있다. 예를 들어, 포기 리스트에서 애플리케이션은 하나 이상의 자신의 그룹 ID에 의해 식별될 수도 있다.
다른 애플리케이션은 주요한 가시적 리소스(210)로의 액세스를 요청한 때, 주요한 가시적 리소스 관리자(202)는 현재 리소스 소유자에 대한 정보(소유자 정보) 및 요청 애플리케이션에 대한 정보(요청자 정보)를 포함하는 중재 요청을 생성한다. 중재 요청의 일부로서, 주요한 가시적 리소스(210) 소유자 및 요청의 특권 상태는 주요한 가시적 리소스(210) 및 소정의 포기 리스트를 원하는 관련 이유와 함께 리소스 중재기(206)로 전달된다. 리소스 중재기(206)로 전달된 정보는 소정의 다른 파라미터 또는 표준을 포함할 수도 있다. 예를 들어, 리소스 중재기(206)로 전달된 정보는 사용자 선호, 현재 장치 동작 모드, 캐리어 선호, 또는 요청을 중재하기 위해 사용될 수도 있는 소정의 다른 타입의 정보를 포함할 수도 있다. 이어 리소스 중재기(206)는 주요한 가시적 리소스(210) 정보가 어떻게 할당될지를 결정하기 위해 이러한 정보를 이용한다.
일 실시예에서, 현재 주요한 가시적 리소스(210) 소유자는 주요한 가시적 리소스(210)과 관련한 자신의 애플리케이션 우선권을 동적으로 변경시킬 수도 있다. 예를 들어, 다른 애플리케이션이 액세스로부터 제한될 수도 있는, 주요한 가시적 리소스(210)로의 초기 액세스 이후, 애플리케이션은 포기 리스트를 변경할 수도 있 으며, 그로 인해 다른 애플리케이션이 주요한 가시적 리소스(210)에 대한 액세스를 획득하게 한다. 따라서, 시스템은 주요한 가시적 리소스(210)를 배포하거나, 주요한 가시적 리소스(210)를 소유하는 애플리케이션이 주요한 가시적 리소스(210)가 액세스를 위해 다른 애플리케이션에 대해 더욱 용이하게 되도록 함으로써 유연성은 제공하도록 동작한다.
다른 실시예에서, 시스템은 애플리케이션이 콜백 기능을 등록하게 하는 콜백 메카니즘을 제공한다. 콜백 기능은 주요한 가시적 리소스(210)의 상태 변화가 있을 때 시스템이 애플리케이션에 통보하게 한다. 예를 들어, 콜백 기능은 애플리케이션에 언제 주요한 가시적 리소스(210)가 자유로운지, 또는 주요한 가시적 리소스(210)가 다른 애플리케이션에 할당되기 때문에 언제 바쁜지를 통보하는데 사용될 수 있다. 따라서, 시스템(200)은 특정한 애플리케이션에 대한 장치의 주요한 가시적 리소스(210)로의 액세스를 할당하기 위해 동적 애플리케이션 우선권 시스템을 제공하도록 동작한다.
변화하는 연산 환경에 추가로 적용하기 위해, 리소스 중재기(206) 및 중재 규칙(208)은 네트워크 엔티티로부터 장치로 다운로드될 수도 있으며, 그로 인해 주요한 가시적 리소스(210)가 장치상에 어떻게 할당되는지에 대한 입력을 제3자가 갖도록 한다. 예를 들어, 일 실시예에서, 장치는 무선 전화이며, 리소스 중재자(206) 및 중재 규칙(208)은 전국적인 통신 캐리어 네트워크의 일부인 네트워크 서버로부터 장치로 다운로드된다. 이러한 방식으로, 전화 통신 캐리어에는 주요한 가시적 리소스(210)가 어떻게 장치상의 애플리케이션들 사이에서 할당되는지에 대 한 입력이 제공되며, 그로 인해 장치에 의해 제공된 사용자 경험을 제어할 수 있다.
도3은 애플리케이션 우선권 시스템의 일 실시예를 포함하는 장치(300)의 일 실시예이다. 장치(300)는 프로세싱 로직(302), 메모리(304), 디스플레이 로직(306), 키패드 로직(308) 및 I/O 인터페이스(310)를 포함하는데, 이들 모두는 내부 데이터 버스(312)에 결합된다. 명확화를 위해, 장치(300) 상의 주요한 가시적 리소스(332)가 디스플레이 로직(306) 및 키패드 로직(308)을 포함하는 것이 가정될 것이다. 애플리케이션 우선권 시스템의 하나 이상의 실시예는 상이한 구성을 갖는 다른 장치와 사용하기에 적합하며, 상이한 기능 엘리먼트를 이용하여 주요한 가시적 리소스(332)를 한정하는 것이 가능하다.
프로세싱 로직(302)은 CPU, 프로세서, 게이트 어레이, 이산 로직, 또는 다른 하드웨어 또는 소프트웨어, 또는 이들의 소정 조합을 포함한다. 따라서, 프로세싱 로직(302)은 통상적으로 설명된 기능을 실행하기 위해 기계 판독가능 명령을 실행하기 위한 로직을 포함한다. 예를 들어, 명령은 플로피 디스크, CDROM, 플래시 메모리, 또는 장치(300)와 인터페이스하는 다른 컴퓨터 판독가능 매체와 같은 컴퓨터 판독 가능 매체로부터 장치로 인터페이스(310)를 통해 로딩될 수도 있다. 다른 실시예에서, 명령은 네트워크 서버 또는 소정의 다른 타입의 네트워크 서버와 같은 네트워크 소스로부터 장치(300)로 인터페이스(310)를 통해 다운로드될 수도 있다. 프로세싱 로직(302)에 의해 실행될 때, 명령은 설명된 바와 같이 애플리케이션 우선권 시스템의 하나 이상의 실시예를 제공한다.
메모리(304)는 소정 타입의 RAM, ROM, 하드디스크, 플로피 디스크, 플래시 메모리 또는 소정의 다른 타입의 메모리 장치를 포함한다. 디스플레이 로직(306)은 CRT, LCD 또는 소정 타입의 디스플레이 장치와 같은 디스플레이 장치를 제어하기 위한 로직을 포함한다. 키패드 로직(308)은 사용자 입력을 수신하기 위해 키패드, 펜, 조이스틱, 또는 소정의 다른 타입의 사용자 입력 장치와 같은 사용자 입력 장치를 제어하기 위한 로직을 포함한다. I/O 인터페이스(310)는 장치(300)가 외부 장치 또는 시스템과 인터페이스하도록 하기 위해 하드웨어 및/또는 소프트웨어 또는 이들의 소정 조합을 포함한다. 예를 들어, I/O 인터페이스(310)는 디스크 드라이브 또는 다른 메모리 장치와 같은 외부 저장 시스템과 인터페이스 하는 로직을 포함한다. 인터페이스(310)는 로컬 컴퓨터 시스템과 같은 외부 시스템과 인터페이스하는 로직을 포함한다. 게다가, 인터페이스는 또한 원격 컴퓨터 및 서버와 통신하게 하는 데이터 네트워크와 인터페이스하기 위한 로직을 포함한다.
장치의 동작 동안, 프로세싱 로직(302)에 의해 실행된 프로그램 명령은 실행 시간 환경(314)을 활성화한다. 예를 들어, 실행 시간 환경은 BREW 실행 시간 환경일 수도 있다. 프로세싱 로직(302)에 의해 실행된 프로그램 명령은 주요한 가시적 리소스 관리자(318)를 활성화시킨다. 주요한 가시적 리소스 관리자(318)는 애플리케이션이 디스플레이 리소스(306) 및 키패드 리소스(308)를 제어하게 하기 위해 주요한 가시적 리소스(332)로의 액세스를 제어하도록 동작한다. 따라서, 주요한 가시적 리소스 관리자(318)는 애플리케이션이 장치 사용자와 상호작용하게 하기 위해 주요한 가시적 리소스(332)(디스플레이(306) 및 키패드(308))로의 액세스를 제어하 도록 동작한다.
주요한 가시적 리소스(318)는 장치(300) 상에서 실행하는 애플리케이션(320, 322, 324, 326)으로부터 주요한 가시적 리소스(332)를 액세스하기 위해 요청을 수신한다. 애플리케이션(320, 322, 324, 326)은 장치(300) 상에서 실행하기에 적합한 소정 타입의 애플리케이션일 수도 있다. 예를 들어, 애플리케이션은 멀티미디어 애플리케이션, 캘린더 애플리케이션, 이메일 애플리케이션, 음성 프로세싱 애플리케이션, 또는 장치(300)상에서 실행될 때, 유용한 특성 및/또는 기능을 제공하는 소정의 다른 타입의 애플리케이션일 수 있다. 주요한 가시적 리소스(332)의 할당을 용이하게 하기 위해, 주요한 가시적 리소스 관리자(318)는 메모리(304)에서 주요한 가시적 리소스 상태(328)를 유지한다. 장치 상태(334)는 장치의 현재 동작 모드를 식별하는데, 예를 들어, 장치 동작 모드는 휴지 상태, 애플리케이션 실행, 메시지 수신, 음성 호 프로세싱, 게임 실행, 또는 다른 타임의 장치 동작 모드일 수 있다.
애플리케이션(320, 322, 324, 326)이 장치상에서 실행함에 따라, 이들은 주요한 가시적 리소스(332)를 액세스하기 위해 주요한 가시적 리소스 관리자(318)에 대한 요청을 제출한다. 주요한 가시적 리소스(332)가 현재 할당되지 않는 경우, 주요한 가시적 리소스(332)는 요청 애플리케이션에 쉽게 할당될 수도 있다. 그러나 만일 주요한 가시적 리소스(332)가 현재 하나의 애플리케이션에 할당되면, 다른 애플리케이션으로부터 주요한 가시적 리소스(332)를 액세스하기 위한 소정의 요청은 어떤 애플리케이션이 주요한 가시적 리소스(332)에 할당될지를 결정하도록 중재 될 필요가 있다.
하나 이상의 실시예에서, 애플리케이션 우선권 시스템은 장치상에서 실행하는 애플리케이션 중 하나에 대한 주요한 가시적 리소스(332)의 할당을 중재하도록 동작한다. 예를 들어, 만일 주요한 가시적 리소스(332)가 현재 애플리케이션에 할당되면, 주요한 가시적 리소스 관리자(318)는 중재 요청을 리소스 중재기(316)로 제출한다. 요청은 요청 애플리케이션에 대한 정보(요청자 정보) 및 주요한 가시적 리소스(332)의 현재 소유자에 대한 정보(소유자 정보)를 포함한다. 예를 들어, 주요한 가시적 리소스(332)의 현재 소유자에 대한 정보는 주요한 가시적 리소스 상태(328)에 유지된다.
일 실시예에서, 리소스 중재기(316)는 메모리(304)에 저장된 중재 규칙(330)에 따라 중재 요청을 프로세싱한다. 예를 들어, 일 실시예에서, 중재 규칙(330)은 리소스 요청이 장치(300)에서 중재되는 방법에 대한 입력을 네트워크 서버가 제공할 수 있도록 네트워크 서버로부터 장치(300)로 다운로딩된다. 중재 요청은 주요한 가시적 리소스 관리자(318)로 복귀된 중재 결정을 생성하기 위해 리소스 중재기(316)에 의해 프로세싱된다. 이어 주요한 가시적 리소스 관리자(318)는 중재 결정에 기초한 리소스를 할당한다.
장치(300)에 도시된 애플리케이션 우선권 시스템의 설명은 단지 하나의 실시예를 설명하며, 다른 구성이 설명한 기능을 제공하기 위해 가능하다는 것을 이해해야 한다. 예를 들어, 장치(300)의 기능 엘리먼트가 설명된 실시예의 사상 내에서 결합, 재구성, 변경, 부가 또는 삭제될 수 있다. 리소스 중재기
하나 이상의 실시예에서, 리소스 중재기(316)는 주요한 가시적 리소스(332)가 요청 애플리케이션(또는 객체)으로 전달될 수 있는지를 결정하기 위해 중앙 결정 메이커로서 동작한다. 일 실시예에서, 리소스 중재기(316)는 제조 동안 장치상에 인스톨된다. 다른 실시예에서, 리소스 중재기(316)는 네트워크 서버에 의해 커스터마이즈되며, 원하는 대로 업데이트 또는 교체될 수도 있는 다운로드 가능한 모듈로 구현된다. 예를 들어, 장치가 무선 전화인 구현에서, 리소스 중재기(316)는 커스터마이즈되고 통신 OEM/캐리어에 의해 동작되는 네트워크 서버로부터 전화로 다운로딩될 수도 있다. 바람직하게, 단일 리소스 중재기(316)는 장치상에서 주요한 가시적 리소스(332)에 대한 요청을 중재하는데 사용된다.
일 실시예에서, 리소스 중재기(316)는 주요한 가시적 리소스 관리자(318)로부터의 다양한 정보를 전달하며, 상기 정보는 중재 결정을 생성하는데 사용된다. 일 실시예에서, 리소스 중재기(316)로 전달된 정보는 요청 애플리케이션에 대한 정보(요청자 정보) 및 주요한 가시적 리소스(332)의 현재 소유자에 대한 정보(소유자 정보)를 포함한다. 그러나 다른 실시예에서, 추가 타입의 정보가 리소스 중재자(316)로 전달되며, 이러한 추가의 정보는 장치 상태 정보(334), 사용자 선호 정보, 제3자 우선 선호 정보, 및 중재 결정을 생성하기 위해 리소스 중재기에 의해 사용하기에 적합한 소정의 다른 타입의 정보를 포함한다.
부가적으로, 일 실시예에서, 리소스 중재기(316)는 중재 프로세스가 상이한 시간 주기 동안 상이한 정보 아이템을 사용하거나 중재 결정을 되돌려주기 위해 동 작 조건을 이용하도록 변경될 수도 있다. 이하는 중재 결정을 생성하기 위해 리소스 중재기(316)로 전달될 수도 있는 요청자 및 소유자 정보의 간단한 결정을 나타내지만, 리소스 중재기로 전달될 수도 있는 정보는 설명된 리스트에 한정되지 않는다. A. 리소스 소유자 정보 1. 소유자 클래스 식별자(CLSID) 및 인스턴스 포인터 2. TVR의 획득을 위한 이유 3. 포기 제어 정보 a. 포기 식별자 리스트 b. 리스트 카운트(-1=모두, 0=없음, 그렇지 않으면 카운트) B. 요청자 정보 1. 요청자 클래스 식별자(CLSID) 및 인스턴스 포인터 2. TVR의 획득을 위한 이유 3. 포기 제어 정보 a. 포기 식별자 리스트 b. 리스트 카운트(-1=모두, 0=없음, 그렇지 않으면 카운트)
도4는 장치에서 사용하기 위해 애플리케이션 우선권 시스템의 일 실시예를 제공하기 위한 방법(400)의 일 실시예를 도시한다. 간략화를 위해, 방법(400)의 연산은 도3에 도시된 장치(300)를 참조하여 설명될 것이다. 예를 들어, 방법(400)은 일 실시예에서 주요한 가시적 리소스(332)(디스플레이(306) 및 키패드(308))가 어떻게 애플리케이션(320, 322, 324, 및 326) 중 하나에 동적으로 할당되는지를 도시한다.
블록(402)에서, 제1 애플리케이션은 리소스 할당 요청을 주요한 가시적 리소스(332)와 관련된 주요한 가시적 리소스 관리자(318)로 전송한다. 예를 들어, 애플리케이션(320)은 주요한 가시적 리소스(332)의 할당을 요청하기 위해 리소스 할당 요청을 주요한 가시적 리소스 관리자(318)로 전송한다. 할당 요청은 애플리케이션(320)에 대한 정보를 포함하는데, 예를 들어, 할당 요청은 전술한 바와 같은 요청 정보를 포함한다.
블록(404)에서, 주요한 가시적 리소스 관리자(318)는 주요한 가시적 리소스(332)를 제1 애플리케이션에 할당한다. 예를 들어, 주요한 가시적 리소스 관리자(318)는 주요한 가시적 리소스를 애플리케이션(320)에 할당시킨다. 추가적으로, 주요한 가시적 리소스 관리자(318)는 전술한 소유자 정보를 업데이트하기 위해 할당 요청에서 제공된 요청 정보를 이용한다. 이어 리소스 소유자 정보는 주요한 가시적 리소스 상태(328)에서 저장된다.
블록(406)에서, 제2 애플리케이션은 주요한 가시적 리소스(332)와 관련된 주요한 가시적 리소스 관리자(318)로 리소스 할당 요청을 전송한다. 예를 들어, 애플리케이션(322)은 주요한 가시적 리소스(332)의 할당을 요청하기 위해 주요한 가시적 리소스 관리자(318)로 리소스 할당 요청을 전송한다. 할당 요청은 애플리케이션(322)에 대한 정보를 포함하는데, 예를 들어, 할당 요청은 전술한 요청자 정보를 포함한다.
블록(408)에서, 주요한 가시적 리소스 관리자(318)는 중재 요청을 리소스 중재기(316)로 전송한다. 예를 들어, 주요한 가시적 리소스 관리자(318)는 중재 요청을 리소스 중재기(316)로 전송한다. 중재 요청은 주요한 가시적 리소스 상태(328)로부터의 리소스 소유자 정보 및 할당 요청으로부터의 요청자 정보를 포함한다. 따라서, 중재 요청은 주요한 가시적 리소스(332)의 현재 소유자 및 현재 요청자에 대한 정보를 갖는 리소스 중재기(316)를 제공한다.
블록(410)에서, 리소스 중재기(316)는 어떤 애플리케이션에 주요한 가시적 리소스(332)가 할당되어야 하는지를 나타내는 중재 결정을 생성한다. 예를 들어, 리소스 중재기(316)는 중재 결정을 생성하고 결정을 주요한 가시적 리소스 관리자(318)로 전송한다. 리소스 중재기(316)는 메모리(304)에 저장된 중재 규칙(330)에 기초하여 중재 결정을 생성한다. 일 실시예에서, 리소스 중재기(316) 및 중재 규칙(330)은 OEM/캐리어와 같은 제3자로부터 다운로드되는데, 이는 업데이팅을 가능하게 하고 어떻게 주요한 가시적 리소스(332)가 장치상에서 할당되는지를 결정하기 위해 제3자에 대한 메카니즘을 또한 제공한다. 리소스 중재기(316)가 중재 결정을 어떻게 생성하는지에 대한 더욱 상세한 설명은 이하에서 제공된다.
블록(412)에서, 주요한 가시적 리소스(318)는 중재 결정에 기초하여 주요한 가시적 리소스(332)를 할당한다. 예를 들어, 주요한 가시적 리소스 관리자(318)는 중재 결정에 기초하여 제1 애플리케이션(320) 또는 제2 애플리케이션(322)으로 주요한 가시적 리소스(332)를 할당한다. 주요한 가시적 리소스 관리자(318)는 또한 새로운 리소스 소유자 정보를 갖는 주요한 가시적 리소스 상태(328)를 업데이트한 다.
따라서, 방법(400)은 장치에서 사용하기 위해 동적 애플리케이션 우선권 시스템의 일 실시예를 제공하도록 동작한다. 방법(400)은 단지 하나의 실시예를 설명하고 있으며, 설명된 실시예의 사상 내에서 방법을 재정렬, 변경, 결합, 부가 또는 삭제할 수 있음을 이해해야 한다. 예를 들어, 애플리케이션이 주요한 가시적 리소스 관리자(318)의 상태 및/또는 유용성이 원하는 대로 애플리케이션에 제공될 수 있도록 주요한 가시적 리소스 관리자(318)로 콜백 기능을 등록하는 것이 가능하다. 따라서, 추가의 보조적 기능이 애플리케이션 우선권 시스템에 의해 제공되고 이러한 보조적 기능이 설명된 실시예의 사상 내에 있는 것이 가능하다.
도5는 애플리케이션 우선권 시스템의 일 실시예를 제공하기 위해 리소스 중재기를 동작시키는 방법(500)의 일 실시예를 도시한다. 명확화를 위해, 방법(500)의 동작은 도3에 도시된 장치(300)를 참조하여 설명될 것이다. 따라서, 일 실시예에서, 방법(500)은 도3에 도시된 리소스 중재기(316)에 의해 구현된다.
블록(502)에서, 중재 요청은 리소스 중재기(316)에서 수신된다. 예를 들어, 주요한 가시적 리소스 관리자(318)는 리소스 중재기(316)로 중재 요청을 제출한다. 중재 요청은 주요한 가시적 리소스(332)의 현재 소유자에 대한 정보(소유자 정보), 및 주요한 가시적 리소스(332)로의 애플리케이션 요청(요청자 정보) 액세스에 대한 정보를 포함한다.
블록(504)에서, 현재 소유자가 어떤 애플리케이션에 대해 주요한 가시적 리소스(332)의 제어를 포기하는 지를 결정하기 위해 주요한 가시적 리소스(332)의 현 재 소유자에 의해 제공된 포기 리스트에 대한 테스트가 실행된다. 포기 리스트는 중재 요청에 제공된 현재 소유자 정보의 일부이다. 만일 포기 리스트가 소정의 애플리케이션이 주요한 가시적 리소스(332)를 획득할 수 있음을 설명하면, 방법은 블록(510)으로 진행한다. 만일 포기 리스트가 주요한 가시적 리소스(332)에 대한 제어를 어떠한 애플리케이션도 획득하지 않거나 단지 특정한 애플리케이션만이 획득하는 것을 나타내면, 방법은 블록(506)으로 진행한다.
블록(506)에서, 요청 애플리케이션이 포기 리스트에서 식별된 애플리케이션 중 하나임을 결정하기 위한 테스트가 실행된다. 예를 들어, 포기 리스트는 선택된 애플리케이션을 식별하는데 사용할 수 있는 그룹 ID 또는 애플리케이션 ID를 설명한다. 만일 요청 애플리케이션의 식별자가 포기 리스트에서 설명되면, 방법은 블록(510)으로 진행한다. 만일 요청 애플리케이션의 식별자가 포기 리스트에서 설명되지 않으면, 방법은 블록(508)으로 진행한다.
블록(508)에서, 중재 결정은 주요한 가시적 리소스(332)의 현재 소유자를 유지하기 위해 행해진다. 만일 현재 소유자가 특권이 있고, 요청 애플리케이션이 요청 리스트상에 없기 때문에, 요청 애플리케이션에 의한 주요한 가시적 리소스(332)의 할당을 위한 요청이 거절된다. 이어 방법은 블록(512)으로 진행하는데, 여기서 중재 결정은 주요한 가시적 리소스 관리자(318)로 복귀된다.
블록(510)에서, 요청 애플리케이션으로부터의 중재 요청은 선택된 표준에 기초하여 중재된다. 예를 들어, 일 실시예에서, 요청은 중재 규칙(330)에 기초하여 중재된다. 실질적으로, 소정의 표준이 어떤 애플리케이션에 주요한 가시적 리소스 (332)가 할당될지를 결정하는데 사용된다. 예를 들어, 중재는 각각의 애플리케이션이 주요한 가시적 리소스(332)를 원하는 이유, 장치의 동작 모드, 사용자 선호, 캐리어(제3자) 선호, 또는 소정의 다른 표준에 기초할 수도 있다. 구현예
이하는 장치에서 주요한 가시적 리소스를 할당하도록 동작하는 애플리케이션 우선권 시스템의 일 실시예의 구현예를 설명한다. 일 실시예에서, 시스템은 리소스 액세스를 제어하기 위해 BREW 애플리케이션을 포함하는 애플리케이션(객체)을 위한 수단을 포함하는 주요한 가시적 리소스 관리자를 포함한다. 주요한 가시적 리소스 관리자는 또한 객체에 의한 주요한 가시적 리소스의 획득 및 자유도를 조정 및 관리하며 주요한 가시적 리소스의 상태가 변경할 때 등록된 객체를 통보하도록 동작한다.
일 실시예에서, OEM 또는 캐리어는 장치의 현재 상태가 주어진 경우, 현재 애플리케이션이 새로운 애플리케이션을 시작하도록 배경 모드에서 현수 또는 위치될 수 있는 지를 결정하기 위해 사용되는 중재 규칙의 세트를 구현한다. 예를 들어, 만일 장치가 음성 호에 있는 무선 전화이면, OEM은 다른 애플리케이션이 주요한 가시적 리소스로의 액세스를 획득하여 호를 방해하는 것을 방지하기 위해 중재 규칙을 한정할 수도 있다.
도6은 애플리케이션 우선권 시스템의 하나 이상의 실시예를 이용한 사용에 적합한 리소스 제어 구조(600)의 일 실시예를 도시한다. 각각의 주요한 가시적 리소스(602)가 관리되는 동안, 리소스 인터페이스(604)는 객체, 액세스를 제어하기 위한 IResourceCtl 인터페이스(606), 및 주요한 가시적 리소스 관리자(608)를 제어한다. 부가적으로, 리소스 중재기(610)가 주요한 가시적 리소스(602)로의 액세스를 중재하기 위해 제공된다.
리소스 인터페이스(604)의 인스턴스가 생성될 때, 이는 IResourceCtl 인스턴스(612)를 포함한다. IResourceCtl 인스턴스(612)는 주요한 가시적 리소스 관리자(608)와 상호작용하여 근본적인 주요한 가시적 리소스(602)를 획득 및 자유롭게한다. 심지어 하나의 애플리케이션이 주요한 가시적 리소스(602)를 제어하더라도, 다른 애플리케이션이 현존 중재 규칙에 기초하여 소정의 시간에 동일한 주요한 가시적 리소스(602)를 제어할 수 있음을 이해해야 한다.
도7은 동적 중재 시스템의 하나 이상의 실시예에 따른 두 애플리케이션들 사이에서 장치의 주요한 가시적 리소스가 어떻게 할당되는지를 설명하는 할당 예를 설명한 다이어그램(700)을 도시한다. 예를 들어, 다이어그램(700)은 리소스 중재기(702), 주요한 가시적 리소스 관리자(704), 애플리케이션 A(706), 리소스 인스턴스 A(708), 애플리케이션 B(712), 및 리소스 인스턴스 B(714)를 포함하는 다양한 장치 엔티티들 사이의 상호작용을 도시한다.
할당 예의 시작에서, 애플리케이션 A(706)은 주요한 가시적 리소스 관리자(704)에 의해 관리된 주요한 가시적 리소스로의 액세스를 획득하기 위해 리소스 인스턴스 A(708)로의 리소스 요청을 발생시킨다. 리소스 요청은 716으로 도시된 바와 같이, 리소스 인스턴스 A(708)로부터 주요한 가시적 리소스로 전달된다. 시간내의 이러한 포인트에서, 주요한 가시적 리소스가 할당되지 않아서, 주요한 가시적 리소스 관리자(704)는 주요한 가시적 리소스를 애플리케이션 A(706)에 할당하고, 애플리케이션 A(708)로의 역흐름을 나타내는 "성공"을 생성하는 것을 가정하며, 이는 718 및 720으로 도시된다. 이러한 포인트에서, 주요한 가시적 리소스는 애플리케이션 A(708)에 의해 획득된다. 추가적으로, 애플리케이션 A(706)는 722로 도시된 바와 같이, 주요한 가시적 리소스와 관련한 소정의 상태 변경에 대한 정보를 수신하기 위해 리소스 인스턴스 A(708)를 갖는 콜백 기능을 등록한다.
이후에, 애플리케이션 B(710)는 주요한 가시적 리소스 관리자(704)에 의해 관리된 주요한 가시적 리소스를 획득하기 위해 리소스 인스턴스 B(712)로 리소스 요청(724)을 발행한다. 리소스 요청은 726으로 도시된 바와 같이, 리소스 인스턴스 B(712)로부터 주요한 가시적 리소스 관리자(704)로 전달된다. 애플리케이션 B로부터의 요청은 주요한 가시적 리소스 관리자(704)가 728로 도시된 바와 같이 리소스 중재기(702)로부터의 중재를 요청하게 한다. 리소스 중재기(702)는 설명된 실시예에 따라 중재 요청(730)을 프로세싱한다. 리소스 중재기(702)는 730, 732, 및 734로 도시된 바와 같이, 주요한 가시적 리소스가 성공적으로 애플리케이션 B(710)에 할당되었음을 나타내는 중재 결과를 제공한다. 따라서, 이러한 포인트에서, 애플리케이션 B(710)는 주요한 가시적 리소스를 획득한다. 애플리케이션 A(706)가 상태 변화 통보(722)를 위해 등록하기 때문에, 애플리케이션 A(706)는 주요한 가시적 리소스가 변경되었다는 이유로 콜백 기능(736)을 통해 경고된다. 따라서, 콜백에 응답하여, 애플리케이션 A(706)는 주요한 가시적 리소스가 다른 애플리케이션에 할당되고 현재 바쁘다는 것을 통보를 반환하는 "상태 획득" 명령(738) 을 발행한다. 리소스 중재기의 커스터마이징
리소스 중재기는 주요한 가시적 리소스가 요청 객체로 넘겨지는지를 결정하는 중앙 결정 메이커이다. 리소스 중재기 모듈은 OEM/캐리어에 의해 커스터마이즈되며, 클래스 식별자(CLSID)를 이용하는 다운로드 가능한 모듈로서 구현될 수도 있다. 일 실시예에서, 주요한 가시적 리소스에 대한 단일 리소스 중재기(IResArbiter) 구현이 존재한다. 일 실시예에서, IResArbiter_ConfirmAcquire 리소스 중재기 방법은 중재 결정을 생성하기 위해 전술한 바와 같이 리소스 소유자의 정보 및 요청 정보로 전달된다.
만일 현재 소유자가 포기 CLSID 리스트를 특정하고, 요청자가 포기 리스트에서 특정된 애플리케이션 ID 또는 그룹 ID의 리스트에서 식별되거나, 또는 만일소유자가 소정의 ID(특권을 갖지 않는 소유자의 경우에서 처럼)를 허락하면, 리소스 중재기는 제공된 나머지 정보에 기초하여 소유권을 전달하도록 결정할 수도 있다(가장 간단한 구현은 요청을 승인함). 만일 요청자가 포기 CLSID 리스트상에서 식별되지 않으면, 리소스 중재기는 요청을 거절한다. 이하는 BREW 실행 시간 환경을 실행하는 장치에서 사용하에 적합한 리소스 중재기를 위한 ConfirmAcquire 방법의 구현예이다.
Figure 112006095395382-PCT00001
Figure 112006095395382-PCT00002
결론적으로, 장치에서의 사용을 위해 애플리케이션 우선권 시스템의 하나 이상의 실시예가 설명되고 도시되었지만, 본 발명의 사상 및 필수적인 특징을 벗어나지 않고 다양한 변경이 행해질 수 있다. 따라서, 설명 및 개시는 본 발명의 예일 뿐, 본 발명을 한정하지 않는다.

Claims (24)

  1. 주요한 가시적 리소스를 장치상에 할당하기 위한 애플리케이션 우선권 시스템을 동작시키는 방법으로서,
    요청 애플리케이션으로 상기 주요한 가시적 리소스의 할당을 요청하는 요청을 수신하는 단계;
    상기 주요한 가시적 리소스가 소유 애플리케이션에 할당되었음을 결정하는 단계;
    중재 요청을 형성하기 위해 소유자 정보를 요청 정보와 관련시키는 단계를 포함하는데, 상기 소유자 정보는 상기 소유 애플리케이션에 대한 정보를 포함하고, 상기 요청 정보는 상기 요청 애플리케이션에 대한 정보를 포함하며;
    상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 포기 리스트에 포함되면, 상기 주요한 가시적 리소스가 상기 요청 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 단계; 및
    상기 중재 결정에 기초하여 상기 주요한 뷰 리소스를 할당하는 단계를 포함하는,
    애플리케이션 우선권 시스템을 동작시키는 방법.
  2. 제1항에 있어서,
    상기 중재 단계는, 상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 상기 포기 리스트에 포함되지 않으면, 상기 주요한 가시적 리소스가 상기 소유 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 방법.
  3. 제1항에 있어서,
    상기 중재 단계는 상기 주요한 가시적 리소스가 상기 소유자 정보에 포함된 적어도 하나의 파라미터에 기초하여 상기 소유 애플리케이션 및 상기 요청 애플리케이션 중 하나에 할당된 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 방법.
  4. 제1항에 있어서,
    상기 중재 단계는 상기 소유자 정보, 상기 요청 정보, 장치 상태 정보, 장치 동작 모드 정보, 사용자 선호 정보, 및 제3자 선호 정보를 포함하는 정보 아이템의 세트로부터 선택된 소정의 정보에 기초하여 중재 결정을 생성하도록 중재 요청을 중재하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 방법.
  5. 제1항에 있어서,
    상기 중재 단계는 리소스 중재기에 의해 실행되며, 상기 방법은 상기 리소스 중재기를 상기 장치에 다운로딩하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 방법.
  6. 제1항에 있어서,
    상기 장치는 무선 장치인 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 방법.
  7. 주요한 가시적 리소스를 장치상에 동적으로 할당하기 위한 애플리케이션 우선권 시스템을 동작시키는 장치로서,
    요청 애플리케이션으로 상기 주요한 가시적 리소스의 할당을 요청하는 요청을 수신하는 로직; 상기 주요한 가시적 리소스가 소유 애플리케이션에 할당되었음을 결정하는 로직; 및 중재 요청을 형성하기 위해 소유자 정보를 요청 정보와 관련시키는 로직을 포함하는 리소스 관리자를 포함하는데, 상기 소유자 정보는 상기 소유 애플리케이션에 대한 정보를 포함하고, 상기 요청 정보는 상기 요청 애플리케이션에 대한 정보를 포함하며;
    상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 포기 리스트에 포함되 면, 상기 주요한 가시적 리소스가 상기 요청 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하도록 동작하는 리소스 중재기; 및
    상기 중재 결정에 기초하여 상기 주요한 뷰 리소스를 할당하는 로직을 포함하는,
    애플리케이션 우선권 시스템을 동작시키는 장치.
  8. 제7항에 있어서,
    상기 리소스 중재기는, 상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 상기 포기 리스트에 포함되지 않으면, 상기 주요한 가시적 리소스가 상기 소유 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하도록 동작하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  9. 제7항에 있어서,
    상기 중재기는, 상기 주요한 가시적 리소스가 상기 소유자 정보에 포함된 적어도 하나의 파라미터에 기초하여 상기 소유 애플리케이션 및 상기 요청 애플리케이션 중 하나에 할당된 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하도록 동작하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  10. 제7항에 있어서,
    상기 리소스 중재기는 상기 소유자 정보, 상기 요청 정보, 장치 상태 정보, 장치 동작 모드 정보, 사용자 선호 정보, 및 제3자 선호 정보를 포함하는 정보 아이템의 세트로부터 선택된 소정의 정보에 기초하여 중재 결정을 생성하도록 중재 요청을 중재하도록 동작하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  11. 제7항에 있어서,
    상기 리소스 중재기를 상기 장치에 다운로딩하는 로직을 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  12. 제1항에 있어서,
    상기 장치는 무선 장치인 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  13. 주요한 가시적 리소스를 장치상에 할당하기 위한 애플리케이션 우선권 시스템을 동작시키는 장치로서,
    요청 애플리케이션으로 상기 주요한 가시적 리소스의 할당을 요청하는 요청을 수신하는 수단;
    상기 주요한 가시적 리소스가 소유 애플리케이션에 할당되었음을 결정하는 수단;
    중재 요청을 형성하기 위해 소유자 정보를 요청 정보와 관련시키는 수단을 포함하는데, 상기 소유자 정보는 상기 소유 애플리케이션에 대한 정보를 포함하고, 상기 요청 정보는 상기 요청 애플리케이션에 대한 정보를 포함하며;
    상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 포기 리스트에 포함되면, 상기 주요한 가시적 리소스가 상기 요청 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 수단; 및
    상기 중재 결정에 기초하여 상기 주요한 뷰 리소스를 할당하는 수단을 포함하는,
    애플리케이션 우선권 시스템을 동작시키는 장치.
  14. 제13항에 있어서,
    상기 중재 수단은, 상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 상기 포기 리스트에 포함되지 않으면, 상기 주요한 가시적 리소스가 상기 소유 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 수단을 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  15. 제13항에 있어서,
    상기 중재 수단은 상기 주요한 가시적 리소스가 상기 소유자 정보에 포함된 적어도 하나의 파라미터에 기초하여 상기 소유 애플리케이션 및 상기 요청 애플리케이션 중 하나에 할당된 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 수단을 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  16. 제13항에 있어서,
    상기 중재 수단은 상기 소유자 정보, 상기 요청 정보, 장치 상태 정보, 장치 동작 모드 정보, 사용자 선호 정보, 및 제3자 선호 정보를 포함하는 정보 아이템의 세트로부터 선택된 소정의 정보에 기초하여 중재 결정을 생성하도록 중재 요청을 중재하는 수단을 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  17. 제13항에 있어서,
    상기 중재 수단은 리소스 중재기에 의해 실행되며, 상기 장치는 상기 리소스 중재기를 상기 장치에 다운로딩하는 수단을 포함하는 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  18. 제13항에 있어서,
    상기 장치는 무선 장치인 것을 특징으로 하는 애플리케이션 우선권 시스템을 동작시키는 장치.
  19. 장치에서 프로세서에 의해 실행될 때, 주요한 가시적 리소스를 장치상에 할당하기 위한 애플리케이션 우선권 시스템을 제공하도록 동작하는 명령을 포함하는 컴퓨터 판독가능 매체로서,
    요청 애플리케이션으로 상기 주요한 가시적 리소스의 할당을 요청하는 요청을 수신하는 명령;
    상기 주요한 가시적 리소스가 소유 애플리케이션에 할당되었음을 결정하는 명령;
    중재 요청을 형성하기 위해 소유자 정보를 요청 정보와 관련시키는 명령을 포함하는데, 상기 소유자 정보는 상기 소유 애플리케이션에 대한 정보를 포함하고, 상기 요청 정보는 상기 요청 애플리케이션에 대한 정보를 포함하며;
    상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 포기 리스트에 포함되면, 상기 주요한 가시적 리소스가 상기 요청 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 명령; 및
    상기 중재 결정에 기초하여 상기 주요한 뷰 리소스를 할당하는 명령을 포함하는,
    컴퓨터 판독가능 매체.
  20. 제19항에 있어서,
    상기 중재 명령은, 상기 소유자 정보가 상기 소유 애플리케이션이 특권을 가지며, 상기 요청 애플리케이션을 식별하는 식별자가 상기 소유자 정보와 관련된 상기 포기 리스트에 포함되지 않으면, 상기 주요한 가시적 리소스가 상기 소유 애플리케이션에 할당될 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 명령을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  21. 제19항에 있어서,
    상기 중재 명령은 상기 주요한 가시적 리소스가 상기 소유자 정보에 포함된 적어도 하나의 파라미터에 기초하여 상기 소유 애플리케이션 및 상기 요청 애플리케이션 중 하나에 할당된 것을 나타내는 중재 결정을 생성하도록 상기 중재 요청을 중재하는 명령을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  22. 제19항에 있어서,
    상기 중재 명령은 상기 소유자 정보, 상기 요청 정보, 장치 상태 정보, 장치 동작 모드 정보, 사용자 선호 정보, 및 제3자 선호 정보를 포함하는 정보 아이템의 세트로부터 선택된 소정의 정보에 기초하여 중재 결정을 생성하도록 중재 요청을 중재하는 명령을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  23. 제19항에 있어서,
    상기 중재 명령은 리소스 중재기에 의해 실행되며, 컴퓨터 판독가능 매체는 상기 리소스 중재기를 상기 장치에 다운로딩하는 명령을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  24. 제19항에 있어서,
    상기 장치는 무선 장치인 것을 특징으로 하는 컴퓨터 판독가능 매체.
KR1020067027070A 2004-05-26 2005-05-25 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템 KR20070028446A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/854,983 US7735085B2 (en) 2004-05-26 2004-05-26 System for application priority based on device operating mode
US10/854,983 2004-05-26

Publications (1)

Publication Number Publication Date
KR20070028446A true KR20070028446A (ko) 2007-03-12

Family

ID=35426721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067027070A KR20070028446A (ko) 2004-05-26 2005-05-25 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템

Country Status (17)

Country Link
US (1) US7735085B2 (ko)
EP (1) EP1751666B1 (ko)
JP (1) JP4550893B2 (ko)
KR (1) KR20070028446A (ko)
CN (1) CN101164046B (ko)
AR (1) AR049818A1 (ko)
AT (1) ATE484796T1 (ko)
AU (1) AU2005250848A1 (ko)
BR (1) BRPI0511498A (ko)
CA (1) CA2567384A1 (ko)
DE (1) DE602005024129D1 (ko)
IL (1) IL179352A0 (ko)
MX (1) MXPA06013664A (ko)
PE (1) PE20060390A1 (ko)
RU (1) RU2348970C2 (ko)
TW (1) TW200613992A (ko)
WO (1) WO2005119467A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101631310B1 (ko) * 2015-09-08 2016-06-16 이혁재 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802294B2 (en) * 2005-01-28 2010-09-21 Microsoft Corporation Controlling computer applications' access to data
US7810153B2 (en) * 2005-01-28 2010-10-05 Microsoft Corporation Controlling execution of computer applications
US7500091B2 (en) * 2005-11-30 2009-03-03 Microsoft Corporation Delay start-up of applications
US8954045B2 (en) * 2006-09-29 2015-02-10 Qualcomm Incorporated Method and apparatus for managing resources at a wireless device
US20080229319A1 (en) * 2007-03-08 2008-09-18 Benoit Marchand Global Resource Allocation Control
US8555201B2 (en) * 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
US8898621B2 (en) * 2009-10-09 2014-11-25 Oracle International Corporation Methods and systems for implementing a logical programming model
US8438251B2 (en) * 2009-10-09 2013-05-07 Oracle International Corporation Methods and systems for implementing a virtual storage network
US20120102200A1 (en) * 2010-10-26 2012-04-26 Qualcomm Incorporated Application specific resource management
US8655305B2 (en) 2011-03-21 2014-02-18 Htc Corporation Methods for requesting emergency bearer services for low priority devices, and apparatuses using the same
US9881143B2 (en) * 2012-12-06 2018-01-30 Qualcomm Incorporated Methods and apparatus for providing private expression protection against impersonation risks

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0485632A (ja) 1990-07-30 1992-03-18 Nec Corp デッドロック回避方式
JPH0698020A (ja) 1992-07-03 1994-04-08 Northern Telecom Ltd 通信方法
JPH06214976A (ja) 1993-01-13 1994-08-05 Toshiba Corp 割付決定支援装置
IL123512A0 (en) 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6009455A (en) * 1998-04-20 1999-12-28 Doyle; John F. Distributed computation utilizing idle networked computers
EP0964332B1 (en) 1998-06-10 2005-10-12 Sun Microsystems, Inc. Scheduling processes for resource allocation
US6438705B1 (en) 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US20020007422A1 (en) * 2000-07-06 2002-01-17 Bennett Keith E. Providing equipment access to supply chain members
US6604160B1 (en) * 2000-09-28 2003-08-05 International Business Machines Corporation Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
EP1402346A2 (en) * 2000-11-09 2004-03-31 Koninklijke Philips Electronics N.V. Method of and system for determining a best-case response time of a periodic task
KR100353214B1 (ko) 2001-01-16 2002-09-18 삼성전자 주식회사 휴대용 무선단말기 기능 서비스방법
US20020156900A1 (en) * 2001-03-30 2002-10-24 Brian Marquette Protocol independent control module
US20030005130A1 (en) 2001-06-29 2003-01-02 Cheng Doreen Yining Audio-video management in UPnP
EP1387593A3 (en) 2002-07-31 2005-06-15 Matsushita Electric Industrial Co., Ltd. Information processing terminal and information processing method
JP2004078936A (ja) * 2002-07-31 2004-03-11 Matsushita Electric Ind Co Ltd 情報処理端末及び情報処理方法
TWI269165B (en) * 2004-03-30 2006-12-21 Infortrend Technology Inc Dispatching of service requests in redundant storage virtualization subsystems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101631310B1 (ko) * 2015-09-08 2016-06-16 이혁재 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법
WO2017043697A1 (ko) * 2015-09-08 2017-03-16 이혁재 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법

Also Published As

Publication number Publication date
WO2005119467A3 (en) 2007-08-23
RU2006146044A (ru) 2008-07-10
MXPA06013664A (es) 2007-03-23
EP1751666B1 (en) 2010-10-13
AU2005250848A1 (en) 2005-12-15
DE602005024129D1 (de) 2010-11-25
CN101164046B (zh) 2010-05-05
BRPI0511498A (pt) 2008-01-08
CA2567384A1 (en) 2005-12-15
EP1751666A4 (en) 2008-04-02
US7735085B2 (en) 2010-06-08
RU2348970C2 (ru) 2009-03-10
PE20060390A1 (es) 2006-05-27
AR049818A1 (es) 2006-09-06
EP1751666A2 (en) 2007-02-14
JP4550893B2 (ja) 2010-09-22
ATE484796T1 (de) 2010-10-15
CN101164046A (zh) 2008-04-16
TW200613992A (en) 2006-05-01
JP2008500645A (ja) 2008-01-10
US20050268014A1 (en) 2005-12-01
WO2005119467A2 (en) 2005-12-15
IL179352A0 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
KR20070028446A (ko) 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템
US7315904B2 (en) Resource allocation among multiple applications based on an arbitration method for determining device priority
EP3403177B1 (en) Managing delivery of code and dependent data using application containers
US9201693B2 (en) Quota-based resource management
CN116233217B (zh) 基于路由的页面跳转方法、装置、电子设备及存储介质
US20220286467A1 (en) Managing Application Constraints across Platforms
JPH10340195A (ja) オブジェクトにおける動作同時並行の管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20081021

Effective date: 20100225