KR20160055163A - Wireless communication device having deterministic control of foreground access of the user interface - Google Patents

Wireless communication device having deterministic control of foreground access of the user interface Download PDF

Info

Publication number
KR20160055163A
KR20160055163A KR1020167007714A KR20167007714A KR20160055163A KR 20160055163 A KR20160055163 A KR 20160055163A KR 1020167007714 A KR1020167007714 A KR 1020167007714A KR 20167007714 A KR20167007714 A KR 20167007714A KR 20160055163 A KR20160055163 A KR 20160055163A
Authority
KR
South Korea
Prior art keywords
application
input
applications
display
wireless communication
Prior art date
Application number
KR1020167007714A
Other languages
Korean (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
Priority claimed from US14/026,159 external-priority patent/US9367214B2/en
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160055163A publication Critical patent/KR20160055163A/en

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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/4443
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • H04M1/72533
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Abstract

컴퓨터 플랫폼 상에 상주하는 하나 이상의 애플리케이션들, 무선 통신 인터페이스, 디스플레이, 및 적어도 디스플레이 상에 나타나는 사용자 인터페이스를 가지는 무선 통신 디바이스. 컴퓨터 플랫폼 상에 상주하는 하나 이상의 애플리케이션들 및/또는 중재기는, 사용자 인터페이스들이 디스플레이의 제어를 위하여 경쟁할 때, 미리 결정된 기준들에 기초하여, 컴퓨터 플랫폼 상에 상주하는 하나 이상의 애플리케이션들 중의 어느 사용자 인터페이스가 디스플레이를 제어하는지를 결정할 수도 있다. 또 다른 실시형태에서, 어느 애플리케이션이 디스플레이를 제어한다는 결정에 따르지 않는 애플리케이션은 종결될 수도 있다. 방법은, 어느 애플리케이션이 무선 통신 디바이스의 복수의 디스플레이들 중의 디스플레이를 제어할 수도 있는지를 결정하도록 수행될 수도 있다. 방법은, 디스플레이의 제어의 변경이 있을 때에 사용자 입력 데이터를 애플리케이션들과 연관시키도록 수행될 수도 있다.A wireless communication device having one or more applications resident on a computer platform, a wireless communication interface, a display, and at least a user interface appearing on the display. One or more applications and / or arbiters residing on the computer platform may be configured to determine which user interface of one or more applications resident on the computer platform based on predetermined criteria when the user interfaces compete for control of the display Lt; / RTI > controls the display. In yet another embodiment, an application that does not comply with a decision that an application controls the display may be terminated. The method may be performed to determine which application may control the display of the plurality of displays of the wireless communication device. The method may be performed to associate user input data with applications when there is a change in control of the display.

Description

사용자 인터페이스의 포어그라운드 액세스의 결정론적 제어를 가지는 무선 통신 디바이스{WIRELESS COMMUNICATION DEVICE HAVING DETERMINISTIC CONTROL OF FOREGROUND ACCESS OF THE USER INTERFACE}[0001] WIRELESS COMMUNICATION DEVICE HAVING DETERMINISTIC CONTROL OF FORGUARD ACCESS OF THE USER INTERFACE [0002]

관련 출원들Related Applications

본 출원은 2008 년 6 월 5 일자로 출원된 "WIRELESS COMMUNICATION DEVICE HAVING DETERMINISTIC CONTROL OF FOREGROUND ACCESS OF THE USER INTERFACE (사용자 인터페이스의 포어그라운드 액세스의 결정론적 제어를 가지는 무선 통신 디바이스)" 라는 명칭의 미국 가출원 제 12/134,129 호의 일부계속 출원이고, 그 전체 내용들은 참조에 의해 본원에 편입된다.[0001] This application claims the benefit of U.S. Provisional Patent Application entitled " WIRELESS COMMUNICATION DEVICE HAVING DETERMINISTIC CONTROL OF FORGOING ACCESS OF THE USER INTERFACE " filed June 5, 2008, entitled " Wireless Communication Device with Deterministic Control of Foreground Access in a User Interface. &Quot; 12 / 134,129, the entire contents of which are incorporated herein by reference.

1. 발명의 분야1. Field of the Invention

본 발명은 휴대용 무선 통신 디바이스들에 관한 것이다. 더욱 구체적으로, 본 발명은, 상주 애플리케이션 (resident application) 들의 어느 사용자 인터페이스가 디바이스의 디스플레이를 제어하는지를 결정론적으로 제어할 수 있는 무선 통신 디바이스에 관한 것이다.The present invention relates to portable wireless communication devices. More specifically, the present invention relates to a wireless communication device capable of deterministically controlling which user interface of resident applications controls the display of the device.

2. 관련 기술의 설명2. Description of Related Technology

최신 무선 통신 네트워크들에서, 무선 통신 디바이스들의 다수는, 컴퓨터 플랫폼 상에서 개별적으로 또는 병렬로 실행될 수 있는 오퍼레이팅 시스템 (operating system) 들 및 소프트웨어 애플리케이션들을 갖는 상주 컴퓨터 플랫폼들을 가진다. 소프트웨어 애플리케이션들은, 무선 통신 디바이스의 상주 디스플레이 (resident display) 상에서 종종 디스플레이되는, 무선 통신 디바이스를 위한 상주 사용자 인터페이스 (resident user interface) 의 제어를 위하여 경쟁할 수 있고, 몇몇 문제들은 사용자 인터페이스의 제어를 장악하는 것을 시도하는 실행 중인 애플리케이션들의 충돌로부터 기인할 수 있다.In modern wireless communication networks, many of the wireless communication devices have resident computer platforms with operating systems and software applications that can be executed individually or in parallel on a computer platform. Software applications may compete for control of a resident user interface for a wireless communication device, which is often displayed on a resident display of a wireless communication device, and some problems may take control of the user interface From the collision of running applications trying to do so.

예를 들어, 이벤트들을 다른 상주 애플리케이션들로 전송하기 위한 통지 메커니즘을 갖는 오퍼레이팅 시스템에서, 오퍼레이팅 시스템은 전형적으로, 착신 통신들의 수신, 다양한 애플리케이션들의 실행, 및 상주 하드웨어 컴포넌트들의 스테이터스 (status) 와 같은 이벤트들을 다수의 소프트웨어 애플리케이션들로 브로드캐스팅하기 위하여 통지들을 이용할 수도 있다. 상주 소프트웨어 애플리케이션들은 통상적인 오퍼레이팅 시스템 애플리케이션-프로그래밍 인터페이스 ("application-programming interface; API") 를 이용하여 통지들에 대하여 등록할 수 있다. 또한, 상주 소프트웨어 애플리케이션은 "통지" 클래스를 구현할 수도 있고, 통지들을 의도된 바와 같이 다른 소프트웨어 애플리케이션들로 전송할 수도 있다. 일단 애플리케이션이 이벤트를 수신하면, 상주 소프트웨어 애플리케이션은 전형적으로 자유롭게, 작동하고 API 상의 포어그라운드 (foreground) 에 도달한다.For example, in an operating system having a notification mechanism for sending events to other resident applications, the operating system typically provides an event, such as reception of incoming communications, execution of various applications, and status of resident hardware components, Lt; RTI ID = 0.0 > software applications. ≪ / RTI > Resident software applications may register for notifications using a conventional operating system application-programming interface (API). In addition, the resident software application may implement the "notification" class and may send notifications to other software applications as intended. Once the application receives the event, the resident software application typically runs freely and reaches the foreground on the API.

특정 이벤트를 처리할 수 있는 다수의 애플리케이션들이 있고, 그 애플리케이션들이 모두 UI 의 포어그라운드에 도달하는 것을 원할 경우에는, 하나의 문제가 발생한다. 이것은, 각각의 애플리케이션이 포어그라운드에 도달하는 것을 시도하는 스래싱 (thrashing) 및 바람직하지 않은 사용자 거동을 야기시킬 수 있고, 이에 따라, 오퍼레이팅 시스템은 임의의 하나의 애플리케이션이 UI 에서 맨 위에 머무르지 않게 할 수도 있다. 이 문제에 대한 하나의 종래 기술의 해결책은 브로드캐스팅된 이벤트 모델의 결과로서, 포어그라운드 스래싱을 간단하게 허용하는 것이었다. 그러나, 애플리케이션들은 이들이 UI 상에서 장악하고 디스플레이하는 임의의 특정된 순서를 가지므로, UI 스래싱을 간단하게 허용하는 것은 바람직하지 않으며, 높은 우선순위의 애플리케이션들은 제어를 위하여 낮은 우선순위의 애플리케이션들과 경합하게 된다.If there are multiple applications that can handle a particular event, and all of those applications want to reach the foreground of the UI, then one problem arises. This may lead to thrashing and undesirable user behavior, where each application tries to reach the foreground, so that the operating system will not allow any one application to stay on top of the UI You may. One prior art solution to this problem was to simply allow foreground thrashing as a result of the broadcasted event model. However, it is not desirable for applications to simply allow UI thrashing because they have any specific order in which they take control and display on the UI, and high priority applications are not content with low priority applications .

그러므로, 다수의 애플리케이션들이 동시에 인보크되고 UI 의 제어를 위하여 경쟁할 경우에, 복수의 상주 애플리케이션들 중의 어느 것이 UI 의 제어를 가질 수도 있는지를 제어하기 위하여 무선 통신 디바이스를 위한 시스템 및 방법을 제공하는 것이 유리할 것이다. 이러한 시스템 및 방법은 제어를 결정함에 있어서 상당한 디바이스 자원들을 사용하지 않으면서, 어느 애플리케이션이 UI 를 가질 수도 있는지를 우선순위화할 수 있어야 한다. 이에 따라, 본 발명은 주로, UI 의 상주 애플리케이션 제어를 결정하는 무선 통신 디바이스의 이러한 시스템 및 방법에 대한 것이다.Therefore, it would be desirable to provide a system and method for a wireless communication device to control which of a plurality of resident applications may have control of the UI when multiple applications are simultaneously invoked and competing for control of the UI Would be advantageous. Such systems and methods should be able to prioritize which applications may have a UI, without using significant device resources in determining control. Accordingly, the present invention is primarily directed to such systems and methods of wireless communication devices that determine resident application control of the UI.

간단히 설명하면, 로컬 컴퓨터 플랫폼 상에 상주하는 하나 이상의 애플리케이션들을 가지며, 적어도 무선 통신 인터페이스 및 디스플레이를 포함하는 무선 통신 디바이스가 본원에서 제공된다. 각각의 애플리케이션은 사용자와 상호작용하기 위하여 이용하는 사용자 인터페이스를 가진다. 컴퓨터 플랫폼 상에 상주하는 중재기 애플리케이션 (arbiter application) 은, 우선순위화 방식, 가장 최근에 이용된 알고리즘과 같은 미리 결정된 기준들에 기초하여, 다수의 애플리케이션들을 인보크하는 이벤트의 성질에 기초하여, 어느 애플리케이션이 그 사용자 인터페이스를 포어그라운드에 가져갈 수도 있는지를 제어한다.Briefly described, a wireless communication device having one or more applications residing on a local computer platform and including at least a wireless communication interface and a display is provided herein. Each application has a user interface that it uses to interact with the user. An arbiter application residing on a computer platform may be configured to perform a plurality of applications based on the nature of the event being invoked, based on predetermined criteria, such as prioritization schemes, most recently used algorithms, Control which application can take its user interface to the foreground.

하나의 실시형태에서, 무선 통신 디바이스의 컴퓨터 플랫폼 상의 상주 애플리케이션들의 어느 사용자 인터페이스가 디스플레이를 제어하는지를 결정하는 방법으로서, 상기 사용자 인터페이스는 적어도, 무선 통신 디바이스의 디스플레이 상에 나타나며, 상기 사용자 인터페이스를 통해, 무선 통신 디바이스의 사용자가 상주 애플리케이션들과 상호작용하는, 상기 방법은, 무선 통신 디바이스의 디스플레이 상에서 사용자 인터페이스를 디스플레이하는 단계로서, 여기서, 상기 디스플레이는 컴퓨터 플랫폼 상에 상주하는 하나 이상의 애플리케이션들의 사용자 인터페이스에 의해 선택적으로 제어되도록 구성되는, 상기 디스플레이하는 단계, 그 다음으로, 컴퓨터 플랫폼 상에 상주하는 중재기에서, 디스플레이를 제어하기 위한 상주 애플리케이션들 중의 하나 이상으로부터 요청을 수신하는 단계, 및 중재기에서, 미리 결정된 기준들에 기초하여, 하나 이상의 상주 애플리케이션들의 사용자 인터페이스들의 어느 애플리케이션이 사용자 인터페이스를 제어하는지를 결정하는 단계를 포함하거나, 하나 이상의 상주 애플리케이션들이 디스플레이의 제어의 우선순위를 표시하는 우선순위 데이터를 포함할 경우, 하나 이상의 상주 애플리케이션들은 어느 애플리케이션의 어느 사용자 인터페이스가 디스플레이를 제어하는지를 결정할 수도 있다.In one embodiment, a method for determining which user interface of resident applications on a computer platform of a wireless communication device controls the display, said user interface appearing on at least a display of the wireless communication device, The method of interacting with resident applications of a user of a wireless communication device comprising the steps of: displaying a user interface on a display of a wireless communication device, wherein the display is in a user interface of one or more applications residing on a computer platform , And then, in an arbitrator resident on the computer platform, the display of the resident applications for controlling the display Receiving at least one request from one or more resident applications; and determining, at the arbiter, which application of user interfaces of the one or more resident applications controls the user interface based on predetermined criteria, When including priority data indicating the priority of control of the display, one or more resident applications may determine which user interface of which application controls the display.

또 다른 실시형태에서, 복수의 디스플레이의 각각의 제어를 무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법은, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여, 복수의 디스플레이들 중의 하나를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 중재기를 통해 결정하는 단계, 제 1 애플리케이션이 복수의 디스플레이들 중의 하나를 제어한다는 중재기를 통한 결정에 응답하여, 복수의 애플리케이션들 중의 제 2 애플리케이션에 관련 있는 액티비티 (activity) 가 검출되는지 여부를 결정하는 단계, 제 2 애플리케이션에 관련 있는 액티비티를 검출하는 것에 응답하여, 복수의 디스플레이들 중의 실행가능한 디스플레이들의 리스트를 제 2 애플리케이션에 대한 우선순위의 순서로 순서화하는 단계, 선택된 디스플레이가 제 3 애플리케이션에 의해 이용 중인지 여부를 결정하는 단계, 및 선택된 디스플레이가 제 3 애플리케이션에 의해 이용 중이지 않은 것으로 결정하는 것에 응답하여, 선택된 디스플레이의 포어그라운드의 제어를 배정하는 플래그 (flag) 를 제 2 애플리케이션으로 전송하는 단계를 포함할 수도 있다.In another embodiment, a method of assigning control of each of a plurality of displays to an application in a plurality of applications residing on a wireless communication device includes receiving a notification event simultaneously invoking more than one application Determining, via an arbiter, a first one of a plurality of applications controlling one of the plurality of displays, based on predetermined criteria, determining whether the first application controls one of the plurality of displays Determining, in response to the determining via the first application, whether an activity associated with a second application of the plurality of applications is detected; in response to detecting an activity associated with the second application, Possible displays Ordering the list of preferences for the second application in order of priority, determining whether the selected display is being used by the third application, and determining that the selected display is not being used by the third application In response, the method may include transmitting a flag to the second application to assign control of the foreground of the selected display.

또 다른 실시형태에서, 사용자 의도에 따라 사용자 입력 데이터를 무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들과 연관시키는 방법은, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여, 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 중재기를 통해 결정하는 단계, 제 1 애플리케이션이 디스플레이를 제어한다는 중재기를 통한 결정에 응답하여, 복수의 애플리케이션들에서의 제 1 애플리케이션으로부터 복수의 애플리케이션들에서의 제 2 애플리케이션으로의 디스플레이의 제어에 있어서의 변경을 검출하는 단계, 디스플레이의 제어에 있어서의 검출된 변경 전에 수신된 제 1 입력과, 디스플레이의 제어에 있어서의 검출된 변경 후에 수신된 제 2 입력을 식별하는 단계, 제 1 입력이 디스플레이의 제어에 있어서의 검출된 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정하는 단계, 제 2 입력이 디스플레이의 제어에 있어서의 검출된 변경의 제 2 시간 문턱 내에 수신되었는지 여부를 결정하는 단계, 및 제 1 입력이 제 1 시간 문턱 내에 수신되지 않았거나 제 2 입력이 제 2 시간 문턱 내에 수신되지 않은 것으로 결정하는 것에 응답하여, 제 2 입력을 제 2 애플리케이션과 연관시키는 단계를 포함할 수도 있다.In another embodiment, a method of associating user input data with a plurality of applications resident on a wireless communication device in response to a user's intention includes, in response to receiving a notification event simultaneously invoking more than one application, Determining, based on predetermined criteria, a first application of the plurality of applications controlling the display of the wireless communication device, in response to the determination through the arbiter that the first application controls the display, Detecting a change in the control of the display from the first application in the applications to the second application in the plurality of applications, detecting a first input received prior to the detected change in the control of the display, In control Determining whether a first input has been received within a first time threshold of a detected change in the control of the display, determining whether a second input is received in the control of the display Determining whether the first input has not been received within the first time threshold or that the second input has not been received within the second time threshold, , And associating a second input with a second application.

또 다른 실시형태에서, 무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들을 제어하는 방법은, 관리상 특권들을 가지는 중재기 애플리케이션과 같은 중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 단계, 복수의 애플리케이션들 중의 제 2 애플리케이션이 복수의 애플리케이션들 중의 제 1 애플리케이션이 디스플레이를 제어한다는 중재기를 통한 결정을 준수하지 않았는지 여부를 결정하는 단계, 및 복수의 애플리케이션들 중의 제 2 애플리케이션이 준수하지 않은 것으로 결정하는 것에 응답하여, 제 2 애플리케이션을 종결시키는 단계를 포함할 수도 있다.In another embodiment, a method for controlling a plurality of applications resident on a wireless communication device includes receiving, via an arbiter, such as an arbiter application having administrative privileges, a notification event invoking more than one application concurrently Determining a first one of the plurality of applications that controls the display of the wireless communication device based on predetermined criteria, determining whether a second one of the plurality of applications is a first application of the plurality of applications Determining whether the decision via the arbiter to control the display has not been complied with, and terminating the second application in response to determining that the second one of the plurality of applications is not compliant May.

그러므로, 본 시스템 및 방법은, 디스플레이의 제어에서의 스래싱을 최소화하기 위하여, 인보크 이벤트로 야기되는 바와 같이, 복수의 인보크된 또는 액티비티인 상주 UI 애플리케이션들 중의 어느 것이 디스플레이의 제어를 가질 수도 있는지를 제어하기 위한 능력을 갖는 무선 통신 디바이스를 제공한다는 점에서 유리하다. 다양한 무선 환경들에서의 구현을 허용하는 디스플레이의 애플리케이션 제어를 우선순위화하기 위한 몇몇 실시형태들이 있다. 따라서, 디스플레이의 제어의 결정은 디스플레이의 제어를 중재할 시에 상당한 디바이스 프로세싱 자원들을 들여야 할 필요 없이 달성될 수도 있다.Therefore, the present system and method may also have control of the display, either as a plurality of invoked or activity resident UI applications, as caused by an invoke event, to minimize thrashing in the control of the display The present invention is advantageous in that it provides a wireless communication device with the ability to control whether or not the wireless communication device is capable of operating. There are several embodiments for prioritizing application control of a display that allows implementation in various wireless environments. Thus, the determination of control of the display may be accomplished without having to resort to significant device processing resources when mediating control of the display.

본 발명의 다른 목적들, 특성들, 및 장점들은 도면의 간단한 설명, 발명의 상세한 설명, 및 청구항들의 검토 후에 명백해질 수도 있다.Other objects, features, and advantages of the present invention may become apparent after review of the drawings, a detailed description of the invention, and the claims.

본원에 편입되며 이 명세서의 일부를 구성하는 첨부한 도면들은 발명의 예시적인 실시형태들을 예시하고, 위에서 주어진 일반적인 설명 및 이하에서 주어진 상세한 설명과 함께, 발명의 특징들을 설명하도록 작용한다.
도 1 은 PTT 그룹 구성원들의 무선 통신 디바이스들 사이의 그룹 통신 서버 제어 통신들을 가지는, 통상적인 셀룰러 통신 구성에서의 무선 네트워크의 하나의 실시형태의 대표적인 도면이다.
도 2 는 푸시-투-토크 (push-to-talk; PTT) 기능과 함께 여기서 도시된, 무선 통신 디바이스의 컴퓨터 플랫폼을 예시하는 블록도이다.
도 3a 는 이벤트 통지를 복수의 다른 디바이스-상주 애플리케이션들로 전송하는 무선 통신 디바이스 상주 애플리케이션의 블록도이다.
도 3b 는 도 3a 와 유사한 블록도이지만, 중재기는 또한, 이벤트 통지를 수신하고, 애플리케이션이 UI 를 제어함에 있어서 우선순위를 가진다는 것을 표시하기 위하여 플래그를, 통지를 수신하는 다른 애플리케이션들 중의 하나로 전송한다.
도 4 는 주 디스플레이 (primary display) 의 제어를 위하여 경쟁하는 복수의 상주 애플리케이션들 인터페이스 (API) 들을 갖는 무선 통신 디바이스를 위한 UI 의 디스플레이의 하나의 실시형태의 대표적인 예시도이다.
도 5 는 복수의 인보크된 무선 통신 디바이스-상주 애플리케이션들 사이의 디스플레이 제어를 위한 우선순위를 결정하는 중재기를 위한 방법의 하나의 실시형태의 프로세스 흐름도이다.
도 6 은 디스플레이의 제어를 추구하는 애플리케이션들에서 상주하는 우선순위 데이터에 기초하여 복수의 인보크된 무선 통신 디바이스-상주 애플리케이션들 사이의 디스플레이 제어를 위한 우선순위를 결정하기 위한 방법의 하나의 실시형태의 프로세스 흐름도이다.
도 7a 내지 도 7b 는 무선 통신 디바이스가 다수의 디스플레이들의 포어그라운드의 제어를 배정 (또는 중재) 하기 위한 실시형태의 방법들의 프로세스 흐름도들이다.
도 8 은 무선 통신 디바이스가 다수의 디스플레이들의 우선순위들을 재계산하기 위한 실시형태의 방법의 프로세스 흐름도이다.
도 9a 는 디바이스가 사용자 입력을 수신할 때에 포어그라운드에 도달하는 제 2 애플리케이션을 갖는 무선 통신 디바이스를 위한 사용자 인터페이스의 디스플레이의 대표적인 예시도이다.
도 9b 는 무선 통신 디바이스가 타이밍 정보에 기초하여 수신된 사용자 입력을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법의 프로세스 흐름도이다.
도 10a 는 디바이스가 사용자 입력을 수신할 때에 제 2 애플리케이션이 포어그라운드에 도달하는 것에 응답하여, 프롬프트 다이얼로그 박스 (prompt dialog box) 를 렌더링하는 무선 통신 디바이스를 위한 사용자 인터페이스의 디스플레이의 대표적인 예시도이다.
도 10b 는 무선 통신 디바이스가 프롬프트 다이얼로그 박스에 대응하는 선택 입력들에 기초하여 수신된 사용자 입력을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법의 프로세스 흐름도이다.
도 11a 는 포어그라운드에 도달하는 제 2 애플리케이션과 일치하는 수신된 사용자 입력을 프로세싱하는 것에 응답하여 프롬프트 다이얼로그 박스를 렌더링하는 무선 통신 디바이스를 위한 사용자 인터페이스의 디스플레이의 대표적인 예시도이다.
도 11b 는 무선 통신 디바이스가 수신된 사용자 입력의 내용의 평가들에 기초하여 수신된 사용자 입력을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법의 프로세스 흐름도이다.
도 12 는 무선 통신 디바이스가 제 1 및 제 2 애플리케이션들의 사용자 인터페이스 엘리먼트들의 로케이션들에 기초하여 수신된 사용자 입력을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법의 프로세스 흐름도이다.
도 13 은 무선 통신 디바이스가 중재기에 의한 우선순위 결정들과 반대로 무선 통신 디바이스의 포어그라운드의 제어를 획득하였던 미준수 (non-compliant) 애플리케이션을 종결시키기 위한 실시형태의 방법의 프로세스 흐름도이다.
도 14 는 다양한 실시형태와 함께 이용하기 위해 적당한 스마트폰 무선 통신 디바이스의 시스템 블록도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention and, together with the general description given above and the detailed description given below, serve to explain the features of the invention.
1 is an exemplary diagram of one embodiment of a wireless network in a typical cellular communication configuration having group communication server control communications between wireless communication devices of PTT group members.
2 is a block diagram illustrating a computer platform of a wireless communication device, shown here in conjunction with a push-to-talk (PTT) function.
3A is a block diagram of a wireless communication device resident application that sends an event notification to a plurality of other device-resident applications.
Figure 3b is a block diagram similar to Figure 3a, but the arbiter also receives the event notification and sends a flag to one of the other applications receiving the notification to indicate that the application has priority in controlling the UI do.
4 is a representative illustration of one embodiment of a display of a UI for a wireless communication device having a plurality of competing applications interfaces (APIs) that compete for control of a primary display.
5 is a process flow diagram of one embodiment of a method for an arbiter determining a priority for display control between a plurality of invoked wireless communication device-resident applications.
Figure 6 shows an embodiment of a method for determining a priority for display control between a plurality of invoked wireless communication device-resident applications based on priority data resident in applications seeking control of the display Fig.
Figures 7A-7B are process flow diagrams of methods of an embodiment for a wireless communication device to assign (or mediate) control of the foreground of multiple displays.
8 is a process flow diagram of a method of an embodiment for a wireless communication device to recalculate priorities of multiple displays.
9A is a representative illustration of a display of a user interface for a wireless communication device having a second application that reaches a foreground when the device receives a user input.
9B is a process flow diagram of a method of an embodiment for associating a received user input with a first or second application based on timing information;
10A is a representative illustration of a display of a user interface for a wireless communication device that renders a prompt dialog box in response to a second application reaching foreground when the device receives a user input.
10B is a process flow diagram of a method of an embodiment for associating a received user input with a first or second application based on selection inputs corresponding to a prompt dialog box.
11A is a representative illustration of a display of a user interface for a wireless communication device that renders a prompt dialog box in response to processing a received user input consistent with a second application reaching foreground.
11B is a process flow diagram of a method of an embodiment for associating a received user input with a first or second application based on evaluations of the content of the received user input.
12 is a process flow diagram of a method of an embodiment for associating a received user input with a first or second application based on locations of user interface elements of first and second applications.
13 is a process flow diagram of a method of an embodiment for terminating a non-compliant application in which the wireless communication device has obtained control of the foreground of the wireless communication device as opposed to prioritization by the arbiter.
14 is a system block diagram of a smartphone wireless communication device suitable for use with various embodiments.

다양한 실시형태들은 첨부한 도면들을 참조하여 상세하게 설명될 수도 있다. 가능한 경우, 동일한 참조 번호들은 동일하거나 유사한 부분들을 지칭하기 위하여 도면들의 전반에 걸쳐 이용될 수도 있다. 특정 예들 및 구현들에 대해 행해진 참조들은 예시적인 목적들을 위한 것이고, 발명 또는 청구항들의 범위를 제한하도록 의도된 것은 아니다.Various embodiments may be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers may be used throughout the drawings to refer to the same or like parts. References made to specific examples and implementations are for illustrative purposes only and are not intended to limit the scope of the invention or the claims.

이 설명에서, 용어들 "통신 디바이스", "무선 디바이스", "무선 통신 디바이스", "PTT 통신 디바이스", "핸드헬드 디바이스", "이동 디바이스", 및 "핸드셋" 은 상호 교환가능하게 이용된다. 용어들 "호출" 및 "통신" 은 또한 상호 교환가능하게 이용된다. 본원에서 이용된 바와 같은 용어 "애플리케이션" 은 실행가능 및 비-실행가능 (non-executable) 소프트웨어 파일들, 원시 데이터 (raw data), 집합된 데이터 (aggregated data), 및 다른 코드 세그먼트 (code segment) 들을 망라하도록 의도된 것이다. 용어 "예시적" 은, 개시된 엘리먼트 또는 실시형태가 오직 예이며 사용자의 임의의 선호도를 표시하지 않는다는 것을 의미한다. 애플리케이션들 사이의 상호작용의 모든 방법들은, 모든 형태들의 인보크, 실행, 호출, 및 데이터 교환을 포함하기 위하여 본원에서 망라되도록 의도된 것이다. 또한, 몇몇 도면들의 전반에 걸쳐, 유사한 번호들은 유사한 엘리먼트들을 지칭하고, 설명에서 이와 다르게 특정되지 않으면, 관사 "a" 및 "the" 는 복수의 참조들을 포함한다.In this description, the terms "communication device", "wireless device", "wireless communication device", "PTT communication device", "handheld device", "mobile device", and "handset" are used interchangeably . The terms "call" and "communication" are also used interchangeably. The term "application" as used herein includes both executable and non-executable software files, raw data, aggregated data, and other code segments, . The term "exemplary" means that the disclosed element or embodiment is exemplary only and does not indicate any preference of the user. All methods of interaction between applications are intended to be encompassed herein to include all forms of invoke, execution, invocation, and data exchange. Also, throughout the several figures, like numbers refer to like elements, and articles "a" and "the" include a plurality of references unless otherwise specified in the description.

그 전반에 걸쳐, 유사한 번호들이 유사한 엘리먼트들을 나타내는 도면들을 참조하면, 도 1 은 통신들이 무선 통신 디바이스들 (70, 72, 74, 76) 사이에서 발생하는 통상적인 셀룰러 통신 구성에서의 무선 네트워크를 갖는 시스템 (10) 의 하나의 실시형태의 대표적인 도면이다. 시스템 (10) 은 여기에서 또한, 푸시-투-토크 (PTT) 시스템을 지원하는 일련의 그룹 통신 컴퓨터 디바이스들 (그룹 통신 서버들) (32) 을 포함한다. 무선 네트워크는 단지 예시적이며 임의의 시스템을 포함할 수도 있고, 이것에 의하여, 원격 모듈들은 서로의 사이에서, 그리고 서로 중에서, 및/또는 무선 네트워크 캐리어들 및/또는 서버들을 제한 없이 포함하는 무선 네트워크의 컴포넌트들 사이에서, 그리고 이러한 컴포넌트들 중에서 오버-디-에어 (over-the-air) 로 통신한다. 일련의 그룹 통신 서버들 (32) 은 그룹 통신 서버 로컬 영역 네트워크 (local area network; LAN) (50) 에 접속된 것으로서 여기에서 도시되지만, 다른 컴퓨터 디바이스들은 기능성을 네트워크 상의 임의의 컴포넌트에 제공하기 위하여 LAN (50) 에 의해 액세스가능할 수도 있다. 무선 통신 디바이스들 (70, 72, 74, 76) 은 데이터 서비스 옵션을 이용하여 그룹 통신 서버 (들) (32) 로부터의 패킷 데이터 세션들을 요청할 수도 있다.Throughout the drawings, and with reference to the drawings in which like numerals represent like elements, FIG. 1 illustrates an embodiment in which communications have wireless networks in a conventional cellular communication configuration occurring between wireless communication devices 70, 72, 74, Is an exemplary illustration of one embodiment of the system 10. The system 10 also includes here a series of group communication computer devices (group communication servers) 32 that support a push-to-talk (PTT) system. A wireless network is merely exemplary and may include any system whereby remote modules may communicate with each other and between wireless networks and / or wireless networks including, without limitation, wireless network carriers and / Of-the-box among the components of the system 100, and over-the-air among these components. Although a series of group communication servers 32 are shown herein as being connected to a group communication server local area network (LAN) 50, other computer devices may be used to provide functionality to any component on the network And may be accessible by the LAN 50. [ The wireless communication devices 70, 72, 74, 76 may request packet data sessions from the group communication server (s) 32 using a data service option.

그룹 통신 서버 (들) (32) 와 같은 백-오피스 (back-office) 컴퓨터 디바이스들은, 캐리어 네트워크 (54) 상에 상주하는 것으로 여기에서 도시된 PDSN (52) 과 같은 무선 서비스 제공자들 패킷 데이터 서비스 노드 (packet data service node; PDSN) 에 접속된다. 각각의 PDSN (52) 은 패킷 제어 기능부 (packet control function; PCF) (62) 를 통해 기지국 (60) 의 기지국 제어기 (64) 와 인터페이스할 수도 있다. PCF (62) 는 전형적으로 기지국 (60) 에서 위치된다. 캐리어 네트워크 (54) 는 메시징 서비스 제어기 (messaging service controller; MSC) (58) 로 (일반적으로 데이터 패킷들의 형태로) 전송된 메시지들을 제어한다. 캐리어 네트워크 (54) 는 네트워크, 인터넷, 및/또는 POTS ("plain ordinary telephone system") 에 의해 MSC (58) 와 통신한다. 전형적으로, 캐리어 네트워크 (54) 와 MSC (58) 사이의 네트워크 또는 인터넷 접속은 데이터를 전송하고, POTS 는 음성 정보를 전송한다. MSC (58) 는 하나 이상의 기지국들 (60) 에 접속될 수도 있다. 캐리어 네트워크와 유사한 방식으로, MSC (58) 는 전형적으로, 데이터 전송을 위한 네트워크 및/또는 인터넷과, 음성 정보를 위한 POTS 의 양자에 의해, 브랜치-투-소스 (branch-to-source; BTS) (66) 에 접속된다. BTS (66) 는 궁극적으로, 단문 메시징 서비스 (short messaging service; SMS), 또는 당해 분야에서 알려진 다른 오버-디-에어 방법들에 의해, 메시지들을 무선 통신 디바이스들 (70, 72, 74, 76) (예컨대, 셀룰러 전화들) 과 같은 무선 디바이스들로 무선으로 브로드캐스팅하고, 이러한 무선 디바이스들로부터 메시지들을 무선으로 수신한다. 또한, 캐리어 경계들 및/또는 PTT 운영자 네트워크 경계들은 본원에서 설명된 바와 같은 데이터의 공유를 억제하거나 금지하지 않는다는 것에 주목해야 한다.Back-office computer devices, such as group communication server (s) 32, are wireless service providers such as PDSN 52, shown here as residing on carrier network 54, And is connected to a packet data service node (PDSN). Each PDSN 52 may interface with the base station controller 64 of the base station 60 via a packet control function (PCF) The PCF 62 is typically located at the base station 60. The carrier network 54 controls messages sent (typically in the form of data packets) to a messaging service controller (MSC) 58. The carrier network 54 communicates with the MSC 58 by a network, the Internet, and / or a "plain ordinary telephone system " (POTS). Typically, the network or Internet connection between the carrier network 54 and the MSC 58 transmits data and the POTS transmits voice information. The MSC 58 may be connected to one or more base stations 60. In a manner similar to the carrier network, the MSC 58 is typically connected to a branch-to-source (BTS) network by both the network and / or the Internet for data transmission and POTS for voice information, (66). The BTS 66 may ultimately send messages to the wireless communication devices 70, 72, 74, 76 by means of a short messaging service (SMS), or other over-the- (E. G., Cellular phones), and wirelessly receives messages from such wireless devices. It should also be noted that carrier boundaries and / or PTT operator network boundaries do not suppress or inhibit sharing of data as described herein.

무선 전화 (도 2 에서의 74) 와 같은 셀룰러 전화들 및 이동 통신 디바이스들은 증가된 컴퓨팅 기능들을 갖도록 제조되고 있고, 개인용 컴퓨터들 및 핸드-헬드 PDA 들과 동등해지고 있다. 이 "스마트" 셀룰러 전화들은 소프트웨어 개발자들이 무선 통신 디바이스의 프로세서 상에서 다운로딩가능하고 실행가능한 소프트웨어 애플리케이션들을 만들도록 한다. 셀룰러 전화 (74) 와 같은 무선 통신 디바이스는 웹 페이지 (web page) 들, 애플릿 (applet) 들, 미들렛 (MIDlet) 들, 게임들 및 데이터와 같은 많은 타입들의 애플리케이션들을 다운로딩할 수도 있다. 통신 그룹을 지정하였던 무선 통신 디바이스들에서, 무선 통신 디바이스는 세트의 다른 구성원과 직접적으로 접속할 수도 있고, 음성 및 데이터 통신에 참여할 수도 있다. 그러나, 이러한 모든 직접 통신들은 그룹 통신 서버 (32) 를 통해, 또는 그룹 통신 서버 (32) 의 제어 시에 발생할 수도 있다. 디바이스들의 모든 데이터 패킷들은 그룹 통신 서버 (32) 자체를 통해 반드시 이동해야 할 필요는 없지만, 그룹 통신 서버 (32) 는 전형적으로, 통신을 궁극적으로 제어할 수 있는데, 그것은 전형적으로 인식하고 있는 유일한 캐리어 네트워크 (54) 컴포넌트일 수도 있고, 및/또는 통신 그룹의 구성원들의 아이덴티티 (identity) 를 취출 (retrieve) 할 수도 있거나, 통신 그룹 (12) 의 구성원들의 아이덴티티를 또 다른 컴퓨터 디바이스로 보낼 수도 있기 때문이다. 서버-측 LAN (50) 상에, 또는 무선 네트워크 또는 일반적으로 인터넷에 걸쳐 상주하는 컴퓨터 컴포넌트들의 수는 제한되지 않는다는 것을 인식해야 한다.Cellular phones and mobile communication devices, such as wireless telephones (74 in FIG. 2), are being manufactured with increased computing capabilities and are becoming comparable to personal computers and hand-held PDAs. These "smart" cellular phones allow software developers to create downloadable and executable software applications on the processor of the wireless communication device. A wireless communication device, such as cellular telephone 74, may download many types of applications, such as web pages, applets, MIDlets, games, and data. In wireless communication devices that have designated a communication group, the wireless communication device may directly connect to other members of the set and may participate in voice and data communication. However, all of these direct communications may occur through the group communication server 32, or under the control of the group communication server 32. Although all data packets of the devices do not necessarily have to travel through the group communication server 32 itself, the group communication server 32 is typically able to ultimately control communication, which is typically the only carrier May be a network 54 component and / or may retrieve the identity of the members of the communication group or may send the identity of the members of the communication group 12 to another computer device . It should be appreciated that the number of computer components residing on the server-side LAN 50, or over a wireless network or generally the Internet, is not limited.

무선 통신 디바이스들 사이의 음성 통신들에 추가하여, JPEG, TIF 등으로 된 픽처 (picture) 들을 포함하기 위한 그래픽 미디어, MP3, MP4, WAV 등과 같은 오디오 파일들과 같은 다른 미디어가 전송될 수도 있다. 미디어는 또한, 멀티미디어 애플리케이션 (파워포인트 (Powerpoint), MOV 파일 등) 과 같은 스트리밍 미디어일 수도 있다. 그룹-지향된 (group-directed) 미디어는 또한, 호스팅된 게임 또는 사설 전자게시판 (private bulletin board) 과 같이, 무선 통신 네트워크 상의 또 다른 컴퓨터 디바이스 상의 스트리밍 미디어 또는 대화형 세션 (private bulletin board) 일 수도 있다. 또한, PTT 통신들에 대하여, 그룹-지향된 통신은 실질적으로 실시간, 또는 지연상태에서, 통신 그룹의 멤버들 간의 반이중 (half-duplex) 오디오 및/또는 비디오 회의일 수 있다.In addition to voice communications between wireless communication devices, other media may be transmitted, such as graphics media to include pictures of JPEG, TIF, etc., audio files such as MP3, MP4, WAV, The media may also be streaming media, such as multimedia applications (Powerpoint, MOV files, etc.). The group-directed media may also be a streaming media or private bulletin board on another computer device on the wireless communication network, such as a hosted game or a private bulletin board. have. Further, for PTT communications, the group-directed communication may be half-duplex audio and / or video conferencing between members of the communication group in substantially real-time or delayed state.

도 2 는 디바이스들, 즉, 통신 그룹의 다른 구성원들의 타겟 세트로의 직접 통신을 개방하는 푸시-투-토크 (PTT) 버튼 (78) 을 갖도록 구체화된 이동 전화인 무선 통신 디바이스 (74) 의 하나의 실시형태를 예시하는 블록도이다. 무선 통신 디바이스 (74) 는 또한, 무선 통신 디바이스 (74) 의 사용자에 대한 그래픽 디스플레이 (80) 를 가지는 것으로 도시되어 있다. 무선 통신 디바이스 (74) 는, 음성 및 데이터 패킷들을 처리할 수도 있으며, 그룹-지향된 미디어를 포함하기 위하여 무선 네트워크에 걸쳐 송신된 소프트웨어 애플리케이션들을 수신하고 실행할 수도 있는 컴퓨터 플랫폼 (82) 을 포함한다. 컴퓨터 플랫폼 (82) 은 다른 컴포넌트들 중에서, 애플리케이션-특정 집적 회로 ("application-specific integrated circuit; ASIC") (84), 또는 다른 프로세서, 마이크로프로세서, 로직 회로, 프로그래밍가능 게이트 어레이, 또는 다른 데이터 프로세싱 디바이스를 포함한다. ASIC (84) 는 무선 통신 디바이스 (74) 의 제조 시에 설치되고, 보통 업그레이딩 가능하지 않다. ASIC (84) 또는 다른 프로세서는, 상주 애플리케이션 환경을 포함하는 애플리케이션 프로그래밍 인터페이스 ("API") 계층 (86) 을 실행하고, ASIC (84) 상에 로딩된 오퍼레이팅 시스템을 포함할 수도 있다. 상주 애플리케이션 환경은 무선 통신 디바이스 (74) 의 메모리 (88) 에서 임의의 상주 프로그램들과 인터페이스한다. 상주 애플리케이션 환경의 예는 무선 통신 디바이스 플랫폼들을 위하여 QUALCOMM.RTM. 에 의해 개발된 "무선을 위한 2진 실행시간 환경 (binary runtime environment for wireless)" (BREW.RTM.) 소프트웨어이다.Figure 2 illustrates one of the wireless communication devices 74 that are mobile phones embodied with a push-to-talk (PTT) button 78 that opens devices, i. E., Direct communication to a target set of other members of the communication group. Fig. 2 is a block diagram illustrating an embodiment of the present invention. The wireless communication device 74 is also shown having a graphical display 80 for the user of the wireless communication device 74. The wireless communication device 74 includes a computer platform 82 that may process voice and data packets and may receive and execute software applications transmitted across the wireless network to include group-directed media. The computer platform 82 may include other components such as an application-specific integrated circuit (ASIC) 84 or other processor, microprocessor, logic circuit, programmable gate array, or other data processing Device. The ASIC 84 is installed at the time of manufacture of the wireless communication device 74 and is usually not up-gradeable. The ASIC 84 or other processor may execute an application programming interface ("API") layer 86 that includes a resident application environment and may include an operating system loaded on the ASIC 84. [ The resident application environment interfaces with any resident programs in the memory 88 of the wireless communication device 74. An example of a resident application environment is the QUALCOMM.RTM. &Quot; Binary Runtime Environment for Wireless "(BREW.RTM.) Software.

여기에서 도시된 바와 같이, 무선 통신 디바이스 (74) 는 그래픽 디스플레이 (80) 를 갖는 이동 전화 (74) 일 수도 있지만, 또한, 이동 디바이스 (76) 와 같이, 당해 분야에서 알려진 바와 같은 컴퓨터 플랫폼 (82), 또는 심지어 무선 통신 포털 (wireless communication portal) 을 가지는 별도의 컴퓨터 플랫폼 (82) 을 갖는 임의의 무선 통신 디바이스일 수도 있고, 이와 다르게, 네트워크 또는 인터넷으로의 유선 접속을 가질 수도 있다. 또한, 메모리 (88) 는 판독-전용 또는 랜덤-액세스 메모리 (RAM 및 ROM), EPROM, EEPROM, 플래시 카드들, 또는 컴퓨터 플랫폼들에 공통적인 임의의 메모리로 구성될 수도 있다. 컴퓨터 플랫폼 (82) 은 또한, 메모리 (88) 에서 액티비티로 이용되지 않은 소프트웨어 애플리케이션들의 저장을 위한 로컬 데이터베이스 (90) 를 포함할 수도 있다. 로컬 데이터베이스 (90) 는 전형적으로 하나 이상의 플래시 메모리 셀들로 구성되지만, 자기 매체들, EPROM, EEPROM, 광학 매체들, 테이프, 또는 소프트 또는 하드 디스크와 같이, 당해 분야에서 알려진 바와 같은 임의의 보조 또는 제 3 의 저장 디바이스일 수도 있다. 그래픽 디스플레이 (80) 는 본원에서 더욱 완전히 설명되는 바와 같이 파일 프리뷰 (file preview) 를 포함하기 위하여, 발신 그룹 호출에 대한 정보뿐만 아니라, 그룹-지향된 미디어에 대한 정보도 제시할 수도 있다.As shown herein, the wireless communication device 74 may be a mobile telephone 74 with a graphical display 80, but may also be a computer platform 82 as is known in the art, such as a mobile device 76 ), Or even a separate computer platform 82 with a wireless communication portal, or alternatively may have a wired connection to a network or the Internet. The memory 88 may also be comprised of read-only or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms. The computer platform 82 may also include a local database 90 for storage of software applications that are not used as activities in the memory 88. The local database 90 typically comprises one or more flash memory cells, but may be any auxiliary or < RTI ID = 0.0 > device, as known in the art, such as magnetic media, EPROM, EEPROM, optical media, tape, 3 < / RTI > Graphics display 80 may also present information about group-directed media as well as information about outgoing group calls to include file previews as more fully described herein.

무선 통신 디바이스 (74) 의 이 실시형태에서, 컴퓨터 플랫폼 (82) 은 또한, 무선 통신 디바이스 (74) 로부터의 직접 통신 채널을 개방할 수도 있는 직접 또는 무선 통신 인터페이스 (92) 를 포함한다. 직접 또는 무선 통신 인터페이스 (92) 는 또한, 무선 통신 디바이스 (74) 로 송신되고 무선 통신 디바이스 (74) 로부터 송신된 음성 및 데이터를 정상적으로 반송하는 무선 통신 디바이스 (74) 를 위한 표준적인 통신 인터페이스의 일부일 수도 있다. 직접 또는 무선 통신 인터페이스 (92) 는 전형적으로, 당해 분야에서 알려진 바와 같이 하드웨어로 구성된다.In this embodiment of the wireless communication device 74, the computer platform 82 also includes a direct or wireless communication interface 92 that may open a direct communication channel from the wireless communication device 74. The direct or wireless communication interface 92 is also a part of a standard communication interface for a wireless communication device 74 that transmits to the wireless communication device 74 and normally conveys the voice and data transmitted from the wireless communication device 74 It is possible. The direct or wireless communication interface 92 is typically configured with hardware as is known in the art.

개략적으로, 무선 통신 디바이스 (74) 는, 무선 통신 인터페이스 (92) 를 또한 포함하는 컴퓨터 플랫폼 (82) 상에 상주하는 하나 이상의 애플리케이션들, 디스플레이 (80), 및 사용자 인터페이스를 가지고, 이러한 사용자 인터페이스는 적어도, (도 4 에서 도시된 사용자 인터페이스 (140) 의 하나의 예와 함께) 디스플레이 (80) 상에 나타나며, 이러한 사용자 인터페이스를 통해, 무선 통신 디바이스 (74) 의 사용자는 컴퓨터 플랫폼 (82) 과 상호작용한다. 각각의 애플리케이션은 사용자 인터페이스를 가지고, 하나의 실시형태에서, 중재기 (도 3b 에서의 128) 는 컴퓨터 플랫폼 (82) 상에 상주할 수도 있고, 미리 결정된 기준들에 기초하여, 하나 이상의 UI 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하도록 구성될 수도 있다. 미리 결정된 기준들의 예들은: 우선순위 리스트; 사용자 인터페이스를 다시 제어하기 위하여, 최후 애플리케이션이 사용자 인터페이스를 제어하도록 하는 것 (가장 최근 이용된 알고리즘); 제어를 결정하는 것이 애플리케이션의 클래스 (class) 에 기초하도록, 클래스를 하나 이상의 애플리케이션들에 배정하는 것; 사용자 인터페이스에서 처리되고 있는 특정 타입의 데이터에 기초하여 사용자 인터페이스의 제어를 허용하는 것; 및 무선 통신 인터페이스 (92) 에서 수신되고 있는 타입의 데이터에 기초하여 제어를 허용하는 것이다. 다른 실시형태들에서, 상주 애플리케이션들은 자체적으로, 중재기 (128) 와 동일한 방식으로 미리 결정된 기준들을 이용하여, 단독으로 또는 중재기 (128) 와 함께 우선순위를 결정할 수도 있다.The wireless communication device 74 has one or more applications resident on a computer platform 82 that also includes a wireless communication interface 92, a display 80, and a user interface, At least, a user of the wireless communication device 74 appears on the display 80 (with one example of the user interface 140 shown in Figure 4) through which the user of the wireless communication device 74 interacts with the computer platform 82 . Each of the applications has a user interface, and in one embodiment, the arbiter (128 in FIG. 3B) may reside on the computer platform 82 and may be based on predetermined criteria, May be configured to determine which application in the display 80 controls the display 80. Examples of predetermined criteria are: a priority list; Allowing the last application to control the user interface (the most recently used algorithm) to regain control of the user interface; Assigning the class to one or more applications so that determining the control is based on the class of the application; Allowing control of the user interface based on the specific type of data being processed in the user interface; And the type of data being received at the wireless communication interface 92. [ In other embodiments, the resident applications may determine their own priority, either alone or in conjunction with arbiter 128, using predetermined criteria in the same manner as arbiter 128.

도 3a 는 이벤트 통지들을, UI 애플리케이션 B (102), UI 애플리케이션 C (104), 및 UI 애플리케이션 D (106) 로서 여기에서 도시된 복수의 다른 디바이스-상주 애플리케이션들로 전송하는 무선 통신 디바이스 상주 애플리케이션 (애플리케이션 A) (100) 의 블록도이다. 이들은 동시에 인보크되므로, UI 애플리케이션들 (102, 104, 106) 중의 임의의 것은 이들이 이벤트 통지를 언제 받는지에 따라 (도 4 에서와 같이) 디스플레이 (80) 의 포어그라운드에 도달할 수도 있고, 최악의 경우에는, 디스플레이의 제어의 중재 없이, 애플리케이션들은 서로를 기각하는 것을 계속하여, UI 스래싱을 야기시킬 수도 있다. 그러나, 일단 중재기 (128) 가 도 3b 에서 도시되는 바와 같이 존재하면, 복수의 애플리케이션으로부터의 다수의 동시에, 그리고 잠재적으로 발신 요청들에 관련된 UI 의 제어는, UI 스래싱을 적어도 줄이기 위하여, 바람직하게는 방지하기 위하여 중재기 (128) 에 의해 결정될 수도 있다.3A shows event notifications for a wireless communication device resident application (e. G., A UI application B 102), a UI application C 104, and a UI application D 106 that transmit event notifications to a plurality of other device- Application A) < / RTI > Any of the UI applications 102, 104, 106 may arrive at the foreground of the display 80 (as in FIG. 4) depending on when they receive the event notification, since they are invoked concurrently, In this case, without intervention of control of the display, applications may continue to dismiss each other, causing UI thrashing. However, once the arbiter 128 is present as shown in FIG. 3B, the control of the UI associated with a number of simultaneous and potentially originating requests from a plurality of applications is preferred, at least in order to reduce UI thrashing. May be determined by the arbitrator 128 to prevent < / RTI >

도 3b 는 도 3a 와 유사한 블록도이지만, 중재기 (128) 는 또한, UI 애플리케이션 B (122), UI 애플리케이션 C (124), 및 UI 애플리케이션 D (126) 와 함께, UI 애플리케이션 A (120) 로부터 이벤트 통지를 수신하는 것으로 구체화된다. 중재기 (128) 는 본원에서 추가로 설명되는 바와 같이 미리 결정된 기준들에 기초하여 이벤트 통지가 주어질 경우에 어느 UI 애플리케이션이 포어그라운드에 도달해야 하는지를 결정하거나, 이벤트 통지의 수신 시에 결정을 행할 수도 있다. 다음으로, 중재기 (128) 는 플래그를, 애플리케이션 C (124) 로서 여기에서 도시된, 디스플레이를 제어하기 위한 우선순위를 가지도록 결정된 UI 애플리케이션으로 전송할 수도 있고, 상주 오퍼레이팅 시스템은 중재기 플래그를 갖는 또 다른 애플리케이션이 오퍼레이팅 시스템에서 수신될 때까지, 애플리케이션 C (124) 가 디스플레이를 제어하도록 할 수도 있다. 대안적으로, 포어그라운드에 도달하는 것을 희망하는 각각의 애플리케이션은 디스플레이의 포어그라운드를 취하기 위한 허가에 대하여 중재기 (128) 에 질의할 수도 있다.3B is a block diagram similar to FIG. 3A, but the arbiter 128 also includes a UI application B 122, a UI application C 124, and a UI application D 126, It is embodied as receiving an event notification. Arbitrator 128 may determine which UI application should reach the foreground if given event notification based on predetermined criteria as further described herein or may make a decision upon receipt of an event notification have. Next, the arbiter 128 may send a flag to the UI application determined to have priority for controlling the display, shown here as application C 124, and the resident operating system may send the flag with the arbiter flag And may cause application C 124 to control the display until another application is received at the operating system. Alternatively, each application wishing to reach the foreground may query the arbiter 128 for permission to take the foreground of the display.

도 4 는 UI (또는 UI 애플리케이션) (140) 의 제어를 위하여 경쟁하는 복수의 상주 UI 애플리케이션들과, UI (또는 UI 애플리케이션) (140) 상의 주 디스플레이를 갖는 무선 통신 디바이스 (74) 의 디스플레이의 하나의 실시형태의 대표적인 예시도이다. 여기서, 주 UI (primary UI; 140) 는 "착신 그룹 통신" 인터페이스 (146) 이고, 다른 인터페이스들 (142 및 144) 은 UI 애플리케이션의 백그라운드 (background) 에 남아 있다. 여기에서 도시된 인터페이스들은 "윈도우형 (windowed)" 배열, 사용자 인터페이스들에서의 통상적인 그래픽 인터페이스로 되어 있다. 본원에서 설명된 UI 제어 방법론은 다른 UI 시스템들 및 디스플레이 방식들, 사용자가 컴퓨터 플랫폼 (82) 을 액세스하기 위한 제어 인터페이스들에 동일하게 적용가능하다.Figure 4 illustrates a plurality of resident UI applications competing for control of the UI (or UI application) 140 and one of the displays of the wireless communication device 74 having the primary display on the UI (or UI application) And Fig. Here, the primary UI 140 is the " incoming group communication "interface 146, and the other interfaces 142 and 144 remain in the background of the UI application. The interfaces shown here are in a "windowed" arrangement, a conventional graphical interface in user interfaces. The UI control methodology described herein is equally applicable to other UI systems and display schemes, and to control interfaces for a user to access the computer platform 82.

하나의 실시형태에서, 중재기 (128) 는 애플리케이션들의 프로비저닝된 (provisioned) "우선순위 리스트" 를 사용할 수도 있고, 여기서, 애플리케이션 A (120) 는 클래스 ID 들의 리스트가 아마도, 네트워크 캐리어 또는 다른 엔티티에 의해 프로비저닝되도록 하기 위하여 변경된 그 코드를 가진다. 클래스 ID 들의 이 리스트는 UI (140) 의 포어그라운드에 도달하도록 허용되어야 하는 애플리케이션들의 우선순위의 순서로 프로비저닝된다. 예를 들어, 누군가는 포어그라운드에 도달하기 위하여 애플리케이션 C (124) 가 애플리케이션들 B (122) 또는 D (126) 에 비해 더 높은 우선순위를 가져야 하는 것으로 선택할 수도 있고, 애플리케이션들의 전부에 대한 이벤트의 브로드캐스트 후에, 브로드캐스트는 또한, 이벤트 통지 페이로드에서 애플리케이션 C (124) 에 대한 선택된 클래스 ID 를 열거한다. 애플리케이션들이 이벤트 통지를 수신할 때, 이들은 전형적으로, 그 클래스 ID 가 페이로드에서 전송되는 것과 일치하는지를 검사하고, 일치할 경우, 그것은 포어그라운드에 도달해야 한다. 중재기 (128) 는 이 실시형태에서 UI 제어를 단지 검증할 수도 있고, 클래스 ID 가 각각의 애플리케이션에게 분명할 수도 있으므로, 실제적으로 제어를 승인할 필요가 없다. 그러나, 각각의 상주 애플리케이션은 클래스 ID 들을 이해하도록 구성되어야 할 수도 있으므로, 이 실시형태는 추가적인 오버헤드 (overhead) 를 요구한다.In one embodiment, arbiter 128 may use a provisioned "priority list" of applications, where application A 120 may list a list of class IDs, perhaps a network carrier or other entity Lt; RTI ID = 0.0 > and / or < / RTI > This list of class IDs is provisioned in the order of priority of applications that should be allowed to reach the foreground of the UI 140. For example, someone may choose to have application C 124 have a higher priority relative to applications B 122 or D 126 to reach the foreground, After the broadcast, the broadcast also lists the selected class ID for application C 124 in the event notification payload. When applications receive event notifications, they typically check whether the class ID matches that sent in the payload, and if they match, it should reach the foreground. The arbiter 128 may only validate the UI control in this embodiment and does not need to actually approve the control since the class ID may be obvious to each application. However, since each resident application may have to be configured to understand class IDs, this embodiment requires additional overhead.

UI (140) 의 제어를 결정하기 위한 또 다른 실시형태는, 특정 이벤트 클래스 (경고, 호출, 존재 등) 의 이벤트를 받아들이기 위하여 포어그라운드에 도달하기 위한 최후 애플리케이션이 포어그라운드에 도달하기 위한 다음 애플리케이션이 되도록 하는 것과 같은 간단한 알고리즘을 이용하는 것이다. 이러한 실시형태에서, 애플리케이션 A (120) 는 이벤트를 갖는 최후의 알려진 포어그라운드 애플리케이션 클래스 ID 를 브로드캐스팅할 수도 있고, 수신 애플리케이션은 그 자신의 클래스 ID 를 제안된 최후의 알려진 포어그라운드 애플리케이션의 클래스 ID 와 비교하고 2 개가 일치할 경우에만, UI (140) 의 포어그라운드에 도달하도록 권고받는다. 그러나, 이것은 최후의 알려진 포어그라운드 애플리케이션 (프레시 스타트-업 (fresh start-up)) 이 없었을 경우, 또는 어느 애플리케이션이 최후에 제어 중이었는지 명확하지 않아서, 디폴트 우선순위 클래스가 여전히 이용되어야 할 때의 초기 스래싱과 같은 "에지 케이스 (edge case)" 문제들을 야기시킬 수도 있다.Yet another embodiment for determining control of the UI 140 is to allow the last application to reach the foreground to accept events of a particular event class (alert, call, presence, etc.) And so on. In this embodiment, application A 120 may broadcast the last known foreground application class ID with the event, and the receiving application may associate its class ID with the class ID of the proposed last known foreground application It is recommended to reach the foreground of the UI 140 only if they compare and match two. However, this is not the case when there was no last known foreground application (fresh start-up), or because it was unclear which application was last under control, so that the initial Edge case "problems such as thrashing.

또 다른 실시형태에서, 애플리케이션들의 바람직한 제어는 자동으로 설정된다. 애플리케이션 자체는 특정 이벤트 클래스 (경고, 호출, 존재 등) 의 이벤트를 프로세싱하기 위하여, 자신을 포어그라운드에 도달하기 위한 주 애플리케이션 (primary application) 으로서 등록할 수도 있다. 이러한 실시형태에서, 애플리케이션은 특정 이벤트 클래스에 대한 현재-등록된 애플리케이션을 위한 클래스 ID 를 취출할 수도 있고, 저장된 클래스 ID 를 그 자신의 것으로 겹쳐쓰기할 것인지 여부에 대한 판단을 행할 수도 있다. 어느 것도 저장되지 않을 경우, 애플리케이션은 그 자신의 클래스 ID 를 특정 이벤트 클래스에 대한 주 포어그라운드 애플리케이션 (primary foreground application) 으로서 설정할 수도 있다. 추가의 실시형태에서는, 애플리케이션 A (120) 에서의 MIME-타입들의 리스트의 프로비전 (provision) 과 같이, 인보크되고 있는 이벤트 및 액티비티의 타입에 기초한 프로비저닝된 리스트가 있을 수도 있다. MIME-타입들의 이 세트는 순서대로 프로비저닝될 수도 있고, 애플리케이션 A (120) 는 이벤트들을, 이벤트 통지의 페이로드 내에 포함된 최고 우선순위의 MIME-타입을 갖는 모든 애플리케이션들에 브로드캐스팅할 수도 있다. 애플리케이션들이 이 이벤트를 수신할 때, 이들은 전형적으로, 포함된 MIME-타입이 이들에게 프로비저닝되었던 것과 일치하는지를 확인하고, 이들이 일치할 경우에만 포어그라운드에 도달할 수도 있다. 본질적으로, 이 실시형태는 클래스 ID 들 대신에 MIME-타입들을 이용한다. 그러나, 이 실시형태를 구현하기 위하여, 애플리케이션들은 전형적으로 협력하고, 그 클래스 ID 가 이벤트에서 전송되는 것과 일치하지 않을 경우에 포어그라운드에 전형적으로 도달하지 않으며, 이것은 각각의 모듈에서 추가적인 프로그래밍을 요구한다.In another embodiment, the preferred control of the applications is set automatically. The application itself may register itself as a primary application to reach the foreground in order to process events of a particular event class (alert, call, presence, etc.). In this embodiment, the application may retrieve the class ID for the currently-registered application for a particular event class, and may make a determination as to whether to overwrite the stored class ID with its own. If none is stored, an application may set its own class ID as the primary foreground application for a particular event class. In a further embodiment, there may be a provisioned list based on the type of event and activity being invoked, such as the provision of a list of MIME-types in application A 120. This set of MIME-types may be provisioned in order, and application A 120 may broadcast events to all applications having the highest priority MIME-type included in the payload of the event notification. When applications receive this event, they typically check that the included MIME-type matches what was provisioned to them, and may only reach the foreground if they match. In essence, this embodiment uses MIME-types instead of class IDs. However, to implement this embodiment, applications typically cooperate and typically do not reach the foreground if their class IDs do not match what is sent in the event, which requires additional programming in each module .

도 5 는 복수의 인보크된 무선 통신 디바이스-상주 애플리케이션들 사이의 디스플레이 (80) 제어를 위한 우선순위를 결정하는 중재기 (128) 를 위한 방법의 하나의 실시형태의 플로우차트이다. 중재기 (128) 는 블록 (150) (또는 단계 (150)) 에 의해 도시된 이벤트의 통지를 수신하고, 그 다음으로, 판단 블록 (152) 에서 도시된 바와 같이, 하나를 초과하는 애플리케이션이 인보크되는지 여부에 대한 결정이 행해진다. 하나를 초과하는 애플리케이션이 판단 블록 (152) 에서 인보크되지 않을 경우, 종결 블록 (154) 에서 도시된 바와 같이, 중재 프로세스는 종결된다. 이와 다르게, 하나를 초과하는 애플리케이션이 판단 블록 (152) 에서 인보크될 경우, 다음으로, 판단 블록 (156) 에서 도시된 바와 같이, 애플리케이션에 대한 미리 결정된 우선순위가 있는지 여부에 대한 판단이 행해지고, 미리 결정된 우선순위가 있을 경우에는, 종결 블록 (162) 에서 도시된 바와 같이, 중재가 종결된다.5 is a flow chart of one embodiment of a method for an arbiter 128 for determining a priority for controlling display 80 between a plurality of invoked wireless communication device-resident applications. The arbiter 128 receives the notification of the event shown by the block 150 (or step 150) and then, as shown in the decision block 152, A determination is made as to whether or not it is large. If more than one application is not invoked at decision block 152, the arbitration process is terminated, as shown at termination block 154. [ Alternatively, if more than one application is invoked at decision block 152, then a determination is made as to whether there is a predetermined priority for the application, as shown at decision block 156, If there is a predetermined priority, the arbitration is terminated, as shown at the end block 162.

이와 다르게, 판단 블록 (156) 에서 미리 결정된 우선순위 기준들이 없을 경우, 블록 (158) (또는 단계 (158)) 에서 도시된 바와 같이, 디스플레이 (80) 를 가지기 위한 애플리케이션의 우선순위가 결정되고, 그 다음으로, 블록 (160) (또는 단계 (160)) 에서 도시된 바와 같이, 플래그가 디스플레이 (80) 를 제어하기 위한 우선순위 애플리케이션으로 전송되고, 중재는 종결 블록 (162) 에서 도시된 바와 같이 다시 종결된다. 우선순위는 위에서 기술된 바와 같은 방법론, 또는 상기 방법론들 중의 임의의 것의 조합으로 블록 (158) (또는 단계 (158)) 에서 결정될 수도 있다.Alternatively, if there are no predetermined priority criteria at decision block 156, the priority of the application to have display 80 is determined, as shown at block 158 (or step 158) The flag is then sent to the priority application for controlling the display 80, as shown in block 160 (or step 160), and the intervention is initiated as shown in the end block 162 And is terminated again. The priorities may be determined at block 158 (or at step 158) with a methodology as described above, or a combination of any of the above methodologies.

도 6 은 디스플레이 (80) 의 제어를 추구하는 애플리케이션들에서 상주하는 우선순위 데이터에 기초하여 복수의 인보크된 무선 통신 디바이스-상주 애플리케이션들 사이의 디스플레이 제어를 위한 우선순위를 결정하기 위한 방법의 하나의 실시형태의 플로우차트이다. 통지 이벤트는 미리 정의된 프로세스 블록 (170) 에 의해 도시된 바와 같이 발생하고, 그 다음으로, 판단 블록 (172) 에서 도시된 바와 같이, 하나를 초과하는 애플리케이션이 인보크되는지 여부에 대한 결정이 행해진다. 하나를 초과하는 애플리케이션이 판단 블록 (172) 에서 인보크되지 않을 경우, 중재 프로세스가 요구되지 않고, 종결 블록 (174) 에서 도시된 바와 같이, 프로세스는 종결된다. 이와 다르게, 하나를 초과하는 애플리케이션이 판단 블록 (172) 에서 인보크될 경우, 그 다음으로, 판단 블록 (176) 에서 도시된 바와 같이, 디스플레이 (80) 를 제어하는 것을 시도하는 애플리케이션들에서 존재하는 미리 결정된 우선순위 데이터가 있는지 여부에 대한 판단이 행해지고, 미리 결정된 우선순위 데이터가 존재하지 않을 경우, 종결 블록 (182) 에서 도시된 바와 같이, 중재가 종결된다. 이와 다르게, 판단 블록 (176) 에서 존재하는 미리 결정된 우선순위 기준들이 있을 경우, 블록 (178) (또는 단계 (178)) 에서 도시된 바와 같이, 디스플레이 (80) 를 가지기 위한 최고 우선순위 애플리케이션이 결정되고, 그 다음으로, 블록 (180) (또는 단계 (180)) 에서 도시된 바와 같이, 플래그가 디스플레이 (80) 를 제어하기 위한 최고 우선순위 애플리케이션으로 전송되고, 종결 블록 (182) 에서 도시된 바와 같이, 프로세스가 다시 종결된다. 대안적으로, 우선순위는 위에서 기술된 바와 같은 방법론, 또는 상기 방법론들 중의 임의의 것의 조합으로 블록 (178) (또는 단계 (178)) 에서 결정될 수도 있다.6 illustrates one method for determining a priority for display control among a plurality of invoked wireless communication device-resident applications based on priority data resident in applications seeking control of display 80 Fig. The notification event occurs as shown by the predefined process block 170 and then a determination is made as to whether more than one application is invoked, as shown in decision block 172 All. If more than one application is not invoked at decision block 172, no arbitration process is required and the process is terminated, as shown at the end block 174. Alternatively, if more than one application is invoked in the decision block 172, then, as shown in decision block 176, the application that attempts to control the display 80 A determination is made as to whether there is a predetermined priority data, and if there is no predetermined priority data, the arbitration is terminated, as shown in the termination block 182. [ Alternatively, if there are predetermined priority criteria present at decision block 176, the highest priority application for having display 80, as shown at block 178 (or step 178) And then a flag is sent to the highest priority application for controlling the display 80, as shown in block 180 (or step 180), and as shown in the end block 182 Similarly, the process is terminated again. Alternatively, priorities may be determined at block 178 (or step 178) with a methodology as described above, or a combination of any of the above methodologies.

그러므로, 무선 통신 디바이스 (74) 는 무선 통신 디바이스 (74) 의 컴퓨터 플랫폼 (82) 상의 어느 상주 애플리케이션이 그 디스플레이 (80) 를 제어하는지를 결정하는 발명의 방법을 제공하고, 사용자 인터페이스 (140) 는 적어도, 무선 통신 디바이스 (74) 의 디스플레이 (80) 상에 나타나며, 사용자 인터페이스 (140) 를 통해, 무선 통신 디바이스 (74) 의 사용자는 컴퓨터 플랫폼 (82) 과 상호작용하고, 상기 발명의 방법은 무선 통신 디바이스 (74) 의 디스플레이 (80) 상에 사용자 인터페이스 (140) 를 디스플레이하는 단계를 포함하고, 사용자 인터페이스 (140) 는 컴퓨터 플랫폼 (82) 상에 상주하는 하나 이상의 애플리케이션들에 의해 선택적으로 제어되도록 구성된다. 하나의 실시형태에서, 방법은 컴퓨터 플랫폼 (82) 상에 상주하는 중재기 (128) 에서, 디스플레이 (80) 를 제어하기 위한 상주 애플리케이션들 중의 하나 이상으로부터 요청을 수신하는 단계와, 그 다음으로, 중재기 (128) 에서, 미리 결정된 기준들에 기초하여, 하나 이상의 상주 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하는 단계를 포함한다.The wireless communication device 74 therefore provides a method of the invention for determining which resident application on the computer platform 82 of the wireless communication device 74 controls its display 80 and the user interface 140 A user of the wireless communication device 74 interacts with the computer platform 82 and the method of the invention is shown on the display 80 of the wireless communication device 74 via the user interface 140, And displaying the user interface 140 on the display 80 of the device 74 such that the user interface 140 is configured to be selectively controlled by one or more applications residing on the computer platform 82. [ do. In one embodiment, the method includes receiving at a mediator 128 residing on a computer platform 82 a request from one or more of the resident applications for controlling the display 80, In the arbiter 128, determining which of the one or more resident applications controls the display 80 based on predetermined criteria.

하나의 실시형태에서, 하나 이상의 상주 애플리케이션들의 각각이 디스플레이 (80) 를 제어하기 위한 애플리케이션에 대한 우선순위를 결정하는 우선순위 데이터를 포함할 경우, 방법은, 사용자 인터페이스 (140) 의 디스플레이 후에, 도 3a 에서 도시된 바와 같이, 복수의 하나 이상의 상주 애플리케이션들을 인보크하는 단계와, 각각의 인보크된 애플리케이션 내의 우선순위 데이터에 기초하여, 하나 이상의 상주 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하는 단계를 포함한다. 이러한 결정은 디스플레이 (80) 를 제어하기 위한 애플리케이션에 대한 우선순위를 결정하는 클래스 식별정보 (class identification) 의 이용에 기초할 수도 있거나, 또는 대안적으로, 복수의 인보크된 애플리케이션들 중의 하나가 우선순위 데이터에 기초하여 디스플레이 (80) 의 제어를 장악하는 것에 기초할 수도 있다. 이 실시형태에서, 우선순위 데이터 랭킹 (priority data ranking) 은 바람직하게는, 스래싱을 줄이기 위하여, 또는 바람직하게는 스래싱을 방지하기 위하여, 최고 우선순위 애플리케이션에 대한 디스플레이 제어를 유지할 수도 있다.In one embodiment, if each of the one or more resident applications includes priority data that determines a priority for an application for controlling the display 80, the method further comprises, after display of the user interface 140, As shown at 3a, invoking a plurality of one or more resident applications and, based on the priority data in each invoked application, determining which application (s) of one or more resident applications control the display 80 . This determination may be based on the use of class identification to determine the priority for the application to control the display 80, or alternatively, one of the plurality of invoked applications may be prioritized And may be based on grasping the control of the display 80 based on the ranking data. In this embodiment, priority data ranking may preferably maintain display control for the highest priority application to reduce thrashing, or preferably to prevent thrashing.

중재기 (128) 를 갖도록 구체화될 때, 미리 결정된 기준들에 기초하여, 하나 이상의 상주 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하는 단계는, 디스플레이 (80) 를 제어하는 것을 시도하는 애플리케이션들에 대한 우선순위 리스트를 사용하고 있다. 대안적으로, 중재기 (128) 에서, 미리 결정된 기준들에 기초하여, 하나 이상의 상주 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하는 것은 디스플레이 (80) 를 다시 제어하기 위하여, 최후 애플리케이션이 디스플레이 (80) 를 제어하도록 하고 있을 수도 있다. 또한, 중재기 (120) 에서, 미리 결정된 기준들에 기초하여, 하나 이상의 상주 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하는 것은 클래스를 하나 이상의 애플리케이션들에 배정하고 있을 수도 있고, 제어를 결정하는 것은 애플리케이션의 클래스에 기초한다. 또한, 중재기 (128) 에서, 하나 이상의 상주 애플리케이션들 중의 어느 애플리케이션이 디스플레이 (80) 를 제어하는지를 결정하는 것은, 사용자 인터페이스 (140) 에서 처리되고 있는 데이터의 타입에 기초하여 디스플레이 (80) 의 제어를 허용하고 있을 수도 있거나, 무선 통신 인터페이스 (92) 에서 수신되고 있는 데이터의 타입에 기초할 수도 있다.Determining which application (s) of the one or more resident applications to control the display (80) based on predetermined criteria, when embodied to have the arbiter (128), attempt to control the display (80) It uses a priority list for applications. Alternatively, at the arbitrator 128, determining which application (s) of the one or more resident applications to control the display 80 based on predetermined criteria may be used to control the display 80 again, The display 80 may be controlled. Also, at the arbitrator 120, determining which application (s) of the one or more resident applications to control the display 80 based on predetermined criteria may be assigning the class to one or more applications, Is based on the class of the application. In addition, at the arbitrator 128, determining which application (s) of the one or more resident applications to control the display 80 is based on the control of the display 80 based on the type of data being processed in the user interface 140 , Or may be based on the type of data being received at the wireless communication interface 92. [

방법은 사용자 인터페이스 (140) 에서, 데이터를 무선 통신 디바이스 (74) 의 사용자에게 디스플레이하는 단계를 더 포함할 수도 있고, 사용자 인터페이스 (140) 가 디스플레이 (80) 상의 인터페이스 (140) 와 같은 디스플레이 스크린일 경우, 방법은 API 들 (142, 144, 146) 과 같은 디스플레이 (80) 에서, 그래픽 정보를 무선 통신 디바이스 (74) 의 사용자에게 디스플레이하는 단계를 포함할 수도 있다. 대안적으로, 사용자 인터페이스가 사용자가 컴퓨터 플랫폼 (82) 을 액세스하기 위한 제어 인터페이스일 경우, 방법은 디바이스 기능을 제어하기 위한 디스플레이 스크린 (80) 에서 그래픽 정보를 무선 통신 디바이스 (74) 의 사용자에게 디스플레이하는 단계를 더 포함할 수도 있다. 사용자 인터페이스 (140) 가 사용자 인터페이스 (140) 를 선택적으로 제어하도록 구성된 하나 이상의 사용자 인터페이스 애플리케이션들을 포함할 경우, 중재기 (120) 는 윈도우형 API 들 (142, 144, 146) 과 같은 하나 이상의 사용자 인터페이스 애플리케이션들에 대한 디스플레이 (80) 의 제어를 선택적으로 허용하도록 추가로 구성될 수도 있다.The method may further comprise displaying the data at a user interface 140 to a user of the wireless communication device 74 and the user interface 140 may display a display screen such as the interface 140 on the display 80 The method may include displaying graphical information to a user of the wireless communication device 74 at a display 80 such as APIs 142, 144, Alternatively, if the user interface is a control interface for accessing the computer platform 82, the method may display graphical information on the display screen 80 for controlling device functionality to the user of the wireless communication device 74 The method further comprising the steps of: Arbitrator 120 may include one or more user interfaces such as windowed APIs 142, 144, and 146 if user interface 140 includes one or more user interface applications configured to selectively control user interface 140. [ May be further configured to selectively allow control of the display 80 for applications.

위에서 설명된 도 5 의 블록 (160) 및 도 6 의 블록 (180) 을 참조하여 위에서 설명된 바와 같이, 무선 통신 디바이스는 플래그들 (또는 다른 메시지들) 을 우선순위 애플리케이션들로 전송하도록 구성될 수도 있다. 다양한 실시형태들에서, 무선 통신 디바이스는 그 애플리케이션들이 디스플레이를 제어하지 않을 수도 있음 (또는 포어그라운드에 도달하지 않을 수도 있음) 을 표시하는 메시지들, 플래그들, 또는 다른 신호들을 컴퓨터 플랫폼 상에 상주하는 애플리케이션들로 송신하도록 구성될 수도 있다. 특히, 무선 통신 디바이스는 예컨대, 중재기를 통해, 애플리케이션이 무선 통신 디바이스의 백그라운드에서 비액티비티 또는 중단된 애플리케이션으로서 동작해야 함을 표시하는 중단 메시지 (suspend message) 들을 송신할 수도 있다. 예를 들어, 도 5 의 블록 (158) 또는 도 6 의 블록 (178) 에서의 동작들을 이용하여 우선순위 애플리케이션을 결정한 후, 무선 통신 디바이스는 플래그를 우선순위 애플리케이션으로, 그리고 중단 메시지를 무선 통신 디바이스의 프로세서 상에서 실행되는 하나 걸러마다의 애플리케이션으로 송신할 수도 있다. 이러한 방법으로, 애플리케이션들은 이들이 디스플레이를 제어 (또는 포어그라운드에 도달함) 할 수도 있는 우선순위 애플리케이션인지 여부에 관계 없이, 이러한 메시지들 또는 신호들을 통해 무선 통신 디바이스에 의한 중재 동작들의 결과들을 수신할 수도 있다.As described above with reference to block 160 of FIG. 5 and block 180 of FIG. 6 described above, the wireless communication device may also be configured to send flags (or other messages) to priority applications have. In various embodiments, the wireless communication device may include messages, flags, or other signals that indicate that the applications may not control (or may not reach the foreground) Lt; RTI ID = 0.0 > applications. ≪ / RTI > In particular, the wireless communication device may send suspend messages, e.g., via an arbiter, indicating that the application should act as a non-activity or suspended application in the background of the wireless communication device. For example, after determining the priority application using operations in block 158 of FIG. 5 or block 178 of FIG. 6, the wireless communication device may send a flag to the priority application, Lt; RTI ID = 0.0 > applications running on a processor of the < / RTI > In this way, applications may receive the results of arbitration operations by the wireless communication device over these messages or signals, whether or not they are priority applications that may control (or arrive at foreground) the display have.

다양한 실시형태들에서, 무선 통신 디바이스는 위에서 설명된 중재 동작들을 수정하고 및/또는 지원하기 위한 동작들을 수행할 수도 있다. 특히, 무선 통신 디바이스는 이하에서 설명된 바와 같은 방법들 (700, 750, 800, 950, 1050, 1150, 1200, 및 1300) 을 수행할 수도 있다. 다양한 실시형태들에서, 이하에서 설명된 방법들의 동작들은 위에서 설명된 중재 동작들과 조합하여, 또는 그 일부로서 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 예컨대, 중재기를 통해, 도 5 의 블록들 (150 내지 160) 또는 도 6 의 블록들 (170 내지 180) 에서의 동작들을 수행한 후에, 이하에서 설명된 바와 같은 방법들 (950, 1050, 1150, 1200, 또는 1300) 의 동작들 중의 임의의 것 또는 전부를 수행할 수도 있다.In various embodiments, the wireless communication device may perform operations to modify and / or support the arbitration operations described above. In particular, the wireless communication device may perform the methods 700, 750, 800, 950, 1050, 1150, 1200, and 1300 as described below. In various embodiments, the operations of the methods described below may be performed in combination with, or as part of, the arbitration operations described above. For example, the wireless communication device may perform operations in blocks 150 through 160 of FIG. 5 or blocks 170 through 180 of FIG. 6, for example, via an arbiter, May perform any or all of the operations of subsystems 950, 1050, 1150, 1200, or 1300.

또한, 다양한 실시형태들에서, 무선 통신 디바이스는 위에서 설명된 바와 같은 중재기를 통해, 이하에서 설명된 다양한 방법들의 동작들을 수행하도록 구성될 수도 있다. 예를 들어, 무선 통신 디바이스는 무선 통신 디바이스의 프로세서 상에서 실행되는 중재기 애플리케이션 (또는 앱 (app)) 을 통해, 또는 대안적으로, 무선 통신 디바이스의 오퍼레이팅 시스템의 일부인 중재기 프로세스들, 루틴 (routine) 들, 스레드 (thread) 들, 소프트웨어, 또는 다른 명령들을 통해, 방법들 (700, 750, 800, 950, 1050, 1150, 1200, 또는 1300) 중의 임의의 것에서의 동작들의 임의의 조합을 수행할 수도 있다. 따라서, 이하에서 설명된 무선 통신 디바이스의 임의의 동작들은 이러한 중재기를 통해 실행되는 것으로 고려될 수도 있다.Further, in various embodiments, the wireless communication device may be configured to perform the operations of the various methods described below, via an arbiter as described above. For example, the wireless communication device may communicate with the wireless communication device via an arbiter application (or an app) running on the processor of the wireless communication device, or alternatively, with arbiter processes, routines Perform any combination of the operations at any of the methods 700, 750, 800, 950, 1050, 1150, 1200, or 1300, It is possible. Thus, any of the operations of the wireless communication device described below may be considered to be performed via such an arbiter.

도 7a 내지 도 8 은 무선 통신 디바이스가 무선 통신 디바이스의 프로세서 상에서 실행되는 애플리케이션들에 의해 제어될 수도 있는 복수의 디스플레이들을 관리하기 위한 실시형태의 방법들 (700, 750, 및 800) 을 예시한다. 다양한 실시형태들에서, 무선 통신 디바이스는 무선 통신 디바이스의 프로세서 상에서 실행되는 애플리케이션들에 대응하는 정보 (예컨대, 이미지들, 픽처들, 및 사용자 인터페이스 엘리먼트들) 를 렌더링하기 위한 복수의 디스플레이들을 포함할 수도 있거나, 이러한 복수의 디스플레이들에 결합될 수도 있거나, 또는 이와 다르게, 이러한 복수의 디스플레이들을 사용하도록 구성될 수도 있다. 예를 들어, 무선 통신 디바이스는, 클램 쉘-스타일 (clam shell-style) 이동 디바이스의 엘리먼트들 (예컨대, 하우징 플랩들, 측부들, 절반부들 등) 이 폐쇄될 때에 애플리케이션 정보를 렌더링하기 위한 소형 디스플레이와, 클램 쉘-스타일 이동 디바이스가 개방될 때의 더욱 대형의 디스플레이와 같은 복수의 스크린들을 포함하는 클램 쉘-스타일 이동 디바이스 (예컨대, 셀 전화) 일 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 그 하우징의 전면 상의 제 1 터치스크린 디스플레이와, 하우징의 후면 내에 내장된 제 2 터치스크린 디스플레이를 포함할 수도 있다. 이하에서 더욱 상세하게 논의된 도 14 는 복수의 디스플레이들을 포함하는 무선 통신 디바이스의 예를 예시한다.Figures 7A-8 illustrate embodiments of methods 700,750, and 800 for managing a plurality of displays in which a wireless communication device may be controlled by applications running on the processor of the wireless communication device. In various embodiments, a wireless communication device may include a plurality of displays for rendering information (e.g., images, pictures, and user interface elements) corresponding to applications running on the processor of the wireless communication device Or may be coupled to such a plurality of displays, or alternatively may be configured to use such a plurality of displays. For example, a wireless communication device may include a small display for rendering application information when elements of a clam shell-style mobile device (e.g., housing flaps, sides, halves, etc.) And a clamshell-style mobile device (e.g., a cell phone) that includes a plurality of screens, such as a larger display when the clamshell-style mobile device is opened. As another example, the wireless communication device may include a first touch screen display on the front side of the housing and a second touch screen display built into the back side of the housing. Figure 14, discussed in more detail below, illustrates an example of a wireless communication device that includes a plurality of displays.

실시형태에서, 무선 또는 유선 접속들을 통해, 무선 통신 디바이스는 또한, 다른 디스플레이들 (예컨대, 휴대용 랩톱 컴퓨터, 데스크톱 컴퓨터, 더욱 대형의 전체 이미지를 렌더링하기 위하여 조합하여 이용된 복수의 LCD 모니터들 등), 또는 디스플레이들을 가지는 다른 무선 통신 디바이스들 (예컨대, 무선 통신 디바이스에 링크된 또 다른 스마트폰) 에 접속되거나 테더링 (tethering) 될 수도 있다. 다양한 실시형태들에서, 복수의 디스플레이들은 단일 디스플레이 (예컨대, 광고판 (billboard) 과 같은 더욱 대형의 전체 이미지를 디스플레이하기 위하여 조합하여 이용된 복수의 모니터들) 내의 상이한 섹션 (section) 들, 사분면 (quadrant) 들, 또는 픽셀 범위들을 지칭할 수도 있다. 예를 들어, 무선 통신 디바이스는 복수의 데스크톱들, 환경들, 또는 포어그라운드 애플리케이션들을 렌더링하기 위한 단일 터치스크린 디스플레이의 부지 (real-estate) 를 분할할 수도 있다.In embodiments, wireless or wired connections also allow the wireless communication device to communicate with other displays (e.g., a portable laptop computer, a desktop computer, a plurality of LCD monitors used in combination to render a larger full image, etc.) , Or tethered to other wireless communication devices (e.g., another smartphone linked to a wireless communication device) having displays. In various embodiments, the plurality of displays may include different sections within a single display (e.g., a plurality of monitors used in combination to display a larger overall image such as a billboard), quadrants ), Or pixel ranges. For example, a wireless communication device may partition the real-estate of a single touch screen display to render a plurality of desktops, environments, or foreground applications.

도 7a 내지 도 8 을 참조하여 이하에서 설명된 실시형태의 방법들 (700, 750, 및 800) 은, 무선 통신 디바이스의 컴퓨팅 플랫폼 상에 상주하는 애플리케이션들이 어떻게 우선순위 정보에 기초하여 복수의 디스플레이들 중의 하나를 제어하도록 허용될 수도 있는지를 관리하기 위하여, 예컨대, 중재기를 통해, 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 미리 결정된 기준들에 기초하여, 무선 통신 디바이스 상에서 실행되는 어느 다른 애플리케이션들이 디스플레이의 포어그라운드에 도달할 수도 있는지를 관리하기 위한 프로세서 상에서 실행되는 중재기 애플리케이션 (또는 앱) 을 통해 방법들 (700, 750) 을 수행할 수도 있다.The methods 700, 750, and 800 of the embodiments described below with reference to FIGS. 7A-8 are based on how applications resident on a computing platform of a wireless communication device can communicate with a plurality of displays For example, via an intermediary device, to manage whether or not it is allowed to control one of the wireless communication devices. For example, the wireless communication device may be configured to receive an arbiter application (or app) running on the processor to manage which other applications running on the wireless communication device may arrive at the foreground of the display, based on predetermined criteria, Lt; RTI ID = 0.0 > 700, < / RTI >

도 7a 는 무선 통신 디바이스가 복수의 디스플레이들의 포어그라운드의 제어를 배정 (또는 중재) 하기 위한 실시형태의 방법 (700) 을 예시한다. 다시 말해서, 무선 통신은 디바이스에 등록된 애플리케이션들의 우선순위들을 비교함으로써 어느 애플리케이션이 복수의 디스플레이들의 각각에 대한 포어그라운드에 도달할 수도 있는지를 결정할 수도 있다. 실시형태에서, 무선 통신 디바이스 상에서 동작하는 각각의 애플리케이션의 우선순위는 디바이스의 오퍼레이팅 시스템 또는 중재기에 등록될 수도 있다. 예를 들어, 더 높은 우선순위의 애플리케이션이 주 디스플레이의 포어그라운드의 제어를 가질 때, 무선 통신 디바이스는 더 낮은 우선순위의 애플리케이션을 보조 디바이스의 제어에 배정할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 주 디스플레이를 제어하기 위해 충분히 중요하지 않은 중간-우선순위 (medium-priority) 의 애플리케이션을 위하여 보조 디스플레이를 제어하는 낮은-우선순위 (low-priority) 의 애플리케이션을 선취 (preempt) 할 수도 있다.FIG. 7A illustrates an embodiment of a method 700 for a wireless communication device to assign (or intervene) control of the foreground of a plurality of displays. In other words, the wireless communication may determine which applications may reach the foreground for each of the plurality of displays by comparing the priorities of the applications registered with the device. In an embodiment, the priority of each application running on the wireless communication device may be registered in the device's operating system or arbiter. For example, when a higher priority application has control of the foreground of the primary display, the wireless communication device may assign a lower priority application to control the auxiliary device. As another example, a wireless communication device may pre-empt a low-priority application that controls a secondary display for medium-priority applications that are not important enough to control the primary display. (preempt).

블록 (701) 에서, 무선 통신 디바이스는 예컨대, 무선 통신 디바이스 상에서 실행되는 애플리케이션들의 설명 정보 (descriptive information) 를 포함하는 등록 정보를 저장함으로써 애플리케이션들을 등록할 수도 있다. 등록된 애플리케이션들은 무선 통신 디바이스의 컴퓨터 플랫폼 상에 상주하는 것으로서 고려될 수도 있다. 무선 통신 디바이스는 무선 통신 디바이스의 부트-업 (boot-up) 시에, 애플리케이션들로부터 등록 요청들을 수신하는 것에 응답하여, 또는 애플리케이션들이 설치되거나, 착수되거나, 또는 이와 다르게 활성화될 때에 (예컨대, 실행 시간에 또는 애플리케이션 활성화 시에) 동적으로, 애플리케이션들을 등록할 수도 있다. 실시형태에서, 애플리케이션들은 이벤트 통지들을 수신하는 것에 응답하여 중재기를 통해 무선 통신 디바이스에 의해 등록될 수도 있다.At block 701, the wireless communication device may register applications, for example, by storing registration information that includes descriptive information of applications running on the wireless communication device. The registered applications may be considered as resident on the computer platform of the wireless communication device. The wireless communication device may be operable at the boot-up time of the wireless communication device in response to receiving registration requests from applications, or when applications are installed, launched, or otherwise activated (e.g., Time, or at application activation). In an embodiment, applications may be registered by a wireless communication device via an intermediary in response to receiving event notifications.

무선 통신 디바이스의 컴퓨터 플랫폼 상에 상주하는 애플리케이션의 등록 시에, 다양한 등록 정보는 애플리케이션에 관련하여, 예컨대, 무선 통신 디바이스 상에서 실행되는 중재기 애플리케이션 (또는 OS 프로세스) 에 의해 액세스가능한 데이터 테이블 또는 데이터베이스에서 저장될 수도 있다. 특히, 각각의 등록된 애플리케이션은 식별정보 (예컨대, 애플리케이션 ID), 디폴트 우선순위 (예컨대, 높음 (high), 낮음 (low), 임계 (critical) 등), 애플리케이션의 네트워크 요건들 (예컨대, 인터넷 액세스, 어떤 요구된 서비스 품질 (quality of service; QoS), 필요한 브로드캐스트 또는 멀티캐스트, 필요한 글로벌 위치확인 시스템 (global positioning system; GPS) 등), 애플리케이션이 도 7b 를 참조하여 이하에서 논의된 바와 같이 동적으로 재우선순위화 (reprioritize) 될 수도 있는지 (예컨대, 중재기가 동작 조건들 등에 기초하여 높음으로부터 낮음으로 우선순위를 동적으로 변경할 수도 있음) 여부의 표시, 및 애플리케이션이 부 디스플레이 (예컨대, 보충적인 터치스크린 등) 상에서 이용될 수 있는지 여부의 표시와 연관될 수도 있다.Upon registration of an application resident on the computer platform of the wireless communication device, the various registration information may be associated with the application, e.g., in a data table or database accessible by an arbiter application (or OS process) May be stored. In particular, each registered application may be configured to provide identification information (e.g., application ID), default priorities (e.g., high, low, critical, etc.), network requirements of the application , Any required quality of service (QoS), required broadcast or multicast, required global positioning system (GPS), etc.) (E.g., the arbiter may dynamically change its priority from high to low based on operating conditions, etc.), and whether the application is to be reprioritized to a secondary display (e.g., a supplemental touch screen ≪ / RTI > or the like).

추가적으로, 각각의 등록된 애플리케이션은 등록된 애플리케이션이 무선 통신 디바이스의 백그라운드에서 실행될 수 있는지 여부의 표시 (즉, "백그라운드-인에이블형 (background-enabled)" 또는 "백그라운드-디스에이블형 (background-disabled)") 와 연관될 수도 있다. 비디오 호출 애플리케이션 (예컨대, QCHAT®) 이 "백그라운드-인에이블형" 인 것으로 무선 통신 디바이스 (및 중재기) 에 등록하고, 카메라 애플리케이션이 디스플레이에 대한 포어그라운드를 제어 (또는 포어그라운드에서 실행됨) 하고 있는 동안에 비디오 호출이 추후에 수신될 때, 무선 통신 디바이스는 중재기를 통해, 비디오 호출 애플리케이션이 백그라운드에서 실행하는 것을 계속하는 동안에, 카메라 애플리케이션이 포어그라운드를 제어하는 것을 계속하는 것을 허용할 수도 있다. 또 다른 예로서, 비디오 호출 애플리케이션이 백그라운드-인에이블형 표시 없이 등록될 때 (즉, "백그라운드-디스에이블형" 표시자가 등록됨), 무선 통신 디바이스는 카메라 애플리케이션을 일시정지시킬 수도 있고, 비디오 호출 애플리케이션이 카메라 애플리케이션보다 더 높은 우선순위 레벨로 등록될 때에, 비디오 호출 애플리케이션이 디스플레이의 포어그라운드의 제어를 취하는 것을 허가할 수도 있다. 실시형태에서, 무선 통신 디바이스는, 비디오 호출 애플리케이션이 백그라운드에서 실행되는 프로세스로서 호출을 행하고 있음을 표시하는 톤들과 같이, 비디오 호출 스테이터스 및/또는 플로어 제어 (floor control) 를 표시할 수도 있는 톤들, 음악, 또는 다른 사운드들을 방출하거나 렌더링하도록 구성될 수도 있다.Additionally, each registered application may indicate whether the registered application is capable of running in the background of the wireless communication device (i.e., "background-enabled" or "background- ) "). ≪ / RTI > (And arbiter) that the video calling application (e.g., QCHAT®) is "background-enabled", and the camera application controls (or runs in the foreground) the foreground for the display When a video call is received later, the wireless communication device may allow the camera application to continue to control the foreground via the arbiter while the video calling application continues to execute in the background. As another example, when the video calling application is registered without a background-enabled indication (i.e., the "background-disable" indicator is registered), the wireless communication device may pause the camera application, May allow the video calling application to take control of the foreground of the display when it is registered with a higher priority level than the camera application. In an embodiment, the wireless communication device may include tones that may display video call status and / or floor control, such as tones indicating that the video calling application is making a call as a process running in the background, , Or to emit or render other sounds.

다양한 등록된 애플리케이션들의 등록 정보는 데이터 레코드들 내의 데이터, 비트들, 변수들, 설명 스트링 (descriptive string) 들, 또는 무선 통신 디바이스가 애플리케이션들을 평가하기 위하여 액세스할 수도 있는 임의의 다른 데이터로서 저장될 수도 있다. 실시형태에서, 애플리케이션이 백그라운드-인에이블형인지 여부의 표시와 같은 등록 정보는 애플리케이션, 무선 통신 디바이스, 및/또는 중재기와 연관된 사용자 선호도들에 기초할 수도 있다. 예를 들어, 애플리케이션이 디폴트/주 스크린 상에서 렌더링되기만 할 수도 있거나, 애플리케이션이 무선 통신 디바이스 상의 백그라운드 프로세스로서 항상 실행될 수도 있음 (또는 절대로 실행될 수 없음) 을 표시하는 사용자 선호도들은 특정 애플리케이션에 대해 설정될 수도 있다.The registration information of the various registered applications may be stored as data, bits, variables, descriptive strings in the data records, or any other data that the wireless communication device may access to evaluate applications have. In an embodiment, the registration information, such as an indication of whether the application is background-enabled, may be based on user preferences associated with the application, the wireless communication device, and / or the arbiter. For example, user preferences indicating that the application may only be rendered on the default / main screen, or that the application may (or may never) be run as a background process on the wireless communication device may be set for a particular application have.

도 7a 로 돌아가면, 결정 블록 (702) 에서, 무선 통신 디바이스는 제 1 애플리케이션에 관련 있는 액티비티가 검출되는지 여부를 결정할 수도 있다. 예를 들어, 위에서 설명된 바와 같이, 무선 통신 디바이스는 중재기를 통해, 중재기에 등록된 애플리케이션들을 인보크할 수도 있는 통지 이벤트들 또는 다른 메시지들이 언제 수신되는지를 검출할 수도 있다. 이러한 검출된 액티비티들은 각각의 개별적인 등록된 애플리케이션에 대한 미리 정의된 이벤트들일 수도 있거나 모든 애플리케이션들에 대해 범용일 수도 있다. 제 1 애플리케이션에 관련 있을 수도 있는 검출된 액티비티들은 조우된 예외들, 등록된 애플리케이션들과 연관된 저장된 정보에 있어서의 검출된 변경들 (예컨대, 우선순위 변경), 및/또는 중재기로의 새로운 애플리케이션의 등록, 애플리케이션의 동작 스테이터스 (예컨대, 중단됨, 액티비티 등) 또는 등록 정보 (예컨대, 우선순위 클래스 등) 에 있어서의 변경, 디스플레이의 포어그라운드의 애플리케이션 요청들 제어, 애플리케이션에 의한 디스플레이 포어그라운드의 제어의 손실, 및 디스플레이의 액티비티 상태 변경 (예컨대, 주 디스플레이가 이용가능하게 됨 등) 과 같은 다양한 상태들에 응답하여 수신되는 수신된 이벤트 통지들/신호들/인터럽트들/또는 다른 메시지들을 포함할 수도 있다.Returning to Fig. 7a, at decision block 702, the wireless communication device may determine whether an activity associated with the first application is detected. For example, as described above, the wireless communication device may detect, via the arbiter, when notification events or other messages that may invoke applications registered with the arbiter are received. These detected activities may be predefined events for each individual registered application or may be universal for all applications. The detected activities, which may be related to the first application, may include encountered exceptions, detected changes in stored information associated with the registered applications (e.g., change of priority), and / or registration of a new application to the arbiter , Changes in the operating status (e.g., aborted, activity, etc.) of the application or in the registration information (e.g., priority class, etc.), control of foreground application requests of the display, loss of control of the display foreground by the application, And / or received events notifications / signals / interrupts / or other messages received in response to various states such as a change in activity status of the display (e.g., a primary display becomes available).

실시형태에서, 무선 통신 디바이스는 제 1 애플리케이션을 식별하는 비트들 또는 다른 표시자들, 및/또는 제 1 애플리케이션의 클래스 또는 우선순위에 기초하여 수신된 메시지가 제 1 애플리케이션에 관련 있는 것으로 결정할 수도 있다. 대안적으로, 임의의 수신된 메시지는 임의의 착수된 및/또는 액티비티 애플리케이션들 (예컨대, 무선 통신 디바이스의 백그라운드/포어그라운드에서 실행되는 애플리케이션들) 에 관련 있을 수도 있다. 다양한 실시형태들에서, 무선 통신 디바이스는 임의의 이러한 검출된 액티비티 (예컨대, 수신된 메시지) 에 대한 관련성을 결정하기 위하여 모든 등록된 애플리케이션을 평가할 수도 있다.In an embodiment, the wireless communication device may determine that a received message is related to a first application based on bits or other indicators identifying the first application, and / or a class or priority of the first application . Alternatively, any received message may be associated with any launched and / or activity applications (e.g., applications running in the background / foreground of the wireless communication device). In various embodiments, the wireless communication device may evaluate all registered applications to determine the relevance to any such detected activity (e.g., a received message).

무선 통신 디바이스가 제 1 애플리케이션에 관련 있는 액티비티를 검출하지 않을 경우 (즉, 결정 블록 (702) = "아니오"), 무선 통신 디바이스는 블록 (701) 에서 애플리케이션들을 등록하기 위한 동작들을 계속할 수도 있다. 예를 들어, 무선 통신 디바이스는 계속적으로 또는 주기적으로 애플리케이션들을 등록할 수도 있고 통지 이벤트들에 대해 모니터링할 수도 있다. 무선 통신 디바이스가 제 1 애플리케이션에 관련 있는 액티비티를 검출할 경우 (즉, 결정 블록 (702) = "예"), 블록 (704) 에서, 무선 통신 디바이스는 디스플레이 우선순위의 순서로 제 1 애플리케이션에 대한 모든 실행가능한 디스플레이들의 리스트를 식별 (또는 순서화) 할 수도 있다. 예를 들어, 무선 통신 디바이스는 모든 터치스크린들, LCD 스크린들, 및 적당하게 기능하고 있으며 (즉, 파손되지 않은, 수리되고 있는, 등) 현재 사용 중인 무선 통신 디바이스와 연관된 다른 디스플레이 유닛들을 식별할 수도 있다. 다시 말해서, 실행가능한 디스플레이의 식별된 리스트는 제 1 애플리케이션이 포어그라운드에 도달할 수도 있는 모든 가능한 디스플레이들의 리스트일 수도 있다.If the wireless communication device does not detect an activity associated with the first application (i.e., decision block 702 = "no"), the wireless communication device may continue operations for registering applications at block 701. [ For example, the wireless communication device may register applications continuously or periodically and may monitor for notification events. If the wireless communication device detects an activity associated with the first application (i.e., decision block 702 = "YES"), then at block 704, (Or order) a list of all executable displays. For example, the wireless communication device may be used to identify all the touch screens, LCD screens, and other display units that are functioning properly (i.e., not damaged, being repaired, etc.) It is possible. In other words, the identified list of executable displays may be a list of all possible displays from which the first application may reach the foreground.

실시형태에서, 무선 통신 디바이스는 제 1 애플리케이션과 연관된 등록 정보에 기초하여 리스트를 식별할 수도 있다. 예를 들어, 제 1 애플리케이션의 등록 정보가 제 1 애플리케이션이 다수의 디스플레이들을 지원하지 않음을 표시할 경우, 무선 통신 디바이스는 디바이스의 디폴트 또는 주 디스플레이만을 포함하는 리스트를 식별할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 바람직한 디스플레이 우선순위를 구하기 위하여 제 1 애플리케이션의 등록 정보를 평가할 수도 있고, 이에 따라 리스트를 식별할 수도 있다. 또 다른 실시형태에서, 무선 통신 디바이스는 디스플레이를 이용하기 위해 요구된 전력을 평가함으로써 실행가능한 디스플레이들의 리스트를 식별할 수도 있다. 특히, 무선 통신 디바이스는 제어하기 위한 제 1 애플리케이션에 대하여, 비활성화된 보조 디스플레이가 활성화 (또는 급전) 될 수도 있는지 여부를 결정하기 위하여 디바이스의 이용가능한 배터리 전력을 평가할 수도 있다. 무선 통신 디바이스는 제 1 애플리케이션에 의한 이러한 보조 디스플레이의 전력 소비를 추정할 수도 있고, 보조 디스플레이를 활성화하는 것이 실현가능한 것인지 여부를 결정하기 위하여 추정된 소비를 문턱 값과 비교할 수도 있다.In an embodiment, the wireless communication device may identify the list based on the registration information associated with the first application. For example, if the registration information of the first application indicates that the first application does not support multiple displays, the wireless communication device may identify the list that includes only the device's default or primary display. As another example, the wireless communication device may evaluate the registration information of the first application to obtain the desired display priority, thereby identifying the list accordingly. In another embodiment, the wireless communication device may identify a list of executable displays by evaluating the power required to use the display. In particular, for a first application to control, the wireless communication device may evaluate the available battery power of the device to determine whether the deactivated secondary display may be activated (or powered up). The wireless communication device may estimate the power consumption of this secondary display by the first application and may compare the estimated consumption to a threshold value to determine whether activating the secondary display is feasible.

실행가능한 디스플레이들의 리스트의 디스플레이 순서는 다양한 디스플레이들에 관련된 미리 정의된 저장된 정보 (예컨대, 디스플레이 유닛들의 우선순위 분류들을 설명하는 정보를 갖는 데이터베이스), 사용자 선호도들, 액티비티 (예컨대, 디스플레이가 얼마나 자주 이용되는지), 및 제 1 애플리케이션에 대한 유용성에 기초할 수도 있다. 예를 들어, 실행가능한 디스플레이들의 리스트는 디폴트 (또는 주) 터치스크린으로부터 보조 디스플레이들로의 순서로 되어 있을 수도 있다. 또 다른 예로서, 실행가능한 디스플레이들의 리스트는 해상도 또는 렌더 품질 (예컨대, HD, SD, 흑색-및-백색 등) 의 하향 순서 (descending order) 로 제시될 수도 있다. 또 다른 예로서, 리스트는 제 1 애플리케이션과 연관된 특정 타입의 데이터 (예컨대, 비디오, 텍스트 등) 를 최상으로 렌더링할 수 있는 순서로 디스플레이들을 순서화할 수도 있다. 다양한 실시형태들에서, 제 1 애플리케이션에 대한 식별된 리스트는 다른 등록된 애플리케이션들에 대한 식별된 리스트와는 상이할 수도 있다. 예를 들어, 무선 통신 디바이스는 제 1 애플리케이션의 등록된 정보에 기초하여 OLED 또는 LED 스크린이 제 1 애플리케이션 (예컨대, 비디오 게임) 에 대한 최고 디스플레이 우선순위를 가진다는 것을 식별할 수도 있지만, 터치스크린을 제 2 애플리케이션 (예컨대, 픽처 편집기) 에 대한 최고 디스플레이 우선순위로서 식별할 수도 있다.The display order of the list of executable displays may include predefined stored information related to various displays (e.g., a database having information describing the priority classifications of the display units), user preferences, activities (e.g., , And availability for the first application. For example, the list of executable displays may be in order from the default (or main) touch screen to the secondary displays. As another example, a list of executable displays may be presented in descending order of resolution or render quality (e.g., HD, SD, black-and-white, etc.). As another example, the list may order the displays in an order that can best render the specific type of data (e.g., video, text, etc.) associated with the first application. In various embodiments, the identified list for the first application may be different from the identified list for other registered applications. For example, the wireless communication device may identify that the OLED or LED screen has the highest display priority for the first application (e.g., a video game) based on the registered information of the first application, May be identified as the highest display priority for the second application (e.g., picture editor).

블록 (706) 에서, 무선 통신 디바이스는 실행가능한 디스플레이들의 식별된 리스트로부터 다음 디스플레이를 선택할 수도 있다. 처음에는, 무선 통신 디바이스가 블록 (706) 에서의 동작들을 수행하고, 다음 디스플레이는 실행가능한 디스플레이들의 식별된 리스트에서의 제 1 디스플레이 (즉, 제 1 애플리케이션에 대한 최고 디스플레이 우선순위를 가지는 디스플레이) 일 수도 있다. 예를 들어, 무선 통신 디바이스는 제 1 애플리케이션에 대해 평가하기 위하여 디폴트 (또는 주) 디스플레이를 최초에 선택할 수도 있다. 결정 블록 (708) 에서, 무선 통신 디바이스는 선택된 디스플레이가 제 2 애플리케이션에 의해 이용 중인지 여부를 결정할 수도 있다. 선택된 디스플레이가 제 2 애플리케이션에 의해 이용 중인지 않을 경우 (즉, 결정 블록 (708) = "아니오"), 블록 (716) 에서는, 무선 통신 디바이스가 선택된 디스플레이의 포어그라운드의 제어를 제 1 애플리케이션에 배정하는 플래그 (또는 다른 신호) 를 전송할 수도 있다.At block 706, the wireless communication device may select the next display from the identified list of executable displays. Initially, the wireless communication device performs operations in block 706, and the next display is a first display (i.e., a display having the highest display priority for the first application) in the identified list of executable displays It is possible. For example, the wireless communication device may initially select a default (or main) display for evaluation for the first application. At decision block 708, the wireless communication device may determine whether the selected display is being used by the second application. If the selected display is not being used by the second application (i.e., decision block 708 = "NO"), then at block 716 the wireless communication device assigns control of the foreground of the selected display to the first application Flag (or other signal).

선택된 디스플레이가 제 2 애플리케이션에 의해 이용 중일 경우 (즉, 결정 블록 (708) = "예"), 결정 블록 (710) 에서, 무선 통신 디바이스는 제 2 애플리케이션이 제 1 애플리케이션보다 더 높은 우선순위를 가지는지 여부를 결정할 수도 있다. 무선 통신 디바이스는 예컨대, 더 높은 우선순위를 가지는 애플리케이션을 식별하기 위하여 우선순위 클래스 또는 다른 특성들을 비교함으로써, 제 1 및 제 2 애플리케이션들의 등록 정보를 비교할 수도 있다. 무선 통신 디바이스는 어느 애플리케이션이 더 높은 우선순위를 가지는지를 결정하기 위하여, 도 5 내지 도 6 의 블록들 (158 및/또는 178) 을 참조하여 위에서 설명된 것들과 유사한 동작들을 수행할 수도 있다.If the selected display is being used by the second application (i.e., decision block 708 = "YES"), then at decision block 710, the wireless communication device determines that the second application has a higher priority than the first application Or not. The wireless communication device may compare the properties of the first and second applications, for example, by comparing priority classes or other characteristics to identify applications having a higher priority. The wireless communication device may perform operations similar to those described above with reference to blocks 158 and / or 178 of FIGS. 5-6 to determine which applications have a higher priority.

제 2 애플리케이션이 더 높은 우선순위를 가지지 않을 경우 (즉, 결정 블록 (710) = "아니오"), 선택적인 블록 (718) 에서, 무선 통신 디바이스는 예컨대, 제 2 애플리케이션이 선택된 디스플레이의 포어그라운드의 제어로부터 제거되고 있음을 표시하는 비트를 저장함으로써, 제 2 애플리케이션의 스테이터스를 변경할 수도 있다. 실시형태에서, 스테이터스의 변경은, 제 2 애플리케이션의 스테이터스 변경을 표시하는 메시지 또는 신호 (예컨대, 중단 메시지) 를 전송하고, 이에 따라, 가능한 경우, 제 2 애플리케이션을 또 다른 디스플레이에 재배정하기 위한 방법 (700) 의 수행을 트리거링하는 무선 통신 디바이스에 의해 동반될 수도 있다. 다음으로, 무선 통신 디바이스는 블록 (716) 에서의 동작들을 계속할 수도 있다.If the second application does not have a higher priority (i.e., decision block 710 = "NO"), then at optional block 718, the wireless communication device determines that the second application is in the foreground The status of the second application may be changed by storing a bit indicating that it is being removed from the control. In an embodiment, the change of status is a method for transmitting a message or signal (e.g., an abort message) indicative of a status change of the second application and, if possible, reassigning the second application to another display 700, < / RTI > Next, the wireless communication device may continue operations at block 716. [

제 2 애플리케이션이 더 높은 우선순위를 가질 경우 (즉, 결정 블록 (710) = "예"), 결정 블록 (712) 에서, 무선 통신 디바이스는 선택하기 위한 실행가능한 디스플레이들의 식별된 리스트에서 다음 디스플레이가 있는지 여부를 결정할 수도 있다. 다시 말해서, 무선 통신 디바이스는 제 1 애플리케이션을 실행가능한 디스플레이들의 식별된 리스트에서 다음 최고 디스플레이 우선순위를 갖는 디스플레이에 배정하기 위하여, 또 다른 반복으로 블록 (706) 의 동작들을 수행할 것인지 여부를 결정할 수도 있다. 선택하기 위한 실행가능한 디스플레이들의 식별된 리스트에서 다음 디스플레이가 없을 경우 (즉, 결정 블록 (712) = "아니오"), 블록 (714) 에서, 무선 통신 디바이스는 제 1 애플리케이션을 디스플레이를 위한 대기 큐 (wait queue) 에 추가할 수도 있다. 예를 들어, 제 1 애플리케이션은 주 디스플레이, 또는 실행가능한 디스플레이들의 식별된 리스트에서의 임의의 디스플레이가 이용가능해질 때까지 중단될 수도 있다. 위에서 설명된 바와 같이, 무선 통신 디바이스는 디스플레이들이 이용가능해질 때에 메시지 또는 신호를 수신할 수도 있고, 이에 응답하여, 제 1 애플리케이션을 디스플레이에 배정하기 위하여 방법 (700) 의 동작들을 수행할 수도 있다.If the second application has a higher priority (i.e., decision block 710 = "YES"), then at decision block 712, the wireless communication device selects the next display in the identified list of executable displays for selection Or not. In other words, the wireless communication device may determine whether to perform the operations of block 706 with another iteration to assign the first application to the display having the next highest display priority in the identified list of executable displays have. If there is no next display in the identified list of executable displays for selection (i.e., decision block 712 = "NO"), then at block 714, the wireless communication device sends a first application to a wait queue wait queue. For example, the first application may be suspended until the primary display, or any display in the identified list of executable displays, becomes available. As described above, the wireless communication device may receive messages or signals when displays become available, and in response may perform operations of the method 700 to assign a first application to the display.

실시형태에서, 무선 통신 디바이스는 애플리케이션을 순서화된 디스플레이들의 그 연관된 리스트 내의 상이한 디스플레이들에 연속적으로 배정하기 위하여 방법 (700) 을 수행할 수도 있다. 다시 말해서, 어떤 디스플레이 (예컨대, 디폴트, 주, 높은 우선순위) 가 이용가능해졌음을 표시하는 메시지 또는 신호를 수신하는 것에 응답하여, 무선 통신 디바이스는 보조 디스플레이를 제어하는 애플리케이션이 어떤 디스플레이에 재배정될 수도 있는지 여부를 결정하기 위하여 방법 (700) 에서의 동작들을 수행할 수도 있다. 예를 들어, 더 높은 우선순위의 제 2 애플리케이션이 종결되고 전방-대향 (front-facing) 디스플레이 (즉, 디폴트 또는 주 디스플레이) 의 제어를 넘겨줄 때, 무선 통신 디바이스는 무선 통신 디바이스의 하우징의 후면 상의 보조 디스플레이에 이전에 배정된 더 낮은 우선순위의 제 1 애플리케이션이 전방-대향 디스플레이에 재배정될 수도 있는지 여부를 결정할 수도 있다.In an embodiment, a wireless communication device may perform a method 700 to sequentially assign an application to different displays in its associated list of ordered displays. In other words, in response to receiving a message or signal indicating that a certain display (e.g., default, main, high priority) has become available, the wireless communication device may determine that the application controlling the secondary display may be reassigned to which display May perform operations in the method 700 to determine whether or not there is a < / RTI > For example, when a second application of higher priority is terminated and handed over control of a front-facing display (i.e., a default or primary display), the wireless communication device is moved to the rear of the housing of the wireless communication device The first application of lower priority previously assigned to the secondary display on the display may be reassigned to the forward-facing display.

도 7b 는 무선 통신 디바이스가 복수의 디스플레이들의 포어그라운드의 제어를 배정 (또는 중재) 하기 위한 실시형태의 방법 (750) 을 예시한다. 방법 (750) 이 무선 통신 디바이스 상에 상주하며 중재기에 의해 관리되는 것으로 등록된 다양한 애플리케이션들의 우선순위들을 업데이트 (또는 재계산) 하기 위한 동작들을 포함하는 것을 제외하고는, 방법 (750) 은 위에서 설명된 방법 (700) 과 유사하다. 블록 (701) 에서, 무선 통신 디바이스는 예컨대, 무선 통신 디바이스 상에서 실행되는 애플리케이션들의 설명 정보를 저장함으로써 애플리케이션들을 등록할 수도 있다.7B illustrates an embodiment of a method 750 for a wireless communication device to assign (or arbitrate) control of the foreground of a plurality of displays. Method 750 is described above, except that method 750 resides on the wireless communication device and includes operations to update (or recalculate) the priorities of various applications registered as being managed by the arbiter (700). At block 701, the wireless communication device may register applications, for example, by storing explanatory information of applications running on the wireless communication device.

블록 (752) 에서, 무선 통신 디바이스는 미리 정의된 이벤트들에 응답하여 동적 우선순위 변경들에 대해 등록된 애플리케이션들의 우선순위들을 재계산 (또는 재우선순위화 (re-prioritization) 를 수행) 할 수도 있다. 위에서 설명된 바와 같이, 다양한 애플리케이션들의 등록 시에 무선 통신 디바이스에 의해 저장된 등록 정보는 애플리케이션들이 동적으로 재우선순위화될 수도 있는지 여부의 표시들을 포함할 수도 있다. 다시 말해서, 등록 정보는 애플리케이션이 예컨대, 중재기 애플리케이션 또는 OS 루틴을 통해, 무선 통신 디바이스에 의해 재우선순위화되도록 동의하였는지 여부를 표시할 수도 있다. 긴급 호출 애플리케이션들과 같은 어떤 애플리케이션들은 정적 우선순위 (static priority) 들을 가질 수도 있고, 무선 통신 디바이스에 의한 동적 재우선선위화를 허용하도록 등록되지 않을 수도 있다.At block 752, the wireless communication device may recalculate (or perform re-prioritization) the priorities of the registered applications for dynamic priority changes in response to predefined events . As described above, the registration information stored by the wireless communication device upon registration of the various applications may include indications of whether the applications may be dynamically re-prioritized. In other words, the registration information may indicate whether the application has agreed to be re-prioritized by the wireless communication device, e.g., via an arbiter application or an OS routine. Some applications, such as emergency calling applications, may have static priorities and may not be registered to allow dynamic reconnection by the wireless communication device.

다양한 실시형태들에서, 미리 정의된 이벤트들은 무선 통신 디바이스에 의해 일반적으로 액세스가능한 데이터로 (예컨대, 중재기 애플리케이션과 연관된 메모리 내에) 저장될 수도 있거나, 또는 대안적으로, 개별적인 등록된 애플리케이션들의 등록 정보 내에 저장될 수도 있다. 미리 정의된 이벤트들은 특정 애플리케이션들에 대한 우선순위의 재계산을 트리거링할 수도 있는 상태들, 타이머들, 메시지들 (또는 수신된 메시지 타입들), 또는 다른 상황들을 포함할 수도 있다. 예를 들어, 어떤 애플리케이션에 대한 등록 정보는, 무선 통신 디바이스가 시간 주기 (예컨대, 밀리초(들), 초(들), 분(들) 등) 마다, 및/또는 어떤 수의 프로세서 클록 사이클들 (또는 신호들) 마다 한번씩 어떤 애플리케이션의 우선순위를 재계산해야 하는 것을 표시할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 애플리케이션의 등록 또는 착수를 검출하는 것에 기초하여 어떤 애플리케이션에 대한 재우선순위화 동작들을 수행할 수도 있다. 실시형태에서, 무선 통신 디바이스는 주소록 애플리케이션에 대응하는 터치스크린 상의 탭 (tap) 들 또는 텍스트 타이핑 입력들과 같은 검출된 사용자 입력에 기초하여 애플리케이션에 대한 재우선순위화 동작들을 수행할 수도 있다.In various embodiments, the predefined events may be stored in data generally accessible by the wireless communication device (e.g., in a memory associated with the arbiter application), or alternatively, the properties of the individual registered applications Lt; / RTI > The predefined events may include states, timers, messages (or received message types), or other situations that may trigger recalculation of priorities for particular applications. For example, the registration information for an application may indicate that the wireless communication device is capable of receiving a predetermined number of times (e.g., millisecond (s), second (s), minute (s) (Or signals) once to recalculate the priority of an application. As another example, a wireless communication device may perform re-ordering operations for an application based on detecting registration or launch of an application. In an embodiment, the wireless communication device may perform re-ordering operations on the application based on detected user input, such as tapes or text-typing inputs on the touch screen corresponding to the address book application.

또 다른 실시형태에서, 무선 통신 디바이스는 디바이스의 동작 파라미터들에서의 변경들에 기초하여 애플리케이션에 대한 재우선순위화 동작들을 수행할 수도 있다. 예를 들어, 애플리케이션은 광역 네트워크 (wide area network; WAN) 에 대한 접속을 상실하는 것, WAN 에 대한 접속을 획득하는 것, 셀룰러 네트워크 서비스 액티비티 변경들을 검출하는 것, 및/또는 어떤 액세스 포인트에 접속하는 것과 같이, 무선 통신 디바이스가 네트워크 접속성에서의 변경을 검출하는 것에 응답하여 재우선순위화될 수도 있다. 또 다른 예로서, 애플리케이션은 무선 통신 디바이스가 단거리 무선 신호 (예컨대, 블루투스 (Bluetooth) 등) 를 수신하는 것, 및/또는 이용가능한 전력 (예컨대, 전원에 접속된, 미리 정의된 문턱 미만의 이용가능한 배터리 수명 등) 에서의 변경을 검출하는 것에 응답하여 재우선순위화될 수도 있다. 또 다른 실시형태에서, 무선 통신 디바이스는 등록된 애플리케이션들에서의 스테이터스 변경들 (예컨대, 중단됨, 활성화됨, 디스플레이의 제어로부터 제거됨 등) 을 검출하는 것에 응답하여 애플리케이션들의 우선순위들을 재계산할 수도 있다. 예를 들어, 무선 통신 디바이스는 애플리케이션이 아이들 스크린 (idle screen) 을 가질 때, 전형적으로 높은 우선순위의 비디오 호출 애플리케이션의 우선순위를 낮출 수도 있다.In another embodiment, the wireless communication device may perform re-ordering operations on the application based on changes in operating parameters of the device. For example, the application may be configured to lose access to a wide area network (WAN), to obtain a connection to the WAN, to detect cellular network service activity changes, and / The wireless communication device may be re-prioritized in response to detecting a change in network connectivity. As another example, an application may be configured such that a wireless communication device receives a short-range wireless signal (e.g., Bluetooth), and / or receives available power (e.g., Lt; / RTI > battery life, etc.). In another embodiment, the wireless communication device may recalculate priorities of applications in response to detecting status changes (e.g., aborted, activated, removed from control of the display, etc.) in the registered applications. For example, a wireless communication device may lower the priority of a typically high-priority video calling application when the application has an idle screen.

실시형태를 예시하기 위한 예로서, 무선 통신 디바이스는 동적 재우선순위화를 위해 등록된 2 개의 애플리케이션들을 그 프로세서 상에서 실행할 수도 있다: 네트워크 접속을 요구하며 높은 우선순위로 초기에 등록될 수도 있는 비디오 호출 애플리케이션, 및 네트워크 접속을 요구하지 않으며 낮은 우선순위로 초기에 등록될 수도 있는 카메라 애플리케이션. 비디오 호출 애플리케이션이 착수될 때, 무선 통신 디바이스는 중재기를 통해, 이용가능한 셀룰러 네트워크 접속이 없다는 것 (즉 커버리지 없음) 을 검출할 수도 있고, 이에 따라, 비디오 호출 애플리케이션은 일시적으로 동작불가능할 수도 있다. 이러한 상태에서, 무선 통신 디바이스는 중재기를 통해, 카메라가 무선 통신 디바이스의 디스플레이의 포어그라운드의 제어를 상실할 수도 있는 상황을 회피하기 위하여, 비디오 호출 애플리케이션보다 더 높은 우선순위를 갖도록 카메라 애플리케이션을 동적으로 재우선순위화할 수도 있다.As an example to illustrate an embodiment, a wireless communication device may execute two applications registered for dynamic priority enhancement on that processor: a video call application that requires a network connection and may be initially registered with a high priority , And a camera application that does not require a network connection and may be initially registered with a low priority. When the video calling application is launched, the wireless communication device may detect, via the arbiter, that there is no available cellular network connection (i.e., no coverage), so that the video calling application may be temporarily disabled. In such a situation, the wireless communication device may dynamically, via the arbiter, dynamically adjust the camera application to have a higher priority than the video calling application, in order to avoid situations in which the camera may lose control of the foreground of the display of the wireless communication device. It can also be prioritized.

실시형태를 예시하기 위한 또 다른 예로서, 무선 통신 디바이스는 동적 재우선순위화를 위해 등록된 2 개의 애플리케이션들을 그 프로세서 상에서 실행할 수도 있다: 높은 우선순위로 초기에 등록될 수도 있는 비디오 호출 애플리케이션; 및 낮은 우선순위로 초기에 등록될 수도 있는 주소록 애플리케이션. 무선 통신 디바이스는 주소록 애플리케이션이 디스플레이에 대한 포어그라운드를 제어하고 있을 때에 사용자 입력들을 검출할 수도 있고, 그 결과, 비디오 호출 애플리케이션이 착수되거나 착신 호출을 수신하더라도 입력을 차단 (interrupt) 하는 것을 회피하기 위하여 주소록 애플리케이션의 우선순위를 증가시킬 수도 있다.As yet another example for illustrating an embodiment, a wireless communication device may execute two applications registered for dynamic priority enhancement on the processor: a video calling application that may be initially registered with a high priority; And an address book application that may be initially registered with a lower priority. The wireless communication device may detect user inputs while the address book application is controlling the foreground for the display so as to avoid interrupting the input even if the video calling application is launched or receiving an incoming call You can also increase the priority of the address book application.

애플리케이션들에 대한 재계산 (또는 재우선순위화) 동작들은 다양한 가중화 방식들, 규칙 세트들, 밸런싱 인자 (balancing factor) 들, 모델들, 수학식들, 및 각각의 애플리케이션에 대한 새로운 우선순위 값들을 결정하기 위한 다른 고려사항들을 이용할 수도 있다. 또한, 하나의 애플리케이션의 재우선순위화는 무선 통신 디바이스가 또 다른 애플리케이션의 우선순위를 재계산하는 것을 트리거링할 수도 있다. 예를 들어, 제 1 애플리케이션이 최고 우선순위를 가지는 것으로서 재계산하는 것에 응답하여, 무선 통신 디바이스는 (중재기를 통해) 이전에 최고 우선순위를 가졌던 제 2 애플리케이션의 우선순위를 재계산할 수도 있다.The recalculation (or rerecording) operations for the applications include various weighting schemes, rule sets, balancing factors, models, mathematical equations, and new priority values for each application Other considerations may also be used to determine. In addition, the re-ordering of one application may trigger the wireless communication device to recalculate the priority of another application. For example, in response to the first application having recalculated as having the highest priority, the wireless communication device may recalculate the priority of the second application that previously had the highest priority (via the arbiter).

도 7b 로 돌아가면, 결정 블록 (702) 에서, 무선 통신 디바이스는 제 1 애플리케이션에 관련 있는 액티비티가 검출되는지 여부를 결정할 수도 있다. 특히, 무선 통신 디바이스는 우선순위에 있어서의 변경이 등록된 애플리케이션들에 대해 발생하였는지 여부를 결정할 수도 있다. 예를 들어, 제 1 애플리케이션이 디스플레이를 위한 대기 큐에 있을 경우, 무선 통신 디바이스는 제 1 애플리케이션보다 더 높은 우선순위를 가지는 임의의 애플리케이션들이 재우선순위화되었는지 여부를 결정할 수도 있다. 또 다른 예로서, 제 1 애플리케이션이 디스플레이를 위한 대기 큐에 있을 경우, 또는 제 1 애플리케이션이 현재 그 바람직한 디스플레이의 제어 중인 것이 아닐 경우, 무선 통신 디바이스는 그 등록 정보에 기초하여, 디바이스의 디스플레이들 중의 임의의 것, 특히, 제 1 애플리케이션에 대해 바람직한 디스플레이가 이용가능해진 것인지 여부를 결정할 수도 있다.7B, at decision block 702, the wireless communication device may determine whether an activity associated with the first application is detected. In particular, the wireless communication device may determine whether a change in priority has occurred for registered applications. For example, if the first application is in a wait queue for display, the wireless communication device may determine whether any applications with a higher priority than the first application have been prioritized. As another example, if the first application is in a wait queue for a display, or if the first application is not currently under control of its preferred display, then the wireless communication device may determine, based on its registration information, And may determine whether any, in particular, the desired display for the first application has become available.

무선 통신 디바이스가 제 1 애플리케이션에 관련 있는 액티비티를 검출하지 않을 경우 (즉, 결정 블록 (702) = "아니오"), 무선 통신 디바이스는 블록 (701) 에서 애플리케이션들을 등록하기 위한 동작들을 계속할 수도 있다. 무선 통신 디바이스가 제 1 애플리케이션에 관련 있는 액티비티를 검출할 경우 (즉, 결정 블록 (702) = "예"), 블록 (704) 에서, 무선 통신 디바이스는 디스플레이 우선순위의 순서로 제 1 애플리케이션에 대한 모든 실행가능한 디스플레이들의 리스트를 식별할 수도 있다. 블록 (706) 에서, 무선 통신 디바이스는 모든 실행가능한 디스플레이들의 식별된 리스트로부터 다음 디스플레이를 선택할 수도 있다. 결정 블록 (708) 에서, 무선 통신 디바이스는 선택된 디스플레이가 제 2 애플리케이션에 의해 이용 중인지 여부를 결정할 수도 있다. 선택된 디스플레이가 제 2 애플리케이션에 의해 이용 중인지 않을 경우 (즉, 결정 블록 (708) = "아니오"), 블록 (716) 에서는, 무선 통신 디바이스가 선택된 디스플레이의 포어그라운드의 제어를 제 1 애플리케이션에 배정하는 플래그를 전송할 수도 있다. 선택된 디스플레이가 제 2 애플리케이션에 의해 이용 중일 경우 (즉, 결정 블록 (708) = "예"), 결정 블록 (710) 에서, 무선 통신 디바이스는 제 2 애플리케이션이 제 1 애플리케이션보다 더 높은 우선순위를 가지는지 여부를 결정할 수도 있다. 제 2 애플리케이션이 더 높은 우선순위를 가지지 않을 경우 (즉, 결정 블록 (710) = "아니오"), 선택적인 블록 (718) 에서, 무선 통신 디바이스는 선택된 애플리케이션의 스테이터스를 변경할 수도 있고, 그 다음으로, 블록 (716) 에서의 동작들을 계속할 수도 있다. 제 2 애플리케이션이 더 높은 우선순위를 가질 경우 (즉, 결정 블록 (710) = "예"), 결정 블록 (712) 에서, 무선 통신 디바이스는 선택하기 위한 모든 실행가능한 디스플레이들의 리스트에서 다음 디스플레이가 있는지 여부를 결정할 수도 있다. 선택하기 위한 모든 실행가능한 디스플레이들의 리스트에서 다음 디스플레이가 없을 경우 (즉, 결정 블록 (712) = "아니오"), 블록 (714) 에서, 무선 통신 디바이스는 제 1 애플리케이션을 디스플레이를 위한 대기 큐에 추가할 수도 있다.If the wireless communication device does not detect an activity associated with the first application (i.e., decision block 702 = "no"), the wireless communication device may continue operations for registering applications at block 701. [ If the wireless communication device detects an activity associated with the first application (i.e., decision block 702 = "YES"), then at block 704, And may identify a list of all executable displays. At block 706, the wireless communication device may select the next display from the identified list of all executable displays. At decision block 708, the wireless communication device may determine whether the selected display is being used by the second application. If the selected display is not being used by the second application (i.e., decision block 708 = "NO"), then at block 716 the wireless communication device assigns control of the foreground of the selected display to the first application The flag may also be transmitted. If the selected display is being used by the second application (i.e., decision block 708 = "YES"), then at decision block 710, the wireless communication device determines that the second application has a higher priority than the first application Or not. If the second application does not have a higher priority (i.e., decision block 710 = "NO"), then at optional block 718, the wireless communication device may change the status of the selected application, , Then the operations at block 716 may continue. If the second application has a higher priority (i.e., decision block 710 = "YES"), then at decision block 712, the wireless communication device determines whether there is a next display in the list of all executable displays for selection You can also decide if you want to. If there is no next display in the list of all executable displays for selection (i.e., decision block 712 = "NO"), then at block 714 the wireless communication device adds the first application to the wait queue for display You may.

도 8 은 무선 통신 디바이스가 다수의 디스플레이들의 우선순위들을 재계산하기 위한 실시형태의 방법 (800) 을 예시한다. 도 7b 를 참조하여 위에서 설명된 등록된 애플리케이션들에 대한 우선순위들의 재계산과 유사하게, 무선 통신 디바이스는 등록된 애플리케이션들에 의해 제어될 수도 있는 디바이스의 다양한 디스플레이들의 우선순위 정보를 업데이트하도록 구성될 수도 있다. 예를 들어, 아이가 만화를 시청하기 위하여 디바이스의 좌측 상의 디폴트 (또는 최고 우선순위) 스크린을 이용하고 있고 아빠가 작업을 하기 위하여 디바이스의 우측 상의 보조 스크린을 이용하고 있음을 표시하는 카메라 데이터를 이용한 얼굴 인식 데이터에 기초하여, 무선 통신 디바이스는 (중재기를 통해) 우측 상의 보조 스크린을 새로운 디폴트 (또는 최고 우선순위) 디스플레이인 것으로 재우선순위화할 수도 있다. 또 다른 예로서, 디폴트 스크린이 파손되거나 오작동하고 있음을 표시하는 저장된 정보에 기초하여, 무선 통신 디바이스는 이전의 디폴트가 수리될 때까지, 보조 스크린을 디폴트 스크린인 것으로 재우선순위화할 수도 있다. 방법 (800) 을 수행하면, 무선 통신 디바이스는 맥락 (context) 및/또는 이용에 기초하여 더 많은 적절한 디스플레이들을 제어할 것을 애플리케이션들에 지시할 수도 있다.Figure 8 illustrates a method 800 of an embodiment for a wireless communication device to recalculate the priorities of multiple displays. Similar to the recalculation of priorities for the registered applications described above with reference to Figure 7b, the wireless communication device may be configured to update the priority information of the various displays of the device, which may be controlled by the registered applications have. For example, if a child is using the default (or highest priority) screen on the left side of the device to view a cartoon and the dad is using camera data to indicate that he is using an auxiliary screen on the right side of the device to work Based on the face recognition data, the wireless communication device may reorder the secondary screen on the right side (via the arbiter) as being the new default (or highest priority) display. As another example, based on stored information indicating that the default screen is broken or malfunctioning, the wireless communication device may reorder the secondary screen to be the default screen until the previous default is repaired. By performing method 800, the wireless communication device may instruct applications to control more appropriate displays based on context and / or usage.

블록 (802) 에서, 무선 통신 디바이스는 디바이스의 모든 디스플레이들에 대한 스테이터스 정보를 저장할 수도 있다. 예를 들어, 무선 통신 디바이스는 데이터베이스 또는 시스템 변수들 내에, 동작 요건들 (예컨대, 전력 소비 파라미터들, 렌더링될 수도 있는 데이터의 타입, 최상으로 렌더링될 수도 있는 데이터의 타입 등), 디스플레이 우선순위 또는 랭크 (예컨대, 디폴트, 보조 등), 차원들 (또는 시청가능한 영역), 및 무선 통신 디바이스에 접속되거나, 또는 이와 다르게 무선 통신 디바이스에 의해 제어되는 복수의 디스플레이들의 각각에 관련된 동작 조건들 또는 기능성 표시들 (예컨대, 파손됨, 오작동, 공칭 (nominal) 등) 을 표시하는 표시자들 또는 다른 설명 정보를 저장할 수도 있다. 실시형태에서, 스테이터스 정보는 예컨대, 사용자 선호도 또는 랭크의 상향 순서 (ascending order) 로 순서화됨으로써, 디스플레이 우선순위에 의해 순서화될 수도 있다. 다양한 실시형태들에서, 무선 통신 디바이스는 등록된 애플리케이션들의 각각에 대하여 복수의 디스플레이들의 각각에 대한 스테이터스 정보를 저장할 수도 있다. 예를 들어, 무선 통신 디바이스는 무선 통신 디바이스의 컴퓨터 플랫폼 상에 상주하는 복수의 애플리케이션들의 각각에 관련된 디스플레이들의 각각에 대한 개별적인 랭크된 리스트들을 저장할 수도 있다.At block 802, the wireless communication device may store status information for all displays of the device. For example, the wireless communication device may be configured to store operating requirements (e.g., power consumption parameters, the type of data that may be rendered, the type of data that may be best rendered, etc.), the display priority (Or a viewable area) associated with each of the plurality of displays connected to the wireless communication device, or otherwise associated with the plurality of displays controlled by the wireless communication device, (E.g., broken, malfunctioning, nominal, etc.), or other descriptive information. In an embodiment, the status information may be ordered by display priority, for example ordered by ascending order of user preferences or ranks. In various embodiments, the wireless communication device may store status information for each of a plurality of displays for each of the registered applications. For example, the wireless communication device may store separate ranked lists for each of the displays associated with each of the plurality of applications resident on the computer platform of the wireless communication device.

블록 (804) 에서, 무선 통신 디바이스는 현재의 조건들에 대한 정보를 위하여 디바이스의 센서들을 폴링할 수도 있다. 무선 통신 디바이스는 카메라들, 마이크로폰들, 서미스터 (thermistor) 들, 가속도계들, 자이로스코프들, 및 터치-센싱 표면들과 같은 다양한 센서들을 포함할 수도 있다. 무선 통신 디바이스는 디바이스의 디스플레이들의 실행가능성과, 디바이스의 사용자가 어떻게 디바이스와 상호작용하는지를 평가하기 위하여 이용될 수도 있는 환경들 또는 사용 상황들을 표시하는 센서 데이터를 수집할 수도 있다. 예를 들어, 무선 통신 디바이스는 디스플레이들을 우선순위화함에 있어서 유용한 상황 정보를 식별하기 위하여 가속도계 센서 데이터를 평가할 수도 있다. 센서 데이터를 이용하면, 무선 통신 디바이스는 서미스터 센서 데이터에 기초한 주변 온도, 카메라 데이터에 기초한 주변 밝기, 가속도계/자이로스코프 센서 데이터에 기초한 현재의 디바이스 이동 또는 모션, 자이로스코프 센서 데이터에 기초한 디바이스 경사, GPS 데이터에 기초한 디바이스 고도, 터치스크린 입력들에 기초한 사용자 입력들, 및 카메라 데이터 (예컨대, 현재의 사용자의 얼굴의 레코딩된 화상 데이터) 또는 마이크로폰 데이터 (예컨대, 현재의 사용자의 음성의 레코딩된 오디오 데이터) 에 기초한 현재의 사용자의 아이덴티티와 같이, 디스플레이들을 이용하는 것에 관련 있는 다양한 상태들을 평가할 수도 있다.At block 804, the wireless communication device may poll the sensors of the device for information about current conditions. The wireless communication device may include various sensors such as cameras, microphones, thermistors, accelerometers, gyroscopes, and touch-sensing surfaces. The wireless communication device may collect sensor data indicative of environments or conditions of use that may be utilized to assess the feasibility of the displays of the device and how the user of the device interacts with the device. For example, the wireless communication device may evaluate accelerometer sensor data to identify contextual information useful in prioritizing displays. Using the sensor data, the wireless communication device can determine the ambient temperature based on the thermistor sensor data, the ambient brightness based on the camera data, the current device movement or motion based on the accelerometer / gyroscope sensor data, the device tilt based on the gyroscope sensor data, (E. G., Recorded image data of the current user's face) or microphone data (e. G., Recorded audio data of the current user's voice) Such as the current user ' s identity based on < RTI ID = 0.0 > a < / RTI >

블록 (806) 에서, 무선 통신 디바이스는 저장된 스테이터스 정보 및/또는 폴링된 센서 데이터에 기초하여 디스플레이들의 실행가능성을 평가할 수도 있다. 예를 들어, 어떤 LCD 스크린에 대한 저장된 스테이터스 정보에 기초하여, 무선 통신 디바이스는 그 스크린이 전력-부족인지 (또는 상당한 양의 배터리 전력을 요구하는지), 높은 온도에서 동작하고 있는지, 어떤 해상도 기능들 (예컨대, 표준 선명도 (standard definition; SD), 고선명도 (high definitioin; HD) 등) 을 가지는지, 터치-감지식 기능성들을 가지는지, 및/또는 현재 적당하게 기능하고 있는지 (예컨대, 파손, 등) 여부를 평가할 수도 있다. 무선 통신 디바이스는 다양한 디스플레이들의 저장된 스테이터스 정보를 하루 중의 시간과 같은 현재의 조건들과 비교할 수도 있다. 또한, 무선 통신 디바이스는 예컨대, 사용자가 디스플레이 상에서 렌더링된 애플리케이션들을 얼마나 양호하게 볼 수도 있는지를 식별하기 위하여, 디스플레이의 발광 출력 기능성들을 표시하는 저장된 정보를 주변 밝기와 비교함으로써, 다양한 디스플레이들의 저장된 스테이터스 정보를 센서 데이터와 비교할 수도 있다. 예를 들어, 무선 통신 디바이스는, 사용자가 보행/주행/착석 중이면서 특정 애플리케이션들을 렌더링할 때에 스크린이 얼마나 유용할 수도 있는지를 식별하기 위하여, 가속도계들로부터의 현재의 모션 데이터를 스크린의 시청가능한 영역과 비교할 수도 있다.At block 806, the wireless communication device may evaluate the feasibility of displays based on stored status information and / or polled sensor data. For example, based on stored status information for an LCD screen, the wireless communication device determines whether the screen is power-low (or requires a significant amount of battery power), operating at a high temperature, (E.g., standard definition (SD), high definition (HD), etc.), touch-sensitive knowledge, and / or is currently functioning properly ). The wireless communication device may compare the stored status information of the various displays with current conditions such as time of day. The wireless communication device may also compare stored information indicative of the display's light output capabilities to ambient brightness, for example, to identify how well the user may see rendered applications on the display, May be compared with the sensor data. For example, the wireless communication device may be configured to communicate current motion data from the accelerometers to the viewable area of the screen in order to identify how useful the screen may be when the user is in walking / driving / .

블록 (808) 에서, 무선 통신 디바이스는 폴링된 센서 데이터에 기초하여 디스플레이들과의 사용자 상호작용들을 평가할 수도 있다. 예를 들어, 터치-감지식 스크린 상에서의 검출된 터치 입력들을 평가함으로써, 무선 통신 디바이스는 다양한 스크린들에 관련된 사용자의 액티비티를 추정할 수도 있다. 무선 통신 디바이스는 검출된 사용자 입력들에 기초하여 현재의 가장-이용된 또는 가장 인기있는 디스플레이를 결정할 수도 있다. 무선 통신 디바이스는 또한, 사용자가 더욱 자주 쳐다 보고 있는 특정 스크린들을 식별하기 위하여 카메라 데이터를 이용하여 아이 트래킹 (eye tracking) 및/또는 헤드 트래킹 (head tracking) 을 수행할 수도 있다. 예를 들어, 무선 통신 디바이스는 아이 트래킹에 기초하여 사용자가 복수의 디스플레이들 중의 임의의 것을 쳐다 보고 있는지 여부, 헤드 트래킹에 기초하여 사용자가 복수의 디스플레이들 중의 임의의 것을 쳐다 보고 있는지 여부, 및/또는 사용자가 복수의 디스플레이들 중의 임의의 것을 터치하고 있는지 여부를 표시하는 사용자 상호작용 정보를 결정할 수도 있다. 실시형태에서, 무선 통신 디바이스는 디바이스가 어떻게 그 현재의 이용을 결정하기 위한 순서로 유지되고 있는지를 식별하기 위하여 자이로스코프 센서 데이터를 평가할 수도 있다. 예를 들어, 센서 데이터가 디바이스가 상향으로 유지되고 있음을 표시할 경우, 무선 통신 디바이스는 사용자가 디바이스의 후방 상의 스크린과 반대로 전방-대향 스크린을 쳐다 보고 있을 가능성을 평가할 수도 있다. 다양한 실시형태들에서, 디바이스와의 사용자 상호작용들은 시간의 주기 동안에 해독될 수도 있고, 이에 따라, 무선 통신 디바이스는 그 시간 동안에 디바이스에서 수집되거나 레코딩되고, 저장된 센서 데이터를 사용할 수도 있다.At block 808, the wireless communication device may evaluate user interactions with displays based on the polled sensor data. For example, by evaluating detected touch inputs on a touch-sensitive screen, the wireless communication device may estimate the user's activity associated with the various screens. The wireless communication device may determine the current most-used or most popular display based on the detected user inputs. The wireless communication device may also perform eye tracking and / or head tracking using camera data to identify the specific screens the user is viewing more frequently. For example, the wireless communication device may determine whether the user is looking at any of the plurality of displays based on eye tracking, whether the user is looking at any of the plurality of displays based on head tracking, and / Or user interaction information indicating whether the user is touching any of the plurality of displays. In an embodiment, the wireless communication device may evaluate the gyroscope sensor data to identify how the device is being maintained in order to determine its current usage. For example, if the sensor data indicates that the device is being held up, the wireless communication device may assess the likelihood that the user is looking at the front-facing screen as opposed to the screen on the back of the device. In various embodiments, user interactions with the device may be decrypted during a period of time, such that the wireless communication device may use the stored sensor data to be collected or recorded at the device during that time.

블록 (810) 에서, 무선 통신 디바이스는 디스플레이들의 평가된 실행가능성 및/또는 디스플레이들과의 평가된 사용자 상호작용과 같은 평가들에 기초하여 디스플레이들의 우선순위를 재계산할 수도 있다. 예를 들어, 시간의 주기 동안의 어떤 디스플레이와의 증가된 사용자 상호작용들의 평가에 기초하여, 무선 통신 디바이스는 어떤 디스플레이의 우선순위를 증가시킬 수도 있다 (예컨대, 어떤 디스플레이가 디폴트 또는 우선순위 디스플레이를 행하도록 함). 디스플레이들에 대한 재계산 (또는 재우선순위화) 동작들은 다양한 가중화 방식들, 규칙 세트들, 밸런싱 인자들, 모델들, 수학식들, 및 각각의 디스플레이에 대한 새로운 우선순위 값들을 결정하기 위한 다른 고려사항들을 이용할 수도 있다. 예를 들어, 불규칙한 모션 센서 데이터에 기초하여, 무선 통신 디바이스는 대형 스크린 상에 렌더링된 애플리케이션들이 사용자가 조깅 중일 때에 보기가 더욱 용이하도록, 대형 스크린을 디폴트 디스플레이인 것으로 재우선순위화할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 디바이스의 배터리 상에 남아 있는 전하가 주어질 경우에, 디바이스가 지속할 수 있는 것보다 스크린이 더 많은 전력을 요구하는 것을 표시하는 스테이터스 정보에 기초하여, 복수의 디스플레이들 중에서 최저 우선순위를 가지도록 디폴트 스크린을 재우선순위화할 수도 있다.At block 810, the wireless communication device may recalculate the priorities of the displays based on assessments such as the estimated feasibility of the displays and / or the evaluated user interaction with the displays. For example, based on an evaluation of increased user interactions with certain displays during a period of time, the wireless communication device may increase the priority of certain displays (e.g., if a display has a default or priority display . The recalculation (or re-prioritizing) operations for the displays may include various weighting schemes, rule sets, balancing factors, models, mathematical equations, and other methods for determining new priority values for each display Considerations may also be used. For example, based on irregular motion sensor data, the wireless communication device may re-prioritize the large screen as the default display so that applications rendered on the large screen are easier to see when the user is jogging. As another example, a wireless communication device may be configured to display a plurality of displays, based on status information indicating that the screen requires more power than the device can sustain, given the remaining charge on the device ' The default screen may be reordered to have the lowest priority.

실시형태에서, 복수의 디스플레이들에서의 디스플레이의 하나 이상의 우선순위는 디스플레이 우선순위의 변경에 응답하여 업데이트될 수도 있거나, 또는 이와 다르게 변경될 수도 있다. 예를 들어, 제 1 디스플레이를 디폴트 (또는 가장 중요한) 디스플레이로서 재우선순위화하는 것에 응답하여, 무선 통신 디바이스는 디폴트 디스플레이였던 복수의 제 2 디스플레이를 반드시 감소 (또는 재우선순위화) 시킬 수도 있다. 블록 (812) 에서, 무선 통신 디바이스는 예컨대, 데이터베이스 내의 디스플레이들과 연관된 데이터 레코드들, 시스템 변수들, 또는 중재기에 의해 액세스가능할 수도 있는 다른 데이터를 업데이트함으로써, 디스플레이들의 재계산된 우선순위들을 저장할 수도 있다. 선택적인 블록 (814) 에서, 무선 통신 디바이스는 미리 정의된 수의 초, 분, 등과 같은 주기를 대기할 수도 있고, 그 다음으로, 블록 (804) 에서 시작하는 동작들을 반복할 수도 있다.In an embodiment, the one or more priorities of the display in the plurality of displays may be updated in response to a change in display priority, or may otherwise be changed. For example, in response to re-prioritizing the first display as the default (or most important) display, the wireless communication device may necessarily reduce (or prioritize) the plurality of secondary displays that were the default display. At block 812, the wireless communication device may store recalculated priorities of displays by updating data records, system variables, or other data that may be accessible by the arbiter, e.g., associated with displays in the database have. In an optional block 814, the wireless communication device may wait for a predefined number of seconds, minutes, and so on, and then repeat operations beginning at block 804. [

실시형태에서, 방법 (800) 은 도 7a 내지 도 7b 를 참조하여 위에서 설명된 블록 (704) 에서의 동작들 동안에 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 위에서 설명된 평가들뿐만 아니라, 특정 애플리케이션과 연관된 등록 정보 (예컨대, 애플리케이션에 대하여 렌더링되어야 할 데이터의 타입 등) 에 기초하여 특정 등록된 애플리케이션에 대한 디바이스의 디스플레이들을 재우선순위화하도록 구성될 수도 있다. 다시 말해서, 각각의 등록된 애플리케이션은 재우선순위화될 수도 있는 무선 통신 디바이스의 모든 디스플레이들에 대한 디스플레이 우선순위 리스트와 연관될 수도 있다.In an embodiment, method 800 may be performed by a wireless communication device during operations in block 704 described above with reference to Figures 7A-7B. For example, the wireless communication device may interpret the displays of a device for a particular registered application based on the properties described above (e.g., the type of data to be rendered for the application, etc.), as well as the assessments described above Or may be configured to be prioritized. In other words, each registered application may be associated with a display priority list for all displays of the wireless communication device that may be re-prioritized.

도 9a 내지 도 12 는 무선 통신 디바이스가 디스플레이를 제어하는 복수의 애플리케이션들과 일치하는 사용자 입력들을 명확하게 하기 위한 실시형태들을 예시한다. 다양한 실시형태들의 장점들 없이, 계승자 애플리케이션 (successor application) 들은, 무선 통신 디바이스가 계승자 애플리케이션들이 디스플레이의 포어그라운드에 대한 제어를 획득하는 것을 허용할 때에 선행자 애플리케이션 (predecessor application) 동작들을 차단할 수도 있다. 특히, 무선 통신 디바이스가 제 1 애플리케이션과 연관된 사용자 입력들 (예컨대, 타이핑된 텍스트, 스피치 커맨드들, 시각적 제스처들 등) 을 수신하고 있고 제 2 애플리케이션이 디스플레이의 제어를 획득하기 위하여 "팝업 (pop up)" 할 때, 사용자 입력들은 다양한 실시형태들이 액티비티가 아닐 경우에 사용자의 의도에 대항하여 제 2 애플리케이션에 적용될 수 있다. 예를 들어, 이메일 클라이언트 (email client) 에서 텍스트 입력을 수신하는 동안, 무선 통신 디바이스는 텍스트 입력 초점 (focus) 을 비디오 호출 애플리케이션으로 이동시키는 예상되지 않은 텍스트를 수신하는 것에 응답하여, 비디오 호출 애플리케이션이 포어그라운드에 도달하는 것을 허용할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 비디오 애플리케이션을 착수시킬 수도 있고, 그 다음으로, 비디오 애플리케이션이 로딩하는 동안에 포어그라운드의 제어를 이메일 클라이언트에 부여할 수도 있지만; 그러나, 무선 통신 디바이스가 이메일 클라이언트에 대한 텍스트 입력의 단어를 수신하는 도중에, 비디오 애플리케이션은 예기치 않게 팝업할 수도 있다. 또 다른 예로서, 비디오 호출 애플리케이션을 위한 음성-투-텍스트 (또는 음성 커맨드) 입력은 스케줄링된 이벤트의 발생에 기초하여 디스플레이 상에 팝업하는 달력 애플리케이션에 무의식적으로 적용될 수도 있다. 사용자들은 애플리케이션들이 언제 팝업할 수도 있는지와, 언제 디스플레이의 제어를 획득할 수도 있는지를 알지 못할 수도 있으므로, (예컨대, 0.5 초 (half-second) 이내 등) 디스플레이의 제어를 획득하는 새로운 애플리케이션에 대해 시간에 있어서 매우 근접하게 수신된 사용자 입력들이 선행자 애플리케이션에 적용되어야 하는 것으로 가정하기 위한 양호한 이유가 있을 수도 있다.Figures 9A-12 illustrate embodiments for clarifying user inputs consistent with a plurality of applications in which a wireless communication device controls a display. Without the advantages of various embodiments, successor applications may block predecessor application operations when the wireless communication device allows successor applications to obtain control of the foreground of the display. In particular, when a wireless communication device is receiving user inputs (e.g., typed text, speech commands, visual gestures, etc.) associated with a first application and a second application is receiving pop- Quot;), the user inputs may be applied to the second application against the intention of the user if the various embodiments are not activities. For example, while receiving textual input from an email client, the wireless communication device may, in response to receiving unexpected text that moves the text input focus to a video calling application, It may be allowed to reach the foreground. As yet another example, a wireless communication device may launch a video application, and then, while the video application is loading, it may give control of the foreground to the email client; However, while the wireless communication device is receiving the word of text input to the email client, the video application may pop up unexpectedly. As another example, a voice-to-text (or voice command) input for a video calling application may be unintentionally applied to a calendar application that pops up on the display based on the occurrence of the scheduled event. Users may not know when the applications may pop up and when they may gain control of the display, so that for a new application that gets control of the display (e.g., within half a second) There may be good reasons for assuming that the user inputs received in close proximity should be applied to the predecessor application.

도 9a 는 디바이스가 제 1 애플리케이션에 대해 의도된 사용자 입력을 수신할 때에 포어그라운드에 도달하는 제 2 애플리케이션에 대한 제 2 사용자 인터페이스 (906) 로 제 1 애플리케이션에 대한 제 1 사용자 인터페이스 (902) 를 렌더링하는 무선 통신 디바이스의 디스플레이 (904) 를 예시한다. 위에서 설명된 바와 같이, 제 2 애플리케이션은 무선 통신 디바이스가 착신 이벤트 또는 시간조절된-이벤트 (timed-event) 를 수신하는 것에 응답하여, 또는 프로세스가 방금 완료되고 있을 때 (백그라운드에서 로딩되는 애플리케이션이 최종적으로 착수함) 포어그라운드에 도달할 수도 있다 (즉, 디스플레이의 제어를 획득함).9A depicts a first user interface 902 for a first application with a second user interface 906 for a second application reaching foreground when the device receives an intended user input for the first application Lt; RTI ID = 0.0 > 904 < / RTI > As described above, the second application may be used in response to the wireless communication device receiving an incoming event or a timed-event, or when the process is just being completed To reach the foreground (i. E., Gain control of the display).

예시적인 예시로서, 무선 통신 디바이스의 사용자는 텍스트 입력 "Hello world" 를 제 1 애플리케이션의 제 1 사용자 인터페이스 (902) 내로 기입하도록 의도할 수도 있다. 제 1 사용자 인터페이스 (902) 는 터치패드 또는 소프트 키보드를 통해 무선 통신 디바이스 내로 타이핑된 입력과 같은 제 1 입력 텍스트 "Hello wo" 와 연관되는 것으로 도시되어 있다. 제 1 애플리케이션은 제 1 입력 텍스트가 수신 (또는 타이핑 입력) 되었을 때에 무선 통신 디바이스의 포어그라운드를 제어하고 있었으므로, 제 1 사용자 인터페이스 (902) 는 제 1 입력 텍스트와 연관될 수도 있다. 제 2 사용자 인터페이스 (906) 는 제 2 입력 텍스트 "rld" 와 연관되는 것으로 도시되어 있고, 또한, (커서 엘리먼트 (908) 에 의해 도 9a 에서 도시된) 무선 통신 디바이스에 대한 입력의 초점을 가지는 것으로 도시되어 있다. 제 2 애플리케이션은 제 2 입력 텍스트가 수신 (또는 타이핑 입력) 되었을 때에 무선 통신 디바이스의 포어그라운드를 제어하고 있었으므로, 제 2 사용자 인터페이스 (906) 는 제 2 입력 텍스트와 연관될 수도 있다. 다시 말해서, 무선 통신 디바이스가 제 1 입력 텍스트 "Hello wo" 및 제 2 입력 텍스트 "rld" 를 수신하는 것 사이에서, 제 2 애플리케이션은 무선 통신 디바이스의 포어그라운드와, 제 1 애플리케이션으로부터 변경된 초점에 도달하였다.As an illustrative example, a user of the wireless communication device may intend to write a textual input "Hello world" into the first user interface 902 of the first application. The first user interface 902 is shown associated with a first input text "Hello wo ", such as an input typed into a wireless communication device via a touchpad or soft keyboard. Since the first application was controlling the foreground of the wireless communication device when the first input text was received (or typing input), the first user interface 902 may be associated with the first input text. The second user interface 906 is shown as being associated with the second input text "rld ", and also has a focus of input to the wireless communication device (shown by the cursor element 908 in FIG. 9A) Respectively. Since the second application was controlling the foreground of the wireless communication device when the second input text was received (or typing input), the second user interface 906 may be associated with the second input text. In other words, between the wireless communication device receiving the first input text "Hello wo" and the second input text "rld ", the second application has reached the foreground of the wireless communication device, Respectively.

도 9b 는 무선 통신 디바이스가 타이밍 정보에 기초하여 수신된 사용자 입력들을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법 (950) 을 예시한다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 다양한 시간 입력들이 수신되었고 애플리케이션 초점이 시프트되었음을 평가함으로써, 수신된 사용자 입력들에 대한 의도된 타겟 애플리케이션을 추론하기 위한 동작들을 수행할 수도 있다. 다양한 실시형태들에서, 방법 (950) 은 도 5 내지 도 6 을 참조하여 위에서 설명된 방법들의 일부로서 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 도 5 의 블록 (160) 또는 도 6 의 블록 (180) 에서의 동작들을 수행한 후에 방법 (950) 을 수행할 수도 있다.9B illustrates an embodiment of a method 950 for a wireless communication device to associate received user inputs with a first or second application based on timing information. For example, the wireless communication device may perform operations for inferring an intended target application for received user inputs, by evaluating that the various time inputs have been received and the application focus shifted, via the arbiter. In various embodiments, the method 950 may be performed by a wireless communication device as part of the methods described above with reference to Figures 5-6. For example, the wireless communication device may perform method 950 after performing operations in block 160 of FIG. 5 or block 180 of FIG. 6 via an arbiter.

블록 (952) 에서, 무선 통신 디바이스는 제 1 애플리케이션으로부터 제 2 애플리케이션으로의 포어그라운드 (또는 디스플레이) 의 제어에 있어서의 변경을 검출할 수도 있다. 예를 들어, 제 2 애플리케이션은 중재기가 도 5 의 블록 (160) 또는 도 6 의 블록 (180) 에서의 동작들로 플래그를 전송하였던 비디오 호출 애플리케이션일 수도 있다. 무선 통신 디바이스는 또한, 제 2 애플리케이션이 포어그라운드의 제어를 획득하였던 하루 중의 0.5 초와 같은, 제어에 있어서의 변경과 연관된 시간을 식별하고 저장할 수도 있다. 다양한 실시형태들에서, 무선 통신 디바이스는 오퍼레이팅 시스템 테이블, 시스템 변수, 또는 현재의 제어 애플리케이션뿐만 아니라, 제어 애플리케이션에 의해 제어가 획득되었던 시간도 표시하는 다른 저장된 정보를 평가함으로써, 변경을 검출할 수도 있다. 실시형태에서, 제어에 있어서의 변경은 제 2 애플리케이션이 포어그라운드의 제어를 획득하는 것에 응답하여 생성된 인터럽트 또는 다른 신호에 기초하여 검출될 수도 있다. 실시형태에서, 제어에 있어서의 변경은 초점 표시자에 있어서의 변경 (예컨대, 초점은 사용자 입력들을 삽입하기 위한 목적으로 하나의 사용자 인터페이스로부터 또 다른 것으로 이동될 수도 있음) 을 평가함으로써 검출될 수도 있다.At block 952, the wireless communication device may detect a change in control of the foreground (or display) from the first application to the second application. For example, the second application may be a video call application in which the arbiter has transmitted a flag to the operations in block 160 of FIG. 5 or block 180 of FIG. The wireless communication device may also identify and store the time associated with the change in control, such as 0.5 seconds during the day when the second application obtained control of the foreground. In various embodiments, the wireless communication device may detect a change by evaluating not only the operating system table, system variables, or current control application, but also other stored information indicative of the time at which control was obtained by the control application . In an embodiment, the change in control may be detected based on an interrupt or other signal generated in response to the second application obtaining control of the foreground. In an embodiment, a change in control may be detected by evaluating a change in the focus indicator (e.g., the focus may be moved from one user interface to another for the purpose of inserting user inputs) .

블록 (953) 에서, 무선 통신 디바이스는 제어에 있어서의 변경 전에 발생하는 제 1 입력과, 제어에 있어서의 변경 후에 발생하는 제 2 입력을 식별할 수도 있다. 무선 통신 디바이스는 어떤 시간 주기 동안에 디바이스에 의해 수신된 사용자 입력 값들 또는 작동 (action) 들을 저장하는 메모리에서의 일시적인 저장 로케이션과 같은 입력 버퍼를 평가할 수도 있고, 버퍼링된 입력들과 연관된 수신 정보의 시간에 기초하여 제 1 및 제 2 입력들을 식별할 수도 있다. 예를 들어, 수신된 사용자 입력들은 수신의 시간들, 및/또는 사용자 입력들의 수신 시에 포어그라운드를 제어하는 (즉, 초점을 가지는) 애플리케이션과 연관되어 저장될 수도 있다. 대안적으로, 무선 통신은 상이한 애플리케이션들에 대하여 다양한 버퍼들, 어레이들, 또는 다른 데이터 구조들을 이용하도록 구성될 수도 있다. 예를 들어, 무선 통신 디바이스는 제 1 입력을, 포어그라운드를 제어하기 위한 이전의 애플리케이션과 연관된 제 1 버퍼 내에 저장된 데이터로서 식별할 수도 있고, 제 2 입력을, 포어그라운드를 제어하기 위한 현재의 애플리케이션과 연관된 제 2 버퍼 내에 저장된 데이터로서 식별할 수도 있다. 실시형태에서, 제 1 입력은 제어에 있어서의 변경 이전에 수신되었던 사용자 입력의 세그먼트 (예컨대, 가장 최근에 수신된 세그먼트) 뿐일 수도 있다. 예를 들어, 제 1 입력은 제어에 있어서의 변경 이전이지만, 구두법 마크 (punctuation mark), 공간 기호, 리턴 캐리지 (return carriage), 또는 텍스트의 스트림 내의 다른 논리적 분할부 이후에 수신된 텍스트 입력으로서 식별될 수도 있다. 실시형태에서, 무선 통신 디바이스는 제 1 및 제 2 입력들을 수신하는 시간을 식별하기 위하여, 마우스 클릭, 터치, 또는 키보드 이벤트들과 같은 검출된 입력 이벤트들을 사용할 수도 있다. 다양한 실시형태들에서, 사용자 입력들은 터치 입력들 (예컨대, 누름 (press) 들, 스와이프 (swipe) 들, 탭 (tap) 들 등), 텍스트 입력들 (예컨대, 타이핑된 단어들 등), 발성된 (spoken) 또는 구어 (verbal) 입력들 (예컨대, 음성 커맨드들 등), 및/또는 시각적 입력들 (예컨대, 제스처들 등) 일 수도 있다.At block 953, the wireless communication device may identify a first input occurring prior to the change in control and a second input occurring after the change in control. The wireless communication device may evaluate an input buffer, such as a temporary storage location in a memory that stores user input values or actions received by the device during a time period, and may compare the time of the received information associated with the buffered inputs And may identify the first and second inputs based on the first and second inputs. For example, received user inputs may be stored in association with applications that control the foreground (i.e., have focus) upon reception of times and / or user inputs. Alternatively, the wireless communication may be configured to use various buffers, arrays, or other data structures for different applications. For example, the wireless communication device may identify the first input as data stored in a first buffer associated with a previous application for controlling the foreground, and the second input to the current application for controlling the foreground As data stored in a second buffer associated with the second buffer. In an embodiment, the first input may be only the segment of the user input that was received prior to the change in control (e.g., the most recently received segment). For example, the first input may be identified prior to the change in control, but as a punctuation mark, a space sign, a return carriage, or other textual input received after another logical partition within the stream of text . In an embodiment, the wireless communication device may use detected input events, such as mouse click, touch, or keyboard events, to identify the time at which to receive the first and second inputs. In various embodiments, user inputs may include touch inputs (e.g., presses, sweeps, taps, etc.), text inputs (e.g., typed words, etc.) Spoken or verbal inputs (e.g., voice commands, etc.), and / or visual inputs (e.g., gestures, etc.).

제 2 애플리케이션이 사용자 기입된 입력들 (예컨대, 텍스트, 음성 등) 후의 어떤 시간에 포어그라운드의 제어를 획득할 때, 제 2 애플리케이션은 진행 중인 사용자 입력을 중단하고 있는 것으로 고려되지 않을 수도 있다. 이에 따라, 결정 블록 (954) 에서, 무선 통신 디바이스는 제 1 입력이 제어에 있어서 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정할 수도 있다. 다시 말해서, 제 1 입력을 수신하는 것과, 제어에 있어서의 검출된 변경 사이의 시간이 제 1 시간 문턱을 초과할 때, 제 2 입력은 제 1 입력의 계속일 가능성이 아닐 수도 있다 (즉, 사용자가 제 2 입력이 제 2 애플리케이션과 연관되도록 의도하였던 것으로 추론될 수도 있음). 제 1 시간 문턱은 0.5 초(들)와 같은 미리 정의된 값일 수도 있고, 및/또는 사용자 선호도들에 기초할 수도 있다. 실시형태에서, 무선 통신 디바이스는 미리 정의된 제 1 시간 문턱 값을, 제어에 있어서의 변경의 시간을 갖는 식별된 제 1 입력과 연관된 수신의 시간에 있어서의 차이를 나타내는 계산된 값을 비교할 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (954) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 예를 들어, 제 1 입력이 제 2 애플리케이션이 포어그라운드의 제어를 획득하기 이전의 수 초 (예컨대, 30 초 등) 에 수신되었을 때, 무선 통신 디바이스는 제 2 입력이 제 2 애플리케이션에 대해 의도된 것으로 해독할 수도 있다.When the second application obtains control of the foreground at some time after the user-written inputs (e.g., text, voice, etc.), the second application may not be considered to be stopping ongoing user input. Accordingly, at decision block 954, the wireless communication device may determine whether the first input has been received within the first time threshold of change in control. In other words, when the time between receiving the first input and the detected change in control exceeds the first time threshold, the second input may not be a continuation of the first input (i.e., May infer that the second input was intended to be associated with the second application). The first time threshold may be a predefined value such as 0.5 seconds (s), and / or may be based on user preferences. In an embodiment, the wireless communication device may compare a predefined first time threshold to a computed value representing a difference in time of reception associated with the identified first input having a time of modification in control . If the first input is received outside the first time threshold of the change in control (i.e., decision block 954 = "NO"), then at block 960 the wireless communication device transmits the second input to the second It can also be associated with an application. For example, when the first input is received a few seconds (e.g., 30 seconds, etc.) before the second application obtains control of the foreground, the wireless communication device determines that the second input is intended for the second application .

제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (954) = "예"), 결정 블록 (956) 에서, 무선 통신 디바이스는 제 2 입력이 제어에 있어서의 변경의 제 2 시간 문턱 내에서 발생하였는지 여부를 결정할 수도 있다. 다시 말해서, 제어의 검출된 변경과, 제 2 입력을 수신하는 것과의 사이의 시간이 제 2 시간 문턱을 초과할 때, 제 2 입력은 제 1 입력의 계속이 아닌 것으로 추정될 수도 있다 (즉, 사용자가 제 2 입력이 제 2 애플리케이션과 연관되도록 의도하였던 것으로 추론될 수도 있음). 무선 통신 디바이스가 미리 정의된 제 2 문턱 값과 비교하기 위한 시간 윈도우 (time window) 를 계산하기 위하여 제 1 을 수신하는 시간 대신에 제 2 입력을 수신하는 시간을 이용할 수도 있다는 것을 제외하고는, 결정 블록 (956) 에서의 동작들이 결정 블록 (954) 을 참조하여 위에서 설명된 것들과 유사할 수도 있다. 다양한 실시형태들에서, 제 1 시간 문턱 및 제 2 시간 문턱은 동일한 값일 수도 있다.If the first input is received within the first time threshold of change in control (i.e., decision block 954 = "YES"), then at decision block 956, the wireless communication device determines that the second input is in control Lt; RTI ID = 0.0 > of the < / RTI > In other words, when the time between the detected change of control and the receipt of the second input exceeds the second time threshold, the second input may be assumed not to be a continuation of the first input (i.e., The user may be inferred that the second input was intended to be associated with the second application). Except that the wireless communication device may use the time to receive the second input instead of the time to receive the first to compute a time window for comparison with a second predetermined threshold value, Operations at block 956 may be similar to those described above with reference to decision block 954. In various embodiments, the first time threshold and the second time threshold may be the same value.

제 2 입력이 제 2 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (956) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 그러나, 제 2 입력이 제 2 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (956) = "예"), 블록 (958) 에서, 무선 통신 디바이스는 제 2 입력을 제 1 애플리케이션과 연관시킬 수도 있다. 다시 말해서, 무선 통신은 제 1 애플리케이션에 대한 사용자 입력이 포어그라운드의 제어를 취하는 제 2 애플리케이션에 의해 차단된 것으로 결정할 수도 있으므로, 제 2 입력은 제 1 애플리케이션과 연관될 수도 있다. 선택적인 블록 (962) 에서, 무선 통신 디바이스는 포어그라운드의 제어를 제 1 애플리케이션으로 반환할 수도 있다. 예를 들어, 중재기를 통해, 무선 통신 디바이스는 사용자 입력이 차단되었다는 결정에 기초하여, 포어그라운드를 제어하기 위한 우선순위를 가지는 것을 표시하는 플래그를 제 1 애플리케이션으로 전송할 수도 있다.If the second input is received outside the second time threshold (i.e., decision block 956 = "no"), then at block 960, the wireless communication device may associate the second input with the second application . However, if the second input is received within the second time threshold (i.e., decision block 956 = "YES"), then at block 958, the wireless communication device may associate the second input with the first application . In other words, the wireless communication may determine that the user input to the first application is blocked by the second application taking control of the foreground, so that the second input may be associated with the first application. In optional block 962, the wireless communication device may return control of the foreground to the first application. For example, via the arbiter, the wireless communication device may send a flag to the first application indicating that it has priority to control the foreground, based on the determination that the user input is blocked.

다양한 실시형태들에서, 결정 블록들 (954 내지 956) 에서의 동작들을 수행하는 대신에, 무선 통신 디바이스는 미리 정의된 문턱 값을 갖는 제 1 및 제 2 입력들을 수신하는 것 사이의 시간을 간단히 비교하도록 구성될 수도 있다. 예를 들어, 일단 무선 통신 디바이스가 제 1 입력이 제어에 있어서의 변경 전에 수신되고 제 2 입력이 제어에 있어서의 변경 후에 수신된 것으로 결정하면, 무선 통신 디바이스는 제 2 입력이 제 2 애플리케이션과 연관될 수도 있는지 여부를 결정하기 위하여, 2 개의 수신들 사이의 측정된 시간을 비교하기만 할 필요가 있을 수도 있다.In various embodiments, instead of performing operations in decision blocks 954 through 956, the wireless communication device simply compares the time between receiving the first and second inputs with a predefined threshold value . For example, once the wireless communication device determines that the first input is received before the change in control and the second input is received after the change in control, the wireless communication device determines that the second input is associated with the second application It may be necessary to only compare the measured time between two receivers in order to determine whether or not it may be possible.

다양한 실시형태들에서, 무선 통신 디바이스는 수신된 사용자 입력들 (예컨대, 음성, 텍스트, 제스처들 등) 이 제 1 또는 제 2 애플리케이션에 대해 의도되는지 여부를 결정하기 위한 다양한 인자들, 규칙 세트들, 밸런싱 테스트들, 가중화 방식들, 및 다른 로직을 사용할 수도 있다. 예를 들어, 위에서 설명된 바와 같이 시간 측정들을 평가하는 것에 추가하여, 무선 통신 디바이스는 또한, 사용자가 수신된 사용자 입력들 (예컨대, 타이핑된 텍스트의 스트림) 에 대응하는 디바이스의 포어그라운드의 초점을 변경하도록 의도하였는지 여부를 결정하기 위하여 조작 불능 (no-op) 터치 입력들 및 검출된 터치 입력들의 로케이션을 평가할 수도 있다. 예시로서, 무선 통신 디바이스는 제 2 입력에 관련된 초점 변경이 의도적이었는지 여부를 결정하기 위하여, 터치 입력이 제 2 애플리케이션 텍스트 박스에 일치하는 것으로 검출되었는지 여부를 식별할 수도 있다.In various embodiments, the wireless communication device may include various factors, rules sets, and / or parameters for determining whether the received user inputs (e.g., voice, text, gestures, etc.) are intended for the first or second application Balancing tests, weighting schemes, and other logic may be used. For example, in addition to evaluating the time measurements as described above, the wireless communication device may also be configured to allow the user to focus the foreground of the device corresponding to the received user inputs (e.g., a stream of typed text) (No-op) touch inputs and the location of the detected touch inputs to determine whether or not the touch input is intended to change. By way of example, the wireless communication device may identify whether the touch input was detected as being consistent with the second application text box, to determine whether the focus change associated with the second input was intentional.

제 1 및 제 2 애플리케이션에 대해 의도된 사용자 입력들을 명확하게 하기 위한 또 다른 기법은 추가적인 사용자 입력 (또는 선택 입력) 을 요청하거나 초대하는 프롬프트 다이얼로그 박스 (prompt dialog box) 를 생성하는 것을 포함할 수도 있다. 도 10a 는 제 1 애플리케이션에 대한 제 1 사용자 인터페이스 (902), 포어그라운드에 도달하는 제 2 애플리케이션에 대한 제 2 사용자 인터페이스 (1003), 및 입력을 명확하게 하기 위한 선택 입력을 초대하는 프롬프트 다이얼로그 박스 (1002) 를 렌더링하는 무선 통신 디바이스의 실시형태의 디스플레이 (904) 를 예시한다.Another technique for clarifying intended user inputs for the first and second applications may include creating a prompt dialog box that requests or invites additional user input (or selection input) . 10A shows a first user interface 902 for a first application, a second user interface 1003 for a second application to reach foreground, and a prompt dialog box (FIG. 10A) for inviting a selection input to clarify input 1002, < / RTI > of a wireless communication device.

예로서, 무선 통신 디바이스의 사용자는 텍스트 입력 "Hello world" 를 제 1 애플리케이션의 제 1 사용자 인터페이스 (902) 내로 기입하도록 의도할 수도 있다. 제 1 사용자 인터페이스 (902) 는 터치패드 또는 소프트 키보드를 통해 무선 통신 디바이스 내로 타이핑된 입력과 같은 제 1 입력 텍스트 "Hello wo" 와 연관되는 것으로 도시되어 있다. 제 1 애플리케이션은 제 1 입력 텍스트가 수신 (또는 타이핑 입력) 되었을 때에 무선 통신 디바이스의 포어그라운드를 제어하고 있었으므로, 제 1 사용자 인터페이스 (902) 는 제 1 입력 텍스트와 연관될 수도 있다.By way of example, a user of the wireless communication device may intend to write a textual input "Hello world" into the first user interface 902 of the first application. The first user interface 902 is shown associated with a first input text "Hello wo ", such as an input typed into a wireless communication device via a touchpad or soft keyboard. Since the first application was controlling the foreground of the wireless communication device when the first input text was received (or typing input), the first user interface 902 may be associated with the first input text.

제 2 사용자 인터페이스 (1003) 는 임의의 연관된 입력을 가지지 않는 것으로 도 10a 에서 도시되어 있다. 그러나, 프롬프트 다이얼로그 박스 (1002) 는 제 2 입력 텍스트 "rld" 뿐만 아니라, 제 2 입력 텍스트와 연관되어야 하는 애플리케이션을 택할 것을 사용자에게 촉구하는 화살표 UI 엘리먼트들 (1004, 1005) 도 포함할 수도 있다. 특히, 제 1 화살표 UI 엘리먼트 (1004) 는 선택될 때에 제 2 입력 텍스트를 제 1 애플리케이션과 연관시키도록 구성될 수도 있고, 제 2 화살표 UI 엘리먼트 (1005) 는 선택될 때에 제 2 입력 텍스트를 제 2 애플리케이션과 연관시키도록 구성될 수도 있다.The second user interface 1003 is shown in Figure 10A as having no associated input. However, the prompt dialog box 1002 may also include the second input text "rld ", as well as the arrow UI elements 1004 and 1005 that prompt the user to select an application that should be associated with the second input text. In particular, the first arrow UI element 1004 may be configured to associate a second input text with the first application when selected, and the second arrow UI element 1005, when selected, Application. ≪ / RTI >

도 10b 는 무선 통신 디바이스가 타이밍 정보 및 사용자로부터의 선택 입력들에 기초하여 수신된 사용자 입력을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법 (1050) 을 예시한다. 방법 (1050) 이 사용자가 응답할 수도 있는 프롬프트들을 이용함으로써 사용자 입력들을 명확하기 위한 동작들을 포함할 수도 있다는 것을 제외하고는, 방법 (1050) 은 위에서 설명된 방법 (950) 과 유사하다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 다양한 타이밍 측정들을 평가함으로써 사용자 입력들에 대한 의도된 타겟 애플리케이션을 추론하기 위한 동작들을 수행할 수도 있고, 사용자들로부터의 선택 입력들을 초대하거나 요청하는 프롬프트들 (예컨대, 팝업 다이얼로그 박스들, 톤들, 시각자료들 등) 을 추가로 렌더링할 수도 있다. 다양한 실시형태들에서, 방법 (1050) 은 도 5 내지 도 6 을 참조하여 위에서 설명된 방법들의 일부로서 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 도 5 의 블록 (160) 또는 도 6 의 블록 (180) 에서의 동작들을 수행한 후에 방법 (1050) 을 수행할 수도 있다.10B illustrates an embodiment of a method 1050 for a wireless communication device to associate received user input with a first or second application based on timing information and selection inputs from a user. Method 1050 is similar to method 950 described above, except that method 1050 may include operations for clarifying user inputs by using prompts that the user may respond to. For example, the wireless communication device may perform operations to infer an intended target application for user inputs by evaluating various timing measurements, via an arbiter, and may prompt to invite or request selection inputs from users (E.g., pop-up dialog boxes, tones, visual materials, etc.). In various embodiments, the method 1050 may be performed by a wireless communication device as part of the methods described above with reference to Figures 5-6. For example, the wireless communication device may perform method 1050 after performing operations in block 160 of FIG. 5 or block 180 of FIG. 6 via an arbiter.

블록 (952) 에서, 무선 통신 디바이스는 제 1 애플리케이션으로부터 제 2 애플리케이션으로의 포어그라운드의 제어에 있어서의 변경을 검출할 수도 있다. 블록 (953) 에서, 무선 통신 디바이스는 제어에 있어서의 변경 전에 발생하는 제 1 입력과, 제어에 있어서의 변경 후에 발생하는 제 2 입력을 식별할 수도 있다. 결정 블록 (954) 에서, 무선 통신 디바이스는 제 1 입력이 제어에 있어서 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정할 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (954) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (954) = "예"), 결정 블록 (956) 에서, 무선 통신 디바이스는 제 2 입력이 제어에 있어서의 변경의 제 2 시간 문턱 내에서 발생하였는지 여부를 결정할 수도 있다. 제 2 입력이 제 2 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (956) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다.At block 952, the wireless communication device may detect a change in control of the foreground from the first application to the second application. At block 953, the wireless communication device may identify a first input occurring prior to the change in control and a second input occurring after the change in control. At decision block 954, the wireless communication device may determine whether the first input has been received within the first time threshold of change in control. If the first input is received outside the first time threshold of the change in control (i.e., decision block 954 = "NO"), then at block 960 the wireless communication device transmits the second input to the second It can also be associated with an application. If the first input is received within the first time threshold of change in control (i.e., decision block 954 = "YES"), then at decision block 956, the wireless communication device determines that the second input is in control Lt; RTI ID = 0.0 > of the < / RTI > If the second input is received outside the second time threshold (i.e., decision block 956 = "no"), then at block 960, the wireless communication device may associate the second input with the second application .

그러나, 제 2 입력이 제 2 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (956) = "예"), 블록 (1052) 에서, 무선 통신 디바이스는 제 2 입력을 연관시키기 위한 후속 사용자 선택 입력들을 요청하는 프롬프트 정보를 렌더링할 수도 있다. 예를 들어, 무선 통신 디바이스는 추가의 사용자 입력들이 제 2 입력에 대한 의도된 애플리케이션을 결정하기 위하여 필요하다는 것을 표시하는 팝업 다이얼로그 박스, 사운드 (예컨대, 음악 샘플, 톤, 처프 (chirp), 자동화된 가청 메시지 등), 및/또는 시각자료 (들) (예컨대, 디스플레이된 텍스트 메시지, 렌더링된 기호 등) 를 렌더링할 수도 있다. 렌더링된 프롬프트 정보는 도 9b 를 참조하여 위에서 설명된 바와 같은, 순수하게 시간-기반 결정에 대한 세분화로 고려될 수도 있다. 다시 말해서, 프롬프트 정보는, 무선 통신 디바이스가 제 2 입력은 제 2 애플리케이션이 포어그라운드의 제어를 획득한 후에 제 2 시간 윈도우 내에 수신되었으며 제 1 입력은 제어의 변경이 발생하기 전에 제 1 시간 윈도우 내에 수신된 것으로 결정할 때에 생성되기만 할 수도 있다. 이러한 방법으로, 프롬프트 정보는, 사용자의 의도가 특히 모호한 상황들에서 렌더링되기만 할 수도 있다 (즉, 제 2 입력의 수신은 제 1 입력의 제어 또는 수신에 있어서의 변경과 시간에 있어서 매우 근접함). 실시형태에서, 무선 통신 디바이스가 입력들을 명확하게 하기 위하여 프롬프트 정보를 렌더링하도록 구성될 때, 제 1 및 제 2 시간 문턱들은 사용자 선호도에 기초하여 더 큰 (또는 더 작은) 시간 윈도우들을 나타낼 수도 있다.However, if the second input is received within the second time threshold (i.e., decision block 956 = "YES"), then at block 1052, the wireless communication device transmits subsequent user selection inputs You can also render the prompt information you request. For example, the wireless communication device may include a pop-up dialog box that indicates that additional user inputs are needed to determine the intended application for the second input, a sound (e.g., music sample, tone, chirp, An audible message, etc.), and / or visual data (s) (e.g., displayed text messages, rendered symbols, etc.). The rendered prompting information may be considered as a granularity for a purely time-based decision, as described above with reference to FIG. 9B. In other words, the prompting information indicates that the wireless communication device has received the second input within the second time window after the second application has obtained control of the foreground and the first input is within the first time window It may be generated only when it is determined to be received. In this way, the prompting information may only be rendered in situations where the user's intention is particularly ambiguous (i.e., the reception of the second input is very close in time to the change in control or reception of the first input) . In an embodiment, when the wireless communication device is configured to render prompt information to clarify inputs, the first and second time thresholds may represent larger (or smaller) time windows based on user preferences.

실시형태에서, 무선 통신 디바이스는, 제어에 있어서의 변경을 표시할 수도 있으며 그/그녀가 디바이스를 쳐다 보지 않을 때에도 사용자에 의해 청취될 수도 있는 가청 프롬프트 정보를 렌더링할 수도 있다. 예를 들어, 사용자가 스피치-투-텍스트 또는 음성 커맨드 모드를 통해, 무선 통신 디바이스 상에서 실행되는 제 1 애플리케이션 (예컨대, 노트패드 애플리케이션) 내로 입력을 기입하고 있을 때, 사용자는 무선 통신 디바이스의 디스플레이를 쳐다 보고 있지 않을 수도 있고, 이에 따라, 제 2 애플리케이션 (예컨대, 시간조절된 달력 팝업) 이 언제 포어그라운드의 제어를 획득하는지를 볼 수 없을 수도 있다. 따라서, 사용자에게 통지하기 위하여, 무선 통신 디바이스는 제어의 변경 (또는 초점의 변경) 을 표시하는 특수한 톤, 처프, 음악, 사운드, 또는 메시지 (예컨대, "제 2 애플리케이션으로의 전환") 를 방출할 수도 있다. 실시형태에서, 음성 입력들 (예컨대, 스피치-투-텍스트 입력, 음성 커맨드 모드 동안의 음성 데이터, 전화 호출에 대한 음성 데이터 등) 을 수신할 때, 무선 통신 디바이스는 포어그라운드를 현재 제어하는 애플리케이션을 표시하는 백그라운드 사운드들을 주기적으로 렌더링할 수도 있다. 예를 들어, 무선 통신 디바이스는 제 1 애플리케이션이 포어그라운드에 있는 동안에 제 1 고유 백그라운드 잡음 또는 톤을 방출할 수도 있고, 제 2 애플리케이션이 포어그라운드에 있는 동안에 제 2 고유 백그라운드 잡음 또는 톤을 방출할 수도 있다.In an embodiment, the wireless communication device may display changes in control and / or may render audible prompting information that may be listened to by the user even when he / she is not looking at the device. For example, when a user is writing input into a first application (e.g., a notepad application) running on a wireless communication device via a speech-to-text or voice command mode, May not be staring, and thus may not be able to see when a second application (e.g., a timed calendar popup) gains control of the foreground. Accordingly, in order to notify the user, the wireless communication device may emit a special tone, chirp, music, sound, or message (e.g., "switch to second application") indicating a change in control It is possible. In an embodiment, upon receiving voice inputs (e.g., speech-to-text input, voice data during voice command mode, voice data for telephone calls, etc.), the wireless communication device may send an application that currently controls the foreground You can also periodically render the displayed background sounds. For example, the wireless communication device may emit a first intrinsic background noise or tone while the first application is in foreground, or may emit a second intrinsic background noise or tone while the second application is in foreground have.

결정 블록 (1054) 에서, 무선 통신 디바이스는 제 2 입력이 제 1 앱과 연관되는 것을 표시하는 선택 입력 (또는 사용자 선택 입력) 이 수신되는지 여부를 결정할 수도 있다. 예를 들어, 무선 통신 디바이스는, 제 2 입력 (예컨대, 텍스트 "rld") 을 제 1 입력과 연관시키는 것에 대응하는, 팝업 다이얼로그 박스 상의 화살표 UI 엘리먼트에 대응하는 터치 입력 또는 다른 버튼 누름을 검출하는지 여부를 결정할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는, 제 2 입력이 제 1 애플리케이션과 연관되는 것을 표시하는 음성 커맨드 (예컨대, "다시 전환", "제 1 애플리케이션을 계속함!", "제 1 로 복귀" 등) 를 검출하는지 여부를 결정할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 제 2 입력이 제 1 애플리케이션과 연관되는 것을 표시하는 미리 정의된 시각적 제스처 커맨드 (예컨대, 사용자가 자신의 손을 어떤 측으로 스와이핑하는 것을 나타내는 카메라에 의해 캡처된 화상, 사용자가 어떤 손 신호를 행하는 것을 나타내는 화상, 사용자가 찌푸리는 것/웃는 것을 나타내는 화상 등) 를 검출하는지 여부를 결정할 수도 있다. 다양한 실시형태들에서, 무선 통신 디바이스는 이미지 프로세싱, 얼굴 인식, 자연 언어 프로세싱, 및/또는 다른 스피치 분석을 이용하여 수신된 선택 입력들을 프로세싱하도록 구성될 수도 있다. 무선 통신 디바이스는 선택 입력이 제 2 입력이 제 2 (또는 제 1) 애플리케이션과 연관되는 것을 표시하는지 여부를 결정하기 위하여, 수신된 선택 입력들 (예컨대, 발성된 단어들, 온-스크린 제스처들 등) 을 저장된 라이브러리들 또는 알려진 패턴들, 단어들, 이미지들, 및 기호들과 비교하도록 추가로 구성될 수도 있다.At decision block 1054, the wireless communication device may determine whether a select input (or user select input) indicating that the second input is associated with the first app is received. For example, the wireless communication device determines whether it detects touch input or other button presses corresponding to arrow UI elements on the pop-up dialog box, corresponding to associating a second input (e.g., text "rld") with the first input You can also decide if you want to. As another example, the wireless communication device may include a voice command (e.g., "switch back," continue the first application, "return to first ", etc.) indicating that the second input is associated with the first application, ≪ / RTI > As another example, the wireless communication device may include a predefined visual gesture command (e.g., a video captured by the camera indicating that the user is swiping his / her hand to a certain side) indicating that the second input is associated with the first application , An image indicating that the user performs a certain hand signal, an image indicating that the user frowns / laughs, and the like). In various embodiments, the wireless communication device may be configured to process received selection inputs using image processing, face recognition, natural language processing, and / or other speech analysis. The wireless communication device may be configured to receive received selection inputs (e.g., uttered words, on-screen gestures, etc.) to determine whether the selection input indicates that the second input is associated with a second (or first) ) With stored libraries or known patterns, words, images, and symbols.

실시형태에서, 무선 통신 디바이스는 제어에 있어서의 변경들을 디스에이블하는 특수한 음성 커맨드들 또는 온-스크린 제스처들과 같은 어떤 선택 입력들을 수신하도록 구성될 수도 있다. 다시 말해서, 무선 통신 디바이스는, 제 1 애플리케이션이 무선 통신 디바이스 (및 중재기) 에게 미리 무슨 일이 있어도 현재의 초점 및 연관된 입력들이 차단되지 않아야 함을 통지하는 포어그라운드에 있는 동안에는, 음성 커맨드, 발성된 어구, 또는 신체적 제스처 (예컨대, 손 신호, 스와이프 등) 를 수신하거나 레코딩할 수도 있다. 예를 들어, 포어그라운드에서의 제 1 애플리케이션 비디오 호출의 실행 동안, 무선 통신은 비디오 호출이 완료되었을 때까지 초점이 변경되지 않아야 함을 표시하는 음성 커맨드 (예컨대, "내가 행할 때까지 호출을 계속해!") 레코딩할 수도 있다.In an embodiment, the wireless communication device may be configured to receive certain selection inputs, such as special voice commands or on-screen gestures, that disable changes in control. In other words, while the first application is in foreground notifying the wireless communication device (and the arbiter) that the current focus and associated inputs should not be blocked whatever happens in advance, Or a physical gesture (e.g., a hand signal, a swipe, etc.). For example, during the execution of the first application video call in the foreground, the wireless communication may include a voice command indicating that the focus should not change until the video call is complete (e.g., "continue calling until I do! ").

제 2 입력이 제 1 애플리케이션과 연관되는 것을 표시하는 선택 입력이 수신되지 않을 경우 (즉, 결정 블록 (1054) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 그러나, 제 2 입력이 제 1 애플리케이션과 연관되는 것을 표시하는 선택 입력이 수신될 경우 (즉, 결정 블록 (1054) = "예"), 블록 (958) 에서, 무선 통신 디바이스는 제 2 입력을 제 1 애플리케이션과 연관시킬 수도 있다.If the selection input indicating that the second input is associated with the first application is not received (i.e., decision block 1054 = "NO"), then at block 960 the wireless communication device transmits the second input to the second It can also be associated with an application. However, if a selection input indicating that a second input is associated with the first application is received (i.e., decision block 1054 = "YES"), then at block 958, 1 application.

도 11a 는 제 1 애플리케이션에 대한 제 1 사용자 인터페이스 (1102), 포어그라운드에 도달하는 제 2 애플리케이션에 대한 제 2 사용자 인터페이스 (1106), 및 초점이 제 2 사용자 인터페이스 (1106) 상에 있는 것으로 도시하는 커서 엘리먼트 (908) 를 렌더링하는 무선 통신 디바이스의 디스플레이 (904) 를 예시한다. 도 9a 에서 위에 예시된 예와 달리, 2 개의 인터페이스들 (1102, 1106) 에서의 텍스트 입력은 단어 또는 어구의 중간에서 분리되지 않는다. 그 대신에, 텍스트의 의미 또는 내용에 기초하여, 제 1 입력 텍스트 "Hold on…" 는 사용자가 제 1 사용자 인터페이스 (1102) (예컨대, 제 1 비디오 호출 애플리케이션) 와 상호작용하는 것을 일시적으로 저장하도록 의도하는 것을 표시할 수도 있고, 제 2 입력 텍스트 "Are you there?" 는 사용자가 제 2 사용자 인터페이스 (1106) (예컨대, 제 2 비디오 호출 애플리케이션) 과 상호작용하는 것을 시작하도록 의도하는 것을 표시할 수도 있다. 그러나, 제 1 입력 텍스트 및 제 2 입력 텍스트를 수신하는 것 사이의 시간이 미리 정의된 문턱보다 더 짧을 경우 (예컨대, 사용자가 친구들에게 정신없이 텍스팅할 때의 윈도우들 사이에서 신속하게 토글 (toggle) 하거나 전환함 등), 무선 통신 디바이스는 제 2 입력 텍스트를 제 2 사용자 인터페이스 (1106) 와 적당하게 연관시킬 수 없을 수도 있다. 이하에서 설명된 실시형태의 방법 (1150) 은 포어그라운드 제어에 있어서의 변경이 발생할 때에 수신된 입력들을 적당하게 연관시키기 위하여 무선 통신 디바이스가 수행할 수도 있는 추가적인 평가들을 예시한다.11A shows a first user interface 1102 for a first application, a second user interface 1106 for a second application reaching foreground, and a second user interface 1106 for showing focus on the second user interface 1106 Illustrates a display 904 of a wireless communication device that renders a cursor element 908. Unlike the example illustrated above in FIG. 9A, the textual input at the two interfaces 1102 and 1106 is not separated in the middle of a word or phrase. Instead, based on the meaning or content of the text, the first input text "Hold on ..." may be used to temporarily store the user interacting with the first user interface 1102 (e.g., the first video calling application) The second input text "Are you there?" May indicate that the user intends to begin interacting with the second user interface 1106 (e.g., the second video calling application). However, if the time between receiving the first input text and the second input text is shorter than a predefined threshold (e.g., if the user quickly toggles between windows when text- ), Or the like), the wireless communication device may not be able to reasonably associate the second input text with the second user interface 1106. The method 1150 of the embodiment described below illustrates additional evaluations that a wireless communication device may perform to properly associate received inputs when a change in foreground control occurs.

도 11b 는 무선 통신 디바이스가 수신된 사용자 입력의 내용의 평가들에 기초하여 수신된 사용자 입력들을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법 (1150) 을 예시한다. 방법 (1150) 이 초점 전환 또는 포어그라운드의 제어에 있어서의 변경에 관련하여 수신된 사용자 입력들의 의미 및/또는 맥락을 평가함으로써 사용자 입력들을 명확하기 위한 동작들을 포함할 수도 있다는 것을 제외하고는, 방법 (1150) 은 위에서 설명된 방법들 (950 및 1050) 과 유사하다. 예를 들어, 텍스트 사용자 입력들이 그들의 수신 시간에만 기초하여 제 1 또는 제 2 애플리케이션과 명확하게 연관될 수 없을 때 (즉, 텍스트 사용자 입력들이 무선 통신 디바이스 내로 타이핑되었을 때), 무선 통신 디바이스는 텍스트 사용자 입력들이 이들을 다양한 애플리케이션들에 연관시키기 위한 맥락 단서들을 포함하는지 여부를 결정하기 위하여 텍스트 사용자 입력들의 의미를 평가할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 사용자 의도된 입력들이 제 2 애플리케이션과 연관되어야 할 것인지 여부를 결정하기 위하여, 제 2 애플리케이션의 착수의 시간을 그것이 실제적으로 팝업하는 (즉, 포어그라운드의 제어 또는 초점을 획득함) 시간과 비교할 수도 있다. 다양한 실시형태들에서, 방법 (1150) 은 도 5 내지 도 6 을 참조하여 위에서 설명된 방법들의 일부로서 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 도 5 의 블록 (160) 또는 도 6 의 블록 (180) 에서의 동작들을 수행한 후에 방법 (1150) 을 수행할 수도 있다.11B illustrates an embodiment of a method 1150 for a wireless communication device to associate received user inputs with a first or second application based on evaluations of the content of the received user input. Except in that method 1150 may include operations for clarifying user inputs by evaluating the meaning and / or context of received user inputs in connection with a change in focus control or foreground control, 1150 < / RTI > is similar to the methods 950 and 1050 described above. For example, when textual user inputs can not be explicitly associated with a first or second application based solely on their reception time (i.e., when textual user inputs are typed into a wireless communication device) And evaluate the meaning of the textual user inputs to determine whether the inputs include contextual cues for associating them with various applications. As another example, the wireless communication device may determine the time of the launch of the second application so that it actually pops up (i. E., Control of the foreground or focal point) to determine whether the user's intended inputs should be associated with the second application ). ≪ / RTI > In various embodiments, the method 1150 may be performed by a wireless communication device as part of the methods described above with reference to Figures 5-6. For example, the wireless communication device may perform method 1150 after performing operations in block 160 of FIG. 5 or block 180 of FIG. 6 via an arbiter.

블록 (952) 에서, 무선 통신 디바이스는 제 1 애플리케이션으로부터 제 2 애플리케이션으로의 포어그라운드의 제어에 있어서의 변경을 검출할 수도 있다. 블록 (953) 에서, 무선 통신 디바이스는 제어에 있어서의 변경 전에 발생하는 제 1 입력과, 제어에 있어서의 변경 후에 발생하는 제 2 입력을 식별할 수도 있다. 결정 블록 (954) 에서, 무선 통신 디바이스는 제 1 입력이 제어에 있어서 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정할 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (954) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (954) = "예"), 결정 블록 (956) 에서, 무선 통신 디바이스는 제 2 입력이 제어에 있어서의 변경의 제 2 시간 문턱 내에서 발생하였는지 여부를 결정할 수도 있다. 제 2 입력이 제 2 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (956) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다.At block 952, the wireless communication device may detect a change in control of the foreground from the first application to the second application. At block 953, the wireless communication device may identify a first input occurring prior to the change in control and a second input occurring after the change in control. At decision block 954, the wireless communication device may determine whether the first input has been received within the first time threshold of change in control. If the first input is received outside the first time threshold of the change in control (i.e., decision block 954 = "NO"), then at block 960 the wireless communication device transmits the second input to the second It can also be associated with an application. If the first input is received within the first time threshold of change in control (i.e., decision block 954 = "YES"), then at decision block 956, the wireless communication device determines that the second input is in control Lt; RTI ID = 0.0 > of the < / RTI > If the second input is received outside the second time threshold (i.e., decision block 956 = "no"), then at block 960, the wireless communication device may associate the second input with the second application .

그러나, 제 2 입력이 제 2 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (956) = "예"), 블록 (1152) 에서, 무선 통신 디바이스는 제 1 및 제 2 입력들의 내용을 평가할 수도 있다. 평가되어야 할 내용은 제 1 및 제 2 입력들의 문법, 철자, 구두법, 포맷, 맥락, 및 해독된 의미를 포함할 수도 있다. 무선 통신 디바이스는 입력들의 내용을 해독하고 제 1 및 제 2 입력들이 연결되는지 여부를 결정하기 위하여, 자연 언어 프로세싱, 스피치 인식, 및/또는 패턴 일치 루틴들을 수행할 수도 있다. 예를 들어, 무선 통신 디바이스는 제 2 입력 (예컨대, "rld") 이 제 1 입력 (예컨대, "Hello Wo") 의 계속인 것으로 결정하기 위하여 입력들을 평가할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는, 제 1 입력이 최종적인 또는 결론적인 진술 또는 단어 (예컨대, "hold on") 를 표시하는 발성된 입력이고, 제 2 입력이 별도의 통신 (예컨대, "Hi, are you there?") 을 표시하는 상이한 발성된 입력인 것으로 결정할 수도 있다. 평가들에 기초하여, 무선 통신 디바이스는 제 1 및 제 2 입력들이 함께 의미가 통하거나, 또는 이와 다르게, 제 1 애플리케이션과 함께 이용하기 위해 적절한 것인지 여부를 해독할 수도 있다.However, if the second input is received within the second time threshold (i.e., decision block 956 = "YES"), then at block 1152, the wireless communication device may evaluate the contents of the first and second inputs . The content to be evaluated may include the grammar, spelling, punctuation, format, context, and decoded meaning of the first and second inputs. The wireless communication device may perform natural language processing, speech recognition, and / or pattern matching routines to decode the contents of the inputs and determine whether the first and second inputs are concatenated. For example, the wireless communication device may evaluate inputs to determine that the second input (e.g., "rld") is a continuation of the first input (eg, "Hello Wo"). As another example, a wireless communication device may be configured such that the first input is a spoken input that represents a final or conclusional statement or word (e.g., "hold on ") and the second input is a separate communication , are you there? "). < / RTI > Based on the evaluations, the wireless communication device may decipher whether the first and second inputs are meaningful together, or otherwise, appropriate for use with the first application.

다양한 실시형태들에서, 입력들의 내용 (예컨대, 입력들의 문법, 어법, 구두법, 포맷, 철자, 포맷팅, 및 맥락 또는 해독된 의미) 은, 제 1 입력 및/또는 제 2 입력이 제 1 및/또는 제 2 애플리케이션과 관련되는지 여부를 결정하기 위하여 무선 통신 디바이스에 의해 평가될 수도 있다. 무선 통신은 부분적인 단어들 및 어구들, 및/또는 입력들이 애플리케이션-특정 내용 또는 포맷팅을 포함하는지 여부 (예컨대, 제 2 입력이 제 2 애플리케이션의 명칭 또는 제 2 애플리케이션과 연관되기만 하는 연락처를 포함할 수도 있는 것 등) 를 식별하기 위하여 입력들을 평가할 수도 있다. 예를 들어, 무선 통신 디바이스는 제 2 입력이 제 1 애플리케이션 (예컨대, 대본 편집기 앱) 이 아니라 제 2 애플리케이션 (예컨대, 업무 이메일 클라이언트) 과 함께 이용하기 위하여 그 명칭이 저장되는 업무 파트너를 언제 명명하는지를 검출할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는, 제 2 입력이 업무 이메일 클라이언트에서가 아니라 SMS 메시징 애플리케이션에서 사용자에 의해 이용되기만 할 수도 있는 속어 (예컨대, "lol") 또는 다른 비공식적인 축약들 (예컨대, 문장들의 초반부에 대문자들이 없음 등) 을 언제 포함하는지를 검출할 수도 있다.In various embodiments, the content of the inputs (e.g., the grammar, grammar, punctuation, formatting, spelling, formatting, and context or decoded meaning of the inputs) is such that the first and / May be evaluated by the wireless communication device to determine whether it is associated with the second application. The wireless communication may be based on whether the partial words and phrases and / or inputs include application-specific content or formatting (e.g., whether the second input is a name of a second application or a contact that is only associated with a second application And the like). For example, the wireless communication device may determine when the second input names a business partner whose name is stored for use with a second application (e.g., a business email client) rather than a first application (e.g., a script editor application) . As another example, a wireless communication device may be capable of receiving a second input from a slang word (e.g., "lol") or other informal abbreviations that may be used by a user in an SMS messaging application, Absence of capital letters at the beginning of the document), and so on.

실시형태에서, 무선 통신 디바이스는 제 2 애플리케이션 내에서 이용되어야 할 데이터의 포맷 또는 예상된 타입에 관련하여 제 2 입력의 내용을 추가로 해독할 수도 있다. 예를 들어, 무선 통신은 발성된 단어의 제 2 입력 (예컨대, "hello") 이 제 2 애플리케이션에 대한 입력 엘리먼트를 위해 적절하거나 올바른 것인지 (예컨대, 청구 주소에 관련된 웹 형태 텍스트 필드 내로 기입된 "hello" 가 의미가 통하는가?) 를 평가할 수도 있다. 또 다른 예로서, 제 2 입력이 도시의 명칭 (예컨대, San Diego) 일 경우, 무선 통신 디바이스는 제 2 입력이 제 2 애플리케이션에서 초점을 가지는 텍스트 박스를 위해 적절한 것으로 결정할 수도 있다.In an embodiment, the wireless communication device may further decrypt the content of the second input in relation to the format or expected type of data to be utilized in the second application. For example, the wireless communication may be based on whether a second input (e.g., "hello") of the spoken word is appropriate or correct for the input element for the second application (e.g., hello "has meaning?). As another example, if the second input is a name of the city (e.g., San Diego), the wireless communication device may determine that the second input is appropriate for the text box that has focus in the second application.

블록 (1154) 에서, 무선 통신 디바이스는 예컨대, 제 2 애플리케이션의 착수 시간과 제어에 있어서의 변경 사이의 경과된 시간을 구함으로써, 제 2 애플리케이션의 착수의 착수와, 제어에 있어서의 변경 (또는 초점에서의 전환) 의 시간 사이의 시간을 평가할 수도 있다. 무선 통신 디바이스는 제 2 애플리케이션의 착수의 순서, 제 1 및/또는 제 2 입력들의 수신, 및 제어에 있어서의 변경을 해독할 수도 있다. 예를 들어, 무선 통신 디바이스는, 타이핑된 텍스트가 수신되었을 때, 그리고 타이핑된 텍스트가 브라우저에 대해 의도되었던 것인지 여부를 해독하기 위하여 브라우저가 실제적으로 팝업하였을 때, 브라우저 앱의 착수의 시간을 평가할 수도 있다. 실시형태에서, 무선 통신 디바이스는, 제 2 애플리케이션이 착수되었을 때와, 제 2 애플리케이션이 포어그라운드의 제어를 취할 때 사이의 시간이 더 클수록, 제 2 입력이 제 2 애플리케이션과 연관될 가능성이 적은 것으로 결정할 수도 있다. 다시 말해서, 제 2 애플리케이션이 착수 시간 (예컨대, 사용자가 엑시큐터블 (executable) 을 클릭한 시간 등) 으로부터 로딩하기에 긴 시간이 걸릴 때, 사용자가 제 2 애플리케이션을 대기하면서 멀티-태스킹을 행하므로, 무선 통신 디바이스는 제 1 애플리케이션과 연관된 입력들을 수신할 수도 있다. 예를 들어, 신속하게 제 1 애플리케이션 (예컨대, 노트패드) 내로 타이핑하는 사용자는 타이핑하면서 제 2 애플리케이션 (예컨대, 브라우저 앱) 을 착수할 수도 있고, 포어그라운드를 완전히 로딩하고 제어하기 위하여 제 2 애플리케이션을 대기하면서 제 2 애플리케이션에 의한 타이핑을 계속할 수도 있다. 또 다른 예로서, 제 2 애플리케이션이 몇 분 (예컨대, 10 분 등) 전에 착수되었을 경우, 무선 통신 디바이스는 제 2 입력 텍스트를 제 1 애플리케이션과 연관될 가능성이 있는 것으로 평가할 수도 있다. 그러나, 제 2 애플리케이션이 불과 몇 초 전에 착수되었을 경우, 무선 통신 디바이스는 제 2 입력 텍스트를 제 2 애플리케이션과 연관될 가능성이 있는 것으로 평가할 수도 있다.At block 1154, the wireless communication device determines, for example, the elapsed time between the launch time of the second application and the change in control so that the initiation of the launch of the second application and the change in control (or focus Quot;) < / RTI > The wireless communication device may decode the order of initiation of the second application, the reception of the first and / or second inputs, and the change in control. For example, the wireless communication device may evaluate the launch time of the browser app when the browser has actually popped up to decipher whether the typed text was received and whether the typed text was intended for the browser have. In an embodiment, the wireless communication device is less likely to have the second input associated with the second application, as the time between when the second application is launched and when the second application takes control of the foreground You can decide. In other words, when the second application takes a long time to load from the start time (e.g., the time when the user clicks the executable), the user performs multi-tasking while waiting for the second application , The wireless communication device may receive inputs associated with the first application. For example, a user typing quickly into a first application (e.g., a notepad) may launch a second application (e.g., a browser app) while typing, and may launch a second application to fully load and control the foreground And continue typing by the second application while waiting. As another example, if the second application is launched before a few minutes (e.g., 10 minutes, etc.), the wireless communication device may evaluate the second input text as likely to be associated with the first application. However, if the second application is launched just a few seconds ago, the wireless communication device may evaluate the second input text as likely to be associated with the second application.

다양한 실시형태들에서, 무선 통신 디바이스는 제 2 애플리케이션을 착수하기 위한 사용자의 작동들의 최신성 (recentness) 및/또는 순서를 평가할 수도 있다. 특히, 무선 통신 디바이스는 소프트 키보드 또는 버튼들 상의 수신된 사용자 입력들, 사용자가 제 2 애플리케이션의 착수를 능동적으로 개시하였는지 (예컨대, 그것이 자동-스케줄링되었는지 또는 사용자 입력의 결과였는지) 여부, 제 2 애플리케이션의 착수와 제어에 있어서의 변경 사이의 사용자 작동들 또는 입력들, 제 2 애플리케이션 상의 새로운 스크린과 대응하는 사용자 입력 (예컨대, 버튼 누름) 을 수신하는 것과, 제 2 애플리케이션의 착수 시간 사이의 시간, 및 제 1 애플리케이션의 이전의 스크린에서의 최후 엔트리 (entry) 와 추후의 버튼 누름 사이의 시간을 평가할 수도 있다. 비-제한적인 예시로서, 제 2 애플리케이션을 착수하기 위한 검출된 사용자 입력, 제 2 애플리케이션이 착수된 후에 포어그라운드의 제어를 획득하기 위해 전형적으로 상당한 시간이 걸리는 것을 표시하는 이력 정보, 제 1 애플리케이션 (예컨대, 전화 앱) 을 착수하기 위한 또 다른 검출된 사용자 입력, 타이핑된 텍스트 입력들 (예컨대, 전화 번호) 을 수신하는 것, 및 제 2 애플리케이션으로의 제어의 궁극적인 변경에 기초하여, 무선 통신 디바이스는 버튼 누름들이 모두 완전히 타이트 (tight) 한 것으로 결정할 수도 있고, 사용자가 제 1 애플리케이션과의 호출을 시작하도록 의도할 가능성이 있는 것으로 결론내릴 수도 있다.In various embodiments, the wireless communication device may evaluate the recentness and / or order of the user's actions to launch the second application. In particular, the wireless communication device may be configured to receive received user inputs on a soft keyboard or buttons, whether the user has actively initiated the launch of the second application (e.g., whether it was the result of automatic-scheduling or user input) (E.g., button presses) corresponding to the new screen on the second application, the time between the launching time of the second application, and the time between the start of the second application The time between the last entry in the previous screen of the first application and a subsequent button press may be evaluated. As a non-limiting example, there may be detected user input to launch a second application, history information indicating that it typically takes a considerable amount of time to obtain control of the foreground after the second application is launched, Based on the ultimate change of control to the second application, receiving the detected user input, typed text inputs (e. G., Telephone number) to launch the phone application May determine that the button presses are all fully tight, or may conclude that the user is likely to intend to initiate a call with the first application.

실시형태에서, 무선 통신 디바이스는 또한, 무선 통신 디바이스 컴퓨터 플랫폼 상에 상주하는 다양한 애플리케이션들에 대한 평균 착수 또는 로드 시간들을 설명하는 데이터와 같은 저장된 이력 정보 (예컨대, 휴리스틱 (heuristics)) 를 평가할 수도 있다. 이전의 경험들을 평가하는 것에 기초하여, 무선 통신 디바이스는, 사용자가 제 2 애플리케이션이 언제 팝업할 것인지를 개략적으로 알 수도 있고, 그러므로, 자신의 입력을 이에 따라 시간조절하였을 가능성을 결정할 수도 있다. 예를 들어, 무선 통신 디바이스는, 사용자가 제 2 입력 텍스트 데이터가 웹 브라우저 애플리케이션과 연관될 것을 예상하였을 수도 있는지 여부를 결정하기 위하여, 웹 브라우저 애플리케이션에 대한 포어그라운드를 제어하기 위한 착수로부터의 현재의 시간을, 웹 브라우저 애플리케이션에 대한 이력의 평균 로드 시간들과 비교할 수도 있다.In an embodiment, the wireless communication device may also evaluate stored history information (e.g., heuristics), such as data describing average launch or load times for various applications residing on the wireless communication device computer platform . Based on the evaluation of previous experiences, the wireless communication device may determine the probability that the user may roughly know when the second application will pop up, and therefore time its input accordingly. For example, the wireless communication device may be configured to determine whether the current input from the initiator to control the foreground for the web browser application to determine whether the user may have expected the second input text data to be associated with the web browser application The time may be compared to the average load times of the history for the web browser application.

결정 블록 (1156) 에서, 무선 통신 디바이스는 예컨대, 블록들 (1152 내지 1154) 에서의 동작들을 참조하여 위에서 설명된 평가들로부터의 결론들을 이용함으로써, 평가들 (예컨대, 평가된 내용 및/또는 평가된 착수 시간) 에 기초하여, 사용자가 포어그라운드의 초점을 전환하도록 의도하였는지 여부를 결정할 수도 있다. 다시 말해서, 무선 통신 디바이스는, 사용자가 제 2 입력을 제 2 애플리케이션에 제공하도록 의도하였는지 여부를 추론하기 위하여, 입력들의 해독들 및/또는 제 2 애플리케이션의 착수 시간을 이용할 수도 있다. 무선 통신 디바이스는 다양한 규칙 세트들, 밸런싱 시스템들, 가중화 방식들, 및 결정을 행하기 위한 의사결정 수학식들을 사용할 수도 있다. 예를 들어, 제 1 입력 (예컨대, "hold on..." 의 타이핑된 텍스트) 이 제 2 입력 (예컨대, "are you there?" 의 타이핑된 텍스트) 에 관련되지 않는 것을 표시하는 제 1 및 제 2 입력들의 언어 분석의 평가에 기초하여, 무선 통신 디바이스는 사용자가 초점을 전환하도록 의도하였던 것으로 결정할 수도 있다. 또 다른 예로서, 무선 통신 디바이스가 제 1 및 제 2 입력들의 언어의 의도된 의미를 명확하게 결정할 수 없을 때 (예컨대, 수신된 입력들이 외견상 랜덤 문자들이고, 철자 오기이고, 알려지지 않은 약칭을 이용하는 것 등), 무선 통신 디바이스는 제 2 애플리케이션을 착수하는 것과, 포어그라운드의 제어를 획득한 시간 사이의 시간의 평가를 더 많이 강조할 수도 있다.At decision block 1156, the wireless communication device may use the conclusions from the evaluations described above with reference to operations at blocks 1152-1154, for example, to perform evaluations (e.g., assessed content and / The start time of the foreground), the user may decide whether to change the focus of the foreground. In other words, the wireless communication device may utilize the decryption of inputs and / or the launch time of the second application to deduce whether the user intended to provide the second input to the second application. The wireless communication device may use various rule sets, balancing systems, weighting schemes, and decision equations to make decisions. For example, a first and a second input indicating that the first input (e.g., typed text of "hold on ...") is not related to a second input (e.g., typed text of "are you there? Based on the evaluation of the language analysis of the second inputs, the wireless communication device may determine that the user intended to switch focus. As another example, when the wireless communication device is unable to explicitly determine the intended meaning of the language of the first and second inputs (e.g., when the received inputs are apparently random characters, spelling errors, , Etc.), the wireless communication device may further emphasize the evaluation of the time between launching the second application and the time at which control of the foreground is obtained.

평가들에 기초하여, 사용자가 입력 윈도우들을 전환하도록 의도하였던 것으로 결정되지 않을 경우 (즉, 결정 블록 (1156) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 그러나, 평가들에 기초하여, 사용자가 입력 윈도우들을 전환하도록 의도하였던 것으로 결정될 경우 (즉, 결정 블록 (1156) = "예"), 블록 (958) 에서, 무선 통신 디바이스는 제 2 입력을 제 1 애플리케이션과 연관시킬 수도 있다.Based on the evaluations, if it is not determined that the user intended to switch input windows (i.e., decision block 1156 = "NO"), then at block 960, It can also be associated with an application. However, based on the evaluations, if it is determined that the user intended to switch input windows (i.e., decision block 1156 = "YES"), then at block 958, It can also be associated with an application.

다양한 실시형태들에서, 무선 통신 디바이스는 제 2 입력이 연관되어야 하는 애플리케이션을 결정하기 위하여, 타이밍 정보의 다양한 평가들 (즉, 결정 블록들 (954 내지 956) 및 블록 (1154) 에서의 동작들) 과 조합하여 또는 이러한 평가들 대신에, 제 1 및 제 2 입력들의 내용을 평가할 수도 있다. 예를 들어, 무선 통신 디바이스는, 제 1 및 제 2 입력들을 수신하는 것 사이의 시간에 관계 없이, 제 2 입력이 제 1 애플리케이션과 연관되는지 여부를 결정하기 위하여 제 1 및 제 2 타이핑된 입력들의 문법 및/또는 단어 의미만을 평가할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 착수 및 제어에 있어서의 변경 사이의 시간의 평가를, 제 2 입력과 연관된 애플리케이션을 식별함에 있어서 복수의 인자들 중의 하나로서 이용할 수도 있다. 또 다른 예로서, 제 1 입력이 제 1 시간 문턱 내에 있지 않은 것으로 결정되고, 및/또는 제 2 입력이 제 2 시간 문턱 내에 있지 않은 것으로 결정되더라도, 무선 통신은 사용자가 제 2 입력이 제 2 애플리케이션에 적용되도록 의도하였는지 여부를 결정하기 위하여, 제 1 및 제 2 입력들의 내용을 평가하도록 구성될 수도 있다.(I. E., Decision blocks 954 to 956 and operations in block 1154) to determine the application to which the second input is to be associated, in various embodiments, Or instead of these evaluations, the contents of the first and second inputs. For example, the wireless communication device may be configured to determine whether a second input is associated with a first application, regardless of the time between receiving the first and second inputs, Grammar and / or word meaning. As another example, the wireless communication device may use an evaluation of the time between changes in launch and control as one of a plurality of factors in identifying an application associated with a second input. As another example, even if it is determined that the first input is not within the first time threshold, and / or the second input is determined not to be within the second time threshold, The first and second inputs may be configured to evaluate the content of the first and second inputs.

도 12 는 무선 통신 디바이스가 제 1 및 제 2 애플리케이션들의 사용자 인터페이스 엘리먼트들의 로케이션들에 기초하여 수신된 사용자 입력을 제 1 또는 제 2 애플리케이션과 연관시키기 위한 실시형태의 방법 (1200) 을 예시한다. 애플리케이션들은 사용자 인터페이스 엘리먼트들 (예컨대, 소프트 버튼들 등) 을 위한 표준적인 레이아웃들을 이용할 수도 있다. 예를 들어, 제 1 애플리케이션은 제 1 사용자 인터페이스 윈도우의 상부 우측 부분에 '검색' 버튼을 가질 수도 있고, 제 2 애플리케이션은 제 2 사용자 인터페이스 윈도우의 상부 우측 부분에 '삭제' 버튼을 가질 수도 있다. 사용자가 이러한 사용자 인터페이스 엘리먼트들과 상호작용하고 있는 동안에 초점이 예기치 않게 전환될 때, 의도되지 않은 작동들이 실행될 수도 있다. 예를 들어, 사용자가 제 1 애플리케이션 상의 '검색' 버튼을 누르기 바로 전에, 제 2 애플리케이션은 포어그라운드를 제어하기 위하여 윈도우를 팝업할 수도 있고, 사용자는 무선 통신 디바이스의 터치스크린 상의 '검색' 버튼 과 동일한 장소에 위치되는 '삭제' 버튼을 우연히 누를 수도 있다. 방법 (1200) 은, 제 2 애플리케이션에서 의도되지 않은 UI 작동들을 회피하기 위하여, 무선 통신 디바이스가 제 1 및 제 2 애플리케이션들의 사용자 엘리먼트들이 일치하게 공동위치될 때에 사용자의 의도를 결정하기 위한 동작들을 포함할 수도 있다. 다양한 실시형태들에서, 방법 (1200) 은 도 5 내지 도 6 을 참조하여 위에서 설명된 방법들의 일부로서 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 도 5 의 블록 (160) 또는 도 6 의 블록 (180) 에서의 동작들을 수행한 후에 방법 (1200) 을 수행할 수도 있다.Figure 12 illustrates a method 1200 of an embodiment for associating a received user input with a first or second application based on locations of user interface elements of first and second applications. Applications may use standard layouts for user interface elements (e.g., soft buttons, etc.). For example, the first application may have a 'search' button in the upper right portion of the first user interface window and the second application may have a 'delete' button in the upper right portion of the second user interface window. Unintended actions may be performed when the focus is unexpectedly switched while the user is interacting with these user interface elements. For example, just before the user presses the " search " button on the first application, the second application may pop-up a window to control the foreground, You can also accidentally press the 'Delete' button located at the same location. The method 1200 includes operations for the wireless communication device to determine the user's intent when the user elements of the first and second applications are co-located co-located to avoid unintended UI operations in the second application You may. In various embodiments, the method 1200 may be performed by a wireless communication device as part of the methods described above with reference to Figures 5-6. For example, the wireless communication device may perform the method 1200 after performing operations in block 160 of FIG. 5 or block 180 of FIG. 6 via an arbiter.

블록 (952) 에서, 무선 통신 디바이스는 제 1 애플리케이션으로부터 제 2 애플리케이션으로의 포어그라운드 윈도우의 제어에 있어서의 변경을 검출할 수도 있다. 블록 (1202) 에서, 무선 통신 디바이스는 사용자 인터페이스 상의 터치 입력과 같이, 제어에 있어서의 변경 후에 발생하는 제 2 입력을 식별할 수도 있다. 선택적인 블록 (1203) 에서, 무선 통신 디바이스는 제어에 있어서의 변경 전에 발생하는 제 1 입력을 식별할 수도 있다. 블록들 (1202 내지 1203) 에서의 동작들은 블록 (953) 을 참조하여 위에서 설명된 것과 유사할 수도 있지만, 그러나, 사용자는 무선 통신 디바이스에 의해 연관될 필요가 있는 단일 입력 (즉, 제 2 입력) 을 제공하기만 할 수도 있으므로, 제 1 입력을 식별하기 위한 동작들은 임의적일 수도 있다.At block 952, the wireless communication device may detect a change in control of the foreground window from the first application to the second application. At block 1202, the wireless communication device may identify a second input that occurs after the change in control, such as a touch input on the user interface. In optional block 1203, the wireless communication device may identify a first input occurring prior to a change in control. The operations at blocks 1202 through 1203 may be similar to those described above with reference to block 953, however, the user may select a single input (i.e., a second input) that needs to be associated by the wireless communication device, The operations for identifying the first input may be arbitrary.

선택적인 결정 블록 (954) 에서, 무선 통신 디바이스는 제 1 입력이 제어에 있어서 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정할 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱의 외부에서 수신되었을 경우 (즉, 선택적인 결정 블록 (954) = "아니오"), 블록 (960) 에서, 무선 통신 디바이스는 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 제 1 입력이 제어에 있어서의 변경의 제 1 시간 문턱 내에 수신되었을 경우 (즉, 선택적인 결정 블록 (954) = "예"), 무선 통신 디바이스는 결정 블록 (956) 에서, 제 2 입력이 제어에 있어서의 변경의 제 2 시간 문턱 내에서 발생하였는지 여부를 결정할 수도 있다. 예를 들어, 무선 통신 디바이스는 사용자 인터페이스 엘리먼트 누름이 제 2 애플리케이션으로의 제어의 변경으로부터 어떤 수의 밀리초, 초 등의 내에 검출되었는지 여부를 결정할 수도 있다. 또 다른 예로서, 무선 통신 디바이스는 삭제된 UI 버튼 이벤트의 시간 (또는 타임스탬프 (timestamp) 을, 제 2 애플리케이션이 포어그라운드의 제어를 획득하였던 시간과 비교할 수도 있다. 제 2 입력이 제 2 시간 문턱의 외부에서 수신되었을 경우 (즉, 결정 블록 (956) = "아니오"), 무선 통신 디바이스는 블록 (960) 에서, 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 예를 들어, UI 엘리먼트 누름 이벤트는 제 2 애플리케이션이 포어그라운드의 제어를 획득한 후의 수 초에 검출되었으므로, 무선 통신 디바이스는 누름이 제 2 애플리케이션에 대해 의도되었던 것으로 결정할 수도 있다.In an optional decision block 954, the wireless communication device may determine whether the first input has been received within the first time threshold of change in control. If the first input is received outside the first time threshold of change in control (i.e., optional decision block 954 = "NO"), then at block 960, And may be associated with a second application. If the first input is received within the first time threshold of change in control (i.e., optional decision block 954 = "YES"), then the wireless communication device, at decision block 956, Lt; RTI ID = 0.0 > of the change in < / RTI > For example, the wireless communication device may determine whether a user interface element press has been detected in any number of milliseconds, seconds, etc. from a change of control to a second application. As another example, the wireless communication device may compare the time (or timestamp) of the deleted UI button event to the time that the second application obtained control of the foreground. If the second input is a second time threshold (I.e., decision block 956 = "NO"), the wireless communication device may associate the second input with the second application, at block 960. For example, Since the event was detected in seconds after the second application obtained control of the foreground, the wireless communication device may determine that the push was intended for the second application.

그러나, 제 2 입력이 제 2 시간 문턱 내에 수신되었을 경우 (즉, 결정 블록 (956) = "예"), 블록 (1204) 에서, 무선 통신 디바이스는 제 2 입력 (예컨대, 검출된 UI 터치 입력) 과 일치하는 제 2 애플리케이션의 사용자 인터페이스 (UI) 엘리먼트를 식별할 수도 있다. 예를 들어, 무선 통신 디바이스는 제 2 입력 (예컨대, 어떤 x-축 및 y-축 좌표들을 가지는 검출된 UI 입력) 과 연관된 스크린 좌표들을, 제 2 애플리케이션에 대해 렌더링된 다양한 UI 엘리먼트들에 대응하는 디스플레이의 영역들과 비교할 수도 있다. 다시 말해서, 무선 통신 디바이스는, 사용자가 제 2 입력으로 클릭하였거나, 눌렀거나, 또는 이와 다르게 관여하였던 소프트 버튼, 텍스트 필드, 또는 다른 렌더링된 엘리먼트를 식별할 수도 있다. 실시형태에서, 무선 통신 디바이스는 UI 엘리먼트를 식별하기 위하여 래스터 (raster) 정보 또는 다른 그래픽 데이터를 평가할 수도 있다.However, at block 1204, the wireless communication device receives a second input (e.g., a detected UI touch input) when the second input is received within a second time threshold (i.e., decision block 956 = (UI) element of the second application that matches the user interface (UI) element of the second application. For example, the wireless communication device may associate screen coordinates associated with a second input (e.g., a detected UI input having certain x-axis and y-axis coordinates) with the corresponding screen coordinates associated with the various UI elements rendered for the second application And may be compared with areas of the display. In other words, the wireless communication device may identify a soft button, text field, or other rendered element that the user has clicked, pushed, or otherwise engaged in as a second input. In an embodiment, the wireless communication device may evaluate raster information or other graphical data to identify the UI element.

결정 블록 (1206) 에서, 무선 통신 디바이스는 제 2 애플리케이션의 식별된 UI 엘리먼트가 제 1 애플리케이션의 UI 엘리먼트와 일치하는지 여부를 결정할 수도 있다. 예를 들어, 무선 통신 디바이스는 식별된 UI 엘리먼트의 스크린 좌표들을, 제 1 애플리케이션을 갖는 포어그라운드에 이전에 없었던 모든 UI 엘리먼트들과 비교할 수도 있다. 무선 통신 디바이스는 제 1 애플리케이션의 임의의 유사하게 배치된 UI 엘리먼트들 (즉, 식별된 제 2 애플리케이션 UI 엘리먼트는 일치시키기 위한 제 1 애플리케이션 UI 엘리먼트의 정확하게 상부에 배치될 필요가 없을 수도 있음) 을 결정하기 위하여 문턱을 사용할 수도 있다. 식별된 UI 엘리먼트가 제 1 애플리케이션의 UI 엘리먼트와 일치하지 않을 경우 (즉, 결정 블록 (1206) = "아니오"), 무선 통신 디바이스는 블록 (960) 에서, 제 2 입력을 제 2 애플리케이션과 연관시킬 수도 있다. 다시 말해서, 제 2 입력 (예컨대, UI 터치 입력) 은 제 2 애플리케이션이 포어그라운드의 제어를 획득하는 어떤 시간 내에 수신되었지만, 제 1 애플리케이션에 대한 유사하게 배치된 UI 엘리먼트들이 없었으므로, 무선 통신 디바이스는 사용자가 제 2 애플리케이션과 상호작용하도록 의도하였을 가능성이 있는 것으로 추론할 수도 있다.At decision block 1206, the wireless communication device may determine whether the identified UI element of the second application matches the UI element of the first application. For example, the wireless communication device may compare the screen coordinates of the identified UI element with all UI elements that were not previously in foreground with the first application. The wireless communication device may determine that any similarly arranged UI elements of the first application (i.e., the identified second application UI element may not need to be positioned exactly above the first application UI element to match) You can also use a threshold to do this. If the identified UI element does not match the UI element of the first application (i.e., decision block 1206 = "NO"), the wireless communication device associates the second input with the second application at block 960 It is possible. In other words, since the second input (e.g., the UI touch input) was received within a certain time for the second application to gain control of the foreground, but because there were no similarly deployed UI elements for the first application, It may be inferred that the user may have intended to interact with the second application.

그러나, 식별된 UI 엘리먼트가 제 1 애플리케이션의 UI 엘리먼트와 일치할 경우 (즉, 결정 블록 (1206) = "예"), 블록 (958) 에서, 무선 통신 디바이스는 제 2 입력을 제 1 애플리케이션과 연관시킬 수도 있다. 다시 말해서, 제 2 입력 (예컨대, UI 터치 입력) 은 제 2 애플리케이션이 포어그라운드의 제어를 획득하는 어떤 시간 내에 수신되었고, 제 1 및 제 2 애플리케이션들은 유사하게 배치된 UI 엘리먼트들을 가졌으므로, 무선 통신 디바이스는 사용자가 제 1 애플리케이션과 상호작용하도록 의도하였을 가능성이 있는 것으로 추론할 수도 있다. 다양한 실시형태들에서, 무선 통신 디바이스는 제 2 입력이 제 2 또는 제 1 애플리케이션에 대해 의도되었는지 여부를 결정하기 위하여, 제 2 애플리케이션의 착수로부터의 시간과 같은 다양한 다른 인자들을 사용할 수도 있다.However, if the identified UI element matches the UI element of the first application (i.e., decision block 1206 = "YES"), then at block 958, the wireless communication device associates the second input with the first application . In other words, since the second input (e.g., UI touch input) is received within a certain time when the second application obtains control of the foreground and the first and second applications have similarly positioned UI elements, The device may infer that the user may have intended to interact with the first application. In various embodiments, the wireless communication device may use various other factors, such as the time from the launch of the second application, to determine whether a second input is intended for the second or first application.

위에서 설명된 바와 같이, 다양한 실시형태들에서는, 주 애플리케이션이 포어그라운드 (또는 디스플레이) 를 제어하는 동안, 다수의 애플리케이션들이 백그라운드 프로세스들 (또는 중단된 애플리케이션들) 로서 무선 통신 디바이스의 프로세서 상에서 동시에 실행되고 있을 수도 있다. 예를 들어, 제 1 애플리케이션이 포어그라운드를 제어하므로, 제 2 애플리케이션은 무선 통신 디바이스의 백그라운드에서 중단 (또는 중단된 모드에서 실행되도록 구성됨) 될 수도 있다. 중단된 애플리케이션들은 액티비티가 아닐 수도 있지만 (예컨대, 포어그라운드를 제어하지 않음), 임의의 중단된 애플리케이션은 예컨대, 위에서 설명된 바와 같이 중재기로부터 플래그를 수신하는 것에 응답하여, 액티비티로 될 수도 있고 포어그라운드에 도달할 수도 있다. 예를 들어, 수신된 SMS 메시지에 대응하는 통지 이벤트를 오퍼레이팅 시스템으로부터 수신하는 것에 응답하여, 중재기 (또는 중재기 앱) 는 포어그라운드를 제어할 것을 제 1 애플리케이션에 통지할 수도 있고 (즉, 제 1 애플리케이션은 포어그라운드에서 액티비티로 있도록 명령받음), 제 2 애플리케이션이 포어그라운드에 도달하는 것을 금지할 수도 있다 (즉, 제 2 애플리케이션은 백그라운드에서 비액티비티로 있도록 명령받음).As described above, in various embodiments, while the main application controls the foreground (or display), multiple applications run concurrently on the processor of the wireless communication device as background processes (or interrupted applications) There may be. For example, because the first application controls the foreground, the second application may be suspended (or configured to run in an aborted mode) in the background of the wireless communication device. The aborted applications may not be activities (e.g., do not control the foreground), but any interrupted application may be an activity, for example, in response to receiving a flag from the arbiter as described above, It may reach the ground. For example, in response to receiving a notification event corresponding to a received SMS message from the operating system, the arbiter (or arbiter app) may notify the first application to control the foreground (i.e., 1 application is instructed to be an activity in the foreground), the second application may be inhibited from reaching the foreground (i.e., the second application is commanded to be non-activity in the background).

그러나, 비액티비티 애플리케이션들은 중재기의 작동들에 관계 없이, 포어그라운드에 도달하는 것을 여전히 시도할 수도 있다. 예를 들어, 제 2 애플리케이션이 포어그라운드에 도달하는 것을 허용하는 중재기로부터 플래그를 수신하지 않았던 제 2 애플리케이션은 포어그라운드의 제어를 획득하기 위한 동작들을 여전히 수행할 수도 있다. 이러한 미준수 (non-compliant) (또는 "불량") 애플리케이션들은 중재기가 아니라 애플리케이션들에 의해 이용가능한 데이터 또는 선호도들에 기초하여 중재기의 우선순위 결정들을 기각하는 것을 시도할 수도 있다. 예를 들어, 미준수 애플리케이션은, 애플리케이션이 하루 중의 무작위의 시간에 포어그라운드의 제어를 전형적으로 획득하는 것을 표시하는 로컬, 은닉된, 또는 미등록된 구성 정보를 저장할 수도 있다. 이러한 경우, 무선 통신 디바이스는 미준수 애플리케이션들을 종결시킬 수도 있다. 다양한 실시형태들에서, 이러한 종결들은, 무선 통신 디바이스의 오퍼레이팅 시스템의 일부일 수도 있거나, 또는 이와 다르게, 중재기가 다른 애플리케이션들을 직접적으로 제어하는 것을 가능하게 할 수도 있는 관리상 특권들을 가질 수도 있는 중재기를 통해, 무선 통신 디바이스에 의해 수행될 수도 있다.However, non-activity applications may still try to reach the foreground, regardless of the actions of the arbiter. For example, a second application that has not received a flag from an arbiter that allows the second application to reach the foreground may still perform operations to obtain control of the foreground. These non-compliant (or "bad") applications may attempt to disregard arbiter prioritization based on data or preferences available by applications, rather than arbiters. For example, a non-compliant application may store local, hidden, or unregistered configuration information indicating that the application typically obtains control of the foreground at random times of the day. In such a case, the wireless communication device may terminate non-compliant applications. In various embodiments, such terminations may be part of the operating system of the wireless communication device, or alternatively, through an arbiter, which may have administrative privileges that may enable the arbiter to directly control other applications , A wireless communication device.

도 13 은 무선 통신 디바이스가 중재기에 의한 우선순위 결정들과 반대로 무선 통신 디바이스의 포어그라운드의 제어를 획득하였던 미준수 애플리케이션을 종결시키기 위한 실시형태의 방법 (1300) 을 예시한다. 다시 말해서, 통지 이벤트를 수신하는 것에 응답하여 중재 동작들을 수행한 후, 무선 통신 디바이스는 중재를 따르지 않는 동작들을 추후에 수행하는 임의의 애플리케이션을 셧-다운 (shut-down), 중단, 또는 이와 다르게 종결시킬 수도 있다. 예를 들어, 무선 통신 디바이스가 (중재기를 통해) 제 1 애플리케이션이 포어그라운드를 제어하고 수신된 사용자 입력 (예컨대, "Hello Wo") 을 프로세싱하는 것을 허가한 후에, 제 2 애플리케이션이 포어그라운드에 도달할 때, 무선 통신 디바이스는 제 2 애플리케이션을 종결할 수도 있고, 임의의 추후에 수신된 사용자 입력 (예컨대, "rld") 을 제 1 애플리케이션에 적용할 수도 있다. 다양한 실시형태들에서, 방법 (1300) 은 도 5 내지 도 6 을 참조하여 위에서 설명된 방법들의 일부로서 무선 통신 디바이스에 의해 수행될 수도 있다. 예를 들어, 무선 통신 디바이스는 중재기를 통해, 도 5 의 블록 (160) 또는 도 6 의 블록 (180) 에서의 동작들을 수행한 후에 방법 (1300) 을 수행할 수도 있다.13 illustrates an embodiment method 1300 for terminating a non-compliant application in which the wireless communication device has obtained control of the foreground of the wireless communication device as opposed to prioritization by the arbiter. In other words, after performing the intervention operations in response to receiving the notification event, the wireless communication device may shut down, interrupt, or otherwise disable any application that subsequently performs operations not following the intervention It may be terminated. For example, after the wireless communication device has authorized the first application to control the foreground (via the arbiter) and process the received user input (e.g., "Hello Wo"), the second application may arrive at the foreground The wireless communication device may terminate the second application and apply any later received user input (e.g., "rld") to the first application. In various embodiments, the method 1300 may be performed by a wireless communication device as part of the methods described above with reference to Figures 5-6. For example, the wireless communication device may perform method 1300 after performing operations in block 160 of FIG. 5 or block 180 of FIG. 6 via an arbiter.

결정 블록 (1302) 에서, 무선 통신 디바이스는 예컨대, 중재기로부터 우선순위 플래그를 수신하지 않고도 포어그라운드에 도달함으로써, 미준수 애플리케이션이 포어그라운드를 제어하도록 작동하였는지 여부를 결정할 수도 있다. 실시형태에서, 무선 통신 디바이스는 위에서 설명된 바와 같이, 포어그라운드를 현재 제어하는 애플리케이션의 아이덴티티를, 중재 동작들을 통해 결정된 우선순위 애플리케이션의 아이덴티티와 주기적으로 비교함으로써 이 결정을 행할 수도 있다. 또 다른 실시형태에서, 무선 통신 디바이스는 제어에 있어서의 변경 또는 다른 스테이터스 변경을 검출하거나 예상되지 않은 이벤트 통지 (예컨대, 초점에 있어서의 전환을 표시하는 신호 등) 를 수신하는 것에 응답하여, 포어그라운드를 현재 제어하는 애플리케이션의 아이덴티티를, 중재를 통해 결정된 우선순위 애플리케이션의 아이덴티티를 비교함으로써 이 결정을 행할 수도 있다. 미준수 애플리케이션이 포어그라운드를 제어하도록 작동한 것으로 결정되지 않을 경우 (즉, 결정 블록 (1302) = "아니오"), 무선 통신 디바이스는 다른 이벤트 통지들에 대해 모니터링하고 다른 이벤트 통지들을 프로세싱하기 위한 동작들을 계속할 수도 있다.At decision block 1302, the wireless communication device may determine whether the non-compliant application was operating to control the foreground, for example, by reaching foreground without receiving a priority flag from the arbiter. In an embodiment, the wireless communication device may make this determination by periodically comparing the identity of the application currently controlling the foreground with the identity of the priority application determined through arbitration operations, as described above. In another embodiment, the wireless communication device is configured to detect a change in control or other status change, or in response to receiving an unexpected event notification (e. G., A signal indicative of a shift in focus, etc.) This determination may be made by comparing the identity of the application that currently controls the identity of the priority application determined through arbitration. If the non-compliant application is not determined to be operating to control the foreground (i.e., decision block 1302 = "NO"), the wireless communication device monitors operations for other event notifications and processes other event notifications You can continue.

그러나, 미준수 애플리케이션이 포어그라운드를 제어하도록 작동한 것으로 결정될 경우 (즉, 결정 블록 (1302) = "예"), 블록 (1304) 에서, 무선 통신 디바이스는 예컨대, 종결 신호 또는 중단 메시지를 미준수 애플리케이션으로 전송함으로써, 미준수 애플리케이션을 종결 (또는 셧-다운) 할 수도 있다. 실시형태에서, 무선 통신 디바이스는 중재기를 통해, 미준수 애플리케이션을 종결시켜서, 그것을 셧-다운시킬 뿐만 아니라, 미준수 애플리케이션이 다시 실행되는 것을 금지할 수도 있다. 예를 들어, 미준수 애플리케이션의 종결 후의 주기 (예컨대, 밀리초, 초 등) 동안, 무선 통신 디바이스는 중재기를 통해, 포어그라운드를 착수 및/또는 제어하기 위한 미준수 애플리케이션에 의한 추후의 시도들에 대하여 모니터링할 수도 있고, 블록 (1304) 에서의 동작들을 반복할 수도 있다. 선택적인 블록 (1306) 에서, 무선 통신 디바이스는 플래그를, 도 5 또는 도 6 을 참조하여 위에서 설명된 동작들을 통해 결정된 우선순위 애플리케이션과 같이, 우선순위를 가지는 애플리케이션으로 재전송할 수도 있다.However, if the non-compliant application is determined to operate to control the foreground (i.e., decision block 1302 = "YES"), then at block 1304 the wireless communication device sends a termination signal or an abort message, for example, (Or shut down) the non-compliant application. In an embodiment, the wireless communication device may terminate the non-compliant application through the arbiter and not only shut it down, but also prevent the non-compliant application from running again. For example, during a period (e.g., millisecond, seconds, etc.) after the termination of the non-compliant application, the wireless communication device may monitor, via the arbiter, for further attempts by the non-compliant application to launch and / Or it may repeat the operations in block 1304. In optional block 1306, the wireless communication device may retransmit the flag to a priority application, such as a priority application determined via the operations described above with reference to FIG. 5 or FIG.

미준수 애플리케이션은 예컨대, 중재기를 통해, 무선 통신 디바이스에 의해 전송된 중단 메시지들을 기각하도록 구성될 수도 있다. 예를 들어, 중재기 앱에 의해 이용가능하지 않은 정보에 기초하여, 미준수 애플리케이션은 포어그라운드의 제어를 유지하기 위하여, 수신된 중단 메시지 또는 종결 신호를 무시할 수도 있다. 이 경우는, 무선 통신 디바이스가 소프트웨어 (예컨대, 구형의 루틴들, 앱, 또는 소프트웨어) 를 업그레이드하지 않았을 때에 발생할 수도 있다.The non-compliant application may be configured to reject the intercept messages sent by the wireless communication device, for example, via the arbiter. For example, based on information that is not available by the arbiter app, the non-compliant application may ignore the received abort message or termination signal to maintain control of the foreground. This may occur when the wireless communication device has not upgraded the software (e.g., legacy routines, apps, or software).

도 14 는 다양한 실시형태와 함께 이용하기 위해 적당한 스마트폰 무선 통신 디바이스 (1400) 의 시스템 블록도이다. 스마트폰 무선 통신 디바이스 (1400) 는 내부 메모리 (1402) 및 스피커 (1454) 에 결합된 프로세서 (1401) 를 포함할 수도 있다. 내부 메모리 (1402) 는 휘발성 또는 비휘발성 메모리일 수도 있고, 또한, 보안 및/또는 암호화된 메모리, 또는 비보안 및/또는 비암호화된 메모리, 또는 그 임의의 조합일 수도 있다. 프로세서 (1401) 는 또한, 저항-감지 터치 스크린 (resistive-sensing touch screen), 용량-감지 터치 스크린 (capacitive-sensing touch screen), 적외선 감지 터치 스크린 (infrared sensing touch screen) 등과 같은 제 1 디스플레이 (1403) 에 결합될 수도 있다. 실시형태에서, 스마트폰 무선 통신 디바이스 (1400) 의 제 1 디스플레이 (1403) 는 터치 스크린 기능을 가질 필요가 없다. 실시형태에서, 스마트폰 무선 통신 디바이스 (1400) 는 또한, 또 다른 터치 스크린 또는 LED 스크린과 같이, 프로세서 (1401) 에 결합된 제 2 디스플레이 (1460) 를 포함할 수도 있다. 다양한 실시형태들에서, 제 2 디스플레이 (1460) 는 예컨대, 스마트폰 무선 통신 디바이스가 힌지 기구 (hinge mechanism) 를 사용하고 "클램 쉘" 과 같이 폐쇄되도록 구성될 때, 비액티비티에 대해 은닉되거나 폐쇄되도록 구성될 수도 있다. 대안적으로, 제 2 디스플레이 (1460) 는 스마트폰 무선 통신 디바이스 (1400) 의 케이스 또는 하우징에 부착되거나 그 내부에 내장된 디스플레이 유닛일 수도 있다. 예를 들어, 제 2 디스플레이 (1460) 는 무선 통신 디바이스 (1400) 의 하우징의 후방 상의 제 2 스크린일 수도 있다. 다른 실시형태들에서, 제 2 디스플레이 (1460) 는 유선 또는 무선 접속들 (도시되지 않음) 을 통해 스마트폰 무선 통신 디바이스 (1400) 에 테더링될 수도 있다.14 is a system block diagram of a smartphone wireless communication device 1400 suitable for use with various embodiments. The smartphone wireless communication device 1400 may include a processor 1401 coupled to an internal memory 1402 and a speaker 1454. Internal memory 1402 may be a volatile or non-volatile memory, and may also be a secure and / or encrypted memory, or a non-secure and / or non-encrypted memory, or any combination thereof. The processor 1401 may also include a first display 1403 such as a resistive-sensing touch screen, a capacitive-sensing touch screen, an infrared sensing touch screen, ). ≪ / RTI > In an embodiment, the first display 1403 of the smartphone wireless communication device 1400 need not have a touch screen function. In an embodiment, the smartphone wireless communication device 1400 may also include a second display 1460 coupled to the processor 1401, such as another touch screen or LED screen. In various embodiments, the second display 1460 can be configured to be hidden or closed for non-activity when, for example, a smartphone wireless communication device is configured to use a hinge mechanism and be closed, such as a "clamshell & . Alternatively, the second display 1460 may be a display unit that is attached to or housed in the case or housing of the smartphone wireless communication device 1400. For example, the second display 1460 may be a second screen on the rear of the housing of the wireless communication device 1400. [ In other embodiments, the second display 1460 may be tethered to the smartphone wireless communication device 1400 via wired or wireless connections (not shown).

스마트폰 무선 통신 디바이스 (1400) 는 WiFi 로컬 영역 네트워크 또는 광역 네트워크 상에서 통신하기 위한 것과 같이, 전자기 방사 (또는 무선 신호들) 를 전송하고 수신하기 위한 하나 이상의 라디오 신호 트랜시버들 (1405) (예컨대, 피넛 (Peanut), 블루투스 (Bluetooth), 지그비 (Zigbee), WiFi, RF 라디오 등) 및 안테나들 (1404) 을 가질 수도 있다. 트랜시버들 (1118) 및 안테나들 (1108) 은 프로세서 (1401) 에 결합될 수도 있고, 다양한 무선 송신 프로토콜 스택 (wireless transmission protocol stack) 들 / 인터페이스들을 구현하기 위하여 상기 언급된 회로부와 함께 이용될 수도 있다. 실시형태에서, 스마트폰 무선 통신 디바이스 (1400) 는, 셀룰러 네트워크를 통한 통신을 가능하게 하는 셀룰러 네트워크 무선 모뎀 칩 (1415) 을 포함할 수도 있다. 스마트폰 무선 통신 디바이스 (1400) 는 또한 전형적으로, 사용자 입력들을 수신하기 위한 메뉴 선택 버튼들 또는 록커 스위치 (rocker switch) 들 (1408) 을 포함할 수도 있다. 추가적으로, 스마트폰 무선 통신 디바이스 (1400) 는 서미스터 (1462), 가속도계 (1410), 자이로스코프 (1411), 마이크로폰 (1412), 및 카메라 (1413) 와 같이, 프로세서 (1401) 에 결합된 다양한 센서들을 포함할 수도 있다. 추가적으로, 스마트폰 무선 통신 디바이스 (1400) 는 프로세서 (1401) 에 결합된 GPS 수신기 칩 (1414) 을 포함할 수도 있다.The smartphone wireless communication device 1400 may include one or more radio signal transceivers 1405 (e.g., one or more of a plurality of radio communication devices) for transmitting and receiving electromagnetic radiation (or radio signals), such as for communicating over a WiFi local area network or a wide area network (E.g., Peanut, Bluetooth, Zigbee, WiFi, RF radio, etc.) and antennas 1404. Transceivers 1118 and antennas 1108 may be coupled to processor 1401 and may be used with the aforementioned circuitry to implement various wireless transmission protocol stacks / . In an embodiment, the smartphone wireless communication device 1400 may include a cellular network wireless modem chip 1415 that enables communication over a cellular network. The smartphone wireless communication device 1400 also typically includes menu select buttons or rocker switches 1408 for receiving user inputs. Additionally, the smartphone wireless communication device 1400 may include various sensors coupled to the processor 1401, such as a thermistor 1462, an accelerometer 1410, a gyroscope 1411, a microphone 1412, . Additionally, the smartphone wireless communication device 1400 may include a GPS receiver chip 1414 coupled to the processor 1401.

프로세서들 (84 및 1401) 은, 위에서 설명된 다양한 실시형태들의 기능들을 포함하는 다양한 기능들을 수행하기 위하여 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수도 있는 임의의 프로그래밍가능 마이크로프로세서, 마이크포컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 다양한 디바이스들에서는, 무선 통신 기능들에 전용인 하나의 프로세서 및 다른 애플리케이션들을 실행하는 것에 전용인 하나의 프로세서와 같은, 다중 프로세서들이 제공될 수도 있다. 전형적으로, 소프트웨어 애플리케이션들은, 이들이 액세스되고 프로세서들 (84 및 1401) 로 로딩되기 전에 내부 메모리 (88 및 1402) 에서 저장될 수도 있다. 프로세서들 (84 및 1401) 은 애플리케이션 소프트웨어 명령들을 저장하기 위해 충분한 내부 메모리를 포함할 수도 있다. 다수의 디바이스들에서, 내부 메모리는 플래시 메모리와 같은 휘발성 또는 비휘발성 메모리, 또는 양자의 혼합일 수도 있다. 이 설명의 목적들을 위하여, 메모리에 대한 일반적인 참조는, 내부 메모리, 또는 다양한 디바이스들 내로 플러깅된 (plugged) 분리가능 메모리와, 프로세서들 (84 및 1401) 내의 메모리를 포함하는, 프로세서들 (84 및 1401) 에 의해 액세스가능한 메모리를 지칭한다.Processors 84 and 1401 may be any programmable microprocessor, microprocessor, or microprocessor, which may be configured by software instructions (applications) to perform various functions including the functions of the various embodiments described above It may be a multiprocessor chip or chips. In various devices, multiple processors may be provided, such as one processor dedicated to executing wireless communications functions and one processor dedicated to executing other applications. Typically, software applications may be stored in internal memory 88 and 1402 before they are accessed and loaded into processors 84 and 1401. Processors 84 and 1401 may include sufficient internal memory to store application software instructions. In many devices, the internal memory may be a volatile or non-volatile memory such as a flash memory, or a mixture of both. For purposes of this description, a generic reference to memory may include processors 84 and < RTI ID = 0.0 > 1401, < / RTI > including memories in processors 84 and 1401 and removable memory plugged into internal memory, 1401. < / RTI >

상기한 방법 설명들 및 프로세스 흐름도들은 예시적인 예들에 불과한 것으로서 제공되고, 다양한 실시형태들의 단계들이 제시된 순서로 수행되어야 하는 것을 요구하거나 암시하도록 의도된 것이 아니다. 당해 분야의 당업자에 의해 인식될 수도 있는 바와 같이, 상기한 실시형태들에서의 단계들의 순서는 임의의 순서로 수행될 수도 있다. "그 후", "다음으로", "다음" 등과 같은 단어들은 단계들의 순서를 제한하도록 의도된 것이 아니고; 이 단어들은 방법들의 설명을 통해 독자를 안내하기 위하여 간단하게 이용된다. 또한, 예를 들어, 관사들 "a", "an", 또는 "the" 를 이용하는 단수인 청구항 구성요소들에 대한 임의의 참조는 구성요소를 단수로 제한하는 것으로 해석되지 않아야 한다.The above method descriptions and process flow diagrams are provided by way of illustrative example only and are not intended to be required or to imply that the steps of various embodiments should be performed in the order presented. As may be recognized by those skilled in the art, the order of the steps in the above embodiments may be performed in any order. The words "after "," next ", "next" and the like are not intended to limit the order of the steps; These words are simply used to guide the reader through a description of methods. In addition, any reference to a claim element, for example, that uses the articles "a", "an", or "the", should not be construed as limiting the element in a singular manner.

본원에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 프로세서-실행가능 명령들, 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수도 있다. 하드웨어 및 소프트웨어의 이 교환가능성을 명확하게 예시하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 일반적으로 그 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션과, 전체 시스템에 부과된 설계 제약들에 종속된다. 숙련된 기술자들은 각각의 특정 애플리케이션을 위한 다양한 방법들로 설명된 기능성을 구현할 수도 있지만, 이러한 구현 판단들은 본 발명의 범위로부터의 이탈을 야기시키는 것으로 해독되지 않아야 한다.The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, processor-executable instructions, computer software, or combinations of both . In order to clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in various ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

본원에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 로직들, 논리적 블록들, 모듈들, 및 회로들을 구현하기 위하여 이용된 하드웨어는 범용 프로세서, 디지털 신호 프로세서 (digital signal processor; DSP), 애플리케이션 특정 집적 회로 (application specific integrated circuit; ASIC), 필드 프로그래밍가능 게이트 어레이 (field programmable gate array; FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된 그 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 기존의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신 (state machine) 일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예컨대, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 함께 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성의 조합으로서 구현될 수도 있다. 대안적으로, 일부의 단계들 또는 방법들은 주어진 기능에 특정한 회로부에 의해 수행될 수도 있다.The hardware utilized to implement the various illustrative logic, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP) An application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or perform the functions described herein Or may be implemented in any combination thereof. A general purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such combination of configurations. Alternatively, some of the steps or methods may be performed by circuitry specific to a given function.

방법들이 이동 통신 디바이스 및 다른 컴퓨터 플랫폼들에서 실행가능한 것을 고려하면, 방법들은 이에 따라, 비-일시적인 컴퓨터 판독가능 매체 (또는 비-일시적인 프로세서-판독가능 저장 매체) 에서 상주하는 프로그램에 의해 수행될 수도 있고, 여기서, 프로그램은 컴퓨터 플랫폼을 가지는 이동 디바이스 또는 다른 컴퓨터 디바이스가 방법들의 단계들을 수행할 것을 명령한다. 비-일시적인 컴퓨터 판독가능 매체는 서버의 메모리일 수도 있거나, 연결 데이터베이스 내에 있을 수도 있다. 또한, 비-일시적인 컴퓨터 판독가능 매체는, 자기 디스크 또는 테이프, 광학 디스크, 하드 디스크, 플래시 메모리, 또는 당해 분야에서 알려진 바와 같은 다른 저장 매체들과 같이, 무선 통신 디바이스 컴퓨터 플랫폼 상으로 로딩가능한 보조 저장 매체들 내에 있을 수도 있다.Considering that the methods are executable on mobile communication devices and other computer platforms, the methods may thus also be performed by a program resident on a non-transitory computer readable medium (or non-transient processor-readable storage medium) Where the program instructs a mobile device or other computer device having a computer platform to perform the steps of the methods. The non-transient computer readable medium may be the memory of the server or may be in a connection database. In addition, non-transitory computer readable media can also be stored on a wireless communication device computer platform, such as a magnetic disk or tape, an optical disk, a hard disk, a flash memory, or other storage media as known in the art, Lt; / RTI > media.

하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현될 경우, 기능들은 비-일시적인 컴퓨터-판독가능 매체 (또는 비-일시적인 프로세서-판독가능 저장 매체) 상에서 하나 이상의 명령들 (예컨대, 프로세서-실행가능 명령들 또는 프로세서-실행가능 소프트웨어 명령들) 또는 코드로서 저장될 수도 있다. 비-일시적인 컴퓨터-판독가능 매체들은, 하나의 장소로부터 또 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 용어 "컴퓨터-판독가능한 매체들" 은, 하나의 장소로부터 또 다른 장소까지의 컴퓨터 프로그램의 전송을 촉진시키는 임의의 매체를 포함하는 컴퓨터 저장 매체들을 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수도 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예로서, 이러한 비-일시적인 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 희망하는 프로그램 코드를 반송 또는 저장하기 위해 이용될 수도 있으며 컴퓨터에 의해 액세스될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 본원에서 이용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (compact disc; CD), 레이저 디스크 (laser disc), 광학 디스크 (optical disc), 디지털 다기능 디스크 (digital versatile disc; DVD), 플로피 디스크 (floppy disk) 및 블루레이 디스크 (blu-ray disc) 를 포함하고, 여기서, 디스크 (disk) 들은 통상 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 데이터를 레이저들로 광학적으로 재생한다. 상기의 조합들은 또한, 비-일시적인 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be performed on one or more instructions (e.g., processor-executable instructions or processor-executable software instructions) on a non-temporal computer-readable medium ) Or as a code. The term "computer-readable media ", which facilitates the transfer of a computer program from one place to another, is intended to encompass all types of computer- Computer storage media including any medium that facilitates transmission. The storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory computer-readable media can be stored in RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, And may include any other medium that may be used to carry or store the desired program code and may be accessed by a computer. As used herein, discs and discs may be referred to as compact discs (CD), laser discs, optical discs, digital versatile discs (DVDs) Includes a floppy disk and a blu-ray disc, where disks typically reproduce data magnetically, while discs optically reproduce data with lasers do. Combinations of the above should also be included within the scope of non-temporary computer-readable media.

발명은 그 바람직한 실시형태를 참조하여 특히 도시되고 설명되었지만, 다음의 청구항들에서 기재된 바와 같은 본 발명의 범위로부터 이탈하지 않으면서, 형태 및 세부사항에 있어서의 다양한 변경들이 행해질 수도 있다는 것은 당해 분야의 당업자들에 의해 이해될 수도 있다. 이에 따라, 본 발명은 본원에서 도시된 실시형태들에 제한되도록 의도된 것이 아니라, 다음의 청구항들 및 본원에서 개시된 원리들 및 신규한 특징들과 부합하는 가장 넓은 범위를 따르도록 하기 위한 것이다. 또한, 발명의 요소들은 단수 형태로 설명되거나 청구될 수도 있지만, 단수에 대한 제한이 명시적으로 기재되어 있지 않을 경우에는 복수가 고려된다.While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention as set forth in the following claims And may be understood by those skilled in the art. Accordingly, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein. Also, elements of the invention may be described or claimed in the singular, but the plural is contemplated unless limitation to the singular is explicitly stated.

Claims (80)

복수의 디스플레이들의 각각의 제어를 무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법으로서,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 제 1 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 복수의 디스플레이들 중의 하나를 제어하는 상기 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 단계;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 복수의 디스플레이들 중의 상기 하나를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들 중의 제 2 애플리케이션에 관련 있는 액티비티가 검출되는지 여부를 결정하는 단계;
상기 제 2 애플리케이션에 관련 있는 상기 액티비티를 검출하는 것에 응답하여, 상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 리스트를 상기 제 2 애플리케이션에 대한 우선순위의 순서로 순서화하는 단계;
상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 순서화된 상기 리스트에서 디스플레이를 선택하는 단계;
선택된 상기 디스플레이가 제 3 애플리케이션에 의해 이용 중인지 여부를 결정하는 단계; 및
상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중인 것이 아닌 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 포어그라운드 (foreground) 의 제어를 배정하는 플래그를 상기 제 2 애플리케이션으로 전송하는 단계를 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
A method of assigning control of each of a plurality of displays to an application in a plurality of applications resident on a wireless communication device,
In response to receiving a first notification event that simultaneously invokes more than one application via an arbiter, the first one of the plurality of applications controlling one of the plurality of displays based on predetermined criteria Determining an application;
Determining, via the arbiter, whether an activity associated with a second application of the plurality of applications is detected, in response to the first application determining that the one of the plurality of displays is to be controlled;
Ordering, in response to detecting the activity associated with the second application, a list of executable displays of the plurality of displays in order of priority for the second application;
Selecting a display from the ordered list of executable displays of the plurality of displays;
Determining whether the selected display is being used by a third application; And
In response to determining that the selected display is not being used by the third application, transmitting to the second application a flag that assigns control of the foreground of the selected display to the second application. Of each of the displays of the plurality of applications.
제 1 항에 있어서,
상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 낮은 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 상기 포어그라운드의 상기 제어를 배정하는 상기 플래그를 상기 제 2 애플리케이션으로 전송하는 단계를 더 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
The method according to claim 1,
Assigning the control of the foreground of the selected display in response to determining that the selected display is being used by the third application and the priority of the third application is lower than the priority of the second application And transmitting the flag to the second application, wherein the control of each of the plurality of displays is assigned to an application in a plurality of applications.
제 1 항에 있어서,
상기 액티비티는 제 2 통지 이벤트, 상기 제 2 애플리케이션과 연관된 등록 정보 내에 표시된 미리 정의된 이벤트, 조우된 예외, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 우선순위 변경, 상기 중재기로의 새로운 애플리케이션의 등록, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 동작 스테이터스 (operating status) 에 있어서의 변경, 상기 복수의 애플리케이션들 중의 한 애플리케이션에 의한 디스플레이 포어그라운드의 제어의 상실, 및 상기 복수의 디스플레이들 중의 한 디스플레이의 액티비티 상태에 있어서의 변경 중의 적어도 하나인, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
The method according to claim 1,
Wherein the activity includes a second notification event, a predefined event displayed in the registration information associated with the second application, an encountered exception, a change of priority of one of the plurality of applications, a registration of a new application to the arbiter, A change in an operating status of one of a plurality of applications, a loss of control of a display foreground by an application of the plurality of applications, and an activity state of one of the plurality of displays Wherein the control of each of the plurality of displays is at least one of the changes in the plurality of displays.
제 1 항에 있어서,
상기 선택된 디스플레이가 상기 복수의 애플리케이션들 중의 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 높은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 상기 선택된 디스플레이를 위한 대기 큐에 추가하는 단계를 더 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
The method according to claim 1,
In response to determining that the selected display is being used by the third one of the plurality of applications and that the priority of the third application is higher than the priority of the second application, Further comprising the step of adding to the queue for display a control of each of the plurality of displays to an application in a plurality of applications.
제 1 항에 있어서,
상기 무선 통신 디바이스의 컴퓨터 플랫폼의 부트-업 (boot-up), 상기 복수의 애플리케이션들의 각각의 활성화, 및 등록을 위한 수신된 요청 중의 하나에 응답하여, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하는 단계를 더 포함하고, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하는 단계는 상기 복수의 애플리케이션들의 각각에 대한 등록 정보를 저장하는 단계를 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
The method according to claim 1,
In response to one of a request for boot-up of the computer platform of the wireless communication device, activation of each of the plurality of applications, and registration, each of the plurality of applications is registered with the arbiter Wherein the step of registering each of the plurality of applications with the arbiter includes storing registration information for each of the plurality of applications, Lt; / RTI >
제 5 항에 있어서,
상기 복수의 애플리케이션들 중의 개별적인 애플리케이션에 대한 상기 등록 정보는, 식별정보, 우선순위, 네트워크 요건들, 상기 개별적인 애플리케이션이 동적으로 재우선순위화될 수도 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 상기 복수의 디스플레이들 중의 보조 디스플레이 상에서 이용될 수 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 백그라운드-인에이블형인지 여부의 표시 중의 적어도 하나를 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
6. The method of claim 5,
Wherein the registration information for a respective one of the plurality of applications includes at least one of identification information, priority, network requirements, an indication of whether the individual application may be dynamically reordered, Of the plurality of displays, including at least one of an indication of whether the respective application is available on a secondary display of the plurality of applications and an indication of whether the respective application is a background-enabled type. How to.
제 6 항에 있어서,
동적 재우선순위화를 위하여 등록되는 상기 복수의 애플리케이션들의 각각에 대한 우선순위들을 재계산하는 단계를 더 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
The method according to claim 6,
Further comprising recalculating priorities for each of the plurality of applications registered for dynamic prioritization, wherein each control of the plurality of displays is assigned to an application in a plurality of applications.
제 1 항에 있어서,
상기 복수의 디스플레이들의 각각에 대한 스테이터스 정보를 저장하는 단계로서, 상기 스테이터스 정보는 적어도 동작 조건, 동작 요건들, 및 디스플레이 우선순위를 포함하는, 상기 스테이터스 정보를 저장하는 단계;
상기 무선 통신 디바이스의 현재의 조건들을 표시하는 정보를 위하여 센서들을 폴링하는 단계;
저장된 상기 스테이터스 정보와, 상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각의 실행가능성을 평가하는 단계;
상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각과의 사용자 상호작용을 평가하는 단계; 및
상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하는 단계를 더 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
The method according to claim 1,
Storing status information for each of the plurality of displays, the status information including at least operating conditions, operational requirements, and display priorities;
Polling the sensors for information indicative of current conditions of the wireless communication device;
Evaluating the feasibility of each of the plurality of displays based on the stored status information and the information indicating the current conditions of the wireless communication device;
Evaluating user interaction with each of the plurality of displays based on the information indicating the current conditions of the wireless communication device; And
Further comprising recalculating the priorities of each of the plurality of displays based on at least one of the evaluated feasibility and the evaluated user interaction of each of the plurality of displays To the application of the plurality of applications.
제 8 항에 있어서,
상기 무선 통신 디바이스의 상기 현재의 조건들은, 서미스터 센서 데이터에 기초한 주변 온도, 카메라 데이터에 기초한 주변 밝기, GPS 데이터에 기초한 디바이스 고도, 자이로스코프 센서 데이터에 기초한 디바이스 이동, 자이로스코프 센서 데이터에 기초한 디바이스 경사, 터치스크린 상의 사용자 입력들, 및 상기 카메라 데이터 또는 마이크로폰 데이터에 기초한 사용자의 아이덴티티 (identity) 중의 적어도 하나를 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
9. The method of claim 8,
The current conditions of the wireless communication device include ambient temperature based on thermistor sensor data, ambient brightness based on camera data, device altitude based on GPS data, device movement based on gyroscope sensor data, device inclination based on gyroscope sensor data The user inputs on the touch screen, and the identity of the user based on the camera data or microphone data. ≪ Desc / Clms Page number 24 >
제 8 항에 있어서,
상기 사용자 상호작용은, 사용자가 아이 트래킹 (eye tracking) 에 기초하여 디스플레이를 쳐다 보고 있는 것, 상기 사용자가 헤드 트래킹 (head tracking) 에 기초하여 디스플레이를 쳐다 보고 있는 것, 및 상기 사용자가 디스플레이를 터치하고 있는 것 중의 적어도 하나를 나타내는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
9. The method of claim 8,
Wherein the user interaction includes: the user viewing the display based on eye tracking; the user viewing the display based on head tracking; and the user viewing the display Wherein each control of the plurality of displays is indicative of at least one of the plurality of displays.
제 8 항에 있어서,
상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하는 단계는, 상기 복수의 디스플레이들의 각각의 상기 평가된 실행가능성 및 상기 평가된 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 상기 복수의 애플리케이션들의 각각에 대하여 재계산하는 단계를 포함하는, 복수의 디스플레이들의 각각의 제어를 복수의 애플리케이션들 중의 애플리케이션에 배정하는 방법.
9. The method of claim 8,
Wherein the step of recalculating the priorities of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction further comprises: Calculating a priority of each of the plurality of displays based on at least one of the estimated performance and the estimated user interaction, A method for assigning control to an application in a plurality of applications.
사용자 의도에 따라 사용자 입력 데이터를 무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들과 연관시키는 방법으로서,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 무선 통신 디바이스의 디스플레이를 제어하는 상기 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 단계;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 디스플레이를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들에서의 상기 제 1 애플리케이션으로부터 상기 복수의 애플리케이션들에서의 제 2 애플리케이션으로의 상기 디스플레이의 제어에 있어서의 변경을 검출하는 단계;
상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 전에 수신된 제 1 입력과, 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 후에 수신된 제 2 입력을 식별하는 단계;
상기 제 1 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정하는 단계;
상기 제 2 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 2 시간 문턱 내에 수신되었는지 여부를 결정하는 단계; 및
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되지 않았거나 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신되지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 2 애플리케이션과 연관시키는 단계를 포함하는, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
A method of associating user input data with a plurality of applications resident on a wireless communication device in accordance with user intent,
Determine a first one of the plurality of applications that controls the display of the wireless communication device based on predetermined criteria, in response to receiving, via the arbiter, a notification event that simultaneously invokes more than one application ;
In response to determining, by the intermediary, that the first application is to control the display, control of the display from the first application in the plurality of applications to the second application in the plurality of applications Detecting a change in the content;
Identifying a first input received prior to the detected change in the control of the display and a second input received after the detected change in the control of the display;
Determining whether the first input has been received within a first time threshold of the detected change in the control of the display;
Determining whether the second input has been received within a second time threshold of the detected change in the control of the display; And
Associating the second input with the second application in response to determining that the first input has not been received within the first time threshold or that the second input has not been received within the second time threshold, Wherein the user input data is associated with a plurality of applications.
제 12 항에 있어서,
상기 제 1 입력 및 상기 제 2 입력은 양자 모두, 터치 입력들, 텍스트 입력들, 발성된 입력들, 또는 시각적 입력들 중의 하나인, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
13. The method of claim 12,
The first input and the second input are both methods of associating user input data with a plurality of applications according to user intent, which is one of touch inputs, text inputs, voiced inputs, or visual inputs .
제 12 항에 있어서,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키는 단계를 더 포함하는, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
13. The method of claim 12,
Further comprising associating the second input with the first application in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold And associating user input data with a plurality of applications according to user intent.
제 12 항에 있어서,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키기 위한 사용자 선택 입력을 요청하는 프롬프트 (prompt) 를 렌더링하는 단계;
사용자 인터페이스를 통해 상기 사용자 선택 입력을 수신하는 단계; 및
상기 수신된 사용자 선택 입력에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키는 단계를 더 포함하는, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
13. The method of claim 12,
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, sending the second input to one of the first application and the second application Rendering a prompt requesting a user-selected input to associate;
Receiving the user selection input via a user interface; And
Further comprising associating the second input with one of the first application and the second application based on the received user selected input, wherein the user input data is associated with a plurality of applications .
제 15 항에 있어서,
상기 제 1 입력은 구어 입력 (verbal input) 이고;
상기 프롬프트는 제 2 사운드이고; 그리고
상기 방법은, 상기 디스플레이의 상기 제어에 있어서의 상기 변경을 검출하기 이전에 제 1 사운드를 렌더링하는 단계를 더 포함하는, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
16. The method of claim 15,
The first input is a verbal input;
The prompt is a second sound; And
The method further comprising rendering a first sound prior to detecting the change in the control of the display, wherein the user input data is associated with a plurality of applications.
제 12 항에 있어서,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 1 입력 및 상기 제 2 입력의 내용을 평가하는 단계;
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제어에 있어서의 상기 검출된 변경에 관련하여 상기 제 2 애플리케이션의 착수 시간을 평가하는 단계; 및
상기 평가된 내용 및 상기 평가된 착수 시간 중의 적어도 하나에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 또는 상기 제 2 애플리케이션과 연관시키는 단계를 더 포함하는, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
13. The method of claim 12,
Evaluating the contents of the first input and the second input in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold;
Responsive to determining that said first input has been received within said first time threshold and said second input has been received within said second time threshold, Evaluating the start time; And
Further comprising associating the second input with the first application or the second application based on at least one of the evaluated content and the evaluated start time, ≪ / RTI >
제 17 항에 있어서,
상기 내용은 문법, 철자, 구두법, 포맷, 맥락, 및 해독된 의미 중의 적어도 하나인, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
18. The method of claim 17,
Wherein the content is at least one of grammar, spelling, punctuation, format, context, and decoded meaning, wherein the user input data is associated with a plurality of applications.
제 12 항에 있어서,
상기 제 2 입력은 터치 입력이고, 상기 방법은,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력에 대응하는 상기 제 2 애플리케이션의 제 2 사용자 인터페이스 엘리먼트를 식별하는 단계;
상기 제 2 애플리케이션의 상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 애플리케이션의 제 1 사용자 인터페이스 엘리먼트와 일치하는지 여부를 결정하는 단계; 및
상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 사용자 인터페이스 엘리먼트와 일치하는 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키는 단계를 더 포함하는, 사용자 의도에 따라 사용자 입력 데이터를 복수의 애플리케이션들과 연관시키는 방법.
13. The method of claim 12,
Wherein the second input is a touch input,
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, the second user interface element of the second application corresponding to the second input ;
Determining whether the identified second user interface element of the second application matches a first user interface element of the first application; And
Further comprising associating the second input with the first application in response to determining that the identified second user interface element matches the first user interface element, To a plurality of applications.
무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들을 제어하는 방법으로서,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 무선 통신 디바이스의 디스플레이를 제어하는 상기 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 단계;
상기 복수의 애플리케이션들 중의 제 2 애플리케이션이, 상기 복수의 애플리케이션들 중의 상기 제 1 애플리케이션이 상기 디스플레이를 제어한다는 상기 중재기를 통한 상기 결정을 따르지 않았는지 여부를 결정하는 단계; 및
상기 복수의 애플리케이션들 중의 상기 제 2 애플리케이션이 따르지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 종결시키는 단계를 포함하는, 무선 통신 디바이스 상에 상주하는 복수의 애플리케이션들을 제어하는 방법.
A method for controlling a plurality of applications resident on a wireless communication device,
Determine a first one of the plurality of applications that controls the display of the wireless communication device based on predetermined criteria, in response to receiving, via the arbiter, a notification event that simultaneously invokes more than one application ;
Determining whether a second one of the plurality of applications has not followed the determination through the arbiter that the first one of the plurality of applications controls the display; And
And terminating the second application in response to determining that the second one of the plurality of applications does not comply with the first application.
무선 통신 디바이스로서,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 제 1 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 복수의 디스플레이들 중의 하나를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하기 위한 수단;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 복수의 디스플레이들 중의 상기 하나를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들 중의 제 2 애플리케이션에 관련 있는 액티비티가 검출되는지 여부를 결정하기 위한 수단;
상기 제 2 애플리케이션에 관련 있는 상기 액티비티를 검출하는 것에 응답하여, 상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 리스트를 상기 제 2 애플리케이션에 대한 우선순위의 순서로 순서화하기 위한 수단;
상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 순서화된 상기 리스트에서 디스플레이를 선택하기 위한 수단;
선택된 상기 디스플레이가 제 3 애플리케이션에 의해 이용 중인지 여부를 결정하기 위한 수단; 및
상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중인 것이 아닌 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 포어그라운드의 제어를 배정하는 플래그를 상기 제 2 애플리케이션으로 전송하기 위한 수단을 포함하는, 무선 통신 디바이스.
A wireless communication device,
In response to receiving a first notification event that simultaneously invokes more than one application through the arbiter, a first application of a plurality of applications controlling one of the plurality of displays based on predetermined criteria Means for determining;
Means for determining, via the arbiter, whether an activity associated with a second application of the plurality of applications is detected in response to the determining that the first application controls the one of the plurality of displays ;
Means for ordering, in response to detecting the activity associated with the second application, a list of executable displays of the plurality of displays in order of priority for the second application;
Means for selecting a display from the ordered list of executable displays of the plurality of displays;
Means for determining whether the selected display is being used by a third application; And
Means for sending a flag to the second application to assign control of the foreground of the selected display in response to determining that the selected display is not being used by the third application. .
제 21 항에 있어서,
상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 낮은 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 상기 포어그라운드의 상기 제어를 배정하는 상기 플래그를 상기 제 2 애플리케이션으로 전송하기 위한 수단을 더 포함하는, 무선 통신 디바이스.
22. The method of claim 21,
Assigning the control of the foreground of the selected display in response to determining that the selected display is being used by the third application and the priority of the third application is lower than the priority of the second application And means for sending the flag to the second application.
제 21 항에 있어서,
상기 액티비티는 제 2 통지 이벤트, 상기 제 2 애플리케이션과 연관된 등록 정보 내에 표시된 미리 정의된 이벤트, 조우된 예외, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 우선순위 변경, 상기 중재기로의 새로운 애플리케이션의 등록, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 동작 스테이터스에 있어서의 변경, 상기 복수의 애플리케이션들 중의 한 애플리케이션에 의한 디스플레이 포어그라운드의 제어의 상실, 및 상기 복수의 디스플레이들 중의 한 디스플레이의 액티비티 상태에 있어서의 변경 중의 적어도 하나인, 무선 통신 디바이스.
22. The method of claim 21,
Wherein the activity includes a second notification event, a predefined event displayed in the registration information associated with the second application, an encountered exception, a change of priority of one of the plurality of applications, a registration of a new application to the arbiter, A change in the operational status of one of the plurality of applications, a loss of control of the display foreground by one of the plurality of applications, and a change in the activity status of one of the plurality of displays Lt; / RTI > wireless communication device.
제 21 항에 있어서,
상기 선택된 디스플레이가 상기 복수의 애플리케이션들 중의 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 높은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 상기 선택된 디스플레이를 위한 대기 큐에 추가하기 위한 수단을 더 포함하는, 무선 통신 디바이스.
22. The method of claim 21,
In response to determining that the selected display is being used by the third one of the plurality of applications and that the priority of the third application is higher than the priority of the second application, Further comprising means for adding to a wait queue for display.
제 21 항에 있어서,
상기 무선 통신 디바이스의 컴퓨터 플랫폼의 부트-업, 상기 복수의 애플리케이션들의 각각의 활성화, 및 등록을 위한 수신된 요청 중의 하나에 응답하여, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하기 위한 수단을 더 포함하고,
상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하기 위한 수단은, 상기 복수의 애플리케이션들의 각각에 대한 등록 정보를 저장하는 것을 포함하는, 무선 통신 디바이스.
22. The method of claim 21,
Further comprising means for registering each of the plurality of applications with the arbiter in response to one of a request to boot up a computer platform of the wireless communication device, activation of each of the plurality of applications, and registration. Including,
Wherein the means for registering each of the plurality of applications with the arbiter comprises storing registration information for each of the plurality of applications.
제 25 항에 있어서,
상기 복수의 애플리케이션들 중의 개별적인 애플리케이션에 대한 등록 정보는, 식별정보, 우선순위, 네트워크 요건들, 상기 개별적인 애플리케이션이 동적으로 재우선순위화될 수도 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 상기 복수의 디스플레이들 중의 보조 디스플레이 상에서 이용될 수 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 백그라운드-인에이블형인지 여부의 표시 중의 적어도 하나를 포함하는, 무선 통신 디바이스.
26. The method of claim 25,
Wherein the registration information for the respective one of the plurality of applications includes at least one of identification information, priority, network requirements, an indication of whether the individual application may be dynamically reordered, An indication of whether or not the individual application is available on the secondary display in the background, and an indication of whether the individual application is background-enabled.
제 26 항에 있어서,
동적 재우선순위화를 위하여 등록되는 상기 복수의 애플리케이션들의 각각에 대한 우선순위들을 재계산하기 위한 수단을 더 포함하는, 무선 통신 디바이스.
27. The method of claim 26,
Further comprising means for recalculating priorities for each of the plurality of applications registered for dynamic prioritization.
제 21 항에 있어서,
상기 복수의 디스플레이들의 각각에 대한 스테이터스 정보를 저장하는 수단으로서, 상기 스테이터스 정보는 적어도 동작 조건, 동작 요건들, 및 디스플레이 우선순위를 포함하는, 상기 스테이터스 정보를 저장하기 위한 수단;
상기 무선 통신 디바이스의 현재의 조건들을 표시하는 정보를 위하여 센서들을 폴링하기 위한 수단;
저장된 상기 스테이터스 정보와, 상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각의 실행가능성을 평가하기 위한 수단;
상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각과의 사용자 상호작용을 평가하기 위한 수단; 및
상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하기 위한 수단을 더 포함하는, 무선 통신 디바이스.
22. The method of claim 21,
Means for storing status information for each of the plurality of displays, the status information including at least operating conditions, operational requirements, and display priorities; means for storing the status information;
Means for polling sensors for information indicative of current conditions of the wireless communication device;
Means for evaluating the feasibility of each of the plurality of displays based on the stored status information and the information indicative of the current conditions of the wireless communication device;
Means for evaluating user interaction with each of the plurality of displays based on the information indicating the current conditions of the wireless communication device; And
And means for recalculating the priorities of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction.
제 28 항에 있어서,
상기 무선 통신 디바이스의 상기 현재의 조건들은, 서미스터 센서 데이터에 기초한 주변 온도, 카메라 데이터에 기초한 주변 밝기, GPS 데이터에 기초한 디바이스 고도, 자이로스코프 센서 데이터에 기초한 디바이스 이동, 자이로스코프 센서 데이터에 기초한 디바이스 경사, 터치스크린 상의 사용자 입력들, 및 상기 카메라 데이터 또는 마이크로폰 데이터에 기초한 사용자의 아이덴티티 중의 적어도 하나를 포함하는, 무선 통신 디바이스.
29. The method of claim 28,
The current conditions of the wireless communication device include ambient temperature based on thermistor sensor data, ambient brightness based on camera data, device altitude based on GPS data, device movement based on gyroscope sensor data, device inclination based on gyroscope sensor data The user inputs on the touch screen, and the identity of the user based on the camera data or microphone data.
제 28 항에 있어서,
상기 사용자 상호작용은, 사용자가 아이 트래킹에 기초하여 디스플레이를 쳐다 보고 있는 것, 상기 사용자가 헤드 트래킹에 기초하여 디스플레이를 쳐다 보고 있는 것, 및 상기 사용자가 디스플레이를 터치하고 있는 것 중의 적어도 하나를 나타내는, 무선 통신 디바이스.
29. The method of claim 28,
Wherein the user interaction is indicative of at least one of: the user viewing the display based on eye tracking; the user viewing the display based on head tracking; and the user indicating at least one of being touched by the display , ≪ / RTI >
제 28 항에 있어서,
상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하기 위한 수단은, 상기 복수의 디스플레이들의 각각의 상기 평가된 실행가능성 및 상기 평가된 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 상기 복수의 애플리케이션들의 각각에 대하여 재계산하기 위한 수단을 포함하는, 무선 통신 디바이스.
29. The method of claim 28,
Wherein the means for recalculating the priorities of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction further comprises: And means for recalculating, for each of the plurality of applications, the priority of each of the plurality of displays based on at least one of the evaluated feasibility and the evaluated user interaction.
무선 통신 디바이스로서,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하기 위한 수단;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 디스플레이를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들에서의 상기 제 1 애플리케이션으로부터 상기 복수의 애플리케이션들에서의 제 2 애플리케이션으로의 상기 디스플레이의 제어에 있어서의 변경을 검출하기 위한 수단;
상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 전에 수신된 제 1 입력과, 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 후에 수신된 제 2 입력을 식별하기 위한 수단;
상기 제 1 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정하기 위한 수단;
상기 제 2 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 2 시간 문턱 내에 수신되었는지 여부를 결정하기 위한 수단; 및
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되지 않았거나 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신되지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 2 애플리케이션과 연관시키기 위한 수단을 포함하는, 무선 통신 디바이스.
A wireless communication device,
Determining a first one of a plurality of applications that controls the display of the wireless communication device based on predetermined criteria, in response to receiving, via the arbiter, a notification event that simultaneously invokes more than one application Means for;
In response to determining, by the intermediary, that the first application is to control the display, control of the display from the first application in the plurality of applications to the second application in the plurality of applications Means for detecting a change in the position of the object;
Means for identifying a first input received prior to the detected change in the control of the display and a second input received after the detected change in the control of the display;
Means for determining whether the first input has been received within a first time threshold of the detected change in the control of the display;
Means for determining whether the second input has been received within a second time threshold of the detected change in the control of the display; And
Means for associating the second input with the second application in response to determining that the first input has not been received within the first time threshold or that the second input has not been received within the second time threshold, The wireless communication device.
제 32 항에 있어서,
상기 제 1 입력 및 상기 제 2 입력은 양자 모두, 터치 입력들, 텍스트 입력들, 발성된 입력들, 또는 시각적 입력들 중의 하나인, 무선 통신 디바이스.
33. The method of claim 32,
Wherein the first input and the second input are both one of touch inputs, text inputs, voiced inputs, or visual inputs.
제 32 항에 있어서,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키기 위한 수단을 더 포함하는, 무선 통신 디바이스.
33. The method of claim 32,
Further comprising means for associating the second input with the first application in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold Lt; / RTI >
제 32 항에 있어서,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키기 위한 사용자 선택 입력을 요청하는 프롬프트를 렌더링하기 위한 수단;
사용자 인터페이스를 통해 상기 사용자 선택 입력을 수신하기 위한 수단; 및
상기 수신된 사용자 선택 입력에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키기 위한 수단을 더 포함하는, 무선 통신 디바이스.
33. The method of claim 32,
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, sending the second input to one of the first application and the second application Means for rendering a prompt requesting a user-selected input to associate;
Means for receiving the user selection input via a user interface; And
And means for associating the second input with one of the first application and the second application based on the received user selected input.
제 35 항에 있어서,
상기 제 1 입력은 구어 입력이고;
상기 프롬프트는 제 2 사운드이고; 그리고
상기 무선 통신 디바이스는, 상기 디스플레이의 상기 제어에 있어서의 상기 변경을 검출하기 이전에 제 1 사운드를 렌더링하기 위한 수단을 더 포함하는, 무선 통신 디바이스.
36. The method of claim 35,
Wherein the first input is a speech input;
The prompt is a second sound; And
Wherein the wireless communication device further comprises means for rendering a first sound before detecting the change in the control of the display.
제 32 항에 있어서,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 1 입력 및 상기 제 2 입력의 내용을 평가하기 위한 수단;
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제어에 있어서의 상기 검출된 변경에 관련하여 상기 제 2 애플리케이션의 착수 시간을 평가하기 위한 수단; 및
상기 평가된 내용 및 상기 평가된 착수 시간 중의 적어도 하나에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 또는 상기 제 2 애플리케이션과 연관시키기 위한 수단을 더 포함하는, 무선 통신 디바이스.
33. The method of claim 32,
Means for evaluating the contents of the first input and the second input in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold;
Responsive to determining that said first input has been received within said first time threshold and said second input has been received within said second time threshold, Means for evaluating start time; And
And means for associating the second input with the first application or the second application based on at least one of the evaluated content and the evaluated start time.
제 37 항에 있어서,
상기 내용은 문법, 철자, 구두법, 포맷, 맥락, 및 해독된 의미 중의 적어도 하나인, 무선 통신 디바이스.
39. The method of claim 37,
Wherein the content is at least one of grammar, spelling, punctuation, format, context, and decoded meaning.
제 32 항에 있어서,
상기 제 2 입력은 터치 입력이고, 상기 통신 디바이스는,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력에 대응하는 상기 제 2 애플리케이션의 제 2 사용자 인터페이스 엘리먼트를 식별하기 위한 수단;
상기 제 2 애플리케이션의 상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 애플리케이션의 제 1 사용자 인터페이스 엘리먼트와 일치하는지 여부를 결정하기 위한 수단; 및
상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 사용자 인터페이스 엘리먼트와 일치하는 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키기 위한 수단을 더 포함하는, 무선 통신 디바이스.
33. The method of claim 32,
Wherein the second input is a touch input,
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, the second user interface element of the second application corresponding to the second input Means for identifying a user;
Means for determining whether the identified second user interface element of the second application matches a first user interface element of the first application; And
And means for associating the second input with the first application in response to determining that the identified second user interface element matches the first user interface element.
무선 통신 디바이스로서,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하기 위한 수단;
상기 복수의 애플리케이션들 중의 제 2 애플리케이션이, 상기 복수의 애플리케이션들 중의 상기 제 1 애플리케이션이 상기 디스플레이를 제어한다는 상기 중재기를 통한 상기 결정을 따르지 않았는지 여부를 결정하기 위한 수단; 및
상기 복수의 애플리케이션들 중의 상기 제 2 애플리케이션이 따르지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 종결시키기 위한 수단을 포함하는, 무선 통신 디바이스.
A wireless communication device,
Determining a first one of a plurality of applications that controls the display of the wireless communication device based on predetermined criteria, in response to receiving, via the arbiter, a notification event that simultaneously invokes more than one application Means for;
Means for determining whether a second one of the plurality of applications has not followed the determination through the arbiter that the first one of the plurality of applications controls the display; And
And means for terminating the second application in response to determining that the second one of the plurality of applications does not comply.
무선 통신 디바이스로서,
메모리; 및
상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되고, 상기 프로세서-실행가능 명령들은,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 제 1 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 복수의 디스플레이들 중의 하나를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 것;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 복수의 디스플레이들 중의 상기 하나를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들 중의 제 2 애플리케이션에 관련 있는 액티비티가 검출되는지 여부를 결정하는 것;
상기 제 2 애플리케이션에 관련 있는 상기 액티비티를 검출하는 것에 응답하여, 상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 리스트를 상기 제 2 애플리케이션에 대한 우선순위의 순서로 순서화하는 것;
상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 순서화된 상기 리스트에서 디스플레이를 선택하는 것;
선택된 상기 디스플레이가 제 3 애플리케이션에 의해 이용 중인지 여부를 결정하는 것; 및
상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중인 것이 아닌 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 포어그라운드의 제어를 배정하는 플래그를 상기 제 2 애플리케이션으로 전송하는 것을 포함하는, 무선 통신 디바이스.
A wireless communication device,
Memory; And
And a processor coupled to the memory, the processor configured with processor-executable instructions for performing operations, the processor-
In response to receiving a first notification event that simultaneously invokes more than one application through the arbiter, a first application of a plurality of applications controlling one of the plurality of displays based on predetermined criteria To decide;
Determining, via the arbiter, whether an activity associated with a second application of the plurality of applications is detected, in response to the determining that the first application controls the one of the plurality of displays;
Ordering, in response to detecting the activity associated with the second application, a list of executable displays of the plurality of displays in order of priority for the second application;
Selecting a display from the ordered list of executable displays of the plurality of displays;
Determining whether the selected display is being used by a third application; And
Responsive to determining that the selected display is not being used by the third application, sending a flag to the second application to assign control of the foreground of the selected display to the second application.
제 41 항에 있어서,
상기 프로세서는, 상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 낮은 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 상기 포어그라운드의 상기 제어를 배정하는 상기 플래그를 상기 제 2 애플리케이션으로 전송하는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
42. The method of claim 41,
Wherein the processor is responsive to determining that the selected display is being used by the third application and the priority of the third application is lower than the priority of the second application, And sending said flag assigning control to said second application. ≪ Desc / Clms Page number 22 >
제 41 항에 있어서,
상기 액티비티는 제 2 통지 이벤트, 상기 제 2 애플리케이션과 연관된 등록 정보 내에 표시된 미리 정의된 이벤트, 조우된 예외, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 우선순위 변경, 상기 중재기로의 새로운 애플리케이션의 등록, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 동작 스테이터스에 있어서의 변경, 상기 복수의 애플리케이션들 중의 한 애플리케이션에 의한 디스플레이 포어그라운드의 제어의 상실, 및 상기 복수의 디스플레이들 중의 한 디스플레이의 액티비티 상태에 있어서의 변경 중의 적어도 하나인, 무선 통신 디바이스.
42. The method of claim 41,
Wherein the activity includes a second notification event, a predefined event displayed in the registration information associated with the second application, an encountered exception, a change of priority of one of the plurality of applications, a registration of a new application to the arbiter, A change in the operational status of one of the plurality of applications, a loss of control of the display foreground by one of the plurality of applications, and a change in the activity status of one of the plurality of displays Lt; / RTI > wireless communication device.
제 41 항에 있어서,
상기 프로세서는, 상기 선택된 디스플레이가 상기 복수의 애플리케이션들 중의 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 높은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 상기 선택된 디스플레이를 위한 대기 큐에 추가하는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
42. The method of claim 41,
Wherein the processor is responsive to determining that the selected display is being used by the third application of the plurality of applications and that the priority of the third application is higher than the priority of the second application, Further comprising adding an application to a wait queue for the selected display.
제 41 항에 있어서,
상기 프로세서는, 상기 무선 통신 디바이스의 컴퓨터 플랫폼의 부트-업, 상기 복수의 애플리케이션들의 각각의 활성화, 및 등록을 위한 수신된 요청 중의 하나에 응답하여, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되고, 그리고
상기 프로세서는, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하는 것이 상기 복수의 애플리케이션들의 각각에 대한 등록 정보를 저장하는 것을 포함하도록 하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
42. The method of claim 41,
Wherein the processor registers each of the plurality of applications with the arbiter in response to one of a request to boot up a computer platform of the wireless communication device, activation of each of the plurality of applications, and registration ≪ / RTI > further comprising processor-executable instructions,
Wherein the processor is comprised of processor-executable instructions for causing each of the plurality of applications to register with the arbiter to store registration information for each of the plurality of applications.
제 45 항에 있어서,
상기 복수의 애플리케이션들 중의 개별적인 애플리케이션에 대한 등록 정보는, 식별정보, 우선순위, 네트워크 요건들, 상기 개별적인 애플리케이션이 동적으로 재우선순위화될 수도 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 상기 복수의 디스플레이들 중의 보조 디스플레이 상에서 이용될 수 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 백그라운드-인에이블형인지 여부의 표시 중의 적어도 하나를 포함하는, 무선 통신 디바이스.
46. The method of claim 45,
Wherein the registration information for the respective one of the plurality of applications includes at least one of identification information, priority, network requirements, an indication of whether the individual application may be dynamically reordered, An indication of whether or not the individual application is available on the secondary display in the background, and an indication of whether the individual application is background-enabled.
제 46 항에 있어서,
상기 프로세서는, 동적 재우선순위화를 위하여 등록되는 상기 복수의 애플리케이션들의 각각에 대한 우선순위들을 재계산하는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
47. The method of claim 46,
Wherein the processor is further comprised of processor-executable instructions that further comprise recalculating priorities for each of the plurality of applications registered for dynamic prioritization.
제 41 항에 있어서,
상기 프로세서는,
상기 복수의 디스플레이들의 각각에 대한 스테이터스 정보를 저장하는 것으로서, 상기 스테이터스 정보는 적어도 동작 조건, 동작 요건들, 및 디스플레이 우선순위를 포함하는, 상기 스테이터스 정보를 저장하는 것;
상기 무선 통신 디바이스의 현재의 조건들을 표시하는 정보를 위하여 센서들을 폴링하는 것;
저장된 상기 스테이터스 정보와, 상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각의 실행가능성을 평가하는 것;
상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각과의 사용자 상호작용을 평가하는 것; 및
상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
42. The method of claim 41,
The processor comprising:
Storing status information for each of the plurality of displays, the status information including at least operating conditions, operational requirements, and display priorities;
Polling the sensors for information indicative of current conditions of the wireless communication device;
Evaluating the feasibility of each of the plurality of displays based on the stored status information and the information indicative of the current conditions of the wireless communication device;
Evaluating user interaction with each of the plurality of displays based on the information indicating the current conditions of the wireless communication device; And
Further comprising recalculating the priorities of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction Lt; / RTI >
제 48 항에 있어서,
상기 무선 통신 디바이스의 상기 현재의 조건들은, 서미스터 센서 데이터에 기초한 주변 온도, 카메라 데이터에 기초한 주변 밝기, GPS 데이터에 기초한 디바이스 고도, 자이로스코프 센서 데이터에 기초한 디바이스 이동, 자이로스코프 센서 데이터에 기초한 디바이스 경사, 터치스크린 상의 사용자 입력들, 및 상기 카메라 데이터 또는 마이크로폰 데이터에 기초한 사용자의 아이덴티티 중의 적어도 하나를 포함하는, 무선 통신 디바이스.
49. The method of claim 48,
The current conditions of the wireless communication device include ambient temperature based on thermistor sensor data, ambient brightness based on camera data, device altitude based on GPS data, device movement based on gyroscope sensor data, device inclination based on gyroscope sensor data The user inputs on the touch screen, and the identity of the user based on the camera data or microphone data.
제 48 항에 있어서,
상기 사용자 상호작용은, 사용자가 아이 트래킹에 기초하여 디스플레이를 쳐다 보고 있는 것, 상기 사용자가 헤드 트래킹에 기초하여 디스플레이를 쳐다 보고 있는 것, 및 상기 사용자가 디스플레이를 터치하고 있는 것 중의 적어도 하나를 나타내는, 무선 통신 디바이스.
49. The method of claim 48,
Wherein the user interaction is indicative of at least one of: the user viewing the display based on eye tracking; the user viewing the display based on head tracking; and the user indicating at least one of being touched by the display , ≪ / RTI >
제 48 항에 있어서,
상기 프로세서는, 상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하는 것이, 상기 복수의 디스플레이들의 각각의 상기 평가된 실행가능성 및 상기 평가된 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 상기 복수의 애플리케이션들의 각각에 대하여 재계산하는 것을 포함하도록 하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
49. The method of claim 48,
Wherein the processor is further configured to recalculate the priorities of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction, Calculating the priority of each of the plurality of displays based on at least one of the evaluated availability and the evaluated user interaction for each of the plurality of applications. ≪ / RTI > instructions.
무선 통신 디바이스로서,
메모리; 및
상기 메모리에 결합된 프로세서를 포함하고, 상기 프로세서는 동작들을 수행하기 위한 프로세서-실행가능 명령들로 구성되고, 상기 프로세서-실행가능 명령들은,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 것;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 디스플레이를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들에서의 상기 제 1 애플리케이션으로부터 상기 복수의 애플리케이션들에서의 제 2 애플리케이션으로의 상기 디스플레이의 제어에 있어서의 변경을 검출하는 것;
상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 전에 수신된 제 1 입력과, 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 후에 수신된 제 2 입력을 식별하는 것;
상기 제 1 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정하는 것;
상기 제 2 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 2 시간 문턱 내에 수신되었는지 여부를 결정하는 것; 및
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되지 않았거나 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신되지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 2 애플리케이션과 연관시키는 것을 포함하는, 무선 통신 디바이스.
A wireless communication device,
Memory; And
And a processor coupled to the memory, the processor configured with processor-executable instructions for performing operations, the processor-
Determining, via the arbiter, a first one of a plurality of applications controlling a display of the wireless communication device based on predetermined criteria, in response to receiving a notification event simultaneously invoking more than one application that;
In response to determining, by the intermediary, that the first application is to control the display, control of the display from the first application in the plurality of applications to the second application in the plurality of applications To detect a change in the content;
Identifying a first input received prior to the detected change in the control of the display and a second input received after the detected change in the control of the display;
Determining whether the first input has been received within a first time threshold of the detected change in the control of the display;
Determining whether the second input has been received within a second time threshold of the detected change in the control of the display; And
The method further comprises associating the second input with the second application in response to determining that the first input has not been received within the first time threshold or that the second input has not been received within the second time threshold Lt; / RTI >
제 52 항에 있어서,
상기 제 1 입력 및 상기 제 2 입력은 양자 모두, 터치 입력들, 텍스트 입력들, 발성된 입력들, 또는 시각적 입력들 중의 하나인, 무선 통신 디바이스.
53. The method of claim 52,
Wherein the first input and the second input are both one of touch inputs, text inputs, voiced inputs, or visual inputs.
제 52 항에 있어서,
상기 프로세서는, 상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
53. The method of claim 52,
Wherein the processor is further configured to associate the second input with the first application in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold ≪ / RTI > further comprising processor-executable instructions.
제 52 항에 있어서,
상기 프로세서는,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키기 위한 사용자 선택 입력을 요청하는 프롬프트를 렌더링하는 것;
사용자 인터페이스를 통해 상기 사용자 선택 입력을 수신하는 것; 및
상기 수신된 사용자 선택 입력에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
53. The method of claim 52,
The processor comprising:
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, sending the second input to one of the first application and the second application Rendering a prompt requesting a user-selected input to associate;
Receiving the user selection input via a user interface; And
And associating the second input with one of the first application and the second application based on the received user selected input.
제 55 항에 있어서,
상기 제 1 입력은 구어 입력이고;
상기 프롬프트는 제 2 사운드이고; 그리고
상기 프로세서는, 상기 디스플레이의 상기 제어에 있어서의 상기 변경을 검출하기 이전에 제 1 사운드를 렌더링하는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
56. The method of claim 55,
Wherein the first input is a speech input;
The prompt is a second sound; And
Wherein the processor is further comprised of processor-executable instructions that further comprise rendering a first sound before detecting the change in the control of the display.
제 52 항에 있어서,
상기 프로세서는,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 1 입력 및 상기 제 2 입력의 내용을 평가하는 것;
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제어에 있어서의 상기 검출된 변경에 관련하여 상기 제 2 애플리케이션의 착수 시간을 평가하는 것; 및
상기 평가된 내용 및 상기 평가된 착수 시간 중의 적어도 하나에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 또는 상기 제 2 애플리케이션과 연관시키는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
53. The method of claim 52,
The processor comprising:
Evaluating the contents of the first input and the second input in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold;
Responsive to determining that said first input has been received within said first time threshold and said second input has been received within said second time threshold, Evaluating the start time; And
Further comprising associating the second input with the first application or the second application based on at least one of the evaluated content and the evaluated start time, .
제 57 항에 있어서,
상기 내용은 문법, 철자, 구두법, 포맷, 맥락, 및 해독된 의미 중의 적어도 하나인, 무선 통신 디바이스.
58. The method of claim 57,
Wherein the content is at least one of grammar, spelling, punctuation, format, context, and decoded meaning.
제 52 항에 있어서,
상기 제 2 입력은 터치 입력이고, 상기 프로세서는,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력에 대응하는 상기 제 2 애플리케이션의 제 2 사용자 인터페이스 엘리먼트를 식별하는 것;
상기 제 2 애플리케이션의 상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 애플리케이션의 제 1 사용자 인터페이스 엘리먼트와 일치하는지 여부를 결정하는 것; 및
상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 사용자 인터페이스 엘리먼트와 일치하는 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키는 것을 더 포함하는 프로세서-실행가능 명령들로 구성되는, 무선 통신 디바이스.
53. The method of claim 52,
Wherein the second input is a touch input,
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, the second user interface element of the second application corresponding to the second input ≪ / RTI >
Determining whether the identified second user interface element of the second application matches the first user interface element of the first application; And
Further comprising associating the second input with the first application in response to determining that the identified second user interface element matches the first user interface element , ≪ / RTI >
무선 통신 디바이스로서,
메모리; 및
상기 메모리에 결합된 프로세서를 포함하고,
상기 프로세서는 프로세서-실행가능 명령들에 의해,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 상기 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 것;
상기 복수의 애플리케이션들 중의 제 2 애플리케이션이, 상기 복수의 애플리케이션들 중의 상기 제 1 애플리케이션이 상기 디스플레이를 제어한다는 상기 중재기를 통한 상기 결정을 따르지 않았는지 여부를 결정하는 것; 및
상기 복수의 애플리케이션들 중의 상기 제 2 애플리케이션이 따르지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 종결시키는 것을 포함하는 동작들을 수행하도록 구성되는, 무선 통신 디바이스.
A wireless communication device,
Memory; And
A processor coupled to the memory,
The processor is operable, by processor-executable instructions,
Determining, via the arbiter, a first one of a plurality of applications controlling a display of the wireless communication device based on predetermined criteria, in response to receiving a notification event simultaneously invoking more than one application that;
Determining whether a second one of the plurality of applications has not followed the determination through the arbiter that the first one of the plurality of applications controls the display; And
And terminating the second application in response to determining that the second one of the plurality of applications does not comply.
프로세서-실행가능 소프트웨어 명령들이 저장된 비-일시적인 프로세서-판독가능 저장 매체로서,
상기 프로세서-실행가능 소프트웨어 명령들은 프로세서로 하여금,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 제 1 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 복수의 디스플레이들 중의 하나를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 것;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 복수의 디스플레이들 중의 상기 하나를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들 중의 제 2 애플리케이션에 관련 있는 액티비티가 검출되는지 여부를 결정하는 것;
상기 제 2 애플리케이션에 관련 있는 상기 액티비티를 검출하는 것에 응답하여, 상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 리스트를 상기 제 2 애플리케이션에 대한 우선순위의 순서로 순서화하는 것;
상기 복수의 디스플레이들 중의 실행가능한 디스플레이들의 순서화된 상기 리스트에서 디스플레이를 선택하는 것;
선택된 상기 디스플레이가 제 3 애플리케이션에 의해 이용 중인지 여부를 결정하는 것; 및
상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중인 것이 아닌 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 포어그라운드의 제어를 배정하는 플래그를 상기 제 2 애플리케이션으로 전송하는 것을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
18. A non-transitory processor-readable storage medium having stored thereon processor-executable software instructions,
The processor-executable software instructions cause the processor to:
In response to receiving a first notification event that simultaneously invokes more than one application through the arbiter, a first application of a plurality of applications controlling one of the plurality of displays based on predetermined criteria To decide;
Determining, via the arbiter, whether an activity associated with a second application of the plurality of applications is detected, in response to the determining that the first application controls the one of the plurality of displays;
Ordering, in response to detecting the activity associated with the second application, a list of executable displays of the plurality of displays in order of priority for the second application;
Selecting a display from the ordered list of executable displays of the plurality of displays;
Determining whether the selected display is being used by a third application; And
In response to determining that the selected display is not being used by the third application, sending a flag to the second application to assign control of the foreground of the selected display to the second application Lt; RTI ID = 0.0 > processor-readable < / RTI >
제 61 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 선택된 디스플레이가 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 낮은 것으로 결정하는 것에 응답하여, 상기 선택된 디스플레이의 상기 포어그라운드의 상기 제어를 배정하는 상기 플래그를 상기 제 2 애플리케이션으로 전송하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
62. The method of claim 61,
Wherein the stored processor-executable software instructions cause the processor to perform the steps of: in response to determining that the selected display is being used by the third application and the priority of the third application is lower than the priority of the second application And sending the flag assigning the control of the foreground of the selected display to the second application. ≪ Desc / Clms Page number 22 >
제 61 항에 있어서,
상기 액티비티는 제 2 통지 이벤트, 상기 제 2 애플리케이션과 연관된 등록 정보 내에 표시된 미리 정의된 이벤트, 조우된 예외, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 우선순위 변경, 상기 중재기로의 새로운 애플리케이션의 등록, 상기 복수의 애플리케이션들 중의 한 애플리케이션의 동작 스테이터스에 있어서의 변경, 상기 복수의 애플리케이션들 중의 한 애플리케이션에 의한 디스플레이 포어그라운드의 제어의 상실, 및 상기 복수의 디스플레이들 중의 한 디스플레이의 액티비티 상태에 있어서의 변경 중의 적어도 하나인, 비-일시적인 프로세서-판독가능 저장 매체.
62. The method of claim 61,
Wherein the activity includes a second notification event, a predefined event displayed in the registration information associated with the second application, an encountered exception, a change of priority of one of the plurality of applications, a registration of a new application to the arbiter, A change in the operational status of one of the plurality of applications, a loss of control of the display foreground by one of the plurality of applications, and a change in the activity status of one of the plurality of displays At least one non-transitory processor-readable storage medium.
제 61 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 선택된 디스플레이가 상기 복수의 애플리케이션들 중의 상기 제 3 애플리케이션에 의해 이용 중이고 상기 제 3 애플리케이션의 우선순위가 상기 제 2 애플리케이션의 우선순위보다 더 높은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 상기 선택된 디스플레이를 위한 대기 큐에 추가하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
62. The method of claim 61,
Wherein the stored processor-executable software instructions cause the processor to cause the processor to perform the steps of: causing the processor to perform the steps of: determining whether the selected display is being used by the third application of the plurality of applications and the priority of the third application is higher than the priority of the second application In response to determining that the second application is a standby queue for the selected display, adding the second application to a wait queue for the selected display.
제 61 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 컴퓨터 플랫폼의 부트-업, 상기 복수의 애플리케이션들의 각각의 활성화, 및 등록을 위한 수신된 요청 중의 하나에 응답하여, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되고, 그리고
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 복수의 애플리케이션들의 각각을 상기 중재기에 등록하는 것이 상기 복수의 애플리케이션들의 각각에 대한 등록 정보를 저장하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
62. The method of claim 61,
Wherein the stored processor-executable software instructions cause the processor to perform each of the plurality of applications in response to one of a received request for boot-up of a computer platform, activation of each of the plurality of applications, and registration Further comprising registering with the arbiter,
Wherein the stored processor-executable software instructions are configured to cause the processor to perform operations that include registering each of the plurality of applications with the mediator storing registration information for each of the plurality of applications. Lt; RTI ID = 0.0 > processor-readable < / RTI >
제 65 항에 있어서,
상기 복수의 애플리케이션들 중의 개별적인 애플리케이션에 대한 상기 등록 정보는, 식별정보, 우선순위, 네트워크 요건들, 상기 개별적인 애플리케이션이 동적으로 재우선순위화될 수도 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 상기 복수의 디스플레이들 중의 보조 디스플레이 상에서 이용될 수 있는지 여부의 표시, 및 상기 개별적인 애플리케이션이 백그라운드-인에이블형인지 여부의 표시 중의 적어도 하나를 포함하는, 비-일시적인 프로세서-판독가능 저장 매체.
66. The method of claim 65,
Wherein the registration information for a respective one of the plurality of applications includes at least one of identification information, priority, network requirements, an indication of whether the individual application may be dynamically reordered, An indication of whether or not the individual application is available on the secondary display, and an indication of whether the individual application is a background-enabled type.
제 66 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 동적 재우선순위화를 위하여 등록되는 상기 복수의 애플리케이션들의 각각에 대한 우선순위들을 재계산하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
67. The method of claim 66,
Wherein the stored processor-executable software instructions are configured to cause the processor to perform operations that further comprise recalculating priorities for each of the plurality of applications that are registered for dynamic post- Transient processor-readable storage medium.
제 61 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금,
상기 복수의 디스플레이들의 각각에 대한 스테이터스 정보를 저장하는 것으로서, 상기 스테이터스 정보는 적어도 동작 조건, 동작 요건들, 및 디스플레이 우선순위를 포함하는, 상기 스테이터스 정보를 저장하는 것;
무선 통신 디바이스의 현재의 조건들을 표시하는 정보를 위하여 센서들을 폴링하는 것;
저장된 상기 스테이터스 정보와, 상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각의 실행가능성을 평가하는 것;
상기 무선 통신 디바이스의 상기 현재의 조건들을 표시하는 상기 정보에 기초하여 상기 복수의 디스플레이들의 각각과의 사용자 상호작용을 평가하는 것; 및
상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
62. The method of claim 61,
The stored processor-executable software instructions cause the processor to:
Storing status information for each of the plurality of displays, the status information including at least operating conditions, operational requirements, and display priorities;
Polling the sensors for information indicative of current conditions of the wireless communication device;
Evaluating the feasibility of each of the plurality of displays based on the stored status information and the information indicative of the current conditions of the wireless communication device;
Evaluating user interaction with each of the plurality of displays based on the information indicating the current conditions of the wireless communication device; And
Further comprising recalculating the priorities of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction , Non-transitory processor-readable storage medium.
제 68 항에 있어서,
상기 무선 통신 디바이스의 상기 현재의 조건들은, 서미스터 센서 데이터에 기초한 주변 온도, 카메라 데이터에 기초한 주변 밝기, GPS 데이터에 기초한 디바이스 고도, 자이로스코프 센서 데이터에 기초한 디바이스 이동, 자이로스코프 센서 데이터에 기초한 디바이스 경사, 터치스크린 상의 사용자 입력들, 및 상기 카메라 데이터 또는 마이크로폰 데이터에 기초한 사용자의 아이덴티티 중의 적어도 하나를 포함하는, 비-일시적인 프로세서-판독가능 저장 매체.
69. The method of claim 68,
The current conditions of the wireless communication device include ambient temperature based on thermistor sensor data, ambient brightness based on camera data, device altitude based on GPS data, device movement based on gyroscope sensor data, device inclination based on gyroscope sensor data User inputs on a touch screen, and a user's identity based on the camera data or microphone data. ≪ Desc / Clms Page number 19 >
제 68 항에 있어서,
상기 사용자 상호작용은, 사용자가 아이 트래킹에 기초하여 디스플레이를 쳐다 보고 있는 것, 상기 사용자가 헤드 트래킹에 기초하여 디스플레이를 쳐다 보고 있는 것, 및 상기 사용자가 디스플레이를 터치하고 있는 것 중의 적어도 하나를 나타내는, 비-일시적인 프로세서-판독가능 저장 매체.
69. The method of claim 68,
Wherein the user interaction is indicative of at least one of: the user viewing the display based on eye tracking; the user viewing the display based on head tracking; and the user indicating at least one of being touched by the display , Non-transitory processor-readable storage medium.
제 68 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 복수의 디스플레이들의 각각의 평가된 상기 실행가능성 및 평가된 상기 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 재계산하는 것이, 상기 복수의 디스플레이들의 각각의 상기 평가된 실행가능성 및 상기 평가된 사용자 상호작용 중의 적어도 하나에 기초하여 상기 복수의 디스플레이들의 각각의 상기 우선순위를 상기 복수의 애플리케이션들의 각각에 대하여 재계산하는 것을 포함하도록 하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
69. The method of claim 68,
Wherein the stored processor-executable software instructions cause the processor to determine the priority of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction Recalculating the priority of each of the plurality of displays based on at least one of the evaluated feasibility of each of the plurality of displays and the evaluated user interaction, Calculating a value of the at least one of the at least one of the at least two of the at least two of the at least two of the at least two of the at least two processors.
프로세서-실행가능 소프트웨어 명령들이 저장된 비-일시적인 프로세서-판독가능 저장 매체로서,
상기 프로세서-실행가능 소프트웨어 명령들은 프로세서로 하여금,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 것;
상기 중재기를 통해, 상기 제 1 애플리케이션이 상기 디스플레이를 제어하는 것으로 결정하는 것에 응답하여, 상기 복수의 애플리케이션들에서의 상기 제 1 애플리케이션으로부터 상기 복수의 애플리케이션들에서의 제 2 애플리케이션으로의 상기 디스플레이의 제어에 있어서의 변경을 검출하는 것;
상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 전에 수신된 제 1 입력과, 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경 후에 수신된 제 2 입력을 식별하는 것;
상기 제 1 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 1 시간 문턱 내에 수신되었는지 여부를 결정하는 것;
상기 제 2 입력이 상기 디스플레이의 상기 제어에 있어서의 상기 검출된 변경의 제 2 시간 문턱 내에 수신되었는지 여부를 결정하는 것; 및
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되지 않았거나 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신되지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 2 애플리케이션과 연관시키는 것을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
18. A non-transitory processor-readable storage medium having stored thereon processor-executable software instructions,
The processor-executable software instructions cause the processor to:
Determining a first one of a plurality of applications that controls the display of the wireless communication device based on predetermined criteria in response to receiving, via the arbiter, a notification event that simultaneously invokes more than one application ;
In response to determining, by the intermediary, that the first application is to control the display, control of the display from the first application in the plurality of applications to the second application in the plurality of applications To detect a change in the content;
Identifying a first input received prior to the detected change in the control of the display and a second input received after the detected change in the control of the display;
Determining whether the first input has been received within a first time threshold of the detected change in the control of the display;
Determining whether the second input has been received within a second time threshold of the detected change in the control of the display; And
The method further comprises associating the second input with the second application in response to determining that the first input has not been received within the first time threshold or that the second input has not been received within the second time threshold ≪ / RTI > wherein the processor is configured to perform the following operations.
제 72 항에 있어서,
상기 제 1 입력 및 상기 제 2 입력은 양자 모두, 터치 입력들, 텍스트 입력들, 발성된 입력들, 또는 시각적 입력들 중의 하나인, 비-일시적인 프로세서-판독가능 저장 매체.
73. The method of claim 72,
Wherein the first input and the second input are both one of touch inputs, text inputs, voiced inputs, or visual inputs.
제 72 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
73. The method of claim 72,
Wherein the stored processor-executable software instructions cause the processor to determine whether the first input has been received within the first time threshold and that the second input has been received within the second time threshold, Further comprising associating an input with the first application. ≪ Desc / Clms Page number 24 >
제 72 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키기 위한 사용자 선택 입력을 요청하는 프롬프트를 렌더링하는 것;
사용자 인터페이스를 통해 상기 사용자 선택 입력을 수신하는 것; 및
상기 수신된 사용자 선택 입력에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 및 상기 제 2 애플리케이션 중의 하나와 연관시키는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
73. The method of claim 72,
The stored processor-executable software instructions cause the processor to:
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, sending the second input to one of the first application and the second application Rendering a prompt requesting a user-selected input to associate;
Receiving the user selection input via a user interface; And
Further comprising associating the second input with one of the first application and the second application based on the received user selected input. ≪ Desc / Clms Page number 19 >
제 75 항에 있어서,
상기 제 1 입력은 구어 입력이고;
상기 프롬프트는 제 2 사운드이고; 그리고
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금, 상기 디스플레이의 상기 제어에 있어서의 상기 변경을 검출하기 이전에 제 1 사운드를 렌더링하는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
78. The method of claim 75,
Wherein the first input is a speech input;
The prompt is a second sound; And
Wherein the stored processor-executable software instructions are configured to cause the processor to perform operations that further comprise rendering a first sound prior to detecting the change in the control of the display. A processor-readable storage medium.
제 72 항에 있어서,
상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 1 입력 및 상기 제 2 입력의 내용을 평가하는 것;
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제어에 있어서의 상기 검출된 변경에 관련하여 상기 제 2 애플리케이션의 착수 시간을 평가하는 것; 및
상기 평가된 내용 및 상기 평가된 착수 시간 중의 적어도 하나에 기초하여 상기 제 2 입력을 상기 제 1 애플리케이션 또는 상기 제 2 애플리케이션과 연관시키는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
73. The method of claim 72,
The stored processor-executable software instructions cause the processor to:
Evaluating the contents of the first input and the second input in response to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold;
Responsive to determining that said first input has been received within said first time threshold and said second input has been received within said second time threshold, Evaluating the start time; And
Further comprising associating the second input with the first application or the second application based on at least one of the evaluated content and the evaluated start time. Readable storage medium.
제 77 항에 있어서,
상기 내용은 문법, 철자, 구두법, 포맷, 맥락, 및 해독된 의미 중의 적어도 하나인, 비-일시적인 프로세서-판독가능 저장 매체.
78. The method of claim 77,
Wherein the content is at least one of grammar, spelling, punctuation, format, context, and decoded meaning.
제 72 항에 있어서,
상기 제 2 입력은 터치 입력이고, 상기 저장된 프로세서-실행가능 소프트웨어 명령들은 상기 프로세서로 하여금,
상기 제 1 입력이 상기 제 1 시간 문턱 내에 수신되었고 상기 제 2 입력이 상기 제 2 시간 문턱 내에 수신된 것으로 결정하는 것에 응답하여, 상기 제 2 입력에 대응하는 상기 제 2 애플리케이션의 제 2 사용자 인터페이스 엘리먼트를 식별하는 것;
상기 제 2 애플리케이션의 상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 애플리케이션의 제 1 사용자 인터페이스 엘리먼트와 일치하는지 여부를 결정하는 것; 및
상기 식별된 제 2 사용자 인터페이스 엘리먼트가 상기 제 1 사용자 인터페이스 엘리먼트와 일치하는 것으로 결정하는 것에 응답하여, 상기 제 2 입력을 상기 제 1 애플리케이션과 연관시키는 것을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
73. The method of claim 72,
Wherein the second input is a touch input and the stored processor-executable software instructions cause the processor to:
Responsive to determining that the first input has been received within the first time threshold and the second input has been received within the second time threshold, the second user interface element of the second application corresponding to the second input ≪ / RTI >
Determining whether the identified second user interface element of the second application matches the first user interface element of the first application; And
Further comprising associating the second input with the first application in response to determining that the identified second user interface element matches the first user interface element, - Temporary processor-readable storage medium.
프로세서-실행가능 소프트웨어 명령들이 저장된 비-일시적인 프로세서-판독가능 저장 매체로서,
상기 프로세서-실행가능 소프트웨어 명령들은 프로세서로 하여금,
중재기를 통해, 하나를 초과하는 애플리케이션을 동시에 인보크하는 통지 이벤트를 수신하는 것에 응답하여, 미리 결정된 기준들에 기초하여 무선 통신 디바이스의 디스플레이를 제어하는 복수의 애플리케이션들 중의 제 1 애플리케이션을 결정하는 것;
상기 복수의 애플리케이션들 중의 제 2 애플리케이션이, 상기 복수의 애플리케이션들 중의 상기 제 1 애플리케이션이 상기 디스플레이를 제어한다는 상기 중재기를 통한 상기 결정을 따르지 않았는지 여부를 결정하는 것; 및
상기 복수의 애플리케이션들 중의 상기 제 2 애플리케이션이 따르지 않은 것으로 결정하는 것에 응답하여, 상기 제 2 애플리케이션을 종결시키는 것을 포함하는 동작들을 수행하게 하도록 구성되는, 비-일시적인 프로세서-판독가능 저장 매체.
18. A non-transitory processor-readable storage medium having stored thereon processor-executable software instructions,
The processor-executable software instructions cause the processor to:
Determining a first one of a plurality of applications that controls the display of the wireless communication device based on predetermined criteria in response to receiving, via the arbiter, a notification event that simultaneously invokes more than one application ;
Determining whether a second one of the plurality of applications has not followed the determination through the arbiter that the first one of the plurality of applications controls the display; And
In response to determining that the second one of the plurality of applications does not comply, terminating the second application. ≪ Desc / Clms Page number 19 >
KR1020167007714A 2013-09-13 2014-09-15 Wireless communication device having deterministic control of foreground access of the user interface KR20160055163A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/026,159 US9367214B2 (en) 2008-06-05 2013-09-13 Wireless communication device having deterministic control of foreground access of the user interface
US14/026,159 2013-09-13
PCT/US2014/055567 WO2015039000A1 (en) 2013-09-13 2014-09-15 Wireless communication device having deterministic control of foreground access of the user interface

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020177001579A Division KR20170010447A (en) 2013-09-13 2014-09-15 Wireless communication device having deterministic control of foreground access of the user interface

Publications (1)

Publication Number Publication Date
KR20160055163A true KR20160055163A (en) 2016-05-17

Family

ID=51660605

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177001579A KR20170010447A (en) 2013-09-13 2014-09-15 Wireless communication device having deterministic control of foreground access of the user interface
KR1020167007714A KR20160055163A (en) 2013-09-13 2014-09-15 Wireless communication device having deterministic control of foreground access of the user interface

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020177001579A KR20170010447A (en) 2013-09-13 2014-09-15 Wireless communication device having deterministic control of foreground access of the user interface

Country Status (5)

Country Link
EP (1) EP3044666A1 (en)
JP (1) JP2016539432A (en)
KR (2) KR20170010447A (en)
CN (1) CN105531671A (en)
WO (1) WO2015039000A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204743A (en) 2015-09-28 2015-12-30 百度在线网络技术(北京)有限公司 Interaction control method and device for speech and video communication
KR102304936B1 (en) * 2016-06-12 2021-09-27 애플 인크. User interface for managing controllable external devices
CN108099818B (en) * 2016-11-25 2020-12-25 比亚迪股份有限公司 Self-learning method and self-learning system for vehicle configuration information and vehicle
KR102405752B1 (en) * 2017-08-23 2022-06-08 삼성전자주식회사 Method for controlling the permission of application program and electronic device
JP7271921B2 (en) * 2018-11-29 2023-05-12 株式会社リコー Information processing terminal, program, resource reservation system, control method
CN109739300B (en) * 2018-12-25 2020-10-30 维沃移动通信有限公司 Antenna control method and terminal
CN112262370A (en) * 2019-05-06 2021-01-22 谷歌有限责任公司 Rendering visual components on an application in response to voice commands
US11861417B2 (en) 2019-10-09 2024-01-02 Nippon Telegraph And Telephone Corporation Operation support system, operation support method, and operation support program
CN111611040A (en) * 2020-05-19 2020-09-01 延锋伟世通电子科技(上海)有限公司 Display control method, system, medium and terminal of low-configuration vehicle-mounted system
CN112380014A (en) * 2020-11-17 2021-02-19 莫雪华 System resource allocation system and method based on big data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59114631A (en) * 1982-12-22 1984-07-02 Hitachi Ltd Terminal control device
US4794386A (en) * 1986-04-11 1988-12-27 Profit Technology, Inc. Data integrator for video display including windows
JP3653467B2 (en) * 2000-11-30 2005-05-25 三洋電機株式会社 Mobile phone
JP2003005735A (en) * 2001-06-22 2003-01-08 Sanyo Electric Co Ltd Portable device
US6941160B2 (en) * 2000-11-30 2005-09-06 Sanyo Electric Co., Ltd. Dual display portable telephone device and allocation means for display process thereof
JP2004005213A (en) * 2002-05-31 2004-01-08 Toshiba Corp Information processing device
KR20040012540A (en) * 2002-07-31 2004-02-11 마쯔시다덴기산교 가부시키가이샤 Information processing terminal and information processing method
US9207717B2 (en) * 2010-10-01 2015-12-08 Z124 Dragging an application to a screen using the application manager
US8555201B2 (en) * 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
JP5137781B2 (en) * 2008-10-30 2013-02-06 株式会社エヌ・ティ・ティ・ドコモ Mobile device and application switching method
US8856691B2 (en) * 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US20110239142A1 (en) * 2010-03-25 2011-09-29 Nokia Corporation Method and apparatus for providing content over multiple displays
EP2557495A4 (en) * 2010-04-07 2013-11-06 Nec Corp Information processing terminal and control method therefor
CN102662514B (en) * 2012-03-30 2017-03-29 中兴通讯股份有限公司 A kind of method and mobile terminal of control touch screen

Also Published As

Publication number Publication date
EP3044666A1 (en) 2016-07-20
KR20170010447A (en) 2017-01-31
WO2015039000A1 (en) 2015-03-19
JP2016539432A (en) 2016-12-15
CN105531671A (en) 2016-04-27

Similar Documents

Publication Publication Date Title
US9367214B2 (en) Wireless communication device having deterministic control of foreground access of the user interface
KR20160055163A (en) Wireless communication device having deterministic control of foreground access of the user interface
US10863023B2 (en) Devices and methods of providing response message in the devices
US20210004247A1 (en) Suggesting Actions Based on Machine Learning
US10725972B2 (en) Continuous and concurrent device experience in a multi-device ecosystem
US10652172B2 (en) Smart automatic composition of short messaging responses
US8819278B2 (en) System and method for delivering alerts
KR20210134675A (en) Method and system for learning and executing instructions through user demonstration
US11652857B2 (en) Computerized system and method for video conferencing priority and allocation using mobile edge computing
US20140007115A1 (en) Multi-modal behavior awareness for human natural command control
US10959061B2 (en) Method for acquiring user information and electronic device therefor
US9588983B2 (en) Data classification for adaptive synchronization
US20150161253A1 (en) Contextual display apparatus and methods
US20170013118A1 (en) Electronic device and notification method thereof
CN116339672A (en) Audio playing method and related device
WO2023024894A1 (en) Multi-device synchronous playback method and apparatus
US20110161971A1 (en) Method and Data Processing Device for Processing Requests
US20200218209A1 (en) Content output apparatus and content output method
CN117395569A (en) Audio playing system, method and terminal equipment

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee