KR20080071979A - 컴퓨팅 장치에서의 시스템 및 방법, 및 운영 체제 및/또는펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 - Google Patents

컴퓨팅 장치에서의 시스템 및 방법, 및 운영 체제 및/또는펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20080071979A
KR20080071979A KR1020087010564A KR20087010564A KR20080071979A KR 20080071979 A KR20080071979 A KR 20080071979A KR 1020087010564 A KR1020087010564 A KR 1020087010564A KR 20087010564 A KR20087010564 A KR 20087010564A KR 20080071979 A KR20080071979 A KR 20080071979A
Authority
KR
South Korea
Prior art keywords
experience
program
computer system
state
direct
Prior art date
Application number
KR1020087010564A
Other languages
English (en)
Inventor
라비팔 에스. 소인
비크람 마단
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080071979A publication Critical patent/KR20080071979A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

컴퓨팅 장치와 연결된 특수 구동 메커니즘의 검출 시에, 컴퓨터 시스템을 범용 동작 모드와 다른 모드에서 동작하도록 하는 기술이 설명된다. 예를 들어, 특수 하드웨어 버튼의 구동은, 구동 시에, 버튼에 대응되는 특수 프로그램을 개시함으로써, 절전 상태의 컴퓨터 시스템을 직접 경험으로 부팅 또는 다시 시작한다. 이로써, 컴퓨터 시스템은 특수 목적 장치와 같은 가전제품 장치, 즉 예를 들어, 전용 미디어 플레이어를 모방하는 모드에 들어간다. 직접 경험에 있을 때, 컴퓨터 시스템은 또한 제약된/샌드박스 모드에서 동작할 수 있는데, 이 모드에서 운영 체제는 범용 컴퓨터 시스템으로서 실행될 때 사용가능한 것보다 적게, 사용가능한 기능성을 제한하고, 예를 들어, 키보드 동작 및/또는 파일 액세스가 제한될 수 있다. 다른 구동 메커니즘들은 다른 모드에 대응될 수 있다.
직접 경험, 특수 목적 장치, 미디어, 구동 메커니즘, 애플리케이션

Description

컴퓨팅 장치에서의 시스템 및 방법, 및 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체{DIRECT COMPUTING EXPERIENCE}
몇몇 시나리오에서, 개인용 컴퓨터들, 특히 노트북 컴퓨터를 좀 더 미디어 재생 가전제품 장치(media playback consumer electronics device)와 같이 동작하도록 만들려는 업계의 움직임이 있다. 예를 들어, 소비자들은 빠른 부팅 시간(예를 들어, 10초 이하의 시간), 가전제품과 유사한(consumer electronics-like) 사용자 인터페이스 및 간단하고, 태스크-중심인(task-focused) 사용자 인터페이스를 원한다.
동시에, 노트북 컴퓨터의 가치 중 하나는 미디어 재생(media playback)의 형태로 엔터테인먼트 기능을 제공한다는 것이다. 예를 들어, 노트북 컴퓨터는 여행중에 DVD 플레이어의 역할을 할 수 있다. 그러나, 노트북은 전통적인 DVD 플레이어보다 훨씬 더 강력하며, 통상적으로 완전한 능력(fully-powered)의 운영 체제, 애플리케이션 프로그램 및 중요한 데이터를 포함한다. 어느 정도, 이것은 개인용 컴퓨터 시스템에서 가전제품과 유사한 사용자 경험을 제공하는 것과 상반된다.
<발명의 개요>
이 발명의 개요는 상세한 설명에서 상세히 설명되는 대표적인 개념들의 선택을 간략한 형태로 소개하기 위해 제공된다. 이 발명의 개요는 청구된 본 발명의 주요 특징 또는 본질적 특징들을 식별하기 위한 것이 아니며, 또한 청구된 본 발명의 범위를 제한하는 어떠한 방식으로도 사용되기 위한 것이 아니다.
간단히 말해서, 여기에 설명된 본 발명의 다양한 양상들은 컴퓨팅 장치와 연결된 특수 구동 메커니즘(special actuation mechanism)이 검출되었을 때, 컴퓨팅 장치를 특수한 컴퓨팅 경험(직접 경험(direct experience)이라 지칭됨)으로 개시(launching)시키는 것에 관한 것이다. 예를 들어, 전용 버튼, 원격 제어 장치 등은 예를 들어 특정 애플리케이션 프로그램을 개시함으로써, 다른 동작 모드(operating mode)를 일으킬 수 있다. 특수 구동 메커니즘은 대신 (또는 추가적으로) 장치로 하여금, 예를 들어, 제조업자 또는 최종 사용자에 정의된 것과 같은 제한된 동작들만이 실행될 수 있는 제약(constrained)된 모드, 또는 샌드박스(sandbox) 모드로 동작되도록 할 수 있다.
복수의 특수 구동 메커니즘이 존재할 수 있으며, 각각은 서로 다른 직접 경험에 대응될 수 있다. 예를 들어, 구동기(actuator)는 미디어 플레이어 프로그램, 개인 정보 관리 프로그램, 이메일 프로그램, 달력 프로그램, 미디어 센터-관련(media center-related) 프로그램, 또는 브라우징 프로그램 중 하나를 개시할 수 있다. 몇몇 또는 모든 프로그램들은 제약된 모드, 또는 샌드박스 모드에서 실행될 수 있다.
컴퓨팅 장치와 연결된 특수 구동 메커니즘이 구동되었다는 알림을 수신하면, 컴퓨터 시스템은 전용 장치와 유사할 수 있는 직접 경험에서 동작할 수 있다. 이러한 장치의 예로는, 미디어 플레이어 장치, 개인 정보 관리 장치, 시간 정보를 표 시하는 장치, 계산기, 미디어 센터 장치, 개인용 비디오 녹화기, 및 오디오 플레이어가 포함된다. 직접 경험은 종료되고, 컴퓨터 시스템을 범용 컴퓨터 시스템으로서 동작시키는 것을 포함하는 다른 경험이 시작될 수 있다.
다른 이점들은 이어지는 상세한 설명을 도면과 함께 이해함으로써 명백해질 것이다.
본 발명은 예로서 설명되며, 같은 참조 번호가 유사한 요소들을 나타내는 첨부된 도면들에 제한되지 않는다.
도 1은 본 발명의 다양한 양상들이 통합될 수 있는 범용 컴퓨팅 환경의 예를 도시한다.
도 2는 구동 중인 특수 구동 메커니즘의 검출에 기초하여 대상 애플리케이션 프로그램이 개시되어 컴퓨터 시스템을 특수한 경험에 진입시키게 하는 컴포넌트들을 포함하는 아키텍처에 대한 도면이다.
도 3은 복수의 특수 구동 메커니즘 중 하나가 구동되었을 때 대응하는 대상 애플리케이션을 선택하는 것에 대한 도면이다.
도 4는 구동 중인 특수 구동 메커니즘에 대한 응답으로 동작하는 에이전트에 대한 도면이다.
도 5는 컴퓨터 시스템을 특수화된 경험에 진입시키기 위해 태스크 스케줄러에 의해 에이전트가 시작될 때의 타이밍 및 동작들에 대한 도면이다.
도 6은 직접 미디어 경험에서 컴퓨터 시스템을 동작시키기 위한 워크플로의 예에 대한 도면이다.
예시적인 운영 환경
도 1은 본 발명이 구현되기에 적합한 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 환경(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본 발명은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 본 발명에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 개인용 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, 태블릿 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
본 발명은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 발명은 또한 통신 네트워크를 통해 연결 되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및/또는 원격 컴퓨터 저장 매체 둘 다에 위치할 수 있다.
도 1과 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함하지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standard Association) 로컬 버스, 그리고 메자닌 버스(Mezzanine bus)로도 알려진 PCI(Peripheral Component Interconnect) 버스를 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의 의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 1은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함한다. 단지 예로서, 도 1은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), CD- ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 1에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)를 위해, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다는 것이다. 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 태블릿(164), 또는 전자 디지타이저(electronic digitizer), 마이크(163), 키보드(162) 및 마우스, 트랙 볼(trackball) 또는 터치 패드와 같은 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 도 1에 도시되지 않은 다른 입력 장치로는 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속될 수 있다. 모니터(191)는 또한 터치 스크린 패널 기타 등등과 통합될 수 있다. 모니터 및/또는 터치 스크린 패널은, 태블릿-유형 개인용 컴퓨터에서와 같이, 컴퓨팅 장치(110)가 통합된 하우징(housing)과 물리적으로 연결될 수 있다는 것을 주의해야 한다. 또한, 컴퓨팅 장치(110)와 같은 컴퓨터는 스피커(195) 및 프린터(196) 등의 기타 주변 출력 장치도 포함할 수 있고, 이들은 출력 주변장치 인터페이스(194) 등을 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 도 1에는 메모리 저장 장치(181)만이 도시되었지만, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 1에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워 크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 1은 원격 애플리케이션 프로그램(185)이 메모리 장치(181)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
컴퓨터 시스템의 주요 부분들이 절전(low power) 상태에 있더라도, 프로그램 컨텐츠, 시스템 상태 및 이벤트 알림과 같은 데이터가 사용자에게 제공될 수 있도록, 보조 디스플레이 서브시스템(199)이 사용자 인터페이스(160)를 통해 접속될 수 있다. 보조 디스플레이 서브시스템(199)은 모뎀(172) 및/또는 네트워크 인터페이스(170)와 접속되어, 주요 처리 장치(120)가 절전 상태에 있는 동안 이 시스템들 사이의 통신을 가능하게 한다.
직접 컴퓨팅 경험
여기에 설명된 기술의 다양한 양상들은 (예를 들어, 도 1의 컴퓨터(110)에 기초할 수 있는) 노트북 컴퓨터 시스템이 범용 컴퓨터 시스템보다는 가전제품 장치와 같이 동작하는 모드 내로 진입할 수 있도록 하는 메커니즘을 제공하는 것에 관한 것이다. 예를 들어, 범용 개인용 컴퓨터로서 동작가능한 것에 더해, 여기에 설명된 기술을 통해 컴퓨팅 장치는, 간단한 디지털 시계, 계산기, 휴대용 DVD 플레이어, 또는 리치 미디어 센터 장치(rich Media Center device)와 같은 특수 목적 장치들의 전체 화면(full-screen), 이머시브(immersive) 시뮬레이션으로서 동작할 수 있다. 이들 특수 목적 장치들은 일반적으로 직접 경험으로 지칭되며, 여기서 사용자는 범용 컴퓨팅 장치를 통해 사용가능한 경험들과 다른 경험들에 직접 들어갈 수 있다. 일반적으로, 컴퓨팅 장치는 특정 컴퓨팅 경험에 직접 진입하게 되는 특수한 방식으로 임의의 감소 전원 상태(예를 들어, "하드-오프(hard-off)" 상태 또는 "소프트-오프(soft-off)" 휴지 상태(dormant state))로부터 깨워(waken)진다.
그러나, 이해되는 바와 같이, 여기에 설명된 다양한 양상들은 임의의 구체적 용도 또는 예들에 제한되지 않는다. 예를 들어, 여기에 예시된 한 아키텍처는 Windows®-기반 운영 체제, 및 ACPCI(Advanced Configuration and Power Interface, 구성 및 전력 관리를 위한 컴퓨터 업계 표준) 절전 상태(sleep state)에 대응되는 다양한 전원 상태로부터 개시될 수 있는 직접 경험 플랫폼과 관련하여 설명된다. 그러나 다른 운영 체제 및 전원 상태들이 사용될 수 있다. 이와 같이, 여기에 설명된 모든 예, 구조 및/또는 기능들은 제한적이지 않으며, 본 발명은 일반적으로 컴퓨팅 및 장치 사용에 있어 이득 및 이점을 제공하는 다양한 방식으로 사용될 수 있다.
설명을 위해, 동작하기 위한 또는 절전 상태에 있기 위한 ACPCI 표준은 예로서 사용될 것이며, "오프" 상태는, 하드-오프 상태(예를 들어, S5) 및 소프트-오프 상태(예를 들어, 무인 모드의 S3, S4, 및 S0 상태)를 포함하여, S0 작동 상태(working state)(여기에서 CPU는 코드를 실행함) 외의 임의의 절전 상태를 나타내고; 이러한 상태들을 위한 ACPCI 표준은 아래의 표에 일반적으로 제시된다.
ACPCI 전원 상태 의미
S0 작동 상태. CPU가 코드를 실행함.
S3 사용자의 세션을 유지하기 위해 주 메모리에 전력이 공급되는 일시정지 상태(suspend state)이지만, CPU는 코드를 실행하지 않는다. 이것은 사용자가 사용자 인터페이스에서 대기 모드(stand by)를 선택했을 때, 개인용 컴퓨터가 Windows®에 의해 놓이게 되는 전원 상태이다.
S4 디스크를 일시정지. 주 메모리 컨텐츠는 파일에 존속되고, 이 후에 컴퓨터 전원은 오프될 수 있고; 파일 컨텐츠는 다시 시작될 때 다시 주 메모리 내로 판독된다. 이것은 사용자가 사용자 인터페이스에서 최대 절전 모드(Hibernate)를 선택했을 때, 개인용 컴퓨터가 Windows®에 의해 놓이게 되는 전원 상태이다.
S5 개인용 컴퓨터는 전력을 전혀 받지 않으며 사용자의 세션은 사라진다. 이것은 사용자가 종료(shut down)를 선택했을 때, 개인용 컴퓨터가 Windows®에 의해 놓이게 되는 전원 상태이다.
직접 컴퓨팅 경험의 개념은 컴퓨터 사용자로 하여금 미디어 소비(media consumption) 또는 기타 장치 동작을 위해 매우 신속히 개인용 컴퓨터의 사용을 시작할 수 있도록 하며, 여기에는 개인용 컴퓨터가 부팅된 후 또는 대기 모드 또는 최대 절전 모드로부터 다시 시작될 때도 포함된다. 직접 경험에서, 개인용 컴퓨터는, 예를 들어, 전용 미디어 플레이어 또는 예를 들어, 휴대용 DVD 플레이어와 같은 기타 가전제품 장치처럼 동작할 수 있다. 이 때문에, 직접 경험 기반구조(infrastructure)는 개인용 컴퓨터를, 종료(S5), 최대 절전 모드(S4) 또는 대기 모드(S3)를 포함하는 임의의 휴지 모드로부터 시작하기 위해 보통 HID(Human Interface Device) 이벤트를 사용하며, DVD를 실행하기 위한 프로그램과 같은 애플리케이션을 즉시 개시할 수 있다. 설치(setup) 및 사용자의 선호(preferences)/설정에 따라, 사용자는 로그인을 해야하거나 하지 않을 수도 있다.
한 예시적인 아키텍처에서, 직접 경험 플랫폼 하드웨어는 하나 이상의 특수 목적 구동기 및 관련된 시스템 깨우기 회로(system wake circuitry)를 포함한다. 일반적으로, 구동기를 사용가능하게 하고, 시스템 깨우기 소스(즉, 구동기가 눌러짐)를 보존하기 위해 펌웨어(BIOS) 지원이 제공될 수 있다. 이는 ACPI 및 논-ACPI(non-ACPI) 펌웨어 지원 모두를 포함할 수 있다.
운영 체제 컴포넌트들은, 구동기 기능들을 열거하는 것, 및 플랫폼 펌웨어로부터 구동 이벤트 및 시스템 깨우기 이벤트를 검색하는 것을 지원하는 것뿐 아니라, 소비(consumption) 및 더 나아간 프로세싱을 위해 이들을 사용자 모드로 포워드(forward)하기 위해 확장될 수 있는 ACPI 드라이버 또는 이와 유사한 것 등과 같은 커널 모드 컴포넌트들을 포함할 수 있다. 일반적으로, 사용자 모드 컴포넌트는, 커널 직접 경험 구동기 드라이버로부터 시스템 깨우기 소스를 검색하고, (아마도) 사용가능한 직접 경험 구동기를 대상 애플리케이션과 매치(match)하기 위한 최종 사용자 구성을 위한 설비와 함께, 원하는 애플리케이션 프로그램을 개시하기 위한 사용자 모드 소프트웨어 컴포넌트, 및 구성 데이터를 포함한다.
도 2는 하드웨어 이벤트에 의해 개시되는(hardware event-initiated), 어플라이언스와 유사한(appliance-like) 경험들의 구축을 위해 직접 경험 운영 체제 컴포넌트(202)들이 제공될 수 있는, 일반적인 직접 경험 아키텍처/기반구조의 예시적 인 도면이다. 이 특정 예시적 구현에서, 컴포넌트는 구동기 핸들러 서비스(actuator handler service) 또는 다른 소비 에이전트(consuming agent)(204), HID(human interface device) 드라이버 장치 객체(driver device object)(206)(예를 들어, ACPIHID에 기초함)를 포함한다. 일반적으로 구동기 핸들러 서비스(204)는, 대상 애플리케이션이 선택되도록 임의의 구성 사용자 인터페이스를 제공하는 것, 커널 모드로부터 시스템 깨우기 소스를 요청하기 위해 드라이버(206)와 상호작용하는 것, 깨우기 소스에 기초하여 적절한 애플리케이션을 개시하는 것, 및 HID로부터의 신호(예를 들어, 버튼 누름 신호) 후에 어느 사용자 계정이 애플리케이션 개시를 지원해야할지를 결정하기 위해 논리를 구현하는 것에 책임이 있다.
일반적으로 및 아래에 설명되는 바와 같이, 이 예시적 구현에서, 직접 경험 이벤트는 (부분적으로) 특수 목적 구동 메커니즘(예를 들어, 버튼)(208)과 관련되며, 이 특수 목적 구동 메커니즘의 구동 이벤트는, 동일한 이벤트 또는 직접 경험 플랫폼(210)을 통해 라우팅(routed)된 대응되는 이벤트를 가지고 개인용 컴퓨터를 시작하거나 깨운다. 도 2는 HID 버튼/스위치/리모콘 형태와 같은 하나의 구동 메커니즘(208)만을 도시하지만, 여기에 설명된 바와 같이, 직접 경험 플랫폼은 시스템 상에 하나 이상의 복수 구동 메커니즘 또는 이와 유사한 것 등을 지원하도록 설계될 수 있음을 주의해야한다. 또한, 구동 메커니즘은, 예를 들어, 타이머 또는 기타 깨우기 수단(wake-up means)(예를 들어, 네트워크 활동 검출기(network activity detector), 전화 검출기(phone detector) 등)으로부터 시작된 프로세스 또는 이와 유사한 것 등일 수 있다.
일반적으로, 구동 메커니즘(208)은 컴퓨터 시스템의 칩셋 또는 내장된 컨트롤러(212)로 신호를 전송한다. 이로써, 직접 경험 플랫폼(210)은 통상적으로 하드웨어 제조업자(OEM)에 의해 제공되지만, 대신 제3자 벤더 또는 심지어 애드-온 장치(add-on device)에서와 같이, 운영 체제 벤더에 의해 제공될 수 있다. 칩셋/컨트롤러(212)에서의 신호 검출에 응답하여, ACPI 및/또는 기타 BIOS 펌웨어(214)는 깨우기 이벤트의 소스에 대응되는 데이터를 운영 체제 커널에 제공하고, 이로써 예를 들어, HID 드라이버 장치 객체(206)를 호출한다.
상술된 바와 같이, 통상적으로 구동(actuation)은 구동기 핸들러 서비스 또는 다른 소비 에이전트(204)가 미디어 플레이어와 같은 대상 애플리케이션 프로그램(220)을 개시하는 결과를 가져온다. 구현 세부사항에 따라서, 기계가 종료되는 프로세스 중에 있고 사용자가 직접 경험 구동기를 실행(hit)하는 경우에, 시스템은 여전히 종료될 수 있다. HID의 동작이 로그인 화면 또는 임의의 다른 시간에 발생하면, 사용자는 (요구되는 경우에) 로그인하고 난 후 직접 경험 모드에 들어갈 수 있다. 동작이 복수의 횟수로 발생하면, 애플리케이션은 한번 또는 복수의 횟수로 개시될 수 있고, 각 애플리케이션(또는 사용자 정책/선호 데이터(preference data))은 애플리케이션에 대한 복수의 호출을 어떻게 처리해야하는지를 지시할 수 있다.
따라서, 도 2에 도시된 바와 같이, 직접 경험 컴포넌트(204, 206, 및 214)들은 현존하는 ACPI 및 Windows® 드라이버 모델 프레임워크를 펌웨어/운영 체제 상호작용을 위해 사용할 수 있고, 필요한 경우에(예를 들어, 새로운 개인적 메소 드(private method), 장치 ID 등을 정의) ACPI 상에 구축할 수 있다. 운영 체제 직접 경험 컴포넌트(204 및 206)는 직접 경험 깨우기 및 구동 이벤트의 사용자 모드 소비자들과 통합되도록 설계된다. 주어진 운영 체제가 사용자 모드 컴포넌트 및/또는 그를 위한 지원을 포함하지 않는 경우, 직접 경험 커널 모드 컴포넌트(206)로의 인터페이스는, 제조업자 또는 기타 관심있는 제3자 벤더들이 그들 자신의 직접 경험 이벤트의 사용자 모드 소비자를 제공할 수 있도록 설계될 수 있다.
한 실시예는 직접 경험 기능에 특정한 새로운 하드웨어 구동기(예를 들어, 비-표준(non-standard) ACPI 버튼)를 사용하도록 설계될 수 있고, 여기서 직접 경험 모델은 현존하는 ACPI 버튼의 의미에 과부하(overload)를 주거나, 현존하는 ACPI 버튼을 다른 방식으로 사용하려고 하지 않는다. 또 다른 실시예는, ACPI 전원 버튼, 절전 버튼(sleep button), 덮개 스위치(lid switch), 또는 임의의 다른 ACPI 깨우기 소스(실시간 시계, WOL(wake on LAN) 등)를 포함하는 표준 ACPI-관련 버튼(예를 들어, 더블-구동(double-actuation), 누름-및-고정(press and hold) 등에 의해)을 공유할 수 있다. 이와 같이, 직접 경험(예를 들어, 특수 목적) 구동기는, 구동기가 반드시 물리적으로 분리된 엔티티라는 것을 의미하지 않으며, 또한 그것이 반드시 인간 상호작용(human interaction)에 의해 트리거(triggered)된다는 것을 의미하지 않는다.
상술된 바와 같이, 도 3에서 구동기(3081-308n)로 나타난 것과 같은 복수의 직접 경험 개시 구동기(direct experience launch actuator)가 있을 수 있다. 동 시에 또는 소정의 순서로 눌러진 복수의 구동기는 다른 의미들을 가질 수 있으며, 이것은, 동작 패턴뿐 아니라, 예를 들어, 미디어 디스크가 미디어 플레이어 안에 들었는가와 같은 다른 현재 상태 정보에 따라 복수의 의미를 갖는 하나의 전용 직접 경험 버튼을 갖는 것과 동등(equivalent)한 것이다. 따라서, 누름-및-고정 또는 (빠른) 2회-누름과 같은 동작 패턴들은 구별되어, 동일한 구동기로부터 서로 다른 애플리케이션 프로그램들이 개시될 수 있다.
동작들 중에서 특정 구동기(3081-308n)가 실행해야할 동작을 식별하기 위해(예를 들어, 어떤 특수 애플리케이션을 개시할지), 구동기 서비스(204)는 실행해야할 동작 또는 동작들을 알아내기 위해 시스템 레지스트리(system registry)(330)와 같은 데이터 저장소를 액세스할 수 있다. 예를 들어, 구동기 서비스(204)는 구동기 ID에 레지스트리 키를 생성하고, 레지스트리(330)를 통해 이를, 예를 들어, 대상 애플리케이션(220)을 결정하고 개시하기 위한 애플리케이션 식별자로 매핑할 수 있다. 애플리케이션을 개시하는 대신에, 데이터 저장소(예를 들어, 레지스트리(330))는 대신, 실행할 다른 동작을 지정하거나, 실행할 하나 이상의 추가적인 동작들을 지정할 수 있다. 하드웨어 제조업자, 벤더 또는 사용자는 실행할 동작 또는 동작들을 구성할 수 있다.
도 3에서 커널 코드(206)와 레지스트리(330) 간의 점선 화살표를 통해 나타난 바와 같이, 한 예시적인 구현에서, 커널 코드(206)는 시동 중에 BIOS로부터 제공된 정보에 기초하여 레지스트리(330)를 로드할 수 있다. 예를 들어, 직접 경험 기반구조는 HID 사양(specification)을 향상시켜, 기반구조가 각 직접 경험 구동기의 목적(예를 들어, 미디어 재생 버튼, 이메일 버튼 등)을 정의하기 위한 설명자를 제공할 수 있도록 하고; ACPI 드라이버는 이 HID 설명자들을 검색하고 레지스트리(330) 내의 알려진 위치에 저장함으로써, 이들을 사용자 모드 컴포넌트들에게 사용가능하게 한다. 대안적으로, 구동기 설명자는 사전에 레지스트리(330) 내에 저장될 수 있고(예를 들어, 장치 제조업자에 의해), 트리거된 구동기에 대응되는 애플리케이션 식별자를 결정하기 위해, 구동기 서비스 또는 다른 소비 에이전트(204)에 의해 실행 시간(runtime)에 액세스될 수 있다. 일반적으로, 예시된 직접 경험 기반구조는 구동기의 대상 애플리케이션 기능이 무엇인지에 대해 어떠한 가정을 하거나 어떠한 제한을 강요할 필요가 없고; 임의의 직접 경험 구동기는, 임의의 원하는 애플리케이션을 개시하거나 다른 동작을 수행하도록, 제조업자 등에 의해 지정되고/거나 최종 사용자에 의해 구성가능할 수 있다. 이것은 구동기 이벤트에 응답하여 시스템이 깨워지는 것 외에는 다른 동작을 수행하지 않는 것, 다르게는 운영 체제가 동작을 다시 시작한 후에 달리 동작을 수행하지 않는 것을 포함함에 유의해야 한다.
보다 바람직한 동작을 위해, 직접 경험 기반구조는 임의의 절전 상태로부터 깨우기뿐 아니라, S5 상태로부터 시스템 전원 켜기를 구현하는 구동기들을 지원한다. 구동기 및 기반구조는 S0로부터 실행 시간 이벤트로서 동작할 수도 있다. 예를 들어, 미디어 구동기는 시스템을 소프트 오프(ACPI S5)로부터 시작하는 것, 시스템을 절전 상태(ACPI S1-S4)로부터 깨우는 것, 및/또는 (ACPI S0 상태로부터) 실 행 시간 사용자 구동기 누름 이벤트에 대한 알림을 제공하는 것에 책임이 있다. 제조업자는 구체적 구현을 위해, 구동기가 오프 상태 또는 절전 상태로부터 전환되는가를 결정할 수 있다.
여기에 설명된 바와 같이, 이러한 미디어 구동기는 ACPI-호환가능 칩셋 상의 임의의 사용가능한 GPE(general purpose event)에 연결될 수 있고, 또는 대안적으로 내장된 컨트롤러의 GPE를 어서트(assert)하도록 프로그램될 수 있는, 랩톱의 내장된 (예를 들어, GPIO) 컨트롤러에 연결될 수 있다. 미디어 구동기는 연결될 수 있고, GPE는 실행 시간-전용(run-time-only) 이벤트가 아니라, 깨우기 이벤트로서만 기능하도록 프로그램될 수 있다. 직접 경험 기반구조는 운영 체제에 의해 다른 일반적인 플랫폼 깨우기 이벤트를 위해 이루어지는 절전 다시 시작(sleep resume) 이벤트 로깅(logging) 및 추적(tracing) 작업을 향상시킬 수 있다. 따라서, 시스템이 어떻게 구성되었는가에 따라 직접 경험은, 시스템이 S1-S4 절전 상태에 있을 때 구동되는 직접 경험 구동기를 통해 시작되거나, 또는 직접 경험 구동기가 실행 시간(예를 들어, 시스템이 S0 작동 상태에 있을 때) 중에 눌렸을 때 시작될 수 있다. 수행되는 동작은 직접 경험 구동기가 눌렸을 때의 컴퓨터 시스템의 상태에 따라 다를 수 있다.
직접 경험 구동기의 동작을 검출함과 동시에 즉시 애플리케이션이 개시될 수 있다. S3로부터 개시를 촉진하기 위한 한 방법은, 자동으로 또는 기록 데이터(historical data)를 유지함으로써, 더 나은 다시 시작 경험(resuming experience)을 제공하기 위해 특수한 다시 시작(special resumes)들을 예 상(anticipate)하는 것이다. 예를 들어, 사용자가 대기 모드 절전 상태에 들어가면 특수 목적 프로그램(또는 프로그램들)은, 대기 모드 이벤트로부터의 다시 시작이 직접 경험 이벤트라는 예상에 따라, 자동으로 메모리에 배치될 수 있고, 이로써, 사용자가 적절한 구동기를 통해 다시 시작을 할 경우에, 애플리케이션은 다시 시작시에 이미 메모리에 있게 된다. 마찬가지로, 시스템이 최대 절전 모드에 있을 때, 예를 들어, 메모리 컨텐츠가 최대 절전 모드 파일 내의 디스크로 전송되기 전에, 특수 목적 프로그램(또는 프로그램들)은 최대 절전 모드로부터의 다시 시작이 직접 경험 다시 시작이라는 예상에 따라 자동으로 메모리에 배치될 수 있다. 대안적으로, 최대 절전 모드 파일은, 직접 경험 다시 시작 시를 포함하여, 다시 시작 시에 자동으로 로드될 수 있고, 이때, 대응되는 직접 경험-트리거 프로그램(direct experience-triggered program)은 자동으로 로드되고 실행된다.
한 동작은 특정 구동기에 대해 로그인을 요구하고, 성공적인 로그인에 따라 애플리케이션을 개시(또는 어쩌면 성공적이지 않은 로그인에 따라 다른 애플리케이션을 개시)하는 것일 수 있다는 것을 주의해야 한다.
직접 경험으로 시스템을 실행할 경우, 시스템은 특정 동작들만이 발생할 수 있는 제약된/샌드박스 모드에서 동작될 수 있고, 예를 들어, 키보드는 효과적으로 잠금되는 것(어쩌면 샌드박스 모드를 종료(exit)할 수 있도록 하는 패턴을 제외하고), 파일 시스템은 액세스될 수 없는 것(어쩌면 특별히 명시된 미디어 컨텐츠를 제외하고) 기타 등등이 있다. 이것은 어느 구동기가 눌렸는가에 좌우될 수 있고, 또한 로그인이 요구되었는가에 따라 좌우될 수 있다. 예를 들어, 사용자가 다시 시작하지만(개별 직접 경험 구동기보다는 어쩌면 현존하는 ACPI 버튼을 통해 다시 시작하는 것을 포함) 완전한 범용 동작을 위한 정확한 암호를 제공하지 않으면, 컴퓨터 시스템은 키보드 동작 및 파일 액세스가 없거나 제한된 미디어 플레이어로서만 동작할 수 있다. 다시 말해, 컴퓨터 시스템은 적절한 로그인의 실패가 직접 경험 구동의 한가지 유형으로 고려되도록 구성될 수 있다.
하나 이상의 적절하게 구성된 특수 목적 구동기를 통해 운영 체체를 시작하는 기타 논-미디어(non-media) 예로는 게임 프로그램을 시작하는 것, 개인 정보 관리 프로그램을 시작하는 것, 장치를 시작하는 것 기타 등등이 포함된다. 또한, 특수 목적 동작은 명시적 또는 물리적으로 식별할 수 있는(discernable) 구동기 없이 시작될 수 있으며, 예를 들어, 특정 DVD 영화를 로드함으로써, 덮개(lid)를 특정 양만큼 여는 것을 통해 기타 등등이 있다. 본질적으로 컴퓨터 시스템에 의해 구별가능한 임의의 트리거 메커니즘은 직접 경험이 시작되도록 하는 결과를 가져올 수 있다.
한 구현에서, 직접 경험 구동기 누름 이벤트는, 예를 들어, 커널 이벤트 알림 시스템 알림(kernel event notification system notification)을 이용하는 커널 전력 관리자(kernel power manager)로부터와 같이, 현존하는 커널 이벤트 알림들을 이용하여 노출될 수 있다. 직접 경험 구동기를 위한 커널 이벤트 알림 시스템 알림은 구동기 이벤트의 타임스탬프(timestamp)(ACPI 드라이버가 플랫폼 ACPI 소스 언어, 또는 ASL로부터 알림을 수신한 시간), 직접 경험 구동기의 인스턴스 ID 또는 다른 식별자, 및 구성 정보, 상태 정보 또는 사용자 모드 컴포넌트들에게 잠재적 관심의 대상인 기타 정보와 같은, 추가적인 정보를 포함하는 하나 이상의 플래그와 같은 다양한 데이터를 포함할 수 있다.
쉽게 이해되는 바와 같이, 여기에 설명된 예시적인 구현들은 컴퓨터 시스템으로 하여금 대기 모드(예를 들어, ACPI S3), 최대 절전 모드(예를 들어, ACPI S4) 및 종료(예를 들어, ACPI S5)를 포함하는 오프 상태로부터 시작될 수 있도록 하고, 최종 사용자 경험을 개시하며, 이는 통상적으로 시스템을 시작하기 위해 사용되는 특정 구동 메커니즘 특유의 애플리케이션이다. 예를 들어, 시스템 설계자들은 섀시 패널(chassis panel) 또는 무선 리모콘을 통해 미디어-관련 버튼과 같은 소비자-친화적(consumer-friendly) 액세스 버튼을 추가할 수 있다. 이 구동 메커니즘들은 시스템을 오프 상태로부터 시작하거나 시스템을 절전 상태로부터 깨우고, 미디어 재생 모드와 같은 특정 목적(dedicated)의 경험에 들어가기 위한 것이다. 보통, 절전 모드로부터 다시 시작하는 것은, 운영 체제가 중지되었을 때의 상태 및 컨텍스트로 시스템을 되돌리며, 오프 상태로부터 시스템을 부팅하는 것은, 사용자 계정 및 암호 구성에 따라, 로그인 또는 사용자의 데스크톱 화면을 제공한다. 그러나, 미디어 재생을 제공하도록 설계된 시스템들에 대해 요구되는 대안적인 경험은, 특수 목적 구동기를 통해 컴퓨터를 시작하거나 깨우고, 즉시 (시스템이 실행되자마자) 사용자에게 미디어 플레이어, 전용 미디어 셸(dedicated media shell), 또는 다른 애플리케이션 프로그램을 제공하는 것일 수 있다.
한 일반적인 예에서, 플랫폼의 BIOS 지원은 ACPI 및 논-ACPI 펌웨어를 포함하며, 시스템의 BIOS 펌웨어는 ACPI 내의 직접 경험 구동기 객체 또는 객체들을 선 언(declaring)하는 것, 구동기의 ACPI 구성 및 동작 지원을 제공하는 것, 예를 들어, ACPI 절전 모드 또는 S5 상태로부터의 깨움을 위해 구동기를 갖추는(arming) 것과 같이, 특수 목적 구동기를 정확하게 사용가능하게 하는 것, 및 시스템 깨우기 또는 시동 구동기 누름(startup actuator press)을 캡처하고 정확하게 식별하는 것에 책임이 있다. BIOS는 또한 (예를 들어, ACPI S4 또는 S5 상태로부터의) ACPI 전환(transition)들 상에서 깨우기 소스 이벤트를 보존하고, 구동기 장치를 위해 표준 ACPI 장치 구성, 메소드, 및 이벤트 지원을 제공하고, 구동기의 의도된 기능을 검색하기 위한 방법을 제공할 수 있다.
깨울 전환의 소스(source of transition)를 결정하기 위해 운영 체제를 사용가능하게 하기 위해서, 하드웨어 또는 펌웨어는 깨우기 이벤트의 소스를 검출 및 저장하여 나중에 복귀될 수 있도록 한다. 한 구현에서, 이어지는 구동기 이벤트들은 최초의 깨우기 소스(wakeup source)를 덮어쓰지 않는다는 것을 주의해야 한다. 또한, 이 특정 예시 구현에서, ACPI 드라이버는 ACPI 네임스페이스(namespace)에 설명된 각 고유 구동기 장치를 위해 HID 설명(description)을 검색하고, 이를 구동기 서비스 또는 사용자 모드 컴포넌트(204)들에게 사용가능하게 한다는 것을 주의해야 한다. ACPI 드라이버는 플랫폼의 ACPI 네임스페이스로부터 발급된 실행 시간 및 깨우기 알림 이벤트들을 처리하고, 커널 전력 관리자와 상호작용하여 직접 경험 동작 이벤트의 커널 이벤트 알림 시스템 알림을 발급한다. 동작 또는 깨우기 이벤트들은 플랫폼 펌웨어로부터 ACPI 알림 코드(ACPI Notify code)를 사용하는 구동기 드라이버로 전달될 수 있다. ACPI 드라이버는 관심있는 소비자들에게 커널 이벤트 알림 시스템 알림 메커니즘을 사용하여 직접 경험 이벤트들을 알릴 수 있다는 것을 주의해야한다.
직접 경험 이벤트들을 따르는 데 관심이 있는 시스템 소프트웨어 컴포넌트는 커널 이벤트 알림 시스템 API 또는 이와 유사한 것 등을 사용하는 직접 경험 알림을 위해 등록할 수 있다. 예를 들어, 구동기 서비스(204)(도 2)가 구동기 유형을 인식하고 그 유형의 동작 이벤트들에 대해 동작을 실행하도록 구성되었다면, 구동기 서비스(204)는 커널 이벤트 알림 시스템을 통해 직접 경험 구동기 이벤트의 알림을 위해 등록한다.
한 실시예에서, 사용자의 자격 증명(credential)이 바이패스되거나 다른 방식으로 우회(circumvent)되지 않는다는 것을 보장함으로써 운영 체제의 보안이 유지되며, 이로써 컴퓨터 시스템에 대한 권한이 없는 액세스를 막는다. 예를 들어, 도 4는 절전 상태로부터 다시 시작을 일으키는 버튼 누름(단계 434)뿐 아니라, 사용자가 이미 로그인되어 있는 상태에서 데스크톱에서 발생할 수 있는 버튼 누름(단계 438)을 도시한다. 도 4에 나타난 바와 같이, 사용자 에이전트는 (직접 경험을 지원하고자 하는) 로그인된 사용자의 자격 증명을 가지고 로그인된 사용자 아래에서 실행될 수 있다. 절전 상태로부터 깨워졌을 때(단계 434) 또는 에이전트가 사용가능한 데스크톱이 포커스(focus)를 얻었을 때(단계 438), 에이전트는, 에이전트가 실행되고 있는 사용자 계정의 데스크톱이 언제 활성화되는지를 검출한다. 계정이 활성화되면, 단계 440에서 에이전트는 커널 드라이버와 통신하여 시스템 깨우기 또는 전원 켜기 소스(power-on source)(예를 들어, 어느 구동기를 눌러야 할지)를 결정하고, 그 구동기 및 그 사용자에 대한 직접 경험 애플리케이션을 개시한다(단계 444).
도 5에 나타난 바와 같이, 예시적인 직접 경험 사용자 에이전트(540)는 사용자 로그인 시에 태스크 스케줄러(542)에 의해 시작될 수 있다. 사용자 에이전트(540)는 임의의 직접 경험이 푸시(push)될 때마다 통보받기 위해 커널 이벤트 알림 시스템(544)에 등록한다. 한 예시적인 설계에서, 사용자 에이전트(540)는 (로드된 COM 컴포넌트들과 통신하기 위해 태스크 스케줄러에 의해 사용되는) ITaskHandler 인터페이스를 지원하는 (태스크 스케줄러에 의해 로드된) 인-프로세스(in-process) COM 컴포넌트로서 구현된다. 도 5에 나타난 바와 같이, 사용자 에이전트(540)는 사용자가 로그인 할 때(로그인 이벤트) 태스크 스케줄러(542)에 의해 시작된다. 태스크 스케줄러(542)는 ITaskHandler::Start 메소드를 호출한다. 사용자 에이전트(540)가 시작되면, 이는 개별 작업자 스레드(worker thread)(546)를 생성하고, 태스크 스케줄러(542)에 의해 요구되는 바와 같이, 태스크 스케줄러(542)에게 제어를 반환한다.
작업자 스레드(546)는 커널 이벤트 알림 시스템(544)으로부터 전원 설정 변경 알림을 수신하는 데 사용되는 숨겨진 윈도를 생성할 수 있다. 윈도가 생성된 후, 윈도는 레지스트리(330)로부터 필요한 정보를 검색하여 활성화된 메커니즘(예를 들어, 버튼)과 개시할 애플리케이션 사이에 매핑을 제공한다. 예를 들어, 제1 레지스트리 위치는 시동 중에 ACPI에 의해 펌웨어로부터 채워질 수 있고, 이로써 구동기 식별자(예를 들어, 버튼 ID)와 하나 이상의 다른 식별자(예를 들어, 용도 ID(UsageID)) 사이에 맵을 제공한다. 제2 위치는 용도 식별자를 개시할 애플리케이션에 매핑하기 위해 제조업자들에 의해 채워진다. 사용자 에이전트(540)는 두 위치 모두 판독하고 구동기 식별자와 개시할 애플리케이션 사이에 매핑을 생성한다.
다음, 사용자 에이전트(540)는 직접 경험 구동기에 대한 알림을 수신하기 위해 자신을 커널 이벤트 알림 시스템(544)에 등록할 수 있다. 운영 체제가 직접 경험 구동기 중의 하나를 누른 것에 대한 응답으로 시작되었다면, 사용자 에이전트(540)는 등록되자마다 알림을 수신하고, 메시지 루프(message loop)에 들어가 커널 이벤트 알림 시스템(544)으로부터의 알림 이벤트를 기다린다.
사용자 에이전트(540)가 커널 이벤트 알림 시스템(544)으로부터 알림을 수신하면, 사용자 에이전트(540)는, 컴퓨터 시스템 관리자들이 국부적으로 구성된 직접 경험 비헤비어를 오버라이드(override)하기 위해 지정할 수 있는, 그룹 정책 설정과 같은, 다른 시스템 설정들의 존재를 확인할 수 있다. 존재하지 않으면, 사용자 에이전트(540)는 알림의 타임스탬프를 확인할 수 있다. 메시지 페이로드(message payload) 내의 타임스탬프가 레지스트리(330)에 저장된 타임스탬프 값보다 최근의 것이면, 사용자 에이전트는 어느 구동기가 눌렸는지를 결정하고 그 구동기와 관련된 애플리케이션을 개시한다. 예를 들어, 커널 이벤트 알림 시스템(544)은 자신의 메시지로 구동기 식별자를 제공하고, 다음, 사용자 에이전트(540)는 이를 이전에 로드된 구동기-대-애플리케이션 매핑에 비교하여 어느 애플리케이션을 개시할지를 결정한다. 애플리케이션이 개시된 후, 사용자 에이전트(540)는 계속 활성화되어 있으면서 커널 이벤트 알림 시스템(544)으로부터의 다른 알림들을 기다린다. 사용자 에이전트(540) 상의 특정 정지 메소드(예를 들어, ITaskHandler::Stop 메소드)가 호출되면, 사용자 에이전트(540)는 다른 메소드 호출에 의해 다시 시작되지 않는 한, 그리고 다른 메소드 호출에 의해 다시 시작될 때까지 정지된다.
따라서, 이 예에서 사용자 에이전트(540)는 시동 시에 개시하기 위해서는 태스크 스케줄러(542)에 좌우될 뿐 아니라, 직접 경험 구동기가 검출되었을 때 이를 알리기 위해서는 커널 이벤트 알림 시스템(544)에 좌우되며, 어쩌면 그룹 정책 설정들에 좌우된다(예를 들어, 사용자 에이전트(540)는 적절한 설정 없이 개시하지 않을 수 있음). 사용자 에이전트(540)는 또한 직접 경험 구동기(들) 및 직접 경험 이벤트에 응답하여 개시될 관련된 애플리케이션(들)을 위한 데이터를 포함하는 레지스트리(330)에 좌우된다.
도 6은 직접 미디어 워크플로의 예를 도시하며, 이는 특수 미디어 프로그램과 관련된 직접 경험 구동기(DEX 버튼)가 기계를 깨울 때 옵션을 포함한다(단계 600). 나타난 바와 같이, 선택적인 초기 디스플레이(단계 602)에 따라, 예를 들어, 단계 604에 의해 예시된 바와 같이 시스템 설정 및 사용자 선호/설정에 의해 요구되는 경우, 단계 606에서 사용자는 로그인 정보를 입력하도록 프롬프트(prompt)될 수 있다. 로그인 요구는 어느 구동기가 눌렸는지에 따라 좌우될 수 있는데, 즉, 예를 들어, 한 구동기에 대해서는 로그인이 필요하고, 다른 것에 대해서는 필요하지 않다.
이 예시적인 구성에서, 사용자는 로그인할 필요가 없고, 사용자가 로그인하 지 않으면, 단계 610에서 구동기 핸들러(204)는 자동으로 미디어 플레이어 애플리케이션을 개시한다. 단계 612에서, 미디어 플레이어 애플리케이션은 재생할 미디어를 찾고, (미디어가 찾아졌다고 가정하고) 단계 620에서 미디어를 재생한다. 시스템은 미디어 플레이어 애플리케이션을, 예를 들어, DVD/CD만을 위해 최적화된, 전체 화면으로 개시할 수 있음을 주의해야 한다. 또한, 단계 612로부터의 점선에 의해 표시된 바와 같이, 시스템은 처음에 샌드박스 모드에 진입할 수 있고, 이는 단계 616을 통해 나타나고 위에서 설명된 바와 같다.
이벤트에서 사용자는 성공적으로 로그인하고, (시스템이 달리 로그인을 바이패스하도록 구성된 경우) 단계 614에서 시스템은, 이 예시적인 구성에서, 대신에 (Microsoft® 미디어 센터 셸과 같은) 전용 미디어 환경과 함께, 예를 들어, 전체 화면 또는 최대화 윈도 모드(maximized window mode)로 개시될 수 있고, 이는 제조업자 또는 사용자에 의해 지정가능(customizable)하다. 다시, 구성에 따라, 시스템은, 단계 616을 통해 나타나고 위에서 설명된 바와 같이, 제약된 모드 또는 샌드박스 모드에서 동작될 수 있다.
미디어 재생에 이어, 사용자는 직접 경험을 종료하고 컴퓨터 시스템을 범용 컴퓨터로서 동작하기를 원할 수 있다. 이전에 적절한 자격 증명을 가지고 사용자가 로그인했을지라도, 사용자는 예를 들어, 단계 624에서 개인 식별 번호를 입력함으로써, 단계 622에서 시스템을 (예를 들어, 샌드박스 모드로부터) 잠금 해제하도록 요구될 수 있다. 예를 들어, 샌드박스 모드에서, 미디어 센터 셸은 특정 파일들을 삭제할 수 없는 것을 제외하고 완전히 기능(fully functional)할 수 있다.
도 6에 도시되지 않은 다른 예시적인 미디어-관련 옵션들은 (라이센스된 및 라이센스되지 않은 파일, 사진, 재생 목록 기타 등등을 포함하는) 미디어 라이브러리로부터 다양한 컨텐츠 유형을 브라우징하고 재생하는 것, 및 로그인된 사용자와 관련되거나 컴퓨터 시스템의 다른 사용자들 또는 컴퓨터 시스템의 네트워크 또는 인터넷 상의 다른 사용자들에 의해 공유되는 음악을 브라우징하고 듣는 것을 포함한다.
본 발명은 다양한 변경 및 대안적인 구조들을 포함하지만, 몇몇 설명된 실시예들은 도면으로 도시되며 위에서 상세하게 설명되었다. 그러나, 본 발명을 개시된 특정 형태들로 제한하려는 의도가 없으며, 반대로, 이 의도는 본 발명의 정신 및 범위 내에 포함되는 모든 변경, 대안적인 구조, 및 균등물을 포괄하기 위한 것이다.

Claims (19)

  1. 컴퓨팅 장치에서의 시스템으로서,
    상기 컴퓨팅 장치와 연결된 직접 경험 구동 메커니즘(direct experience actuation mechanism)을 검출하고 직접 경험 구동에 대한 표시(indication)를 제공하는 검출 컴포넌트;
    구동(actuation)의 검출 시에 운영 체제의 적어도 일부를 실행하도록 상기 컴퓨팅 장치를 깨우기 위한, 상기 검출 컴포넌트와 연결된 깨우기 메커니즘(wake mechanism); 및
    상기 검출 컴포넌트 및/또는 상기 깨우기 메커니즘과 연결되고, 상기 직접 경험 구동에 대한 상기 표시를 수신하고, 상기 구동 메커니즘에 대해 직접 컴퓨팅 경험과 대응되는 프로그램을 개시하는 것을 포함하여 상기 컴퓨팅 장치를 범용 컴퓨팅 경험 대신 직접 컴퓨팅 경험으로 개시(launch)하기 위한 프로그램 컴포넌트
    를 포함하는 시스템.
  2. 제1항에 있어서,
    상기 구동 메커니즘은 하드웨어 버튼(hardware button)을 포함하는 시스템.
  3. 제1항에 있어서,
    상기 구동 메커니즘은 HID(human interface device)를 포함하고, 상기 검출 컴포넌트는 상기 HID와 연결된 하드웨어 칩셋, 및 상기 칩셋에 연결된 펌웨어를 포함하고/거나, 상기 HID와 연결된 컨트롤러(controller) 및 상기 컨트롤러와 연결된 펌웨어를 포함하는 시스템.
  4. 제1항에 있어서,
    상기 프로그램 컴포넌트는 서비스 또는 에이전트(agent)와 연결된 드라이버 객체(driver object)를 포함하는 시스템.
  5. 제4항에 있어서,
    상기 컴퓨팅 장치는 복수의 직접 경험 구동 메커니즘들과 연결되고, 상기 직접 경험 구동에 대한 상기 표시는 어느 구동 메커니즘이 활성화되었는지에 대한 식별자를 포함하고, 상기 프로그램 컴포넌트는 상기 식별자에 기초하여 프로그램을 결정함으로써, 해당 구동 메커니즘에 대한 직접 컴퓨팅 경험에 대응되는 프로그램을 개시하는 시스템.
  6. 제5항에 있어서,
    상기 개시된 프로그램은, 미디어 플레이어 프로그램, 개인 정보 관리 프로그램, 이메일 프로그램, 달력 프로그램, 미디어 센터-관련 프로그램, 또는 브라우징 프로그램 중 하나를 포함하는 시스템.
  7. 제1항에 있어서,
    상기 깨우기 메커니즘은 상기 컴퓨팅 장치를 깨우도록 구성되고, 상기 프로그램 컴포넌트는 상기 컴퓨팅 장치를, 하드-오프 상태(hard-off state) 또는 소프트-오프 상태(soft-off state)를 포함하는 임의의 오프 상태로부터 직접 컴퓨팅 경험으로 개시하도록 구성된 시스템.
  8. 컴퓨팅 장치에서의 방법으로서,
    상기 컴퓨팅 장치와 연결된 직접 경험 구동 메커니즘이 구동(actuated)되었다는 알림(notification)을 수신하는 단계; 및
    상기 알림에 대한 응답으로, 상기 컴퓨터 시스템을 부팅 또는 다시 시작(resuming)하고, 상기 컴퓨터 시스템이 범용 컴퓨터 시스템으로서 동작하도록 부팅 또는 다시 시작되었을 때 개시되지 않는 적어도 하나의 특정 애플리케이션 프로그램을 부팅 또는 다시 시작 시에 개시하는 것을 포함하여, 상기 컴퓨터 시스템을 범용 컴퓨터 시스템으로서 동작시키는 것과 다른, 직접 경험으로 상기 컴퓨터 시스템을 동작시키는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 특정 애플리케이션 프로그램을 개시하는 것은, 어느 애플리케이션을 개시해야할지를 결정하기 위해 데이터 저장소 내의 정보를 액세스하는 것을 포함하는 방법.
  10. 제9항에 있어서,
    펌웨어로부터 어느 애플리케이션을 개시해야할지를 결정하는 상기 정보를 획득하고, 상기 정보를 상기 데이터 저장소에 기입하는 단계를 더 포함하는 방법.
  11. 제8항에 있어서,
    상기 직접 경험에서 상기 컴퓨터 시스템을 동작시키는 단계는, 상기 컴퓨터 시스템이 범용 컴퓨터 시스템으로서 동작하도록 부팅 또는 다시 시작되었을 때보다 더 적은 기능성을 갖는 샌드박스 모드(sandbox mode) 내로 상기 컴퓨터 시스템을 진입시키는 단계를 더 포함하는 방법.
  12. 제8항에 있어서,
    상기 직접 경험을 종료하고 상기 컴퓨터 시스템을 범용 컴퓨터 시스템으로서 동작시키는 단계를 더 포함하는 방법.
  13. 제8항에 있어서,
    상기 직접 경험을 종료하고 상기 컴퓨터 시스템을 또 다른 경험으로 진입시키는 단계를 더 포함하는 방법.
  14. 제8항에 있어서,
    상기 컴퓨터 시스템을 부팅 또는 다시 시작하는 단계는, 하드-오프 상태 또는 소프트-오프 상태를 포함하는 임의의 오프 상태로부터 부팅 또는 다시 시작하는 단계를 포함하는 방법.
  15. 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체로서, 상기 운영 체제 및/또는 펌웨어는,
    온 상태와, 소프트-오프 상태를 포함하는 오프 상태 사이에서의 상기 운영 체제의 이동을 관리하기 위한 전력 관리 유닛(power management unit) -상기 전력 관리 유닛은 하드웨어 컨트롤의 구동에 응답하여 상기 운영 체제를 오프 상태로부터 온 상태로 옮김-, 및
    상기 전력 관리 유닛이 상기 하드웨어 제어의 사용자 동작을 검출했을 때 상기 전력 관리 유닛으로부터 알림을 수신하도록 구성되고, 상기 알림에 대한 응답으로 상기 운영 체제로 하여금 상기 하드웨어 제어에 대응되는 애플리케이션을 능동적으로 실행하고 표시하도록 하는 애플리케이션 개시 유닛(application launch unit)
    을 포함하는, 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    사용가능한 기능성을 상기 운영 체제가 제한하는 샌드박스 모드에서 애플리케이션이 개시되는, 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 운영 체제는, 사용자에게 추가적인 입력 데이터를 입력할 수 있도록 함으로써 상기 사용자가 상기 운영 체제를 샌드박스 모드 밖으로 전환시킬 수 있게 하도록 구성된, 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체.
  18. 제15항에 있어서,
    상기 오프 상태들은, 대기 모드(standby state), 하드-오프 상태, 및 최대 절전 모드(hibernation state)를 포함하는, 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체.
  19. 제15항에 있어서,
    상기 운영 체제는 상기 하드웨어 제어의 ID에 기초하여 상기 애플리케이션을 식별함으로써 상기 애플리케이션을 실행하도록 구성된, 운영 체제 및/또는 펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체.
KR1020087010564A 2005-10-31 2006-10-20 컴퓨팅 장치에서의 시스템 및 방법, 및 운영 체제 및/또는펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 KR20080071979A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US73180605P 2005-10-31 2005-10-31
US60/731,806 2005-10-31
US11/449,442 US7707400B2 (en) 2005-10-31 2006-06-07 Direct computing experience
US11/449,442 2006-06-07

Publications (1)

Publication Number Publication Date
KR20080071979A true KR20080071979A (ko) 2008-08-05

Family

ID=37998162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087010564A KR20080071979A (ko) 2005-10-31 2006-10-20 컴퓨팅 장치에서의 시스템 및 방법, 및 운영 체제 및/또는펌웨어를 저장하는 하나 이상의 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (2) US7707400B2 (ko)
EP (1) EP1946215A4 (ko)
JP (1) JP2009516244A (ko)
KR (1) KR20080071979A (ko)
CN (1) CN101300560B (ko)
WO (1) WO2007053331A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101245442B1 (ko) * 2009-12-22 2013-03-19 인텔 코오퍼레이션 오퍼레이팅 시스템에 독립적인 네트워크 이벤트 핸들링

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899303B2 (en) * 2006-08-02 2011-03-01 Lsi Corporation DVD recorder and PVR instant on architecture
US8234506B2 (en) * 2006-10-08 2012-07-31 International Business Machines Corporation Switching between unsecure system software and secure system software
WO2009064287A1 (en) * 2007-11-13 2009-05-22 Hewlett-Packard Development Company, L.P. Launching an application from a power management state
JP2011014066A (ja) * 2009-07-06 2011-01-20 Renesas Electronics Corp 表示制御回路及び表示制御方法
US8699220B2 (en) 2010-10-22 2014-04-15 Xplore Technologies Corp. Computer with removable cartridge
US11418580B2 (en) * 2011-04-01 2022-08-16 Pure Storage, Inc. Selective generation of secure signatures in a distributed storage network
US9021288B2 (en) * 2012-05-31 2015-04-28 Apple Inc. Method and apparatus for recovery from low power state
EP2728893B1 (en) * 2012-11-05 2020-04-22 Accenture Global Services Limited Controlling a data stream
US9021574B1 (en) * 2013-03-12 2015-04-28 TrustPipe LLC Configuration management for network activity detectors
US8943592B1 (en) * 2013-07-15 2015-01-27 Eset, Spol. S.R.O. Methods of detection of software exploitation
US20190073347A1 (en) * 2017-09-01 2019-03-07 Google Inc. Lockscreen note-taking
US10659548B2 (en) * 2018-07-23 2020-05-19 NRS Systems Invocation devices in an organization information distribution system
CN110704119B (zh) * 2019-10-15 2023-07-04 东风小康汽车有限公司重庆分公司 车载影音娱乐系统预启动方法、装置、系统及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325648A (ja) * 1989-06-23 1991-02-04 Canon Inc 端末装置
JPH0592804A (ja) 1991-09-30 1993-04-16 Toshiba Lighting & Technol Corp 基板搬送装置
JPH0592806U (ja) * 1992-05-22 1993-12-17 オークマ株式会社 数値制御装置
KR100247952B1 (ko) 1997-04-11 2000-03-15 윤종용 이동단말시스템의부팅제어장치및방법
US6073187A (en) * 1997-06-20 2000-06-06 Compaq Computer Corporation Controls and indicators available to a user for a secondary operational mode of a portable computer which is open or closed state of the computer case
KR20000001474A (ko) 1998-06-11 2000-01-15 윤종용 운영체제 부팅시간 중에 응용프로그램을 수행하는 기능을 지닌컴퓨터 시스템 및 그 방법
US6763458B1 (en) 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
KR100584174B1 (ko) 2000-01-19 2006-05-26 엘지전자 주식회사 휴대용 컴퓨터에서의 기능별 선택 구동장치 및 방법
US6816944B2 (en) * 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US7890741B2 (en) * 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522965B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
JP2003008458A (ja) * 2001-06-26 2003-01-10 Mitsubishi Electric Corp 情報処理装置、同装置の起動方法および同装置の起動プログラム
US20030093659A1 (en) * 2001-11-15 2003-05-15 Say-Ling Wen Method and system for directly starting a PDA operating system on a portable PC using hardware devices
US7424623B2 (en) * 2002-03-28 2008-09-09 O2 Micro International Limited Personal computer integrated with personal digital assistant
TW591478B (en) * 2002-11-12 2004-06-11 Mitac Technology Corp Apparatus and method of using personal computer to integrate functions of home electronics
CN1282923C (zh) * 2003-03-20 2006-11-01 宏碁股份有限公司 可在多种操作模式下运作的计算机系统及其操作方法
US20040202335A1 (en) * 2003-04-09 2004-10-14 Lee Long K. Method for alphabetizing and fast track searching MP3 compact disc file structure contents in a vehicle audio system
WO2004111822A1 (ja) * 2003-06-13 2004-12-23 Fujitsu Limited 情報処理装置
US7506152B2 (en) * 2003-08-11 2009-03-17 Lg Electronics Inc. Convertible computer with selective loading of an operating system based on a tablet or notebook mode
TWI223754B (en) * 2003-10-22 2004-11-11 Avermedia Tech Inc Computer system with direct media access mode
TWI267752B (en) * 2005-01-17 2006-12-01 Lite On Technology Corp Multi-mode computer system and operating method thereof
TWI278780B (en) * 2005-07-26 2007-04-11 Mitac Technology Corp Method of instantly activating multimedia playback during a hot-key standby mode

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101245442B1 (ko) * 2009-12-22 2013-03-19 인텔 코오퍼레이션 오퍼레이팅 시스템에 독립적인 네트워크 이벤트 핸들링

Also Published As

Publication number Publication date
US8645671B2 (en) 2014-02-04
US20070101392A1 (en) 2007-05-03
WO2007053331A1 (en) 2007-05-10
CN101300560A (zh) 2008-11-05
EP1946215A4 (en) 2010-03-10
US7707400B2 (en) 2010-04-27
CN101300560B (zh) 2012-11-07
JP2009516244A (ja) 2009-04-16
US20100205419A1 (en) 2010-08-12
EP1946215A1 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
US7707400B2 (en) Direct computing experience
US7302594B2 (en) Query of bios-stored value to determine user intent at return to active state
RU2435200C2 (ru) Быстрая загрузка операционной системы из выключенного состояния
KR101702700B1 (ko) 고속 컴퓨터 시동
RU2451989C2 (ru) Поддержка нескольких операционных систем в мультимедийных устройствах
KR101518323B1 (ko) 하이브리드-셧다운 및 고속 시동 프로세스를 제공하기 위한 방법 및 시스템
US8725994B2 (en) Launching an application from a power management state
CN101526901B (zh) 一种电脑中查看文件的方法及装置
US7607003B2 (en) System and method for loading an operating system on a personal computer
US20100100719A1 (en) Method for reducing booting time and computer using the same
JP2009516244A5 (ko)
US7162629B2 (en) Method to suspend-and-resume across various operational environment contexts
US20060242651A1 (en) Activity-based PC adaptability
JP2007506194A (ja) 低電力モードで電子デバイスを動作させる方法および装置
US8312256B2 (en) Display of a basic input/output system (BIOS) productivity display
US7082526B2 (en) Mechanism for intuitively invoking one or more auxiliary programs during a computer booting process
JP4404843B2 (ja) インスタントキースタンバイ状態からのマルチメディア再生インスタントプレイの方法
JP2007035010A (ja) 高速データアクセスメモリよりオペレーションシステムコアプログラムをロードしてコンピュータプログラムをインスタント起動実行する方法
JP4485498B2 (ja) コンピュータ及びその節電方法
CN102135923A (zh) 将操作系统集成到bios芯片的方法及启动该操作系统的方法
US9710286B2 (en) Enhanced wakeup mode
WO2004027609A1 (fr) Procede de realisation de systeme multifonctionnel incorpore
WO2021233363A1 (zh) 计算设备及其bios更新方法和介质
TWI395139B (zh) 電子裝置及其開機方法
KR20030046729A (ko) 컴퓨터 시스템 및 그 패스워드 확인방법

Legal Events

Date Code Title Description
A201 Request for examination
SUBM Surrender of laid-open application requested