KR101422367B1 - 컴퓨터를 저 전력 보조 프로세서를 통해 운영하기 위한 방법들 및 시스템들 - Google Patents

컴퓨터를 저 전력 보조 프로세서를 통해 운영하기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR101422367B1
KR101422367B1 KR1020127008410A KR20127008410A KR101422367B1 KR 101422367 B1 KR101422367 B1 KR 101422367B1 KR 1020127008410 A KR1020127008410 A KR 1020127008410A KR 20127008410 A KR20127008410 A KR 20127008410A KR 101422367 B1 KR101422367 B1 KR 101422367B1
Authority
KR
South Korea
Prior art keywords
coprocessor
cpu
computer
control
application
Prior art date
Application number
KR1020127008410A
Other languages
English (en)
Other versions
KR20120064096A (ko
Inventor
제임스 파이어스
조지 와일리
제임스 제이 윌키
브라이언 스틸
아풀 나하타
카르틱 라지 칼리아난
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120064096A publication Critical patent/KR20120064096A/ko
Application granted granted Critical
Publication of KR101422367B1 publication Critical patent/KR101422367B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

컴퓨팅 디바이스는 컴퓨팅 디바이스의 중앙 처리 유닛 (CPU) 을 대신하여 처리를 인수할 수 있는 저 전력 보조 프로세서, 이를테면 무선 카드 또는 서브-시스템상의 프로세서를 구비한다. 보조 프로세서상에서 컴퓨팅 디바이스를 운영하면 컴퓨팅 디바이스 배터리를 덜 사용할 수 있어서, 보조 프로세서 모드에서의 연장된 동작을 할 수 있다. 이 모드에 있을 때, 보조 프로세서는 주변장치들을 제어하고 시스템 기능을 제공하지만 CPU는 비활성화, 이를테면 "오프", 대기" 또는 "슬립" 모드에 있다. 보조 프로세서 모드에서, 컴퓨팅 디바이스는 배터리로부터 최소 전력을 뽑아내면서 유용한 태스크들, 이를테면 전자 메일 송/수신, 전자 문서들 디스플레이 및 네트워크 액세스를 달성할 수 있다. 정상 운영 모드 및 보조 프로세서 모드 간의 전이들은 사용자들에게 투명할 수 있다. 이러한 컴퓨터는 인스턴트 온, 올웨이즈 온 및 항상 접속됨 운영 특징들을 나타낼 수 있다.

Description

컴퓨터를 저 전력 보조 프로세서를 통해 운영하기 위한 방법들 및 시스템들{METHODS AND SYSTEMS FOR OPERATING A COMPUTER VIA A LOW POWER ADJUNCT PROCESSOR}
본 발명은 대체로 개인용 컴퓨터 시스템들에 관한 것이고, 더 상세하게는 저 전력 보조 프로세서 하에서 컴퓨터를 운영하기 위한 방법들 및 디바이스들에 관한 것이다.
개인용 컴퓨터들은 많은 사람에게 필수적인 도구들이 되고 있지만, 계속해서 다수의 제약을 받고 있다. 경량의 노트북 컴퓨터들의 개발은 컴퓨터 사용자들이 그들의 책상에 얽매이는 것으로부터 해방시켰다. 그러나, 노트북 컴퓨터들은 배터리 수명이 제한적이라는 문제를 겪고 있다. 휴대성을 강조하는 노트북 컴퓨터 제품들은 구성부품의 무게가 줄여졌고, 배터리의 사이즈 및 무게가 제한되었다. 동시에, 컴퓨터 개발자들은 운영 체제들 및 애플리케이션 프로그램들의 복잡도에 뒤처지지 않게 노트북 컴퓨터들의 처리 능력을 증가시켜 왔다. 처리 능력을 증가시키는 것은 배터리 수명을 제한하는 경향이 있는데 더 강력한 프로세서들이 유휴 모드에서 조차도 더 많은 전력을 소비해서이다. 사용자들은 그들의 컴퓨터를 끄거나 그들이 그 기계를 활발히 사용하지 않을 때마다 대기 모드로 둠으로써 단일 배터리 충전의 수명을 연장시키는 것을 시도할 수도 있다. 그러나, 대부분의 노트북 컴퓨터들은 대기 모드로부터 복원될 때조차, 재시작하는데 상당한 량의 시간을 필요로 한다. 그래서, 배터리 수명을 연장시키려는 이러한 노력은 사용자의 불만으로 이어질 수 있다.
다양한 실시형태들은 컴퓨팅 디바이스 (예컨대, 노트북 컴퓨터, 넷북 컴퓨터, UMPC, PDA, 또는 데스크톱 컴퓨터) 에 보조 프로세서, 이를테면 무선 모뎀 (MSM/MDM) 프로세서를 제공하는데, 이 보조 프로세서는, 컴퓨터 하드웨어 인터페이스들과 결합하여, 컴퓨팅 디바이스의 중앙 처리 유닛 (CPU) 및 운영 체제 (OS) 를 대신하는 역할을 할 수 있다. 이러한 보조 프로세서 운영 모드에서, 보조 프로세서는 주변장치들을 제어하고 시스템 기능을 제공하는 반면 컴퓨터의 메인 프로세서 시스템 (즉, CPU 및 OS) 은 비활성화될 수도 있거나 또는 대기 또는 슬립 구성으로 놓일 수도 있다. 보조 프로세서 모드에서, 컴퓨팅 디바이스는 제한된 태스크들, 이를테면 전자 메일을 보내고 받는 것, 전자 문서들을 보는 것, 오디오 파일들을 듣는 것, 비디오 (예, DVD) 파일들을 보는 것, 인터넷에 액세스하는 것 등을 컴퓨터 배터리를 상당히 소모하는 일없이 달성하는데 사용될 수도 있거나 또는 보조 프로세서는 메인 프로세서 및 운영 체제에 통상 관련되는 태스크들을 수행함으로써 사용자 체험을 이어 갈 수도 있다. 바람직한 실시형태에서, 보조 프로세서는 컴퓨팅 디바이스 내의 무선 모뎀 내의 프로세서이다. 무선 모뎀 프로세서는 무선 네트워크와의 통신 링크들을 유지하여 예를 들어, 다른 컴퓨터 기능들이 셧다운되어 있을 때에도 전자 메일 또는 메시지들의 계속적인 수신이 가능할 수도 있게 한다. 컴퓨터의 메인 프로세서 시스템 (즉, CPU 및 OS) 이 활성일 때, 이러한 무선 모뎀은 그것의 프로세서가 데이터 통신들에 관련된 기능들을 수행하는 3G 데이터 모뎀으로서 기능을 할 수도 있다. 정상 운영 모드 및 보조 프로세서 모드 사이의 전이(transition)들은 컴퓨팅 시스템에 의해 사용자들에게 투명하게 보이는 방식으로 수행될 수도 있거나, 또는 사용자들에 의해 제어될 수도 있다. 보조 프로세서 모드에서의 운영은 컴퓨터가 인스턴트 온(instant on), 올웨이즈 온(always on) 및 연속 네트워킹식 운영 특징들을 나타내는 것을 가능하게 할 수도 있다.
첨부 도면들은 여기에 통합되고 이 출원서를 구성하는 부분으로서, 본 발명의 예시적인 실시형태들을 도시하고, 위에서 주어진 전반적인 설명 및 아래에 주어지는 상세한 설명과 함께 본 발명의 특징들을 설명하는데 이바지한다.
도 1a 내지 도 1c는 실시형태에 따른 개인용 컴퓨터의 구성요소 블록도들이다.
도 2는 하나의 실시형태에 따른 컴퓨터의 일부분의 회로 블록도이다.
도 3은 대체 실시형태에 따른 컴퓨터의 일부분의 회로 블록도이다.
도 4는 추가 대체 실시형태에 따른 컴퓨터의 일부분의 회로 블록도이다.
도 5는 추가 대체 실시형태에 따른 컴퓨터의 일부분의 회로 블록도이다.
도 6a 및 6b는 추가 대체 실시형태들에 따른 컴퓨터의 일부분의 회로 블록도들이다.
도 7은 추가 대체 실시형태에 따른 컴퓨터의 일부분의 회로 블록도이다.
도 8a 및 8b는 추가 대체 실시형태들에 따른 컴퓨터의 일부분의 회로 블록도들이다.
도 9는 추가 대체 실시형태에 따른 컴퓨터의 일부분의 회로 블록도이다.
도 10a는 실시형태에 따른 다양한 컴퓨팅 디바이스들에 구현될 수도 있는 무선 모뎀 카드의 예시도이다.
도 10b는 실시형태에 따른 다양한 컴퓨팅 디바이스들과 함께 사용될 수도 있는 USB 디바이스에 있는 무선 모뎀 카드의 예시도이다.
도 11은 개인용 컴퓨터에 꽂아질 수 있는 모바일 디바이스 내에 무선 모뎀 프로세서가 구현되는 실시형태의 예시도이다.
도 12는 처리 제어를 무선 모뎀 프로세서에서부터 컴퓨터 CPU로 이전하기 위한 실시형태 방법의 프로세스 흐름도이다.
도 13은 처리 제어를 컴퓨터 CPU에서부터 무선 모뎀 프로세서로 이전하기 위한 실시형태 방법의 프로세스 흐름도이다.
도 14는 추가 대체 실시형태에 따른 구성요소들 및 데이터 저장 구성요소들 사이의 데이터 흐름들을 도시하는 컴퓨터의 일부분의 회로 블록도이다.
도 15는 처리 제어를 무선 모뎀 프로세서에서부터 컴퓨터 CPU로 이전하기 위해 무선 모뎀 프로세서 및 컴퓨터 CPU 내에 구현될 수도 있는 실시형태 방법들의 프로세스 흐름도이다.
도 16은 처리 제어를 컴퓨터 CPU에서부터 무선 모뎀 프로세서로 이전하기 위해 무선 모뎀 프로세서 및 컴퓨터 CPU 내에 구현될 수도 있는 실시형태 방법들의 프로세스 흐름도이다.
도 17은 처리 제어를 무선 모뎀 프로세서에서부터 컴퓨터 CPU로 이전하기 위해 무선 모뎀 프로세서 및 컴퓨터 CPU 내에 구현될 수도 있는 대체 실시형태 방법들의 프로세스 흐름도이다.
도 18은 처리 제어를 컴퓨터 CPU에서부터 무선 모뎀 프로세서로 이전하기 위해 무선 모뎀 프로세서 및 컴퓨터 CPU 내에 구현될 수도 있는 대체 실시형태 방법들의 프로세스 흐름도이다.
도 19는 실시형태와 함께 사용하기에 적합할 수 있는 통신 시스템을 도시하는 통신 계통도이다.
도 20은 사용자가 실시형태를 구현하는 컴퓨터 상의 애플리케이션을 원격으로 활성화시킬 수 있게 하는 실시형태 방법의 프로세스 흐름도이다.
도 21은 다양한 실시형태들의 일 예의 애플리케이션의 프로세스 흐름도이다.
도 22는 다양한 실시형태들의 다른 예의 애플리케이션의 프로세스 흐름도이다.
도 23은 다양한 실시형태들의 다른 예의 애플리케이션의 프로세스 흐름도이다.
도 24는 다양한 실시형태들의 다른 예의 애플리케이션의 프로세스 흐름도이다.
도 25는 다양한 실시형태들의 다른 예의 애플리케이션의 프로세스 흐름도이다.
도 26은 다양한 실시형태들의 다른 예의 애플리케이션의 프로세스 흐름도이다.
도 27은 다양한 실시형태들의 다른 예의 애플리케이션의 프로세스 흐름도이다.
도 28a 내지 도 28c는 도 20 내지 도 27에 도시된 예의 애플리케이션들 중 하나 이상을 구현하는데 사용될 수도 있는 단문 메시지 시스템 메시지들을 위한 예의 메시지 구조들이다.
도 29는 다양한 실시형태들과 함께 사용하기에 적합한 노트북 컴퓨터의 구성요소 블록도이다.
도 30은 다양한 실시형태 시스템들 및 방법들과 함께 사용하기에 적합한 휴대용 모뎀 디바이스 실시형태의 구성요소 블록도이다.
다양한 실시형태들이 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능한 곳이라면 어디서든, 동일한 참조 번호들이 도면들 전체를 통해서 동일하거나 유사한 부분들을 참조하는데 사용될 것이다. 특정한 예들이 참조될 것이고 구현예들은 예시의 목적을 위한 것이고, 발명 또는 청구항들의 범위를 제한하려는 의도는 아니다.
단어 "예시적인"은 여기서는 "예, 사례, 또는 예시로서 이바지한다"는 의미로 사용된다. "예시적인" 것으로서 여기서 설명된 어떤 구현예라도 다른 구현예들보다 바람직하거나 유익하다고 생각할 필요는 없다.
여기서 사용되는 바와 같이, 용어들인 "모바일 컴퓨팅 디바이스" 및 "노트북 컴퓨터"는 랩톱 컴퓨터들, 넷북 컴퓨터들, 배터리 작동식 개인용 컴퓨터들, 미니노트북 컴퓨터들, UMPC, 개인휴대 정보 단말기들 (PDA들), 태블릿 컴퓨터들, 팜탑 컴퓨터들, 그리고 프로그램가능 프로세서와 메모리, 및 무선 통신 송수신기를 구비한 유사한 개인용 전자 디바이스들 중의 어느 하나 또는 전부를 말한다. 많은 실시형태 설명들이 모바일 컴퓨팅 디바이스들 또는 노트북 컴퓨터들을 언급하지만, 이들 언급대상들은 예를 드는 목적만을 위한 것인데, 다양한 실시형태들은 모바일 아닌 컴퓨터들, 이를테면 데스크톱 컴퓨터들, 워크스테이션들, 서버들, 라우터들, 액세스 포인트들, 및 모바일 아닌 시스템들에 내장되는 컴퓨팅 시스템들일 수도 있어서이다.
다양한 실시형태들의 설명을 단순화하기 위해, 용어 "문서 (document) "는 여기서는 어떤 유형의 사용자 보기가능 (viewable) 또는 편집가능 파일 또는 애플리케이션 데이터의 전체에 대한 언급으로서 사용된다. 설명의 목적을 위한 "문서들"의 예들로는 텍스트 파일들, 워드 프로세싱 문서들, 스프레드 시트 파일들, 전자 메일 항목들, 달력 엔트리들, 노트들, 연락처 데이터 레코드들, 프로그래밍 스크립트들, 사진들, 사운드 음반들, 비디오들, 및 프레젠테이션 차트 파일들 (예컨대, PowerPoint® 차트들) 이 있다. 그래서, "문서"에 대한 언급들은 특정 유형의 전자 파일 또는 디스플레이된 데이터로 청구항들의 범위를 한정하는 것으로 의도되지 않았고 해석되지도 않아야 한다.
랩톱 컴퓨터들, 넷북 및 노트북 컴퓨터들과 같은 모바일 컴퓨팅 디바이스들은 모바일 사업가, 학생들 및 "정신없이 바쁜" 사람들을 위한 필수 도구가 되고 있지만, 그것들의 제약은 잘 알려져 있다. 노트북 컴퓨터 설계들은 통상 휴대성 (예컨대, 가벼운 무게), 처리 능력 및 배터리 수명이란 상반된 우선순위들 사이의 절충을 반영한다. 대부분의 경우들에서, 배터리 수명 (즉, 노트북 컴퓨터가 단일 배터리 충전으로 작동할 수 있는 시간) 은 더 큰 처리 능력 및 더 가벼운 무게를 위하여 희생된다. 결과로서, 사용자들은 재충전할 기회를 갖기까지 배터리 수명을 연장하기 위하여 그들의 노트북 컴퓨터들의 사용을 조정할 것을 자주 강요받고 있다. 이러한 노력들은 컴퓨터를 끄거나 또는 활발하게 사용하지 않을 때 대기 상태로 두는 것을 포함할 수도 있다. 부가하여, 노트북 컴퓨터들은 사용자 입력이 어떤 기간 동안 수신되지 않을 때 수면 (go to sleep) (대기 상태까지 전력을 낮춤) 으로 구성될 수 있다. 이러한 동작들은 실질적인 배태리 수명을 연장할 수 있지만, 그럼에도 불구하고 사용자 불만이 생기게 할 수 있는데 노트북 컴퓨터는 사용자가 그 노트북 컴퓨터를 사용할 수 있기 전에 운영 조건들을 사전 셧다운/대기 조건들로 복원하거나 재부팅해야 하기 때문이다. 이 재시작 시간은 예를 들어 사용자가 단지 약속을 확인하거나, 문서를 보거나, 또는 비행기 탑승 전에 전자 메일에 액세스하기를 원할 때와 같은 어떤 상황들에서는 중요할 수 있다.
노트북 컴퓨터 사용자들에 공통된 다른 문제는 외부 네트워크들, 이를테면 인터넷에 접속하는 것에 관계가 있다. 이제 노트북 컴퓨터들에서는 셀룰러 전화기 네트워크들 및/또는 무선 네트워크들 (예컨대, 와이파이 또는 와이맥스) 에 액세스할 수 있는 무선 모뎀 카드를 장비하는 것이 흔한 일이 되었다. 이러한 무선 모뎀 카드들을 이용하면, 노트북 컴퓨터들은 유선 접속에 얽매이는 일없이, 이를테면 3G 셀룰러 데이터 네트워크를 통해 인터넷에 접속될 수 있어서, 사용자들이 그들의 전자 메일을 확인하고 실제로 어느 곳에서나 인터넷을 서핑할 수 있게 한다. 그러나, 노트북의 CPU로 인한 배터리의 소모는 사용자들이 그 배터리 수명을 더 연장하기 위하여 무선 네트워크들에 접속하는 시간량을 제한해야 할지도 모른다는 것을 강요할 수도 있다.
그 반면, 현대의 다른 필수 전자 디바이스―셀룰러 전화기―는 통상 작은 사이즈의 전형적인 셀 전화 배터리에도 불구하고 정상적인 사용 하에서 긴 배터리 수명을 가진다. 이는 셀룰러 전화기들에 사용되는 현대의 무선 모뎀들이 소비 전력을 최소화하도록 최적화되었고, 그것에 의해 전화기들이 더 작게 만들어질 수 있고 더 작은 배터리들을 사용할 수 있게 되었기 때문이다. 게다가, 셀룰러 전화기들은 착신 호들 및 데이터 메시지들 (예컨대, 단문 메시지 시스템 (SMS)) 을 위해 등록된 셀룰러 네트워크들을 유지하고 감시하도록 구성된다. 이들 설계상의 상반관계들(trade-offs) 때문에, 셀룰러 전화기들은 그것들의 배터리가 전형적인 노트북 컴퓨터의 배터리 사이즈의 작은 부분에 불과함에도 재충전 없이 한 번에 여러 날 동안 무선 네트워크들에 접속된 채로 유지될 수 있다. 다른 한편으로는, 전형적인 셀룰러 폰의 프로세서는 전형적인 노트북 애플리케이션 및 운영 체제 소프트웨어에 의해 요구된 기능들을 수행하는 처리 용량을 가지지 않는다.
다양한 실시형태들은 셀룰러 전화기 및 무선 네트워크 통신 모뎀들에서의 진전들을 이용하여 휴대용 컴퓨터들, 이를테면 노트북 컴퓨터들에, 사용자들이 컴퓨터 상의 단순한 기능들을 매우 낮은 소비 전력으로 수행할 수 있게 하는 보조 프로세서 모드를 제공한다. 이 실시형태들은 컴퓨터들이 "인스턴트 온" 및 "올웨이즈 온" 운영 특징들을 발휘하게 할 수 있다. 게다가, 이 실시형태들은 컴퓨터들이 실질적인 배터리 수명을 현저히 감소시키는 일없이 (이를테면 전자 메일을 수신하기 위하여) 무선 통신 네트워크들을 계속 감시하여서, "항상 접속됨(always connected)" 운영 특징들을 나타낼 수 있게 한다.
이러한 운영상의 이점들은 보조 프로세서, 이를테면 무선 모뎀 카드 내의 프로세서가 선택된 기능들을 인수하는 것을 허용하고 그래서 컴퓨터의 중앙 처리 유닛 (CPU) 이 비활성화될 수 있거나 또는 저 전력 상태로 놓이게 될 수 있도록 노트북 컴퓨터를 구성함으로써 달성될 수도 있다. 일 실시형태에서, 무선 모뎀 카드 프로세서는 낮은 전력을 이끌어 내어 노트북 컴퓨터 배터리에 의해 전력이 공급되는 기간들을 연장하는 기능이 수행되게 한다. 노트북 컴퓨터는 노트북 구성요소들 이를테면 배터리 및 전력 제어 회로, 메모리 (예컨대, 랜덤 액세스 메모리, 플래시 메모리, 및 하드 디스크 메모리), 디스플레이, 및 사용자 입력 디바이스들, 이를테면 키보드들, 터치패드, 및 여타 포인팅 디바이스들에 대한 액세스를 무선 모뎀 프로세서에 제공하도록 구성될 수도 있다. 모뎀 프로세서는 선택된 애플리케이션 기능들을 수행하거나 또는 노트북 컴퓨터 CPU상에서 통상 실행되는 애플리케이션들의 규모축소된(scaled-down) 버전들 (즉, 더 작은 처리 능력의 지원이 요구되는 애플리케이션들의 버전들) 을 실행하는 소프트웨어 명령어들로 추가로 구성될 수도 있다. 노트북 컴퓨터 CPU가 비활성화인 동안 무선 모뎀 카드는 무선 네트워크와의 통신 링크를 유지하도록 추가로 구성될 수도 있어서, 노트북 컴퓨터가 무선 전자 메시지들을 수신할 수 있게 하고, 뿐만 아니라 사용자가 소망한다면 인터넷에 대한 즉각적인 액세스를 할 수 있게 한다. 무선 모뎀 카드는, 전력 소모 구성요소, 이를테면 디스플레이 및 하드 디스크 메모리가 배터리 전력을 절약하도록 비활성화되는 때에도, 일부 기능들이 항상 실행될 수 있게 하는 모드들로 노트북 컴퓨터를 동작시키도록 추가로 구성될 수도 있다. 컴퓨터가 실질적으로(effectively) 셧다운될 때에도 무선 네트워크들에 접속된 채로 유지될 수 있으면 노트북 컴퓨터는 전자 메일 및 다른 전자 메시지들을 계속 수신할 수도 있게 되어 컴퓨터를 켜자마자 전자 메일은 이용할 수 있게 된다. 또한, 다양한 실시형태들을 구현하는 노트북 컴퓨터들은 컴퓨터가 그렇지 않고 셧다운되는 경우에도 전자 메시징을 통해 액세스되고 제어될 수도 있고, 이는 다수의 유용한 애플리케이션들을 가능하게 할 수도 있다.
다양한 실시형태들에서, 컴퓨팅 디바이스 (예컨대, 노트북 컴퓨터, UMPC, PDA, 또는 데스크톱 컴퓨터) 는 보조 프로세서, 이를테면 무선 이동국 모뎀 (MSM) 또는 모바일 데이터 모뎀 (MDM) 내에 있는 프로세서들 중의 하나를 구비하며, 이것은 컴퓨터 하드웨어 인터페이스들과 결합하여 컴퓨터의 CPU를 "인수하고(takeover)" 대신하여 역할을 할 수 있다. 이러한 보조 프로세서 운영 모드에 있을 때, 보조 프로세서 (예컨대, MSM/MDM 내의 프로세서) 는 컴퓨팅 디바이스의 주변장치들을 제어하고 시스템 기능을 제공하는 반면 메인 처리 시스템 (즉, CPU 및 OS) 은 비활성화, 이를테면 "오프", "대기(standby) " 또는 "슬립(sleep)" 모드들이 된다. 이 보조 프로세서 모드에서, 사용자들은 컴퓨팅 디바이스를 이용하여 제한된 태스크들, 이를테면 전자 메일을 보내고 받는 것, 전자 문서들을 보는 것, 오디오 파일들을 듣는 것 (예컨대, 콤팩트 디스크 (CD) 또는 MP3 파일들을 재생하는 것), 디지털 비디오 디스크 (DVD) 상의 영화를 관람하는 것, 및 인터넷에 액세스하는 것을 달성할 수 있다. 저 전력 보조 프로세서, 이를테면 MSM 내의 프로세서를 이용하면, 컴퓨터 배터리의 소모는 전형적인 셀룰러 전화기의 배터리 소모와 마찬가지의 배터리 소모로 제한될 수도 있다. 게다가, MSM/MDM 프로세서는 모든 다른 기능들이 셧 다운된 때에도 무선 네트워크 (이를테면 3G 셀룰러 및 데이터 네트워크들) 와의 통신 링크들을 유지할 수도 있고 계속해서 전자 메일을 수신할 수도 있다. 메인 시스템 (즉, CPU 및 OS) 이 활성화일 때―이는 컴퓨팅 디바이스의 정상 운영 모드일 때―MSM/MDM은 첨단 3G 데이터 모뎀으로서 기능을 한다. 정상 운영 모드 및 보조 프로세서 모드 사이의 전이들은 컴퓨팅 시스템에 의해 사용자들에게 투명한 방식으로 수행될 수도 있거나, 또는 사용자들에 의해 제어될 수도 있다.
다양한 실시형태들에서 사용하기에 적합한 MSM/MDM 무선 모뎀은 하나의 프로세서가 애플리케이션 서비스들 (예컨대, 호스트 컴퓨팅 디바이스와의 인터페이싱) 전용이고 다른 프로세서가 모뎀 서비스들 (예컨대, 무선 송수신기를 통해 데이터를 송신하고 수신함) 전용인 듀얼 코어 프로세서를 구비할 수도 있다. 이 듀얼 코어 프로세서 능력은 MSM/MDM 하드웨어 및 소프트웨어의 많은 다른 특징부들과 연계하여, 노트북 컴퓨터들, UMPC들, 데스크톱 컴퓨터들, 및 심지어 서버들, 라우터들 및 액세스 단말기들에 구현될 수 있는 새로운 집합의 애플리케이션들 및 기능을 가능하게 한다.
다양한 실시형태들은 다수의 유용한 애플리케이션들 및 소망의 운영상 특징부들을 사용 가능하게 한다. 설명의 편이를 위해, 여기에 언급된 3가지 운영상 특징들은 "올웨이즈 온" "인스턴트 온" 및 "항상 접속됨(always connected)"이다. 여기서 사용되는 바와 같이, "올웨이즈 온"은 메인 프로세서가 온 인지, 오프인지 또는 대기 모드에 있는지에 상관없이 사용자들에게 어떤 기능에 대한 즉발 액세스 (prompt access) (즉 부팅 시간이 필요하지 않음) 를 제공하는 실시형태를 구현하는 컴퓨팅 디바이스의 운영상 특징을 말한다. 여기서 사용되는 바와 같이, "인스턴트 온"은 마치 전용 전자 디바이스와 같이 어떤 애플리케이션들이 어떠한 부팅 시간도 없이 즉시 론치할 것이라는 운영상 특징을 말한다. 예를 들어, 엔트테인먼트 기능부들, 이를테면 DVD 플레이어, 뮤직 플레이어, 포토 뷰어 및 일정한 게임들은, 즉각적으로 동작하도록 구성될 수도 있다. 게다가, MSM/MDM의 프로세서에 의해 지원되는 것들, 이를테면 엔트테인먼트 기능부들은 컴퓨팅 디바이스들의 메모리를 고갈시키는 일없이 연장된 기간 동안 액세스될 수도 있다. 여기서 사용되는 바와 같이, "항상 접속됨"은 컴퓨팅 디바이스가 그렇지 않고 셧다운되는 경우에도 무선 네트워크들에 접속된 채로 유지하고 그것들로부터 메시지들을 수신할 수 있는 컴퓨팅 디바이스의 운영상 특징을 말한다. 항상 접속됨 기능은 사용자들이 전자 메일 폴더를 그들의 하드 드라이브에 최신으로 및 그것들의 이메일 시스템과 동기하여 유지할 수 있게 한다. 또한 항상 접속됨 기능은 컴퓨팅 디바이스가 정보, 이를테면 뉴스, 주식 기사들 등을 인터넷에서부터 다운로드하여 최신 정보로 유지할 수도 있게 한다. 또한 항상 접속됨 기능은 MSM/MDM 무선 모뎀 카드의 부분으로서 포함될 수도 있는 글로벌 포지셔닝 시스템 (GPS) 수신기와 함께 일하여, 컴퓨팅 디바이스의 위치 및 환경들에 관하여 현재 정보를 유지할 수도 있다. 그래서, 사용자들은 그들의 노트북 컴퓨터를 열고서 시스템이 부팅되고 GPS 위성들에 액세스하는 것을 기다리지 않고서도 맵핑 애플리케이션에서 그들의 현재 위치를 즉시 볼 수 있다. 다양한 실시형태들에서, 올웨이즈 온, 인스턴트 온 및 항상 접속됨이란 운영상의 특징들은 컴퓨팅 디바이스의 유용한 배터리 수명을 현저히 감소시키는 일없이 제공될 수도 있다.
보조 프로세서는 마더보드 상의 별도의 전력 효율이 좋은 프로세서, 컴퓨팅 디바이스의 구성요소 내의 프로세서 (또는 코프로세서), 또는 컴퓨터에 케이블 (예, USB 케이블) 로 접속된 구성요소 또는 주변장치 디바이스 내의 프로세서일 수도 있다. 예를 들어, 보조 프로세서는 MSM/MDM 무선 모뎀, GPS 수신기, 네트워크 인터페이스 제어기, 콤팩트 디스크 (CD) 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 셀룰러 전화기 (예컨대, 도 11에 관하여 아래에서 설명되는 바와 같은 착탈식 셀룰러 전화기), 또는 자신 소유의 프로세서를 갖는 다른 구성요소에 있는 프로세서일 수도 있다. 다른 예로서, 보조 프로세서는 케이블에 의해 컴퓨터에 결합된 외부 주변장치 디바이스, 이를테면 프린터, 외부 다기능 디바이스, 외부 모뎀, 외부 라우터, 외부 콤팩트 디스크 (CD) 플레이어, 외부 DVD 플레이어, 셀룰러 전화기 내에 있는 프로세서, 또는 USB 디바이스 내에 구성된 보조 프로세서일 수도 있다. 설명의 편이를 위해, 실시형태들의 일부는 보조 프로세서가 무선 모뎀 카드 내의 프로세서라는 측면에서 설명된다. 그러나, 이러한 무선 모뎀 실시형태들의 설명들은 구성요소들이 조립되고 기능을 할 수도 있게 되는 방법의 일 예로서 이바지하는 의도만 있다. 동일한 기능은 다른 프로세서 기반 구성요소들로 구현될 수도 있다. 게다가, 다른 유형들의 프로세서 기반 구성요소들의 구성요소 레이아웃은 다양한 실시형태들에 관련한 구성요소들에 대하여 도면들에서 예시되고 아래에서 설명되는 것들과 유사할 수 있다.
특정 실시형태에서, 단일 모듈인 MSM/MDM 무선 모뎀 카드 상에, 그래픽스 프로세서, GPS 수신기, 3G 무선 송수신기, 모뎀 프로세서, 및 애플리케이션 플랫폼 소프트웨어, 이를테면 BREW®, Linux®, 또는 Windows Mobile®을 가지도록 구성된 애플리케이션들의 프로세서 등의 보조 프로세서가 제공된다. 이들 구성요소들 및 능력들을 단일 모듈 또는 카드에 구현하는 것은 사용자 체험을 현저히 떨어뜨리는 일없이 컴퓨팅 디바이스 CPU의 많은 기능을 인수하는 것을 허용한다. 예를 들어, 무선 모뎀 카드상의 그래픽스 프로세서는 컴퓨팅 디바이스 디스플레이를 구동할 수 있는 한편, 애플리케이션들 프로세서는 키보드, 컴퓨터 마우스, 및 터치패드로부터의 입력들을 수신할 수 있고, 뿐만 아니라 컴퓨팅 디바이스 전력 시스템, 데이터 저장/입력 (예컨대, DVD/CD 또는 임의의 디스크 포맷 플레이어, 하드 드라이브 등), 및 네트워크 인터페이스들 (예, USB 포트) 을 제어할 수 있다.
보조 프로세서 모드들 및 정상 운영 모드들 간의 무결절성 전이를 일으키기 위하여, 컴퓨팅 디바이스의 중앙 처리 유닛 (CPU) 과 보조 프로세서들, 이를테면 무선 모뎀 카드 내에 있는 프로세서는, 제어를 전이하기 전에 시스템 데이터, 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 공유 메모리 내에 저장하거나 또는 시스템 데이터, 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터 (또는 이 둘의 결합물) 를 하나에서 다른 하나로 통신하도록 구성될 수도 있다. 용어 "공유 메모리(shared memory)" 및 "공유 저장부(shared storage)"는 여기서 양쪽 프로세서들이 액세스할 수 있는 메모리 유닛들 또는 부들 (또는 모든) 랜덤 액세스 메모리 (예컨대, RAM 및 FLASH 메모리) 를 언급하는데 사용된다. 이러한 공유 메모리는 CPU 프로세서 및 보조 프로세서 양쪽 모두에 의해 액세스가능한 내부 메모리의 어떤 부분일 수도 있다. 공유 메모리는 보조 프로세서를 포함하는 모듈 상에 (이를테면 무선 모뎀 카드 상에) 위치될 수도 있거나, 컴퓨터의 마더보드 상에, 또는 이것 둘의 결합물 상에 위치될 수도 있다. 공유 메모리는 현재의 운영 상태를 반영하는 상황(status) 및 상태(state) 정보를 저장하는데 사용될 수 있어서 제어가 CPU 프로세서에서부터 보조 프로세서로, 또는 반대의 경우 이전될 때, 현재의 운영 상태들은 유지될 수 있다. 통신 채널은 어떤 프로세서가 전체 시스템 데이터, 애플리케이션 데이터, 애플리케이션 콘텍스트 데이터 및 제어의 전이를 일으키는데 필요한 여타의 상태 정보를 통과시킬 수 있게 하는 CPU 및 보조 프로세서 사이의 임의의 채널일 수도 있다. 추가의 실시형태에서, 시스템 데이터, 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터 중 일부분은 공유 메모리에 저장될 수도 있고 일부분의 이러한 데이터는 CPU 및 보조 프로세서 사이에서 통신 채널을 통하여 건네질 수도 있다. 이런 방식에서, 사용자는 운영 모드에서의 이전을 알아차리지 못할 수도 있는데 이는 열려 있는 애플리케이션들 및 데이터의 현재의 상태가 하나의 프로세서에서부터 다른 프로세서로 건네질 수 없어서이다.
다양한 실시형태들에서, 보조 프로세서, 이를테면 무선 모뎀 카드 프로세서는, 컴퓨팅 디바이스 CPU상에서 통상 실행되는 애플리케이션들의 규모 축소 버전들을 실행하도록 구성될 수도 있다. 일부 복잡정교한 애플리케이션들의 규모 축소 버전들을 보조 프로세서 모드에서 실행하면 컴퓨터의 CPU보다 덜한 처리 능력을 갖는 보조 프로세서상에서 실행될 때의 허용 성능뿐만 아니라 충분한 기능을 사용자들에게 제공할 수도 있다. 사용자들이 이러한 애플리케이션들의 전체 기능을 필요로 한다면, 그들은 컴퓨팅 디바이스 CPU를 활성화시키고 정상 운영 모드로 이전함으로써 애플리케이션의 온전한 버전을 로딩할 수도 있다. 예를 들어, 컴퓨팅 디바이스가 Microsoft Word® 애플리케이션으로 구성된다면, 보조 프로세서는 Microsoft Word® 의 규모 축소 버전 또는 Word® 문서를 디스플레이할 수도 있지만 그 소프트웨어 프로그램의 편집, 포맷팅, 맞춤법 검사 및 탬플릿 특징들의 모두를 제공하지 않는 Word® 뷰어일 수 있는 문서 뷰어 애플리케이션을 동작시키도록 구성될 수도 있다. 마찬가지로, 보조 프로세서는 표준 버전의 일부의 복잡정교한 검색 및 포맷팅 특징들 없이도 단순한 이메일 메시지들을 수신하며, 디스플레이하며, 생성하고 송신하기에 충분한 Microsoft Office®의 규모 축소 버전을 동작시키도록 구성될 수도 있다. 이들 예들을 고려하면, 사용자들은 보조 프로세서 모드에 있으면서도 이메일들을 수신하고 읽을 수도 있다. 이메일이 첨부된 Word® 문서를 포함한다면, 사용자는 컴퓨팅 디바이스가 정상 운영 모드에 있는 것처럼 그 문서를 열고 읽을 수도 있다. 그러나, 사용자가 그 문서를 편집하길 원한다면, 컴퓨팅 디바이스의 CPU는 Microsoft Word®의 완전한 편집 및 포맷팅 기능을 제공하기 위하여 활성화되어 컴퓨터를 정상 운영 모드로 이전하는 것을 필요로 할 수도 있다. 보조 프로세서 모드에서부터 정상 운영 모드로의 전이는 운영 모드가 변경될 때 디스플레이되는 문서들이 변경되지 않도록 하는 디스플레이와 같이 사용자에게 무결절성의 방식으로 달성될 수도 있다.
정상 운영 모드 및 보조 프로세서 모드 사이의 전이들 및 다시 되돌리는 전이들은 다양한 방식들로 개시될 수도 있다. 일 실시형태에서, 사용자들은 컴퓨팅 디바이스에 운영 모드들을 변경할 것을 이를테면 버튼을 누르거나, 메뉴 프롬프트를 활성화시키거나, 또는 노트북 컴퓨터의 뚜껑을 닫음으로써 지시할 수도 있다. 다른 실시형태에서, 컴퓨팅 디바이스는 배터리 전력을 절약하도록 처리가 정상 운영 모드에서부터 보조 프로세서로 이전될 때 활성 애플리케이션들 또는 사용자의 활동들을 감지할 수도 있다. 이는 사용자의 컴퓨터와의 상호작용들, 그리고 특히 열려 있는 애플리케이션들로 만들어지는 사용을 감시하는 CPU에 의해 한 방향으로 달성될 수도 있어서, 현재의 사용이 보조 프로세서에 의해 지원될 수 있는지, 이를테면 그 사용이 보조 프로세서상에서 실행되는 애플리케이션들에 의해 제공되는 기능으로 제한되는지를 결정할 수 있다. 만약 그렇다면, CPU는 컴퓨터 주변장치들의 제어를 담당할 것을 보조 프로세서들에 시그널링함으로써 제어 이전을 자동으로 (즉, 사용자 명령 없이) 개시할 수도 있다. 마찬가지로, 보조 프로세서 모드에서부터 CPU 모드로의 자동 이전은 보조 프로세서가 사용자의 상호작용들을 감시하여 사용자의 활동들이 CPU 기능들을 필요로 할 때를 결정함으로써, 이를테면 보조 프로세서 애플리케이션에 의해 지원되지 않는 기능 호출 (예컨대, 편집 명령) 을 검출함으로써 개시될 수도 있다. 사용자가 보조 프로세서 애플리케이션들에 의해 지원되지 않는 기능을 소망한다는 결정에 응하여, 보조 프로세서는 애플리케이션이 이러한 기능을 제공할 수 없다는 보조 프로세서의 결정에 응답하여 제어를 담당할 것을 CPU에 자동으로 시그널링할 수도 있다. 예를 들어, 컴퓨터 CPU는 사용자가 문서들을 보기만 원할 (즉, CPU 애플리케이션을 필요로 할 수도 있는 문서 편집이 아닐) 때를 감지하도록 하는 소프트웨어 명령어들로 구성될 수도 있고, 그래서 보조 프로세서 모드로의 이전은 (사용되고 있는 기능들에 의존할 수도 있는) 사용자의 체험을 저하시키는 일없이 달성될 수 있다. 다른 예로서, 보조 프로세서는 더 큰 프로세서 능력이 사용자 태스크를 달성하는데 요구되는 경우 보조 프로세서 모드에서부터 정상 운영 모드로 이전하도록 하는 소프트웨어 명령어들로 구성될 수도 있다.
추가의 실시형태에서, 컴퓨팅 디바이스 CPU 및 보조 프로세서는 운영 모드 전이가 일어날 수 있을 때를 예상하고 그러한 이전을 미리 준비할 수 있도록 구성될 수도 있다. 예를 들어, 정상 운영 모드에 있을 동안에 사용자가 DVD 플레이어를 활성화시킨다면, 컴퓨팅 디바이스 CPU는 DVD 플레이어 애플리케이션이 보조 프로세서상에서 실행될 수 있는 실시형태들에서 전력을 절약하기 위하여 제어를 보조 프로세로 이전하는 것을 준비할 수도 있다. 다른 예로서, 보조 프로세서 모드에 있는 동안에 사용자가 문서 뷰어 애플리케이션을 활성화한다면, 보조 프로세서는 보조 프로세서상에 구성된 문서 뷰어 애플리케이션에 의해 지원되지 않는 문서에 대한 편집 기능을 사용자가 수행할 것임을 예상하여 컴퓨팅 디바이스 CPU에 제어를 이전할 준비를 할 수도 있다. 운영 모드 전이가 일어날 것 같을 때를 예상하고 이러한 전이를 지원하는 예비 단계들을 취함으로써, 이를테면 현재의 상태 정보 (또는 현재의 상태 정보의 일부분) 를 공유 메모리 내에 저장하고 및/또는 시스템 데이터, 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 통신 채널을 통해 통신하는 것을 시작함으로써, 실제 전이는 더 신속히 달성되어서, 사용자 체험을 향상시킬 수 있다.
보조 프로세서가 무선 데이터 모뎀 내의 프로세서인 추가의 실시형태에서, 컴퓨팅 디바이스 CPU 및 보조 프로세서는 CPU에서부터 보조 프로세서로 그리고 다시 그 반대로의 제어 전이 동안에 무선 데이터 통신 링크를 유지하도록 구성될 수도 있다. 이 실시형태에서, 무선 데이터 모뎀은 하나의 프로세서에서부터 다음 프로세서로의 전이 동안에 무선 통신 네트워크 (이를테면 도 19를 참조하여 아래에서 설명됨) 에 대한 데이터 호출을 유지할 수 있는데, 상시 전력(continuous power)이 모뎀에 제공되고 물리 계층이 동일하게 유지되어서이다. 새로운 단 대 단 접속이 제어를 담당할 프로세서와의 협상에 필요할 수도 있다. 제어를 담당하는 프로세서가 무선 데이터 접속을 이용하여 애플리케이션을 띄울 때, 그 프로세서는 물리적 접속을 요구할 것이지만, 데이터 호출이 이미 확립되었으므로, 이 프로세스는 즉시 달성된다. 그러면 데이터 패킷들이 제어를 담당하는 프로세서로부터 확립된 데이터 호출을 통해 송신되어 새로운 단 대 단 접속의 협상을 개시할 수도 있다.
예시적인 실시형태의 최상위 레벨의 구성요소 도면이 도 1a에 도시되어 있다. 컴퓨팅 디바이스는 통상 중앙 프로세서 유닛 (CPU) (1) 을 구비할 것이고 이 유닛은 다양한 주변장치들 및 메모리 디바이스들에 버스 아키텍처, 이를테면 노스브리지 (6) 및 사우스브리지 (4) 칩 셋을 통해 결합될 수도 있다. 버스를 통해, CPU (1) 는 메모리, 이를테면 동기식 동적 랜덤 액세스 메모리 (SDRAM) (11), 및 디스플레이 (54), 이를테면 액정 디스플레이 (LCD) 에 결합된 그래픽스 프로세서 (5) 에 접속될 수도 있다. CPU (1) 는 도 1에 도시된 아키텍처에서 노스브리지 버스 (6) 를 통해 제 2 버스, 이를테면 사우스브리지 (4) 칩에 결합될 수도 있고,이 사우스 브리지는 통칭하여 입/출력 주변장치들 (8) 이라는 레이블을 붙이는 키보드, 마우스, 오디오 출력단들, 및 외부 디바이스들을 포함한 다양한 컴퓨터 구성요소들 및 주변장치들에 대한 접속들을 제공한다. CPU (1) 는 또한 통상 고기억용량 저장부 이를테면 하드 디스크 드라이브 (9) 또는 광 디스크 드라이브 (10) 에 결합된다. 도 1a에 도시된 아키텍처에서, 하드 디스크 드라이브 (9) 및/또는 광 디스크 드라이브 (10) 에 대한 각각의 CPU (1) 접속은 사우스브리지 버스 (4) 에 결합된 직렬 고급 기술 첨부 (SATA) 스위치 (34a, 34b) 를 경유하지만, 다른 메모리 액세스 스위칭 회로들이 사용될 수 있다. 부가하여, CPU (1) 는 전력 관리 모듈 (40) 을 버스 이를테면 사우스브리지 칩 (4) 을 경유하여 제어할 수 있고, 이 전력 관리 모듈은 노트북 또는 유사한 컴퓨터의 경우에 배터리를 구비할 수도 있다. 또한, CPU (1) 는 유선 근거리 네트워크와는 네트워크 액세스 모뎀 (9) 을 통해 버스, 이를테면 사우스브리지 (4) 를 경유하여 통신할 수도 있다.
도 1a에 도시된 아키텍처는 사우스브리지 (4) 및 노스브리지 (6) 칩셋을 채용하며 이는 CPU (1) 와 통신하고 메모리, 주변장치 버스들, 캐시 메모리, 및 그래픽스 프로세서들과의 상호작용들을 제어하는데 이바지하는 주지의 Intel, Inc. 칩셋들이다. 통상, 노스브리지 (6) 칩은 CPU (1) 와는 프런트 사이드 버스를 이용하여 통신하는 반면, 사우스브리지 칩 (4) 은 노스브리지/사우스브리지 칩셋의 입/출력 기능들을 핸들링한다. 이 특정 버스 아키텍처는 다양한 실시형태들이 구현될 수도 있는 컴퓨터 아키텍처의 하나의 예로서 제공된다. 그러나, 다른 프로세서 인터페이스 칩셋들 또는 버스 아키텍처들은 청구항들의 범위로부터 벗어나는 일없이 구현될 수도 있다.
일 실시형태에서, 컴퓨팅 디바이스는 또한 CPU (1) 에 버스, 이를테면 사우스브리지 칩 (4) 에 의해 결합되는 무선 모뎀 카드 (2) 를 구비한다. 예를 들어, 무선 모뎀 카드 (2) 는 사우스브리지 칩 (4) 에 범용 직렬 버스 (USB) 링크를 통해 접속될 수도 있다. 실시형태에서 무선 모뎀 카드 (2) 는 보조 프로세서 (20) 로서 서비스를 제공할 수 있는 애플리케이션들에 전용인 하나의 프로세서를 구비하는 듀얼 코어 프로세서들을 구비할 수도 있다. 또한 무선 모뎀 카드 (2) 는 내부 메모리, 이를테면 플래시 메모리 (13), 및 광역 무선 네트워크 송수신기 (15) 를 구비할 수도 있고 이 송수신기는 안테나 (도 1a에는 미도시) 에 접속된다.
무선 모뎀 카드를 구비한 기존의 컴퓨팅 디바이스와는 달리, 다양한 실시형태들은 컴퓨팅 디바이스의 무선 모뎀 카드 (2) 및 주변장치들 사이에 부가적인 접속부들을 제공한다. 예를 들어, 무선 모뎀 카드 (2) 는, 배터리로부터 직접 전력을 공급받고 (예를 들어 노트북 컴퓨터의 경우) 뿐만 아니라 배터리/전력 관리 기능들을 제어하는 배터리/전력 관리 모듈 (40) 에 결합될 수도 있다. 부가하여, 무선 모뎀 카드 (2) 는 컴퓨팅 디바이스 하드 디스크 드라이브 (9) 에 대한 직접 액세스를 제공하는 SATA 스위치 (34a) 와 컴퓨팅 디바이스 광 디스크 드라이브 (10) 에 대한 직접 액세스를 제공하는 SATA 스위치 (34b) 에 결합될 수도 있다. 게다가, 무선 모뎀 카드는 디스플레이 (54) 에, 이를테면 스위치 (52) 에 의해 결합될 수도 있어서 보조 프로세서 (20) 는 디스플레이 (54) 상의 그래픽들을 직접 구동할 수 있다.
노트북 CPU (1) 및 무선 모뎀 카드 (2) 사이의 공유를 위해 지정되는 공유 메모리 (32) 로서 도시된 메모리의 일부분은 무선 모뎀 카드 (2) 에 직접 결합될 수도 있다. 실시형태에서 공유 메모리 (32) 는 CPU (1) 에 의해 액세스가능한 일부 또는 모든 랜덤 액세스 메모리일 수도 있다. 이러한 실시형태에서, CPU (1) 및 보조 프로세서 (20) 사이의 통신 채널 (예컨대, 도 1a에 도시된 바와 같은 USB 접속부를 경유하는 사우스브리지 (4)) 은 제어가 보조 프로세서 (20) 에 건네지기 전에 CPU (1) 가 보조 프로세서 (20) 에 시스템 데이터 및 애플리케이션 데이터 메모리 어드레스들을 알려주는데 사용될 수도 있다 (처리가 CPU (10) 로 되돌려질 때 반대의 경우도 마찬가지이다). 다른 실시형태에서, 공유 메모리 (32) 는 개별 메모리 모듈, 이를테면 보조 프로세서에 의해 옵션적인 접속부 (12b) 를 경우하여 액세스가능한 컴퓨팅 디바이스 마더보드상의 개별 메모리 칩, 또는 모뎀 (2) 내의 메모리의 일부분일 수도 있다. 이러한 실시형태에서, CPU (1) 는 제어를 담당하는 보조 프로세서 (20) 에 의해 요구되는 정보의 전부 또는 일부분, 이를테면 현재 열려 있는 애플리케이션들에 관련된 데이터의 공통 액세스가능 메모리 내의 메모리 어드레스들을 공유 메모리 (32) 속에 로딩할 수도 있다. 참조의 편이를 위해, 용어 "공유 메모리"는 여기서는 CPU (1) 및 보조 프로세서 (20) 둘 다에 의해 액세스가능한 어떤 랜덤 액세스 메모리를 말하고, 그러므로 이 용어는 청구항들의 범위를 특정 물리적 메모리 구조로 한정하는 것으로 해석되지 않아야 한다.
무선 모뎀 카드 (2) 내의 보조 프로세서 (20) 는 일괄하여 8개인 이를테면, 마우스, 키보드, 오디오 출력단, USB 포트들 등을 포함하는 컴퓨팅 디바이스 주변장치들을 사우스브리지 버스 (4) 에 대한 USB 접속부를 경유하여 또는 옵션적인 개별 USB 통신 채널 (12a) 을 경유하여 액세스하도록 구성될 수도 있다.
도 1b는 정상 운영 모드에서 (즉, 노트북 CPU (1) 가 컴퓨팅 디바이스에 대한 기능 제어를 가질 때) 활성인 컴퓨팅 디바이스의 구성요소를 도시한다. 이 도면이 도시하는 바와 같이, 컴퓨팅 디바이스의 모든 주변장치들은 일부 무선 모뎀 카드 (2) 요소들을 가능한 예외로 하여 정상 운영 모드에서 활성이다. 예를 들어, 무선 모뎀 카드 (2) 의 송수신기 (15) 는 통상 무선의 컴퓨팅 디바이스에 대한 활동을 제공하도록 활성일 것이지만, 보조 프로세서 (20) 는 유휴일 수도 있거나 활성일 수도 있지만 모뎀 기능들을 수행하는 것으로 제한된다.
그 반면, 도 1c는 보조 프로세서 모드에서 (즉, 무선 모뎀 카드 (2) 의 보조 프로세서 (20) 가 컴퓨팅 디바이스에 대한 기능적 제어를 가지고 있을 때) 활성일 수도 있는 컴퓨팅 디바이스의 구성요소를 도시한다. 이 운영 모드에서, 컴퓨터의 CPU (1), 뿐만 아니라 정상 운영 모드에서만 사용되는 그런 구성요소들이 비활성화 될 수도 있다. 예를 들어, 어떤 메모리, 이를테면 SDRAM (11) 및 컴퓨터의 그래픽스 카드 (5) 는 비활성화될 수도 있다. 부가하여, 메인 버스의 일부분, 이를테면 노스브리지 칩 (6) 역시 비활성화될 수도 있다. 보조 프로세서 모드에서, 무선 모뎀 카드 (2) 는 보조 프로세서 (20) 가 CPU (1) 에서 컴퓨터를 대신하므로 완전히 활성화될 수도 있다. 보조 프로세서 (20) 를 위한 보조 프로세서 모드 명령어들은 무선 모뎀 카드 (2) 의 내부 메모리, 이를테면 플래시 메모리 (13) 에 저장될 수도 있는 한편, 시스템 및 애플리케이션 데이터는 공유 메모리 (32) 로부터 메모리 접속부 (12b) 를 경유하여, 뿐만 아니라 컴퓨터의 하드 디스크 드라이브 (9) 및 광 디스크 드라이브 (10) 로부터 STAT 스위치들 (34a 및 34b) 을 각각 경유하여 얻어질 수도 있다. 다르게는, 시스템 및 애플리케이션 데이터는 보조 프로세서 (20) 에 의해 CPU (50) 로부터 통신 채널, 이를테면 사우스브리지 (4) 에 접속된 USB 채널을 통해 또는 옵션적인 개별 USB 통신 채널 (12a) 을 통해 얻어질 수도 있다. 추가의 대체예에서, 시스템 및 애플리케이션 데이터의 일부분은 공유 메모리 (32) 로부터 얻어질 수 있는 반면 나머지 시스템 및 애플리케이션 데이터는 통신 채널을 통해 얻어질 수도 있다. 부가하여, 무선 모뎀 카드 (2) 의 보조 CPU (20) 는 디스플레이 포트 (DP) (52) 를 경유하여 디스플레이 (54) 를 구동할 수도 있다.
도 1c에서 도시된 바와 같이, 사용자들은 보조 프로세서 모드에 있는 동안 보조 프로세서 (20) 에 의해 제공되는 기능을 통하여 많은 컴퓨팅 디바이스 주변장치들에 액세스할 수도 있다. 무선 모뎀 카드 (2) 내의 프로세서들의 전력 효율적인 설계 덕분에, 이 운영 모드는 컴퓨터의 CPU (1) 가 동력을 공급받을 때의 정상 운영 모드보다는 훨씬 적은 전력을 필요로 한다.
도 1a 내지 도 1c는 다양한 실시형태들에서 사용하기에 적합한 최상위 레벨 아키텍처의 하나의 예를 제공한다. 이 최상위 레벨 아키텍처는 다양한 하드웨어 아키텍처들로 구현될 수도 있으며, 그것들 중 일부 예들은 도 2 내지 도 9에 도시되어 있다.
도 2는 무선 모뎀 카드 (2) 가 컴퓨팅 디바이스 마더보드 회로 (50) 와 인터페이싱하는 방법의 일 예를 도시하는 실시형태의 하드웨어 구현물을 도시한다. 이 실시형태에서, 멀티플렉서 어레이 (14) 는 마더보드 (50) 및 컴퓨터의 키보드 (44), 포인팅 디바이스들 (46), DVD 드라이브 (48), 및 오디오 회로 (42) 사이, 뿐만 아니라 무선 모뎀 카드 (2) 사이의 인터페이스로서 작용할 수 있다. 보조 프로세서 (20) 는 키보드 (44) 로부터의 키보드 입력들을 멀티플렉서 회로 (39) 와 무선 모뎀 카드 내의 키보드 인터페이스 회로 (28) 를 경유하여 수신할 수도 있다. 마찬가지로, 보조 프로세서 (20) 는 컴퓨터의 포인팅 디바이스들 (46) 로부터의 포인팅 입력들을 멀티플렉서 회로 (40) 및 포인팅 디바이스 인터페이스 회로 (30) 를 경유하여 수신할 수도 있다. 보조 프로세서 (20) 로부터의 오디오 출력은 멀티플렉서 회로 (38) 와 통신하는 오디오 인터페이스 회로 (24) 를 경유하여 컴퓨터의 오디오 회로 (42) 에 제공될 수도 있다. 오디오 및 비디오 정보의 디코딩을 제공하기 위해, 모뎀 프로세서 (20) 는 MPEG2 디코더 (26) 에 결합될 수도 있다.
컴퓨터의 하드 드라이브 (48) 및 DVD 드라이브 (49) 를 향하는 명령들 및 그것들로부터 나오는 데이터는 멀티플렉서 회로 (41), USB 디스크 드라이브 액세스 스위치들 (34a, 34b) (예, SATA 브리지) 및 제 2 멀티플렉서 회로 (37) 를 경유하여 전송될 수도 있다. 제 2 멀티플렉서 회로 (37) 는 디스크 드라이브 액세스 스위치들 (34a, 34b) 을 모뎀 프로세서 (20) 에 결합함으로써 제거될 수 있음에 주의해야 한다. 게다가, 마더보드 (50) 및 모뎀 프로세서 (20) 는 도 6b 및 도 8b를 참조하여 아래에서 설명되는 바와 같이 멀티플렉서들 (41, 43) 에 의해 어느 프로세서에 결합되는 공통 세트(common set)의 디스크 드라이브 액세스 스위치들 (34a, 34b) 을 경유하여 하드 드라이브 (48) 및 DVD 드라이브 (49) 에 액세스할 수도 있다.
공유 메모리 저장부 (32) 는 모뎀 프로세서 (20) 및 마더보드 회로 (50) 양쪽 모두에 의해 멀티플렉서 회로 (36) 를 경유하여 액세스될 수도 있다. 도 2는 무선 모뎀 카드 (2) 상에 존재하는 공유 메모리 저장부 (32) 를 도시하지만; 그러나, 공유 메모리 (32) 는 다르게는 마더보드 회로 (50) 상에 위치될 수도 있다. 게다가, 보조 프로세서 (20) 가 이를테면 멀티플렉서 (36) 또는 사우스브리지 (4) 와 같은 다른 통신 버스를 경유하여 메모리에 액세스할 수도 있다면, 상기 언급된 바와 같이, 공유 메모리는 마더보드 회로 (50) 상의 랜덤 액세스 메모리의 전부 또는 일부분일 수도 있다.
또한 마더보드 회로 (50) 는 모뎀 프로세서들 (20) 에는 통신 채널 (56) 로써, 이를테면 멀티플렉서 회로 (37) 를 경유하여 직접 결합될 수도 있다. 이러한 통신 채널 (56) 이 정상 운영 모드에서는 무선 모뎀 카드 (2) 를 통한 무선 네트워크들과의 통신들을 가능하게 하는데 사용될 수도 있다. 또한 통신 채널 (56) 은 CPU (1) 와 보조 프로세서 (20) 사이의 스위칭 제어의 프로세스 동안 및 그 반대의 경우에, 이를테면 동작 애플리케이션 정보 및 상태 데이터를 통신하기 위해, 프로세스를 동기화시키기 위해, 그리고 제어 이전 프로세스를 조정하기 위해 사용될 수도 있다.
배터리 및 전력 시스템 (48) 은 컴퓨터의 마더보드 회로 (50) 뿐 아니라 무선 모뎀 카드 (2) 에 직접 결합될 수도 있어서 전력 시스템은 CPU 또는 보조 프로세서 (20) 중의 어느 하나에 의해 운영 모드에 따라 관리될 수 있다. 또한 보조 프로세서는 이차 디스플레이 (16) 에는 그것이 존재한다면 직접 결합될 수도 있고 시스템 식별 모듈 (SIM) (18) 에는 셀룰러 무선 네트워크와의 통신에 필요하다면 직접 결합될 수도 있다. 게다가, 보조 프로세서 (20) 는 멀티플렉서 회로 (52) 를 경유하여 디스플레이 (54) 에 결합되는 RGB 대 LVDS 변환기 회로 (22) 를 구동하는 디스플레이 리프레시 제어 회로 (21) 를 통하여 컴퓨팅 디바이스 디스플레이 (54) 를 구동할 수도 있다.
도 3은 도 2에 도시된 아키텍처에서 사용될 수도 있는 무선 모뎀 칩 (2) 의 실시형태 구현물의 구성요소 블록도이다. 이 예시적인 실시형태에서, 무선 모뎀 칩 (2) 은 컴퓨터 마더보드 (50) 상의 사우스브리지 칩 (4) 에 결합되는 USB 멀티플렉서 회로 (141) 에 결합된 듀얼 프로세서 칩 (20) 을 구비할 수도 있다. 하나 이상의 USB 또는 SATA 브리지 칩들 (134) 은 USB 멀티플렉서 (141) 에 결합될 수도 있고 마더보드 (50) 상의 하나 이상의 인터페이싱 멀티플렉서 또는 SATA 차동 멀티플렉서들 (137) 과 접속될 수도 있다. 모뎀 프로세서 칩 (20) 으로부터의 비디오 출력은 모바일 디스플레이 디지털 인터페이스 (MDDI) 클라이언트 칩 (118) 을 통해 이 칩에 결합된 데이터 모뎀 비디오 리프레시 제어기 (120) 에 제공될 수도 있고, 이 데이터 모뎀 비디오 리프레시 제어기는 RGB 신호를 RGB 대 LVDS 변환 칩 (122) 에 출력하며, 이 변환 칩은 LVDS 신호를 디스플레이 패널 (54) 에 결합된 쿼드 차동 멀티플렉서 칩 (156) 에 출력한다. 비디오 회로는 데이터 모듈 비디오 리프레시 제어기 (120) 에 결합된 다이나믹 RAM (150) 에 의해 더 지원을 받을 수도 있다. 주변장치 인터페이스 칩 (130) 은 무선 모뎀 칩 (2) 내에 제공되어 컴퓨터 마우스 배터리 제어 회로, DVD 코프로세서, 하드 드라이브, 오디오 제어기들 및 범용(general) 입/출력 주변장치들과 인터페이싱할 수도 있다. 모뎀 프로세서 (20) 는 주변장치 인터페이스 칩 (130) 에 직접 또는 MDDI 클라이언트 칩 (118) 을 경유하여 결합될 수도 있다. 주변장치 인터페이스 칩 (130) 은 마더보드 (50) 상의 저속 직렬 신호 멀티플렉서 회로 (140) 에 접속될 수 있고 이 멀티플렉서 회로는 컴퓨터의 사우스브리지 칩 (4) 까지의 다양한 구성요소들에 접속될 수도 있다. 이 예시적인 실시형태에서, 저속 직렬 신호 멀티플렉서 (140) 는 도 2에 도시된 멀티플렉서 어레이 (14) 에 해당한다. 고품위 오디오 신호들은 모뎀 프로세서 (20) 로부터 고품위 오디오 멀티플렉서 회로 (138) 를 경유하여 컴퓨터의 오디오 회로에 출력될 수도 있다. 또한 모뎀 프로세서 (20) 는 공유 메모리 (32) 에 멀티플렉서 회로 (136) 를 경유하여 액세스할 수도 있다. 공유 저장부 (32) 는 대신에 (쇄선으로 도시된 바와 같은) 무선 모뎀 카드 (2) 상에, 또는 마더보드 (50) 상에 위치된 메모리 내에 위치될 수도 있음에 주의해야 한다. 하나의 프로세서에서부터 다른 것으로의 제어의 이전을 위해 요구되는 시스템 데이터, 애플리케이션 데이터, 애플리케이션 콘텍스트 데이터 및 다른 상태 정보의 통신은 USB 멀티플렉서 (141) 를 경유하여 통신 채널을 통해, 이를테면 USB 접속부를 통해 사우스브리지에 통신될 수도 있다는 것도 주의해야 한다.
도 4는 대체 하드웨어 아키텍처 실시형태를 도시한다. 이 아키텍처는 도 2에 도시된 것과 유사하고 (그래서 유사한 번호의 구성요소들의 앞서의 설명이 적용되고) 다만 무선 모뎀 카드 (2) 가 MPEG2 디코더 (26) 또는 디스플레이 리프레시 제어기 또는 회로 (21) 를 구비하지 않는다는 것은 예외이다. 이 실시형태에서, 모뎀 프로세서 (20) 는 동일하거나 유사한 기능들을 수행하여, 이들 회로들을 필요없게 할 수도 있다.
도 5는 도 4에 도시된 아키텍처에서 사용될 수도 있는 실시형태의 무선 모뎀 칩 (2) 의 구성요소 블록도이다. 무선 모뎀 카드 (2) 의 이 실시형태는 도 3에 도시된 것과 유사하고 (그래서 유사한 번호의 구성요소들의 앞서의 설명이 적용되고) 다만 모뎀 프로세서 (20) 가 RGB 신호를 RGB 대 LVDS 변환 칩 (122) 에 직접 출력할 수도 있다는 것은 예외이다. 그래서, 이 실시형태는 비디오 생성 회로를 프로세서 자체 내에 구비하는 모뎀 프로세서들 (20) 에 적합할 수도 있다. 도 5에 도시된 실시형태는 또한 MDDI 칩 (118) 을 제거하여서, 주변장치 인터페이스 칩 (130) 은 모뎀 프로세서 (20) 에 직접 결합될 수도 있다.
보조 프로세서 (20) 는 컴퓨팅 디바이스 마더보드 회로 (50) 와 다양한 방식들로 통합될 수도 있는데, 이것들의 일부 예들은 도 6a 내지 9에 도시되어 있다.
도 6a에 도시된 아키텍처에서, 보조 프로세서 (20) 및 마더보드 (50) 는 다양한 입력, 출력 및 데이터 저장 주변장치 디바이스들에 일련의 멀티플렉서 회로들 (38, 39, 40, 36, 41, 43, 52) 을 경유하여 결합된다. 이 예의 아키텍처에서, 마더보드 (50) 및 보조 프로세서 (20) 둘 다는 주변장치 디바이스들에 공통 멀티플렉서 회로들을 통해 액세스하여서 주변장치들은 어느 운영 모드에서나 단순히 멀티플렉서 회로들을 제어하는 것에 의해 액세스될 수 있다. 이 아키텍처는 도 2에 도시된 아키텍처와 유사하고, 그래서 유사한 번호의 구성요소들의 설명은 도 6a에도 적용될 수 있다.
도 6b에 도시된 아키텍처는 마더보드 회로 (50) 및 보조 프로세서 (20) 가 컴퓨팅 디바이스 하드 드라이브 (48) 및 DVD 드라이브 (49) 에는 멀티플렉서들 (41, 43) 을 경유하여 각각 어드레싱되는 공통 USB-ATA 또는 USB-SATA 브리지들 (34a, 34b) 을 각각 통하여 액세스된다는 점을 제외하면, 도 6a의 그것과 유사하다. 도 6a와 비슷하게, 도 2를 참조하여 상기 제공된 유사한 번호의 구성요소들의 설명들이 도 6b에 도시된 구성요소들에 적용된다.
도 7은 단일 사용자 입력 디바이스 멀티플렉서 회로 (41) 가 컴퓨팅 디바이스 키보드 (44) 및 포인팅 디바이스들 (46) 에 결합되는 대체 아키텍처를 도시한다. 이와 같이 키보드 (44) 또는 포인팅 디바이스들 (46) 로부터 수신되는 입력들은 보조 프로세서 (20) 또는 컴퓨터의 마더보드 회로 (50) 에 멀티플렉서 회로 (41) 를 통해 라우팅된다. 그렇지 않으면 이 아키텍처는 도 2에 도시된 아키텍처와 유사하고, 그래서 유사한 번호의 구성요소들의 설명이 도 7에도 적용될 수 있다.
도 8a는 보조 프로세서 (20) 가 디스플레이 (54) 를 구비한 디스플레이 하우징 (274) 내에 위치되는 대체 아키텍처를 도시한다. 이 아키텍처는 노트북 컴퓨터들에서 유익할 수도 있는데 무선 모뎀 카드 (2) 를 디스플레이 하우징 (274) 내에 위치시키는 것이 송수신기를 노트북 컴퓨터의 상대적으로 낮은 노이즈 부분에 그리고 통상 디스플레이 하우징 (274) 내에 위치되는 빌트인 안테나들에 가까운 곳에 위치시켜서이다. 또한, 무선 모뎀 카드 (2) 를 디스플레이 하우징 (274) 내에 위치시키는 것은 안테나들 및 송수신기 사이의 커넥터가 노트북 컴퓨터의 디스플레이 하우징 (274) 및 베이스 하우징 (270) 사이의 힌지를 통과하지 않는다는 것을 의미한다. 도 8에 도시된 아키텍처에서, 보조 프로세서 (20) 및 마더보드 회로 (50) 사이의 통신들은 일련의 멀티플렉서 회로들 (38, 39, 40, 36, 41, 43, 52) 을 통해 달성되고, 그래서 유사한 번호의 구성요소들의 도 2 및 6a를 참조한 위의 설명들은 도 8a에도 적용될 수 있다.
도 8b에 도시된 아키텍처는 마더보드 회로 (50) 및 보조 프로세서 (20) 가 컴퓨팅 디바이스 하드 드라이브 (48) 및 DVD 드라이브 (49) 에는 멀티플렉서들 (41, 43) 을 경유하여 각각 어드레싱되는 공통 USB-ATA 또는 USB-SATA 브리지들 (34a, 34b) 을 각각 통하여 액세스된다는 점을 제외하면, 도 8a의 그것과 유사하다. 도 8a와 비슷하게, 도 2 및 6b를 참조하여 상기 제공된 유사한 번호의 구성요소들의 설명들이 도 8b에 도시된 구성요소들에 적용된다.
도 9는 무선 모뎀 카드 (2) 및 그것의 보조 프로세서 (20) 가 디스플레이 하우징 (274) 내에 위치된다는 것을 제외하면 도 7에 도시된 아키텍처와 유사한 대체 아키텍처를 도시한다. 따라서, 유사한 번호의 구성요소들의 도 2 및 7을 참조한 위의 설명들이 도 9에도 적용될 수 있다.
바람직한 실시형태에서, 보조 프로세서 (20) 는 다양한 표준 컴퓨터 버스 아키텍처들에 접속될 수 있는 무선 모뎀 카드 (2) 또는 칩셋 내에 구비될 수도 있다. 도 10a는 통합된 무선 모뎀 카드 (252) 의 일 예의 레이아웃을 도시한다. 이 폼 팩터에서, 무선 모뎀 카드 (252) 는 듀얼 프로세서 칩 (260), 무선 주파수 송수신기 칩 (262), 및 전자 커넥터들 (254, 256) 에 대한 입/출력 인터페이스로서 서비스를 제공하는 조합형 인터페이스 회로 칩 (258) 을 구비할 수도 있다. 전자 커넥터들 (254, 256) 은 컴퓨팅 디바이스 마더보드 (50) 에 결합된 매칭 커넥터 클립들, 이를테면 마더보드 (50) 상에 제공된 PCMCI 커넥터, PCI 미니버스 익스프레스 또는 PCI 미니카드와 같은 표준 접속 버스 속에 미끄러져서 들어가 전기 접속하도록 구성된다. 일부 실시형태들에서, 무선 주파수 송수신기 칩 (262) 은 셀룰러 전화기 네트워크 송수신기 및 IEEE 802.11 (와이파이) 송수신기 양쪽 모두, 뿐만 아니라 GPS 수신기를 구비할 수도 있다. 도 10a가 3개의 대형 집적회로들만을 구비한 무선 모뎀 카드 (252) 를 도시하지만, 이 기술분야의 숙련된 자는 이러한 디바이스의 구성요소들이 많거나 적은 회로들 내에 그리고 다양한 상이한 폼 팩터들로 통합될 수 있다는 것을 이해할 것이다.
무선 모뎀 카드 (252) 를 표준 형태로 제공하면 그 카드는 다양한 상이한 컴퓨팅 디바이스들 내에 구현될 수 있다. 예를 들어, 보조 프로세서로 동작을 인수할 수 있는 능력을 가지는 동일한 기본 무선 모뎀 카드 (252) 는 노트북 컴퓨터 (250), 태블릿 컴퓨터 (270) 또는 PDA, 또는 데스크탑 컴퓨터 (272) 에 통합될 수 있다.
도 10b에 도시된 다른 실시형태에서, 휴대용 USB 모뎀 디바이스 (700) 는 빌트인 USB 커넥터 (706) 와 함께 소형 패키지 내에 구성될 수도 있고, 다양한 실시형태들에 따라 구성되고 프로그래밍된 MSM/MDM을 구비할 수도 있다. 게다가 휴대용 USB 모뎀 디바이스 (700) 내에 구비된 구성요소들의 추가의 설명은 아래에서 도 30을 참조하여 제공된다. 배터리가 휴대용 USB 모뎀 디바이스 (700) 내에 구비되어 이 휴대용 USB 모뎀 디바이스는 컴퓨팅 디바이스로부터 도킹해제될 때 MSM/MDM에 전력을 공급하며, 그 MSM/MDM을 온으로 유지되도록 인에이블시키고 데이터 및 메시지들을 무선 통신 네트워크로부터 수신할 수도 있게 된다. 이러한 휴대용 USB 모뎀 디바이스 (700) 는 USB 메모리 디바이스 또는 팻 (fat) 크래딧 카드처럼 사용자의 주머니에 휴대하고 다닐 수 있다. USB 허브는 이 디바이스가 컴퓨터들 (250, 270, 272) 또는 주변장치들 (미도시), 이를테면 더 큰 디스플레이들 또는 프린터들에 꽂아질 수 있게 한다. 컴퓨터 (250, 270, 272) 또는 주변장치에 꽂아질 때, 이러한 휴대용 모뎀 디바이스는 상술한 바와 같이 3G 모뎀 및/또는 보조 프로세서로서 역할을 하여 컴퓨터 또는 주변장치 마더보드와의 통신을 USB 포트를 통해 상술한 실시형태들과 유사한 방법으로 달성할 수도 있다. 또한, 휴대용 USB 모뎀 디바이스 (700) 는 컴퓨터 (250, 270, 272) 에 꽂아진 동안 보조 프로세서로서 기능을 하여, 컴퓨터의 CPU가 이를테면 배터리 전력을 절약하기 위해 전원을 끊은 동안에도 컴퓨터 기능들 및 애플리케이션들이 이용가능하게 유지되도록 할 수도 있다. 컴퓨터 또는 주변장치로부터 제거된 경우, MSM/MDM은 온 및 외부 무선 통신 시스템에 접속된 채로 유지되어 (즉, 보조 프로세서 모드로 운영되어) 배터리 전력으로 작동하면서 이메일들 및 데이터를 계속 수신할 수 있다. 그러면 사용자가 휴대용 USB 모뎀 디바이스 (700) 를 다시 컴퓨터 (250, 270, 272) 에 꽂을 때, 사용자의 메시지들은 즉시 이용가능하여, 메시지들을 컴퓨터에서 보기 위해 다운로드할 필요가 없다.
휴대용 USB 모뎀 디바이스 (700) 는 모든 컴퓨터 주변장치들, 이를테면 컴퓨터의 디스플레이를 제어하거나, 또는 일부 주변장치들을 USB 버스 접속부의 데이터 전송 능력과 일치하는 약간 느린 액세스/리프레시 모드에서 제어하도록 구성될 수도 없다는 점에 주의해야 한다.
도 11에 도시된 특정 실시형태에서, 전력 효율이 좋은 코프로세서들을 통합하는 무선 모뎀은 셀룰러 전화기 (280) 의 에어링크로서 통합될 수도 있다. 이 구성에서, 무선 모뎀에 관련된 프로세서들은 셀룰러 전화기 (280) 의 기능들을 제어한다. 추가의 실시형태에서, 이러한 셀룰러 전화기 (280) 는 개인용 컴퓨터, 이를테면 노트북 컴퓨터 (282) 에 꽂아질 수 있는 착탈식 셀룰러 전화기로서 구성될 수도 있다. 이러한 노트북 컴퓨터 (282) 는 셀룰러 전화기 (280) 가 이를테면 디스플레이 부분 (284) 에 삽입될 수 있는 수납기 슬롯 (288) 을 구비할 수도 있다. 셀룰러 전화기 (280) 및 수납기 슬롯 (288) 은 커넥터 소켓들을 구비할 수 있고 셀룰러 전화기 (282) 내의 무선 모뎀 프로세서가 이를테면 도 6a 내지 도 9에 도시된 노트북 컴퓨터 (282) 의 마더보드에 접속될 수 있게 한다. 이러한 접속은 이를테면 도 2 내지 도 9 중 어느 것을 참조하여 상술된 일련의 멀티플렉서 회로들을 제공하는, 컴퓨터 (282) 내의 인터페이스 칩 (미도시) 을 경유할 수도 있다. 부가하여, 셀룰러 전화기 (280) 및 수납용 슬롯 (288) 사이의 전기 커넥터들은 노트북 컴퓨터 (282) 의 배터리 시스템에 대한 접속부를 구비할 수도 있어 셀룰러 전화기 (280) 는 삽입될 때 컴퓨터의 배터리로부터 전력을 끌어낼 수 있다.
도 11이 착탈식 셀룰러 전화기 구성을 도시하지만, 유사한 실시형태는 셀룰러 전화기를 데이터 케이블, 이를테면 USB 케이블 (미도시) 을 경유하여 컴퓨터에 접속하는 것에 관계가 있다. 이러한 케이블이 접속된 셀룰러 전화기는 수납기 슬롯 (288) 내의 커넥터 소켓과 동일한 접속성(connectivity) 및 제어를 제공하는 케이블을 채용할 수 있다.
도 11에 도시된 실시형태는 사용자들이 그들의 셀룰러 전화기 (280) 가 수납용 슬롯(288)에 삽입될 때마다 그들의 노트북 컴퓨터(242)상에서 무선 네트워크들에 액세스할 수 있게 할 것이다. 그들의 노트북 컴퓨터 (282) 를 사용하지 않을 때, 사용자들은 그들의 셀룰러 전화기들을 기존의 방식으로 사용할 수 있다. 게다가, 노트북 컴퓨터 (282) 및 셀룰러 전화기 (280) 는 프로세서 및 셀룰러 전화기 (280) 가 노트북 컴퓨터 (282) 의 저 전력 보조 프로세서로서 기능을 할 수 있도록 하는 다양한 실시형태들에 따라 구성될 수도 있다. 셀룰러 전화기(280)가 수납용 슬롯 (288) 에 설치되는 경우, 노트북 컴퓨터 (282) 의 CPU는 전력 공급이 끊어지고, 이것에 의해 컴퓨터는 보조 프로세서 모드에서 다양한 실시형태들에 의해 가능할 수 있는 올웨이즈 온, 인스턴트 온, 및 항상 접속됨이라는 운영상의 특징들을 가지고서 동작할 수도 있게 된다. 셀룰러 전화기 (280) 가 수납용 슬롯 (288) 에 설치되는 경우, 전화기의 디스플레이 (289) 는 컴퓨팅 디바이스를 위한 2차 디스플레이로서 서비스를 제공할 수 있어, 이를테면 노트북 컴퓨터 (282) 가 꺼진 구성으로 있을 동안 사용자들이 이메일 및 문서들을 볼 수 있게 할 수 있다. 일 실시형태에서, 셀룰러 전화기 (280) 가 설치되지 않은 경우, 노트북 컴퓨터 (282) 는 비록 무선 네트워크에 액세스할 수 없기는 하지만 정상적으로 기능을 할 수도 있게 된다.
착탈식 셀룰러 전화기 (280) 와 마찬가지로, 다른 착탈식 구성요소들 내의 프로세서는 다양한 실시형태들에 따라 보조 프로세서로서 사용될 수도 있다. 예를 들어, 착탈식 CD 또는 DVD 플레이어를 위한 수납기 슬롯 (288) 속에 꽂아진 착탈식 CD 또는 DVD 플레이어 내의 프로세서는 보조 프로세서로서 기능을 할 수도 있다. 마찬가지로, 보조 프로세서는 도 10b 및 도 30에 도시된 바와 같이 USB 포트 (이는 수납기 슬롯 (288) 과 유사한 기능일 수 있다) 속에 꽂아질 수 있는 USB 디바이스 내에 구성될 수도 있다. 예를 들어, USB 무선 네트워크 접속 모뎀 (700) 내의 프로세서는 디바이스가 컴퓨터의 USB 포트에 꽂아질 때 보조 프로세서로서 기능을 하도록 구성될 수 있다. 다른 예로서, 보조 프로세서는 USB 접속부 속에 꽂아질 때 보조 프로세서서 기능을 하지만 다른 기능 또는 용도를 가지지 않는 전용 보조 프로세서 USB 디바이스로서 패키징될 수도 있다.
앞서의 실시형태들과 유사하게, 컴퓨터에 케이블에 의해 결합된 주변장치 디바이스 내의 프로세서는 보조 프로세서로서 기능을 할 수도 있다. 예를 들어, 프린터, 외부 다기능 디바이스, 외부 모뎀, 외부 라우터, 외부 콤팩트 디스크 (CD) 플레이어, 또는 외부 DVD 플레이어 내의 프로세서는 다양한 실시형태들의 보조 프로세서로서 서비스를 제공할 수 있다.
다양한 실시형태들에서, 프로세스들은 처리 제어가 컴퓨팅 디바이스 CPU에서부터 보조 프로세서로 이전하고 다시 되돌아가는 동안 현재의 운영 상태들, 시스템 데이터 및 애플리케이션 데이터가 유지되는 것을 보장하도록 구현될 수도 있다.
처리 제어가 보조 프로세서 (예컨대, 무선 모뎀 프로세서) 로부터 컴퓨팅 디바이스 CPU로 이전될 수도 있는 일 예시적인 실시형태의 방법이 도 12에 도시되어 있다. 도 12에 도시된 전이가 시작되기 전에, 컴퓨팅 디바이스는 보조 프로세서의 제어 하에서 운영중이다 (단계 300). 다양한 동작들 또는 이벤트들이 컴퓨팅 디바이스 CPU로의 제어의 이전을 요구하거나 또는 프롬프트할 수도 있다. 예를 들어, 사용자는 컴퓨터의 CPU의 활성화를 이를테면 메뉴를 선택하거나, 특정 버튼을 누르거나, 또는 노트북 또는 넷북 컴퓨터의 디스플레이 부분을 엶으로써 개시할 수도 있다. 다른 예로서, 사용자의 애플리케이션과의 상호작용은 이를테면 사용자가 보조 프로세서상에서 실행중인 문서 보기(viewing) 애플리케이션에서 디스플레이되는 문서 (예컨대, 텍스트, 스프레드 시트, 이미지, 이메일 메시지, 달력 엔트리 등) 를 편집하기 위한 입력들을 행할 때 컴퓨터의 CPU의 활성화를 요구할 수도 있다. 사용자 편집 명령이 보조 프로세서 애플리케이션에 의해 지원되지 않는다면, CPU는 활성화될 수도 있고 그래서 상응하는 CPU 애플리케이션은 사용자의 행동을 이행하는데 사용될 수 있다. 추가 예는 컴퓨터의 CPU를 활성화하여 특정 기능을 수행하도록 하는 명령을 포함하는 메시지를 네트워크, 이를테면 무선 네트워크로부터 수신하는 것이다. 발신지에 무관하게, 보조 프로세서는 이 명령 또는 신호를 수신하여 컴퓨터의 CPU를 활성화시킬 수도 있다 (단계 302). 이 단계에서, CPU를 활성화시키자는 결정은, 이를테면 보조 프로세서가 사용자 행동에 의해 지시된 기능을 지원할 수 없다고 결정할 때 자동으로, 사용자 행동, 이를테면 CPU모드를 활성화하려는 버튼 누름 또는 메모리 선택에 의해, 또는 CPU 모드로 이전하는 것에 대한 사용자 동의를 요구하는 프롬프트와 함께 자동으로 만들어질 수도 있다. 컴퓨터의 CPU가 현재 비활성이라면, 이를테면 전원이 꺼져 있거나, 대기 또는 슬립 모드이면, 보조 프로세서는 컴퓨터의 CPU에 시동 (startup) 시퀀스를 시작할 것을 시그널링할 수도 있다 (단계 304). 이 단계는 컴퓨터의 CPU가 곧 처리를 인수할 수 있도록 부팅 또는 대기 복원 프로세스를 시작할 수 있게 할 것이다. 컴퓨터의 CPU가 이미 활성화되었다면, 이 단계는 필요하지 않을 수도 있다.
제어를 컴퓨터의 CPU에 이전하기 위한 준비를 위하여, 보조 프로세서는 시스템 상태 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 공유 메모리 속에 캐싱할 수도 있다 (단계 306). 그렇게 함에 있어서, 보조 프로세서는 공유 메모리 속에 컴퓨터의 CPU가 사용자에 대한 최소의 혼란으로 처리를 인수하기 위하여 요구할 정보의 모두를 로딩할 수도 있다. 캐싱된 시스템 정보는 현재의 디스플레이에 관련된 데이터, 현재의 프로세스들에 관한 상태 정보, 현재의 전력 관리 상태에 관한 정보, 현재 동작중인 애플리케이션들의 ID, 및 동작 조건에 관련된 애플리케이션 데이터를 포함할 수도 있다.
시스템 정보를 공유 메모리 내에 캐싱하는 대신, 단계 306에서 CPU는 시스템 정보를 통신 채널 (예컨대, 도 2를 참조하여 상술한 통신 채널 (56)) 을 경유하여 보조 프로세서에 통신할 수도 있다. 이 단계 306에서, 현재 열려 있는 애플리케이션, 현재 열려 있는 애플리케이션들의 랜덤 액세스 메모리 (즉, 공유 메모리) 에 저장된 데이터의 메모리 주소들과 같은 정보, 뿐만 아니라 다른 상태 정보를 포함하여, 제어를 인수하기 위해 보조 프로세서에 의해 요구된 정보는 통신될 수도 있다.
추가의 실시형태에서는, 단계 306에서 CPU는 시스템 상태 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터의 일부분을 공유 메모리에 저장하고 시스템 상태 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터의 나머지 부분을 공유 채널을 통해 통신할 수도 있다.
컴퓨터의 CPU는 활성이거나 또는 활성화됨에 따라, 전이 루틴을 실행하여 공유 메모리에 저장되고 및/또는 통신 채널을 통해 수신되는 상태 정보에 액세스하고, 컴퓨터 기능들의 제어를 인수하도록 자신을 구성할 수도 있다 (단계 308). 이 단계의 부분으로서, CPU는 공유 메모리에 저장된 상태 정보를 이용하여 제어를 담당하자마자 비슷한 운영 조건이 실행될 수 있도록 자신의 상태들을 구성할 수도 있다. 또한, CPU는 보조 프로세서상에서 현재 실행중인 애플리케이션들을 결정하며, 그런 애플리케이션들의 상응하는 풀 버전들을 로딩하고, 애플리케이션 데이터를 공유 메모리로부터 로딩할 수도 있다.
보조 프로세서에서부터 CPU로의 제어의 전이를 위한 준비의 부분으로서 현재 실행중인 애플리케이션들은 두 프로세서들 간에 동기될 수도 있다 (단계 309). 실행중인 애플리케이션들을 동기화하는 목적은 사용자의 관점에서 애플리케이션 기능의 원활한 전이를 제공하는 것이다. 애플리케이션들을 동기시키는 프로세스의 추가의 설명은 도 14를 참조하여 아래에서 제공된다.
옵션으로, 컴퓨터의 CPU 또는 보조 프로세서는 운영상의 제어 이전을 확인 또는 동의할 것을 사용자에게 프롬프트하는 디스플레이를 생성하고 그래서 제어를 CPU로 이전하기 전에 운영 모드들을 변경할 수도 있다 (옵션적인 단계 310) 이 단계에서, 디스플레이가 생성되어 사용자에게 CPU로의 제어의 이전이 막 일어나려고 함을 경고하고 사용자에게 하나 이상의 키들을 두드려 그러한 이전에 동의하거나 또는 하나 이상의 다른 키들을 두드려 제어 이전 프로세스를 중단시킬 것을 요구할 수도 있다. 보조 프로세서 및 컴퓨터의 CPU는 사용자의 입력을 수신하고 사용자가 제어 전환에 동의하였는지를 결정할 수도 있다 (옵션적인 결정 단계 311). 보조 프로세서 및 컴퓨터의 CPU가 사용자 입력이 동의에 해당한다 (즉, 결정 단계 311 = "예") 고 결정하면, 보조 프로세서 및 컴퓨터의 CPU는 단계 312로 진행함으로써 제어 이전을 달성할 수도 있다. 보조 프로세서 및 컴퓨터의 CPU가 사용자 입력이 이견(disagreement) 또는 프로세스 중단 명령에 해당한다 (즉, 결정 단계 311 = "아니오") 고 결정하면, 제어 전환은 보조 프로세서 제어 하의 처리로 되돌아감으로써 중단되어, 운영 상태 300으로 되돌아갈 수도 있다. 사용자 확인을 위한 요건은 구현되지 않을 수 있거나, 필수적인 프로세스로서 구현될 수도 있거나, 또는 사용자 구성가능 기능으로서 구현될 수도 있다.
일단 컴퓨터의 CPU가 동작을 위해 자신을 구성하고 적절한 애플리케이션들 및 애플리케이션 데이터를 작업 메모리 속에 로딩하고, 옵션으로는 처리에 대한 사용자 허가를 수신하면, 보조 프로세서 및 컴퓨터의 CPU는 협력하여 제어를 CPU에 이전한다 (단계 312). 이 제어 이전은 단일 단계에서 일어날 수도 있거나 또는 일련의 단계들에서 구현예에 의존하여 달성될 수도 있다. 일단 이전이 달성되면, 처리는 컴퓨터 CPU의 제어 하에서 계속될 수 있다 (단계 314). 이 시점에, 보조 프로세서는 정상 운영 모드로 이전될 수도 있으며, 이 정상 운영 모드에서 무선 모뎀의 경우에 프로세서는 무선 모뎀 카드 기능들을 지원하는 것으로 제한될 수도 있다.
일 실시형태에서, 보조 프로세서는 애플리케이션들을 동작시킬 때 플래시 메모리를 활용할 수도 있다. 이러한 실시형태에서, 보조 프로세서는 전체 시스템 데이터, 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 자신의 플래시 메모리로부터 CPU도 이용가능한 랜덤 액세스 메모리, 이를테면 컴퓨터 마더보드 (50) 상의 메모리에 복사할 수도 있다. 이러한 FLASH 메모리는 구성요소 (예컨대, MSM/MDM 카드) 내에, 마더보드 (50) 상에 또는 양쪽 플랫폼들 상에 있을 수도 있다.
처리 제어가 컴퓨팅 디바이스 CPU에서부터 보조 프로세서 (예컨대, 무선 모뎀 프로세서) 로 이전될 수도 있는 일 예시적인 실시형태의 방법이 도 13에 도시되어 있다. 도 13에 도시된 전이가 시작되기 전에, 컴퓨팅 디바이스는 컴퓨터 CPU의 제어 하에서 운영중이다 (단계 314). 다양한 동작들 또는 이벤트들이 보조 프로세서로의 제어의 이전을 요구하거나 또는 프롬프트할 수도 있다. 예를 들어, 사용자는 컴퓨터의 배터리 수명을 보전하는 동작들을, 이를테면 메뉴를 선택하거나, 특정 버튼을 누르거나, 또는 노트북 또는 넷북 컴퓨터의 디스플레이 부분을 닫음으로써 개시할 수도 있다. 다른 예로서, 사용자가 오디오 또는 DVD 플레이어 애플리케이션을 활성화시킬 때, 사용자의 애플리케이션과의 상호작용은 보조 전력 모드의 활성화를 트리거할 수도 있다. 추가 예는 보조 전력 모드를 활성화하라는 명령을 포함하는 메시지를 네트워크, 이를테면 무선 네트워크로부터 수신하는 것이다. 발신지에 무관하게, 컴퓨터의 CPU는 이 명령 또는 신호를 수신하여 보조 전력 모드로 전이시킬 수도 있다 (단계 316). 보조 프로세서는 이를테면 그것이 무선 모뎀 카드의 구성요소일 때 이미 전력을 공급받을 수도 있으므로, 전이를 개시하는 부분인 그 프로세서를 활성화시킬 필요는 없을 수도 있다.
제어를 컴퓨터의 보조 프로세서에 이전하기 위한 준비를 위하여, 컴퓨터의 CPU는 시스템 상태 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 공유 메모리 속에 캐싱할 수도 있다 (단계 318). 그렇게 함에 있어서, 컴퓨터의 CPU는 공유 메모리 속에 보조 프로세서가 사용자에 대한 최소의 혼란으로 처리를 인수하기 위하여 요구할 정보의 모두를 로딩할 수도 있다. 캐싱된 시스템 정보는 현재의 디스플레이에 관련된 데이터, 현재의 프로세스들에 관한 상태 정보, 현재의 전력 관리 상태에 관한 정보, 현재 동작중인 애플리케이션들의 ID, 및 동작 조건에 관련된 애플리케이션 데이터를 포함할 수도 있다.
시스템 정보를 공유 메모리 내에 캐싱하는 대신, 단계 318에서 보조 프로세서는 시스템 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 통신 채널을 경유하여 CPU에 통신할 수도 있다. 이 대체 단계 318에서, 현재 열려 있는 애플리케이션들, 현재 열려 있는 애플리케이션들의 랜덤 액세스 메모리 (즉, 공유 메모리) 에 저장된 데이터의 메모리 주소들과 같은 정보, 뿐만 아니라 다른 상태 정보를 포함하여, 보조 프로세서로부터 제어를 인수하기 위해 보조 프로세서에 의해 요구된 정보는 통신될 수도 있다.
추가의 실시형태에서는, 단계 318에서 보조 프로세서는 시스템 상태 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터의 일부분을 공유 메모리에 저장하고 시스템 상태 정보, 전체 시스템 데이터, 현재의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터의 나머지 부분을 공유 채널을 통해 통신할 수도 있다.
보조 프로세서는 전이 루틴을 실행하여 공유 메모리에 저장되고 및/또는 통신 채널을 통해 수신되는 상태 정보에 액세스하고, 컴퓨터 기능들의 제어를 인수하도록 자신을 구성할 수도 있다 (단계 320). 이 단계의 부분으로서, 보조 프로세서는 공유 메모리에 저장된 상태 정보를 이용하여 제어를 담당하자마자 비슷한 운영 조건이 실행될 수 있도록 자신의 상태들을 구성할 수도 있다. 또한, 보조 프로세서는 컴퓨터의 CPU상에서 현재 실행중인 애플리케이션들을 결정하며, 그런 애플리케이션들의 상응하는 규모 축소 버전들을 로딩하고, 애플리케이션 데이터를 공유 메모리로부터 로딩할 수도 있다.
CPU에서부터 보조 프로세서로의 제어의 전이를 위한 준비의 부분으로서 현재 실행중인 애플리케이션들은 두 프로세서들 간에 동기될 수도 있다 (단계 321). 다시, 실행중인 애플리케이션들을 동기화하는 목적은 사용자의 관점에서 애플리케이션 기능의 원활한 전이를 제공하는 것이다. 애플리케이션들을 동기시키는 프로세스의 추가의 설명은 도 14를 참조하여 아래에서 제공된다.
도 13을 참조하여 상술한 바와 같이, 컴퓨터의 CPU 또는 보조 프로세서는 옵션으로는 운영상의 제어 이전을 확인 또는 동의할 것을 사용자에게 프롬프트하는 디스플레이를 생성하고 그래서 제어를 보조 프로세서로 이전하기 전에 운영 모드들을 변경할 수도 있다 (옵션 단계 310). 이 단계에서, 디스플레이가 생성되어 사용자에게 보조 프로세서로의 제어의 이전이 막 일어나려고 함을 경고하고 사용자에게 하나 이상의 키들을 두드려 그러한 이전에 동의하거나 또는 하나 이상의 다른 키들을 두드려 제어 이전 프로세스를 중단시킬 것을 요구할 수도 있다. 보조 프로세서 또는 컴퓨터의 CPU는 사용자의 입력을 수신하고 사용자가 제어 전환에 동의하였는지를 결정할 수도 있다 (옵션적인 결정 단계 311). 보조 프로세서 및 컴퓨터의 CPU가 사용자 입력이 동의에 해당한다 (즉, 결정 단계 311 = "예") 고 결정하면, 보조 프로세서 및 컴퓨터의 CPU는 단계 322로 진행함으로써 제어 이전을 달성할 수도 있다. 보조 프로세서 및 컴퓨터의 CPU가 사용자 입력이 이견 또는 프로세스 중단 명령에 해당한다 (즉, 결정 단계 311 = "아니오") 고 결정하면, 제어 전환은 CPU 제어 하의 처리로 되돌아감으로써 중단되어, 운영 상태 314로 되돌아갈 수도 있다. 상기 언급된 바와 같이, 옵션적인 사용자 확인 단계는 구현되지 않을 수 있거나, 필수적인 프로세스로서 구현될 수 있거나, 또는 사용자 구성가능 기능으로서 구현될 수도 있다.
일단 보조 프로세서가 동작을 위해 자신을 구성하고 적절한 애플리케이션들 및 애플리케이션 데이터를 작업 메모리 속에 로딩하면, 모뎀 프로세서 및 컴퓨터의 CPU는 협력하여 제어를 보조 프로세서에 이전할 수도 있다 (단계 322). 이 제어 이전은 단일 단계에서 일어날 수도 있거나 또는 일련의 단계들에서 구현예에 의존하여 달성될 수도 있다. 일단 이전이 달성되면, 처리는 보조 프로세서의 제어 하에서 계속될 수 있다 (단계 300). 이 시점에, 컴퓨터의 CPU는 배터리 수명을 보존하기 위하여, 전원이 꺼질 수도 있거나 또는 저 전력 상태, 이를테면 대기 또는 슬립 모드로 놓일 수도 있다. 컴퓨터의 CPU의 전원을 끄는 것 외에도, 다른 컴퓨터 구성요소들 및 주변장치들이 배터리 전력을 추가로 절약하기 위하여 전원이 꺼질 수도 있다.
CPU에서부터 보조 프로세서로, 또는 그 반대의 경우로 전이하는 것의 부분으로서, 보조 프로세서상에서 실행중인 애플리케이션들은 컴퓨팅 디바이스 CPU상에서 실행중인 상응하는 애플리케이션들과 동기될 수도 있다. 상기 언급된 바와 같이, CPU 및 보조 프로세서는 상이한 운영 체제들 (예컨대, Windows® 대 BREW®) 하에서 동작하고 상이한 애플리케이션들을 실행할 수도 있다. 예를 들어, 보조 프로세서는 CPU상에서 실행되는 애플리케이션들의 완전 편집 기능들 또는 규모 축소 버전들 없이 문서 뷰어들을 실행할 수도 있다. 사용자의 체험을 향상시키기 위하여, 2개의 프로세서들상에서 실행되는 상응하는 애플리케이션들은 거의 유사하고 일관된 방식으로 행동하고 거의 동일한 집합의 애플리케이션 데이터에 액세스할 수도 있다. 게다가, 하나의 프로세서로부터 다른 것으로의 전이가 사용자의 열려 있는 애플리케이션들과의 상호작용에 최소의 충격을 준다면 유익할 것이다. 이러한 성과가 성취된다면 사용자는 특정 프로세서가 제어 중에 있음을 거의 알아차리지 못할 것이고, 애플리케이션을 사용하는 사용자의 능력은 제어 또는 하나의 프로세서에서부터 다른 것으로의 전환 시에 프로세서에 의해 최소로 영향을 받을 것이다.
CPU 및 보조 프로세서 간에 애플리케이션들을 동기화하는 하나의 방법은 듀얼 포트를 이용하여 컴퓨팅 디바이스 하드 드라이브 (48) 에 액세스하는 것이다. 하드웨어 레벨에서 이는 이를테면 도 2 내지 도 9에 도시된 바와 같이 SATA 또는 병렬 ATA 인터페이스 (34a) 를 하드 드라이브 (48) 에 멀티플렉싱함으로써 달성될 수도 있다. 보조 프로세서 제어 하의 운영 중의 하드 드라이브 (48) 의 빈번한 사용은 소비 전력을 증가시키고 배터리 하의 동작 지속시간을 감소시킬 것이다. 그러므로, 보조 프로세서상에서 실행중인 애플리케이션들은 하드 드라이브 (48) 의 액세스들을 최소화하도록 구성될 수도 있다.
애플리케이션들을 동기화하는 다른 방법은 열려 있는 애플리케이션 데이터를 포함하여, 빈번하게 사용되는 공유된 시스템 및 애플리케이션 데이터를 위한 캐시로서 역할을 하도록 구성되는 공통의 공유 메모리를 채용하는 것이다. 이 개념의 간단한 도면이 도 14에 도시되어 있다. 노트북 컴퓨터가 CPU 모드에서 전력이 공급될 때, 공유 저장부 및 하드 드라이브는 CPU에 의해 액세스될 수도 있다. 공유 저장부 및 하드 드라이브에 대한 액세스들의 충돌이 최소화될 수도 있는데 제어 중인 프로세서만이 이러한 구성요소들에 정상적으로 액세스할 수 있어서이다. 제어 전이 프로세스 동안의 충돌들은 두 프로세서들 사이의 시그널링에 의해 회피될 수도 있다. CPU가 셧다운을 시작할 때, 또는 대기 또는 최대절전모드 (hibernation) 상태로 들어갈 때, 전체 시스템 데이터 및 빈번하게 사용되는 애플리케이션 데이터는 공유 플래시 저장부에 기록될 수ㅍ 있다. 그렇게 하면 보조 프로세서는 그것이 활성이고 처리의 제어 중일 때 데이터에 액세스할 수도 있게 된다. 가끔 보조 프로세서상에서 동작중인 애플리케이션들은 공유 저장부에 캐싱되지 않은 데이터에 대한 액세스를 필요로 할 수도 있다. 그 경우에 보조 프로세서는 하드 드라이브 (48) 에 전력을 공급하고 요구된 정보를 읽고, 그 정보를 RAM 또는 공유 저장부에 국소적으로 저장하며, 그런 다음 하드 드라이브 (48) 에 전력을 차단할 수도 있다. CPU가 기상(wake-up), 재시작, 또는 시동 이벤트를 가질 때, 공유 플래시 저장부에 저장된 애플리케이션 데이터 및 애플리케이션 콘텍스트는 하드 드라이브 (48) 상의 데이터와 동기될 수도 있다.
제 2 동기화 프로세스는 CPU 및 보조 프로세서 사이의 애플리케이션 데이터 및 애플리케이션 콘텍스트의 동기화 및 파일 호환성에 관계가 있다. 이 동기화는 CPU 운영 모드에서 상응하는 애플리케이션을 가지는 모든 보조 프로세서 애플리케이션에 대해 달성될 수도 있다. 이 동기화 작업을 잘하도록 하기 위하여, 개방형 인터페이스 데이터 정의가 모든 애플리케이션마다 제공될 수도 있다. 다르게는, 보조 프로세서상에서 실행중인 애플리케이션들은 호환 유형, 이를테면 윈도우즈 XP® 카운터파트들과 잘 동기화될 Microsoft Word Windows Mobile® 애플리케이션들일 수도 있다. 호환성 애플리케이션들이 현재 존재하는 않는 경우, 상응하는 CPU 애플리케이션들과 동일한 파일 구조로 운영될 수 있는 새로운 보조 프로세서 애플리케이션들, 이를테면 아이튠즈, 유도라, 및 파이어폭스가 기록될 수도 있다.
애플리케이션들을 동기화하는 프로세스에서, 애플리케이션 콘텍스트 데이터 역시 이전되어야 한다 (도 12의 단계 310 및 도 13의 단계 321 참조). 아래의 표 1은 공통의 애플리케이션들에 대해 2개의 프로세서들에서 동기화될 수도 있는 애플리케이션 데이터 데이터뿐만 아니라 애플리케이션 콘텍스트의 일부 예들을 열거한다. 상기 언급된 바와 같이, 애플리케이션 콘텍스트 데이터는 2개의 프로세서들 사이에서 그 데이터를 공유 저장부에 저장함으로써 또는 그 데이터를 하나의 프로세서에서부터 다른 것으로 통신 채널 (56) 을 통해 통신함으로써 동기화될 수도 있다.
애플리케이션 앱 데이터 앱 콘텍스트 예들
이메일
Figure 112012025960133-pct00001
이메일 메시지들
Figure 112012025960133-pct00002
메일 폴더들
Figure 112012025960133-pct00003
첨부물들
Figure 112012025960133-pct00004
열려 있는 메시지들
Figure 112012025960133-pct00005
모든 이메일 클라이언트 선호정보들
Figure 112012025960133-pct00006
이메일 계정들 정보
달력
Figure 112012025960133-pct00007
달력항목들
Figure 112012025960133-pct00008
달력 앱 선호정보들
미디어 플레이어
Figure 112012025960133-pct00009
미디어 라이브러리 (호환 파일 포맷들, 및 DRM 호환성
Figure 112012025960133-pct00010
플레이리스트들
Figure 112012025960133-pct00011
사용자 선호정보들
Figure 112012025960133-pct00012
미디어 플레이 횟수, 개인평, 오디오 볼륨
브라우저
Figure 112012025960133-pct00013
북마크들/링크들
Figure 112012025960133-pct00014
사용자 선호정보들
Figure 112012025960133-pct00015
보안 설정들
Figure 112012025960133-pct00016
플러그인들 (예 구글 툴바) 및 그것들의 선호정보들
Figure 112012025960133-pct00017
파비콘들
DVD 플레이어
Figure 112012025960133-pct00018
n/a
현재 재생중인 DVD의 챕터 및 시간
공유 메모리를 활용하는 실시형태 프로세스가 도 14에 도시되어 있다. 이 실시형태에서, 마더보드 회로 (50) 및 보조 프로세서 (20) 사이의 통신 채널 (56) 은 CPU의 제어 하의 운영 동안의 네트워크 (예, WAN) 통신들, 뿐만 아니라 하나의 프로세서에서부터 다른 것으로 전이가 시작될 것임을 시그널링하기 위해 사용될 수도 있다. CPU 운영 동안 하드 드라이브 (48) 는 CPU (50) 에 의해 데이터 액세스 (60) 를 경유하여 정상적인 방식으로 빈번하게 액세스될 수도 있지만, 보조 프로세서가 운영하는 동안, 하드 드라이브 (48) 는 배터리 상의 전력 소모를 최소화하기 위하여 보조 프로세서 (20) 에 의해 데이터 액세스 (62) 를 경유하여 가끔만 액세스될 수도 있다. CPU (50) 로부터 보조 프로세서 (20) 로의 제어의 전환 전 또는 그 전환 시에, 이를테면 대기, 최대절전 또는 셧다운과 같은 CPU 온 이벤트들 시에, CPU는 최근에 사용된 데이터를 액세스들 (64) 을 경유하여 공유 저장부 (32) 에 캐싱할 수도 있다. 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터를 보조 프로세서 (20) 상에서 실행중인 애플리케이션들과 동기화하기 위하여, 보조 프로세서는 이러한 애플리케이션을 위한 데이터를 공유 저장부 (32) 로부터 데이터 액세스 (66) 를 경유하여 읽을 수도 있다. 제어가 보조 프로세서 (20) 로부터 CPU (50) 로 다시 이전될 때, 프로세스는 역으로 되어, 기상, 재시작 또는 시동 이벤트에 의거하여 CPU 동기화 데이터를 공유 저장부 (32) 로부터 CPU로 되돌려지게 할 수도 있다.
보조 프로세서가 CPU로부터의 제어를 인수하는 것과 그 반대로 하는 것을 가능하게 하기 위하여, 다양한 정보가 하나의 프로세서에서부터 다른 것으로 통신되어야만 한다. 이 정보는, 예를 들어, 상술한 바와 같은 현재 실행중인 애플리케이션들의 목록, 실행중인 애플리케이션들에 의해 사용되는 애플리케이션 데이터, 및 애플리케이션 콘텍스트 데이터를 포함할 수도 있다. 애플리케이션 정보의 예들은, 이메일 메시지들, 이메일 메시지들의 첨부물들, 열려 있는 문서들, 웹 브라우저 상의 북마크들 등을 포함한다. 부가하여, 진행중인 네트워크 접속들 및 무선 데이터 호출들 (예, 접속된 서비스들 및 소켓들의 IP 어드레스들 및 포트 번호들 ), 주변장치 디바이스 사용 및 상황, 및 전력 시스템 상황 및 상태와 같이, 컴퓨터 시스템들 및 주변장치들에 관한 정보는 통신될 수도 있다. 다른 시스템 상태 정보는 하나의 프로세서에서부터 다른 것으로 송신되는 것이 필요할 수도 있다. 이 개시물 또는 청구항들의 범위를 제한하는 일없이 참조의 편이를 위해, 제어 이전 시에 2개의 프로세서들 간에 통신되는 애플리케이션, 주변장치 및 컴퓨터 상황 정보는 여기서는 때때로 "운영 상태 정보"라고 하는데 이는 제어가 이전될 때 이 정보가 컴퓨터의 운영 상태에 관련되거나 그 운용 상태를 설명해서이다. 여기서 사용되는 바와 같이, 용어 "운영 상태 정보"는 상태 기계의 정보로 제한되지 않는다.
도 15는 운영 제어를 노트북 컴퓨터 (250) 내의 무선 모뎀 카드 252로부터 노트북 컴퓨터의 CPU에 이전하기 위한 특정 실시형태의 프로세스들을 도시한다. 컴퓨터가 모뎀 프로세서의 제어 하에 운영중일 때 (단계 300), 컴퓨터는 컴퓨터의 CPU로의 제어 이전을 시작함을 알려주는 다양한 신호들을 수신할 수도 있다. 제 1 예로서, 모뎀 프로세서는 컴퓨터의 CPU를 활성화시키라는 내부 신호들을, 이를테면 수신된 메시지 또는 인식된 애플리케이션의 상태에 응답하여 인식할 수도 있다 (단계 330). 제 2 예로서, 모뎀 프로세서는 편집 또는 유사한 수정들을 지원할 수 없는 문서 뷰어 애플리케이션에 의해 디스플레이 상에 표시되는 문서의 변경을 소망함을 나타내는 사용자 입력을 수신할 수도 있다 (단계 332). 제 3 예로서, 모뎀 프로세서는 컴퓨터의 전원 버튼의 누름, 전원 공급 메뉴 옵션의 선택, 노트북 컴퓨터를 엶, 또는 여타의 사용자 입력과 같은, 컴퓨터의 CPU를 활성화시키기 위한 사용자로부터 입력된 명령을 수신할 수도 있다 (단계 334).
모뎀 프로세서가 컴퓨터의 CPU를 활성화하라는 요구를 인식할 때 그 모뎀 프로세서는 CPU에 현재 전력이 공급중인지를 결정할 수도 있다 (결정 단계 340). CPU에 전력이 공급되지 않으면 (즉, 결정 단계 340 = "아니오"), 모뎀 프로세서는 CPU를 부팅하라는 명령을 내릴 수도 있다 (단계 342). 컴퓨터의 CPU에 전력을 공급하는 것에 관계가 있는 프로세스들은 그 시간에 CPU가 존재하는 상태에 의존할 것이다. CPU에 완전히 전력 공급이 없다면, 콜드 부트 루틴이 실행되는 것이 필요할 수도 있다. 한편, CPU가 대기 또는 슬립 모드에 있다면, CPU를 최대 출력으로 기능하도록 복원하는 것에 관련된 그런 프로세스들만이 실행될 것이다.
컴퓨터 CPU가 활성이면 (즉, 결정 단계 340 = "예") 또는 CPU 부트 프로세스가 개시된 후라면 (단계 342), 모뎀 프로세서는 컴퓨터상에서 현재 열려 있는 임의의 문서들이 있는지를 결정할 수도 있다 (결정 단계 344). 문서가 열려 있다면 (즉, 결정 단계 344 = "예"), 모뎀 프로세서는 그 문서 및 상태를 공유 메모리 내에 캐싱할 수 있다 (단계 346). 열려 있는 문서가 없다면 (즉, 결정 단계 344 = "아니오") 또는 열려 있는 문서 상태가 공유 메모리 내에 보관된 후 (단계 346), 모뎀 프로세서는 공유 메모리 속에 컴퓨터의 주변장치들의 상태, 운영 체제, 전력 관리, 및 유사한 운영 조건들에 관한 정보를 보관할 수도 있다 (단계 348).
상술한 바와 같이, 시스템 정보를 공유 메모리 내에 캐싱하는 대신, CPU는 단계 346 및 348에서 시스템 정보를 통신 채널을 경유하여 보조 프로세서에 통신할 수도 있다. 이 대체예에서, 현재 열려 있는 애플리케이션들, 현재 열려 있는 애플리케이션들의 랜덤 액세스 메모리 (즉, 공유 메모리) 에 저장된 데이터의 메모리 주소들과 같은 정보, 뿐만 아니라 다른 상태 정보를 포함하여, 제어를 인수하기 위해 보조 프로세서에 의해 요구된 정보는 통신될 수도 있다.
일단 애플리케이션 데이터 및 운영 상태 정보의 모두가 공유 메모리 내에 캐싱되었거나 또는 모뎀 프로세서에 통신되었다면, 모뎀 프로세서는 컴퓨터의 CPU에 제어를 CPU로 전환할 준비가 되었음을 시그널링할 수도 있다 (단계 350). 이 신호는 컴퓨터의 CPU가 제어를 전환하는 프로세스들로 진행해야할 때를 결정하기 위해 액세스할 수 있는 인터럽트 또는 메모리 플래그의 형태일 수도 있다.
컴퓨터의 CPU가 부팅되고 모뎀 프로세서로부터 제어 전이가 시작될 수 있다는 신호를 수신하는 경우, 그 CPU는 공유 메모리에 액세스하여 주변장치들, 운영 체제 상태, 전력 관리 상태 및 기타 컴퓨터 주변장치들에 관한 운영 상태 정보를 얻을 수도 있다 (단계 352). CPU는 이 운영 상태 정보를 이용하여 주변장치들의 모두의 제어를 인수하는 것을 현재의 운영 상태의 제어와 일관되는 방식으로 준비할 수도 있다. 컴퓨터의 CPU는 공유 메모리로부터 컴퓨터상에서 현재 열려 있는 어떤 문서들의 상태를 나타내는 정보를 얻을 수도 있다 (단계 354). 예를 들어, 텍스트 문서가 열려 있다면, 공유 메모리는 그 문서의 디스플레이 상에 보이는 특정 부분을 나타낼 수도 있다. 다르게는, 공유 메모리는 전체 문서 데이터를 담기에 충분한 크기일 수도 있다. 컴퓨터의 CPU는 컴퓨터상에서 현재 실행중인 애플리케이션들을 공유 메모리 내의 운영 상태 정보로부터 추가로 결정하고 그 애플리케이션들 중 적당한 정상 버전들을 로딩할 수도 있다 (단계 356). 다르게는, 운영을 인수하고 및 상응하는 애플리케이션들을 실행하기 위해 CPU가 요구한 정보는 보조 프로세서에 의해 2개의 프로세서들 사이의 통신 링크를 경유하여 통신될 수도 있다.
또한 로딩된 애플리케이션들을 이용하여, 컴퓨터의 CPU는 띄워져 있는 애플리케이션들에 관련된, 컴퓨터 상의 현재 열려 있는 문서들을 로딩할 수도 있다. 예를 들어, Word® 문서가 보조 전력 모드 하에서 운영중인 컴퓨터 상에 보여졌다면, 컴퓨터의 CPU는 온전한 Word® 애플리케이션을 로딩하고 그 후 온전한 문서를 메모리 (예, 하드 디스크 메모리) 로부터 로딩할 수도 있다. 다른 예로서, 전자 메일 메시지가 열려있었던 반면 컴퓨터는 보조 전력 모드 하에서 운영중이었다면, CPU는 이메일 애플리케이션 (예컨대, Microsoft Office®) 을 로딩한 다음 열려 있는 이메일 메시지를 메모리 (예컨대, 공유 메모리 또는 하드 디스크 메모리) 로부터 로딩할 수도 있다. 문서들을 로딩하는 것의 부분으로서, 컴퓨터의 CPU는 공유 메모리로부터 얻어진 문서의 애플리케이션 데이터 및 애플리케이션 콘텍스트 데이터 (예컨대, 단계 354에서 얻어진 정보) 를 이용하여, 그 문서를 디스플레이 상에 현재 표시된 특정 페이지 또는 면까지 열 수도 있다.
일단 컴퓨터의 CPU가 적당한 상태를 이행하도록 자신을 구성하며, 적당한 애플리케이션들 및 문서들을 로딩하거나, 그렇지 않고 처리 제어를 담당할 준비가 되면, 그 CPU는 모뎀 프로세서에 막 제어를 담당하려고 함을 시그널링할 수도 있다 (단계 358). 이 시점에, 컴퓨터의 CPU는 컴퓨터, 그것의 디스플레이, 그것의 전력 관리 시스템, 및 그것의 주변장치들의 제어를 담당할 수도 있고 (단계 362), 한편 모뎀 프로세서는 컴퓨터 주변장치들의 제어를 포기한다 (단계 360). 제어를 담당하는 프로세스는 컴퓨터의 CPU로 및 그로부터의 제어 신호들의 라우팅을 시작할 것을 스위치들 또는 멀티플렉서 회로들 (이를테면 도 6 내지 도 9에 도시된 멀티플렉서 회로들 (36, 38, 40, 41, 42, 및 52)) 에 시그널링함으로써 달성될 수도 있다. 일단 컴퓨터의 CPU가 제어를 담당하면, 컴퓨터의 운영은 정상 운영 모드로 진행할수 있다 (단계 314).
도 16은 운영 제어를 노트북 컴퓨터 (250) 의 CPU로부터 그 컴퓨터에 설치된 무선 모뎀 카드 (252) 로 이전하기 위한 특정 실시형태의 프로세스들을 도시한다. 컴퓨터가 컴퓨터의 CPU의 제어 하에 운영중일 때 (단계 314), 컴퓨터는 모뎀 프로세서로의 제어 이전을 시작함을 알려주는 다양한 신호들을 수신할 수도 있다. 제 1 예로서, 컴퓨터의 CPU는 보조 프로세서 모드로 이전해야 함을 나타내는 내부 신호를 인식할 수도 있다 (단계 370). 예를 들어, CPU는 사용자가 소정 기간 컴퓨터와 상호작용하지 않았다고 결정할 수도 있고, 그 시점에 CPU는 배터리 수명을 보존하기 위하여 (셧 다운 또는 현재 실사용중인 슬립 모드와는 대조적으로) 보조 프로세서 모드로의 전이를 개시할 수도 있다. 다른 예로서, 컴퓨터의 CPU는 현재 활성화되어 있는 애플리케이션, 이를테면 DVD 또는 오디오 플레이어가 보조 프로세서 모드에서 실행될 수 있다고 인식할 수도 있다. 이러한 애플리케이션들을 위한 보조 프로세서 모드로의 전환은 사용자들이 동일한 배터리 충전에 대해 훨씬 더 긴 기간 동안 애플리케이션을 즐길 수 있게 할 수도 있다. 다른 예로서, 컴퓨터는 컴퓨터의 CPU에 보조 전력 모드를 지시하는 코드를 포함하는 전자 메시지, 이를테면 배터리 전력을 보존할 것을 CPU에 지시하는 SMS 메시지를 수신할 수도 있다. 제 2 예로서, CPU는 사용자가 전원 버튼을 누르는 것, 메뉴 옵션을 활성화시키는 것, 또는 노트북 컴퓨터의 디스플레이를 닫는 것과 같이 CPU를 비활성화할 것을 지시하는 명령을 수신할 수도 있다 (단계 372).
컴퓨터의 CPU가 보조 프로세서 모드를 활성화하려는 신호를 인식하거나 또는 수신하는 경우, 그 CPU는 현재 열려 있는 문서들이 있는지를 결정할 수도 있다 (결정 단계 374). 하나 이상의 문서들이 현재 열려 있다면 (즉, 결정 단계 374 = "예"), CPU는 그런 문서들의 상태를 공유 메모리에 저장한다 (단계 376). 공유 메모리에 저장된 정보는 모뎀 프로세서가 제어를 담당할 때 모뎀 프로세서가 문서의 유사한 디스플레이를 표시하는 것을 가능하게 하기에 충분할 것이다. 열려 있는 문서가 없다면 (즉, 결정 단계 374 = "아니오") 또는 열려 있는 문서 상태가 공유 메모리 내에 보관된 후 (단계 376), 컴퓨터의 CPU는 공유 메모리 속에 컴퓨터의 주변장치들의 상태, 운영 체제, 전력 관리, 및 유사한 운영 조건들에 관한 정보를 보관할 수도 있다 (단계 378).
상술한 바와 같이, 시스템 정보를 공유 메모리 내에 캐싱하는 대신, CPU는 단계 376 및 378에서 애플리케이션 데이터 및 운영 상태 정보를 통신 채널을 경유하여 보조 프로세서에 통신할 수도 있다. 이 대체예에서, 현재 열려 있는 애플리케이션들, 현재 열려 있는 애플리케이션들의 랜덤 액세스 메모리 (즉, 공유 메모리) 에 저장된 데이터의 메모리 주소들과 같은 정보, 뿐만 아니라 다른 상태 정보를 포함하여, 제어를 인수하기 위해 보조 프로세서에 의해 요구된 정보는 통신될 수도 있다.
일단 애플리케이션 데이터 및 운영 상태 정보가 공유 메모리 내에 캐싱되었다면, 컴퓨터의 CPU는 모뎀 프로세서에 제어를 전환할 준비가 되었음을 시그널링할 수도 있다 (단계 380). 이 신호는 모뎀 프로세서가 제어를 전환하는 프로세스들로 진행해야할 때를 결정하기 위해 액세스할 수 있는 인터럽트 또는 메모리 플래그의 형태일 수도 있다.
모뎀 프로세서가 컴퓨터의 CPU로부터 제어 전이가 시작될 수 있다는 신호를 수신하는 경우, 그 모뎀 프로세서는 공유 메모리에 액세스하여 주변장치들, 운영 체제 상태, 전력 관리 상태 및 기타 컴퓨터 주변장치들에 관한 주변장치 상태 정보를 얻을 수도 있다 (단계 382). 모뎀 프로세서는 이 주변장치 상태 정보를 이용하여 주변장치들의 적어도 일부의 제어를 인수하는 것을 현재의 운영 상태의 제어와 일관되는 방식으로 준비할 수도 있다. 모뎀 프로세서는 공유 메모리로부터 컴퓨터상에서 현재 열려 있는 어떤 문서들의 상태를 나타내는 운영 상태 정보를 얻을 수도 있다 (단계 384). 예를 들어, 이메일 메시지 또는 텍스트 문서가 열려 있다면, 공유 메모리 (또는 프로세서들 사이의 통신 채널을 경유한 데이터 통신) 는 문서 또는 문서들의 디스플레이상에서 보이는 특정 부분들을 나타낼 수도 있다. 다르게는, 공유 메모리는 전체 문서 데이터를 담기에 충분한 크기일 수도 있다. 모뎀 프로세서는 컴퓨터상에서 현재 실행중인 애플리케이션들을 공유 메모리 내의 운영 상태 정보로부터 추가로 결정하고 그 애플리케이션들 중 적당한 규모 축소 버전들을 로딩할 수도 있다 (단계 386). 또한 로딩된 애플리케이션들을 이용하여, 모뎀 프로세서는 띄워져 있는 애플리케이션들에 관련된, 컴퓨터 상의 현재 열려 있는 문서들을 로딩할 수도 있다. 예를 들어, Word® 문서가 열려있었던 반면 컴퓨터는 정상 운영 모드에 있었다면, 모뎀 프로세서는 Word® 문서 뷰어 애플리케이션을 로딩한 다음 그 문서의 적어도 일부분을 메모리 (예컨대, 공유 메모리 또는 하드 디스크 메모리) 로부터 로딩할 수도 있다. 다른 예로서, 전자 메일 메시지가 열려있었던 반면 컴퓨터는 정상 운영 모드에 있었다면, 모뎀 프로세서는 이메일 뷰어 애플리케이션을 로딩한 다음 열려 있는 이메일 메시지를 메모리 (예컨대, 공유 메모리 또는 하드 디스크 메모리) 로부터 로딩할 수도 있다. 또한 문서들을 로딩하는 것의 부분으로서, 모뎀 프로세서는 공유 메모리에 저장된 운영 상태 정보로부터 얻어진 또는 내부 프로세서 통신 채널을 경유하여 통신된 문서 애플리케이션 및 애플리케이션 콘텍스트 데이터 (예컨대, 단계 384에서 얻어진 정보) 를 이용하여, 그 문서를 디스플레이 상에 현재 표시된 특정 페이지 또는 면까지 열 수도 있다.
일단 모뎀 프로세서가 적당한 상태를 이행하도록 자신을 구성하며, 적당한 애플리케이션들 및 문서들을 로딩하거나, 그렇지 않고 처리 제어를 담당할 준비가 되면, 모뎀 프로세서는 컴퓨터의 CPU에 막 제어를 담당하려고 함을 시그널링할 수도 있다 (단계 388). 이 시점에, 모뎀 프로세서는 컴퓨터, 그것의 디스플레이, 그것의 전력 관리 시스템, 및 그것의 주변장치들의 제어를 담당할 수도 있고 (단계 392), 한편 컴퓨터의 CPU는 컴퓨터 주변장치들의 제어를 포기한다 (단계 390). 제어를 담당하는 프로세스는 모뎀 프로세서로 및 그로부터의 제어 신호들의 라우팅을 시작할 것을 스위치들 또는 멀티플렉서 회로들 (이러한 멀티플렉서 회로들은 도 6 내지 도 9에 도시된 36, 38, 40, 41, 42, 및 52이다) 에 시그널링함으로써 달성될 수도 있다. 일단 모뎀 프로세서가 제어를 담당하면, 컴퓨터의 운영은 보조 프로세서로 진행할 수 있다 (단계 300). 또한, 일단 모뎀 프로세서가 제어를 담당하면, 컴퓨터의 CPU는 정상 셧다운 프로세스를 시작하여 비활성화되거나 또는 저 전력 상태 이를테면 대기 또는 슬립 모드에 들어갈 수도 있다 (단계 394).
대체 실시형태에서, 컴퓨터를 제어하고 있는 프로세서는 공유 메모리 내에 저장된 상태 데이터를 빈번하게 업데이트하여서 이 공유 메모리는 현재의 운영 상태를 정확히 반영할 수도 있다. 이 실시형태는 2개의 운영 모드들 간에 더 빠른 전이들을 가능하게 할 수도 있는데 제어 전이가 일어나기 전에는 상태 데이터가 공유 메모리에 저장될 필요가 없어서이다. 도 17은 모뎀 프로세서로부터 컴퓨터의 CPU로 제어를 이전하기 위한 이 실시형태에 따른 일 예의 방법을 도시한다. 컴퓨터가 모뎀 프로세서의 제어 하에 운영중인 동안 (단계 300), 모뎀 내의 오버헤드 처리의 부분은 현재의 운영 상태가 공유 메모리 내에 저장된 운영 상태로부터 변경되었는지를 주기적으로 결정하는 단계 (결정 단계 400) 포함할 수도 있다. 이 결정 단계는 운영 상태 정보를 공유 메모리에 저장된 운영 상태 정보와 비교함으로써, 또는 운영이 현재의 운영 상태를 변경하였을 때 (예컨대, 애플리케이션의 종료시 또는 모뎀 데이터 호출의 종료시) 를 기록함으로써 이루어질 수도 있다. 상태 변경이 일어나지 않으면 (즉, 결정 단계 400 = "아니오"), 처리는 다음 결정이 이루어지기까지 계속될 수도 있다. 모뎀 프로세서가 상태 변경이 일어났다고 결정할 때 (즉, 결정 단계 400 = "예"), 그 프로세서는 업데이트된 운영 상태 정보 (즉, 컴퓨터 주변장치들에 관한 상황 및 구성 정보, 운영 체제 상태, 전력 상태들, 열려 있는 애플리케이션들, 및 여타 양태들) 를 공유 메모리에 저장할 수도 있다 (단계 402). 업데이트된 운영 상태 정보로써, 그 프로세서는 자신의 정상 프로세스 루틴을 계속할 수도 있다.
운영 제어의 담당을 준비하기 위하여, 컴퓨터의 CPU는 보조 프로세서 모드에 있는 동안 공유 메모리에 주기적으로 액세스하여 캐싱된 정보에 변경이 있는지를 결정할 수도 있다 (결정 단계 404). 이 결정은 공유 메모리에 저장된 정보를 다른 메모리 위치에 있는 정보와 비교함으로써, 업데이트가 이루어질 때 모뎀 프로세서에 의한 CPU 설정 (즉, 단계 402의 부분인 설정) 에 액세스가능한 플래그에 액세스함으로써, 또는 업데이트가 이루어지는 (이를테면 단계 402의 부분으로서 송신되는) 중이라는 모뎀 프로세서로부터의 신호 또는 인터럽트를 수신하여 이루어질 수도 있다. 캐싱된 정보에 변경이 없다면 (즉, 결정 단계 404 = "아니오"), CPU는 자신이 수행했던 처리가 무엇이든 그것으로 되돌아 갈 수도 있다. 예를 들어, CPU가 저 전력 모드, 이를테면 대기 또는 슬립 모드에 있었다면 그 CPU는 공유 메모리 또는 상황 플래그들을 점검하는데 충분하게 주기적으로 활성화될 수도 있다. 다르게는, 컴퓨터의 CPU는 모뎀 프로세서로부터 신호 또는 인터럽트를 수신하자마자 캐시가 변경되었는지에 관한 결정을 할 수 있을 뿐이다. 컴퓨터의 CPU가 공유 메모리에 저장된 상태 정보에 대해 변경이 있었다고 결정하는 경우 (즉, 결정 단계 404 = "예"), CPU는 공유 메모리에 액세스하여 업데이트된 상태 정보를 얻고 그것을 자신 소유의 상태 메모리 내에 저장할 수도 있다 (단계 406).
컴퓨터의 CPU가 자신의 상태 정보를 모뎀 프로세서에 의해 저장된 상태 정보와 동기하여 유지하므로, CPU는 컴퓨터의 제어를 이 실시형태에서는 매우 신속하게 담당할 수 있다. 그래서, 모뎀 프로세서가 정상 운영 모드로의 이전이 달성되어야 함을 나타내는 신호를 수신하는 경우 (단계들 330, 332, 334), 그 모뎀 프로세서는 컴퓨터의 CPU에 제어 이전 프로세스를 시작할 것을 즉시 시그널링할 수도 있다 (단계 408). 이 신호를 수신하자마자, 컴퓨터의 CPU는 모뎀 프로세서상에서 현재 동작중인 것들과 일관되는 적절한 애플리케이션들 및 문서들을 로딩할 수도 있고 (단계 356), 로딩했을 때, 컴퓨터, 디스플레이, 전력 관리 시스템, 및 여타 주변장치들의 제어를 담당하였다 (단계 362). 그 후, 모뎀 프로세서는 컴퓨터 주변장치들의 제어를 포기할 수도 있고 (단계 360), 컴퓨터는 CPU의 제어 하에 정상 운영 모드의 운영으로 진행할 수도 있다 (단계 314).
도 18은 컴퓨터의 CPU로부터 모뎀 프로세서로 제어를 이전하기 위한 이 실시형태에 따른 일 예의 방법을 도시한다. 컴퓨터가 정상 운영 모드로 운영중인 동안 (단계 314), CPU 내의 오버헤드 처리의 부분은 현재의 운영 상태가 공유 메모리에 저장된 운영 상태로부터 변경되었는지를 주기적으로 결정하는 것을 포함할 수도 있다 (결정 단계 420). 이 결정은 상태 정보를 공유 메모리에 저장된 상태 정보와 비교함으로써 또는 운영이 현재 상태를 변경할 때를 기록함으로써 이루어질 수도 있다. 상태 변경이 일어나지 않으면 (즉, 결정 단계 420 = "아니오"), 처리는 다음 결정이 이루어지기까지 계속될 수도 있다. 컴퓨터의 CPU가 상태 변경이 일어났다고 결정할 때 (즉, 결정 단계 420 = "예"), CPU는 컴퓨터 주변장치들, 운영 체제 상태, 전력 상태들, 및 여타 양태들에 관한 업데이트된 상태 정보를 공유 메모리에 저장할 수도 있다 (단계 422). 업데이트된 상태 정보로써, CPU는 자신의 정상 프로세스 루틴을 계속할 수도 있다.
운영 제어의 담당을 준비하기 위하여, 모뎀 프로세서는 정상 운영 모드에 있는 동안 공유 메모리에 주기적으로 액세스하여 캐싱된 정보에 변경이 있는지를 결정할 수도 있다 (결정 단계 424). 이 결정은 공유 메모리에 저장된 정보를 다른 메모리 위치에 있는 정보와 비교함으로써, CPU에 의한 모뎀 프로세서 설정 (즉, 단계 422의 부분인 설정) 에 액세스가능한 플래그에 액세스함으로써, 또는 단계 422의 부분으로서 송신되는 컴퓨터의 CPU로부터의 신호 또는 인터럽트를 수신하여 이루어질 수도 있다. 캐싱된 정보에 변경이 없다면 (즉, 결정 단계 424 = "아니오"), 프로세서는 자신이 수행했던 처리가 무엇이든 그것으로 되돌아 갈 수도 있다. 예를 들어, 모뎀 프로세서는 모뎀 관련 기능들을 수행하는 것으로 되돌아갈 수도 있다. 다르게는, 컴퓨터의 CPU는 메모리에 저장된 정보 (이를테면 단계 422의 부분) 에 대해 변경이 있는지의 신호를 모뎀 프로세서에 송신할 수도 있다. 모뎀 프로세서가 공유 메모리에 저장된 상태 정보에 대해 변경이 있었다고 결정하는 경우 (즉, 결정 단계 424 = "예"), 모뎀 프로세서는 공유 메모리에 액세스하여 업데이트된 상태 정보를 얻고 그것을 자신 소유의 상태 메모리 내에 저장할 수도 있다 (단계 426).
모뎀 프로세서가 자신의 상태 정보를 컴퓨터의 CPU에 의해 공유 메모리에 저장된 상태 정보와 동기하여 유지하므로, 모뎀 프로세서는 컴퓨터의 제어를 매우 신속하게 담당할 수 있다. 그래서, 컴퓨터의 CPU가 정상 운영 모드로의 이전이 달성되어야 함을 나타내는 신호를 수신하는 경우 (단계 430), 그 CPU는 모뎀 프로세서에 제어 이전 프로세스를 시작할 것을 즉시 시그널링할 수도 있다 (단계 432). 이 신호를 수신하자마자, 모뎀 프로세서는 컴퓨터의 CPU상에서 현재 동작중인 것들과 일관되는 적절한 애플리케이션들 및 문서들을 로딩할 수도 있고 (단계 386), 로딩했을 때, 컴퓨터, 디스플레이, 전력 관리 시스템, 및 여타 주변장치들의 제어를 담당하였다 (단계 392). 그 후, 컴퓨터의 CPU는 컴퓨터 주변장치들의 제어를 포기할 수 있고 (단계 390), 컴퓨터는 모뎀 프로세서의 제어 하에 보조 프로세서 모드의 운영을 시작할 수도 있다 (단계 300). 일단 제어가 모뎀 프로세서로 전환되면, 컴퓨터의 CPU는 비활성화 되거나 또는 저 전력 상태로 들어갈 수도 있다 (단계 394).
상술한 다양한 실시형태들은 다수의 유용한 애플리케이션들을 가지는데, 특히 무선 모뎀 카드 상의 보조 프로세서가 저 전력 보조 프로세서 모드에 있는 동안 외부 무선 네트워크들과의 통신들을 유지할 수 있기 때문이다. 그래서, 노트북 컴퓨터 (250) 가 보조 프로세서 모드에 있는 경우에도, 그 컴퓨터는 도 19에 도시된 것과 같은 통신 네트워크들에 접속된 채로 유지될 수도 있다. 이러한 통신 네트워크에서, 노트북 컴퓨터 (250) 는 외부 네트워크들, 이를테면 인터넷 (433) 과는 유선 접속부들 (434) 을 통해, 뿐만 아니라 무선 접속부들 (420) 과는 무선 통신 네트워크를 통해 통신할 수도 있다. 이러한 무선 통신 네트워크는 네트워크 라우팅 장비 (426) 에 결합되는 기지국 안테나 (422) 를 구비할 수 있다. 이 무선 통신 네트워크는 데이터 통신을 서버 (428) 에 대해 제공할 수도 있고 이 서버는 인터넷 (430) 에 결합될 수도 있다. 그래서, 노트북 컴퓨터 (250) 가 보조 프로세서 모드에 있을 경우, 그 노트북 컴퓨터는 떨어져 있는 컴퓨터 (432) 와는 네트워크 서버 (428) 를 통해 인터넷 (430) 에 링크될 수 있는 무선 통신 (420) 을 경유하여 통신할 수도 있다. 이러한 통신들은 예를 들어, SMS 또는 MMS 메시지, 이메일, 셀룰러 데이터 네트워크 또는 모바일 브로드캐스트 네트워크를 포함하여, 임의의 공지된 통신 방법을 통할 수도 있다.
다양한 실시형태들 중의 어느 것에 따라 컴퓨터를 보조 프로세서 모드에서 운용하도록 구성된 무선 모뎀 카드를 갖는 노트북 컴퓨터 (250) 는 컴퓨터 동작들을 원격 제어하는데 사용될 수도 있는 다양한 무선 메시지들을 통해 어드레싱될 수도 있다. 보조 프로세서 모드에서 운영중인 무선 모뎀 카드가 애플리케이션 또는 컴퓨터 CPU를 기상시키려는 메시지를 수신할 수 있는 일부 예의 애플리케이션들이 도 20 내지 도 27을 참조하여 아래에서 설명된다. 이러한 애플리케이션들에서 활용될 수도 있는 통신 네트워크 내의 다른 컴퓨팅 디바이스들에 의해 구현되는 네트워크 구성요소들 및 방법들의 추가의 설명은 "Method And System For Activating Computer Applications With SMS Messaging"라는 명칭으로 2009년 4월 27일에 출원된 미국 특허 출원 제12/430,642호에 기재되어 있고, 그 전체 내용은 참고문헌으로 여기에 통합된다.
도 20은 보조 프로세서 모드에 있는 컴퓨터의 운영을 인수하도록 구성된 무선 모뎀 카드를 갖는 컴퓨터에 실시형태에 따라 그 컴퓨터 상의 애플리케이션을 활성화하기 위하여 사용자가 단문 메시지 서비스 (SMS) 메시지를 송신할 수도 있는 애플리케이션을 도시한다. 컴퓨터가 보조 프로세서 모드에 있는 경우, 무선 모뎀은 SMS 메시지를 수신할 수도 있다 (단계 500). 모뎀 프로세서는 수신된 SMS 메시지를 그것의 구성요소들에 대한 정보를 얻기 위하여 파싱하도록 구성될 수도 있다 (단계 501). SMS 메시지가 예들이 도 28a 내지 도 28c를 참조하여 아래에서 더 상세히 논의될 기상 호출로서 구성된다면, 모뎀 프로세서는 그 메시지를 특수 처리를 요구하는 것으로서 인식할 것이다 (단계 502). 그 경우에, 모뎀 프로세서는 메시지 페이로드를 얻고 그것을 사용하여 시작되어야 할 애플리케이션을 결정할 수도 있다 (단계 504). 예를 들어, 메시지 페이로드는 시작되어야할 애플리케이션의 이름 및 메모리 어드레스를 얻기 위하여 페이로드를 데이터 테이블과 비교함으로써 해석될 수 있는 애플리케이션용 식별자를 포함할 수도 있다. 이 정보를 이용하면, 모뎀 프로세서는 상응하는 애플리케이션을 활성화시킬 수 있다 (단계 505). 일단 그 애플리케이션이 실행중이거나 또는 완료되면, 모뎀 프로세서는 올웨이즈 온 또는 항상 접속됨 기능을 제공하는 것과 같이 이전의 상태로 복귀할 수도 있다 (단계 550).
도 20을 참조하여 상술한 이 방법의 단계들 (500 내지 505) 은 활성화되는 특정 애플리케이션에 따라 다수의 유용한 기능들을 성취하기 위해 이행될 수도 있다. 도 21은 활성화된 애플리케이션이 원격으로 활성화되어 이메일을 다운로드하고 그래서 이메일 서버 내의 받은편지함 (inbox) 폴더를 비울 수도 있는 전자 메일 프로그램일 수 있는 실시형태들의 일 예의 애플리케이션을 도시한다. 사용자가 이메일 애플리케이션을 활성화하고 착신 이메일을 다운로드하라는 명령을 포함하는 SMS 또는 유사한 메시지를 사용자의 컴퓨팅 디바이스에 송신할 수도 있다. 이러한 메시지는 보조 프로세서 모드에서 운영중인 무선 모뎀에 의해 수신되고 (단계 500), 도 20을 참조하여 상술한 바와 같이 평가되어 (단계들 501-504) 이메일 애플리케이션이 모뎀 프로세서 내에서 활성화될 것이라고 결정될 것이다 (단계 506). 그러면 이메일 애플리케이션 또는 다른 네트워크 관리 애플리케이션은 데이터 통신 링크를 네트워크, 이를테면 인터넷에 대해, 그리고 그 네트워크를 통해 사용자의 이메일 서버에 대해 확립할 수 있다 (단계 507). 이메일 서버에서 확립된 접속을 이용하여, 이메일 애플리케이션은 사용자의 이메일 받은편지함에 보류중인 이메일들을 다운로드하고 그것들을 컴퓨터의 하드 드라이브 상에 저장할 것이다 (단계 508). 사용자의 이메일 서버 세팅들 및 계정에 따라, 이메일 서버는 전송된 이메일들을 이메일 받은편지함 폴더로부터 삭제할 수 있고, 이것에 의해 이메일들을 더 수신할 수도 있다. 일단 이메일들이 다운로드되면, 모뎀 프로세서는 항상 접속됨 특징에 관련된 기능들로 복귀할 수도 있다 (단계 550).
도 22는 사용자가 SMS 또는 유사한 메시지를 보조 프로세서 모드로 운영중인 컴퓨터에 송신하여 애플리케이션 또는 애플리케이션 업그레이드들을 네트워크로부터 다운로드할 수도 있게 하는 실시형태들의 다른 예의 애플리케이션들 도시한다. SMS 또는 유사한 메시지는 도 20 (단계들 500-504) 을 참조하여 상술한 바와 같이 무선 모뎀에 의해 수신되고 처리되어 그 메시지가 프로그램 다운로드 또는 업데이트 다운로드 애플리케이션을 활성화하라는 명령을 포함하는지를 결정할 것이다. 지정된 프로그램 다운로드 또는 프로그램 업데이트 다운로드 애플리케이션은 모뎀 프로세서에서 활성화된다 (단계 509). 그러면 이 애플리케이션 또는 모뎀 프로세서는 네트워크 접속, 이를테면 인터넷에 대한 접속, 및 그 네트워크를 경유한 다운로드할 프로그램 또는 업데이트를 저장하는 서버에 대한 접속을 확립할 수도 있다 (단계 507). 다운로드의 발신지의 IP 어드레스 또는 URL은 SMS 메시지 페이로드 내에 포함될 수도 있다. 다운로드 애플리케이션은 발신지 서버로부터의 특정한 프로그램 또는 프로그램 업데이트의 다운로드를 요구할 수도 있다 (단계 510). 다운로드할 특정한 프로그램 또는 업데이트는 파일명에 의해 또는 SMS 메시지 페이로드 내에 포함된 URL로 식별될 수도 있다. 그런 다음 다운로드 애플리케이션은 연락되는 서버와 협력하여 프로그램 또는 프로그램 업데이트 다운로드를 수신하고 처리한다 (단계 511). 일부 경우들에서, 프로그램 또는 프로그램 업데이트의 설치 완료는 컴퓨터의 CPU에 의한 처리를 필요로 할 수도 있는데, 이 경우, 모뎀 프로세서는 운영 제어의 이전이 다운로드 처리를 완료하기 위하여 달성되어야함을 CPU에 시그널링할 수도 있다 (단계 511a). 컴퓨터의 CPU로 그리고 모뎀 프로세서로 되돌리는 이러한 제어 이전은 도 12 내지 도 18을 참조하여 상술한 바와 같이 일어날 수도 있다. 일단 다운로드 처리가 완료되면, 컴퓨터는 보조 프로세서 모드로 복귀하여 항상 접속됨 특징이 제공될 수도 있다 (단계 550).
도 23은 사용자가 SMS 또는 유사한 메시지를 컴퓨터에 그 컴퓨터가 파일들을 자신의 하드 드라이브로부터 삭제하거나 아니면 개인 정보를 보호하게끔 하기 위하여 송신할 수도 있는 실시형태들의 다른 예의 애플리케이션을 도시한다. 컴퓨터의 하드 드라이브 상의 모든 파일들의 삭제가 컴퓨터를 쓸모없도록 만들 수도 있기 때문에, 이 파일 삭제 유틸리티는 "시아나이드(cyanide)" 애플리케이션이라고 한다. 이러한 유틸리티는 사유의 정보를 담고 있는 컴퓨터가 분실 또는 도난된 경우에 유용할 수도 있는데 이것이 사용자들이 파일 파괴 프로세스를 원격으로 활성화할 수 있게 해서이다. 이 기능을 도둑이 감지하지 못하고 비활성화하는 것을 보장하기 위하여, 컴퓨터는 보조 프로세서 모드로는 항상 접속하나 정상 운영 모드에 있지 않을 때에는 항상 접속됨 특징이 활성화되도록 미리 구성될 수도 있다. 다르게 말하면, 보조 프로세서 모드는 컴퓨터의 효과적인 "오프" 조건일 수도 있다. 상기 언급된 바와 같이, 다양한 실시형태들은 이러한 컴퓨터가 셀룰러 또는 유사한 무선 데이터 네트워크에 대해 메시지들을 수신하기 위하여 접속을 유지하거나 주기적으로 액세스할 수 있게 한다. 시아나이드 애플리케이션을 활성화하기 위하여, 사용자는 비밀 인증 코드를 담고 있는 (비밀이라서 인가된 사용자만이 시아나이드 애플리케이션을 개시할 수 있음) SMS 메시지를 (이를테면 셀룰러 전화기로부터) 컴퓨터에 송신할 수도 있다. SMS 또는 유사한 메시지는 시아나이드 애플리케이션이 활성화되어야 한다고 결정하도록 도 20 (단계들 500-504) 을 참조하여 상술한 바와 같이 무선 모뎀에 의해 수신되고 처리될 수도 있다. 그러면 모뎀 프로세서는 시아나이드 애플리케이션을 활성화시킬 수도 있고 (단계 512), 이 시아나이드 애플리케이션은 시아나이드 명령이 신뢰할 수 있다는 것을 확인하기 위하여 SMS 메시지로 수신된 비밀 인증 코드를 메모리에 저장된 인증 값 또는 암호화된 크리덴셜(credential)과 비교할 수도 있다 (단계 513). 시아나이드 애플리케이션이 무력화되거나 무심코 활성화되지 않는 것을 보장하기 위하여 인증 코드는 암호화될 수도 있거나 또는 비교 처리는 주지의 암호화 인증 기법들을 사용할 수도 있다. 수신된 시아나이드 명령이 인증된다면, 모뎀 프로세서는 컴퓨터의 하드 드라이브뿐만 아니라 비휘발성 메모리로부터 모든 데이터를 삭제하는 루틴을 실행할 수도 있다 (단계 514). 일단 시아나이드 동작들이 완료되면, 모뎀 프로세서는 응답 메시지를 원본 SMS 메시지의 송신자에 송신하여 그 동작들이 취해졌음을 확인할 수도 있다 (단계 515). 이러한 메시지는 사용자들이 그들의 컴퓨터가 보호되었다고 안심시킬 수도 있다. 마지막으로, 모뎀 프로세서는 모뎀 프로세서의 셧다운을 포함하여 컴퓨터의 완전 셧다운을 실행할 수도 있다 (단계 516). CPU 운영 체제 또는 부팅 명령들이 하드 드라이브로부터 삭제되었었다면, 모뎀 프로세서의 셧다운 동작은 부트 디스크 없이는 컴퓨터를 쓸모없게 만들 수도 있다. 그래서, 컴퓨터는 일단 컴퓨터 하드 드라이브가 재포맷되고 새로운 운영 체제가 로딩되어야만 유용할 수도 있다. 저장된 데이터를 더 보호하기 위하여, 모뎀 프로세서는 디스크 인덱싱 레코드를 단순히 지우는(clear) 대신에 하드 드라이브로부터 정보를 실제로 삭제하는 공지의 기법들을 이용하여 파일들을 삭제하도록 구성될 수도 있다.
도 24는 사용자가 SMS 또는 유사한 메시지를 컴퓨터에 송신하여 그 컴퓨터가 자신의 현재 위치를 무선 데이터 메시지에 의해 보고하도록 할 수도 있는 실시형태들의 다른 예의 애플리케이션을 도시한다. 이 애플리케이션은 컴퓨터가 분실 또는 도난되었을 때 유용할 수도 있는데 이 애플리케이션이 사용자들의 컴퓨터가 "오프" 상태에 있을 때에도 사용자들이 그 컴퓨터를 찾을 수 있게 할 것이라서이다. 이 기능이 LoJack®으로 알려진 자동 도난 방지 서비스와 유사하므로, 이는 원격 기동식 위치 보고 애플리케이션은 여기서는 로잭 (LoJack) 애플리케이션이라고 한다. 이 기능을 도둑이 감지하여 비활성화하지 못하게 하는 것을 보장하기 위하여, 컴퓨터는 컴퓨터의 "오프" 상태가 항상 접속됨 특징을 이행하는 보조 프로세서 모드이도록 구성될 수도 있다. 로잭 애플리케이션을 활성화하기 위하여, 사용자는 SMS 메시지를 컴퓨터에 송신하여 활성화를 위한 애플리케이션을 식별할 수도 있다. SMS 또는 유사한 메시지는 로잭 애플리케이션이 활성화되어야한다고 결정하도록 도 20 (단계들 500-504) 을 참조하여 상술한 바와 같이 무선 모뎀에 의해 수신되고 처리될 수도 있다. 모뎀 프로세서는 로잭 애플리케이션을 활성화할 수도 있다 (단계 517). 로잭 애플리케이션은 컴퓨터 내의 GPS 수신기 (이는 실시형태에서 무선 모뎀 카드의 부분일 수도 있다) 를 활성화시키고 컴퓨터의 GPS 좌표들을 얻는 것을 시작한다 (단계 518). GPS 좌표들이 수신된 경우, 로잭 애플리케이션은 메시지, 이를테면 단계 500에서 수신된 활성화 메시지의 송신자에 (또는 미리 지정되고 메모리에 저장될 수도 있는 다른 어드레스에) 어드레싱되는 SMS 또는 이메일 메시지를 생성할 수도 있다 (단계 519). 모뎀 프로세서는 좌표 메시지를 현재 확립된 무선 데이터 접속을 이용하여 또는 메시지를 전송하기 전에 다른 네트워크, 이를테면 인터넷에 대한 데이터 접속을 확립함으로써 전송할 수도 있다 (단계 520). 로잭 애플리케이션은 컴퓨터들의 사용자 또는 관계자에게 현재 위치를 알려주기 위하여, 위치 좌표들을 얻고 그것들을 목적지 어드레스에 전송하는 프로세스를 반복하여서, 단계들 518-520을 반복할 수도 있다. 사용자 또는 관계자가 비활성화 명령을 가지는 다른 SMS 또는 유사한 메시지를 송신함으로써 로잭 애플리케이션을 비활성화시킬 수도 있다 (단계 531). 이러한 메시지는 도 20을 참조하여 상술한 방식으로 수신되고 처리될 것이다 (단계 500-504). 이러한 메시지가 수신되는 경우, 모뎀 프로세서는 보조 프로세서 모드로 복귀하여 항상 접속됨 특징이 제공될 수도 있다 (단계 550).
이러한 로잭 애플리케이션 소프트웨어는 무선 모뎀의 펌웨어 내에 포함될 수도 있어서 그 기능은 모뎀을 제거하지 않는 한 방해받지 않을 수도 있다. 무선 모뎀이 노트북 컴퓨터 배터리에 직접 접속될 수도 있으므로, 모뎀 프로세서는 컴퓨터가 완전히 셧다운된 때에도 (즉, 정상 운영 모드 또는 보조 프로세서 모드에 있지 않아도) 활성인 채로 남아서 로잭 활성 메시지를 청취할 수도 있다. 무선 모뎀 카드가 GPS 수신기를 구비한 실시형태에서, 로잭 기능은 안테나들 외에는 어떤 다른 컴퓨터 구성요소들이라도 액세스하는 일없이 무선 모뎀 카드에 의해 제공될 수도 있다.
도 25는 사용자의 컴퓨터가 보조 프로세서 모드에 있을 때 컴퓨터의 사용자에게 인스턴트 메시징 (IM) 세션을 시작할 것을 개인들이 프롬프트할 수 있게 하는 실시형태들의 다른 예의 애플리케이션을 도시한다. 개인이 IM 세션을 시작하기를 소망할 때, 그 개인은 사용자의 컴퓨터에 SMS 또는 유사한 메시지를 송신하여 IM 애플리케이션을 활성화할 것을 사용자의 컴퓨터에 알려줄 수 있다. 이러한 메시지는 도 20 (단계들 500-504) 을 참조하여 상술한 바와 같이 무선 모뎀에 의해 수신되고 처리되어 IM 애플리케이션이 활성화되어야한다고 결정할 수도 있다 (단계 522). 모뎀 프로세서 또는 모뎀 프로세서상에서 실행중인 IM 애플리케이션은 메시지 페이로드로부터 디스플레이용 초기 IM 메시지, 뿐만 아니라 IM 메시지를 이용한 응답 시에 사용하기 위한 송신자의 어드레스를 결정할 수도 있다 (단계 523). 또한 모뎀 프로세서는 네트워크, 이를테면 인터넷에 대한 접속을 확립할 수도 있고 (단계 507), 그런 다음 IM 세션을 정상적인 형태로 개시할 수도 있다 (단계 524). 이 애플리케이션은 사용자들이 IM 메시지들을 통해 빈번하게 통신할 때 유용할 수도 있지만 그들의 컴퓨터들의 배터리 수명을 연장하기 위하여 그들 컴퓨터들을 보조 프로세서 모드에서 운영하는 것을 필요로 할 수도 있다.
도 26은 사용자들이 SMS 또는 유사한 메시지를 컴퓨터에 송신함으로써 비디오 카메라를 원격으로 활성화시킬 수 있는 실시형태들의 다른 예의 애플리케이션을 도시한다. 이러한 메시지는 도 20 (단계들 500-504) 을 참조하여 상술한 바와 같이 무선 모뎀에 의해 수신되고 처리되어 비디오 애플리케이션이 모뎀 프로세서에서 활성화되어야한다고 결정될 수도 있다 (단계 525). 또한 모뎀 프로세서 또는 비디오 애플리케이션은 캡처링된 비디오 이미지들을 특정 목적지 어드레스, 이를테면 URL 또는 이메일 어드레스에 전송하기 위하여, 네트워크, 이를테면 인터넷에 대한 접속을 확립할 수도 있다 (단계 507). 이러한 목적지 주소는 애플리케이션을 활성화시켰던 SMS (또는 유사한) 메시지의 페이로드에 포함될 수도 있다. 비디오 애플리케이션은 컴퓨터에 결합된 비디오 카메라를 활성화시키고 이미지들의 수신을 시작할 수도 있다 (단계 526). 모뎀 프로세서는 수신된 비디오를 활성화 메시지 내에 포함된 어드레스로 전송할 수도 있다 (단계 527). URL 목적지 어드레스의 경우에, 이러한 비디오 이미지들은 비디오 스트림으로서 송신될 수도 있다. 목적지 어드레스가 메시징 어드레스 (예컨대, 이메일 어드레스) 인 경우에, 비디오 클립들은 기록될 수 있고 그 클립들은 개별 메시지들로 순차 송신될 수도 있다. 비디오 전송들은 컴퓨터에 비디오 애플리케이션을 종료할 것을 지시하는 다른 SMS 또는 유사한 메시지가 수신되기까지 계속될 수도 있다 (단계 528). 이러한 종료 메시지는 도 20을 참조하여 상술한 바와 같이 처리될 수도 있다 (단계 500-504). 비디오 애플리케이션이 종료될 때, 모뎀 프로세서는 보조 프로세서 모드로 복귀하여 항상 접속됨 특징이 제공될 수도 있다 (단계 550).
도 27은 사용자가 컴퓨터에 그것의 하드 드라이브에 저장된 파일들을 전송할 것을 원격으로 명령할 수도 있는 실시형태들의 다른 예의 애플리케이션을 도시한다. 이 애플리케이션은 다운로드할 파일 및 이 파일이 송신되어야 할 목적지 서버를 식별하는 간단한 SMS 또는 유사한 활성화 메시지를 송신함으로써 사용자들이 그들의 컴퓨터를 보조 프로세서 모드에 두도록 하고 파일들을 다른 위치에 다운로드할 수도 있게 한다. 이러한 활성화 메시지는 도 20 (단계들 500-504) 을 참조하여 상술한 바와 같이 무선 모뎀에 의해 수신되고 처리되어 파일 전송 애플리케이션이 모뎀 프로세서에서 활성화되어야한다고 결정되게 하고 (단계 529), 전송되어야 할 파일들을 결정한다 (단계 530). 모뎀 프로세서 또는 파일 전송 애플리케이션은 네트워크, 이를테면 인터넷에 대한 접속을 확립하고 (단계 507), 데이터 통신 접속, 이를테면 파일 전송이 달성되게 할 개방형 소켓을 개방할 수도 있다 (단계 531). 목적지 서버 어드레스, 이를테면 URL은 SMS 활성화 메시지 내에 포함될 수도 있고 개방 소켓 확립 시에 사용하기 위해 모뎀 프로세서에 의해 얻어질 수도 있다. 일단 개방 소켓이 확립되면, 모뎀 프로세서는 활성화 메시지에서 식별되는 파일들을 컴퓨터의 하드 드라이브 (또는 다른 메모리) 로부터 목적지 서버에 전송하는 것을 시작할 수도 있다 (단계 532). 일단 파일 전송이 완료되면, 파일 전송 애플리케이션은 종료될 수도 있고 모뎀 프로세서는 항상 접속됨 특징이 제공되는 보조 프로세서 모드로 복귀될 수도 있다 (단계 550).
도 20 내지 도 27을 참조하여 상술한 다양한 애플리케이션들을 활성화하는데 사용된 SMS 또는 유사한 메시지는 도 28a 내지 도 28c에 도시된 예들과 유사한 포맷들을 사용할 수도 있다. 예를 들어, 활성화 메시지 (600) 는 도 28a에 도시된 필드들을 포함할 수도 있다. 이러한 메시지는 메시지를 전달하는 것뿐만 아니라 메시지의 송신자를 식별하는 것에 관련된 어드레스들을 포함하는 헤더 부분 (602), 및 메시지가 활성화 메시지로서 해석되어야 함을 나타내는 것으로서 모뎀 프로세서가 인식할 수 있게 하는 식별자 또는 코드, 이를테면 "기상" 메시지 ID (604) 를 포함할 수도 있다. 또한 이 메시지는 모뎀 프로세서들이 활성화해야 할 특정한 애플리케이션을 식별하는 정보 또는 코드를 포함하는 애플리케이션 식별자 필드 (606) 를 포함할 수도 있다. 이 기술분야의 숙련된 자에 의해 이해될 수도 있는 바와 같이, 시작될 애플리케이션을 식별하고 메시지를 메시지 활성화 메시지로서 식별하는 코드들은 모뎀 프로세서가 인식할 수 있는 단일 코드로 쉽사리 결합될 수도 있다. 덧붙여, 활성화 메시지는 이 메시지에 의해 활성화되는 애플리케이션에 대한 정보를 구비할 수도 있는 페이로드 필드 (608) 를 포함할 수도 있다. 예를 들어, 페이로드 필드 (608) 는 데이터 통신 링크를 확립하기 위한 어드레스들 또는 URL, 액세스되거나 전송될 파일들의 이름들, 디스플레이될 메시지들, 또는 애플리케이션 활성화 코드들을 운반하는데 사용될 수도 있다.
활성화 메시지가 신뢰할 수 있다는 것을 보장하기 위하여, 이 메시지는 수신하는 모뎀 프로세서가 인증할 수 있는 인증 코드들 또는 토큰들을 도 28b에 도시된 바와 같이 구비할 수도 있다. 이것은 인증 필드 (610) 를 메시지 내에 구비시킴으로써 달성될 수도 있다. 이 인증 필드 (610) 는 모뎀 프로세서가 통신을 인증하는데 사용할 수 있는 토큰, 코드 또는 암호 해시 값을 구비하는데 사용될 수도 있다. 인증은 다양한 주지의 암호 인증 기법들 중의 어느 것을 이용하여 달성될 수도 있다.
또한 추가의 보안성을 제공하기 위하여, 활성화 메시지는 도 28c에 도시된 바와 같이, 사용자 인증 필드 (612) 를 구비하여, 인증된 사용자들만이 컴퓨터를 원격으로 활성화시킬 수 있는 것을 보장할 수도 있다. 메시지 인증 필드 (610) 과 비슷하게, 사용자 인증 필드 (612) 는 모뎀 프로세서가 사용자를 인증하는데 사용할 수 있는 토큰, 코드 또는 암호 해시 값을 포함할 수도 있다. 이러한 사용자 인증은 다양한 주지의 암호 인증 기법들 중의 어느 것을 이용하여 달성될 수도 있다.
앞선 예의 애플리케이션들은 다양한 실시형태들이 채용될 수도 있는 사용들 중의 표본일 뿐이다. 여타 유용한 애플리케이션들은 다음을 포함한다:
존재 정보, 이를테면 현재 위치, 사업체들 또는 근처의 시설에 관한 정보, 및 현재 위치에 관련한 다른 정보를 유지함으로써, 노트북 컴퓨터가 연장된 배터리 수명을 가지는 GPS 시스템처럼 기능을 할 수 있게 하며;
사용자들이 노트북 컴퓨터의 배터리를 소모하는 일없이 모바일 게임들을 국부적으로 플레이하거나 또는 대화식 웹 게임들을 3G 네트워크를 통해 플레이할 수 있게 하며;
사용자들이 노트북 컴퓨터 프로세서를 활성화시키는 일없이, 레스토랑, 영화, 디렉토리, 뉴스 등을 위해 인터넷을 신속히 브라우징할 수 있게 하며;
사용자들이 노트북 컴퓨터 프로세서를 활성화시키는 일없이, 구글™ 맵스, 구글 어스, 또는 마이크로소프트 라이브 서치™ 맵스와 같은 GPS 및 인터넷 매핑 애플리케이션들을 통하여 길 안내를 받을 수 있게 하며;
사용자들이 노트북 컴퓨터 프로세서를 활성화시키는 일없이, 컴퓨터에 결합된 유선 또는 블루투스 헤드셋을 통해 전화 호들을 생성하거나 수신할 수 있게 하며; 그리고
사용자들이 노트북 컴퓨터 프로세서를 활성화시키는 일없이, 모바일 브로드캐스트 텔레비전, 이를테면 미디어플로 (MediaFLO) 또는 다른 모바일 TV 브로드캐스트 시스템들, 또는 비디오 스트리밍을 인터넷을 통해 시청할 수 있게 한다.
상술한 실시형태들은 다양한 컴퓨팅 디바이스들 중의 어느 것, 이를테면 도 29에 도시된 노트북 컴퓨터 (250) 상에 구현될 수도 있다. 이러한 노트북 컴퓨터 (250) 는 무선 모뎀 카드 (252) 에 결합된 프로세서 (661) 를 담고 있는 하우징 (602) 을 통상 구비한다. 컴퓨터 (250) 는 휘발성 메모리 (662) 및 대용량 비휘발성 메모리, 이를테면 프로세서 (661) 및 무선 모뎀 카드 (252) 양쪽 모두에 결합된 하드 디스크 드라이브 (663) 를 통상 구비할 수도 있을 것이다. 또한 컴퓨터 (250) 는 프로세서 (661) 및 무선 모뎀 카드 (252) 에 결합되는 플로피 디스크 드라이브 (664) 및 콤팩트 디스크 (CD) 또는 DVD 드라이브 (665) 를 구비할 수도 있다. 컴퓨터 하우징 (602) 은 프로세서 (661) 및 무선 모뎀 카드 (252) 양쪽 모두에 결합되는 것들인 터치패드 (667), 키보드 (668), 및 디스플레이 (54) 를 통상 구비하기도 한다. 일부 실시형태들에서, 노트북 컴퓨터 (250) (또는 여타 컴퓨터) 는 프로세서 (661) 및 무선 모뎀 카드 (252) 양쪽 모두에 결합되는 비디오 카메라 (669) 를 구비할 수도 있다.
또한 도 29는 통상 코-프로세서를 포함할 보조 프로세서가 CD 또는 DVD 드라이브 (665) 내에 구비되는 실시형태들로 구현될 수도 있는 구성요소 구성들을 도시한다.
다양한 실시형태들이 컴퓨터 프로세서 (661) 와 무선 모뎀 카드 (252) (또는 DVD 드라이브 (665) 와 같은 다른 구성요소들) 내의 모뎀 프로세서 (20) 에 의해 구현되어 설명된 방법들 중의 하나 이상을 구현하도록 구성된 소프트웨어 명령어들을 실행할 수도 있다. 이러한 소프트웨어 명령어들은 메모리 (662, 663) 내에 개별 애플리케이션들로서, 또는 발명 양태를 구현하는 컴파일된 소프트웨어로서 저장될 수도 있다. 게다가, 소프트웨어 명령어들 및 데이터베이스들은 랜덤 액세스 메모리 (13, 662), 하드 디스크 메모리 (663), 플로피 디스크 (플로피 디스크 드라이브 (664) 에서 판독가능), 콤팩트 디스크 (CD 드라이브 (665) 에서 판독가능), 전기 소거가능/프로그램가능 판독 전용 메모리 (EEPROM), 판독 전용 메모리 (이를테면 플래시 메모리 (13)), 및/또는 컴퓨터 (250) 에 꽂아진 메모리 모듈 (미도시), 이를테면 USB 네트워크 포트 (도 29에는 미도시) 에 꽂아진 외부 메모리 칩 또는 USB 접속가능 외부 메모리 (예컨대, "플래시 드라이브") 를 포함하여, 어떤 형태의 유형의 프로세서-판독가능 메모리 상에 저장될 수도 있다.
상기 언급된 바와 같이, 일 실시형태에서, 보조 프로세서는 휴대용 모뎀 디바이스를 형성하도록 작은 형태 내에 USB 허브를 구비한 패키지를 구비하는 MSM/MDM의 형태일 수도 있다. 도 30은 이러한 휴대용 모뎀 디바이스 (700) 내에 구비될 수도 있는 구성요소들을 도시한다. 구체적으로는, 휴대용 모뎀 디바이스 (700) 는 내부 프로세서를 구비한 MSM/MDM 칩셋 (703), MSM/MDM 칩셋 (703) 에 결합된 메모리 (702), 이를테면 플래시 메모리, MSM/MDM 칩셋 (703) 에 결합된 안테나 (704), 그리고 MSM/MDM 칩셋 (703) 및 USB 커넥터 (706) 에 결합된 USB 인터페이스 또는 허브 회로 (705) 를 구비할 수도 있다. 휴대용 모뎀 디바이스 (700) 는 휴대용 모뎀 디바이스 (700) 가 컴퓨터 USB 포트에 접속될 때 USB 커넥터(706) 를 통해 수신되는 전력으로 재충전될 수 있는 재충전가능 배터리를 더 구비할 수도 있다. 휴대용 모뎀 디바이스 (700) 의 구성요소들은 하우징 (704) 내에 통합되어 그 디바이스가 튼튼해지고 디루기 쉬워질 수도 있게 한다.
상술한 방법 설명들 및 프로세스 흐름도들은 구체적인 예들로서만 제공되고 다양한 실시형태들의 단계들이 표시된 순서로 반드시 수행되어야 함을 요구하거나 의미하도록 의도된 것은 아니다. 이 기술분야의 숙련된 자에 의해 이해될 바와 같이 앞서의 실시형태들에서의 순서의 단계들은 어떤 순서로도 수행될 수도 있다. 단어들 이를테면 "그 후", "그러면", "다음에" 등은 단계들의 순서를 한정하려는 의도는 아니고; 이들 단어들은 단지 방법들의 기재를 통하여 독자에게 설명하는데 사용된다. 게다가, 단수형으로, 예를 들어, 관사 "a", "an" 또는 "the"의 사용에 해당하는 것으로 여겨질 수 있는 청구항 요소들에 대한 어떤 참조라도, 그 요소를 단수형으로 제한하는 것으로 해석되지는 않는다.
여기에 개시된 실시형태들과 관련하여 설명되는 각종 예시적인, 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이것 둘의 조합들로 구현될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호 교환 가능성을 명백하게 예증하기 위하여, 전술된 다양하고 예시적인 구성요소, 블록, 모듈, 회로 및 단계들은 일반적으로 그들의 기능성을 이용하여 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 의하여 부가되는 특정 애플리케이션 및 디자인 한정 사항에 의하여 구현된다. 당업자들은 전술된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나도록 하는 것으로 해석되지 않아야 한다.
여기에 개시된 양태들에 관련하여 설명된 다양한 실례의 로직들, 논리 블록들, 모듈들, 및 회로들을 구현하는데 사용되는 하드웨어는 여기에 설명된 기능들을 수행하도록 고안된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 여타 프로그램가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 그것들의 어떤 결합물로 구현되거나 실시될 수도 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대체예에서, 이 프로세서는 어떤 기존의 프로세서, 제어기, 마이크로제어기, 또는 상태 기계(state machine)일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어 DSP 및 마이크로프로세서의 조합, 복수 개의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 어떤 여타의 이러한 구성으로도 구현될 수도 있다. 다르게는, 일부 단계들 또는 방법들이 주어진 기능에 특화된 회로에 의해 수행될 수도 있다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그것들의 어떤 조합으로도 구현될 수도 있다. 소프트웨어로 구현된다면, 기능들은 하나 이상의 명령어들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 전송될 수도 있다. 여기에 개시된 방법 또는 알고리즘의 단계들은 컴퓨터 판독가능 매체 상에 상주할 수도 있는 프로세서 실행가능 소프트웨어 모듈로 실시될 수도 있다. 컴퓨터 판독가능 매체는 한 장소에서 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 어떤 매체라도 포함하는 컴퓨터 저장 매체 및 통신 매체 양쪽 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스 가능할 수도 있는 이용가능한 어떤 매체라도 될 수도 있다. 예로서, 및 비제한적으로, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타의 광 디스크 스토리지, 자기 디스크 스토리지, 또는 기타 자기 저장 디바이스들, 또는 소망의 프로그램 코드를 컴퓨터에 의해 액세스될 수도 있는 명령어들 또는 데이터 구조들의 형태로 운반하거나 저장하는데 사용될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 어떤 관련된 것이라도 사실상 컴퓨터 판독가능 매체라고 한다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 자원으로부터 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 회선 (DSL), 또는 무선 기술들 이를테면 적외선, 라디오, 및/또는 마이크로파를 이용하여 전송된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 디스크(Disk 및 disc)는 여기서 사용되는 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크(floppy disk) 및 블루레이 디스크(blue-ray disc)를 포함하는데, disk들은 보통 데이터를 자기적으로 재생하지만, disc들은 레이저들로써 광적으로 데이터를 재생한다. 상기한 것들의 조합들도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다. 덧붙여, 방법 또는 알고리즘의 동작들은 코드들 및/또는 명령어들의 하나 또는 어떤 결합물 또는 세트로서 컴퓨터 프로그램 제품에 통합될 수도 있는 기계 판독가능 매체 및/또는 컴퓨터-판독가능 매체 상에 존재할 수도 있다.
설명된 실시형태들의 전술한 설명은 이 기술분야의 숙련된 사람이 본 발명을 제작하고 사용할 수 있게끔 제공된다. 이들 실시형태들에 대한 다양한 변형예들은 이 기술분야의 숙련된 자들에게 쉽사리 명확하게 될 것이고, 여기에 정의된 일반 원리들은 본 발명의 정신 또는 범위로부터 벗어남 없이 다른 실시형태들에 적용될 수도 있다. 그래서, 본 발명은 여기에 나타낸 실시형태들로 한정할 의도는 아니며 다음의 청구항들 및 여기에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 부여하는 것을 의도한다.

Claims (110)

  1. 중앙 처리 유닛 (CPU) 및 보조 프로세서를 구비한 컴퓨터를 운영하는 방법으로서,
    상기 CPU로부터 상기 보조 프로세서에 운영 상태 정보를 통신하는 단계로서, 상기 보조 프로세서는 상기 CPU에 결합된 무선 모뎀 내의 프로세서인, 상기 통신하는 단계;
    상기 운영 상태 정보를 이용하여 상기 보조 프로세서의 상태를 구성하는 단계;
    컴퓨터 주변장치들의 제어를 상기 보조 프로세서에 이전하는 단계;
    상기 CPU를 저 전력 또는 비활성화 상태로 두는 단계; 및
    컴퓨터 주변장치들의 제어가 상기 보조 프로세서에 이전되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하는 단계를 포함하고,
    상기 CPU 및 상기 보조 프로세서는 운영 모드 전이를 예상하도록 구성된, 컴퓨터를 운영하는 방법.
  2. 제 1 항에 있어서,
    운영 상태 정보를 통신하는 단계는 상기 CPU로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계를 포함하는, 컴퓨터를 운영하는 방법.
  3. 제 1 항에 있어서,
    운영 상태 정보를 통신하는 단계는 상기 운영 상태 정보를 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하는 단계를 포함하는, 컴퓨터를 운영하는 방법.
  4. 제 1 항에 있어서,
    운영 상태 정보를 통신하는 단계는 상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계 및 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하는 단계를 포함하는, 컴퓨터를 운영하는 방법.
  5. 제 1 항에 있어서,
    버튼 누름, 컴퓨터의 일부분의 닫기, 수신된 전자 메시지 내에 포함된 명령, 특정 애플리케이션의 활성화, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 CPU가 수신하는 것에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 시그널링하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  6. 제 1 항에 있어서,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있는지를 결정하는 단계; 및
    상기 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있다는 결정에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  7. 제 6 항에 있어서,
    제어를 상기 보조 프로세서에 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하는 단계를 더 포함하며,
    상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계는 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 발생하는, 컴퓨터를 운영하는 방법.
  8. 제 1 항에 있어서,
    상기 CPU 상에서 애플리케이션이 활성이라고 결정하는 단계; 및
    상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키는 단계로서, 상기 상응하는 애플리케이션은 메모리에 저장된 애플리케이션 데이터를 상기 CPU 상의 애플리케이션에 의해 액세스하는, 상기 활성화시키는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  9. 제 8 항에 있어서,
    상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키는 단계는 상기 보조 프로세서가 상기 컴퓨터 주변장치들의 제어를 담당하기 전에 완수되는, 컴퓨터를 운영하는 방법.
  10. 제 1 항에 있어서,
    상기 보조 프로세서의 운영 상태를 상기 CPU의 운영 상태와 동기화시키는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  11. 제 1 항에 있어서,
    상기 CPU에 활성화할 것을 시그널링하는 단계;
    상기 보조 프로세서로부터 상기 CPU에 운영 상태 정보를 통신하는 단계;
    상기 통신된 운영 상태 정보를 이용하여 상기 CPU의 상태를 구성하는 단계;
    상기 컴퓨터 주변장치들의 제어를 상기 CPU에 복귀시키는 단계; 및
    상기 보조 프로세서에 의한 컴퓨터 주변장치들의 제어를 포기하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  12. 제 11 항에 있어서,
    운영 상태 정보를 통신하는 단계는 상기 보조 프로세서로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계를 포함하는, 컴퓨터를 운영하는 방법.
  13. 제 11 항에 있어서,
    운영 상태 정보를 통신하는 단계는 상기 운영 상태 정보를 상기 보조 프로세서와 상기 CPU 간에 통신 채널을 경유하여 통신하는 단계를 포함하는, 컴퓨터를 운영하는 방법.
  14. 제 11 항에 있어서,
    운영 상태 정보를 통신하는 단계는 상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계 및 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하는 단계를 포함하는, 컴퓨터를 운영하는 방법.
  15. 제 11 항에 있어서,
    상기 CPU에 활성화할 것을 시그널링하는 단계는 버튼 누름, 컴퓨터의 일부분의 열기(opening), 수신된 전자 메시지 내에 포함된 명령, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 보조 프로세서가 수신하는 것에 응답하여 완수되는, 컴퓨터를 운영하는 방법.
  16. 제 11 항에 있어서,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 사용자 행동(user action) 이 상기 보조 프로세서에 의해 지원될 수 없는지를 결정하는 단계; 및
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정에 응답하여 상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  17. 제 16 항에 있어서,
    상기 CPU에 제어를 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하는 단계를 더 포함하며, 상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계는 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 발생하는, 컴퓨터를 운영하는 방법.
  18. 제 16 항에 있어서,
    문서를 컴퓨터 디스플레이 상에 디스플레이하는 단계; 및
    상기 문서에 관련된 사용자 편집 명령을 수신하는 단계를 더 포함하며,
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정은 사용자 편집 명령이 동작중인 애플리케이션에 의해 지원되지 않는다는 결정을 포함하는, 컴퓨터를 운영하는 방법.
  19. 삭제
  20. 삭제
  21. 제 1 항에 있어서,
    컴퓨터 주변장치들의 제어가 상기 CPU에 복귀되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  22. 제 1 항에 있어서,
    상기 유지되는 통신 링크를 통해 전자 메시지를 수신하는 단계;
    수신된 전자 메시지를 처리하여 포함된 애플리케이션 활성화 명령을 인식하는 단계; 및
    상기 수신된 전자 메시지가 애플리케이션 활성화 명령을 포함한다고 인식될 때 상기 수신된 전자 메시지에서 식별된 애플리케이션을 상기 보조 프로세서상에서 활성화하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  23. 삭제
  24. 제 1 항에 있어서,
    운영 상태 정보는
    전체 시스템 데이터;
    애플리케이션 데이터; 및
    애플리케이션 콘텍스트 데이터를 포함하는, 컴퓨터를 운영하는 방법.
  25. 삭제
  26. 제 1 항에 있어서,
    상기 보조 프로세서는 모바일 서비스 모뎀 또는 모바일 데이터 모뎀 (MSM/MDM) 내의 프로세서이며;
    상기 MSM/MDM은 휴대용 모뎀 디바이스 내에 패키징되며, 이 휴대용 모뎀 디바이스는,
    상기 MSM/MDM에 결합된 안테나;
    상기 MSM/MDM에 결합된 배터리; 및
    상기 MSM/MDM에 결합되고 상기 MSM/MDM을 상기 CPU에 결합하도록 구성된 인터페이스 커넥터를 포함하며,
    상기 방법은 상기 휴대용 모뎀 디바이스가 상기 컴퓨터로부터 제거될 때 상기 MSM/MDM을 통해 무선 네트워크와의 통신 링크를 유지하는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  27. 제 26 항에 있어서,
    상기 휴대용 모뎀 디바이스가 상기 컴퓨터로부터 제거되어 있는 동안, 상기 유지되는 통신 링크를 통해 메시지들을 수신하는 단계; 및
    상기 휴대용 모뎀 디바이스가 상기 컴퓨터에 꽂아질 때, 상기 수신된 메시지들을 상기 컴퓨터에 이용가능하게 만드는 단계를 더 포함하는, 컴퓨터를 운영하는 방법.
  28. 제 26 항에 있어서,
    상기 MSM/MDM은 셀룰러 전화기 내에 패키징되는, 컴퓨터를 운영하는 방법.
  29. 제 26 항에 있어서,
    상기 인터페이스 커넥터는 상기 MSM/MDM에 결합된 범용 직렬 버스 (USB) 허브 회로 및 상기 USB 허브 회로에 결합된 USB 커넥터인, 컴퓨터를 운영하는 방법.
  30. 컴퓨터로서,
    메모리;
    상기 메모리에 결합된 중앙 프로세서 유닛(CPU); 및
    상기 메모리에 결합된 보조 프로세서로서, 상기 보조 프로세서는 상기 CPU에 결합된 무선 모뎀 내의 프로세서인, 상기 보조 프로세서를 포함하며,
    상기 CPU 및 상기 보조 프로세서는,
    상기 CPU로부터 상기 보조 프로세서에 운영 상태 정보를 통신하는 단계;
    상기 운영 상태 정보를 이용하여 상기 보조 프로세서의 상태를 구성하는 단계;
    컴퓨터 주변장치들의 제어를 상기 보조 프로세서에 이전하는 단계;
    상기 CPU를 저 전력 또는 비활성화 상태로 두는 단계; 및
    컴퓨터 주변장치들의 제어가 상기 보조 프로세서에 이전되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하는 단계를 수행하도록 하는 프로세서 실행가능 명령어들로 구성되고,
    상기 CPU 및 상기 보조 프로세서는 운영 모드 전이를 예상하도록 구성된, 컴퓨터.
  31. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는, 운영 상태 정보를 통신하는 단계가 상기 CPU로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계를 포함하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  32. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 운영 상태 정보를 통신하는 단계가 상기 운영 상태 정보를 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하는 단계를 포함하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  33. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 운영 상태 정보를 통신하는 단계가,
    상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계; 및
    상기 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하는 단계를 포함하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  34. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는, 버튼 누름, 컴퓨터의 일부분의 닫기, 수신된 전자 메시지 내에 포함된 명령, 특정 애플리케이션의 활성화, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 CPU가 수신하는 것에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 시그널링하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  35. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있는지를 결정하는 단계; 및
    상기 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있다는 결정에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  36. 제 35 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 제어를 상기 보조 프로세서에 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되며, 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계는 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 발생하는, 컴퓨터.
  37. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는,
    상기 CPU 상에서 애플리케이션이 활성이라고 결정하는 단계; 및
    상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키는 단계로서, 상기 상응하는 애플리케이션은 메모리에 저장된 애플리케이션 데이터를 상기 CPU 상의 애플리케이션에 의해 액세스하는, 상기 활성화시키는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  38. 제 37 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는, 상기 보조 프로세서가 상기 컴퓨터 주변장치들의 제어를 담당하기 전에 상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키는 단계가 완수되도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  39. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 상기 보조 프로세서의 운영 상태를 상기 CPU의 운영 상태와 동기화시키는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  40. 제 30 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는
    상기 CPU에 활성화할 것을 시그널링하는 단계;
    상기 보조 프로세서로부터 상기 CPU에 운영 상태 정보를 통신하는 단계;
    상기 통신된 운영 상태 정보를 이용하여 상기 CPU의 상태를 구성하는 단계;
    상기 컴퓨터 주변장치들의 제어를 상기 CPU에 복귀시키는 단계; 및
    상기 보조 프로세서에 의한 컴퓨터 주변장치들의 제어를 포기하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  41. 제 40 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 운영 상태 정보를 통신하는 단계가 상기 보조 프로세서로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계를 포함하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  42. 제 40 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 운영 상태 정보를 통신하는 단계가 상기 운영 상태 정보를 상기 보조 프로세서와 상기 CPU 간에 통신 채널을 경유하여 통신하는 단계를 포함하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  43. 제 40 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는 운영 상태 정보를 통신하는 단계가,
    상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하는 단계; 및
    상기 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하는 단계를 포함하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  44. 제 40 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는, 버튼 누름, 컴퓨터의 일부분의 열기, 수신된 전자 메시지 내에 포함된 명령, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 보조 프로세서가 수신하는 것에 응답하여 상기 CPU에 활성화할 것을 시그널링하는 단계가 완수되도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  45. 제 40 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 사용자 행동(user action)이 상기 보조 프로세서에 의해 지원될 수 없는지를 결정하는 단계; 및
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정에 응답하여 상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  46. 제 45 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는, 상기 CPU에 제어를 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되며, 상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하는 단계는 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 발생하는, 컴퓨터.
  47. 제 45 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는
    문서를 컴퓨터 디스플레이 상에 디스플레이하는 단계; 및
    상기 문서에 관련된 사용자 편집 명령을 수신하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되며,
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정은 사용자 편집 명령이 동작중인 애플리케이션에 의해 지원되지 않는다는 결정을 포함하는, 컴퓨터.
  48. 삭제
  49. 삭제
  50. 제 30 항에 있어서,
    상기 보조 프로세서는
    컴퓨터 주변장치들의 제어가 상기 CPU에 복귀되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  51. 제 30 항에 있어서,
    상기 보조 프로세서는
    상기 유지되는 통신 링크를 통해 전자 메시지를 수신하는 단계;
    상기 수신된 전자 메시지를 처리하여 포함된 애플리케이션 활성화 명령을 인식하는 단계; 및
    상기 수신된 전자 메시지가 애플리케이션 활성화 명령을 포함한다고 인식될 때 상기 수신된 전자 메시지에서 식별된 애플리케이션을 상기 보조 프로세서상에서 활성화시키는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  52. 삭제
  53. 제 30 항에 있어서,
    운영 상태 정보는
    전체 시스템 데이터;
    애플리케이션 데이터; 및
    애플리케이션 콘텍스트 데이터를 포함하는, 컴퓨터.
  54. 삭제
  55. 제 30 항에 있어서,
    상기 보조 프로세서는 모바일 서비스 모뎀 또는 모바일 데이터 모뎀 (MSM/MDM) 내의 프로세서이며;
    상기 MSM/MDM은 휴대용 모뎀 디바이스 내에 패키징되며, 이 휴대용 모뎀 디바이스는,
    상기 MSM/MDM에 결합된 안테나;
    상기 MSM/MDM에 결합된 배터리; 및
    상기 MSM/MDM에 결합되고 상기 MSM/MDM을 상기 CPU에 결합하도록 구성된 인터페이스 커넥터를 포함하며,
    상기 보조 프로세서는 상기 휴대용 모뎀 디바이스가 상기 컴퓨터로부터 제거될 때 상기 MSM/MDM을 통해 무선 네트워크와의 통신 링크를 유지하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  56. 제 55 항에 있어서,
    상기 보조 프로세서는
    상기 휴대용 모뎀 디바이스가 상기 컴퓨터로부터 제거되어 있는 동안, 상기 유지되는 통신 링크를 통해 메시지들을 수신하는 단계; 및
    상기 휴대용 모뎀 디바이스가 상기 컴퓨터에 다시 꽂아질 때, 상기 수신된 메시지들을 상기 컴퓨터에 이용가능하게 만드는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되는, 컴퓨터.
  57. 제 55 항에 있어서,
    상기 MSM/MDM은 셀룰러 전화기 내에 패키징되는, 컴퓨터.
  58. 제 55 항에 있어서,
    상기 인터페이스 커넥터는 상기 MSM/MDM에 결합된 범용 직렬 버스 (USB) 허브 회로 및 상기 USB 허브 회로에 결합된 USB 커넥터인, 컴퓨터.
  59. 중앙 프로세서 유닛 (CPU);
    상기 CPU에 결합된 무선 모뎀 내의 프로세서인, 보조 프로세서;
    상기 CPU로부터 상기 보조 프로세서에 운영 상태 정보를 통신하기 위한 수단;
    상기 운영 상태 정보를 이용하여 상기 보조 프로세서의 상태를 구성하기 위한 수단;
    컴퓨터 주변장치들의 제어를 상기 보조 프로세서에 이전하기 위한 수단;
    상기 CPU를 저 전력 또는 비활성화 상태로 두기 위한 수단; 및
    컴퓨터 주변장치들의 제어가 상기 보조 프로세서에 이전되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하기 위한 수단을 포함하고,
    상기 CPU 및 상기 보조 프로세서는 운영 모드 전이를 예상하도록 구성된, 컴퓨터.
  60. 제 59 항에 있어서,
    운영 상태 정보를 통신하기 위한 수단은 상기 CPU로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 수단을 포함하는, 컴퓨터.
  61. 제 59 항에 있어서,
    운영 상태 정보를 통신하기 위한 수단은 상기 운영 상태 정보를 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하기 위한 수단을 포함하는, 컴퓨터.
  62. 제 59 항에 있어서,
    운영 상태 정보를 통신하기 위한 수단은
    상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 수단; 및
    상기 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하기 위한 수단을 포함하는, 컴퓨터.
  63. 제 59 항에 있어서,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있는지를 결정하기 위한 수단; 및
    상기 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있다는 결정에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 수단을 더 포함하는, 컴퓨터.
  64. 제 63 항에 있어서,
    제어를 상기 보조 프로세서에 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하기 위한 수단을 더 포함하며, 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 수단은 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 상기 보조 프로세서에 자동으로 시그널링하기 위한 수단을 포함하는, 컴퓨터.
  65. 제 59 항에 있어서,
    상기 CPU 상에서 애플리케이션이 활성이라고 결정하기 위한 수단; 및
    상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키기 위한 수단으로서, 상기 상응하는 애플리케이션은 메모리에 저장된 애플리케이션 데이터를 상기 CPU 상의 애플리케이션에 의해 액세스하는, 상기 활성화시키는 위한 수단을 더 포함하는, 컴퓨터.
  66. 제 65 항에 있어서,
    상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키기 위한 수단은 상기 보조 프로세서가 상기 컴퓨터 주변장치들의 제어를 담당하기 전에 상기 상응하는 애플리케이션을 활성화시키기 위한 수단을 포함하는, 컴퓨터.
  67. 제 59 항에 있어서,
    상기 보조 프로세서의 운영 상태를 상기 CPU의 운영 상태와 동기화시키기 위한 수단을 더 포함하는, 컴퓨터.
  68. 제 59 항에 있어서,
    상기 CPU에 활성화할 것을 시그널링하기 위한 수단;
    상기 보조 프로세서로부터 상기 CPU에 운영 상태 정보를 통신하기 위한 수단;
    상기 통신된 운영 상태 정보를 이용하여 상기 CPU의 상태를 구성하기 위한 수단;
    상기 컴퓨터 주변장치들의 제어를 상기 CPU에 복귀시키기 위한 수단; 및
    상기 보조 프로세서에 의한 컴퓨터 주변장치들의 제어를 포기하기 위한 수단을 더 포함하는, 컴퓨터.
  69. 제 68 항에 있어서,
    운영 상태 정보를 통신하기 위한 수단은 상기 보조 프로세서로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 수단을 포함하는, 컴퓨터.
  70. 제 68 항에 있어서,
    운영 상태 정보를 통신하기 위한 수단은 상기 운영 상태 정보를 상기 보조 프로세서와 상기 CPU 간에 통신 채널을 경유하여 통신하기 위한 수단을 포함하는, 컴퓨터.
  71. 제 68 항에 있어서,
    운영 상태 정보를 통신하기 위한 수단은,
    상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 수단; 및
    상기 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하기 위한 수단을 포함하는, 컴퓨터.
  72. 제 68 항에 있어서,
    상기 CPU에 활성화할 것을 시그널링하기 위한 수단은 버튼 누름, 컴퓨터의 일부분의 열기, 수신된 전자 메시지 내에 포함된 명령, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 보조 프로세서가 수신하는 것에 응답하여 시그널링하기 위한 수단을 포함하는, 컴퓨터.
  73. 제 68 항에 있어서,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없는지를 결정하기 위한 수단; 및
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정에 응답하여 상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 수단을 더 포함하는, 컴퓨터.
  74. 제 73 항에 있어서,
    상기 컴퓨터는, 상기 CPU에 제어를 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하기 위한 수단을 더 포함하며,
    상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 수단은 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때, 상기 CPU에 상기 컴퓨터 주변장치들의 제어를 담당할 것을 시그널링하기 위한 수단을 포함하는, 컴퓨터.
  75. 제 73 항에 있어서,
    상기 CPU 및 상기 보조 프로세서는,
    문서를 컴퓨터 디스플레이 상에 디스플레이하는 단계; 및
    상기 문서에 관련된 사용자 편집 명령을 수신하는 단계를 더 포함하는 단계들을 수행하도록 하는 프로세서 실행가능 명령어들로 구성되며,
    상기 사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정은 사용자 편집 명령이 동작중인 애플리케이션에 의해 지원되지 않는다는 결정을 포함하는, 컴퓨터.
  76. 삭제
  77. 삭제
  78. 제 59 항에 있어서,
    컴퓨터 주변장치들의 제어가 상기 CPU에 복귀되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하기 위한 수단을 더 포함하는, 컴퓨터.
  79. 제 59 항에 있어서,
    상기 유지되는 통신 링크를 통해 전자 메시지를 수신하기 위한 수단;
    상기 수신된 전자 메시지를 처리하여 포함된 애플리케이션 활성화 명령을 인식하기 위한 수단; 및
    상기 수신된 전자 메시지가 애플리케이션 활성화 명령을 포함한다고 인식될 때 상기 수신된 전자 메시지에서 식별된 애플리케이션을 상기 보조 프로세서상에서 활성화시키기 위한 수단을 더 포함하는, 컴퓨터.
  80. 삭제
  81. 제 59 항에 있어서,
    운영 상태 정보는
    전체 시스템 데이터;
    애플리케이션 데이터; 및
    애플리케이션 콘텍스트 데이터를 포함하는, 컴퓨터.
  82. 삭제
  83. 제 59 항에 있어서,
    상기 보조 프로세서는 모바일 서비스 모뎀 또는 모바일 데이터 모뎀 (MSM/MDM) 내의 프로세서이며;
    상기 MSM/MDM은 휴대용 모뎀 디바이스 내에 패키징되며 이 휴대용 모뎀 디바이스는,
    상기 MSM/MDM에 결합된 안테나;
    상기 MSM/MDM에 전력을 공급하기 위한 수단; 및
    상기 MSM/MDM을 상기 CPU에 접속하기 위한 수단을 포함하며,
    상기 보조 프로세서는 상기 휴대용 모뎀 디바이스가 상기 컴퓨터로부터 제거될 때 상기 MSM/MDM을 통해 무선 네트워크와의 통신 링크를 유지하기 위한 수단을 더 포함하는, 컴퓨터.
  84. 제 83 항에 있어서,
    상기 휴대용 모뎀 디바이스가 상기 컴퓨터로부터 제거되어 있는 동안, 상기 유지되는 통신 링크를 통해 메시지들을 수신하기 위한 수단; 및
    상기 휴대용 모뎀 디바이스가 상기 컴퓨터에 다시 꽂아질 때, 상기 수신된 메시지들을 상기 컴퓨터에 이용가능하게 만들기 위한 수단을 더 포함하는, 컴퓨터.
  85. 제 83 항에 있어서,
    상기 MSM/MDM은 셀룰러 전화기 내에 패키징되는, 컴퓨터.
  86. 제 83 항에 있어서,
    상기 MSM/MDM을 상기 CPU에 접속하기 위한 수단은 상기 MSM/MDM에 결합된 범용 직렬 버스 (USB) 허브 회로 및 상기 USB 허브 회로에 결합된 USB 커넥터를 포함하는, 컴퓨터.
  87. 중앙 프로세서 유닛 (CPU) 으로부터, 상기 CPU에 결합된 무선 모뎀 내의 프로세서인 보조 프로세서에 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어;
    상기 운영 상태 정보를 이용하여 상기 보조 프로세서의 상태를 구성하기 위한 적어도 하나의 명령어;
    컴퓨터 주변장치들의 제어를 상기 보조 프로세서에 이전하기 위한 적어도 하나의 명령어;
    상기 CPU를 저 전력 또는 비활성화 상태로 두기 위한 적어도 하나의 명령어; 및
    컴퓨터 주변장치들의 제어가 상기 보조 프로세서에 이전되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하기 위한 적어도 하나의 명령어를 포함하고,
    상기 CPU 및 상기 보조 프로세서는 운영 모드 전이를 예상하도록 구성된, 컴퓨터 판독가능 저장 매체.
  88. 제 87 항에 있어서,
    상기 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어는 상기 CPU로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  89. 제 87 항에 있어서,
    상기 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어는 상기 운영 상태 정보를 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하기 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  90. 제 87 항에 있어서,
    상기 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어는,
    상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 적어도 하나의 명령어; 및
    상기 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하기 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  91. 제 87 항에 있어서,
    버튼 누름, 컴퓨터의 일부분의 닫기, 수신된 전자 메시지 내에 포함된 명령, 특정 애플리케이션의 활성화, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 CPU가 수신하는 것에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 시그널링하기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  92. 제 87 항에 있어서,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있는지를 결정하기 위한 적어도 하나의 명령어; 및
    상기 현재의 사용이 상기 보조 프로세서에 의해 지원될 수 있다는 결정에 응답하여 상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  93. 제 92 항에 있어서,
    제어를 상기 보조 프로세서에 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하기 위한 적어도 하나의 명령어를 더 포함하며,
    상기 보조 프로세서에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 적어도 하나의 명령어는 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 실행되는, 컴퓨터 판독가능 저장 매체.
  94. 제 87 항에 있어서,
    상기 CPU 상에서 애플리케이션이 활성이라고 결정하기 위한 적어도 하나의 명령어; 및
    상기 보조 프로세서상에서 상응하는 애플리케이션을 활성화시키기 위한 적어도 하나의 명령어로서, 상기 상응하는 애플리케이션은 메모리에 저장된 애플리케이션 데이터를 상기 CPU 상의 애플리케이션에 의해 액세스하는, 상기 활성화시키기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  95. 제 94 항에 있어서,
    상응하는 애플리케이션을 상기 보조 프로세서상에서 활성화시키기 위한 적어도 하나의 명령어는 상기 보조 프로세서가 상기 컴퓨터 주변장치들의 제어를 담당하기 전에 실행되는, 컴퓨터 판독가능 저장 매체.
  96. 제 87 항에 있어서,
    상기 보조 프로세서의 운영 상태를 상기 CPU의 운영 상태와 동기화시키기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  97. 제 87 항에 있어서,
    상기 CPU에 활성화할 것을 시그널링하기 위한 적어도 하나의 명령어;
    상기 보조 프로세서로부터 상기 CPU에 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어;
    상기 통신된 운영 상태 정보를 이용하여 상기 CPU의 상태를 구성하기 위한 적어도 하나의 명령어;
    상기 컴퓨터 주변장치들의 제어를 상기 CPU에 복귀시키기 위한 적어도 하나의 명령어; 및
    상기 보조 프로세서에 의한 컴퓨터 주변장치들의 제어를 포기하기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  98. 제 97 항에 있어서,
    상기 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어는 상기 보조 프로세서로부터의 운영 상태 정보를 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  99. 제 97 항에 있어서,
    상기 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어는 상기 운영 상태 정보를 상기 보조 프로세서와 상기 CPU 간에 통신 채널을 경유하여 통신하기 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  100. 제 97 항에 있어서,
    상기 운영 상태 정보를 통신하기 위한 적어도 하나의 명령어는
    상기 CPU로부터의 상기 운영 상태 정보의 일부분을 상기 CPU 및 상기 보조 프로세서에 의해 액세스가능한 공유 메모리에 저장하기 위한 적어도 하나의 명령어; 및
    상기 운영 상태 정보의 일부분을 상기 CPU 와 상기 보조 프로세서 간에 통신 채널을 경유하여 통신하기 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  101. 제 97 항에 있어서,
    상기 CPU에 활성화할 것을 시그널링하기 위한 적어도 하나의 명령어는 버튼 누름, 컴퓨터의 일부분의 열기, 수신된 전자 메시지 내에 포함된 명령, 및 사용자로부터 수신된 메뉴 선택 입력 중에서 선택된 신호를 상기 보조 프로세서가 수신하는 것에 응답하여 실행되는, 컴퓨터 판독가능 저장 매체.
  102. 제 97 항에 있어서,
    상기 컴퓨터와의 사용자 상호작용들을 감시하여 사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없는지를 결정하기 위한 적어도 하나의 명령어; 및
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정에 응답하여 상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  103. 제 102 항에 있어서,
    상기 CPU에 제어를 이전하는 것에 대한 동의를 나타낼 것을 사용자에게 프롬프트하는 디스플레이를 생성하기 위한 적어도 하나의 명령어를 더 포함하며,
    상기 CPU에 컴퓨터 주변장치들의 제어를 담당할 것을 자동으로 시그널링하기 위한 적어도 하나의 명령어는 제어의 이전이 진행되는 것에 대한 동의를 나타내는 사용자 입력이 수신될 때 실행되는, 컴퓨터 판독가능 저장 매체.
  104. 제 102 항에 있어서,
    문서를 컴퓨터 디스플레이 상에 디스플레이하기 위한 적어도 하나의 명령어; 및
    상기 문서에 관련된 사용자 편집 명령을 수신하기 위한 적어도 하나의 명령어를 포함하며,
    사용자 행동이 상기 보조 프로세서에 의해 지원될 수 없다는 결정을 위한 적어도 하나의 명령어는 사용자 편집 명령이 동작중인 애플리케이션에 의해 지원되지 않는다는 결정을 위한 적어도 하나의 명령어를 포함하는, 컴퓨터 판독가능 저장 매체.
  105. 삭제
  106. 제 87 항에 있어서,
    컴퓨터 주변장치들의 제어가 상기 CPU에 복귀되는 동안 무선 네트워크와의 통신 링크를 상기 무선 모뎀을 통하여 유지하기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  107. 제 87 항에 있어서,
    상기 유지되는 통신 링크를 통해 전자 메시지를 수신하기 위한 적어도 하나의 명령어;
    수신된 전자 메시지를 처리하여 포함된 애플리케이션 활성화 명령을 인식하기 위한 적어도 하나의 명령어; 및
    상기 수신된 전자 메시지가 애플리케이션 활성화 명령을 포함한다고 인식될 때 상기 수신된 전자 메시지에서 식별된 애플리케이션을 상기 보조 프로세서상에서 활성화시키기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  108. 제 87 항에 있어서,
    운영 상태 정보는,
    전체 시스템 데이터;
    애플리케이션 데이터; 및
    애플리케이션 콘텍스트 데이터를 포함하는, 컴퓨터 판독가능 저장 매체.
  109. 제 87 항에 있어서,
    무선 모뎀이 상기 컴퓨터로부터 제거될 때, 상기 무선 모뎀을 통하여 무선 네트워크와의 통신 링크를 유지하기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
  110. 제 109 항에 있어서,
    상기 무선 모뎀이 상기 컴퓨터로부터 제거되어 있는 동안, 상기 유지되는 통신 링크를 통해 메시지들을 수신하기 위한 적어도 하나의 명령어; 및
    상기 무선 모뎀이 상기 컴퓨터에 다시 꽂아질 때, 상기 수신된 메시지들을 상기 컴퓨터에 이용가능하게 만들기 위한 적어도 하나의 명령어를 더 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020127008410A 2009-08-31 2010-08-31 컴퓨터를 저 전력 보조 프로세서를 통해 운영하기 위한 방법들 및 시스템들 KR101422367B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/551,530 US8364857B2 (en) 2009-08-31 2009-08-31 Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
US12/551,530 2009-08-31
PCT/US2010/047273 WO2011026084A1 (en) 2009-08-31 2010-08-31 Methods and systems for operating a computer via a low power adjunct processor

Publications (2)

Publication Number Publication Date
KR20120064096A KR20120064096A (ko) 2012-06-18
KR101422367B1 true KR101422367B1 (ko) 2014-07-22

Family

ID=42829920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127008410A KR101422367B1 (ko) 2009-08-31 2010-08-31 컴퓨터를 저 전력 보조 프로세서를 통해 운영하기 위한 방법들 및 시스템들

Country Status (6)

Country Link
US (1) US8364857B2 (ko)
EP (1) EP2483757B1 (ko)
JP (1) JP5666591B2 (ko)
KR (1) KR101422367B1 (ko)
CN (1) CN102483647B (ko)
WO (1) WO2011026084A1 (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702733B2 (en) * 2003-09-18 2010-04-20 Vulcan Portals Inc. Low power email functionality for an electronic device
US7822907B2 (en) * 2007-12-21 2010-10-26 Intel Corporation Methods and apparatuses for serial bus sideband communications
US9069575B2 (en) 2008-03-25 2015-06-30 Qualcomm Incorporated Apparatus and methods for widget-related memory management
US9110685B2 (en) 2008-03-25 2015-08-18 Qualcomm, Incorporated Apparatus and methods for managing widgets in a wireless communication environment
US9269059B2 (en) 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US9747141B2 (en) 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US9600261B2 (en) 2008-03-25 2017-03-21 Qualcomm Incorporated Apparatus and methods for widget update scheduling
CN101847043B (zh) * 2009-03-25 2012-11-21 联想(北京)有限公司 共用存储设备的方法及移动终端
US8937930B2 (en) * 2009-11-19 2015-01-20 Qualcomm, Incorporated Virtual peripheral hub device and system
KR101638050B1 (ko) * 2009-12-15 2016-07-08 삼성전자 주식회사 휴대 단말기의 전력 제어 방법 및 장치
US20110224810A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Home and building automation
US20110225327A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Systems and methods for controlling an electronic device
US8495601B2 (en) * 2010-06-09 2013-07-23 Lear Corporation Shared memory architecture
WO2012093874A2 (ko) * 2011-01-06 2012-07-12 엘지전자 주식회사 네트워크 시스템
US20120182939A1 (en) 2011-01-14 2012-07-19 Qualcomm Incorporated Telehealth wireless communication hub and service platform system
TW201241635A (en) * 2011-04-01 2012-10-16 Etron Technology Inc Connector applied to a portable device and method of connecting a portable device with an external device
US9118776B2 (en) 2011-06-03 2015-08-25 Apple Inc. Location monitoring feature of a mobile device for activating an application subsystem
GB2491665B (en) 2011-06-08 2014-02-26 Inst Information Industry Processor bridging in heterogeneous computer system
EP2737385A1 (en) 2011-07-25 2014-06-04 Servergy, Inc. Method and system for building a low power computer system
JP6197196B2 (ja) * 2011-09-06 2017-09-20 インテル・コーポレーション 電力効率の優れたプロセッサアーキテクチャ
GB2536825B (en) * 2011-09-06 2017-08-16 Intel Corp Power efficient processor architecture
JP2013097734A (ja) * 2011-11-04 2013-05-20 Ricoh Co Ltd 制御装置、通信制御方法
JP6001843B2 (ja) * 2011-11-15 2016-10-05 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法およびプログラム
WO2013071966A1 (en) * 2011-11-16 2013-05-23 Telefonaktiebolaget L M Ericsson (Publ) Radio interference testing for multi radio devices
WO2013086036A1 (en) * 2011-12-05 2013-06-13 Qualcomm Incorporated Telehealth wireless communication hub device and service platform system
FR2985050A1 (fr) * 2011-12-21 2013-06-28 France Telecom Procede de reveil d'un ordinateur, et systeme de reveil correspondant
US9075566B2 (en) 2012-03-02 2015-07-07 Microsoft Technoogy Licensing, LLC Flexible hinge spine
CN103365719B (zh) * 2012-03-26 2017-12-29 联想(北京)有限公司 一种设备休眠状态下的数据处理方法及系统
US9451402B2 (en) * 2012-05-01 2016-09-20 Qualcomm Incorporated Geofence breach confidence
JP5755602B2 (ja) * 2012-06-12 2015-07-29 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US9665453B2 (en) * 2012-09-12 2017-05-30 Honeywell International Inc. Launch vehicle testing system
US9736781B2 (en) * 2012-09-26 2017-08-15 Intel Corporation Determining points of interest within a geofence
KR101947652B1 (ko) * 2012-09-28 2019-04-25 삼성전자 주식회사 휴대 단말기의 저전력 근거리 통신 기능 운용 방법 및 장치
ES2777893T3 (es) * 2012-11-28 2020-08-06 Siemens Healthcare Diagnostics Products Gmbh Procedimiento para el funcionamiento temporal de un dispositivo de análisis automático en un modo de espera
US9081571B2 (en) * 2012-11-29 2015-07-14 Amazon Technologies, Inc. Gesture detection management for an electronic device
US9939822B2 (en) 2013-02-11 2018-04-10 Graco Minnesota Inc. Remote monitoring for fluid applicator system
US10969805B2 (en) 2013-02-11 2021-04-06 Graco Minnesota Inc. Paint sprayer distributed control and output volume monitoring architectures
JP6040840B2 (ja) * 2013-03-29 2016-12-07 富士通株式会社 演算処理装置、情報処理装置及び情報処理装置の制御方法
CA3036651C (en) * 2013-05-06 2023-12-19 Ventus Networks Llc A secure usb signal extension and a secure wireless networking system using the secure usb signal extension and smart antenna
TW201443630A (zh) * 2013-05-15 2014-11-16 Fih Hong Kong Ltd 電子裝置及其使用方法
TWI578224B (zh) * 2013-05-17 2017-04-11 緯創資通股份有限公司 檔案分享電路及應用其之電腦
KR20150011593A (ko) * 2013-07-23 2015-02-02 삼성전자주식회사 단말 장치의 전력소모 제어 방법 및 장치
KR102159537B1 (ko) * 2013-10-08 2020-09-24 삼성전자 주식회사 전자 기기의 위치 기반 서비스 제공 방법 및 시스템
KR101785483B1 (ko) * 2013-10-29 2017-10-20 후아웨이 디바이스 (둥관) 컴퍼니 리미티드 서비스 에이전트로서 작용하는 방법, 모뎀 및 단말기
JP6255918B2 (ja) * 2013-11-07 2018-01-10 富士通株式会社 情報処理装置、通信制御方法及び通信制御プログラム
US9363264B2 (en) * 2013-11-25 2016-06-07 At&T Intellectual Property I, L.P. Networked device access control
US9628333B2 (en) * 2013-12-04 2017-04-18 International Business Machines Corporation Operating a dual chipset network interface controller (‘NIC’) that includes a high performance media access control chipset and a low performance media access control chipset
CN105917288B (zh) 2014-01-27 2020-12-01 惠普发展公司,有限责任合伙企业 电力状态控制信号
US10120420B2 (en) 2014-03-21 2018-11-06 Microsoft Technology Licensing, Llc Lockable display and techniques enabling use of lockable displays
CN110083221A (zh) * 2014-06-09 2019-08-02 威盛电子股份有限公司 电子装置及音频播放方法
US10324733B2 (en) * 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US9652022B2 (en) 2014-08-28 2017-05-16 Qualcomm Incorporated System and method for providing dynamic quality of service levels based on coprocessor operation
KR102165265B1 (ko) * 2014-09-02 2020-10-13 삼성전자 주식회사 하드웨어 전력 관리 유닛을 이용하여 클락 신호를 조절할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
US9891964B2 (en) 2014-11-19 2018-02-13 International Business Machines Corporation Network traffic processing
KR102347657B1 (ko) * 2014-12-02 2022-01-06 삼성전자 주식회사 전자 장치 및 이의 공유 캐시 메모리 제어 방법
CN105824650B (zh) * 2015-01-06 2019-05-07 浩鑫股份有限公司 计算机系统、可适性休眠控制模块及其控制方法
US9430988B1 (en) * 2015-04-06 2016-08-30 Bluestream Development, Llc Mobile device with low-emission mode
US20160365021A1 (en) * 2015-04-06 2016-12-15 Bluestream Development, Llc Mobile device with low-emission mode
JP6062489B2 (ja) * 2015-05-27 2017-01-18 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
CN105159675A (zh) * 2015-08-31 2015-12-16 小米科技有限责任公司 电子设备、电子设备的唤醒方法及装置
EP3176674A1 (en) * 2015-12-03 2017-06-07 OpenSynergy GmbH Method for power control of a control unit and control unit
US10126724B2 (en) * 2016-03-07 2018-11-13 Haier Us Appliance Solutions, Inc. Low power management system
JP2018019134A (ja) * 2016-07-25 2018-02-01 京セラ株式会社 通信機器及び制御方法
CN113965983A (zh) 2017-01-25 2022-01-21 华为技术有限公司 一种降低电子设备功耗的方法及装置
US10990159B2 (en) 2017-04-25 2021-04-27 Apple Inc. Architected state retention for a frequent operating state switching processor
KR102568686B1 (ko) 2018-02-09 2023-08-23 삼성전자주식회사 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법
US10506666B2 (en) * 2018-05-01 2019-12-10 Intermetro Communications, Inc. Multiple active network wireless device
US11812515B2 (en) 2018-05-01 2023-11-07 Intermetro Communications, Inc. Multiple active network wireless device using a shadow number
CN109377989B (zh) * 2018-09-27 2021-03-12 昆山品源知识产权运营科技有限公司 唤醒方法、装置、系统、设备及存储介质
US10996903B2 (en) * 2019-08-19 2021-05-04 Xerox Corporation Apparatus and method for reducing energy use in a multi-function device
CN112988338B (zh) * 2019-12-12 2022-12-20 Oppo广东移动通信有限公司 应用切换方法、装置、存储介质及电子设备
WO2021126216A1 (en) 2019-12-19 2021-06-24 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks
EP3857371A1 (en) * 2019-12-19 2021-08-04 Google LLC Resource management unit for capturing operating system configuration states and memory management
WO2022051985A1 (en) * 2020-09-10 2022-03-17 Qualcomm Incorporated Managing a communication link for transfer control protocol communications
KR20220101434A (ko) * 2021-01-11 2022-07-19 삼성전자주식회사 서비스 운용 방법 및 이를 지원하는 전자 장치
CN115362494A (zh) * 2021-03-16 2022-11-18 京东方科技集团股份有限公司 电子标识装置的显示方法、控制器、电子标识装置及系统
US11645154B2 (en) 2021-06-08 2023-05-09 International Business Machines Corporation Enhanced recovery from externally initiated adjunct processor queue reset
US11556345B2 (en) 2021-06-08 2023-01-17 International Business Machines Corporation Detecting and recovering lost adjunct processor messages

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212733A1 (en) 2002-08-14 2006-09-21 Hamilton Tony G Method and apparatus for a computing system having an active sleep mode CPU that uses the Cache of a normal active mode CPU
US20070271475A1 (en) 2006-05-22 2007-11-22 Keisuke Hatasaki Method and computer program for reducing power consumption of a computing system
US20080288748A1 (en) * 2006-08-10 2008-11-20 Sehat Sutardja Dynamic core switching
US20080305831A1 (en) * 2002-08-27 2008-12-11 Qualcomm Incorporated Multi Mode Mobile Computing Device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446904A (en) * 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
US5768164A (en) * 1996-04-15 1998-06-16 Hewlett-Packard Company Spontaneous use display for a computing system
US6240521B1 (en) * 1998-09-10 2001-05-29 International Business Machines Corp. Sleep mode transition between processors sharing an instruction set and an address space
US6501999B1 (en) * 1999-12-22 2002-12-31 Intel Corporation Multi-processor mobile computer system having one processor integrated with a chipset
US6528974B1 (en) * 2000-09-26 2003-03-04 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US20020173344A1 (en) * 2001-03-16 2002-11-21 Cupps Bryan T. Novel personal electronics device
US7080271B2 (en) * 2003-02-14 2006-07-18 Intel Corporation Non main CPU/OS based operational environment
US20050066209A1 (en) * 2003-09-18 2005-03-24 Kee Martin J. Portable electronic device having high and low power processors operable in a low power mode
CA2547204C (en) * 2003-12-02 2010-05-04 Research In Motion Limited Inter-processor parameter management in a multiple-processor wireless mobile communication device operating on a processor specific communication network
US7152171B2 (en) * 2004-04-28 2006-12-19 Microsoft Corporation Task-oriented processing as an auxiliary to primary computing environments
US7664966B2 (en) * 2004-05-17 2010-02-16 Microsoft Corporation Secure storage on recordable medium in a content protection system
US7898500B2 (en) * 2006-05-22 2011-03-01 Microsoft Corporation Auxiliary display within a primary display system
US7664996B2 (en) * 2007-01-19 2010-02-16 Kyocera Corporation Diagnostic operations associated with wireless modem
US20080261654A1 (en) * 2007-04-18 2008-10-23 Anwar Abdullah Sakeen Information processing system
US7882377B2 (en) * 2007-04-30 2011-02-01 Hewlett-Packard Development Company, L.P. Electronic device with flexible processing system
US8208973B2 (en) * 2008-11-05 2012-06-26 Medtronic Minimed, Inc. System and method for variable beacon timing with wireless devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212733A1 (en) 2002-08-14 2006-09-21 Hamilton Tony G Method and apparatus for a computing system having an active sleep mode CPU that uses the Cache of a normal active mode CPU
US20080305831A1 (en) * 2002-08-27 2008-12-11 Qualcomm Incorporated Multi Mode Mobile Computing Device
US20070271475A1 (en) 2006-05-22 2007-11-22 Keisuke Hatasaki Method and computer program for reducing power consumption of a computing system
US20080288748A1 (en) * 2006-08-10 2008-11-20 Sehat Sutardja Dynamic core switching

Also Published As

Publication number Publication date
EP2483757A1 (en) 2012-08-08
EP2483757B1 (en) 2018-11-07
CN102483647A (zh) 2012-05-30
US20110055434A1 (en) 2011-03-03
WO2011026084A1 (en) 2011-03-03
US8364857B2 (en) 2013-01-29
KR20120064096A (ko) 2012-06-18
JP5666591B2 (ja) 2015-02-12
JP2013503401A (ja) 2013-01-31
CN102483647B (zh) 2015-09-23

Similar Documents

Publication Publication Date Title
KR101422367B1 (ko) 컴퓨터를 저 전력 보조 프로세서를 통해 운영하기 위한 방법들 및 시스템들
US10524084B2 (en) Apparatus and method for determining a wireless device's location after shutdown
US9588846B2 (en) Mobile terminal and controlling method thereof
RU2686673C1 (ru) Устройство и способ управления терминалом и терминал
US9713174B2 (en) Connection tethering and service remoting
US8522004B2 (en) Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8285345B2 (en) Mobile terminal and method for switching states thereof
US20140129681A1 (en) Method of installing a driver to emulate a network card
US9128891B2 (en) Method, mobile terminal and computer program product for sharing storage device
KR20150033505A (ko) 전자 장치에서 절전 모드를 수행하는 방법 및 이를 위한 전자 장치
EP3780896B1 (en) Data transmission method and terminal
CN110944318B (zh) 一种锁卡设置方法、装置、存储介质及终端
US8175232B2 (en) Push voicemail via “always on”
US9354942B2 (en) Coordinating power states in a hybrid information handling device
JP2014026409A (ja) 情報端末装置を同期する方法および情報端末装置
AU2015203796A1 (en) Apparatus and method for determining a wireless device's location after shutdown
JP2002341975A (ja) 情報処理装置、レジューム制御方法および動作モード制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5