KR20060047708A - 문맥―인식 보조 디스플레이 시스템 및 디스플레이 방법 - Google Patents
문맥―인식 보조 디스플레이 시스템 및 디스플레이 방법 Download PDFInfo
- Publication number
- KR20060047708A KR20060047708A KR1020050037200A KR20050037200A KR20060047708A KR 20060047708 A KR20060047708 A KR 20060047708A KR 1020050037200 A KR1020050037200 A KR 1020050037200A KR 20050037200 A KR20050037200 A KR 20050037200A KR 20060047708 A KR20060047708 A KR 20060047708A
- Authority
- KR
- South Korea
- Prior art keywords
- context
- display
- change
- computer system
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02D—FOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
- E02D17/00—Excavations; Bordering of excavations; Making embankments
- E02D17/20—Securing of slopes or inclines
- E02D17/202—Securing of slopes or inclines with flexible securing means
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02D—FOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
- E02D2300/00—Materials
- E02D2300/0051—Including fibers
- E02D2300/0054—Including fibers made from plastic
-
- E—FIXED CONSTRUCTIONS
- E02—HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
- E02D—FOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
- E02D2300/00—Materials
- E02D2300/0084—Geogrids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Mining & Mineral Resources (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Paleontology (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Power Sources (AREA)
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
애플리케이션 프로그램(또는 플러그 인) 및 보조 서비스가 보조 디스플레이의 현재 문맥에서 검출된 변경에 기초하여 보조 장치상에 출력 및/또는 출력용으로 사용가능한 데이터를 조정하는 메커니즘이 설명된다. 문맥 센서는 문맥내의 변경을 검출하고 레포트하고, 그것에 따라 보조 디스플레이 장치상에 어떤 정보가 디스플레이되는지 또는 디스플레이될 수 있는지에 관해 일부 액션을 취한다. 변경될 수 있는 문맥 데이터의 예제로는 디스플레이의 물리적 위치, 검출된 이동 또는 모션(motion) 데이터, 특정 사용자 또는 다른 사용자의 존재, 전원 상태, 네트워크 연결성의 상태, 프라이버시 상태 등과 같은 것이 있다. 보조 장치는 메인 디스플레이에 대해 그 위치에 관한 문맥을 지닐 수 있다. 정보 민감도 레벨은 지각된 정보의 민감도 및 사용자의 현재 문맥에 기초하여 애플리케이션 프로그램의 데이터가 디스플레이될 수 있는지 여부를 지정하는 데에 사용될 수 있다.
문맥 센서, 보조 디스플레이, 메인 디스플레이, 정보 민감도
Description
도 1은 본 발명이 구현될 수 있는 퍼스널 컴퓨터 시스템의 형태로 범용 컴퓨팅 장치를 나타내는 블록도.
도 2a 내지 도 2e는 각종 장치상에서 보조 디스플레이가 배치된 위치를 각각 일반적으로 나타내는 예시적인 도면.
도 3은 본 발명의 특징에 따라, 애플리케이션 프로그램들이 추상화된 방식으로 임의의 보조 디스플레이 장치와 함께 데이터를 교환하는 계층화된 아키텍처를 나타내는 블록도.
도 4는 본 발명의 특징에 따라 한 실시예에서 보조-인식 애플리케이션 프로그램이 보조 디스플레이 장치와 데이터를 교환하기 위해 보조 디스플레이 서비스와 어떻게 인터페이스 하는지를 나타내는 도면.
도 5는 본 발명의 특징에 따라, 중개를 기초로 하여 보조 디스플레이 장치와의 데이터 교환을 위해 각각 선택적으로 결합할 수 있는 다중 애플리케이션 프로그램들을 일반적으로 나타내는 블록도.
도 6은 본 발명의 특징에 따라 한 실시예에서 다른 유형의 디스플레이 장치들과 동작할 수 있는 보조 디스플레이 서비스를 나타내는 도면.
도 7은 본 발명의 특징에 따라, 보조 디스플레이 장치의 오프라인 및 온라인 동작을 가능하게 하는 펌웨어를 포함하는, 계층화된 아키텍처의 컴포넌트들을 일반적으로 나타내는 블록도.
도 8은 본 발명의 특징에 따라, 보조 디스플레이 장치의 오프라인 및 온라인 동작을 가능하게 하는 펌웨어를 포함하는 컴포넌트들을 일반적으로 나타내는 블록도.
<도면의 주요 부분에 대한 부호의 설명>
121 : 메인 처리 장치
122 : 시스템 메모리
123 : 시스템 버스
<관련 문헌>
본 발명은 이와 함께 출원되어 함께 계류중에 있는 이하의 미국 특허 출원들과 관련되어 있고 본 발명의 양수인에게 할당되어 있으며, 참조함으로써 그 전체의 내용이 포함된다.
"보조 컴퓨팅 장치에서 수신된 정보 처리", 대리인 정리 번호 4450;
"보조 디스플레이 시스템 아키텍처", 대리인 정리 번호 4470;
"보조 정보의 오프라인 디스플레이 및 탐색을 위한 데이터 캐싱" 대리인 정리 번호 4480;
본 발명은 일반적으로 컴퓨터 시스템에 관한 것이며, 보다 구체적으로는 컴퓨팅 장치상에서 정보를 디스플레이하는 개선된 방법 및 시스템에 관한 것이다.
미국 특허 출원 일련 번호 10/429,930호 및 10/429,932호는 일반적으로 보조 처리 및 보조 메커니즘, 특히 소정의 보조 컴퓨팅 기능을 제공하는 디스플레이 관련 메커니즘을 갖는 컴퓨터 시스템의 개념을 다루고 있다. 예를 들어, 랩톱 컴퓨터의 덮개 또는 측면상에 있는 소형 LCD는 소유자에게 회의 장소 및 시각과 같은 유용한 정보를 제공할 수 있는데, 심지어는 랩톱 컴퓨터의 덮개가 닫혀있고 및/또는 메인 컴퓨터가 전원이 꺼져있을 때와 같이 컴퓨터 디스플레이가 쉽게 보이지 않는 경우에도 이러한 정보를 제공할 수 있다.
그러나, 지금까지 그러한 보조 디스플레이들은 전용 보조 디스플레이 프로그램이 디스플레이 유형에 대해 그리고 디스플레이될 정보에 대해 사용자 정의되어 협소하고 제한된 동작에 그 사용이 제한되어 왔다. 이러한 시스템에서, 보조 디스플레이 프로그램은 크기 및 해상도와 같은 디스플레이 유형의 특정 사항에 따라 코딩되어, 프로그램은 스크린 영역내에 맞추어 판독 가능한 어떤 것을 출력할 수 있었다. 이것은 최신 운영 체제 컴포넌트들이 어떠한 특정 비디오 그래픽 어댑터가 설치되어 있든지 간에 상위 프로그램으로부터 복잡성과 상세사항을 추상화할 수 있는, 일반적인 컴퓨터 시스템 디스플레이와는 거리가 멀다. 동시에, 보조 디스플레이가 통상적으로 제조시에 하드웨어에 내장된 2-라인 또는 3-라인의 텍스트 디스플레이를 지니고 있는 상황하에서 전용 보조 디스플레이 코드는 하나의 상식적인 해 결책이었고, 전용 애플리케이션이 회의 시간 및 현재 시각과 같은 정보를 갖는 단순한 텍스트를 디스플레이에 기입하도록 하는 것이 요구되는 전부였다.
전용 솔루션에서의 한 가지 문제점은 한 문맥에 디스플레이하는 것이 바람직한 것이 다른 솔루션에는 바람직하지 않을 수도 있다는 것이다. 예를 들어, 곧 있을 회의를 알리는 것이 바람직함에도 불구하고, 일단 회의에서는 통상적으로 다른 참석자들이 보조 디스플레이에 나타날 수 있는 다른 정보를 볼 수 있게 하는 것이 바람직하지 않을 수도 있다. 사용자가 (예를 들어, 기타(개인) 정보가 아닌) 일부 정보를 디스플레이하기를 진정으로 원하는 경우, 단순 온/오프 스위치는 많은 시나리오에 대해 충분하지 않다.
컴퓨터 시스템의 메인 운영 체제하에서 수행되는 애플리케이션 프로그램이 자동으로 주어진 현재의 문맥을 디스플레이하는 데에 바람직한 데이터만을 제공하도록 하는 방법이 요구된다.
간단히, 본 발명은 애플리케이션 프로그램(또는 보조 장치 통신을 처리하는 애플리케이션 프로그램의 플러그 인) 및 보조 서비스가 함께 동작하여 보조 디스플레이의 현재 문맥에서 검출된 변경을 조정하는 메커니즘을 제공한다. 하나 이상의 문맥 센서는 문맥내의 변경을 검출하고 그것을 메인 컴퓨터 시스템 및/또는 보조 장치로 레포트하며, 그것에 따라 보조 디스플레이 장치상에 어떤 정보가 디스플레이되는지 또는 디스플레이될 수 있는지에 관한 것과 같은 어떤 액션을 취한다. 보조 장치를 통해 나오는 문맥-관련 이벤트로부터 기인한 다른 유형의 액션들은 메인 (호스트) 컴퓨터 시스템에 영구적 또는 일시적인 변경을 초래할 수 있다.
메인 컴퓨터 시스템이 수행되지 않고 보조 장치가 수행되는 오프라인 상태에서, 문맥내의 변경은 예를 들어 현재의 문맥 상태에 기초하여 캐시된 데이터를 다르게 번역하거나 사용하기 위해 또는 아마도 캐시된 데이터에 추가하거나 또는 그로부터 삭제하기 위해, 캐시된 애플리케이션 프로그램 및 다른 데이터에 영향을 끼칠 수 있다. 애플리케이션은 시스템이 오프라인이 되기 전 특정 문맥-의존 행동을 등록(또는 질의)할 수 있다. 따라서 보조 장치는 문맥-의존 이벤트가 검출될 때 또는 검출 후 어느 적절한 때에 문맥-의존 이벤트를 전송할 수 있고 또는 질의에 응하기 위해 문맥-관련 데이터를 유지할 수 있다. 보조 장치는 또한 애플리케이션 프로그램 질의에 응하는 것과 같이 요구시 문맥-관련 데이터를 획득할 수 있고 및/또는 적절한 때에 때때로 하나 이상의 센서를 폴링할 수 있다. 보조 장치는 또한 이벤트가 마지막으로 전송되었을 때 수행중이지 않았고 및/또는 등록되지 않았던 애플리케이션을 위해서와 같이 문맥-관련 이벤트를 재전송할 수 있다.
메인 컴퓨터 시스템 및 보조 장치 둘 다가 동작하고 있는 온라인 상태에서, 문맥 변경은 온라인 애플리케이션 프로그램 및/또는 운영 체제 컴포넌트로 전달될 수 있다. 애플리케이션 프로그램, 운영 체제 및/또는 보조 장치 각각에 적합하기때문에 이러한 문맥-기반 이벤트는 애플리케이션 프로그램, 운영 체제 및/또는 보조 장치에 의해 사용된다. 그 결과, 문맥 변경은 예를 들어 레지스트리 또는 다른 설정을 변경함으로써 메인 컴퓨터 시스템 및/또는 보조 장치를 일시적으로 또는 영구적으로 변경한다. 메인 컴퓨터 시스템의 프로그램으로 레포트된 변경이 메인 컴 퓨터 시스템이 오프라인인 경우에도 발생할 수 있고 그러한 경우 보조 장치에 보존되어 메인 컴퓨터 시스템이 다시 온라인이 되었을 때 레포트됨을 유의한다.
보조 디스플레이의 사용을 위해 등록되었던 애플리케이션 및 (운영 체제 컴포넌트와 같은) 다른 프로그램은 또한 디스플레이의 물리적 위치, 이동 또는 모션 데이터, 특정 사용자 또는 다른 사용자의 존재, 전원 상태, 네트워크 연결성의 상태, 프라이버시 상태 등에 대응하는 문맥과 같은 특정 문맥-변경 통지를 등록할 수 있다. 플러그 인은 그들이 오프라인 또는 온라인 전원 상태, 또는 둘 다에서 사용가능한지 여부에 관해 등록할 수 있다.
보조 장치는 또한 메인 디스플레이에 대해 보조 장치가 어디에 위치하는가 즉 메인 스크린이 보이거나 보이지 않을 때 또는 메인 스크린과는 독립적으로 보조 장치가 보일 수 있는지에 관해 관련된, 등록된 문맥을 지닐 수 있다.
보조 디스플레이 플러그 인을 개발할 때 개발자는 애플리케이션이 디스플레이될 수 있고, (예를 들어 문맥이 변경될 때 자동으로) 디스플레이되어야 하고 또는 디스플레이되어서는 안 되는 적절한 문맥 또는 문맥들을 지정할 수 있다. 그리고 나서, 이것은 오프라인 상태에서 가능하고, 오프라인 상태에서 애플리케이션은 수행중이지 않아 출력을 조정할 수 없다. 온라인 상태에서, 보조 서비스는 문맥 이벤트내의 모든 변경을 플러그 인에 전달하고, 플러그 인은 그에 따라서 앞으로의 출력을 조정할 수 있다. 한 실시예에서, 문맥 상태 변경이 발생하면 보조 서비스는 가능한 플러그 인 목록을 열거하고 그 문맥 변경에 기초하여 임의의 플러그 인이 추가되거나 제거되어야 하는지 여부를 판정한다. 오프라인 상태에서 수행될 때 , 보조 프로세서상에서 수행되는 펌웨어 또는 운영 체제는 동일한 문맥 필터를 적용하여 오프라인 전원 상태에서 더 이상 관련이 없는 플러그 인을 사용불가하게 만든다. 또한 다른 필터가 적용될 수 있다.
정보 민감도 레벨은 정보의 지각된 민감도 및 사용자의 현재 문맥에 기초하여 플러그 인의 데이터가 디스플레이될 수 있는지 여부를 지정하기 위해 플러그 인에 의해 사용될 수 있다. 문맥은 현재 상황에 기초하여 사용자에 의해 선택될 수 있고 보조 서비스 또는 펌웨어로 전달될 수 있다. 발견적 방법은 사용자 선택 문맥 및 다른 관련 정보에 기초하여 정보의 어떤 레벨이 보여져야하는지를 판정한다.
다른 이점들이 도면과 함께 이하의 상세한 설명으로부터 명백해질 것이다.
예시적인 운영 환경
도 1은 본 발명이 구현될 수 있는 퍼스널 컴퓨터 시스템의 형태로 컴퓨팅 장치(120)를 나타내는 블록도이다. 당업자들은 도 1에 도시된 퍼스널 컴퓨터 시스템(120)은 단지 도시의 목적을 가지며, 본 발명이 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능한 가전기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 헤드리스 서버(headless server) 등을 포함하는 기타 컴퓨터 시스템 구성들과 함께 실행될 수 있다는 것을 이해할 것이다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 처리 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
퍼스널 컴퓨터 시스템(120)은 처리 장치(121), 시스템 메모리(122) 및 시스템 메모리를 포함하는 각종 시스템 컴포넌트들을 처리 장치(121)에 결합시키는 시스템 버스(123)를 포함한다. 시스템 버스(123)는 메모리 버스나 메모리 컨트롤러, 주변 버스 및 각종 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 포함하는 여러 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리는 ROM(124) 및 RAM(125)을 포함한다. 구동 시 퍼스널 컴퓨터(120)내의 구성요소들간의 정보 전달을 돕는 기본적인 루틴들을 포함하는 기본 입력/출력 시스템(126)(BIOS)은 ROM(124)에 저장된다. 퍼스널 컴퓨터(120)는 또한 하드 디스크(도시 생략)를 판독하거나 그에 기입하는 하드 디스크 드라이브(127), 분리형 자기 디스크(129)를 판독하거나 그에 기입하는 자기 디스크 드라이브(128), 및 CD ROM 또는 기타 광학 매체와 같은 분리형 광학 디스크(131)를 판독하거나 그에 기입하는 광학 디스크 드라이브(130)를 포함한다. 하드 디스크 드라이브(127), 자기 디스크 드라이브(128) 및 광학 디스크 드라이브(130)는 하드 디스크 드라이브 인터페이스(132), 자기 디스크 드라이브 인터페이스(133) 및 광학 드라이브 인터페이스(134)에 의하여 각각 시스템 버스(123)에 접속된다. 드라이브들 및 관련 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장 장치를 퍼스널 컴퓨터(120)에 제공한다. 본 명세서에 기술된 예시적인 컴퓨터 시스템은 하드 디스크, 분리형 자기 디스크(129) 및 분리형 광학 디스크(131)를 이용하지만, 당업자들은 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크(DVD), 베르눌리 카트리지(Bernoulli cartridge), RAM, ROM 등과 같은 컴퓨터에 의 해 액세스가능한 데이터를 저장할 수 있는 기타 유형의 컴퓨터 판독가능 매체가 또한 예시적인 컴퓨터 시스템에 사용될 수 있다는 것을 이해할 것이다.
(윈도우즈® XP와 같은) 운영 시스템(135), (마이크로소프트® 아웃룩과 같은) 하나 이상의 애플리케이션 프로그램(136), 기타 프로그램 모듈(137) 및 프로그램 데이터(138)를 포함하는 많은 프로그램 모듈들이 하드 디스크, 자기 디스크(129), 광학 디스크(131), ROM(124) 또는 RAM(125)에 저장될 수 있다. 사용자는 키보드(140) 및 포인팅 장치(142)와 같은 입력 장치를 통해 퍼스널 컴퓨터(120)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치들(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 있다. 이들 및 기타 입력 장치들은 종종 시스템 버스에 결합된 직렬 포트 인터페이스(146)를 통해 처리 장치(120)로 접속되는데, 병렬 포트, 게임 포트 또는 USB와 같은 기타 인터페이스에 의해 접속될 수도 있다. 모니터(147) 또는 기타 유형의 디스플레이 장치 또한 비디오 어댑터(148)와 같은 인터페이스를 통해 시스템 버스(123)에 접속된다. 모니터(147) 외에, 퍼스널 컴퓨터는 통상적으로 스피커와 프린터 같은 기타 주변 출력 장치들(도시 생략)을 포함한다. 보조 디스플레이(200)는 부가적인 출력 장치이며, 예를 들어, 보조 디스플레이 인터페이스(155)를 통해 시스템 버스(123)에 접속될 수 있다. 보조 디스플레이(101)는 또한 직렬 인터페이스를 통해, 또는 병렬 포트, 게임 포트, 적외선 또는 무선 접속, USB 또는 기타 주변 장치 접속과 같은 기타 인터페이스들에 의해 컴퓨팅 장치(120)에 접속될 수 있다. 도 1의 입력 장치(201)는 보조 디스플레이(200)와 인터페이스하고 및/또는 보조 디스플레이를 제어하기 위해 하나 이상의 구동 장치를 제공할 수 있고, 예를 들어 직렬 인터페이스인 입력 장치 인터페이스(156)를 통해, 또는 병렬 포트, 게임 포트, 적외선 또는 무선 접속, USB 또는 기타 주변 장치 접속과 같은 기타 인터페이스에 의해 시스템 버스(123)에 접속할 수 있다.
퍼스널 컴퓨터(120)는 원격 컴퓨터(149)와 같은 하나 이상의 원격 컴퓨터들로의 논리 접속을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(149)는 또 다른 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치나 기타 공통 네트워크 노드일 수 있으며, 메모리 저장 장치(150)만이 도 1에 도시되어 있지만 통상적으로 퍼스널 컴퓨터(120)와 관련하여 상술된 구성요소들 중 다수 혹은 모두를 포함한다. 도 1에 도시된 논리 접속들은 LAN(151)과 WAN(152)을 포함한다. 그러한 네트워킹 환경은 사무실, 기업 전반에 걸친 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 퍼스널 컴퓨터(120)는 네트워크 인터페이스 또는 어댑터(153)를 통해 LAN(151)으로 접속된다. WAN 네트워킹 환경에서 사용될 때, 퍼스널 컴퓨터(120)는 통상적으로 인터넷과 같은 WAN(152)을 거쳐 통신을 설정하기 위해 모뎀(154)이나 기타 수단을 포함한다. 내장 또는 외장일 수 있는 모뎀(154)은 직렬 포트 인터페이스(146)를 통해 시스템 버스(123)로 접속된다. 네트워크화된 환경에서, 퍼스널 컴퓨터(120)와 관련하여 기술된 프로그램 모듈 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적인 것이고, 컴퓨터들간의 통신 링크를 설정하기 위한 기타 수단들이 사용될 수 있다는 것을 이해할 것이다.
본 발명의 특징에 따라, 작동하는 보조 디스플레이에 대하여 컴퓨터 시스템이 완전히 동작가능할 필요는 없다는 것을 유의해야 한다. 실제로, 도 6을 참조하여 아래에 기술된 바와 같이, 컴퓨터 시스템이 슬립 상태(sleep state) 또는 최대 절전 모드(hibernate mode)에 있는 경우 및/또는 사용자가 아직 로그온하지 않았거나 보안 메커니즘을 통해 시스템을 잠근 경우와 같이 컴퓨터 전원이 꺼진 때에도, 적어도 디폴트 또는 사용자에 의해 설정된 어느 정도까지 보조 디스플레이는 여전히 작동할 수 있다. 예를 들어, 사용자는 퍼스널 컴퓨터에 통합된 전화기 핸드셋 및 스피커폰이 컴퓨터 시스템의 전원이 내려진 때에도 종래의 기기로 작동하기를 원할 수 있고, 보조 디스플레이를 발신자-ID(caller-ID) 장치로서 사용할 수 있다. 이 장치는 또한 수신된 콜들을 로그하는 것과 같이, 컴퓨터 시스템에 완전히 전원이 들어오지 않은 때를 포함하여 컴퓨터 시스템에 다시 전원이 들어왔을 때 컴퓨터 시스템으로의 추후 전송을 위해 데이터를 저장할 수 있다.
보조 디스플레이는 메인 디스플레이를 보완할 수 있고, 또한 메인 디스플레이가 셧다운(shut down)되거나 또는 그렇지 않으면 동작되지 않는 경우(예를 들어, 접속이 끊어져서) 사용자에게 소정 정보를 제공하기 위하여 대용 디스플레이로서 기능할 수 있다. 예를 들어, 메인 디스플레이가 오프이고 및/또는 쉽게 볼 수 없는 경우(예를 들어, 랩톱의 덮개가 닫혀진 경우) 사용자가 볼 수 있는 모바일 컴퓨터에 접속된 보조 디스플레이 장치상에 회의실 번호 및/또는 회의실로의 방향이 유용하듯이, 메인 디스플레이에 전원을 들어오게 하는 방법과 같은 정보가 유용할 수 있다. 계속 볼 수 있는 스크린을 지닌 태블릿 PC에서조차 전원을 절약하기 위하여 메인 디스플레이는 셧다운될 수 있고, 이것에 의하여 보조 디스플레이는 실질적인 이점을 제공할 수 있다는 점을 유의한다. 사용자는 컴퓨터 시스템 상태에 기초하여 디스플레이의 정도를 제한할 수 있는데, 예를 들어, 사용자가 로그인하지 않은 경우, 일부 전혀 민감하지 않거나 또는 매우 특정하게 제어되는 정보만이 디스플레이될 수 있다는 것을 유의한다.
이렇게 전원이 내려간 모드에서 통신을 가능하게 하고 제어하기 위하여, 비휘발성 메모리에 저장되는 펌웨어가 존재할 수 있으며, 이 펌웨어는 제2 프로세서(secondary processor)에 의해 로드되고 동작될 때 소정의 전원이 이용가능하기만 하면 사용될 기타 보조 컴포넌트들과 함께 보조 디스플레이를 사용가능하게 한다. 본 발명에서 사용된 바와 같이, "펌웨어"라는 용어는 일반적으로 보조 메모리, 보조 메모리내의 코드 및/또는 그 코드가 수행되는 제2 프로세서를 나타내는 것으로 간주된다는 것을 유의한다.
도 2a 내지 도 2e는 보조 디스플레이 스크린(200a - 200e) 각각을 컴퓨팅 장치와 관련된 예시적인 위치 또는 컴퓨팅 장치상에 배치하는 것을 예시적으로 도시한다. 관련 컴퓨팅 장치들상에서 보조 디스플레이 스크린의 위치들(200a - 200e)을 예시적으로 나타낸다. 도 2a 및 도 2b에 나타난 바와 같이, 보조 디스플레이 스크린(200a)은 (블루투스 기술을 통해서와 같이 링크되지 않은 경우 물리적으로 결합될 필요는 없는) 독립형(유선 또는 이동) 전화(202)의 앞, 뒤, 또는 기타 표면에 위치 할 수 있고 및/또는 또 다른 보조 디스플레이 스크린(200b)은 모바일 컴퓨터(204) 또는 태블릿 컴퓨팅 장치(도시 생략)의 가장자리 및 덮개에 위치할 수도 있다. 다른 보조 디스플레이 스크린(200c)(도 2c)은 컴퓨터상에 장착된 전화기상에 또는 모니터(206) 또는 키보드(도시 생략)와 같이 컴퓨터에 부착된 주변 장치상에 위치할 수 있다. 도 2d 및 도 2e는 보조 디스플레이 스크린(200d 및 200e)의 또 다른 위치를 도시하는데, 각각 컴퓨터에 접속된 독립형 콘솔(208)의 전면 패널 또는 일부 기타 하우징(210)(마더보드에 대한 하우징과 같은)의 전면 패널에 위치할 수 있다. 당업자들은 보조 디스플레이 스크린이 컴퓨터로의 무선 또는 기타 접속을 갖는 시계, 원격 제어 장치, 원격 벽-장착형(wall-mounted) 유닛상에 배치되는 것과 같이 디스플레이 기능을 갖는 임의의 컴퓨팅 장치 또는 기타 장치의 임의의 표면에 배치될 수 있다는 것을 이해할 것이다.
도 2a 내지 도 2e로부터 명백해지는 바와 같이, 보조 디스플레이는 하나 이상의 LED, 2-라인 문자 숫자식의 디스플레이, 흑백 디스플레이 또는 컬러 디스플레이와 같이 임의의 수의 알려진 디스플레이의 유형의 형태일 수 있다. 당업자들은 본 발명이 기타 컴퓨팅 또는 통신 장치들의 디스플레이를 보조 디스플레이(200)로 사용할 수 있다는 것을 이해할 것이다. 이러한 기타 컴퓨팅 또는 통신 장치들로는 범용 컴퓨터, 이동 전화 및 무선 호출기나 PDA와 같은 휴대용 장치들이 있다. 부가적으로, 사용자가 로그인하기 전을 포함하여, 본 발명은 컴퓨팅 장치(120)의 스크린상의 디스플레이의 영역내에 구현된 가상 보조 디스플레이(예를 들어, 스크린 세이버 또는 그래픽 사용자 인터페이스의 컴포넌트)를 보조 디스플레이(200)로 사용할 수 있다. 보조 디스플레이(200)는 상술된 형태들 중 임의의 것의 조합을 포함할 수 있으며, 또한 하나 이상의 LED와 같은 표시자와 함께 물리적 또는 논리적으로 결합될 수 있고 및/또는 가상 보조 디스플레이와 함께 물리적 또는 논리적으로 사용될 수 있다.
스크린이 없을 때에도, 하나 이상의 LED는 동작의 발생에 대한 통지를 위해 보조 디스플레이(200)로서 유익하게 사용될 수 있다. 그러한 보조 디스플레이는 낮은 비용과 적은 전력 소모로 구현될 수 있으며 조심스러운 방식으로 통지를 제공할 수 있다. 매우 엄격한 형태 인자들을 갖는 시스템 또는 사용자들에 대한 통신이 다른 사람에 의하여 관리되는 시스템에 대해 이것은 효과적으로 사용될 수 있다. 보조 디스플레이(200)는 부가적으로 멀리서도 통지들을 볼 필요가 있을 때 효과적일 수 있다. 보조 디스플레이는 또한 새로운 이메일 메시지의 통지와 같이, 동작과 관련된 정보 내용이 있을 때 스크린상의 가상 보조 디스플레이와 함께 사용될 수 있다. 이러한 경우, 이메일로부터의 내용이 또한 가상 보조 디스플레이(200)에 디스플레이될 수 있다. 게다가, 보조 디스플레이(200)는 내용을 디스플레이하는 것이 바람직하지 않을 때 공공 시스템(라이브러리 또는 키오스크) 또는 공유 컴퓨터에 대해 효과적으로 사용될 수 있다.
또는 2-라인 문자 숫자식의 디스플레이가 비용 또는 공간이 중요하지만 통지 및 기본 내용이 요구되는 보조 디스플레이(200)로서 유익하게 사용될 수 있다. 이것은 태블릿 PC, 랩톱, 버짓 PC(budget PC), 전화 도킹 스테이션, 모니터 사면 및 핸드셋, 키보드 또는 원격 제어와 같이 작거나 저비용의 PC 기기 또는 주변 기기에 대해 효과적으로 사용될 수 있다. 또한 발신자-ID 박스에 대한 대체(및 그것에 대한 개선)로서 효과적으로 사용될 수 있다.
게다가, 흑백 또는 컬러 다중-라인 디스플레이는 매체가 풍부한 애플리케이션, 고가 소비자 시스템 또는 매체 센터 시스템들에 대한 보조 디스플레이(200)로서 유익하게 사용될 수 있다. 이것은 좀 더 관대한 형태 인자들을 갖거나 통신에 중요성을 두는 고가의 랩톱들, 비중이 큰 비즈니스나 통신 중요성, 매체 센터 또는 (휴대용 매체 기능을 갖는 원격, 콘솔 시스템을 포함하는) 고가의 매체 기기를 갖춘 완전한 기능을 갖는 PC 및 모바일 보조 디스플레이들에 대해 효과적으로 사용될 수 있다. 부가적으로, 또 다른 컴퓨팅 또는 통신 장치의 디스플레이는 사용자들이 그들의 PC를 사용할 때 이러한 보완 장치들의 역할을 확장할 수 있는 경우 보조 디스플레이(200)로서 유익하게 사용될 수 있다. 이러한 기타 컴퓨팅 또는 통신 장치들로는 범용 컴퓨터, 이동 전화 및 무선 호출기나 PDA와 같은 핸드헬드 장치들이 있다. 또한, 보조 디스플레이가 실제 디스플레이일 필요는 없으나 정보가 (예를 들어, 벽 위로) 투사될 수 있다는 것을 유의한다. 본 발명에서 언급된 바와 같이, 보조 디스플레이는 본질적으로 임의의 시각적, 청각적 및/또는 촉각적인 표현을 포함하여 감지될 수 있는 임의의 것으로 구성될 수 있다.
이전에 언급된 바와 같이, 가상 보조 디스플레이는 내용을 디스플레이하지 않고자 하는 공공 시스템(라이브러리나 키오스크) 또는 공유 컴퓨터에 대해 보조 디스플레이(200)로서 사용될 수 있다. 또한 저비용 시스템 또는 LED조차 비실용적 으로 만드는 매우 최소한의 형태 인자들을 갖는 장치들에 대해 효과적으로 사용될 수 있다. 가상 보조 디스플레이는 스크린 세이버 또는 그래픽 사용자 인터페이스의 컴포넌트로서 구현될 수 있다.
이후에 구동 장치들(버튼이나 포인팅 장치와 같은 단일 메커니즘일지라도 복수로)로 언급되는 입력 장치(201)는 애플리케이션 데이터 또는 이메일 통지, 음성 메일 통지, 달력 통지, 시스템 상태 통지, 발신자 ID 목록 및 기타 유형의 통지 메시지와 같은 통지들의 상이한 범주들간을 전환하는 메커니즘을 사용자에게 제공한다. 그러한 전환 버튼을 동반하는 것은 또한 특정 범주내에서 통지 메시지를 통하여 사용자가 앞뒤로 스크롤할 수 있는 업 버튼 및 다운 버튼일 수 있다. 당업자들은 키보드, 마이크, 조이스틱, 게임 패드 또는 생물 측정 센서, 환경 센서, 위치 센서 또는 기타 유형의 센서를 포함하는 기타 장치와 같은 임의의 기타 유형의 구동 장치가 사용될 수 있다는 것을 이해할 것이다. 도 1에 도시된 컴퓨팅 장치(120)의 입력 장치들 중 임의의 것이 입력 장치(구동 장치들)(201)로서 사용될 수 있고, 독립된 구동 장치들과 함께 사용될 수 있다.
보조 디스플레이 시스템 아키텍처
본 발명은 사용자가 혼란 없이 또는 스크린상의 현재의 태스크로부터(만약 있을 경우) 동작 포커스를 전환할 필요 없이 간단히 그리고 빠르게 주변 장치 태스크에 관한 정보를 볼 수 있는 보조 디스플레이(200)를 제공한다. 본 발명에 있어서, 사용자는 구동 장치들(201)을 사용함으로써 보조 디스플레이상에 어떤 정보가 보여야하는지를 어느 정도까지 선택할 수 있고, 이 정보는 애플리케이션 프로그램 데이터들중에서 선택될 수 있다. 프로그램 데이터 및 이벤트 통지들이 정보의 보조 디스플레이를 도시하기 위하여 사용된다 하더라도 본 발명은 트랜잭션 서비스, 옥션 서비스, 광고 서비스, 오락 서비스 및 위치 서비스를 포함하는 인터넷 관련 서비스로부터와 같은 기타 유형 정보의 보조 디스플레이를 제공한다는 것을 이해해야 한다. 그러한 서비스들은 금융 트랜잭션 정보, 헤드라인 뉴스, 주식 시세, 스포츠 스코어, 날씨 및 불필요한 정보 뿐만 아니라 사용자에 의해 특별히 요청된 정보를 포함하는 기타 정보를 포함하는 각종 정보를 제공할 수 있다. 보조 디스플레이(201)가 통지 라이트의 세트, 2-라인 문자 숫자식의 디스플레이, 흑백 디스플레이 또는 컬러 디스플레이와 같은 임의의 수의 알려진 유형의 디스플레이들을 사용하여 동작될 수 있다는 것 또한 이해할 것이다. 본 발명에서 사용된 바와 같이, 단순화를 위하여 "보조 디스플레이 장치"는 일반적으로 장치에 있는 임의의 기타 하드웨어, 펌웨어 또는 소프트웨어뿐만 아니라 보조 디스플레이 스크린 및/또는 그 스크린과 관련된 구동 장치들을 지칭하지만, 스크린 및 구동 장치들은 독립적인 메커니즘일 수 있으며 및/또는 입력 데이터로의 물리적 접촉을 요구하는 구동 장치들이 아닐 수 있다는 것을 유의해야 한다. 또한, 보조 디스플레이 장치는 픽셀-유형 디스플레이 스크린 대신 또는 픽셀-유형 디스플레이 스크린외에 표시자들(예를 들어, 개개의 LED들)을 아마도 포함하는 것으로 간주될 수 있다는 것을 유의한다.
도 3에 일반적으로 나타내어진 바와 같이, 하나 이상의 애플리케이션 프로그램(302)이 가상적으로 임의의 유형의 보조 디스플레이 장치(304)와 인터페이스하여 그 디스플레이(200)에 데이터를 출력하고 및/또는 구동 장치(201)를 통해 사용자와 상호작용하는 아키텍처(300)가 제공된다. 이러한 애플리케이션 프로그램(302)은 (또는 애플리케이션 프로그램에 결합된 관련 플러그 인 컴포넌트를 통해) 보조 디스플레이들에 대해 알고 있도록(즉, 보조-디스플레이-인식인) 프로그램되었으므로, 사용자와 정보를 교환할 일이 있을 때마다 보조 디스플레이 장치(304)를 사용할 수 있고, 따라서 개선된 사용자 경험을 제공할 수 있다. 본 명세서에서 사용되었듯이, "애플리케이션" 또는 "애플리케이션 프로그램"의 개념은 보조 디스플레이에 데이터를 제공하기를 원하고 및/또는 보조 디스플레이 장치의 관련 구동 장치를 통해 그와 함께 번역(interpretation)을 발생시킬 수 있는 운영 체제 컴포넌트 뿐만 아니라 종래의 프로그램을 나타낸다는 것을 유의한다.
임의의 보조-디스플레이-인식 애플리케이션 프로그램(302)이 보조 디스플레이 장치(304)를 사용할 수 있도록 하기 위해 애플리케이션 모델/계층을 제공하는 보조 디스플레이 서비스(306)를 컴퓨터 시스템상에 설치하고, 이를 통해 일반 컴퓨터 운영 체제상에서 수행되는 애플리케이션 계층 프로그램들은 보조 장치(304)와 통신하여 그 디스플레이(200)상에 정보를 디스플레이할 수 있고 및/또는 구동 장치(201)를 통해 네비게이션 명령들과 같은 명령들을 수신할 수 있다. 이를 위해, 애플리케이션 프로그램(302)은 정의된 인터페이스(308)를 통해 (서비스 계층의) 보조 디스플레이 서비스(306)와 데이터를 교환한다. 이어서, 아래에 기술된 바와 같이, 보조 디스플레이 서비스(306)는 보조 디스플레이 장치(304)와 데이터를 교환한다. 이런 고도의-융통성있는 모델의 결과로서, 아직 개발되지 않은 다른 프로그램을 포함한 임의의 프로그램은, 정의된 인터페이스 세트(308)를 적절히 구현함으로써 보 조 디스플레이 장치(304)를 사용할 수 있다.
더 나아가, 한 실시예에서, 보조 디스플레이 서비스(306)는 기타 계층으로부터 (임의의 장치의 펌웨어 또는 소프트웨어 뿐만 아니라) 보조 디스플레이 장치 하드웨어를 추상화하고, 이로써 임의의 적합한 장치는 아직 개발되지 않은 장치를 포함하여 보조 디스플레이로서 기능할 수 있다. 이를 위해, 아키텍처(300)는 프로토콜 계층을 제공하고, 이로써 서비스(306)는 적합한 통신 프로토콜/인터페이스 및 유무선 장치 인터페이스(310)를 통해 장치 펌웨어/하드웨어와 통신한다. (아직 개발되지 않은 임의의 것들을 포함하여) 임의의 해당 물리적 또는 무선 컴퓨터-대-장치 인터페이스(310)가 충분하듯이, 디스플레이 서비스(306) 및 보조 디스플레이 장치(304) 모두가 적절하게 구현될 수 있는 임의의 기존 또는 앞으로의 프로토콜은 충분할 것이다.
아래에 기술한 바와 같이 한 실시예에서, 중개 컴포넌트(312)(예를 들어, 열거 및 중재 처리를 담당함)는 사용되는 통신 프로토콜에 적절하게 정의된 인터페이스(314)를 통해 통신 메커니즘으로부터 추상화되는데, 이 정의된 인터페이스에 프로토콜 프록시(316)가 플러그 인되어 있다. 프로토콜 프록시는 보조 장치 서비스(306)의 일부분으로서 도 3에 도시되어 있으나 서비스의 일부분으로 간주되는 것도 어느 정도 임의이므로, 프로토콜 프록시는 프로토콜 계층의 일부분으로 또한 간주될 수 있다. 임의의 이벤트에서, 계층화된 아키텍처는 고도의 융통성을 애플리케이션 개발자들과 디스플레이 장치 제조업자에게 제공한다.
도 4 및 애플리케이션 및 서비스 계층 작동들에 대한 설명을 참조하면, 애플 리케이션 프로그램(302)은 보조 디스플레이 장치(304)를 통해 사용자에게 일부 데이터를 제공하기 위해 원하는 대로 확장될 수 있다. 이것은 애플리케이션 프로그램(302)이 직접 보조 디스플레이 서비스 인터페이스(308)를 이해하도록 개발함으로써 및/또는 애플리케이션 프로그램(302)을 그 인터페이스(308)를 이해하는 컴포넌트를 관련시킴으로써 달성될 수 있다. 예를 들어, (예를 들어, DLL 형태의) 플러그 인은 애플리케이션 개발자로 하여금 (플러그 인으로 링크하는 경우는 제외하고) 메인 애플리케이션 코드를 변경하지 않고 애플리케이션 프로그램들을 쉽게 확장할 수 있도록 한다. 도 4는 애플리케이션 프로그램(302)내에 존재하는 것으로서 보조 애플리케이션 컴포넌트(402)를 도시하고 있으나, 이것은 단지 표현된 것일 뿐이고, 컴포넌트(402)는 애플리케이션 코드 자체내에 존재하거나 또는 애플리케이션으로 플러그되는 DLL과 같은 플러그 가능한 컴포넌트일 수 있다는 것을 유의한다. 더 나아가, 애플리케이션 프로그램 자체는 디스플레이를 위해 그 데이터를 제공할 수 없다는 것을 이해해야 한다. 예를 들어, 애플리케이션 프로그램과는 독립적인 다른 프로그램이 애플리케이션 프로그램에 대응하는 데이터를 제공할 수 있다; 이를 위해, 예를 들어, 애플리케이션 프로그램의 함수 호출을 훅킹(hooking)함으로써 다른 프로그램은 애플리케이션 프로그램으로부터 유래된 것으로 보이는 데이터를 보조 디스플레이 장치(304)에 제공할 수 있다.
도 4에 도시된 바와 같이 보조 디스플레이 서비스(306)에 의해 제공되는 애플리케이션-대-서비스 계층은 각종 구조 및 애플리케이션/플러그 인이 보조 디스플레이 서비스(306)의 서비스 등록 컴포넌트(404)로 스스로를 등록하는 보조 플러그 인 등록을 포함하는 각종 기능을 가능하게 하고, 이를 통해 애플리케이션/플러그 인은 이용가능한 보조 장치(304)를 사용할 수 있는 기능을 지니게 된다. 도 4의 예제 구현에서, 서비스 등록 컴포넌트(404)는 IAuxAppReg 인터페이스를 이러한 목적으로 제공한다. 기타 애플리케이션 프로그램들도 마찬가지로 이 인터페이스를 통해 자기자신을 등록한다.
보조 애플리케이션 컴포넌트(402)는 관련 보조 디스플레이 장치 및/또는 관련된 자원으로부터 이벤트를 수신하는 기능을 지닌다. 예를 들어, 보조 장치가 보조 애플리케이션 컴포넌트(402)로 데이터 전송이 가능하게 되자마자 보조 애플리케이션 컴포넌트(402)로 이벤트가 전송될 수 있는 반면, 다른 이벤트는 보조 장치 구동 장치로 사용자 상호작용에 대응할 수 있다. 도 4의 예제 구현에서, 애플리케이션 프로그램은 이러한 이벤트들을 수신하기 위해 IAuxAppSink 인터페이스를 구현하고 있다.
또한 상술한 바와 같이, 애플리케이션 프로그램(302)은 이용가능한 보조 하드웨어 장치 또는 장치들을 열거하는 기능을 지니고 있다. 도 4의 예제 구현에서, 보조 장치 서비스(306)에 있는 중개자 컴포넌트(406)는 IAuxMedator 인터페이스를 통하여 열거 기능을 제공한다. 이러한 방식으로, 장치 또는 그 장치에 관련된 일부 데이터(예를 들어, 해당 XML 파일)는 장치 디스플레이 스크린 등 및/또는 그 구동 장치의 능력을 애플리케이션 프로그램(302)에 레포트할 수 있다. 그 후 애플리케이션 프로그램(302)은 디스플레이에 맞추어 출력 및 입력을 조정할 수 있는데, 예를 들어 색상표, 해상도, 네비게이션 명령들 등이 장치 특성에 맞게 수정될 수 있다. 예를 들어, 애플리케이션 프로그램(302)이 보조 디스플레이 장치가 고해상도 컬러 스크린 및 4-방향 네비게이션 버튼들을 지니고 있다는 것을 알면, 그 애플리케이션은 잘 포맷된 데이터를 보조 디스플레이에 출력할 수 있고, 4-방향의 네비게이션 명령을 받아들일 수 있도록 조정할 수 있다. 또는 단지 2-라인 문자 디스플레이만이 이용가능한 경우, 애플리케이션 프로그램(302)은 단순한 텍스트를 출력할 수도 있다.
중재가 또한 애플리케이션 계층의 중개 컴포넌트(406)에 제공되는데, 이는 어떤 애플리케이션이 그 데이터를 현재 디스플레이해야 하는지 및 네비게이션 명령을 수신해야 하는지를 판정하는 메커니즘을 제공하기 위해서이다. 애플리케이션 프로그램들이 적절히 교대로 디스플레이를 공유한다는 것, 즉, 중개의 중재 함수는 보조 애플리케이션 프로그램 및/또는 플러그 인의 우선 순위(z-order)를 관리한다는 것을 유의한다. 보조 장치는 소량의 디스플레이 공간(또는 심지어 단일 LED만큼 작음)을 가지기 때문에, 다른 실시예에서 충분한 스크린 공간이 이용가능하고 또는 스크린 및 표시자가 동일한 장치상에서 사용가능한 경우 또는 그렇지 않으면 두 개 이상의 애플리케이션들로부터 정보를 제공하는 경우(예를 들어, 장치는 하나의 애플리케이션의 데이터를 보여줄 수 있으나, 다른 애플리케이션이 변경 상태에 있을 때 획 지나가며, 본질적으로 사용자가 주의를 기울일 것을 강요하지는 않고 요청하기만 함) 애플리케이션들간에 디스플레이 및/또는 표시자를 동시에 분리하는 것이 가능함에도 불구하고, 한 실시예에서 단지 하나의 애플리케이션만이 한번에 전체 디스플레이를 얻게 된다.
어떤 애플리케이션 및 운영 체제 컴포넌트가 그 데이터를 현재 디스플레이해야 하는지를 판정하는 메커니즘을 제공하기 위해 중재는 또한 서비스 계층의 중개 컴포넌트에 제공된다. 애플리케이션 및 기타 프로그램들이 적절히 교대로 디스플레이를 공유한다는 것을 유의한다. 기타 이벤트가 (오래 전에 선택된) 사용자의 선택보다 우선시될지라도, 홈페이지로/부터 탐색함으로써와 같이, 현재 디스플레이 장치에 결합된(초점을 맞춘 것과 유사함) 프로그램은 종종 사용자가 선택한 것이었다. 예를 들어, 회의 알림, 전화, 홈페이지 타임 아웃으로 리턴, 전원 부족 상태, 또는 디스플레이에게 현재 표시된 것보다 더 중요하게 간주되는 어떤 것과 같은 이벤트가 발생한다면, 다른 애플리케이션의 데이터 또는 쉘 애플리케이션 홈페이지 전체를 보여주거나 또는 임의의 방식(예를 들어, 플래시)으로 이벤트를 표시하기 위해 보조 디스플레이는 변경된다. 중재가 애플리케이션 프로그램들 등과 이러한 디스플레이 및/또는 표시자 각각과의 데이터 매핑을 판정함으로써, 하나 이상의 보조 디스플레이 및 이러한 LED들과 같은 하나 이상의 표시자들을 지니는 것이 가능하다.
일단 프로그램이 디스플레이에 기입하고 자신의 구동 장치를 통해 명령을 수신하는 것이 허용되면, 보조 시스템 참조는 현재 선택된 보조 애플리케이션(예를 들어, 플러그 인) 컴포넌트(402)가 디스플레이 자원을 사용하는 것을 허용하는, 추상화된 메모리 버퍼에 블릿하고(blit)/렌더링하는 기능을 제공한다. 도 4의 예제 구현에서, 장치 컴포넌트는 애플리케이션 프로그램이 서비스 계층을 통해 자신의 데이터를 장치에 제공하도록 하기 위해 IAuxDevice 인터페이스를 제공한다. 애플 리케이션 데이터는 예를 들어 캐싱뿐만 아니라 렌더링을 용이하게 할 수 있도록 트리 또는 그래프와 같은 일부 방식으로 데이터를 구조화하기 위해 서비스 계층을 통해 전달되기 전에 처리될 수 있다는 것을 유의하고, 이것은 발명의 명칭이 "보조 정보의 오프라인 디스플레이 및 탐색을 위한 데이터 캐싱"인 상기 미국 특허 출원에 설명되어 있다.
요약으로서, (1) 내지 (6)까지 원 속의 숫자로 표시된 화살표들은 보조 애플리케이션의 부트-스트랩핑(boot-strapping) 및 실행에 대한 일반화된 타임라인(timeline)에 대응한다. 화살표 (1)에 나타내어진 대로 보조 장치 서비스가 시작된다. 화살표 (2)에서, 초기화 프로세서의 일부로서, 서비스는 프로세스-되지-않는(out-of-process) 애플리케이션 COM 객체들을 생성한다. 프로세스-되지-않는 COM 객체들은 IAuxAppSink 인터페이스를 지원한다.
화살표 (3)에 나타내어진 대로, 보조 애플리케이션 컴포넌트(예를 들어, 객체)는 하나 이상의 보조 장치들에 가입하기 위해 보조 장치 서비스(306)의 서비스 등록 컴포넌트의 IAuxAppReg 인터페이스(예를 들어, 객체 메소드)로 호출된다. 각각의 사용가능한 장치가 호출로부터 리턴된 특정 식별자(identity)에 의해 목록화될 수 있거나 또는 사용가능한 것으로 단순히 식별될 수 있는데, 여기서 이벤트 열거가 각 장치들의 특성을 판정할 수 있다.
화살표 (4)에 나타내어진 대로 이하의 등록에서, 등록 서비스(404)는 등록 컴포넌트로부터 IAuxMediator 객체 인터페이스를 리턴함으로써, 보조 애플리케이션 컴포넌트(402)에 대해 중개자 컴포넌트(예를 들어, 객체)를 본질적으로 식별한다. 서비스의 중개자 컴포넌트(객체)는 IAuxAppSink 인터페이스의 복제본을 유지하여, 중개자(406)는 애플리케이션 컴포넌트(402)가 디스플레이상의 구동 장치 이벤트 그림에 응하고 또는 표시자의 상태를 설정하는 것을 요구할 수 있다.
도 4에서 화살표 (5)는 IAuxAppSink를 통해 보조 애플리케이션에 IAuxDevice 인터페이스를 전달하는 중개자 컴포넌트(406)를 나타낸다. 이어서 애플리케이션은 장치 컴포넌트를 통하여 요청을 실현하기 위해서 그 인터페이스를 사용한다.
도 5는 중개자 컴포넌트(객체)(406)에 결합된 다중 애플리케이션 프로그램들 (302A - 302C) 들을 도시한다. 비록 이렇게 3개의 애플리케이션 프로그램들(302A - 302C)이 도시되었지만, 다른 실제적인 개수가 가능하다는 것을 이해할 것이다. 일반적으로, 중개자 컴포넌트(406)는 어떤 애플리케이션 프로그램이 보조 디스플레이(200)상에 (및/또는 하나 이상의 표시자 세트상에) 현재 자신의 데이터를 디스플레이시켜야 하는지 및/또는 어떤 애플리케이션 프로그램이 구동 장치(201)로부터 사용자 입력 데이터를 수신해야 하는지에 대해 판정한다. 1개 이상의 보조 디스플레이가 존재할 경우, 중개자 컴포넌트(객체)(406)는 애플리케이션 프로그램들을 장치들에 매핑하고; 임의의 한순간에, 다른 보조 장치들은 표시자들 또는 디스플레이 스크린을 통해 다른 애플리케이션 프로그램 데이터를 각각 디스플레이할 수 있고, 또는 임의의 한 애플리케이션은 한순간에 2개 이상의 보조 장치상에 자신의 데이터를 디스플레이할 수 있다. 그러므로 동일한 애플리케이션이 2개 이상의 디스플레이에 데이터를 출력할 수 있으나, 애플리케이션의 데이터는 각 보조 장치에 대해 다를 수 있다는 것을 유의한다. 단순화하기 위해, 아래의 설명은 (표시자 세트로 출력하기보다는) 디스플레이에 출력하는 단일 보조 디스플레이 장치를 참조할 것이다.
도 5에서, 상호작용 관리자(501)로서 참조되는 구동 장치 객체는 보조 디스플레이에 대응하는 구동 장치(201)와의 사용자 상호작용을 관리한다. 이러한 상호작용으로는 중개자 컴포넌트(객체)(406)에게 애플리케이션들 중 어떤 것이 자신의 데이터를 디스플레이할 것인가를 변경시키도록 알리는 탐색 명령을 사용자가 입력하는 것이 있다. 또한, 그 명령은 예를 들어, 선택된 이메일 메시지의 본문과 같은 자신의 데이터의 일부를 디스플레이하기 위해 현재의 보조-디스플레이-활성 애플리케이션 프로그램에 보내어지는 것일 수도 있다. 또는 시한 이벤트(timed event)와 같은 이벤트(520)가 중개자 컴포넌트(406)에 의해 수신되고 처리되어 그 이벤트에 응하여 자동으로 변경될 수 있다. 룩업 테이블 또는 중개자 컴포넌트에 의해 유지되는 유사한 것은 이벤트들(예를 들어, 내부 타이머들)을 액션들에 매핑시킬 수 있다.
상호작용 관리자는 디스플레이를 변경하기 위해 애플리케이션 프로그램들에 전적으로 의존할 필요가 없음을 유의한다. 예를 들어, 사용자가 선택할 수 있는 이용가능한 애플리케이션 프로그램들을 목록화하는 "홈페이지" 프로그램은 상호작용 관리자 및/또는 디스플레이 객체(408)에 장착될 수 있다. 홈페이지 프로그램은 구동 장치(201)와의 사용자 상호작용에 응하여 사용자가 애플리케이션들 중 하나를 선택할 때까지 디스플레이를 조정한다(예를 들어, 이용가능한 애플리케이션들을 강 조하고 및/또는 스크롤링함).
한 실시예에서, 애플리케이션 선택 또는 다른 변경 요청(예를 들어 이벤트 기반)이 검출되었을 때, 중개자 컴포넌트(406)는 새로이 선택된 또는 현재 선택된 애플리케이션에 이벤트를 전송해서 애플리케이션이 디스플레이용 디스플레이 객체(408)에 적절한 데이터를 제공하도록 지시한다. 시한 이벤트로 인해 한 애플리케이션 프로그램에서 다른 애플리케이션으로 변경된 경우 또는 홈페이지로 되돌아가는 변경이 있는 경우, 중개자 컴포넌트(406)는 더 이상 디스플레이할 데이터가 없다는 것을 나타내기 위해 이전에 활성이었던 애플리케이션에 이벤트를 또한 전송할 수 있다. 다중 디스플레이 및/또는 표시자들에서, 중개자 컴포넌트는 변경이 발생할 때 객체를 디스플레이하기 위해 애플리케이션을 재매핑할 수 있으므로, 어떤 디스플레이, 즉 애플리케이션의 데이터가 출력되는 디스플레이들 및/또는 표시자들을 표시하는 메커니즘이 애플리케이션에게 어떻게 자신의 데이터를 다른 장치에 맞게 맞추어 만들 수 있는지를 알려 주기 위해 필요할 수 있다.
임의의 보조 디스플레이 장치용 디스플레이 객체는 데이터가 해당 디스플레이에 적절하다는 것을 확인할 수 있는데, 예를 들어 LED에게 텍스트는 (그 텍스트가 컬러 및/또는 플래시 패턴과 같이 특정 디스플레이 상태에 해당하지 않는다면) 의미 없을 수 있다. 더 나아가, 디스플레이 객체는 적절하게, 예를 들어, 디스플레이 및 기타의 이유로, 컬러에서 흑백으로 텍스트에서 비트맵으로 데이터를 다시 포맷할 수 있다.
구동 장치(201)는 또한 자신의 데이터를 디스플레이하고자 하는, 현재 선택 된 애플리케이션 프로그램의 상태를 변경할 수 있다. 예를 들어, 선택될 경우, 이메일 애플리케이션 프로그램은 이메일 메시지의 목록을 디스플레이할 수 있고, 이 목록들은 적절한 버튼들에서 수신되는 구동에 응하여 애플리케이션 프로그램에 의해 스크롤될 수 있다. 이메일 메시지를 선택할 경우, 애플리케이션은 메시지 목록들보다는 선택된 메시지의 내용을 출력하도록 자신의 상태를 변경할 수 있다.
애플리케이션-관련 계층 아래에서 프로토콜 프록시(예를 들어, DLL)가 플러그 인된 통신 관련 인터페이스를 통해 프로토콜 계층이 이루어진다. 프로토콜 계층으로 인해, 통신 세부사항 및 요청들은 애플리케이션 프로그램들 및 중개 컴포넌트로부터 추상화된다.
또한, 프로토콜이 고정되지 않고 플러그 가능한 프로토콜 프록시를 통해 구성될 수 있다. 따라서, 본질적으로 아직 개발되지 않은 프로토콜을 포함하여 보조 장치의 합의 아래 임의의 프로토콜이 사용될 수 있다. 프록시를 플러그 인하는 것은 결합된 보조 디스플레이의 존재를 초기에 검출하는 것에 응하여 자동이거나 또는 일반적으로 자동이라는 것을 유의한다. 예를 들어, 사용자는 스마트 이동 전화를 컴퓨터에 결합시킬 수 있으며, 그 결합이 검출되면, 이동 전화의 디스플레이는 적절한 프로토콜 프록시를 자동으로 로딩함으로써 보조 디스플레이가 될 수 있다.
계층화된 아키텍처로 인해, 애플리케이션 프로그램들 및 보조 디스플레이 장치는 둘 다 본질적으로 보조 장치 서비스만을 알 수 있으며, 이 서비스는 적절히 데이터를 교환하기 위해 필요한 각각의 인터페이스를 갖는다. 이러한 방식으로, 임의의 애플리케이션에서 임의의 보조 디스플레이 장치로의 통신이 가능하며, 이를 위해 (예를 들어, USB HID, 블루투스 등을 통해 접속하기 위해, 심지어 예를 들어, 이 세상 어딘가에 실제로 위치하는 웹 서비스에 접속하기 위해) 합의된 프로토콜이 존재한다.
도 6에서, 보조 장치 서비스(306)의 프로토콜(때때로 하드웨어 추상화로서 지칭됨) 계층은 애플리케이션 플러그 인들이 하나 이상의 각종 장치들로 라우팅되는 것을 가능하게 하는 추상화이다. 한 실시예에서, 물리적인 출력 수단은 단일 LED만큼 작은 것에서부터 풀 컬러(full color) 비트맵 보조 디스플레이, 또는 사실상 그 사이의 임의의 것(예를 들어, 문자 숫자식의 디스플레이, 사용자 정의 세그멘팅을 갖는 보조 디스플레이, 2n -비트 소형 흑백 비트맵 디스플레이들, 32-비트 대형 비트맵 디스플레이들 등)에 이르기까지 다양할 수 있다. 입력 기능 또한 다양할 수 있는데, 예를 들어 구동 장치들은 버튼들에서부터, 용량성 센서들 또는 광 센서, 모션 센서, 부피 센서 등을 포함한 기타 센서들에 대한 스위치들에 이르기까지 다양할 수 있다.
도 6에 도시된 바와 같이, 한 실시예에서, 프로토콜 프록시는 애플리케이션 내용이 물리적 장치로 보내어지도록 하는 DLL을 포함한다. 프록시의 IDevice 및 IProtocol 인터페이스들은 보조 장치 서비스(306)의 코어 코드에 노출되고, 코어 코드는 콜백(callback) 이벤트를 프록시들로부터 수신한다. 도 6의 예제에서, USB/HID 장치(Universal Serial Bus/Human Interface Device)-기반의 보조 디스플레이 및 WinSock 기반의 종단 장치 각각에 대한 예제로서 예제(616 및 617)가 도시 되어 있다. 다른 통신 프로토콜들을 지니는 다중 보조 디스플레이들을 동시에 활성가능하게 할 수 있다는 것을 유의한다. 보조 장치 서비스는 프로토콜 프록시 제공자 및 그 각각의 기능에 대한 데이터(650)(예를 들어, XML로 포맷된 장치 구성 목록)를 유지한다.
이를 위해, 컴퓨팅 환경은 본 명세서에서 "온라인" 상태로 지칭되는 운영 체제 수행(ACPI 상태 S0)과 함께 메인 컴퓨터상에서 활성으로 수행되는 애플리케이션들로 기술되었다는 것을 유의한다. 그러나, 다른 시나리오에서, 보조 디스플레이는 자기 자신의 CPU와 메모리를 가질 수 있으며, 메인 컴퓨터가 "오프라인"일 경우, 예를 들어 컴퓨터가 어느 정도까지 전원이 내려진 때 또는 완전히 전원이 내려진 때 또는 컴퓨터가 슬립/최대 절전 상태 등(SI 또는 그 이상의 ACPI 슬립 상태)에 있는 경우, 이 펌웨어는 보조 장치를 동작시킬 수 있다. 이러한 펌웨어가 존재하는 경우, 보조 장치는 장치가 온라인이거나 오프라인이거나 모두 데이터를 디스플레이할 수 있다. 만약 이러한 펌웨어가 존재하지 않는 경우, 보조 장치는 온라인 상태에서만 작동할 수 있다. 이러한 온라인 전용의 상태에서, 상술한 애플리케이션들 및 각종 컴포넌트들은 운영 체제 하에서 메인 CPU상에서 수행된다.
도 7은 이러한 두 시나리오, 즉 온라인 전용 또는 온라인/오프라인 겸용일 경우 중 임의의 한 경우에, (이 예제에서 보조 플러그 인(402A 및 402B)을 각각 갖고 있는) 애플리케이션들(302A 및 302B) 및 상호작용 관리자간의 관계를 일반적으로 도시한다. 온라인 전용일 경우, (메인 CPU 운영 체제상에서 수행되는) 온라인 상 호작용 관리자(5011)는 사용자 입력을 수신하고 보조 디스플레이 서비스(306)를 통해 처리를 위해 현재 선택된 애플리케이션 프로그램 및/또는 디스플레이 컨트롤러(7301)에 해당 데이터를 전달한다. 이것은 본질적으로 도 5에 관해 상술된 바라는 것을 유의한다. 또한 장치가 오프라인이 가능할지라도, 이 온라인 컴포넌트들은 메인 시스템이 온라인일 때는 언제나 수행될 수 있는데, 이는 처리 전력과 메모리가 온라인 상태일 때 일반적으로 더 크기 때문이고 애플리케이션이 캐시된 데이터 대신 실제 데이터로 수행되기 때문이라는 것을 유의한다.
오프라인일 경우, 다른 오프라인 상호작용 관리자(5012)가 사용된다. 이해된 바와 같이, 오프라인 상호작용 관리자(5012)는 보조 마이크로컨트롤러/ 및 오프라인(예를 들어, 플래시 또는 전원이 공급되는) 저장 장치하에서 수행된다. 일반적으로, 오프라인 상호작용 관리자(5012)는 구동 장치(201)로부터의 탐색 명령에 응하여 캐시된 데이터를 조작한다. 오프라인 상호작용 관리자(5012)의 일부로 간주될 수 있는 오프라인 쉘 프로그램은 (비록 이것이 별도의 컴포넌트일 수 있을지라도) 홈페이지를 제공하고 탐색 논리를 포함할 수 있는데, 이러한 탐색 논리는 어떤 이미지(예를 들어, 비트맵)가 디스플레이될 것인지 또는 디스플레이에 렌더링되기 위해 쉘에서 렌더러(renderer)에 의해 어떤 내용이 번역되어야만 하는지를 판정한다. 온라인 또는 오프라인에 관계없이, 보조 프로세서 및/또는 메모리의 제한때문에 디스플레이될 수 있는 것에 있어 일부 차이가 있다 하더라도, 온라인/오프라인 겸용 장치상에서 동일한 구동 장치 및 보조 디스플레이가 사용될 수 있다는 것을 유의한다. 예를 들어, 캐시된 비트맵이 오프라인 시나리오용으로 사용되고 공간이 제한되는 경우, 이미지의 해상도는 달라질 수 있다. 그러나, 온라인 및 오프라인에 대해 공통의 탐색 (예를 들어, 트리 혹은 그래프) 구조로 디스플레이 장치로 전송된 데이터를 포맷하는 것은 여러 이점이 있을 수 있는데, 이러한 이점으로는 사용자가 유사한 경험을 얻게 되는 점과 각종 컴포넌트들이 온라인 또는 오프라인 상태에 따라 상이한 구조들을 처리하도록 구성될 필요가 없다는 점이 있다는 것을 유의한다. 그러나, 예를 들어 저장 장치 공간의 제한으로 인해 애플리케이션 데이터 전부가 오프라인 표시를 위해 캐시될 수 없는 경우, 캐시될 데이터량의 크기가 감소하는 경우(예를 들어, 트리 구조가 제거됨(pruned))와 같이, 디스플레이될 수 있는 실제 데이터는 다를 수 있으며, 이것은 발명의 명칭이 "보조 정보의 오프라인 디스플레이 및 탐색을 위한 데이터 캐싱"인 상기 미국 특허 출원에 설명되어 있다.
문맥 -인식 보조 디스플레이 플랫폼 및 애플리케이션
도 8은 문맥 센서의 개념이 추가된 것을 제외하고는 도 7과 유사하게 나타나 있다. 도 8에서 문맥 센서 및 센서들은 온라인 또는 오프라인 문맥 감지용으로 각각 별도의 센서들(840 및 842)로 보여지고 있으나 센서들 일부 또는 전체가 상태들간에 동일하거나 공유될 수 있다는 것을 이해할 것이다.
본 발명의 측면에 따라 일반적으로 문맥 센서는 일부 문맥 변경을 판정하고 그것을 메인 컴퓨터 시스템 및/또는 보조 장치로 레포트한다. 레포트된 문맥 변경은 어떤 정보가 보조 디스플레이 장치상에 디스플레이되는가에 관해 어떤 액션을 취하거나 또는 다른 유형의 액션을 취하는 데에 사용된다.
오프라인 상태에서, 문맥내의 변경은 예를 들어 현재의 문맥 상태에 기초하여 캐시된 데이터를 다르게 번역하거나 사용하기 위해 또는 아마도 캐시된 데이터에 추가하거나 또는 그로부터 삭제하기 위해, 캐시된 데이터에 일부 영향을 끼칠 수 있다. 예로서, 센서가 시스템의 사용자와 함께 다른 사람이 있다는 것을 검출할 경우, 사용자에 의해 민감한 정보로서 이전에 식별된 캐시내의 임의의 정보는 제거되어 나중에 복구된다. 따라서, 회의에서 사용자는 보조 디스플레이를 볼 수 있는 다른 참석자들에게 자신의 이메일 메시지를 부주의하게 보여주지 않을 수 있을 것이다. 이와 유사하게 보조 디스플레이가 랩톱 컴퓨터 덮개에 장착되어 있고 그 덮개가 열려있는 경우, 장치의 사용자는 보조 장치를 볼 수 없지만 다른 사람들은 볼 수 있기 때문에 덮개가 열려 있을 때 임의의 민감한 정보는 보통 디스플레이되어서는 안 된다. 상기 두 가지 예제에서, 현재의 문맥은 원하는 디스플레이 출력을 판정하는 것이고, 따라서 문맥이 디스플레이를 제어할 수 있다는 것을 감지한다.
문맥-인식이 온라인 및 오프라인 둘 다에서 작동할 수 있으며, 온라인시에는 문맥 변경이 온라인 애플리케이션 프로그램 또는 운영 체제 컴포넌트로 전달될 수 있는 반면 오프라인시에는 문맥 변경이 보조 펌웨어에 의해 획득된 임의의 다른 데이터 및/또는 캐시된 데이터의 사용을 수정하는 데에 사용될 수 있다는 차이점이 있다는 것을 유의한다. 캐시된 데이터에 추가되거나 그에 합병될 수 있는 이러한 다른 데이터는 전술되었고 발명의 명칭이 "보조 컴퓨팅 장치에서 수신된 정보 처 리"인 미국 출원 특허에 설명되어 있다. 또한 센서들은 온라인에서 오프라인까지 다르거나 또는 적어도 그 수가 다를 수 있는데, 예를 들어 일부 센서들은 운영 체제로 레포트할 수 있고, 휴대용 보조 장치에 대해 그 장치에 부착된 센서들은 장치와 이동하는 반면 메인 컴퓨터 시스템에 부착된 다른 센서들은 메인 컴퓨터 시스템에 여전히 있을 것이다.
메인 컴퓨터 시스템 및 보조 장치 둘 다가 동작하고 있는 온라인 상태에서, 온라인 애플리케이션 프로그램 및/또는 운영 체제 컴포넌트로 전달되는 문맥 변경은 전달의 각 수신측에 적합하기 때문에 애플리케이션 프로그램 및/또는 운영 체제(및/또는 보조 장치 그 자체)에 의해 사용된다. 그 결과, 문맥 변경은 예를 들어 레지스트리 또는 다른 설정을 변경함으로써 메인 컴퓨터 시스템 및/또는 보조 장치를 일시적으로 또는 영구적으로 변경할 수 있다. 메인 컴퓨터 시스템의 프로그램에 레포트된 변경이 메인 컴퓨터 시스템이 오프라인인 때에도 발생할 수 있고 그러한 경우 보조 장치에 보존되어 메인 컴퓨터 시스템이 다시 온라인이 되었을 때 레포트될 수 있음을 유의한다. 온라인의 경우, 각종 문맥 데이터가 보조 디스플레이 사용을 등록한 애플리케이션에 레포트될 수 있다. 디스플레이 또는 메인 컴퓨터 시스템의 물리적 위치, 이동 또는 모션 데이터, 특정 사용자 또는 다른 사용자의 존재, 전원 상태, 네트워크 연결성의 상태, 프라이버시 상태 등에 대응하는 문맥과 같은 각종 유형의 문맥이 감지될 수 있다.
보조-장치-인식 애플리케이션은 또한 상술된 대로 사실은 플러그 인이 아니라 메인 애플리케이션 프로그램 코드의 일부임에도 불구하고 플러그 인으로 간주될 수 있다. 애플리케이션은 시스템이 오프라인이 되기 전 특정 문맥-의존 행동을 등록(또는 질의)할 수 있다. 따라서 보조 장치는 문맥-의존 이벤트가 검출될 때 또는 검출 후 어느 적절한 때에 문맥-의존 이벤트를 전송할 수 있고 또는 질의에 응하기 위해 문맥-관련 데이터를 유지할 수 있다. 보조 장치는 또한 애플리케이션 프로그램 질의에 응하는 것과 같이 요구시 문맥-관련 데이터를 획득할 수 있고 및/또는 적절한 때에 때때로 하나 이상의 센서를 폴링할 수 있다. 보조 장치는 또한 이벤트가 마지막으로 전송되었을 때 수행중이지 않았고 및/또는 등록되지 않았던 애플리케이션을 위해서와 같이 문맥-관련 이벤트를 재전송할 수 있다.
본 발명에 맞추어, 플러그 인은 하나 이상의 전원 상태에서 사용가능하도록 등록될 수 있다. 예를 들어, 달력 플러그 인은 시스템이 온라인 또는 오프라인일 때 적절하지만, 메인 컴퓨터 시스템을 통해 수신된 실시간 증권 시세는 오프라인용으로 캐싱되는 것이 적절하지 않다. 플러그 인은 또한 하나 이상의 위치에서 사용가능하도록 등록될 수 있다. 예를 들어 배터리 계기는 보조 디스플레이가 랩톱 컴퓨터의 사면 또는 그 덮개 또는 그 둘 다에 위치하는 것이 적절하다.
보조 디스플레이 플러그 인을 개발할 때 개발자는 애플리케이션이 디스플레이될 수 있거나 (또는 문맥이 변경될 때 디스플레이되어야 하거나) 또는 디스플레이되어서는 안 되는 적절한 문맥(또는 문맥들)을 지정할 수 있다. 서비스는 또한 문맥 이벤트내의 변경을 플러그 인에 전달하고, 플러그 인은 그에 따라서 앞으로의 출력을 조정할 수 있다. 플러그 인은 문맥 변경이 있을 때, 예를 들어 블루투스 장치가 범위내에 있을 때 자동으로 어떤 디스플레이를 자동으로 나타나는 것과 같 이 디스플레이 변경을 등록할 수 있다. 또한 블루투스 장치가 보조 디스플레이로서 사용가능하게 되면, 적절하게 등록된 애플리케이션 각각은 문맥 변경을 통지받을 수 있고, 따라서 예를 들어 플러그 인은 새 장치에 대해 그 출력을 조정할 수 있다.
현재의 시스템 문맥을 인식하는 보조 서비스(306)는 현재의 문맥을 기초로 하여 어느 플러그 인이 데이터를 디스플레이하는 데에 적절한지 및 어떤 플러그 인은 불가한지를 선택할 수 있다. 이를 위해, 한 실시예에서 문맥 상태 변경이 발생하면 보조 서비스는 사용가능하게 된 플러그 인 목록을 열거하여 그 문맥 변경에 기초하여 추가되거나 제거되어야 할 것이 있는지 여부를 판정한다. 오프라인 상태에서 수행될 때, 보조 프로세서상에서 수행되는 펌웨어 또는 운영 체제는 동일한 문맥 필터를 적용하여 오프라인 전원 상태에서 더 이상 관련이 없는 플러그 인을 사용불가하게 만든다. 또한 다른 필터가 적용될 수 있다.
각종 문맥 예제는 전원 상태를 포함하며, 이것은 어떤 전원 상태에서 플러그 인의 해당 정보가 디스플레이될 것인지, 정보의 소스가 플러그 인의 해당 애플리케이션 프로그램인지 또는 그 애플리케이션 프로그램에 대해 캐시된 데이터인지 여부를 판정한다. 보조 서비스(306)는 기존 시스템 통지를 통해 시스템 전원 상태에 대한 변경을 알 수 있다. 플러그 인 전원 상태 옵션으로는 시스템이 온라인인 경우 플러그 인이 적합한 온라인(S0)과, 시스템이 오프라인인 경우 플러그 인이 적합한 오프라인(S3-S5)이 있다. 플러그 인은 온라인 및 오프라인으로 사용가능하도록 등록될 수 있다.
다른 문맥은 상대 디스플레이 위치이고, 이것은 메인 컴퓨터 시스템의 주 디스플레이(primary display)에 관해 보조 디스플레이의 위치에 기초하여 플러그 인이 정보를 디스플레이할 것인지 여부를 판정하는 데에 사용될 수 있다. 제조업자들은 시스템 구성의 일부로서 보조 디스플레이의 위치를 등록할 수 있고, 사용자는 임의의 정의된 범주에 속하지 않는 사용자 정의 위치에 대해서와 같이 또는 사용자가 등록된 위치를 오버라이드하고자 하는 경우와 같이 시스템에 대해 위치를 정의할 수 있다. 그 후 각 플러그 인은 어느 위치에서 수행되는 것이 적절한가에 대해 보조 서비스(306)를 등록할 수 있다. 예를 들어, 플러그 인 위치 옵션은 보조 디스플레이가 랩톱의 사면상과 같이 주 디스플레이에도 동시에 보이는 위치에 있을 수 있는 경우와 같이 주 디스플레이에 보이는 옵션을 포함할 수 있다. 다른 위치는 예를 들어 보조 디스플레이가 랩톱의 덮개에 장착되어 덮개가 닫혀 있을 때나 메인 디스플레이의 반대편으로부터만 보이는 것과 같이 주 디스플레이에 동시에 보이는 않는 위치에 있을 수 있는 경우와 같이 주 디스플레이에 보이지 않는 옵션을 포함할 수도 있다. 등록될 수 있는 또 다른 위치는 원격 디스플레이인데, 이것은 보조 디스플레이가 메인 PC로부터 분리가능하거나 또는 원격 접속(예를 들어 블루투스를 통해 이동 전화로)을 통해 접속된 별도의 장치상에 있다는 것을 나타낸다. 플러그 인은 위치 옵션의 임의의 조합으로 나타내어질 수 있도록 등록될 수 있다.
네트워크 연결성은 검출될 수 있는 또 다른 문맥이고, 플러그 인이 현재 네트워크 연결성의 상태를 기초로 하여 정보를 디스플레이할 것인지 여부를 판정하는 데에 사용될 수 있다. 플러그 인 네트워크 연결성의 옵션으로는 무선 접속, 이더 넷 접속, 블루투스 접속 및 네트워크 접속 없음이 있다. 플러그 인은 네트워크 연결성의 옵션의 임의의 조합으로 나타내어질 수 있도록 등록될 수 있다. 보조 서비스는 기존의 API를 통해 현재 네트워크 상태를 인식한다. 오프라인의 경우, 보조 프로세서상의 펌웨어 또는 운영 체제는 네트워크에 액세스할 수 있고 적절하게 플러그 인에 대한 상태를 설정할 수 있다.
문맥 감지의 또 다른 유형은 일터 또는 집과 같이 장치의 실제 물리적 위치를 검출하는 것이다. 예를 들어, 사용자가 일터에서 집으로 돌아와서 다른 무선 네트워킹이 검출된 경우, 그 문맥 변경은 사용자의 이메일 애플리케이션 프로그램으로 레포트되어, 사용자 일터의 이메일 주소용 이메일 메시지 대신 보조 디스플레이상에 사용자의 개인 주소로 온 이메일 메시지를 출력하도록 조정할 수 있을 것이다. 위성 위치 확인 시스템(global positioning system;GPS) 데이터 또한 사용자의 현재 위치 및 속도를 감지하여 앞으로의 위치를 예측할 수 있기 때문에 위치를 판정할 수 있고, 그에 따라 출력 데이터를 조정할 수 있다.
정보 민감도는 플러그 인이 정보의 지각된 민감도 및 사용자의 현재 문맥에 기초하여 디스플레이될 것인지 여부를 판정한다. 문맥은 현재 상황에 기초하여 사용자에 의해 선택될 수 있고 보조 서비스 또는 펌웨어/OS로 전달될 수 있다. 발견적 방법은 사용자 선택 문맥 및 기타 관련 정보에 기초하여 정보의 어떤 레벨이 보여져야하는지를 판정한다. 예를 들어 제2 사용자가 다른 사용자가 로그인했을 때와 동시에 랩톱을 액세스하기 위해 터미널 서비스를 사용하는 경우, 보조 디스플레이상에 기밀 정보를 보이도록 하는 것은 적절하지 않을 수 있다. 또 다른 예제는 사용자가 컴퓨터를 내버려둔 채 자리를 떴을 때이고, 그에 따라 없는 동안 기밀 정보가 보이지 않도록 하는 것이 바람직할 것이다.
플러그 인 정보 민감도 옵션은 시스템 데이터 및 사용자 데이터를 포함하며, 시스템 데이터에서 플러그 인은 개인 정보(예를 들어 배터리 계기)를 전혀 가지고 있지 않으며 사용자 데이터에서 플러그 인은 사용자의 개인 선호도와 관련되었으나 기밀 데이터가 아닌 데이터(예를 들어, 우편 번호에 의한 날씨 예보 또는 사용자 선택 주식 시세)를 포함한다. 더 민감한 옵션은 개인 정보이고, 예를 들어 플러그 인이 개인에 특별히 관한 것이지만 꼭 기밀일 필요가 없는 음악 목록과 같은 데이터를 포함하는 경우이다. 기밀 정보는 플러그 인이 기밀로 간주되어야 하는 정보(예를 들어 달력 이메일)를 포함하는 것을 나타낸다. 한 실시예에서, 플러그 인은 이들 옵션 중의 하나만을 등록할 수 있다. 다른 실시예에서 더 자세하게 세분하는 것이 가능한데, 예를 들어 플러그 인 데이터 중 일부는 한 민감도에서 플래그된 반면 다른 데이터는 다른 것으로 플래그될 수 있고 민감도를 지정하는 것은 등록할 때가 아닐 수 있다.
사실상 감지될 수 있는 임의의 문맥이 문맥 변경 시 프로그램 데이터 표현을 변경하는 데에 사용될 수 있다는 것을 이해할 것이다. 이것은 문맥 변경에 앞서 프로그램에 의해 또는 프로그램에게 문맥 변경을 통지하고 그 프로그램으로 하여금 그 결과를 조정하도록 함으로써 제공되는 규칙에 기초할 수 있다.
보조 장치(예를 들어 보조 장치의 구동 장치를 통해) 또한 문맥을 변경할 수 있다. 예를 들어 보조 디스플레이 장치의 구동 장치상에서 눌러진 버튼은 랩톱 컴 퓨터와 같은 메인 시스템의 전원 상태(예를 들어 온/오프/대기/최대 절전)를 변경할 수 있다. 또는 보조 디스플레이상에서 버튼을 누르는 것은 메인 시스템으로 하여금 무선 네트워크에 접속하도록 하는 데에 사용될 수 있다.
전술한 것으로부터 알 수 있듯이, 본 발명은 각종 문맥 애플리케이션 프로그램(플러그 인)이 적절한 때에 컴퓨터 시스템의 보조 디스플레이에 데이터를 제공하는 것을 가능하게 하며, 동시에 그것이 전용 보조 디스플레이로서 내장된 것이든지 또는 분리된 장치 디스플레이이든지 사실상 임의의 가능한 디스플레이가 보조 디스플레이로서 기능하는 것을 가능하게 한다. 따라서 본 발명은 보조 디스플레이 장치를 지니는 최신 컴퓨팅에서 요구되는 각종 혜택과 이점을 제공한다.
본 발명은 각종 수정 및 다른 구성이 가능하고, 본 발명의 일부 도시된 실시예가 도면에 나타나 있고 상세히 기술되었다. 그러나 본 발명을 특정 형태 또는 개시된 형태에 한정하고자 하는 것이 아니라 그에 반대로 본 발명의 정신 및 범위내의 모든 변경, 다른 구성 및 동등물을 포함하고자 하는 것을 이해할 것이다.
본 발명은 각종 문맥 애플리케이션 프로그램(플러그 인)이 적절한 때에 컴퓨터 시스템의 보조 디스플레이에 데이터를 제공하는 것을 가능하게 하며, 동시에 그것이 전용 보조 디스플레이로서 내장된 것이든지 또는 분리된 장치 디스플레이이든지 사실상 임의의 가능한 디스플레이가 보조 디스플레이로서 기능하는 것을 가능하게 하여, 보조 디스플레이 장치를 지니는 최신 컴퓨팅에서 요구되는 각종 혜택과 이점을 제공한다.
Claims (28)
- 컴퓨터 시스템을 포함하는 컴퓨팅 환경에서의 시스템으로서,보조 정보를 출력하기 위해 상기 컴퓨터 시스템에 결합된 보조 장치;변경될 수 있는 현재의 문맥을 나타내는 적어도 하나의 문맥 센서; 및상기 문맥 센서에 결합되어 있고 상기 현재의 문맥에 기초하여 상기 보조 장치상의 정보 출력을 관리하는 서비스를 포함하는 시스템.
- 제1항에 있어서, 프로그램을 더 포함하며, 상기 프로그램은 그 프로그램에 대응하는 정보가 상기 현재의 문맥에 기초하여 디스플레이해야 할 것인지 여부를 나타내기 위해 상기 서비스에 의해 등록되는 시스템.
- 제1항에 있어서, 상기 문맥 센서는 현재의 문맥으로서 네트워크 연결성의 상태를 검출하는 시스템.
- 제1항에 있어서, 상기 문맥 센서는 상기 컴퓨터 시스템의 메인 디스플레이에 대한 상기 보조 장치의 위치 변경을 검출하는 시스템.
- 제1항에 있어서, 상기 문맥 센서는 상기 컴퓨터 시스템의 물리적 위치 변경 을 검출하는 시스템.
- 제5항에 있어서, 상기 문맥 센서는 위성 위치 확인 시스템(global positioning system;GPS) 데이터에 기초하여 상기 컴퓨터 시스템의 물리적 위치 변경을 검출하는 시스템.
- 제5항에 있어서, 상기 문맥 센서는 무선 신호 검출에 기초하여 상기 컴퓨터 시스템의 물리적 위치 변경을 검출하는 시스템.
- 제1항에 있어서, 상기 문맥 센서는 상기 보조 장치 근처에 적어도 한 사람이 있음을 검출하는 시스템.
- 제1항에 있어서, 상기 문맥 센서는 상기 메인 컴퓨터의 온라인 또는 오프라인 전원 상태를 검출하는 시스템.
- 제1항에 있어서, 상기 문맥 센서는 상기 보조 디스플레이의 구동 장치상의 버튼에 대응하는 시스템.
- 제1항에 있어서, 상기 서비스는 문맥 변경에 응하여 오프라인 캐시내의 데이터를 수정함으로써 상기 보조 장치상의 상기 정보 출력을 관리하는 시스템.
- 제1항에 있어서, 상기 서비스는 문맥 변경에 응하여 애플리케이션 프로그램에 통지함으로써 상기 보조 장치상의 상기 정보 출력을 관리하고, 상기 애플리케이션은 상기 문맥 변경 통지에 응하여 그 출력을 조정하는 시스템.
- 컴퓨터 시스템 및 상기 컴퓨터 시스템에 결합된 보조 장치를 포함하여 보조 정보를 출력하는 컴퓨팅 환경에서의 방법에 있어서,문맥 변경을 검출하는 단계; 및상기 문맥 변경 검출에 기초하여 상기 보조 장치상에 출력될 수 있는 정보를 조정하는 단계를 포함하는 방법.
- 제13항에 있어서, 문맥 변경을 검출하는 상기 단계는 상기 컴퓨터 시스템의 메인 디스플레이에 대한 상기 보조 장치의 위치 변경을 나타내는 데이터를 수신하는 단계를 포함하는 방법.
- 제13항에 있어서, 문맥 변경을 검출하는 상기 단계는 상기 보조 장치의 물리적 위치를 나타내는 데이터를 수신하는 단계를 포함하는 방법.
- 제13항에 있어서, 문맥 변경을 검출하는 상기 단계는 네트워크 연결성의 상 태에서의 변경을 나타내는 데이터를 수신하는 단계를 포함하는 방법.
- 제13항에 있어서, 문맥 변경을 검출하는 상기 단계는 상기 보조 장치 근처에 적어도 한 사람이 있음을 나타내는 데이터를 수신하는 단계를 포함하는 방법.
- 제13항에 있어서, 문맥 변경을 검출하는 상기 단계는 상기 메인 컴퓨터의 온라인 또는 오프라인 전원 상태를 나타내는 데이터를 수신하는 단계를 포함하는 방법.
- 제13항에 있어서, 문맥 변경을 검출하는 상기 단계는 상기 보조 장치와 관련된 구동 장치의 구동 작용을 검출하는 단계를 포함하는 방법.
- 제13항에 있어서, 출력을 조정하는 상기 단계는 문맥 변경에 응하여 오프라인 캐시내의 데이터를 수정하는 단계를 포함하는 방법.
- 제13항에 있어서, 출력을 조정하는 상기 단계는 문맥 변경에 응하여 애플리케이션 프로그램에 통지하는 단계를 포함하고, 상기 애플리케이션은 상기 문맥 변경 통지에 응하여 그 출력을 조정하는 방법.
- 실행될 때에 제13항의 방법을 수행하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체.
- 메인 컴퓨터 시스템 및 보조 장치를 포함하는 컴퓨팅 환경에서의 방법에 있어서,상기 보조 장치에서 문맥 변경에 대응하는 정보를 수신하는 단계;상기 문맥 변경에 대응하는 문맥-관련 데이터를 상기 메인 컴퓨터 시스템으로 전달하는 단계; 및상기 문맥-관련 데이터에 기초하여 상기 메인 컴퓨터 시스템의 상태를 변경하는 단계를 포함하는 방법.
- 제23항에 있어서, 상기 문맥-관련 데이터를 전달하는 상기 단계는 상기 보조 장치로부터의 이벤트를 상기 메인 컴퓨터 시스템상에서 수행되는 프로그램으로 전송하는 단계를 포함하는 방법.
- 제23항에 있어서, 상기 보조 장치로부터 상기 문맥 변경을 나타내는 이벤트를 수신하기 위해 상기 메인 컴퓨터 시스템상에 프로그램을 등록하는 단계를 더 포함하는 방법.
- 제23항에 있어서, 상기 메인 컴퓨터 시스템은 문맥 변경에 대응하는 상기 정 보가 수신될 때 오프라인이고, 상기 문맥-관련 데이터를 전달하는 상기 단계는 상기 메인 컴퓨터 시스템이 온라인이 될 때까지 기억 장치에 상기 정보를 유지하는 단계를 포함하는 방법.
- 제23항에 있어서, 상기 문맥-관련 데이터를 전달하는 상기 단계는 상기 메인 컴퓨터 시스템상에서 수행되는 프로그램으로부터의 질의에 응하는 단계를 포함하는 방법.
- 실행될 때에 제23항의 방법을 수행하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/837,894 | 2004-05-03 | ||
US10/837,894 US7511682B2 (en) | 2004-05-03 | 2004-05-03 | Context-aware auxiliary display platform and applications |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060047708A true KR20060047708A (ko) | 2006-05-18 |
KR101120845B1 KR101120845B1 (ko) | 2012-03-15 |
Family
ID=34939566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050037200A KR101120845B1 (ko) | 2004-05-03 | 2005-05-03 | 문맥?인식 보조 디스플레이 플랫폼 및 애플리케이션 |
Country Status (10)
Country | Link |
---|---|
US (2) | US7511682B2 (ko) |
EP (1) | EP1594037A3 (ko) |
JP (1) | JP4794205B2 (ko) |
KR (1) | KR101120845B1 (ko) |
CN (1) | CN1722105B (ko) |
AU (1) | AU2005201789B2 (ko) |
BR (1) | BRPI0501589A (ko) |
CA (1) | CA2506138C (ko) |
MX (1) | MXPA05004772A (ko) |
RU (1) | RU2393532C2 (ko) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947772B2 (en) * | 2002-01-31 | 2005-09-20 | Qualcomm Incorporated | System and method for providing messages on a wireless device connecting to an application server |
US7039398B2 (en) | 2002-08-30 | 2006-05-02 | Qualcomm Incorporated | Server processing of interactive screens for a wireless device |
US6996394B2 (en) | 2002-08-30 | 2006-02-07 | Qualcomm Incorporated | Server processing in providing messages for a wireless device connecting to a server |
US7673244B2 (en) * | 2004-06-06 | 2010-03-02 | Pitney Bowes Inc. | Responsive environment sensor systems with delayed activation |
US8583139B2 (en) * | 2004-12-31 | 2013-11-12 | Nokia Corporation | Context diary application for a mobile terminal |
US20070079030A1 (en) * | 2005-09-30 | 2007-04-05 | Intel Corporation | Auxiliary display and storage unit |
US7774851B2 (en) * | 2005-12-22 | 2010-08-10 | Scenera Technologies, Llc | Methods, systems, and computer program products for protecting information on a user interface based on a viewability of the information |
TWI292108B (en) * | 2005-12-28 | 2008-01-01 | Via Tech Inc | Fault-tolerant methods and systems for managing webpage presentation |
US7631267B2 (en) | 2006-02-17 | 2009-12-08 | Microsoft Corporation | Auxiliary display sidebar integration |
US20070242061A1 (en) * | 2006-04-14 | 2007-10-18 | Microsoft Corporation | Mobile auxiliary display model |
US7898500B2 (en) * | 2006-05-22 | 2011-03-01 | Microsoft Corporation | Auxiliary display within a primary display system |
US20070282783A1 (en) * | 2006-05-31 | 2007-12-06 | Mona Singh | Automatically determining a sensitivity level of a resource and applying presentation attributes to the resource based on attributes of a user environment |
US7907051B2 (en) * | 2006-06-13 | 2011-03-15 | Microsoft Corporation | Techniques for setting and indicating presence for a device |
US20080005679A1 (en) * | 2006-06-28 | 2008-01-03 | Microsoft Corporation | Context specific user interface |
US8099400B2 (en) * | 2006-08-18 | 2012-01-17 | National Instruments Corporation | Intelligent storing and retrieving in an enterprise data system |
TWI329265B (en) * | 2007-01-16 | 2010-08-21 | Asustek Comp Inc | Portable computer |
US20080235527A1 (en) * | 2007-03-19 | 2008-09-25 | Winbond Electronics Corporation | Operation of computer display using auxiliary display controller |
US20090021450A1 (en) * | 2007-07-19 | 2009-01-22 | Winbond Electronics Corporation | Data synchronization of auxiliary display |
KR101415762B1 (ko) * | 2007-07-25 | 2014-07-08 | 엘지전자 주식회사 | 보조 출력 장치 및 이를 구비한 휴대용 컴퓨터 그리고 이의os 전환 방법 |
US8943425B2 (en) * | 2007-10-30 | 2015-01-27 | Google Technology Holdings LLC | Method and apparatus for context-aware delivery of informational content on ambient displays |
WO2009085586A1 (en) * | 2007-12-20 | 2009-07-09 | Motorola, Inc. | Method and system for managing search results in a communication network |
US20090327884A1 (en) * | 2008-06-25 | 2009-12-31 | Microsoft Corporation | Communicating information from auxiliary device |
JP2010049456A (ja) * | 2008-08-21 | 2010-03-04 | Canon Inc | データ処理装置、データ処理方法、会議システム、記憶媒体及びプログラム |
US8527908B2 (en) * | 2008-09-26 | 2013-09-03 | Apple Inc. | Computer user interface system and methods |
US20100149071A1 (en) * | 2008-12-14 | 2010-06-17 | Edward Mun-Song Son | Convenient Configurations for Secondary Mini Monitors |
US8019903B2 (en) * | 2009-03-27 | 2011-09-13 | Microsoft Corporation | Removable accessory for a computing device |
US20110239011A1 (en) | 2010-03-26 | 2011-09-29 | Nokia Corporation | Method and apparatus for synchronizing wake-ups of offline mobile devices |
US9639611B2 (en) | 2010-06-11 | 2017-05-02 | Doat Media Ltd. | System and method for providing suitable web addresses to a user device |
WO2011156605A2 (en) | 2010-06-11 | 2011-12-15 | Doat Media Ltd. | A system and methods thereof for enhancing a user's search experience |
US9069443B2 (en) | 2010-06-11 | 2015-06-30 | Doat Media Ltd. | Method for dynamically displaying a personalized home screen on a user device |
US10713312B2 (en) | 2010-06-11 | 2020-07-14 | Doat Media Ltd. | System and method for context-launching of applications |
US9665647B2 (en) | 2010-06-11 | 2017-05-30 | Doat Media Ltd. | System and method for indexing mobile applications |
US9552422B2 (en) | 2010-06-11 | 2017-01-24 | Doat Media Ltd. | System and method for detecting a search intent |
US9372885B2 (en) | 2010-06-11 | 2016-06-21 | Doat Media Ltd. | System and methods thereof for dynamically updating the contents of a folder on a device |
US9141702B2 (en) | 2010-06-11 | 2015-09-22 | Doat Media Ltd. | Method for dynamically displaying a personalized home screen on a device |
US9361729B2 (en) * | 2010-06-17 | 2016-06-07 | Microsoft Technology Licensing, Llc | Techniques to present location information for social networks using augmented reality |
WO2012001462A1 (en) * | 2010-06-30 | 2012-01-05 | Nokia Corporation | Method and apparatus for providing context-based power consumption control |
US20120065749A1 (en) * | 2010-09-13 | 2012-03-15 | Motorola Mobility, Inc. | Display of Devices on an Interface based on a Contextual Event |
CN101977244A (zh) * | 2010-09-21 | 2011-02-16 | 华为终端有限公司 | 一种控制方法、装置和系统 |
US9268367B2 (en) | 2010-10-13 | 2016-02-23 | Microsoft Technology Licensing, Llc | Use of low-power display on device |
US10026058B2 (en) | 2010-10-29 | 2018-07-17 | Microsoft Technology Licensing, Llc | Enterprise resource planning oriented context-aware environment |
US8521942B2 (en) * | 2011-03-21 | 2013-08-27 | Microsoft Corporation | HID over simple peripheral buses |
CA2824694C (en) * | 2011-03-24 | 2016-04-12 | Research In Motion Limited | System and method for providing notifications on a mobile device |
US9858342B2 (en) * | 2011-03-28 | 2018-01-02 | Doat Media Ltd. | Method and system for searching for applications respective of a connectivity mode of a user device |
US20130067401A1 (en) * | 2011-09-09 | 2013-03-14 | Sap Ag | Context sensitive extensions for existing applications |
US9285871B2 (en) | 2011-09-30 | 2016-03-15 | Microsoft Technology Licensing, Llc | Personal audio/visual system for providing an adaptable augmented reality environment |
US9253282B2 (en) | 2011-10-18 | 2016-02-02 | Qualcomm Incorporated | Method and apparatus for generating, using, or updating an enriched user profile |
US9922378B2 (en) * | 2011-12-27 | 2018-03-20 | Nokia Technologies Oy | Method and apparatus for providing intent-based monitoring using sensory information |
US9197733B2 (en) | 2012-02-21 | 2015-11-24 | Blackberry Limited | System and method for transferring data between electronic devices |
US8786517B2 (en) | 2012-02-21 | 2014-07-22 | Blackberry Limited | System and method for displaying a user interface across multiple electronic devices |
US9077813B2 (en) * | 2012-02-29 | 2015-07-07 | International Business Machines Corporation | Masking mobile message content |
US8886767B1 (en) * | 2012-03-16 | 2014-11-11 | Arris Enterprises, Inc. | Sharing resources in a local serving office |
CN102855110A (zh) * | 2012-07-25 | 2013-01-02 | 苏州佳世达电通有限公司 | 资讯提示装置及显示装置 |
US9183398B2 (en) * | 2012-09-20 | 2015-11-10 | Qualcomm Incorporated | Content-driven screen polarization with application sessions |
DE112013001305B4 (de) * | 2013-01-06 | 2024-08-22 | Intel Corporation | Ein Verfahren, eine Vorrichtung und ein System zur verteilten Vorverarbeitung von Berührungsdaten und Anzeigebereichsteuerung |
US20150046850A1 (en) * | 2013-05-30 | 2015-02-12 | Shuichi Kurabayashi | Multi-display system |
WO2015057586A1 (en) * | 2013-10-14 | 2015-04-23 | Yahoo! Inc. | Systems and methods for providing context-based user interface |
CN103763626B (zh) * | 2013-12-19 | 2017-11-21 | 华为软件技术有限公司 | 一种信息推送方法、设备和系统 |
CN105723355B (zh) * | 2013-12-20 | 2022-01-14 | 英特尔公司 | 可拆卸显示器 |
US9437159B2 (en) * | 2014-01-25 | 2016-09-06 | Sony Interactive Entertainment America Llc | Environmental interrupt in a head-mounted display and utilization of non field of view real estate |
US9699291B2 (en) * | 2014-08-25 | 2017-07-04 | Microsoft Technology Licensing, Llc | Phonepad |
CN104461839A (zh) * | 2014-11-17 | 2015-03-25 | 天津三星通信技术研究有限公司 | 在终端中显示关于终端运行情况的提示信息的设备和方法 |
US10789034B2 (en) * | 2014-11-28 | 2020-09-29 | Abhijit Rao | System for information display |
US10147421B2 (en) | 2014-12-16 | 2018-12-04 | Microcoft Technology Licensing, Llc | Digital assistant voice input integration |
US9389928B1 (en) | 2015-02-11 | 2016-07-12 | Microsoft Technology Licensing, Llc | Platform for extension interaction with applications |
US10133613B2 (en) * | 2015-05-14 | 2018-11-20 | Microsoft Technology Licensing, Llc | Digital assistant extensibility to third party applications |
CN107850928B (zh) * | 2015-07-13 | 2020-12-29 | 维提公司 | 用以从配电单元检索数据的方法及设备 |
US11133703B2 (en) | 2015-07-13 | 2021-09-28 | Vertiv Corporation | Method and apparatus to retrieve data from power distribution units |
US10845949B2 (en) | 2015-09-28 | 2020-11-24 | Oath Inc. | Continuity of experience card for index |
US10521070B2 (en) | 2015-10-23 | 2019-12-31 | Oath Inc. | Method to automatically update a homescreen |
US10831766B2 (en) | 2015-12-21 | 2020-11-10 | Oath Inc. | Decentralized cards platform for showing contextual cards in a stream |
US10318573B2 (en) | 2016-06-22 | 2019-06-11 | Oath Inc. | Generic card feature extraction based on card rendering as an image |
CN108182923B (zh) * | 2018-01-02 | 2020-06-05 | 京东方科技集团股份有限公司 | 在显示装置上显示图像的方法、显示装置和电子设备 |
DE102019106281A1 (de) * | 2019-03-12 | 2020-09-17 | tooz technologies GmbH | System, Verfahren, Computerprogramm, mobile Vorrichtung und Kit zum Betreiben einer Vorrichtung mit niedriger Rechenleistung |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4004277A (en) * | 1974-05-29 | 1977-01-18 | Gavril Bruce D | Switching system for non-symmetrical sharing of computer peripheral equipment |
US5363502A (en) * | 1990-06-08 | 1994-11-08 | Hitachi, Ltd. | Hot stand-by method and computer system for implementing hot stand-by method |
US5193064A (en) * | 1990-10-09 | 1993-03-09 | General Dynamics Corporation, Space Systems Division | Method and apparatus of integrating Global Positioning System and Inertial Navigation System without using accelerometers |
US5745105A (en) * | 1993-03-31 | 1998-04-28 | Samsung Electronics Co., Ltd. | Power saving apparatus and method of a monitor |
US5649023A (en) * | 1994-05-24 | 1997-07-15 | Panasonic Technologies, Inc. | Method and apparatus for indexing a plurality of handwritten objects |
US5818553A (en) * | 1995-04-10 | 1998-10-06 | Norand Corporation | Contrast control for a backlit LCD |
JPH0922339A (ja) * | 1995-07-05 | 1997-01-21 | Matsushita Electric Ind Co Ltd | 遠隔操作装置 |
US6094600A (en) | 1996-02-06 | 2000-07-25 | Fisher-Rosemount Systems, Inc. | System and method for managing a transaction database of records of changes to field device configurations |
US6281893B1 (en) * | 1996-04-04 | 2001-08-28 | Sun Microsystems, Inc. | Method and apparatus for providing an object oriented approach to a device independent graphics control system |
US5910799A (en) * | 1996-04-09 | 1999-06-08 | International Business Machines Corporation | Location motion sensitive user interface |
US5690214A (en) * | 1996-08-26 | 1997-11-25 | Innoversions International Inc. | Toothbrush storage device |
US6096096A (en) * | 1996-12-13 | 2000-08-01 | Silicon Graphics, Inc. | Web-site delivery |
US6035339A (en) * | 1997-03-13 | 2000-03-07 | At&T Corporation | Network information delivery system for delivering information based on end user terminal requirements |
KR100248048B1 (ko) * | 1997-06-30 | 2000-03-15 | 윤종용 | 보조디스플레이장치를구비한컴퓨터 |
EP0928953B1 (en) * | 1998-01-07 | 2009-08-26 | CLARION Co., Ltd. | Display control device and method for a navigation unit |
JPH11341121A (ja) * | 1998-05-28 | 1999-12-10 | Nec Corp | 移動無線機 |
US6370629B1 (en) * | 1998-10-29 | 2002-04-09 | Datum, Inc. | Controlling access to stored information based on geographical location and date and time |
US6347339B1 (en) * | 1998-12-01 | 2002-02-12 | Cisco Technology, Inc. | Detecting an active network node using a login attempt |
JP2000242202A (ja) * | 1999-02-19 | 2000-09-08 | Sony Corp | 情報提示システム及び情報提示方法 |
CN1327335C (zh) * | 1999-04-07 | 2007-07-18 | 基伯技术公司 | 带有载装于一可拆卸的手持机单元中的中央处理器的便携式计算、通讯和娱乐装置 |
JP2000322358A (ja) * | 1999-05-11 | 2000-11-24 | Fujitsu Ltd | データ表示装置及び情報表示のためのプログラムを記録した記録媒体 |
US6438577B1 (en) | 1999-07-01 | 2002-08-20 | Compaq Information Technologies Group, L.P. | Portable networked computer system |
JP4094777B2 (ja) * | 1999-07-15 | 2008-06-04 | 富士フイルム株式会社 | 画像通信システム |
US6415418B1 (en) * | 1999-08-27 | 2002-07-02 | Honeywell Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
JP2001101096A (ja) * | 1999-09-29 | 2001-04-13 | Sharp Corp | 電子メール着信通知装置 |
GB2357220B (en) * | 1999-12-10 | 2003-11-05 | Nokia Mobile Phones Ltd | A user interface |
US6720983B1 (en) | 2000-01-05 | 2004-04-13 | Hewlett-Packard Development Company, L.P. | Digital feedback display panel for communicating computer status information |
US7356570B1 (en) | 2000-08-29 | 2008-04-08 | Raja Tuli | Portable high speed communication device |
JP2001337812A (ja) * | 2000-03-23 | 2001-12-07 | Fujitsu Ltd | 状態表示制御装置及び電子装置並びに記憶媒体 |
AU2001249541A1 (en) | 2000-03-31 | 2001-10-15 | Palm Inc. | Information service and method |
US7213048B1 (en) * | 2000-04-05 | 2007-05-01 | Microsoft Corporation | Context aware computing devices and methods |
US7030837B1 (en) * | 2000-04-24 | 2006-04-18 | Microsoft Corporation | Auxiliary display unit for a computer system |
US7123212B2 (en) * | 2000-12-22 | 2006-10-17 | Harman International Industries, Inc. | Information transmission and display method and system for a handheld computing device |
US20020129006A1 (en) * | 2001-02-16 | 2002-09-12 | David Emmett | System and method for modifying a document format |
US20020133601A1 (en) | 2001-03-16 | 2002-09-19 | Kennamer Walter J. | Failover of servers over which data is partitioned |
US6694389B2 (en) * | 2001-03-19 | 2004-02-17 | Sun Microsystems, Inc. | Method and apparatus for data flow analysis |
JP2002281130A (ja) * | 2001-03-21 | 2002-09-27 | Nec Saitama Ltd | 移動体通信機 |
JP4385537B2 (ja) | 2001-03-21 | 2009-12-16 | 宇部興産株式会社 | 熱硬化性組成物 |
US6989801B2 (en) * | 2001-03-22 | 2006-01-24 | Koninklijke Philips Electronics N.V. | Two-way presentation display system |
TW523666B (en) * | 2001-03-30 | 2003-03-11 | Silitek Corp | Display data conversion device |
JP2002297508A (ja) * | 2001-03-30 | 2002-10-11 | Fujitsu Ltd | 情報処理装置、制御装置、記録媒体、およびプログラム |
JP2002335501A (ja) * | 2001-05-10 | 2002-11-22 | Mitsubishi Electric Corp | 携帯型表示装置 |
US20030006942A1 (en) * | 2001-07-05 | 2003-01-09 | Damion Searls | Ergonomic auxiliary screen and display subsystem for portable handheld devices |
US20030043110A1 (en) * | 2001-09-04 | 2003-03-06 | Airspeak | System and architecture of a personal mobile display |
US6944818B2 (en) * | 2001-09-10 | 2005-09-13 | Xerox Corporation | Method and apparatus for the viewing and exploration of the content of hierarchical information |
US7286112B2 (en) * | 2001-09-27 | 2007-10-23 | Fujifilm Corporation | Image display method |
JP2003110672A (ja) * | 2001-10-02 | 2003-04-11 | Sony Corp | 情報表示装置、方法、プログラムおよび該プログラムを記録した記録媒体 |
US7051196B2 (en) * | 2001-12-05 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Location-based security for a portable computer |
US20030115415A1 (en) | 2001-12-18 | 2003-06-19 | Roy Want | Portable memory device |
US6947772B2 (en) * | 2002-01-31 | 2005-09-20 | Qualcomm Incorporated | System and method for providing messages on a wireless device connecting to an application server |
US8763061B2 (en) * | 2002-02-13 | 2014-06-24 | Motorola Mobility Llc | Correlation of tuned channel information with internet web addresses |
US6912664B2 (en) | 2002-02-21 | 2005-06-28 | Hewlett-Packard Development Company, L.P. | Energy-aware software-controlled plurality of displays |
US7030737B2 (en) * | 2002-03-01 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Apparatus, system, and method for indicating a level of network activity |
EP2375690B1 (en) | 2002-03-01 | 2019-08-07 | Extreme Networks, Inc. | Locating devices in a data network |
KR20030080146A (ko) | 2002-04-04 | 2003-10-11 | 엘지전자 주식회사 | 패시브 매트릭스 구조를 갖는 유기 el 디스플레이장치의 스캔 방법 |
JP3910112B2 (ja) | 2002-06-21 | 2007-04-25 | シャープ株式会社 | カメラ付携帯電話機 |
US7024415B1 (en) | 2002-07-31 | 2006-04-04 | Bellsouth Intellectual Property Corporation | File conversion |
JP2004110681A (ja) * | 2002-09-20 | 2004-04-08 | Fuji Xerox Co Ltd | 表示制御装置、方法およびプログラム |
US7356706B2 (en) * | 2002-09-30 | 2008-04-08 | Intel Corporation | Personal authentication method and apparatus sensing user vicinity |
US7768234B2 (en) * | 2004-02-28 | 2010-08-03 | Janik Craig M | System and method for automatically synchronizing and acquiring content for battery powered devices |
JP2004302512A (ja) | 2003-03-28 | 2004-10-28 | Hitachi Ltd | クラスタコンピューティングシステム、および、そのフェールオーバー方法 |
JP4052163B2 (ja) * | 2003-03-28 | 2008-02-27 | 日本電気株式会社 | 携帯電話機、その表示制御方法及びプログラム |
US7047092B2 (en) * | 2003-04-08 | 2006-05-16 | Coraccess Systems | Home automation contextual user interface |
US7221331B2 (en) | 2003-05-05 | 2007-05-22 | Microsoft Corporation | Method and system for auxiliary display of information for a computing device |
US7240228B2 (en) * | 2003-05-05 | 2007-07-03 | Microsoft Corporation | Method and system for standby auxiliary processing of information for a computing device |
US7443971B2 (en) * | 2003-05-05 | 2008-10-28 | Microsoft Corporation | Computer system with do not disturb system and method |
WO2004104778A2 (en) * | 2003-05-19 | 2004-12-02 | Modular Computing & Communications Corporation | Apparatus and method for mobile personal computing and communications |
US7047339B2 (en) * | 2003-06-27 | 2006-05-16 | Intel Corporation | Computer system with detachable always-on portable device |
KR100475573B1 (ko) * | 2003-07-01 | 2005-03-14 | 삼성전자주식회사 | 휴대용 컴퓨터시스템 및 그 제어방법 |
KR100557092B1 (ko) * | 2003-08-29 | 2006-03-03 | 삼성전자주식회사 | 가변적인 보조표시영역을 디스플레이하는 휴대단말기 및그 방법 |
US20050066089A1 (en) | 2003-09-22 | 2005-03-24 | Jeyhan Karaoguz | Consumption based source throttling |
JP4644422B2 (ja) * | 2003-09-26 | 2011-03-02 | 元一 大川 | 携帯型電子機器 |
US20050073471A1 (en) | 2003-10-03 | 2005-04-07 | Uni-Pixel Displays, Inc. | Z-axis redundant display/multilayer display |
US20050192922A1 (en) * | 2004-02-27 | 2005-09-01 | Edlund Stefan B. | Client-server computing system capable of validating cached data based on data transformation |
US7152171B2 (en) * | 2004-04-28 | 2006-12-19 | Microsoft Corporation | Task-oriented processing as an auxiliary to primary computing environments |
US7558884B2 (en) * | 2004-05-03 | 2009-07-07 | Microsoft Corporation | Processing information received at an auxiliary computing device |
US7660914B2 (en) | 2004-05-03 | 2010-02-09 | Microsoft Corporation | Auxiliary display system architecture |
US7577771B2 (en) * | 2004-05-03 | 2009-08-18 | Microsoft Corporation | Caching data for offline display and navigation of auxiliary information |
-
2004
- 2004-05-03 US US10/837,894 patent/US7511682B2/en not_active Expired - Fee Related
-
2005
- 2005-04-28 JP JP2005131742A patent/JP4794205B2/ja not_active Expired - Fee Related
- 2005-04-28 EP EP05103493A patent/EP1594037A3/en not_active Withdrawn
- 2005-04-28 AU AU2005201789A patent/AU2005201789B2/en not_active Ceased
- 2005-04-29 RU RU2005113187/09A patent/RU2393532C2/ru not_active IP Right Cessation
- 2005-05-02 CA CA2506138A patent/CA2506138C/en not_active Expired - Fee Related
- 2005-05-02 BR BR0501589-8A patent/BRPI0501589A/pt not_active IP Right Cessation
- 2005-05-03 KR KR1020050037200A patent/KR101120845B1/ko not_active IP Right Cessation
- 2005-05-03 MX MXPA05004772A patent/MXPA05004772A/es active IP Right Grant
- 2005-05-08 CN CN2005100913256A patent/CN1722105B/zh not_active Expired - Fee Related
-
2009
- 2009-03-31 US US12/415,979 patent/US8188936B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1594037A3 (en) | 2012-03-14 |
US8188936B2 (en) | 2012-05-29 |
CN1722105A (zh) | 2006-01-18 |
EP1594037A2 (en) | 2005-11-09 |
US20050243019A1 (en) | 2005-11-03 |
US20100066642A1 (en) | 2010-03-18 |
KR101120845B1 (ko) | 2012-03-15 |
CA2506138A1 (en) | 2005-11-03 |
BRPI0501589A (pt) | 2006-01-10 |
US7511682B2 (en) | 2009-03-31 |
RU2393532C2 (ru) | 2010-06-27 |
CA2506138C (en) | 2012-01-03 |
AU2005201789B2 (en) | 2010-04-08 |
RU2005113187A (ru) | 2006-11-10 |
JP4794205B2 (ja) | 2011-10-19 |
JP2005327281A (ja) | 2005-11-24 |
CN1722105B (zh) | 2011-04-27 |
AU2005201789A1 (en) | 2005-11-17 |
MXPA05004772A (es) | 2005-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101120845B1 (ko) | 문맥?인식 보조 디스플레이 플랫폼 및 애플리케이션 | |
US7660914B2 (en) | Auxiliary display system architecture | |
JP4907964B2 (ja) | 補助ディスプレイの拡張可能なアーキテクチャ | |
JP5323304B2 (ja) | コンピュータシステムと補助ディスプレイの間でデータを交換するための方法およびシステム | |
US7784065B2 (en) | Interface for consistent program interaction with auxiliary computing devices | |
US7581034B2 (en) | Sending notifications to auxiliary displays | |
US7558884B2 (en) | Processing information received at an auxiliary computing device | |
KR20060047711A (ko) | 보조 정보의 오프라인 디스플레이 및 네비게이션을 위하여데이터를 캐싱하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |