JP5666591B2 - 低電力補助プロセッサによってコンピュータを動作させるための方法およびシステム - Google Patents

低電力補助プロセッサによってコンピュータを動作させるための方法およびシステム Download PDF

Info

Publication number
JP5666591B2
JP5666591B2 JP2012527088A JP2012527088A JP5666591B2 JP 5666591 B2 JP5666591 B2 JP 5666591B2 JP 2012527088 A JP2012527088 A JP 2012527088A JP 2012527088 A JP2012527088 A JP 2012527088A JP 5666591 B2 JP5666591 B2 JP 5666591B2
Authority
JP
Japan
Prior art keywords
computer
cpu
auxiliary processor
processor
state information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2012527088A
Other languages
English (en)
Other versions
JP2013503401A (ja
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 JP2013503401A publication Critical patent/JP2013503401A/ja
Application granted granted Critical
Publication of JP5666591B2 publication Critical patent/JP5666591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)
  • Advance Control (AREA)

Description

本発明は、一般に、パーソナルコンピュータシステムに関し、より詳細には、低電力補助プロセッサの下でコンピュータを動作させるための方法およびデバイスに関する。
パーソナルコンピュータは、多くの人々にとって不可欠のツールになったが、依然として多くの制約に縛られている。軽量のノートブックコンピュータが開発されたことで、コンピュータのユーザは、デスクトップの前に縛り付けられることがなくなった。しかし、ノートブックコンピュータは、バッテリ寿命に限界があるという問題を抱えている。ポータビリティを強調するノートブックコンピュータの製造業者は、コンポーネント重量を削減したが、そのことが、バッテリのサイズおよび重量も制限することになった。同時に、コンピュータ開発業者は、オペレーティングシステムおよびアプリケーションプログラムの複雑化に遅れを取らないように、ノートブックコンピュータの処理能力を増強した。より強力なプロセッサは、アイドルモードにある場合であっても、より多くの電力を消費するので、処理能力の増強は、バッテリ寿命を制限しがちであった。ユーザは、マシンを積極的に使用していない場合は常に、コンピュータをオフにすることによって、またはコンピュータをスタンバイモードにすることによって、バッテリ充電1回当たりの寿命を引き延ばすように試みることができる。
しかし、ほとんどのノートブックコンピュータは、スタンバイモードから回復する場合であっても、リスタートするためにかなりの時間を必要とする。したがって、バッテリ寿命を引き延ばそうとするそのような試みは、ユーザにフラストレーションを感じさせることがある。
様々な実施形態は、コンピューティングデバイス(例えば、ノートブックコンピュータ、ネットブックコンピュータ、UMPC、PDA、またはデスクトップコンピュータ)に、ワイヤレスモデム(MSM/MDM)プロセッサなどの補助プロセッサを提供し、補助プロセッサは、コンピュータハードウェアインタフェースと組み合わせて、コンピューティングデバイスの中央処理装置(CPU)およびオペレーティングシステム(OS)の代わりに動作することができる。そのような補助プロセッサ動作モードでは、補助プロセッサが、周辺機器を制御し、システム機能を提供し、一方、コンピュータのメインプロセッサシステム(すなわちCPUおよびOS)は、非活動化することができ、またはスタンバイもしくはスリープ構成にすることができる。補助プロセッサモードでは、コンピューティングデバイスは、コンピュータバッテリを著しく消耗させることなく、電子メールの送受信、電子文書の閲覧、オーディオファイルの聴取、ビデオ(例えばDVD)ファイルの視聴、インターネットへのアクセスなど、限られたタスクを達成するために使用することができ、または補助プロセッサは、通常はメインプロセッサおよびオペレーティングシステムに関連するタスクを実行することによって、ユーザエクスペリエンスを引き継ぐことができる。好ましい一実施形態では、補助プロセッサは、コンピューティングデバイス内のワイヤレスモデム内のプロセッサである。ワイヤレスモデムプロセッサは、例えば、他のコンピュータ機能がシャットダウンした場合であっても、電子メールまたはメッセージの継続的な受信を可能にする、ワイヤレスネットワークとの通信リンクを維持することができる。コンピュータのメインプロセッサシステム(すなわちCPUおよびOS)がアクティブである場合、そのようなワイヤレスモデムは、3Gデータモデムとして機能することができ、ワイヤレスモデムのプロセッサは、データ通信に関連する機能を実行する。通常動作モードと補助プロセッサモードの間の遷移は、ユーザからは透過的にみえる方法で、コンピューティングシステムによって実行することができ、またはユーザが管理することができる。補助プロセッサモードで動作することで、瞬時オン、常時オン、および継続的ネットワーク接続の動作特徴をコンピュータが示すことを可能にすることができる。
本明細書に組み込まれ、本明細書の部分を構成する添付の図面は、本発明の例示的な実施形態を示しており、上で与えられた概略的な説明および以下で与えられる詳細な説明と併せて、本発明の特徴を説明するのに役立つ。
一実施形態による、パーソナルコンピュータのコンポーネントブロック図である。 一実施形態による、パーソナルコンピュータのコンポーネントブロック図である。 一実施形態による、パーソナルコンピュータのコンポーネントブロック図である。 一実施形態による、コンピュータの一部の回路ブロック図である。 一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 さらなる一代替実施形態による、コンピュータの一部の回路ブロック図である。 一実施形態による、様々なコンピューティングデバイスにおいて実施できるワイヤレスモデムカードのイラストの図である。 一実施形態による、様々なコンピューティングデバイスとともに使用できるUSBデバイス内のワイヤレスモデムのイラストの図である。 パーソナルコンピュータに差し込むことができるモバイルデバイス内でワイヤレスモデムプロセッサが実施される一実施形態のイラストの図である。 ワイヤレスモデムプロセッサからコンピュータCPUに処理制御を移行するための一実施形態の方法のプロセスフロー図である。 コンピュータCPUからワイヤレスモデムプロセッサに処理制御を移行するための一実施形態の方法のプロセスフロー図である。 さらなる一代替実施形態による、コンポーネント間のデータフローとデータ記憶コンポーネントとを示す、コンピュータの一部の回路ブロック図である。 ワイヤレスモデムプロセッサからコンピュータCPUに処理制御を移行するための、ワイヤレスモデムプロセッサおよびコンピュータCPU内で実施できる実施形態の方法のプロセスフロー図である。 コンピュータCPUからワイヤレスモデムプロセッサに処理制御を移行するための、ワイヤレスモデムプロセッサおよびコンピュータCPU内で実施できる実施形態の方法のプロセスフロー図である。 ワイヤレスモデムプロセッサからコンピュータCPUに処理制御を移行するための、ワイヤレスモデムプロセッサおよびコンピュータCPU内で実施できる代替実施形態の方法のプロセスフロー図である。 コンピュータCPUからワイヤレスモデムプロセッサに処理制御を移行するための、ワイヤレスモデムプロセッサおよびコンピュータCPU内で実施できる代替実施形態の方法のプロセスフロー図である。 一実施形態とともに使用するのに適した通信システムを示す通信システム図である。 一実施形態を実施するコンピュータ上のアプリケーションをユーザが遠隔から起動できる一実施形態の方法のプロセスフロー図である。 様々な実施形態の例示的な応用例のプロセスフロー図である。 様々な実施形態の別の例示的な応用例のプロセスフロー図である。 様々な実施形態の別の例示的な応用例のプロセスフロー図である。 様々な実施形態の別の例示的な応用例のプロセスフロー図である。 様々な実施形態の別の例示的な応用例のプロセスフロー図である。 様々な実施形態の別の例示的な応用例のプロセスフロー図である。 様々な実施形態の別の例示的な応用例のプロセスフロー図である。 図20〜図27に示された例示的な応用例の1つまたは複数を実施するのに使用できるシンプルメッセージシステムメッセージのための例示的なメッセージ構造の図である。 図20〜図27に示された例示的な応用例の1つまたは複数を実施するのに使用できるシンプルメッセージシステムメッセージのための例示的なメッセージ構造の図である。 図20〜図27に示された例示的な応用例の1つまたは複数を実施するのに使用できるシンプルメッセージシステムメッセージのための例示的なメッセージ構造の図である。 様々な実施形態とともに使用するのに適したノートブックコンピュータのコンポーネントブロック図である。 様々な実施形態のシステムおよび方法とともに使用するのに適した一実施形態のポータブルモデムデバイスのコンポーネントブロック図である。
様々な実施形態が、添付の図面を参照して説明される。可能な場合には、同じまたは同様の部分を参照するために、同じ参照番号が、図面全体で使用される。特定の例および実施に対して行われる言及は、例示を目的としたものであり、本発明の範囲または特許請求の範囲を限定する意図はない。
本明細書では、「例示的」という語は、「例、事例、または実例として役立つ」という意味で使用される。「例示的」として本明細書で説明される実施は、他の実施よりも好ましい、または有利であると必ずしも解釈される必要はない。
本明細書で使用される場合、「モバイルコンピューティングデバイス」および「ノートブックコンピュータ」という用語は、ラップトップコンピュータ、ネットブックコンピュータ、バッテリ作動パーソナルコンピュータ、ミニノートブックコンピュータ、UMPC、携帯情報端末(PDA)、タブレットコンピュータ、パームトップコンピュータ、ならびにプログラム可能プロセッサおよびメモリと、ワイヤレス通信トランシーバとを含む類似のパーソナル電子デバイスのうちのいずれか1つまたはすべてを指している。実施形態の説明の多くは、モバイルコンピューティングデバイスまたはノートブックコンピュータに言及しているが、これらの言及は、もっぱら例示を目的としており、様々な実施形態は、デスクトップコンピュータ、ワークステーション、サーバ、ルータ、アクセスポイント、および非モバイルシステム内に組み込まれたコンピューティングシステムなど、非モバイルコンピュータにおいても実施することができる。
様々な実施形態の説明を簡潔にするため、本明細書では、任意のタイプのユーザ閲覧可能または編集可能なファイルまたはアプリケーションデータを全般的に指示するのに、「文書」という用語が使用される。説明の目的で「文書」の例を挙げると、テキストファイル、ワードプロセッシング文書、スプレッドシートファイル、電子メールアイテム、カレンダエントリ、メモ帳、連絡先データレコード、プログラミングスクリプト、写真、録音、ビデオ、およびプレゼンテーションチャートファイル(例えばPowerPoint(登録商標)チャート)などがある。したがって、「文書」についての言及は、特許請求の範囲を特定のタイプの電子ファイルまたは表示データに限定することを意図しておらず、また限定するものと解釈すべきではない。
ラップトップコンピュータ、ネットブック、およびノートブックコンピュータなどのモバイルコンピューティングデバイスは、外回りのビジネスマン、学生、および「動き回る」人々にとって不可欠のツールになったが、モバイルコンピューティングデバイスの制約がよく知られている。ノートブックコンピュータ設計は一般に、ポータビリティ(例えば軽量)および処理能力と、バッテリ寿命という対立する優先事項の間の妥協を反映する。ほとんどの場合、バッテリ寿命(すなわち、ノートブックコンピュータが1回のバッテリ充電で動作可能な時間)が、より優れた処理能力およびより軽い重量を優先するせいで犠牲にされる。結果として、再充電の機会が得られるまで、バッテリ寿命を引き延ばすために、ユーザはしばしば、ノートブックコンピュータの使用を調節するように強いられる。そのような試みは、コンピュータが積極的に使用されていない場合に、コンピュータをオフにすること、またはコンピュータをスタンバイ状態にすることを含むことができる。加えて、ノートブックコンピュータは、一定の時間にわたってユーザ入力を受け取らなかった場合に、「スリープする」、すなわち、電源を落としてスタンバイ状態になるように構成することができる。そのようなアクションは、有効バッテリ寿命を引き延ばしはするが、それにも係わらず、ユーザがコンピュータを使用できるようになる前に、ノートブックコンピュータは、リブートして、または動作状態を回復して、シャットダウン前/スタンバイ前の状態にならなければならないので、ユーザのフラストレーションの原因となることがある。このリスタート時間は、例えば、ユーザが飛行機に搭乗する前に、約束をチェックし、文書を閲覧し、または電子メールにアクセスするだけでよい場合など、いくつかの状況では重要になることがあり得る。
多くのノートブックコンピュータユーザに共通の別の問題は、インターネットなどの外部ネットワークに接続することに関する。ノートブックコンピュータが、携帯電話ネットワークおよび/またはワイヤレスネットワーク(例えばWiFiまたはWiMax)にアクセスできるワイヤレスモデムカードを装備することは、今では一般的である。そのようなワイヤレスモデムカードを使用して、ノートブックコンピュータは、有線接続に結合することなく、3Gセルラデータネットワークなどを介して、インターネットに接続することができ、ユーザが、実質的にどこからでも、電子メールをチェックすること、インターネット上の様々なサイトを見て回ることを可能にする。しかし、ノートブックのCPUによるバッテリ消耗のせいで、ユーザは、バッテリ寿命をさらに引き延ばすために、ワイヤレスネットワークに接続する時間を強制的に制限させられることがある。
対照的に、現代に必須の他の電子デバイスであるセルラ電話は、典型的なセルフォンバッテリの小さなサイズにも係わらず、通常使用の下では一般に長いバッテリ寿命を有する。そのわけは、携帯電話において使用される最新のワイヤレスモデムは、電力消費を最低限に抑えるように最適化されており、それによって、電話をより小型化すること、また電話がより小さなバッテリを使用することを可能にしたためである。さらに、携帯電話は、セルラネットワークに登録されており、呼およびデータメッセージが着信したかどうかセルラネットワークを監視するように構成される(例えばシンプルメッセージシステム(SMS))。これらの設計上のトレードオフのため、携帯電話は、そのバッテリが典型的なノートブックコンピュータ内のバッテリのサイズと比べてごく僅かでしかない場合でも、再充電することなく、1度に何日もワイヤレスネットワークに接続し続けることができる。他方、典型的なセルラフォン内のプロセッサは、典型的なノートブックアプリケーションおよびオペレーティングシステムソフトウェアによって必要とされる機能を実行するだけの処理能力をもたない。
様々な実施形態は、ノートブックコンピュータなどのポータブルコンピュータに、ごく僅かな電力しか消費せずにユーザがコンピュータ上で簡単な機能を実行することを可能にする補助プロセッサモードを提供するために、携帯電話およびワイヤレスネットワーク通信モデムの進んだ点を利用する。実施形態は、コンピュータが、「瞬時オン」および「常時オン」の動作特徴を示すことを可能にする。さらに、実施形態は、コンピュータが、有効バッテリ寿命を著しく縮めることなく、(電子メールの受信などのために)ワイヤレス通信ネットワークを継続的に監視し、それによって、「常時接続」の動作特徴を示すことを可能にする。
そのような動作上の利点は、ワイヤレスモデムカード内のプロセッサなどの補助プロセッサが、選択された機能を引き継げるようにし、それによって、コンピュータの中央処理装置(CPU)を非活動化すること、または低電力状態にすることができるように、ノートブックコンピュータを構成することによって達成することができる。一実施形態では、ワイヤレスモデムカードプロセッサは、僅かな電力しか引き出さないため、ノートブックコンピュータバッテリによって給電されて、より長い時間にわたって機能することが可能である。ノートブックコンピュータは、ワイヤレスモデムプロセッサに、バッテリおよび電力制御回路、メモリ(例えば、ランダムアクセスメモリ、フラッシュメモリ、およびハードディスクメモリ)、ディスプレイ、ならびにキーボード、タッチパッド、および他のポインティングデバイスなどのユーザ入力デバイスなど、ノートブックコンポーネントへのアクセスを提供するように構成することができる。モデムプロセッサはさらに、選択されたアプリケーション機能を実行するように、または通常はノートブックコンピュータCPU上で動作するアプリケーションのスケールダウンバージョン(すなわち、サポートするのにより僅かな処理能力しか必要としないアプリケーションのバージョン)を実行するように、ソフトウェア命令を用いて構成することができる。ワイヤレスモデムカードはさらに、ノートブックコンピュータCPUが非活動化されている間、ワイヤレスネットワークとの通信リンクを維持し、それによって、ノートブックコンピュータが、ワイヤレス電子メッセージを受信できるだけではなく、ユーザが望む場合には、インターネットへのインスタントアクセスにも利用可能になるように構成することができる。ワイヤレスモデムカードはさらに、バッテリ電力を節約するために、ディスプレイおよびハードディスクメモリなどの電力を消費しがちなコンポーネントが非活動化されている場合でも、いくつかの機能が常に動作していることを可能にするモードで、ノートブックコンピュータを動作させるように構成することができる。コンピュータが事実上シャットダウンされている場合であっても、ワイヤレスネットワークに接続し続けることができることで、ノートブックコンピュータが、電子メールおよび他の電子メッセージを継続的に受信することを可能にすることができ、その結果、コンピュータがオンにされると直ちに、電子メールが利用可能になる。また、様々な実施形態を実施するノートブックコンピュータは、コンピュータが他の点ではシャットダウンされている場合であっても、電子メッセージングを介してアクセスすること、および制御することができ、それによって、多くの有益なアプリケーションを使用可能にすることができる。
様々な実施形態では、コンピューティングデバイス(例えば、ノートブックコンピュータ、UMPC、PDA、またはデスクトップコンピュータ)は、ワイヤレスモバイル局モデム(MSM: mobile station modem)またはモバイルデータモデム(MDM: mobile data modem)内のプロセッサの1つなどの補助プロセッサを含み、補助プロセッサは、コンピュータハードウェアインタフェースと組み合わせて、コンピュータのCPUを「引き継ぎ」、それの代わりに動作することができる。そのような補助プロセッサ動作モードにあるとき、補助プロセッサ(例えばMSM/MDM内のプロセッサ)が、コンピューティングデバイスの周辺機器を制御し、システム機能を提供し、一方、メイン処理システム(すなわちCPUおよびOS)は、非活動化されて、「オフ」、「スタンバイ」、または「スリープ」モードなどにある。この補助プロセッサモードでは、ユーザは、電子メールの送受信、電子文書の閲覧、オーディオファイルの聴取(例えば、コンパクトディスク(CD)またはMP3ファイルの再生)、デジタルビデオディスク(DVD)上の映画の視聴、およびインターネットへのアクセスなどの、限られたタスクを達成するために、コンピューティングデバイスを使用することができる。MSM内のプロセッサなどの、低電力補助プロセッサを使用することで、コンピュータのバッテリの消耗を、典型的な携帯電話のバッテリよりもやや多い程度に抑えることができる。さらに、MSM/MDMプロセッサは、(3Gセルラおよびデータネットワークなどの)ワイヤレスネットワークとの通信リンクを維持することができ、他の機能がシャットダウンされている場合であっても、引き続き、電子メールを受信することができる。コンピューティングデバイスの通常動作モードである、メインシステム(すなわちCPUおよびOS)がアクティブである場合、MSM/MDMは、高度3Gデータモデムとして機能する。通常動作モードと補助プロセッサモードの間の遷移は、ユーザからは透過的な方法で、コンピューティングシステムによって実行することができ、またはユーザが管理することができる。
様々な実施形態での使用に適したMSM/MDMワイヤレスモデムカードは、デュアルコアプロセッサを含むことができ、一方のプロセッサは、アプリケーションサービス(例えば、ホストコンピューティングデバイスとのインタフェース)に専用され、他方のプロセッサは、モデムサービス(例えば、ワイヤレストランシーバを介したデータの送受信)に専用される。このデュアルコアプロセッサ能力は、MSM/MDMハードウェアおよびソフトウェアの他の多くの特徴と併せて、ノートブックコンピュータ、UMPC、およびデスクトップコンピュータにおいて実施できる、またサーバ、ルータ、およびアクセス端末においてさえも実施できる、新たな1組のアプリケーションおよび機能を可能にする。
様々な実施形態は、多くの有益なアプリケーションおよび望ましい動作特徴を可能にする。説明を容易にするため、本明細書で言及される3つの動作特徴は、「常時オン」、「瞬時オン」、および「常時接続」である。本明細書で使用される場合、「常時オン」とは、メインプロセッサがオンであるか、オフであるか、それともスタンバイモードにあるかに係わりなく、ユーザにある機能への迅速なアクセスを提供する(すなわち、ブートアップ時間を必要としない)実施形態を実施する、コンピューティングデバイスの動作特徴のことである。本明細書で使用される場合、「瞬時オン」とは、あるアプリケーションが、専用電子デバイスそっくりに、いかなるブートアップ時間もなしに即座に起動する、動作特徴のことである。例えば、DVDプレーヤ、音楽プレーヤ、写真ビューア、およびあるゲームなどのエンターテイメント機能は、瞬時に動作するように構成することができる。さらに、MSM/MDM内のプロセッサによってサポートすることで、コンピューティングデバイスのメモリを枯渇させることなく、そのようなエンターテイメント機能に、より長い時間にわたってアクセスすることができる。本明細書で使用される場合、「常時接続」とは、コンピューティングデバイスが他の点ではシャットダウンされている場合であっても、ワイヤレスネットワークに接続し続け、ワイヤレスネットワークからメッセージを受信できる、コンピューティングデバイスの動作特徴のことである。常時接続機能は、ユーザが、ハードドライブ上の電子メールフォルダを、電子メールシステムと同期が取れた最新の状態に保つことを可能にする。常時接続機能は、コンピューティングデバイスが、ニュース、株式リポートなどの情報を最新に維持するために、インターネットから情報をダウンロードすることも可能にする。常時接続機能は、コンピューティングデバイスの所在位置および周囲状況に関する現在情報を維持するために、MSM/MDMワイヤレスモデムカードの一部として含むことができる全地球測位システム(GPS)受信機とともに機能することもできる。したがって、ユーザは、ノートブックコンピュータを開くと、システムがブートアップして、GPS衛星にアクセスするのを待つ必要なしに、即座に地図アプリケーション内で現在位置を確認することができる。様々な実施形態では、常時オン、瞬時オン、および常時接続の動作特徴は、コンピューティングデバイスの有益なバッテリ寿命を著しく縮めることなく、提供することができる。
補助プロセッサは、マザーボード上の電力効率のよい別個のプロセッサ、コンピューティングデバイスのコンポーネント内のプロセッサ(もしくはコプロセッサ)、またはケーブル(例えばUSBケーブル)によってコンピュータに接続されたコンポーネントもしくは周辺デバイス内のプロセッサとすることができる。例えば、補助プロセッサは、MSM/MDMワイヤレスモデム、GPS受信機、ネットワークインタフェースコントローラ、コンパクトディスク(CD)プレーヤ、デジタルビデオディスク(DVD)プレーヤ、携帯電話(例えば、図11を参照して以下で説明されるような取り外し可能な携帯電話)、または独自のプロセッサを有する他のコンポーネント内のプロセッサとすることができる。別の例として、補助プロセッサは、プリンタ、外部マルチ機能デバイス、外部モデム、外部ルータ、外部コンパクトディスク(CD)プレーヤ、外部DVDプレーヤ、携帯電話など、ケーブルによってコンピュータに結合された外部周辺デバイス内のプロセッサ、またはUSBデバイス内に構成された補助プロセッサとすることができる。説明を容易にするため、実施形態のいくつかは、ワイヤレスモデムカード内のプロセッサである補助プロセッサに関して説明される。しかし、そのようなワイヤレスモデム実施形態の説明は、どのようにコンポーネントを組み立て、機能させることができるかについての一例として役立てることを意図したものにすぎない。同じ機能は、他のプロセッサベースのコンポーネントにおいても実施することができる。さらに、他のタイプのプロセッサベースのコンポーネントのコンポーネントレイアウトは、様々な実施形態に関連するコンポーネントに関して、図に示され、以下で説明されるものと類似している。
特定の実施形態では、補助プロセッサは、MSM/MDMワイヤレスモデムカード上に備えられ、MSM/MDMワイヤレスモデムカードは、単一モジュール、グラフィックスプロセッサ、GPS受信機、3-Gワイヤレストランシーバ、モデムプロセッサ、およびBREW(登録商標)、Linux(登録商標)、またはWindows(登録商標) Mobileなどの、アプリケーションプラットフォームソフトウェアを用いて構成されるアプリケーションプロセッサを含む。これらのコンポーネントおよび機能を単一モジュールまたはカード内で実施することで、ユーザエクスペリエンスを著しく低下させることなく、単一モジュールまたはカードが、コンピューティングデバイスCPUの機能の多くを引き継ぐことが可能になる。例えば、ワイヤレスモデムカード上のグラフィックスプロセッサは、コンピューティングデバイスのディスプレイを駆動することができ、一方、アプリケーションプロセッサは、キーボード、コンピュータマウス、およびタッチパッドから入力を受け取ることができるばかりでなく、コンピューティングデバイスの電力システム、データ記憶/入力(例えば、DVD/CDまたは任意のディスクフォーマットプレーヤ、ハードドライブなど)、およびネットワークインタフェース(例えばUSBポート)を制御することもできる。
補助プロセッサモードと通常動作モードの間のシームレスな遷移を達成するため、コンピューティングデバイスの中央処理装置(CPU)と、ワイヤレスモデムカード内のプロセッサなどの補助プロセッサは制御の遷移に先立って、システムデータ、アプリケーションデータ、およびアプリケーションコンテキストデータを共用メモリ内に記憶するように、もしくはシステムデータ、アプリケーションデータ、およびアプリケーションコンテキストデータを一方から他方に伝達するように(または両方の組み合わせを行うように)構成することができる。本明細書では、「共用メモリ」および「共用ストレージ」という用語は、両方のプロセッサがアクセスできる、メモリユニット、またはランダムアクセスメモリ(例えばRAMおよびFLASHメモリ)の部分(もしくは全体)を指すために使用される。そのような共用メモリは、CPUプロセッサと補助プロセッサの両方によってアクセス可能な内部メモリの任意の部分とすることができる。共用メモリは、(ワイヤレスモデムカード上など)補助プロセッサを含むモジュール上に配置することができ、コンピュータのマザーボード上にあることができ、または両方の組み合わせとすることができる。制御がCPUプロセッサから補助プロセッサに、または補助プロセッサからCPUプロセッサに移行したときに、現在の動作状態を維持できるように、共用メモリは、現在の動作状態を反映したステータスおよび状態情報を記憶するために使用することができる。通信チャネルは、どちらかのプロセッサが、システム全体のデータ、アプリケーションデータ、アプリケーションコンテキストデータ、および制御の遷移を達成するのに必要とされる他の状態情報を、それによって受け渡すことができる、CPUと補助プロセッサの間の任意のチャネルとすることができる。さらなる一実施形態では、システムデータ、アプリケーションデータ、アプリケーションコンテキストデータの一部を、共用メモリ内に記憶することができ、そのようなデータの一部は、通信チャネルを介して、CPUと補助プロセッサの間で受け渡すことができる。この方法では、オープンしているアプリケーションの現在の状態およびデータを、一方のプロセッサから他方に受け渡すことができないので、ユーザは、動作モードの移行に気づかないことがある。
様々な実施形態では、ワイヤレスモデムカードプロセッサなどの補助プロセッサは、通常はコンピューティングデバイスCPU上で動作するアプリケーションのスケールダウンバージョンを実行するように構成することができる。補助プロセッサモードでいくつかの高性能アプリケーションのスケールダウンバージョンを実行することで、コンピュータのCPUよりも低い処理能力を有する補助プロセッサ上で実行した場合でも、十分な機能および許容可能な性能をユーザに提供することができる。ユーザがそのようなアプリケーションの完全な機能を必要とする場合、ユーザは、通常動作モードに切り換えることによって、コンピューティングデバイスCPUを活動化して、アプリケーションの完全なバージョンをロードすることができる。例えば、コンピューティングデバイスが、Microsoft Word(登録商標)アプリケーションを用いて構成される場合、補助プロセッサは、Word(登録商標)文書を表示することは可能だが、そのソフトウェアプログラムの編集機能、フォーマット機能、スペルチェック機能、およびテンプレート機能の必ずしもすべてを提供するわけではない、Microsoft Word(登録商標)またはWord(登録商標)ビューアのスケールダウンバージョンとすることができる、文書ビューアアプリケーションを動作させるように構成することができる。同様に、補助プロセッサは、標準バージョンの高性能な検索機能およびフォーマット機能の一部を欠いてはいるが、簡単な電子メールメッセージを受信し、表示し、生成し、および送信するには十分な、Microsoft Office(登録商標)のスケールダウンバージョンを動作させるように構成することができる。これらの例を考えると、ユーザは、補助プロセッサモードにある間も、電子メールを受信し、読むことができる。電子メールが添付Word(登録商標)文書を含む場合、ユーザは、コンピューティングデバイスが通常動作モードにあるかのように、文書を開き、読むことができる。しかし、ユーザが文書を編集したい場合、Microsoft Word(登録商標)の完全な編集機能およびフォーマット機能を提供するために、コンピューティングデバイスのCPUを活動化し、コンピュータを通常動作モードに切り換える必要があることがある。補助プロセッサモードから通常動
作領域への遷移は、動作モードが変化したときでも表示文書が変化しないように表示するなど、ユーザからはシームレスにみえる方法で、達成することができる。
通常動作モードから補助プロセッサモードへの遷移、および再び通常動作モードに戻る遷移は、様々な方法で開始することができる。一実施形態では、ユーザが、ボタンを押下すること、メニュープロンプトを起動すること、またはノートブックコンピュータの蓋を閉じることなどによって、動作モードを変化させるようにコンピューティングデバイスに命令することができる。別の実施形態では、コンピューティングデバイスは、バッテリ電力を節約するために、通常動作モードから補助プロセッサモードに処理が移行すべきときを、アクティブなアプリケーションまたはユーザの活動から感知することができる。これは、一方向においては、補助プロセッサ上で動作するアプリケーションによって提供される機能に利用が限定されているかなど、補助プロセッサによって現在の利用をサポートできるかどうかを判定するために、コンピュータとのユーザの対話を、特にオープンしているアプリケーションをどのように利用しているかをCPUが監視することによって、達成することができる。肯定的な判定が下された場合、CPUは、コンピュータ周辺機器の制御を引き受けるように補助プロセッサに通知することによって、制御移行を自動的に(すなわちユーザコマンドなしに)開始することができる。同様に、補助プロセッサモードからCPUモードへの自動移行は、補助プロセッサアプリケーションによってはサポートされないファンクションコール(例えば編集コマンド)を検出するなど、ユーザの活動がCPU機能を必要とするときを判定するために、ユーザの対話を補助プロセッサが監視することによって、開始することができる。補助プロセッサアプリケーションによってはサポートされない機能をユーザが望んでいると判定したことに応答して、補助プロセッサは、そのような機能をアプリケーションが提供できないと補助プロセッサが判定したことに応答して、制御を引き受けるようにCPUに自動的に通知することができる。例えば、コンピュータCPUは、ユーザは文書を閲覧しているだけであり(すなわち、達成するのにCPUアプリケーションを必要とすることがある文書の編集は行っておらず)、したがって、(利用されている機能に依存することがある)ユーザのエクスペリエンスを低下させることなく、補助プロセッサモードへの移行を達成できるときを感知するように、ソフトウェア命令を用いて構成することができる。別の例として、補助プロセッサは、ユーザタスクを達成するためにより大きなプロセッサ能力が必要とされたときに、補助プロセッサモードから通常動作モードに移行するように、ソフトウェア命令を用いて構成することができる。
さらなる一実施形態では、コンピューティングデバイスCPUと補助プロセッサは、動作モード遷移が起こり得るときを予測し、そのような移行の準備を前もって行うように構成することができる。例えば、通常動作モード中に、ユーザがDVDプレーヤを起動した場合、コンピューティングデバイスCPUは、DVDプレーヤアプリケーションが補助プロセッサ上で動作できる実施形態において電力を節約するために、制御を補助プロセッサに遷移させるための準備を行うことができる。別の例として、補助プロセッサモード中に、ユーザが文書ビューアアプリケーションを起動した場合、補助プロセッサは、補助プロセッサ上で構成された文書ビューアアプリケーションによってはサポートされない、文書上での編集機能をユーザが実行することを予想して、制御をコンピューティングデバイスCPUに移行するための準備を行うことができる。動作モード遷移が起こる可能性の高いときを予想し、現在の状態情報(もしくは現在の状態情報の一部)を共用メモリ内に記憶すること、ならびに/またはシステムデータ、アプリケーションデータ、およびアプリケーションコンテキストデータを通信チャネルを介して伝達し始めることなど、そのような遷移をサポートするための準備ステップを行うことによって、実際の遷移をより迅速に達成することができ、それによって、ユーザエクスペリエンスを高めることができる。
補助プロセッサがワイヤレスデータモデム内のプロセッサである、さらなる一実施形態では、コンピューティングデバイスCPUと補助プロセッサは、CPUから補助プロセッサへの制御の遷移中、および再びCPUに戻る制御の遷移中、ワイヤレスデータ通信リンクを維持するように構成することができる。この実施形態では、モデムには持続的に電力が提供され、物理層は同じままであるので、1つのプロセッサから次のプロセッサへの遷移中、ワイヤレスデータモデムは、(図19を参照して以下で説明するように)ワイヤレス通信ネットワークへのデータ呼を維持することができる。制御を引き受けたプロセッサと、新しいエンドツーエンド接続についてネゴシエーションを行う必要があることがある。制御を引き受けたプロセッサが、ワイヤレスデータ接続を使用するアプリケーションを起動する場合、プロセッサは物理接続を要求するが、データ呼はすでに確立されているので、このプロセスは直ちに達成される。その後、新しいエンドツーエンド接続についてのネゴシエーションを開始するために、制御を引き受けたプロセッサから、確立されたデータ呼を介して、データパケットを送信することができる。
例示的な一実施形態のトップレベルコンポーネント図が、図1Aに示されている。コンピューティングデバイスは一般に、ノースブリッジ6およびサウスブリッジ4チップセットなどのバスアーキテクチャを介して、様々な周辺機器およびメモリデバイスに結合することができる、中央処理装置(CPU)1を含む。バスを介して、CPU 1は、同期ダイナミックランダムアクセスメモリ(SDRAM)11などのメモリ、および液晶ディスプレイ(LCD)などのディスプレイ54に結合されたグラフィックスプロセッサ5に接続することができる。CPU 1は、サウスブリッジ4チップなどの第2のバスに結合することができ、サウスブリッジ4チップは、図1に示されるアーキテクチャでは、ノースブリッジバス6を介して結合され、一括して入出力周辺機器8と呼ばれる、キーボード、マウス、オーディオ出力、および外部デバイスを含む、様々なコンピュータコンポーネントおよび周辺機器への接続を提供する。CPU 1は一般に、ハードディスクドライブ9または光ディスクドライブ10などの、大容量のメモリストレージにも結合される。図1Aに示されるアーキテクチャでは、ハードディスクドライブ9および/または光ディスクドライブ10への各CPU 1接続は、サウスブリッジバス4に結合されたシリアルアドバンストテクノロジアタッチメント(SATA: Serial Advanced Technology Attachment)スイッチ34A、34Bを介したものであるが、他のメモリアクセススイッチング回路を使用することもできる。加えて、CPU 1は、サウスブリッジチップ4などのバスを介して、電力管理モジュール40を制御することができ、電力管理モジュール40は、ノートブックまたは類似のコンピュータの場合には、バッテリを含む。CPU 1は、サウスブリッジ4などのバスを介して、ネットワークアクセスモデム9を介して、有線ローカルエリアネットワークと通信することができる。
図1Aに示されるアーキテクチャは、CPU 1と通信するのに役立ち、またメモリ、周辺バス、キャッシュメモリ、およびグラフィックスプロセッサとの対話を制御するのに役立つ、よく知られたインテル社のチップセットであるサウスブリッジ4およびノースブリッジ6チップセットを利用する。一般に、ノースブリッジ6チップは、フロントサイドバスを使用して、CPU 1と通信し、一方、サウスブリッジチップ4は、ノースブリッジ/サウスブリッジチップセットの入出力機能を処理する。この特定のバスアーキテクチャは、様々な実施形態を実施できるコンピュータアーキテクチャの一例として提供されている。しかし、特許請求の範囲から逸脱することなく、他のプロセッサインタフェースチップセットまたはバスアーキテクチャを実施することもできる。
一実施形態では、コンピューティングデバイスは、サウスブリッジチップ4などのバスによってCPU 1に結合されるワイヤレスモデムカード2も含む。例えば、ワイヤレスモデムカード2は、ユニバーサルシリアルバス(USB)リンクを介して、サウスブリッジチップ4に接続することができる。一実施形態では、ワイヤレスモデムカード2は、補助プロセッサ20として機能できる、アプリケーションに専用される一方のプロセッサを含む、デュアルコアプロセッサを含むことができる。ワイヤレスモデムカード2は、フラッシュメモリ13などの内部メモリと、アンテナに接続する広域ワイヤレスワイドエリアネットワークトランシーバ15(図1Aには図示されず)も含むことができる。
ワイヤレスモデムカードを含む従来のコンピューティングデバイスとは異なり、様々な実施形態は、ワイヤレスモデムカード2とコンピューティングデバイスの周辺機器の間の追加の接続を提供する。例えば、ワイヤレスモデムカード2は、(例えばノートブックコンピュータの場合)バッテリから直接的に電力を受け取るため、およびバッテリ/電力管理機能を制御するために、バッテリ/電力管理モジュール40に結合することができる。加えて、ワイヤレスモデムカード2は、ワイヤレスモデムカード2にコンピューティングデバイスのハードディスクドライブ9へのダイレクトアクセスを与えるSATAスイッチ34aと、ワイヤレスモデムカード2にコンピューティングデバイスの光ディスクドライブ10へのダイレクトアクセスを提供するSATAスイッチ34bとに結合することができる。さらに、ワイヤレスモデムカードは、補助プロセッサ20がディスプレイ54上のグラフィックスを直接的に駆動できるように、スイッチ52などを用いて、ディスプレイ54に結合することができる。
共用メモリ32として示される、ノートブックCPU 1とワイヤレスモデムカード2の間で共用するために指定された、メモリの一部は、ワイヤレスモデムカード2に直接的に結合することができる。一実施形態では、共用メモリ32は、CPU 1によってアクセス可能なランダムアクセスメモリの一部または全部とすることができる。そのような一実施形態では、CPU 1と補助プロセッサ20の間の通信チャネル(例えば、図1Aに示されるようなUSB接続を介するサウスブリッジ4)は、制御を補助プロセッサ20に受け渡す前に、システムデータおよびアプリケーションデータのメモリアドレスを補助プロセッサ20に通知するために、CPU 1によって使用することができる(処理をCPU 1に戻すときはこれと逆になる)。別の実施形態では、共用メモリ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などのメインバスの一部も、同様に非活動化することができる。補助プロセッサモードでは、補助プロセッサ20がコンピュータのためにCPU 1を引き継ぐので、ワイヤレスモデムカード2は、完全に活動化することができる。補助プロセッサ20のための補助プロセッサモード命令は、ワイヤレスモデムカード2の、フラッシュメモリ13などの、内部メモリ内に記憶することができるが、システムデータおよびアプリケーションデータは、メモリ接続12bを介して共用メモリ32から、ならびにSATAスイッチ34aおよび34bをそれぞれ介してコンピュータのハードディスクドライブ9および光ディスクドライブ10から獲得することができる。代替として、システムデータおよびアプリケーションデータは、サウスブリッジ4に接続されたUSBチャネルなどの通信チャネルを介して、またはオプションの別個のUSB通信チャネル12aを介して、補助プロセッサ20によって、CPU 1から獲得することができる。さらなる一代替実施形態では、システムデータおよびアプリケーションデータの一部は、共用メモリ32から獲得することができるが、残りのシステムデータおよびアプリケーションデータは、通信チャネルを介して獲得される。加えて、ワイヤレスモデムカード2の補助CPU 20は、ディスプレイポート(DP)52を介して、ディスプレイ54を駆動することができる。
図1Cに示されるように、ユーザは、補助プロセッサモード中も、補助プロセッサ20によって提供される機能を介して、コンピューティングデバイスの周辺機器の多くにアクセスすることができる。ワイヤレスモデムカード2内のプロセッサの電力効率のよい設計のため、この動作モードは、コンピュータのCPU 1への給電が行われる通常動作モードよりも、はるかに僅かな電力しか必要としない。
図1A〜図1Cは、様々な実施形態での使用に適したトップレベルアーキテクチャの一例を提供する。このトップレベルアーキテクチャは、様々なハードウェアアーキテクチャにおいて実施することができ、そのいくつかの例が、図2から図9に示される。
図2は、ワイヤレスモデムカード2がコンピューティングデバイスのマザーボード回路50とどのようにインタフェースを取ることができるかについての一例を示す一実施形態のハードウェア実施を示している。この実施形態では、マルチプレクサアレイ14は、マザーボード50と、コンピュータのキーボード44、ポインティングデバイス46、DVDドライブ49、およびオーディオ回路42との、またワイヤレスモデムカード2との間のインタフェースとして機能することができる。補助プロセッサ20は、マルチプレクサ回路39とワイヤレスモデムカード内のキーボードインタフェース回路28とを介して、キーボード44からキーボード入力を受け取ることができる。同様に、補助プロセッサ20は、マルチプレクサ回路40とポインティングデバイスインタフェース回路30とを介して、コンピュータのポインティングデバイス46からポインティング入力を受け取ることができる。補助プロセッサ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によってどちらかのプロセッサに結合される共通の1組のディスクドライブアクセススイッチ34a、34bを介して、ハードドライブ48およびDVDドライブ49にアクセスすることができる。
共用メモリストレージ32は、マルチプレクサ回路36を介して、モデムプロセッサ20とマザーボード回路50の両方によってアクセスすることができる。図2は、ワイヤレスモデムカード2上に存在する共用メモリストレージ32を示しているが、しかし、共用メモリ32は、代替として、マザーボード回路50上に配置することもできる。さらに、上で述べたように、共用メモリは、補助プロセッサ20が、マルチプレクサ36、またはサウスブリッジ4などの通信バスを介するなどして、メモリにアクセスできる場合は、マザーボード回路50上のランダムアクセスメモリの全部または一部とすることができる。
マザーボード回路50は、マルチプレクサ回路37を介してなど、通信チャネル56を用いて、モデムプロセッサ20に直接的に結合することもできる。そのような通信チャネル56は、ワイヤレスモデムカード2を介したワイヤレスネットワークとの通信を可能にするために、通常動作モードにおいて使用することができる。通信チャネル56は、CPU 1から補助プロセッサ20への制御切り換え、およびその反対の制御切り換えのプロセス中にも、動作アプリケーション情報および状態データを伝達し、処理を同期させ、制御移行プロセスを調整するためなどに使用することができる。
バッテリおよび電力システム48は、動作モードに応じて、CPUまたは補助プロセッサ20のどちらかによって電力システムを管理できるように、コンピュータのマザーボード回路50ばかりでなく、ワイヤレスモデムカード2にも直接的に結合することができる。補助プロセッサは、存在する場合には第2のディスプレイ16にも、またセルラワイヤレスネットワークと通信するために必要なことがあるシステム識別モジュール(SIM)18にも直接的に結合することができる。さらに、補助プロセッサ20は、マルチプレクサ回路52を介してディスプレイ54に結合するRGB-LVDS変換回路22を駆動する、ディスプレイリフレッシュ制御回路21を介して、コンピューティングデバイスのディスプレイ54を駆動することができる。
図3は、図2に示されたアーキテクチャにおいて使用できるワイヤレスモデムチップ2の一実施形態の実施のコンポーネントブロック図である。この例示的な実施形態では、ワイヤレスモデムチップ2は、コンピュータのマザーボード50上のサウスブリッジチップ4に結合するUSBマルチプレクサ回路141に結合された、デュアルプロセッサチップ20を含むことができる。1つまたは複数のUSBまたはSATAブリッジチップ134は、USBマルチプレクサ141に結合することができ、マザーボード50上の1つまたは複数のインタフェースマルチプレクサまたはSATA差動マルチプレクサ137と接続することができる。モデムプロセッサチップ20からのビデオ出力は、データモジュールビデオリフレッシュコントローラ120に接続されたモバイルディスプレイデジタルインタフェース(MDDI: Mobile Display Digital Interface)クライアントチップ118を介して提供することができ、データモジュールビデオリフレッシュコントローラ120は、RGB信号をRGB-LVDS変換チップ122に出力し、RGB-LVDS変換チップ122は、LVDS信号を、ディスプレイパネル54に結合されたクワッド差動マルチプレクサチップ(quad differential multiplexer chip)156に出力する。ビデオ回路はさらに、データモジュールビデオリフレッシュコントローラ120に結合されたダイナミックRAM 150によってサポートすることができる。ワイヤレスモデムチップ2内には、コンピュータのマウス、バッテリ制御回路、DVDコプロセッサ、ハードドライブ、オーディオコントローラ、および汎用入出力周辺機器とインタフェースを取るために、周辺機器インタフェースチップ130を備えることができる。モデムプロセッサ20は、周辺機器インタフェースチップ130に直接的に、またはMDDIクライアントチップ118を介して結合することができる。周辺機器インタフェースチップ130は、マザーボード50上の低速シリアル信号マルチプレクサ回路140に接続することができ、低速シリアル信号マルチプレクサ回路140は、コンピュータのサウスブリッジチップ4への様々なコンポーネントに接続する。この例示的な実施形態では、低速シリアル信号マルチプレクサ140は、図2に示されたマルチプレクサアレイ14に対応する。高精細オーディオ信号は、高精細オーディオマルチプレクサ回路138を介して、モデムプロセッサ20からコンピュータのオーディオ回路に出力することができる。モデムプロセッサ20は、マルチプレクサ回路136を介して共用メモリ32にアクセスすることができる。共用ストレージ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に示されたアーキテクチャは、図6Aのアーキテクチャに類似しているが、例外として、マザーボード回路50および補助プロセッサ20は、マルチプレクサ41、43をそれぞれ介してアドレスされる、共通のUSB-ATAまたはUSB-SATAブリッジ34a、34bをそれぞれ介して、コンピューティングデバイスのハードドライブ48およびDVDドライブ49にアクセスする。図6aと同様に、図2を参照して上で提供された、同じ番号を付したコンポーネントについての説明が、図6Bに示されるコンポーネントにも適用される。
図7は、単一のユーザ入力デバイスマルチプレクサ回路43がコンピューティングデバイスのキーボード44およびポインティングデバイス46に結合される代替アーキテクチャを示している。したがって、キーボード44またはポインティングデバイス46から受け取る入力は、そのマルチプレクサ回路43を介して、補助プロセッサ20またはコンピュータのマザーボード回路50のどちらかに転送される。他の点については、このアーキテクチャは、図2に示されたアーキテクチャに類似しており、そのため、同じ番号を付したコンポーネントについての説明が、図7にも同じく適用可能である。
図8Aは、ディスプレイ54を含むディスプレイ筐体274内に補助プロセッサ20が配置される代替アーキテクチャを示している。このアーキテクチャは、ワイヤレスモデムカード2をディスプレイ筐体274内に配置することで、トランシーバがノートブックコンピュータの相対的に低雑音の部分に収容され、また一般にディスプレイ筐体274内に配置される内蔵アンテナの近くに収容されるので、ノートブックコンピュータにおいて有利なことがある。また、ワイヤレスモデムカード2をディスプレイ筐体274内に配置することは、アンテナとトランシーバの間のコネクタを、ディスプレイ筐体274とノートブックコンピュータのベース筐体270をつなぐヒンジの中を通過させる必要がないことを意味する。図8に示されるアーキテクチャでは、補助プロセッサ20とマザーボード回路50の間の通信は、一連のマルチプレクサ回路38、39、40、36、41、43、52を介して達成され、そのため、図2および図6Aを参照して上で行った、同じ番号を付したコンポーネントについての説明が、図8Aにも同じく適用可能である。
図8Bにおいて示されるアーキテクチャは、図8Aにおけるアーキテクチャに類似しているが、例外として、マザーボード回路50および補助プロセッサ20は、マルチプレクサ41、43をそれぞれ介してアドレスされる、共通のUSB-ATAまたはUSB-SATAブリッジ34a、34bをそれぞれ介して、コンピューティングデバイスのハードドライブ48およびDVDドライブ49にアクセスする。図8aと同様に、図2および図6Bを参照して上で提供された、同じ番号を付したコンポーネントについての説明が、図8Bに示されるコンポーネントにも適用される。
図9は、図7に示されたアーキテクチャに類似する代替アーキテクチャを示しているが、例外として、ワイヤレスモデムカード2および補助プロセッサ20は、ディスプレイ筐体274内に配置される。したがって、図2および図7を参照して上で行った、同じ番号を付したコンポーネントについての説明が、図9にも同じく適用可能である。
好ましい一実施形態では、補助プロセッサ20は、様々な標準コンピュータバスアーキテクチャに接続できる、ワイヤレスモデムカード2またはチップセット内に含むことができる。図10Aは、統合ワイヤレスモデムカード252の例示的なレイアウトを示している。このフォームファクタでは、ワイヤレスモデムカード252は、デュアルプロセッサチップ260と、無線周波数トランシーバチップ262と、電気的コネクタ254、256への入出力インタフェースとして機能する組み合わせインタフェース回路チップ258とを含むことができる。電気的コネクタ254、256は、一致するコネクタクリップに差し込まれ、それと電気的に接続するように構成され、コネクタクリップは、マザーボード50上に備えられたPCMCIコネクタ、PCIミニバスエクスプレス(PCI Minibus Express)、またはPCIミニカード(PCI Minicard)などの標準的な接続バスなどを用いて、コンピューティングデバイスのマザーボード50に結合される。いくつかの実施形態では、無線周波数トランシーバチップ262は、携帯電話ネットワークトランシーバとIEEE 802.11(WiFi)トランシーバの両方ばかりでなく、GPS受信機も含むことができる。図10Aは、大きな統合回路を3つだけ含むワイヤレスモデムカード252を示しているが、当業者であれば、そのようなデバイスのコンポーネントは、より多数または少数の統合回路内に、様々な異なるフォームファクタで統合できることを理解されよう。
ワイヤレスモデムカード252を標準フォームで提供することで、カードを様々な異なるコンピューティングデバイス内で実施することが可能になる。例えば、補助プロセッサを用いて動作を引き継ぐための能力を有する同じ基本的なワイヤレスモデムカード252は、ノートブックコンピュータ250、タブレットコンピュータ270もしくはPDA、またはデスクトップコンピュータ272に組み込むことができる。
図10Bに示される別の実施形態では、ポータブルUSBモデムデバイス700は、内蔵USBコネクタ706を有する小さなパッケージ内に構成することができ、様々な実施形態に従って構成およびプログラムされるMSM/MDMを含むことができる。ポータブルUSBモデムデバイス700内に含まれるコンポーネントについてのさらなる説明は、図30を参照して以下で提供される。ポータブルUSBモデムデバイス700がコンピューティングデバイスから切り離されたときにMSM/MDMに給電して、MSM/MDMがオンであり続け、ワイヤレス通信ネットワークからデータおよびメッセージを受信し続けることを可能にするために、バッテリをポータブルUSBモデムデバイス700内に含むことができる。そのようなポータブルUSBモデムデバイス700は、USBメモリデバイスまたは分厚いクレジットカードのように、ユーザのポケットに入れて持ち運ぶことができる。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は、ディスプレイ部分284などにおいて、携帯電話280を挿入できる受信機スロット288を含むことができる。携帯電話280および受信機スロット288は、図6A〜図9に示されたように、携帯電話280内のワイヤレスモデムプロセッサが、ノートブックコンピュータ282のマザーボードに接続することを可能にするために、コネクタソケットおよびリードを含むことができる。そのような接続は、図2〜図9を参照して上で説明したように、一連のマルチプレクサ回路を提供する、コンピュータ282内のインタフェースチップ(図示されず)を介することができる。加えて、携帯電話280と受信スロット288の間の電気的接続は、挿入されているときに携帯電話280がコンピュータのバッテリから電力を引き出すことができるように、ノートブックコンピュータ282のバッテリシステムへの接続を含むことができる。
図11は、取り外し可能な携帯電話構成を示しているが、類似の実施形態は、USBケーブル(図示されず)などのデータケーブルを介して、携帯電話をコンピュータに接続することを含む。そのようなケーブル接続携帯電話は、受信機スロット288内のコネクタソケットと同じ接続性および制御を提供するケーブルを利用することができる。
図11に示される実施形態は、携帯電話280が受信スロット288に挿入されているときは常に、ユーザが、ノートブックコンピュータ282上でワイヤレスネットワークにアクセスすることを可能にする。ノートブックコンピュータ282を使用していない場合、ユーザは、従来通りの方法で、携帯電話を使用することができる。さらに、ノートブックコンピュータ282と携帯電話280は、プロセッサと携帯電話280が、ノートブックコンピュータ282の低電力補助プロセッサとして機能できるように、様々な実施形態に従って構成することができる。携帯電話280が受信スロット288にインストールされている場合、ノートブックコンピュータ282のCPUは、給電されずにいることができ、それによって、コンピュータが、様々な実施形態によって可能にされる常時オン、瞬時オン、および常時接続の動作特徴を有する補助プロセッサモードで動作することを可能にする。携帯電話280が受信スロット288にインストールされている場合、電話のディスプレイ289は、ノートブックコンピュータ282が閉じられた構成にある間に、ユーザが電子メールおよび文書を閲覧することを可能にするなど、コンピューティングデバイスのための2次ディスプレイとして機能することができる。一実施形態では、携帯電話280がインストールされていない場合、ノートブックコンピュータ282は、ワイヤレスネットワークへのアクセスはできないが、通常通りに機能することができる。
取り外し可能な携帯電話280と同様に、他の取り外し可能なコンポーネント内のプロセッサも、様々な実施形態に従って、補助プロセッサとして使用することができる。例えば、取り外し可能なCDプレーヤまたはDVDプレーヤのための受信機スロット288に差し込まれたそのようなデバイス内のプロセッサは、補助プロセッサとして機能することができる。同様に、(機能的に受信機スロット288に類似することができる)図10Bおよび図30に示されるようなUSBポートに差し込むことができるUSBデバイス内に、補助プロセッサを構成することができる。例えば、USBワイヤレスネットワーク接続モデム700内のプロセッサは、デバイスがコンピュータのUSBポートに差し込まれているとき、補助プロセッサとして機能するように構成することができる。別の例として、補助プロセッサは、USB接続に差し込まれているときは補助プロセッサとして機能するが、それ以外の機能または目的をもたない、専用補助プロセッサUSBデバイスとしてパッケージすることができる。
先の実施形態と同様に、ケーブルによってコンピュータに結合された周辺デバイス内のプロセッサも、補助プロセッサとして機能することができる。例えば、プリンタ、外部マルチ機能デバイス、外部モデム、外部ルータ、外部コンパクトディスク(CD)プレーヤ、または外部DVDプレーヤ内のプロセッサは、様々な実施形態の補助プロセッサとして機能することができる。
様々な実施形態では、プロセッサは、処理制御がコンピューティングデバイスCPUから補助プロセッサに移行する間、および再びCPUに戻る間、現在の動作状態、システムデータ、およびアプリケーションデータが維持されることを保証するように実施することができる。
処理制御を補助プロセッサ(例えばワイヤレスモデムプロセッサ)からコンピューティングデバイスCPUに移行できる例示的な実施形態の方法が、図12に示されている。図12に示される遷移が開始する前は、コンピューティングデバイスは、ステップ300において、補助プロセッサの制御下で動作している。様々なアクションまたはイベントが、コンピューティングデバイスCPUへの制御の移行を必要とすること、または促すことがある。例えば、ユーザは、メニューを選択すること、特定のボタンを押下すること、またはノートブックもしくはネットブックコンピュータのディスプレイ部分を開くことなどによって、コンピュータのCPUの活動化を開始することができる。別の例として、ユーザが、補助プロセッサ上で動作している文書閲覧アプリケーション内に表示されている文書(例えば、テキスト、スプレッドシート、画像、電子メールメッセージ、カレンダエントリなど)を編集するための入力を行う場合など、アプリケーションとのユーザ対話が、コンピュータのCPUの活動化を必要とすることがある。ユーザ編集コマンドが、補助プロセッサアプリケーションによってサポートされない場合、対応するCPUアプリケーションを使用して、ユーザのアクションを実施できるように、CPUを活動化することができる。さらなる一例は、コンピュータのCPUを活動化して、特定の機能を実行するよう命じるコマンドを含む、ワイヤレスネットワークなどのネットワークから受信するメッセージである。送信元に係わらず、補助プロセッサは、ステップ302において、コンピュータのCPUを活動化するよう命じるコマンドまたは信号を受信することができる。このステップにおいて、補助プロセッサではユーザアクションによって指示された機能をサポートできないと補助プロセッサが判定した場合、あるいはCPUモードを起動するよう求めるボタン押下もしくはメニュー選択などのユーザアクションによって、またはCPUモードへの切り換えに対するユーザ承認を求める自動的なプロンプトに対するユーザアクションによって、CPUを活動化する決定を自動的に下すことができる。コンピュータのCPUが、電源断、スタンバイ、またはスリープモードにあるなど、現在非活動化されている場合、ステップ304において、補助プロセッサは、スタートアップシーケンスを開始す
るように、コンピュータのCPUに通知することができる。このステップは、CPUが処理を引き継ぐための準備をするように、コンピュータのCPUが、ブートまたはスタンバイ回復プロセスを開始することを可能にする。コンピュータのCPUがすでに活動化されている場合、このステップは必要ないことがある。
制御をコンピュータのCPUに遷移させるための準備をするため、補助プロセッサは、ステップ306において、システム状態情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータを、共用メモリ内にキャッシュすることができる。それを行うとき、補助プロセッサは、最小限の中断しかユーザに与えずに処理を引き継ぐために、コンピュータのCPUが必要とする情報のすべてを、共用メモリにロードすることができる。キャッシュされたシステム情報は、現在の表示、現在のプロセスに関する状態情報、現在の電力管理状態に関する状態情報、現在動作しているアプリケーションの識別情報、および動作状態に関連するアプリケーションデータに関連するデータを含むことができる。
システム情報を共用メモリ内にキャッシュする代わりに、CPUは、ステップ306において、システム情報を、通信チャネル(例えば、図2を参照して上で説明された通信チャネル56)を介して補助プロセッサに伝達することができる。このステップ306において、現在オープンしているアプリケーション、現在オープンしているアプリケーションの、ランダムアクセスメモリ(すなわち共用メモリ)内に記憶されたデータのメモリアドレス、および他の状態情報などの情報を含む、制御を引き継ぐために補助プロセッサによって必要とされる情報を伝達することができる。
さらなる実施形態では、CPUは、ステップ306において、システム状態情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータの一部を、共用メモリ内に記憶することができ、システム状態情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータの残りの部分を、共用チャネルを介して伝達することができる。
コンピュータのCPUがアクティブである場合、または活動化した場合、ステップ308において、コンピュータのCPUは、共用メモリ内に記憶された、および/または通信チャネルを介して受信した、状態情報にアクセスするために、遷移ルーチンを実行し、コンピュータ機能の制御を引き継ぐように、CPU自体を構成することができる。このステップの一環として、CPUは、共用メモリ内に記憶された状態情報を使用して、制御を取得したときに同等の動作状態を実行できるように、それ自体の状態を構成することができる。また、CPUは、補助プロセッサ上で現在動作しているアプリケーションを決定し、それらのアプリケーションに対応する完全バージョンをロードし、共用メモリからアプリケーションデータをロードすることができる。
補助プロセッサからCPUへの制御の遷移を準備する一環として、ステップ309において、現在動作しているアプリケーションを2つのプロセッサの間で同期させることができる。動作中のアプリケーションを同期させる目的は、ユーザの観点から見て、スムーズなアプリケーション機能の遷移を提供することである。アプリケーションを同期させるプロセスについてのさらなる説明は、図14を参照して以下で提供される。
任意選択的に、制御をCPUに移行する前に、コンピュータのCPUまたは補助プロセッサは、オプションステップ310において、動作制御の移行について、したがって、動作モードの変化について確認または同意するようにユーザを促す表示を生成することができる。このステップでは、制御のCPUへの移行が間もなく生じることをユーザに警告し、そのような移行に同意するのであれば1つもしくは複数のキーを打つように、または制御移行プロセスをアボートさせるのであれば1つもしくは複数の他のキーを打つようにユーザに要求する、表示を生成することができる。オプションの判定311において、補助プロセッサおよびコンピュータのCPUは、ユーザの入力を受け取り、ユーザが制御切り換えに同意したかどうかを判定することができる。補助プロセッサおよびコンピュータのCPUが、ユーザ入力が同意に対応すると判定した場合(すなわち、判定311=「はい」)、補助プロセッサおよびコンピュータのCPUは、ステップ312に進むことによって、制御移行を達成することができる。補助プロセッサおよびコンピュータのCPUが、ユーザ入力が、不同意またはプロセスをアボートさせるよう命じるコマンドに対応すると判定した場合(すなわち、判定311=「いいえ」)、動作状態300に戻って、補助プロセッサの制御下での処理に戻ることによって、制御移行をアボートさせることができる。ユーザ確認を求める要件は、実施されなくてもよく、不可欠なプロセスとして実施されてもよく、またはユーザ構成可能な機能として実施されてもよい。
コンピュータのCPUが、動作のためにそれ自体を構成し、適切なアプリケーションおよびアプリケーションデータを作業用メモリにロードし、任意選択的に、続行することについてのユーザ許可を受け取った後、補助プロセッサとコンピュータのCPUは、ステップ312において、制御をCPUに移行するために協力する。この制御の移行は、実施に応じて、単一のステップで行うことができ、または一連のステップで達成することができる。移行が達成された後、ステップ314において、コンピュータのCPUの制御下で、処理を続行することができる。この時点で、補助プロセッサは、通常動作モードに移行することができ、通常動作モードは、ワイヤレスモデムプロセッサの場合、ワイヤレスモデムカード機能のサポートに限定することができる。
一実施形態では、補助プロセッサは、アプリケーションを動作させる場合に、FLASHメモリを利用することができる。そのような一実施形態では、補助プロセッサは、システム全体のデータ、アプリケーションデータ、およびアプリケーションコンテキストデータを、FLASHメモリから、コンピュータマザーボード50上のメモリなど、CPUがより大量に利用可能なランダムアクセスメモリにコピーすることができる。そのようなFLASHメモリは、コンポーネント(例えばMSM/MDMカード)内に、マザーボード50上に、または両方のプラットフォーム上に存在することができる。
処理制御をコンピューティングデバイスCPUから補助プロセッサ(例えばワイヤレスモデムプロセッサ)に移行できる例示的な実施形態の方法が、図13に示されている。図13に示される遷移が開始する前は、コンピューティングデバイスは、ステップ314において、コンピュータのCPUの制御下で動作している。様々なアクションまたはイベントが、補助プロセッサへの制御の移行を必要とすること、または促すことがある。例えば、ユーザは、メニューを選択すること、特定のボタンを押下すること、またはノートブックコンピュータのディスプレイ部分を閉じることなどによって、コンピュータのバッテリ寿命を長引かせるためのアクションを開始することができる。別の例として、ユーザが、オーディオプレーヤまたはDVDプレーヤアプリケーションを起動した場合など、アプリケーションとのユーザ対話が、補助電力モードの起動をトリガとすることができる。さらなる一例は、補助電力モードを起動するよう命じるコマンドを含む、ワイヤレスネットワークなどのネットワークから受信するメッセージである。送信元に係わらず、コンピュータのCPUは、ステップ316において、補助電力モードに遷移するよう命じるコマンドまたは信号を受信することができる。補助プロセッサは、ワイヤレスモデムカードのコンポーネントである場合など、すでに給電されていることがあるので、遷移を開始する一環として、そのプロセッサを活動化する必要がないこともある。
制御を補助プロセッサに遷移させるための準備をするため、コンピュータのCPUは、ステップ318において、システム状態情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータを、共用メモリ内にキャッシュすることができる。それを行うとき、コンピュータのCPUは、最小限の中断しかユーザに与えずに処理を引き継ぐために、補助プロセッサが必要とする情報のすべてを、共用メモリにロードすることができる。キャッシュされたシステム情報は、現在の表示、現在のプロセスに関する状態情報、現在の電力管理状態に関する状態情報、現在動作しているアプリケーションの識別情報、および動作状態に関連するアプリケーションデータに関連するデータを含むことができる。
システム情報を共用メモリ内にキャッシュする代わりに、補助プロセッサは、ステップ318において、通信チャネルを介して、システム情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータをCPUに伝達することができる。この代替ステップ318において、現在オープンしているアプリケーション、現在オープンしているアプリケーションの、ランダムアクセスメモリ(すなわち共用メモリ)内に記憶されたデータのメモリアドレス、および他の状態情報などの情報を含む、補助プロセッサから制御を引き継ぐためにCPUによって必要とされる情報を伝達することができる。
さらなる実施形態では、補助プロセッサは、ステップ318において、システム状態情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータの一部を、共用メモリ内に記憶することができ、システム状態情報、システム全体のデータ、現在のアプリケーションデータ、およびアプリケーションコンテキストデータの残りの部分を、共用チャネルを介して伝達することができる。
ステップ320において、補助プロセッサは、共用メモリ内に記憶された、および/または通信チャネルを介して受信した、状態情報にアクセスするために、遷移ルーチンを実行し、コンピュータ機能の制御を引き継ぐように、補助プロセッサ自体を構成することができる。このステップの一環として、補助プロセッサは、共用メモリ内に記憶された状態情報を使用して、制御を取得したときに同等の動作状態を実行できるように、それ自体の状態を構成することができる。また、補助プロセッサは、コンピュータのCPU上で現在動作しているアプリケーションを決定し、それらのアプリケーションの対応するスケールダウンバージョンをロードし、共用メモリからアプリケーションデータをロードすることができる。
CPUから補助プロセッサへの制御の遷移を準備する一環として、ステップ321において、現在動作しているアプリケーションを2つのプロセッサの間で同期させることができる。やはり、動作中のアプリケーションを同期させる目的は、ユーザの観点から見て、スムーズなアプリケーション機能の遷移を提供することである。アプリケーションを同期させるプロセスについてのさらなる説明は、図14を参照して以下で提供される。
図13を参照して上で説明したように、制御を補助プロセッサに移行する前に、コンピュータのCPUまたは補助プロセッサは、オプションステップ310において、動作制御の移行について、したがって、動作モードの変化について確認または同意するようにユーザを促す表示を任意選択的に生成することができる。このステップでは、制御の補助プロセッサへの移行が間もなく生じることをユーザに警告し、そのような移行に同意するのであれば1つもしくは複数のキーを打つように、または制御移行プロセスをアボートさせるのであれば1つもしくは複数の他のキーを打つようにユーザに要求する、表示を生成することができる。オプションの判定311において、補助プロセッサまたはコンピュータのCPUは、ユーザの入力を受け取り、ユーザが制御切り換えに同意したかどうかを判定することができる。補助プロセッサおよびコンピュータのCPUが、ユーザ入力が同意に対応すると判定した場合(すなわち、判定311=「はい」)、補助プロセッサおよびコンピュータのCPUは、ステップ322に進むことによって、制御移行を達成することができる。補助プロセッサおよびコンピュータのCPUが、ユーザ入力が、不同意またはプロセスをアボートさせるよう命じるコマンドに対応すると判定した場合(すなわち、判定311=「いいえ」)、動作状態314に戻って、CPUの制御下での処理に戻ることによって、制御移行をアボートさせることができる。上で述べたように、このオプションのユーザ確認ステップは、実施されなくてもよく、不可欠なプロセスとして実施されてもよく、またはユーザ構成可能な機能として実施されてもよい。
補助プロセッサが、動作のためにそれ自体を構成し、適切なアプリケーションおよびアプリケーションデータを作業用メモリにロードした後、モデムプロセッサとコンピュータのCPUは、ステップ322において、制御を補助プロセッサに移行するために協力することができる。この制御の移行は、実施に応じて、単一のステップで行うことができ、または一連のステップで達成することができる。移行が達成された後、ステップ300において、補助プロセッサの制御下で、処理を続行することができる。この時点で、コンピュータのCPUは、バッテリ電力を節約するために、電源を落とすことができ、またはスタンバイもしくはスリープモードなどの低電力状態にすることができる。バッテリ電力をさらに節約するために、コンピュータのCPUの電源を落とすことに加えて、他のコンピュータコンポーネントおよび周辺機器の電源も落とすことができる。
CPUから補助プロセッサへの、またはその反対への遷移の一環として、補助プロセッサ上で動作するアプリケーションは、コンピューティングデバイスCPU上で動作する対応するアプリケーションと同期させることができる。上で述べたように、CPUと補助プロセッサは、異なるオペレーティングシステム(例えばWindows(登録商標)およびBREW(登録商標))の下で動作することができ、異なるアプリケーションを実行することができる。例えば、補助プロセッサは、完全な編集機能をもたない文書ビューア、またはCPU上で動作するアプリケーションのスリム化されたバージョンを実行することができる。ユーザのエクスペリエンスを高めるため、2つのプロセッサ上で動作する対応するアプリケーションは、実質的に同様の一貫した方法で振る舞うことができ、実質的に同じ1組のアプリケーションデータにアクセスすることができる。さらに、一方のプロセッサから他方への遷移が、オープンしているアプリケーションとのユーザの対話に最小限の影響しか与えなければ都合がよい。そのような性能が達成された場合、制御を行っている特定のプロセッサについてユーザはほとんど気づかずにいることができ、アプリケーションを使用するユーザの能力は、制御を行っているプロセッサによって、または一方のプロセッサから他方への切り換えによって、最小限の影響しか受けずにいることができる。
CPUと補助プロセッサの間でアプリケーションを同期させるための1つの方法は、コンピューティングデバイスのハードドライブ48へのデュアルポートアクセスを使用する。ハードウェアレベルでは、これは、図2〜図9に示されるような、ハードドライブ48へのSATAまたはパラレルATAインタフェース34aを多重化することによって達成することができる。補助プロセッサの制御下で動作している間のハードドライブ48の頻繁な使用は、電力消費を増加させ、バッテリ下での動作の継続時間を短くする。したがって、補助プロセッサ上で動作するアプリケーションは、ハードドライブ48のアクセスを最低限に抑えるように構成することができる。
アプリケーションを同期させるための別の方法は、オープンしているアプリケーションのデータを含む、頻繁に使用される共用のシステムデータおよびアプリケーションデータのためのキャッシュとして機能するように構成された、共通の共用ストレージを利用する。この概念の簡単な図が、図14に示されている。ノートブックコンピュータにCPUモードで電源が入れられたとき、共用ストレージおよびハードドライブは、CPUによってアクセスすることができる。制御を行っているプロセッサだけしか通常はそのようなコンポーネントにアクセスしないので、共用ストレージおよびハードドライブへのアクセスの衝突は、最低限に抑えることができる。制御遷移プロセス中の衝突は、2つのプロセッサの間で信号を送り合うことによって、回避することができる。CPUがシャットダウンし始めたとき、またはスタンバイもしくはハイバネーション状態に入り始めたとき、システム全体のデータおよび頻繁に使用されるアプリケーションデータは、共用フラッシュストレージに書き込むことができる。そのようにすることで、補助プロセッサが、アクティブになり、処理の制御を行うときに、データにアクセスすることを可能にすることができる。時々、補助プロセッサ上で動作しているアプリケーションは、共用ストレージ内にキャッシュされていないデータにアクセスすることが必要になることがある。その場合、補助プロセッサは、ハードドライブ48の電源を入れ、必要な情報を読み取り、その情報をRAM内または共用ストレージ内にローカルに記憶し、その後、ハードドライブ48の電源を落とすことができる。CPUが、ウェイクアップ、レジューム、またはスタートアップイベントを有するとき、共用フラッシュストレージ内に記憶されたアプリケーションデータおよびアプリケーションコンテキストは、ハードドライブ48上のデータと同期させることができる。
第2の同期プロセスは、CPUと補助プロセッサの間の、ファイル互換性、ならびにアプリケーションデータおよびアプリケーションコンテキストの同期を含む。この同期は、CPU動作モードにおいて対応するアプリケーションを有する、あらゆる補助プロセッサアプリケーションについて達成することができる。この同期が良好に働くことを可能にするため、オープンインタフェースデータ定義を、あらゆるアプリケーションに提供することができる。代替として、補助プロセッサ上で動作するアプリケーションは、対応するWindows(登録商標) XPと良好に同期すべきMicrosoft Windows(登録商標) Mobileアプリケーションなど、互換性のあるタイプに属することができる。現在は互換アプリケーションが存在しない場合、iTunes、Eudora、およびFirefoxなど、対応するCPUアプリケーションと同じファイル構造を用いて動作できる、新しい補助プロセッサアプリケーションを書くことができる。
アプリケーションを同期させるプロセスにおいて、アプリケーションコンテキストデータも、同じく転送すべきである(図12のステップ309、および図13のステップ321を参照)。以下のTable 1(表1)には、共通のアプリケーションのために、2つのプロセッサの間で同期させることができるアプリケーションコンテキストデータおよびアプリケーションデータのいくつかの例が挙げられている。上で述べたように、アプリケーションコンテキストデータは、共用ストレージ内にデータを記憶することによって、または通信チャネル56を介して一方のプロセッサから他方にデータを伝達することによって、2つのプロセッサの間で同期させることができる。
共用メモリを利用する一実施形態のプロセスが、図14に示されている。この実施形態では、マザーボード回路50と補助プロセッサ20の間の通信チャネル56は、CPUの制御下での動作中におけるネットワーク(例えばWAN)通信のために、および一方のプロセッサから他方への遷移を開始できることを通知するために、使用することができる。CPU動作中は、CPU 50によって、データアクセス60を介して、通常の方法でハードドライブ48に頻繁にアクセスすることができるが、補助プロセッサ動作中は、バッテリの電力消耗を最小限に抑えるために、補助プロセッサ20によって、データアクセス62を介して、ハードドライブ48にごく稀にアクセスすることができる。スタンバイ、ハイバネーション、またはシャットダウンなどのイベント時のCPUなど、CPU 50から補助プロセッサ20に制御を切り換える前に、または切り換えるときに、CPUは、最近使用したデータを、データアクセス64を介して、共用ストレージ32にキャッシュすることができる。補助プロセッサ20上で動作する対応するアプリケーションと、アプリケーションデータおよびアプリケーションコンテキストデータを同期させるために、補助プロセッサは、各アプリケーションについてのそのようなデータを、データアクセス66を介して、共用ストレージ32から読み取ることができる。制御が補助プロセッサ20からCPU 50に再び移行する場合、プロセスを反転させることができ、CPUは、ウェイクアップ、レジューム、またはスタートアップイベント時に、データを共用ストレージ32からCPUに戻して同期を取る。
補助プロセッサがCPUから、およびCPUが補助プロセッサから制御を引き継ぐことを可能にするために、様々な情報を、一方のプロセッサから他方に伝達しなければならない。この情報は、例えば、上で説明したように、現在動作しているアプリケーション、動作中のアプリケーションによって使用されているアプリケーションデータ、およびアプリケーションコンテキストデータのリストを含むことができる。アプリケーションデータの例は、電子メールメッセージ、電子メールメッセージの添付ファイル、オープンしている文書、ウェブブラウザ上でのブックマーク、メディアライブラリなどを含む。加えて、進行中のネットワーク接続およびワイヤレスデータ呼(例えば、接続サービスおよびソケットのIPアドレスおよびポート番号)、周辺デバイスの使用状況およびステータス、ならびに電力システムのステータスおよび状態など、コンピュータシステムおよび周辺機器に関する情報も伝達することができる。他のシステム状態情報を、一方のプロセッサから他方に伝達する必要があることもある。開示の範囲または特許請求の範囲を限定することなく、参照を容易にするために、制御の移行の際に2つのプロセッサの間で伝達されるアプリケーション、周辺機器、およびコンピュータのステータス情報を、本明細書では「動作ステータス情報」と呼ぶことがあるが、そのわけは、それらの情報は、制御が移行される時点のコンピュータの動作状態に関係し、またはそれを説明するからである。本明細書で使用される場合、「動作ステータス情報」という用語は、状態機械の情報に限定されない。
図15は、ノートブックコンピュータ250内のワイヤレスモデムカード252から、ノートブックコンピュータのCPUに動作制御を移行するための特定の一実施形態のプロセスを示している。ステップ300において、コンピュータがモデムプロセッサの制御下で動作しているとき、コンピュータは、コンピュータのCPUへの制御の移行が開始したことをコンピュータに通知する様々な信号を受信することができる。第1の例として、ステップ330において、モデムプロセッサは、受信したメッセージまたは認識したアプリケーションの状態などに応答して、コンピュータのCPUを活動化するための内部信号を認識することができる。第2の例として、ステップ332において、モデムプロセッサは、編集または類似の変更をサポートできない文書ビューアアプリケーションによってディスプレイ上に提示された文書を変更したい旨の要望を示すユーザ入力を受け取ることができる。第3の例として、ステップ334において、モデムプロセッサは、コンピュータの電源ボタンの押下、電源投入メニュー選択肢の選択、ノートブックコンピュータを開くこと、または他のユーザ入力など、コンピュータのCPUを活動化するよう命じるコマンド入力を、ユーザから受け取ることができる。
モデムプロセッサは、コンピュータのCPUを活動化する必要性を認識した場合、判断340において、CPUが現在給電されているかどうかを判定することができる。CPUが給電されていない場合(すなわち、判定340=「いいえ」)、モデムプロセッサは、ステップ342において、CPUをブートアップするよう命じるコマンドを発行することができる。コンピュータのCPUの給電に係わるプロセスは、その時点においてCPUがいる状態に依存する。CPUがまったく給電されていない場合は、コールドブートルーチンを実行する必要があることがある。他方、CPUがスタンバイまたはスリープモードにある場合は、フルパワーで機能するようにCPUを回復させることに関連するプロセスだけが実行される。
コンピュータCPUがアクティブである場合(すなわち、判定340=「はい」)、またはCPUブートプロセスが開始された後である場合(ステップ342)、モデムプロセッサは、判定344において、コンピュータ上で現在オープンしているいずれかの文書が存在するかどうかを判定することができる。文書がオープンしている場合(すなわち、判定344=「はい」)、ステップ346において、モデムプロセッサは、文書および状態を共用メモリ内にキャッシュすることができる。文書がオープンしていない場合(すなわち、判定340=「いいえ」)、またはオープンしている文書の状態が共用メモリ内にセーブされた後である場合(ステップ346)、モデムプロセッサは、ステップ348において、コンピュータの周辺機器、オペレーティングシステム、および電力管理の状態、ならびに類似の動作状態に関する情報を、共用メモリにセーブすることができる。
上で説明したように、システム情報を共用メモリ内にキャッシュする代わりに、CPUは、ステップ346およびステップ348において、通信チャネルを介して、システム情報を補助プロセッサに伝達することができる。この代替実施形態では、現在オープンしているアプリケーション、現在オープンしているアプリケーションの、ランダムアクセスメモリ(すなわち共用メモリ)内に記憶されたデータのメモリアドレス、および他の状態情報などの情報を含む、制御を引き継ぐために補助プロセッサによって必要とされる動作状態情報を伝達することができる。
アプリケーションデータおよび動作状態情報のすべてが、共用メモリ内にキャッシュされた後、またはモデムプロセッサに伝達された後、ステップ350において、モデムプロセッサは、CPUに制御を切り換える準備ができたことを、コンピュータのCPUに通知することができる。この信号は、割り込みの形態を取ることができ、または制御を切り換えるためのプロセスをいつ開始すべきかを決定するためにコンピュータのCPUがアクセスできるメモリフラグの形態を取ることができる。
コンピュータのCPUがブートされ、制御遷移を開始できることを知らせる信号をモデムプロセッサから受信した場合、CPUは、ステップ352において、周辺機器、オペレーティングシステム状態、電力管理状態、および他のコンピュータ周辺機器に関する動作状態情報を獲得するために、共用メモリにアクセスすることができる。CPUは、この動作状態情報を使用して、すべての周辺機器の制御を、現在の動作状態のものに従った方法で引き継ぐ準備をすることができる。コンピュータのCPUは、ステップ354において、コンピュータ上で現在オープンしているいずれかの文書の状態を示す情報を、共用メモリから獲得することができる。例えば、テキスト文書がオープンしている場合、共用メモリは、ディスプレイ上に現れている文書の特定の部分を示すことができる。代替として、共用メモリは、完全な文書データを格納するのに十分な大きさとすることができる。コンピュータのCPUはさらに、共用メモリ内の動作状態情報から、コンピュータ上で現在動作しているアプリケーションを決定することができ、ステップ356において、それらのアプリケーションの適切な正規バージョンをロードすることができる。代替として、CPUが動作を引き継ぎ、対応するアプリケーションを実行するのに必要とされる情報は、補助プロセッサによって、2つのプロセッサの間の通信リンクを介して伝達することができる。
アプリケーションがロードされると、コンピュータのCPUは、起動されたアプリケーションに関連する、コンピュータ上で現在オープンしている文書もロードすることができる。例えば、補助プロセッサモードの下で動作しているコンピュータ上で、Word(登録商標)文書が閲覧されていた場合、コンピュータのCPUは、完全なWord(登録商標)アプリケーションをロードし、その後、完全な文書をメモリ(例えばハードディスクメモリ)からロードすることができる。別の例として、コンピュータが補助電力モードの下で動作していた間に、電子メールメッセージがオープンしていた場合、CPUは、電子メールアプリケーション(例えばMicrosoft Office(登録商標))をロードし、その後、オープンしていた電子メールメッセージをメモリ(例えば共用メモリまたはハードディスクメモリ)からロードすることができる。文書をロードする一環として、コンピュータのCPUは、共用メモリから獲得された文書のアプリケーションデータおよびアプリケーションコンテキストデータ(例えばステップ354において獲得された情報)を使用して、ディスプレイ上に現在提示されている特定のページまたは局面が示されるように、文書をオープンすることもできる。
コンピュータのCPUは、適切な状態を実施するようにそれ自体を構成し、適切なアプリケーションおよび文書をロードし、処理の制御を取得するための他の準備をすませた後、ステップ358において、今まさに制御を取得しようとしていることを、モデムプロセッサに通知することができる。この時点で、コンピュータのCPUは、ステップ362において、コンピュータ、そのディスプレイ、その電力管理システム、およびその周辺機器の制御を取得することができ、一方、モデムプロセッサは、ステップ360において、コンピュータ周辺機器の制御を放棄する。制御を取得するプロセスは、信号スイッチまたは(図6〜図9に示されたマルチプレクサ回路36、38、40、41、42、および52などの)マルチプレクサ回路が、コンピュータのCPUに、またはコンピュータのCPUから、制御信号を転送し始めることによって達成することができる。コンピュータのCPUが制御を取得した後、ステップ314において、コンピュータの動作を通常動作モードにおいて続行することができる。
図16は、ノートブックコンピュータ250のCPUから、そのコンピュータ内にインストールされたワイヤレスモデムカード252に動作制御を移行するための特定の一実施形態のプロセスを示している。ステップ314において、コンピュータがコンピュータのCPUの下で動作しているとき、モデムプロセッサへの制御の移行を開始したことをコンピュータに通知する様々な信号を受信することができる。第1の例として、ステップ370において、コンピュータのCPUは、コンピュータが補助プロセッサモードに移行すべきであることを示す内部信号を認識することができる。例えば、CPUは、ユーザが所定の期間にわたってコンピュータと対話していないことを判定することができ、その時点で、CPUは、バッテリ電力を節約するために、(現在実施されているようなシャットダウンまたはスリープモードに入る代わりに)補助プロセッサモードへの遷移を開始することができる。別の例として、コンピュータのCPUは、DVDまたはオーディオプレーヤなどの、現在起動されているアプリケーションが、補助プロセッサモードで動作できることを認識することができる。そのようなアプリケーションの場合に補助プロセッサモードに切り換えることで、ユーザは、同じバッテリ充電で、はるかに長時間にわたって、アプリケーションを楽しむことが可能になることがある。別の例として、コンピュータは、バッテリ電力を節約するようコンピュータに命じるSMSメッセージなど、補助プロセッサモードを起動するようコンピュータのCPUに命じるコードを含む電子メッセージを受信することができる。第2の例として、ステップ372において、CPUは、ユーザが電源ボタンを押下すること、メニュー選択肢を起動すること、またはノートブックコンピュータのディスプレイを閉じることなど、CPUを非活動化するようCPUに指令するコマンドを受け取ることができる。
コンピュータのCPUは、補助プロセッサモードを起動するよう求める信号を認識した場合、または受信した場合、判定374において、現在オープンしているいずれかの文書が存在するかどうかを判定することができる。1つまたは複数の文書が現在オープンしている場合(すなわち、判定374=「はい」)、ステップ376において、CPUは、それらの文書の状態を共用メモリ内にキャッシュすることができる。共用メモリ内に記憶される情報は、モデムプロセッサが、制御を取得したときに、文書の同様の表示を提示することを可能にするのに十分なものとすることができる。文書がオープンしていない場合(すなわち、判定374=「いいえ」)、またはオープンしている文書の状態が共用メモリ内にセーブされた後である場合(ステップ376)、コンピュータのCPUは、ステップ378において、コンピュータの周辺機器、オペレーティングシステム、および電力管理の状態、ならびに類似の動作状態に関する情報を共用メモリにセーブすることができる。
上で説明したように、システム情報を共用メモリ内にキャッシュする代わりに、CPUは、ステップ376およびステップ378において、通信チャネルを介して、アプリケーションデータおよび動作状態情報を補助プロセッサに伝達することができる。この代替実施形態では、現在オープンしているアプリケーション、現在オープンしているアプリケーションの、ランダムアクセスメモリ(すなわち共用メモリ)内に記憶されたデータのメモリアドレス、および他の動作状態情報などの情報を含む、制御を引き継ぐために補助プロセッサによって必要とされる情報を伝達することができる。
アプリケーションデータおよび動作状態情報が、共用メモリ内にキャッシュされた後、ステップ380において、コンピュータのCPUは、制御を切り換える準備ができたことを、モデムプロセッサに通知することができる。この信号は、割り込みの形態を取ることができ、または制御を切り換えるためのプロセスをいつ開始すべきかを決定するためにモデムプロセッサがアクセスできるメモリフラグの形態を取ることができる。
モデムプロセッサが、制御遷移を開始できることを知らせる信号をコンピュータのCPUから受信した場合、モデムプロセッサは、ステップ382において、周辺機器、オペレーティングシステム状態、電力管理状態、および他のコンピュータ周辺機器に関する周辺機器状態情報を獲得するために、共用メモリにアクセスすることができる。モデムプロセッサは、この周辺機器状態情報を使用して、少なくともいくつかの周辺機器の制御を、現在の動作状態のものに従った方法で引き継ぐ準備をすることができる。モデムプロセッサは、ステップ384において、コンピュータ上で現在オープンしているいずれかの文書の状態を示す動作状態情報を、共用メモリから獲得することができる。例えば、電子メールメッセージまたはテキスト文書がオープンしている場合、共用メモリ(またはプロセッサ間の通信チャネルを介したデータ通信)は、ディスプレイ上に現れている1つまたは複数の文書の特定の部分を示すことができる。代替として、共用メモリは、完全な文書データを格納するのに十分な大きさとすることができる。モデムプロセッサはさらに、共用メモリ内の動作状態情報から、コンピュータ上で現在動作しているアプリケーションを決定することができ、ステップ386において、それらのアプリケーションの適切なスケールダウンバージョンをロードすることができる。アプリケーションがロードされると、モデムプロセッサは、起動されたアプリケーションに関連する、コンピュータ上で現在オープンしている文書もロードすることができる。例えば、コンピュータが通常動作モードにあった間、Word(登録商標)文書がオープンしていた場合、モデムプロセッサは、Word(登録商標)文書ビューアアプリケーションをロードし、その後、文書の少なくとも一部をメモリ(例えば共用メモリまたはハードディスクメモリ)からロードすることができる。別の例として、コンピュータが通常動作モードにあった間に、電子メールメッセージがオープンしていた場合、モデムプロセッサは、電子メールビューアアプリケーションをロードし、その後、オープンしていた電子メールメッセージをメモリ(例えば共用メモリまたはハードディスクメモリ)からロードすることができる。文書をロードする一環として、モデムプロセッサは、共用メモリに記憶された動作状態情報(例えばステップ384において獲得した情報)から獲得した、またはプロセス内通信チャネルを介して伝達された、文書のアプリケーションデータおよびアプリケーションコンテキストデータを使用して、ディスプレイ上に現在提示されている特定のページまたは局面が示されるように、文書をオープンすることもできる。
モデムプロセッサは、適切な状態を実施するようにそれ自体を構成し、適切なアプリケーションおよび文書をロードし、処理の制御を取得するための他の準備をすませた後、ステップ388において、今まさに制御を取得しようとしていることを、コンピュータのCPUに通知することができる。この時点で、モデムプロセッサは、ステップ392において、コンピュータ、そのディスプレイ、その電力管理システム、およびその周辺機器の制御を取得することができ、一方、コンピュータのCPUは、ステップ390において、コンピュータ周辺機器の制御を放棄する。制御を取得するプロセスは、信号スイッチまたは(図6〜図9に示されたマルチプレクサ回路36、38、40、41、42、および52などの)マルチプレクサ回路が、モデムプロセッサに、またはモデムプロセッサから、制御信号を転送し始めることによって達成することができる。モデムプロセッサが制御を取得した後、ステップ300において、コンピュータの動作を補助プロセッサにおいて続行することができる。また、モデムプロセッサが制御を取得した後、コンピュータのCPUは、ステップ394において、通常のシャットダウンプロセスを開始して、非活動化すること、またはスタンバイもしくはスリープモードなどの低電力状態に入ることができる。
一代替実施形態では、コンピュータを制御しているプロセッサは、共用メモリが現在の動作状態を正確に反映するように、この共用メモリ内に記憶された状態データを頻繁に更新することができる。この実施形態は、制御移行を行うことができるように、制御移行に先立って、共用メモリにデータを記憶する必要がないので、2つの動作モードの間のより高速な遷移を可能にすることができる。図17は、この実施形態に従って、モデムプロセッサからコンピュータのCPUに制御を移行するための例示的な方法を示している。ステップ300において、コンピュータが、モデムプロセッサの制御下で動作している間、モデム内のオーバヘッド処理の一部は、判定400において、現在の動作状態が共用メモリに記憶された状態から変化したかどうかを定期的に判定することを含むことができる。この判定は、動作状態情報を共用メモリ内に記憶された動作状態情報と比較することによって、または動作が現在の動作状態を変化させた(例えば、アプリケーションを終了した、もしくはモデムデータ呼を終了した)ときを記録することによって、行うことができる。状態変化が生じていない場合(すなわち、判定400=「いいえ」)、次の判定が行われるまで、処理を継続することができる。状態変化が生じたとモデムプロセッサが判定した場合(すなわち、判定400=「はい」)、プロセッサは、ステップ402において、更新された動作状態情報(すなわち、コンピュータ周辺機器、オペレーティングシステム状態、電力状態、オープンしているアプリケーション、および他の側面に関するステータスおよび構成情報)を、共用メモリ内に記憶することができる。動作状態情報が更新されると、プロセッサは、その通常プロセスルーチンを続行することができる。
動作の制御を取得するための準備を行うために、コンピュータのCPUは、補助プロセッサモード中に、共用メモリに定期的にアクセスして、判定404において、キャッシュされた情報に変化があったかどうかを判定することができる。この判定は、共用メモリ内に記憶された情報を別のメモリロケーション内の情報と比較することによって、更新が行われたときにモデムプロセッサによって設定された(すなわち、ステップ402の一環として設定された)、CPUからアクセス可能なフラグにアクセスすることによって、または(ステップ402の一環として送られるような)更新が行われることを知らせる信号もしくは割り込みをモデムプロセッサから受け取ることによって、行うことができる。キャッシュされた情報に変化がなかった場合(すなわち、判定404=「いいえ」)、CPUは、どのような処理であれ、それが実行していた処理に戻ることができる。例えば、CPUがスタンバイまたはスリープモードなどの低電力モードにあった場合、CPUは、共用メモリまたはステータスフラグをチェックするのに十分な程度に、定期的に活動化することができる。代替として、コンピュータのCPUは、信号または割り込みをモデムプロセッサから受け取ったときに、キャッシュが変化したかどうかに関する判定だけを行うことができる。共用メモリ内に記憶された状態情報に変更が施されたとコンピュータのCPUが判定した場合(すなわち、判定404=「はい」)、CPUは、ステップ406において、共用メモリにアクセスして、更新された状態情報を獲得し、それを独自の状態メモリ内に記憶することができる。
コンピュータのCPUは、モデムプロセッサによって記憶された状態情報と同期を取って、その状態情報を維持していたので、この実施形態では、CPUは、コンピュータの制御を非常に迅速に取得することができる。したがって、ステップ330、332、334において、モデムプロセッサが、通常動作モードへの移行を達成すべきであることを示す信号を受け取った場合、ステップ408において、モデムプロセッサは、制御移行プロセスを開始するように、コンピュータのCPUに直ちに通知することができる。この信号を受信すると、コンピュータのCPUは、ステップ356において、モデムプロセッサ上で現在動作しているアプリケーションおよび文書に従って、適切なアプリケーションおよび文書をロードすることができ、ロードされると、ステップ362において、コンピュータ、ディスプレイ、電力管理システム、および他の周辺機器の制御を引き受ける。その後、ステップ360において、モデムプロセッサは、コンピュータの周辺機器の制御を放棄することができ、ステップ314において、コンピュータは、CPUの制御下の通常動作モードにおいて、動作を続行することができる。
図18は、この実施形態に従って、コンピュータのCPUからモデムプロセッサに制御を移行するための例示的な方法を示している。ステップ314において、コンピュータが、通常動作モードにおいて動作している間、CPU内のオーバヘッド処理の一部は、判定420において、現在の動作状態が共用メモリに記憶された状態から変化したかどうかを定期的に判定することを含むことができる。この判定は、状態情報を共用メモリ内に記憶された状態情報と比較することによって、または動作が現在の動作状態を変化させたときを記録することによって、行うことができる。状態変化が生じていない場合(すなわち、判定420=「いいえ」)、次の判定が行われるまで、処理を継続することができる。状態変化が生じたとコンピュータのCPUが判定した場合(すなわち、判定420=「はい」)、ステップ422において、CPUは、コンピュータ周辺機器、オペレーティングシステム状態、電力状態、および他の側面に関する更新された動作状態情報を、共用メモリ内に記憶することができる。動作状態情報が更新されると、CPUは、その通常プロセスを続行することができる。
動作の制御を取得するための準備を行うために、モデムプロセッサは、通常動作モード中に、共用メモリに定期的にアクセスして、判定424において、キャッシュされた情報に変化があったかどうかを判定することができる。この判定は、共用メモリ内に記憶された情報を別のメモリロケーション内の情報と比較することによって、(例えば、ステップ422の一環として)CPUによって設定された、モデムプロセッサからアクセス可能なフラグにアクセスすることによって、またはステップ422の一環として送られる、信号もしくは割り込みをコンピュータのCPUから受け取ることによって、行うことができる。キャッシュされた情報に変化がなかった場合(すなわち、判定424=「いいえ」)、プロセッサは、どのような処理であれ、それが実行していた処理に戻ることができる。例えば、モデムプロセッサは、モデム関連機能の実行に戻ることができる。代替として、コンピュータのCPUは、(ステップ422の一環としてなど)共用メモリ内に記憶された情報に変更が施された場合は常に、モデムプロセッサに信号を送信することができる。共用メモリ内に記憶された状態情報に変更が施されたとモデムプロセッサが判定した場合(すなわち、判定424=「はい」)、ステップ426において、モデムプロセッサは、共用メモリにアクセスして、更新された状態情報を獲得し、それを独自の状態メモリ内に記憶することができる。
モデムプロセッサは、コンピュータのCPUによって共用メモリに記憶された状態情報と同期を取って、その状態情報を維持していたので、モデムプロセッサは、コンピュータの制御を非常に迅速に取得することができる。したがって、ステップ430において、コンピュータのCPUが、通常動作モードへの移行を達成すべきであることを示す信号を受け取った場合、ステップ432において、コンピュータのCPUは、制御移行プロセスを開始するように、モデムプロセッサに直ちに通知することができる。この信号を受信すると、モデムプロセッサは、ステップ386において、コンピュータのCPU上で現在動作しているアプリケーションおよび文書に従って、適切なアプリケーションおよび文書をロードすることができ、ロードされると、ステップ392において、コンピュータ、ディスプレイ、電力管理システム、および他の周辺機器の制御を引き受ける。その後、ステップ390において、コンピュータのCPUは、コンピュータの周辺機器の制御を放棄することができ、ステップ300において、コンピュータは、モデムプロセッサの制御下の補助プロセッサモードにおいて動作を開始することができる。制御がモデムプロセッサに切り換えられた後、ステップ394において、コンピュータのCPUは、非活動化すること、または低電力状態に入ることができる。
上で説明された様々な実施形態は、特に、ワイヤレスモデムカード上の補助プロセッサが、低電力補助プロセッサモード中に、外部ワイヤレスネットワークとの通信を維持できるために、多くの有益な応用を有する。したがって、ノートブックコンピュータ250は、補助プロセッサモードにあるときであっても、図19に示される通信ネットワークなどの、通信ネットワークに接続し続けることができる。そのような通信ネットワークでは、ノートブックコンピュータ250は、インターネット433などの外部ネットワークと、有線接続434を介して、およびワイヤレス通信ネットワークとのワイヤレス通信420を介して、通信することができる。そのようなワイヤレス通信ネットワークは、ネットワークルーティング機器426に結合された基地局アンテナ422を含むことができる。ワイヤレス通信ネットワークは、インターネット430に結合できるサーバ428へのデータ通信を提供することができる。したがって、ノートブックコンピュータ250は、補助プロセッサモードにある場合、ネットワークサーバ428を介してインターネット430に結合できるワイヤレス通信420を介して、遠くのコンピュータ432と通信することができる。そのような通信は、例えば、SMSまたはMMSメッセージ、電子メール、セルラデータネットワークまたはモバイルブロードキャストネットワークを含む、任意の知られた通信方法によることができる。
様々な実施形態のいずれかに従って、コンピュータを補助プロセッサモードで動作させるように構成されたワイヤレスモデムカードを有する、ノートブックコンピュータ250は、遠隔地からコンピュータ動作を制御するために使用できる様々なワイヤレスメッセージを介してアドレスすることができる。補助プロセッサモードで動作するワイヤレスモデムカードが、アプリケーションまたはコンピュータCPUをウェイクアップさせるためのメッセージを受信できる、いくつかの例示的な応用例が、図20〜図27を参照して以下で説明される。そのような応用例において利用できる、通信ネットワーク内の他のコンピューティングデバイスによって実施されるネットワークコンポーネントおよび方法についてのさらなる説明が、2009年4月27日に出願された、「Method And System For Activating Computer Applications With SMS Messaging」と題する、米国特許出願第12/430,642号において説明されており、この米国特許出願の全内容は、参照により本明細書に組み込まれる。
図20は、コンピュータ上でアプリケーションを起動するために、一実施形態に従って、補助プロセッサモードにおいてそのコンピュータの動作を引き継ぐように構成されたワイヤレスモデムカードを有するコンピュータに、シンプルメッセージサービス(SMS)メッセージをユーザが送信できる、応用例を示している。コンピュータが補助プロセッサモードにある場合、ワイヤレスモデムは、ステップ500において、SMSメッセージを受信することができる。モデムプロセッサは、そのコンポーネントに問い合わせるために、ステップ501において、受信したSMSメッセージを解析するように構成することができる。SMSメッセージが、その例が図28A〜図28Cを参照して以下でさらに詳細に説明される、ウェイクアップコールとして構成される場合、モデムプロセッサは、ステップ502において、そのメッセージを、特別な処理を必要とするものとして認識する。その場合、モデムプロセッサは、メッセージペイロードを獲得することができ、ステップ504において、それを使用して、開始すべきアプリケーションを決定することができる。例えば、メッセージペイロードは、アプリケーションの識別子を含むことができ、ペイロードをデータテーブルと比較することによって、識別子を解釈して、開始すべきアプリケーションの名前またはメモリアドレスを獲得することができる。この情報を使用して、モデムプロセッサは、ステップ505において、対応するアプリケーションを起動することができる。そのアプリケーションが実行しているとき、または完了した後、モデムプロセッサは、ステップ550において、常時オンまたは常時接続機能を提供するなどの、以前の状態に戻ることができる。
図20を参照して上で説明された方法のステップ500からステップ505は、起動される特定のアプリケーションに応じた多くの有益な機能を達成するために実施することができる。図21は、起動されるアプリケーションが電子メールプログラムである、実施形態の例示的な応用例を示しており、電子メールプログラムは、電子メールをダウンロードし、それによって、電子メールサーバ内の受信トレイフォルダをクリアするために、遠隔地から起動することができる。ユーザは、電子メールアプリケーションを起動し、着信電子メールをダウンロードするよう命じるコマンドを含む、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による処理を必要とすることがあり、そのような場合、モデムプロセッサは、ステップ511aにおいて、ダウンロード処理を完了するには、動作制御の移行を達成しなければならないことを、CPUに通知することができる。コンピュータのCPUへのそのような制御の移行、およびモデムプロセッサに戻る制御の移行は、図12〜図18を参照して上で説明されたように行うことができる。ダウンロード処理が完了した後、コンピュータは
、ステップ550において、常時接続特徴が提供される補助プロセッサモードに戻ることができる。
図23は、コンピュータにそのハードドライブからファイルを削除させ、また他の方法で個人情報を保護させるために、ユーザがコンピュータにSMSメッセージまたは類似のメッセージを送信できる、実施形態の別の例示的な応用例を示している。コンピュータのハードドライブ上のすべてのファイルの削除は、コンピュータを使い物にならなくすることがあるので、このファイル削除ユーティリティは、「青酸」アプリケーションと呼ばれる。そのようなユーティリティは、ユーザが遠隔地からファイル破壊プロセスを起動することを可能にするので、専有情報を含むコンピュータが紛失した場合または盗難にあった場合に有益なことがある。窃盗犯がこの機能を検出して、非活動化しないことを保証するために、コンピュータは、通常動作モードにないときには、常時接続特徴が活動化された補助プロセッサモードで常に機能するように、前もって構成することができる。言い換えると、補助プロセッサモードを、コンピュータの有効「オフ」状態とすることができる。上で述べたように、様々な実施形態は、そのようなコンピュータが、メッセージを受信するために、セルラまたは類似のワイヤレスデータネットワークへの接続を維持すること、またはそのようなネットワークに定期的にアクセスすることを可能にする。青酸アプリケーションを起動するために、ユーザは、(権限のあるユーザだけが青酸アプリケーションを開始できるように秘密にされた)秘密認証コードを含むSMSメッセージを、(携帯電話などから)コンピュータに送信することができる。SMSメッセージまたは類似のメッセージは、ワイヤレスモデムによって受信し、図20(ステップ500〜ステップ504)を参照して上で説明したように処理することができ、青酸アプリケーションを起動すべきことが決定される。その後、モデムプロセッサは、ステップ512において、青酸アプリケーションを起動することができ、青酸アプリケーションは、ステップ513において、青酸コマンドが本物であることを確認するために、SMSメッセージで受信した秘密認証コードを、メモリ内に記憶された認証値または暗号化された証明書と比較することができる。青酸アプリケーションが無効化できないこと、または不注意で起動されないことを保証するために、認証コードは、暗号化することができ、または比較プロセスは、よく知られた暗号認証技法を使用することができる。受信した青酸コマンドが認証された場合、モデムプロセッサは、ステップ514において、コンピュータのハードドライブおよび不揮発性メモリからすべてのデータを削除するルーチンを実行することができる。青酸アクションが完了した後、モデムプロセッサは、ステップ515において、アクションが取られたことを確認する応答メッセージを、元のSMSメッセージの送信者に送信することができる。そのようなメッセージは、コンピュータが保護されたことの安心をユーザに与えることができる。最後に、モデムプロセッサは、ステップ516において、モデムプロセッサをシャットダウンすることを含む、コンピュータの完全なシャットダウンを実行することができる。CPUオペレーティングシステムまたはブートアップコマンドがハードドライブから削除された場合、モデムプロセッサをシャットダウンすることで、ブートディスクがなければ、コンピュータを使い物にならなくすることができる。したがって、コンピュータは、コンピュータのハードドライブが再フォーマットされ、新しいオペレーティングシステムがロードされた後にはじめて、使用できるようになる。記憶データをさらに保護するために、モデムプロセッサは、ディスクインデックスレコードを単にクリアする代わりに、実際にハードドライブから情報を削除する、知られた技法を使用して、ファイルを削除するように構成することができる。
図24は、コンピュータにその現在位置をワイヤレスデータメッセージによって報告させるために、ユーザがコンピュータにSMSメッセージまたは類似のメッセージを送信できる、実施形態の別の例示的な応用例を示している。この応用例は、コンピュータが「オフ」状態にある場合であっても、ユーザがコンピュータの所在場所を突き止めることを可能にするので、コンピュータが紛失した場合または盗難にあった場合に有益なことがある。この機能は、LoJack(登録商標)として知られる自動窃盗保護サービスに類似しているので、この遠隔起動の位置報告アプリケーションは、本明細書では、LoJackアプリケーションと呼ばれる。窃盗犯がこの機能を検出して、非活動化しないことを保証するために、コンピュータは、コンピュータの「オフ」状態が、常時接続特徴を実施する補助プロセッサモードであるように構成することができる。LoJackアプリケーションを起動するために、ユーザは、起動のためにそのアプリケーションを識別するSMSメッセージを、コンピュータに送信することができる。SMSメッセージまたは類似のメッセージは、ワイヤレスモデムによって受信し、図20(ステップ500〜ステップ504)を参照して上で説明したように処理することができ、LoJackアプリケーションを起動すべきことが決定される。モデムプロセッサは、ステップ517において、LoJackアプリケーションを起動することができる。LoJackアプリケーションは、コンピュータ内の(一実施形態ではワイヤレスモデムカードの部分とすることができる)GPS受信機を活動化し、ステップ518において、コンピュータのGPS座標を獲得し始める。GPS座標を受け取ると、LoJackアプリケーションは、ステップ519において、ステップ500において受信した起動メッセージの送信者に(または前もって指定し、メモリ内に記憶しておくことができる別のアドレスに)宛てたSMSメッセージまたは電子メールメッセージなどのメッセージを生成することができる。ステップ520において、モデムプロセッサは、現在確立されているワイヤレスデータ接続を使用して、またはメッセージを送信する前に、インターネットなどの異なるネットワークへのデータ接続を確立することによって、座標メッセージを送信することができる。LoJackアプリケ
ーションは、ユーザまたは当局にコンピュータの現在位置を通知するために、反復されるステップ518〜ステップ520において、位置座標を獲得し、それらを宛先アドレスに送信するプロセスを繰り返すことができる。ユーザまたは当局は、ステップ531において、非活動化コマンドを有する別のSMSメッセージまたは類似のメッセージを送信することによって、LoJackアプリケーションを非活動化することができる。そのようなメッセージは、図20(ステップ500〜ステップ504)を参照して上で説明した方法で、受信され、処理される。そのようなメッセージを受信した場合、モデムプロセッサは、ステップ550において、常時接続特徴が提供される補助プロセッサモードに戻ることができる。
そのようなLoJackアプリケーションソフトウェアは、モデムを取り外さない限り、機能を妨げることができないように、ワイヤレスモデムのファームウェア内に含むことができる。ワイヤレスモデムは、ノートブックコンピュータのバッテリへの直接接続を有することができるので、コンピュータが完全にシャットダウンされた場合でも(すなわち、通常動作モードにも、補助プロセッサモードにもない場合でも)、モデムプロセッサは、アクティブであり続けて、LoJack起動メッセージを待ち受けていることができる。ワイヤレスモデムカードがGPS受信機を含む一実施形態では、LoJack機能は、アンテナ以外の他のいかなるコンピュータコンポーネントにもアクセスすることなく、ワイヤレスモデムカードによって提供することができる。
図25は、ユーザのコンピュータが補助プロセッサモードにあるときに、個人が、インスタントメッセージング(IM)セッションを開始するようにコンピュータのユーザを促す、実施形態の別の例示的な応用例を示している。個人がIMセッションを開始することを望む場合、その個人は、IMアプリケーションを起動するようにユーザのコンピュータに通知するSMSメッセージまたは類似のメッセージを、ユーザのコンピュータに送信することができる。そのようなメッセージは、ワイヤレスモデムによって受信し、図20(ステップ500〜ステップ504)を参照して上で説明したように処理することができ、ステップ522において、IMアプリケーションを起動すべきことが決定される。モデムプロセッサ、またはモデムプロセッサ上で動作するIMアプリケーションは、ステップ523において、表示する初期IMメッセージと、IMメッセージを用いて返信する際に使用される送信者のアドレスとを、メッセージペイロードから決定することができる。モデムプロセッサは、ステップ507において、インターネットなどのネットワークへの接続も確立することができ、その後、ステップ524において、通常の方法でIMセッションを開始することができる。この応用例は、ユーザがIMメッセージを介して頻繁に通信を行うが、バッテリ寿命を引き延ばすために、補助プロセッサモードでコンピュータを動作させる必要がある場合に、役立つことがある。
図26は、SMSメッセージまたは類似のメッセージをコンピュータに送信することによって、ユーザが遠隔地からビデオカメラを起動することを可能にする、実施形態の別の例示的な応用例を示している。そのようなメッセージは、ワイヤレスモデムによって受信し、図20(ステップ500〜ステップ504)を参照して上で説明したように処理することができ、ステップ525において、ビデオアプリケーションをモデムプロセッサで起動すべきことが決定される。モデムプロセッサまたはビデオアプリケーションは、キャプチャしたビデオ画像を、URLまたは電子メールアドレスなどの特定の宛先アドレスに送信するために、ステップ507において、インターネットなどのネットワークへの接続も確立することができる。そのような宛先アドレスは、アプリケーションを起動したSMS(または類似の)メッセージのペイロード内に含むことができる。ビデオアプリケーションは、ステップ526において、コンピュータに結合されたビデオカメラを起動し、画像の受け取りを開始することができる。モデムプロセッサは、ステップ527において、受け取ったビデオを、起動メッセージ内に含まれるアドレスに送信することができる。URL宛先アドレスの場合、そのようなビデオ画像は、ビデオストリームとして送信することができる。宛先アドレスがメッセージングアドレス(例えば電子メールアドレス)である場合、ビデオクリップを記録し、クリップを別々のメッセージで順次送信することができる。ビデオ送信は、ステップ528において、ビデオアプリケーションを終了するようコンピュータに命じる、別のSMSメッセージまたは類似のメッセージを受信するまで、続行することができる。そのような終了メッセージは、図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およびGoogle(商標) Maps、Google Earth、MicrosoftのLive Search(商標) Mapsなどのインターネットマッピングアプリケーションを介して、道順を獲得することを可能にすること、
ノートブックコンピュータのプロセッサを活動化させる必要なしに、ユーザが、コンピュータに結合された有線またはBluetooth(登録商標)ヘッドセットを介して、電話呼を送受信することを可能にすること、
ノートブックコンピュータのプロセッサを活動化させる必要なしに、ユーザが、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内に補助プロセッサが含まれる、実施形態において実施できるコンポーネント構成も示している。
様々な実施形態は、説明された方法の1つまたは複数を実施するように構成されたソフトウェア命令を実行する、コンピュータプロセッサ661と、ワイヤレスモデムカード252(またはDVDドライブ665などの他のコンポーネント)内のモデムプロセッサ20とによって、実施することができる。そのようなソフトウェア命令は、別個のアプリケーションとして、または一態様の方法を実施するコンパイル済みソフトウェアとして、メモリ662、663内に記憶することができる。さらに、ソフトウェア命令およびデータベースは、ランダムアクセスメモリ13、662、ハードディスクメモリ663、(フロッピディスクドライブ664で可読な)フロッピディスク、(CDドライブ665で可読な)コンパクトディスク、電気的消去可能/プログラム可能リードオンリメモリ(EEPROM)、(FLASHメモリ13などの)リードオンリメモリ、および/またはUSBネットワークポート(図29には図示されず)に差し込まれる外部メモリチップもしくはUSB接続可能外部メモリ(例えば「フラッシュドライブ」)などの、コンピュータ250に差し込まれるメモリモジュール(図示されず)を含む、いずれかの形態の有形なプロセッサ可読メモリ上に記憶することができる。
上で述べたように、一実施形態では、ポータブルモデムデバイスを形成するために、補助プロセッサは、USBハブを含む小型のパッケージ内に含まれる、MSM/MDMの形態を取ることができる。図30は、そのようなポータブルモデムデバイス700内に含むことができるコンポーネントを示している。具体的には、ポータブルモデムデバイス700は、内部プロセッサを含むMSM/MDMチップセット701と、MSM/MDMチップセット701に結合されたFLASHメモリなどのメモリ702と、MSM/MDMチップセット703に結合されたアンテナ704と、MSM/MDMチップセット701およびUSBコネクタ706に結合されたUSBインタフェースまたはハブ回路705とを含むことができる。ポータブルモデムデバイス700はさらに、バッテリ708を含むことができ、バッテリ708は、ポータブルモデムデバイス700がコンピュータのUSBポートに接続されたときに、USBコネクタ706を介して受け取る電力から再充電できる、再充電可能バッテリとすることができる。ポータブルモデムデバイス700のコンポーネントは、デバイスを頑丈にし、扱い易くすることを可能にするために、筐体704内に収容することができる。
上記の方法の説明およびプロセスフロー図は、説明的な例として提供されたにすぎず、様々な実施形態のステップが提示された順序で実行されなければならないことを必要とすること、または暗示することは意図していない。当業者であれば理解されるように、上記の実施形態におけるステップの順序は、任意の順序で実行することができる。「その後(thereafter)」、「その後(then)」、「次に(next)」などの語は、ステップの順序を限定することは意図しておらず、これらの語は、方法の説明を通して、単に読者を導くために使用される。さらに、例えば、冠詞「a」、「an」、または「the」を使用する、単数形による請求項の要素のいかなる言及も要素を単数に限定するものと解釈すべきではない。
本明細書で開示された実施形態に関連して説明された、様々な説明的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実施することができる。ハードウェアとソフトウェアのこの交換可能性を明白に示すために、様々な説明的なコンポーネント、ブロック、モジュール、回路、およびステップは、上では一般にそれらの機能に関して説明された。そのような機能がハードウェアとして実施されるか、それともソフトウェアとして実施されるかは、特定のアプリケーション、およびシステム全体に課される設計制約に依存する。当業者は、特定の各アプリケーションについて、様々な方法で、説明された機能を実施することができるが、そのような実施の決定が、本発明の範囲からの逸脱を引き起こすと解釈すべきではない。
本明細書で開示された態様に関連して説明された、様々な説明的なロジック、論理ブロック、モジュール、および回路を実施するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラム可能論理デバイス、個別ゲートもしくはトランジスタロジック、個別ハードウェアコンポーネント、または本明細書で説明された機能を実行するように設計されたそれらの任意の組み合わせを用いて実施すること、または実行することができる。汎用プロセッサは、マイクロプロセッサとすることができるが、代替実施形態では、プロセッサは、従来型のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサは、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または他の任意のそのような構成など、コンピューティングデバイスの組み合わせとしても実施することができる。代替として、いくつかのステップまたは方法は、与えられた機能専用の回路によって実施することもできる。
1つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実施することができる。ソフトウェアで実施される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶することができ、またはコンピュータ可読媒体を介して送信することができる。本明細書で開示された方法またはアルゴリズムのステップは、コンピュータ可読媒体上に存在できる、プロセッサ実行可能ソフトウェアモジュールを実行して、具現することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。限定することなく、例を挙げると、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶、磁気ディスク記憶もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを伝送もしくは記憶するのに使用でき、コンピュータによってアクセスできる、他の任意の媒体を含むことができる。また、任意の接続も、コンピュータ可読媒体と呼ぶにふさわしい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートサイトから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク(diskおよびdisc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピディスク(disk)、およびblu-rayディスク(disc)を含み、diskは通常、磁気的にデータを再生し、一方、discはレーザを用いて光学的にデータを再生する。上記のものの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、
コードおよび/または命令の1つもしくは任意の組み合わせまたは組として、コンピュータプログラム製品に組み込むことができる、機械可読媒体および/またはコンピュータ可読媒体上に存在することができる。
開示された実施形態についての先の説明は、当業者が本発明を作成または使用することを可能にするために提供されている。これらの実施形態に対する様々な変更が、当業者には容易に明らかとなり、本明細書で定義された一般的原理は、本発明の主旨または範囲から逸脱することなく、他の実施形態に適用することができる。したがって、本発明を、本明細書で示された実施形態に限定することは意図しておらず、本発明には、以下の特許請求の範囲、ならびに本明細書で開示された原理および新規な特徴に矛盾しない最も広い範囲を与えるべきである。
1 CPU
2 ワイヤレスモデムカード、ワイヤレスモデムチップ
4 サウスブリッジ
5 グラフィックスプロセッサ
6 ノースブリッジ
8 入出力周辺機器
9 ハードディスクドライブ
9 ネットワークアクセスモデム
10 光ディスクドライブ
11 SDRAM
12a USB通信チャネル
12b 接続
13 フラッシュメモリ
14 マルチプレクサアレイ
15 WWANトランシーバ
20 補助プロセッサ、モデムプロセッサ、デュアルプロセッサチップ
21 ディスプレイリフレッシュ制御回路
22 RGB-LVDS変換回路
24 オーディオインタフェース回路
26 MPEG2デコーダ
28 キーボードインタフェース回路
30 ポインティングデバイスインタフェース回路
32 共用メモリ
34a SATAスイッチ
34b SATAスイッチ
36 マルチプレクサ回路
37 マルチプレクサ回路
38 マルチプレクサ回路
39 マルチプレクサ回路
40 電力管理モジュール
40 マルチプレクサ回路
41 マルチプレクサ回路
42 オーディオ回路
43 マルチプレクサ回路
44 キーボード
46 ポインティングデバイス
48 ハードドライブ
49 DVDドライブ
50 マザーボード回路
52 スイッチ、マルチプレクサ回路
54 ディスプレイ
56 通信チャネル
118 MDDIクライアントチップ
120 データモジュールビデオリフレッシュコントローラ
122 RGB-LVDS変換チップ
130 周辺機器インタフェースチップ
134 USBまたはSATAブリッジチップ
136 マルチプレクサ回路
137 SATA差動マルチプレクサ
138 高精細オーディオマルチプレクサ回路
140 低速シリアル信号マルチプレクサ回路
141 USBマルチプレクサ回路
150 ダイナミックRAM
156 クワッド差動マルチプレクサチップ
250 ノートブックコンピュータ
252 統合ワイヤレスモデムカード
254 電気コネクタ
256 電気コネクタ
258 インタフェース回路チップ
260 デュアルプロセッサチップ
262 無線周波数トランシーバチップ
270 ベース筐体
270 タブレットコンピュータ
272 デスクトップコンピュータ
274 ディスプレイ筐体
280 携帯電話
282 ノートブックコンピュータ
284 ディスプレイ部分
288 受信機スロット
289 電話のディスプレイ
420 ワイヤレス通信
422 基地局アンテナ
426 ネットワークルーティング機器
428 サーバ
433 インターネット
434 有線接続
600 起動メッセージ
602 筐体
661 プロセッサ
662 揮発性メモリ
663 ハードディスクドライブ
664 フロッピディスクドライブ
665 CDまたはDVDドライブ
667 タッチパッド
668 キーボード
669 ビデオカメラ
700 ポータブルUSBモデムデバイス
702 メモリ
703 MSM/MDMチップセット
704 アンテナ
704 筐体
705 USBインタフェースまたはハブ回路
706 内蔵USBコネクタ
708 バッテリ

Claims (110)

  1. 中央処理装置(CPU)および補助プロセッサを含むコンピュータを動作させる方法であって、
    前記CPUから前記補助プロセッサに動作状態情報を伝達するステップと、
    前記動作状態情報を使用して、前記補助プロセッサを構成するステップと、
    コンピュータ周辺機器の制御を前記補助プロセッサに移行する動作モード遷移を実行するステップと、
    前記CPUを低電力または非活動化状態にするステップと
    を含み、
    前記CPUおよび前記補助プロセッサが、前記動作モード遷移を予測すると共に、前記動作モード遷移をサポートする準備段階を前もって実行し、
    前記準備段階が、前記CPUから前記補助プロセッサに、実行中のアプリケーションに関するデータを移動させることを含む、方法。
  2. 動作状態情報を伝達するステップが、動作状態情報を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップを含む、請求項1に記載の方法。
  3. 動作状態情報を伝達するステップが、前記動作状態情報を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するステップを含む、請求項1に記載の方法。
  4. 動作状態情報を伝達するステップが、前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップと、前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するステップとを含む、請求項1に記載の方法。
  5. ボタン押下、前記コンピュータの一部を閉じること、受信した電子メッセージ内に含まれるコマンド、特定のアプリケーションの起動、およびユーザから受け取ったメニュー選択入力から選択される信号を前記CPUが受け取ったことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに通知するステップをさらに含む、請求項1に記載の方法。
  6. 前記補助プロセッサによって現在の利用をサポートできるかどうかを判定するために、前記コンピュータとのユーザ対話を監視するステップと、
    前記補助プロセッサによって利用をサポートできると判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するステップと
    をさらに含む、請求項1に記載の方法。
  7. 制御を前記補助プロセッサに移行することに対する同意を示すようにユーザを促す表示を生成するステップをさらに含み、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するステップが、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに発生する、請求項6に記載の方法。
  8. 前記CPU上でアクティブなアプリケーションを決定するステップと、
    対応するアプリケーションを前記補助プロセッサ上で起動するステップであって、前記対応するアプリケーションが、前記CPU上の前記アプリケーションによってメモリ内に保存されたアプリケーションデータにアクセスする、ステップと
    をさらに含む、請求項1に記載の方法。
  9. 対応するアプリケーションを前記補助プロセッサ上で起動するステップが、前記補助プロセッサが前記コンピュータ周辺機器の制御を引き受ける前に達成される、請求項8に記載の方法。
  10. 前記補助プロセッサの動作状態を前記CPUの動作状態と同期させるステップをさらに含む、請求項1に記載の方法。
  11. 活動化するように前記CPUに通知するステップと、
    前記補助プロセッサから前記CPUに動作状態情報を伝達するステップと、
    前記伝達された動作状態情報を使用して、前記CPUを構成するステップと、
    前記コンピュータ周辺機器の制御を前記CPUに戻すステップと、
    前記補助プロセッサによるコンピュータ周辺機器の制御を放棄するステップと
    をさらに含む、請求項1に記載の方法。
  12. 動作状態情報を伝達するステップが、動作状態情報を、前記補助プロセッサから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップを含む、請求項11に記載の方法。
  13. 動作状態情報を伝達するステップが、前記動作状態情報を、前記補助プロセッサと前記CPUの間の通信チャネルを介して伝達するステップを含む、請求項11に記載の方法。
  14. 動作状態情報を伝達するステップが、前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップと、前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するステップとを含む、請求項11に記載の方法。
  15. 活動化するように前記CPUに通知するステップが、ボタン押下、前記コンピュータの一部を開くこと、受信した電子メッセージ内に含まれるコマンド、およびユーザから受け取ったメニュー選択入力から選択される信号を前記補助プロセッサが受け取ったことに応答して達成される、請求項11に記載の方法。
  16. 前記補助プロセッサによってはユーザアクションをサポートできないかどうかを判定するために、前記コンピュータとのユーザ対話を監視するステップと、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するステップと
    をさらに含む、請求項11に記載の方法。
  17. 制御を前記CPUに移行することに対する同意を示すようにユーザを促す表示を生成するステップをさらに含み、コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するステップが、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに発生する、請求項16に記載の方法。
  18. 文書をコンピュータディスプレイ上に表示するステップと、
    前記文書に関するユーザ編集コマンドを受け取るステップと
    をさらに含み、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定することが、前記ユーザ編集コマンドが動作中のアプリケーションによってはサポートされないと判定するステップを含む、
    請求項16に記載の方法。
  19. 前記補助プロセッサが、前記コンピュータに結合されたワイヤレスモデム内のプロセッサである、請求項1に記載の方法。
  20. コンピュータ周辺機器の制御が前記補助プロセッサに移行されている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するステップ
    をさらに含む、請求項19に記載の方法。
  21. コンピュータ周辺機器の制御が前記CPUに戻っている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するステップ
    をさらに含む、請求項19に記載の方法。
  22. 前記維持された通信リンクを介して電子メッセージを受信するステップと、
    含まれたアプリケーション起動コマンドを認識するために、前記受信した電子メッセージを処理するステップと、
    前記電子メッセージがアプリケーション起動コマンドを含むことが認識された場合、前記受信した電子メッセージ内で識別されたアプリケーションを、前記補助プロセッサ上で起動するステップと
    をさらに含む、請求項20に記載の方法。
  23. 前記補助プロセッサが、全地球測位システム受信機、コンパクトディスクプレーヤ、取り外し可能な携帯電話、取り外し可能なワイヤレスモデム、およびデジタルビデオディスク(DVD)プレーヤから成る群から選択されるコンピュータコンポーネント内のプロセッサである、請求項1に記載の方法。
  24. 動作状態情報が、
    システム全体のデータと、
    アプリケーションデータと、
    アプリケーションコンテキストデータと
    を含む、請求項1に記載の方法。
  25. 前記補助プロセッサが、ケーブルを介して前記コンピュータに結合される外部コンポーネント内のプロセッサである、請求項1に記載の方法。
  26. 前記補助プロセッサが、モバイルサービスモデムまたはモバイルデータモデム(MSM/MDM)内のプロセッサであり、
    前記MSM/MDMが、
    前記MSM/MDMに結合されたアンテナと、
    前記MSM/MDMに結合されたバッテリと、
    前記MSM/MDMに結合され、前記MSM/MDMを前記CPUに結合するように構成されたインタフェースコネクタと
    を備えるポータブルデバイス内にパッケージされ、
    前記方法が、前記ポータブルモデムデバイスが前記コンピュータから取り外された場合、前記MSM/MDMを介してワイヤレスネットワークとの通信リンクを維持するステップをさらに含む、
    請求項1に記載の方法。
  27. 前記ポータブルモデムデバイスが前記コンピュータから取り外されている間、前記維持された通信リンクを介してメッセージを受信するステップと、
    前記ポータブルモデムデバイスが前記コンピュータに接続された場合、前記受信したメッセージを前記コンピュータで利用可能にするステップと
    をさらに含む、請求項26に記載の方法。
  28. 前記MSM/MDMが、携帯電話内にパッケージされる、請求項26に記載の方法。
  29. 前記インタフェースコネクタが、前記MSM/MDMに結合されたユニバーサルシリアルバス(USB)ハブ回路と、前記USBハブ回路に結合されたUSBコネクタである、請求項26に記載の方法。
  30. メモリと、
    前記メモリに結合された中央処理装置(CPU)と、
    前記メモリに結合された補助プロセッサと
    を備え、
    前記CPUと前記補助プロセッサが、
    前記CPUから前記補助プロセッサに動作状態情報を伝達するステップと、
    前記動作状態情報を使用して、前記補助プロセッサを構成するステップと、
    コンピュータ周辺機器の制御を前記補助プロセッサに移行する動作モード遷移を実行するステップと、
    前記CPUを低電力または非活動化状態にするステップと
    を含むステップを実行するように、プロセッサ実行可能命令を用いて構成され、
    前記CPUおよび前記補助プロセッサが、前記動作モード遷移を予測すると共に、前記動作モード遷移をサポートする準備段階を前もって実行し、
    前記準備段階が、前記CPUから前記補助プロセッサに、実行中のアプリケーションに関するデータを移動させることを含む、コンピュータ。
  31. 前記CPUと前記補助プロセッサが、動作状態情報を伝達するステップが、動作状態情報を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップを含むように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  32. 前記CPUと前記補助プロセッサが、動作状態情報を伝達するステップが、前記動作状態情報を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するステップを含むように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  33. 前記CPUと前記補助プロセッサが、動作状態情報を伝達するステップが、
    前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップと、
    前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するステップと
    を含むように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  34. 前記CPUと前記補助プロセッサが、ボタン押下、前記コンピュータの一部を閉じること、受信した電子メッセージ内に含まれるコマンド、特定のアプリケーションの起動、およびユーザから受け取ったメニュー選択入力から選択される信号を前記CPUが受け取ったことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに通知するステップをさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  35. 前記CPUと前記補助プロセッサが、
    前記補助プロセッサによって現在の利用をサポートできるかどうかを判定するために、前記コンピュータとのユーザ対話を監視するステップと、
    前記補助プロセッサによって利用をサポートできると判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  36. 前記CPUと前記補助プロセッサが、制御を前記補助プロセッサに移行することに対する同意を示すようにユーザを促す表示を生成するステップをさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成され、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するステップが、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに発生する、請求項35に記載のコンピュータ。
  37. 前記CPUと前記補助プロセッサが、
    前記CPU上でアクティブなアプリケーションを決定するステップと、
    対応するアプリケーションを前記補助プロセッサ上で起動するステップであって、前記対応するアプリケーションが、前記CPU上の前記アプリケーションによってメモリ内に保存されたアプリケーションデータにアクセスする、ステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  38. 前記CPUと前記補助プロセッサが、対応するアプリケーションを前記補助プロセッサ上で起動するステップが、前記補助プロセッサが前記コンピュータ周辺機器の制御を引き受ける前に達成されるように、プロセッサ実行可能命令を用いて構成される、請求項37に記載のコンピュータ。
  39. 前記CPUと前記補助プロセッサが、前記補助プロセッサの動作状態を前記CPUの動作状態と同期させるステップをさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  40. 前記CPUと前記補助プロセッサが、
    活動化するように前記CPUに通知するステップと、
    前記補助プロセッサから前記CPUに動作状態情報を伝達するステップと、
    前記伝達された動作状態情報を使用して、前記CPUを構成するステップと、
    前記コンピュータ周辺機器の制御を前記CPUに戻すステップと、
    前記補助プロセッサによるコンピュータ周辺機器の制御を放棄するステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項30に記載のコンピュータ。
  41. 前記CPUと前記補助プロセッサが、動作状態情報を伝達するステップが、動作状態情報を、前記補助プロセッサから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップを含むように、プロセッサ実行可能命令を用いて構成される、請求項40に記載のコンピュータ。
  42. 前記CPUと前記補助プロセッサが、動作状態情報を伝達するステップが、前記動作状態情報を、前記補助プロセッサと前記CPUの間の通信チャネルを介して伝達するステップを含むように、プロセッサ実行可能命令を用いて構成される、請求項40に記載のコンピュータ。
  43. 前記CPUと前記補助プロセッサが、動作状態情報を伝達するステップが、
    前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するステップと、
    前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するステップと
    を含むように、プロセッサ実行可能命令を用いて構成される、請求項40に記載のコンピュータ。
  44. 前記CPUと前記補助プロセッサが、活動化するように前記CPUに通知するステップが、ボタン押下、前記コンピュータの一部のオープン、受信した電子メッセージ内に含まれるコマンド、およびユーザから受け取ったメニュー選択入力から選択される信号を前記補助プロセッサが受け取ったことに応答して達成されるように、プロセッサ実行可能命令を用いて構成される、請求項40に記載のコンピュータ。
  45. 前記CPUと前記補助プロセッサが、
    前記補助プロセッサによってはユーザアクションをサポートできないかどうかを判定するために、前記コンピュータとのユーザ対話を監視するステップと、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項40に記載のコンピュータ。
  46. 前記CPUと前記補助プロセッサが、制御を前記CPUに移行することに対する同意を示すようにユーザを促す表示を生成するステップをさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成され、コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するステップが、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに発生する、請求項45に記載のコンピュータ。
  47. 前記CPUと前記補助プロセッサが、
    文書をコンピュータディスプレイ上に表示するステップと、
    前記文書に関するユーザ編集コマンドを受け取るステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成され、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定することが、前記ユーザ編集コマンドが動作中のアプリケーションによってはサポートされないと判定するステップを含む、
    請求項45に記載のコンピュータ。
  48. 前記補助プロセッサが、前記コンピュータに結合されたワイヤレスモデム内のプロセッサである、請求項30に記載のコンピュータ。
  49. 前記補助プロセッサが、
    コンピュータ周辺機器の制御が前記補助プロセッサに移行されている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するステップ
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項48に記載のコンピュータ。
  50. 前記補助プロセッサが、
    コンピュータ周辺機器の制御が前記CPUに戻っている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するステップ
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項48に記載のコンピュータ。
  51. 前記補助プロセッサが、
    前記維持された通信リンクを介して電子メッセージを受信するステップと、
    含まれたアプリケーション起動コマンドを認識するために、前記受信した電子メッセージを処理するステップと、
    前記電子メッセージがアプリケーション起動コマンドを含むことが認識された場合、前記受信した電子メッセージ内で識別されたアプリケーションを、前記補助プロセッサ上で起動するステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項48に記載のコンピュータ。
  52. 前記補助プロセッサが、全地球測位システム受信機、コンパクトディスクプレーヤ、取り外し可能な携帯電話、取り外し可能なワイヤレスモデム、およびデジタルビデオディスク(DVD)プレーヤから成る群から選択されるコンピュータコンポーネント内のプロセッサである、請求項30に記載のコンピュータ。
  53. 動作状態情報が、
    システム全体のデータと、
    アプリケーションデータと、
    アプリケーションコンテキストデータと
    を含む、請求項30に記載のコンピュータ。
  54. 前記補助プロセッサが、ケーブルを介して前記コンピュータに結合される外部コンポーネント内のプロセッサである、請求項30に記載のコンピュータ。
  55. 前記補助プロセッサが、モバイルサービスモデムまたはモバイルデータモデム(MSM/MDM)内のプロセッサであり、
    前記MSM/MDMが、
    前記MSM/MDMに結合されたアンテナと、
    前記MSM/MDMに結合されたバッテリと、
    前記MSM/MDMに結合され、前記MSM/MDMを前記CPUに結合するように構成されたインタフェースコネクタと
    を備えるポータブルデバイス内にパッケージされ、
    前記補助プロセッサが、前記ポータブルモデムデバイスが前記コンピュータから取り外された場合、前記MSM/MDMを介してワイヤレスネットワークとの通信リンクを維持するステップをさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、
    請求項30に記載のコンピュータ。
  56. 前記補助プロセッサが、
    前記ポータブルモデムデバイスが前記コンピュータから取り外されている間、前記維持された通信リンクを介してメッセージを受信するステップと、
    前記ポータブルモデムデバイスが前記コンピュータに元通り接続された場合、前記受信したメッセージを前記コンピュータで利用可能にするステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成される、請求項55に記載のコンピュータ。
  57. 前記MSM/MDMが、携帯電話内にパッケージされる、請求項55に記載のコンピュータ。
  58. 前記インタフェースコネクタが、前記MSM/MDMに結合されたユニバーサルシリアルバス(USB)ハブ回路と、前記USBハブ回路に結合されたUSBコネクタである、請求項55に記載のコンピュータ。
  59. 中央処理装置(CPU)と、
    補助プロセッサと、
    前記CPUから前記補助プロセッサに動作状態情報を伝達するための手段と、
    前記動作状態情報を使用して、前記補助プロセッサを構成するための手段と、
    コンピュータ周辺機器の制御を前記補助プロセッサに移行する動作モード遷移を実行するための手段と、
    前記CPUを低電力または非活動化状態にするための手段と
    を備え、
    前記CPUおよび前記補助プロセッサが、前記動作モード遷移を予測すると共に、前記動作モード遷移をサポートする準備段階を前もって実行し、
    前記準備段階が、前記CPUから前記補助プロセッサに、実行中のアプリケーションに関するデータを移動させることを含む、コンピュータ。
  60. 動作状態情報を伝達するための手段が、動作状態情報を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するための手段を備える、請求項59に記載のコンピュータ。
  61. 動作状態情報を伝達するための手段が、前記動作状態情報を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するための手段を備える、請求項59に記載のコンピュータ。
  62. 動作状態情報を伝達するための手段が、
    前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに記憶するための手段と、
    前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するための手段と
    を備える、請求項59に記載のコンピュータ。
  63. 前記補助プロセッサによって現在の利用をサポートできるかどうかを判定するために、前記コンピュータとのユーザ対話を監視するための手段と、
    前記補助プロセッサによって利用をサポートできると判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するための手段と
    をさらに備える、請求項59に記載のコンピュータ。
  64. 制御を前記補助プロセッサに移行することに対する同意を示すようにユーザを促す表示を生成するための手段をさらに備え、
    コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するための手段が、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに、前記補助プロセッサに自動的に通知するための手段を備える、
    請求項63に記載のコンピュータ。
  65. 前記CPU上でアクティブなアプリケーションを決定するための手段と、
    対応するアプリケーションを前記補助プロセッサ上で起動するための手段であって、前記対応するアプリケーションが、前記CPU上の前記アプリケーションによってメモリ内に保存されたアプリケーションデータにアクセスする、手段と
    をさらに備える、請求項59に記載のコンピュータ。
  66. 対応するアプリケーションを前記補助プロセッサ上で起動するための手段が、前記補助プロセッサが前記コンピュータ周辺機器の制御を引き受ける前に、前記対応するアプリケーションを起動するための手段を備える、請求項65に記載のコンピュータ。
  67. 前記補助プロセッサの動作状態を前記CPUの動作状態と同期させるための手段をさらに備える、請求項59に記載のコンピュータ。
  68. 活動化するように前記CPUに通知するための手段と、
    前記補助プロセッサから前記CPUに動作状態情報を伝達するための手段と、
    前記伝達された動作状態情報を使用して、前記CPUを構成するための手段と、
    前記コンピュータ周辺機器の制御を前記CPUに戻すための手段と、
    前記補助プロセッサによるコンピュータ周辺機器の制御を放棄するための手段と
    をさらに備える、請求項59に記載のコンピュータ。
  69. 動作状態情報を伝達するための手段が、動作状態情報を、前記補助プロセッサから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するための手段を備える、請求項68に記載のコンピュータ。
  70. 動作状態情報を伝達するための手段が、前記動作状態情報を、前記補助プロセッサと前記CPUの間の通信チャネルを介して伝達するための手段を備える、請求項68に記載のコンピュータ。
  71. 動作状態情報を伝達するための手段が、
    前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するための手段と、
    前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するための手段と
    を備える、請求項68に記載のコンピュータ。
  72. 活動化するように前記CPUに通知するための手段が、ボタン押下、前記コンピュータの一部を開くこと、受信した電子メッセージ内に含まれるコマンド、およびユーザから受け取ったメニュー選択入力から選択される信号を前記補助プロセッサが受け取ったことに応答して通知するための手段を備える、請求項68に記載のコンピュータ。
  73. 前記補助プロセッサによってはユーザアクションをサポートできないかどうかを判定するために、前記コンピュータとのユーザ対話を監視するための手段と、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するための手段と
    をさらに備える、請求項68に記載のコンピュータ。
  74. 制御を前記CPUに移行することに対する同意を示すようにユーザを促す表示を生成するための手段をさらに含み、
    コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するための手段が、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに、コンピュータ周辺機器の制御を引き受けるように前記CPUに通知するための手段を備える、
    請求項73に記載のコンピュータ。
  75. 前記CPUと前記補助プロセッサが、
    文書をコンピュータディスプレイ上に表示するステップと、
    前記文書に関するユーザ編集コマンドを受け取るステップと
    をさらに含むステップを実行するように、プロセッサ実行可能命令を用いて構成され、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定することが、前記ユーザ編集コマンドが動作中のアプリケーションによってはサポートされないと判定するステップを含む、
    請求項73に記載のコンピュータ。
  76. 前記補助プロセッサが、前記コンピュータに結合されたワイヤレスモデム内のプロセッサである、請求項59に記載のコンピュータ。
  77. コンピュータ周辺機器の制御が前記補助プロセッサに移行されている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するための手段
    をさらに備える、請求項76に記載のコンピュータ。
  78. コンピュータ周辺機器の制御が前記CPUに戻っている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するための手段
    をさらに備える、請求項76に記載のコンピュータ。
  79. 前記維持された通信リンクを介して電子メッセージを受信するための手段と、
    含まれたアプリケーション起動コマンドを認識するために、前記受信した電子メッセージを処理するための手段と、
    前記電子メッセージがアプリケーション起動コマンドを含むことが認識された場合、前記受信した電子メッセージ内で識別されたアプリケーションを、前記補助プロセッサ上で起動するための手段と
    をさらに備える、請求項76に記載のコンピュータ。
  80. 前記補助プロセッサが、全地球測位システム受信機、コンパクトディスクプレーヤ、取り外し可能な携帯電話、取り外し可能なワイヤレスモデム、およびデジタルビデオディスク(DVD)プレーヤから成る群から選択されるコンピュータコンポーネント内のプロセッサである、請求項59に記載のコンピュータ。
  81. 動作状態情報が、
    システム全体のデータと、
    アプリケーションデータと、
    アプリケーションコンテキストデータと
    を含む、請求項59に記載のコンピュータ。
  82. 前記補助プロセッサが、ケーブルを介して前記コンピュータに結合される外部コンポーネント内のプロセッサである、請求項59に記載のコンピュータ。
  83. 前記補助プロセッサが、モバイルサービスモデムまたはモバイルデータモデム(MSM/MDM)内のプロセッサであり、
    前記MSM/MDMが、
    前記MSM/MDMに結合されたアンテナと、
    前記MSM/MDMに給電するための手段と、
    前記MSM/MDMを前記CPUに結合するための手段と
    を備えるポータブルデバイス内にパッケージされ、
    前記補助プロセッサが、前記ポータブルモデムデバイスが前記コンピュータから取り外された場合、前記MSM/MDMを介してワイヤレスネットワークとの通信リンクを維持するための手段をさらに備える、
    請求項59に記載のコンピュータ。
  84. 前記ポータブルモデムデバイスが前記コンピュータから取り外されている間、前記維持された通信リンクを介してメッセージを受信するための手段と、
    前記ポータブルモデムデバイスが前記コンピュータに元通り接続された場合、前記受信したメッセージを前記コンピュータで利用可能にするための手段と
    をさらに備える、請求項83に記載のコンピュータ。
  85. 前記MSM/MDMが、携帯電話内にパッケージされる、請求項83に記載のコンピュータ。
  86. 前記MSM/MDMを前記CPUに結合するための手段が、前記MSM/MDMに結合されたユニバーサルシリアルバス(USB)ハブ回路と、前記USBハブ回路に結合されたUSBコネクタを備える、
    請求項83に記載のコンピュータ。
  87. 中央処理装置(CPU)および補助プロセッサを含むコンピュータを動作させるためのコンピュータプログラムであって、
    前記CPUから前記補助プロセッサに動作状態情報を伝達するための少なくとも1つの命令と、
    前記動作状態情報を使用して、前記補助プロセッサを構成するための少なくとも1つの命令と、
    コンピュータ周辺機器の制御を前記補助プロセッサに移行する動作モード遷移を実行するための少なくとも1つの命令と、
    前記CPUを低電力または非活動化状態にするための少なくとも1つの命令と
    を含み、
    前記CPUおよび前記補助プロセッサが、前記動作モード遷移を予測すると共に、前記動作モード遷移をサポートする準備段階を前もって実行し、
    前記準備段階が、前記CPUから前記補助プロセッサに、実行中のアプリケーションに関するデータを移動させることを含む、コンピュータプログラム。
  88. 動作状態情報を伝達するための前記少なくとも1つの命令が、動作状態情報を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するための少なくとも1つの命令を含む、請求項87に記載のコンピュータプログラム。
  89. 動作状態情報を伝達するための前記少なくとも1つの命令が、前記動作状態情報を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するための少なくとも1つの命令を含む、請求項87に記載のコンピュータプログラム。
  90. 動作状態情報を伝達するための前記少なくとも1つの命令が、
    前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに記憶するための少なくとも1つの命令と、
    前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するための少なくとも1つの命令と
    を含む、請求項87に記載のコンピュータプログラム。
  91. ボタン押下、前記コンピュータの一部を閉じること、受信した電子メッセージ内に含まれるコマンド、特定のアプリケーションの起動、およびユーザから受け取ったメニュー選択入力から選択される信号を前記CPUが受け取ったことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに通知するための少なくとも1つの命令をさらに含む、請求項87に記載のコンピュータプログラム。
  92. 前記補助プロセッサによって現在の利用をサポートできるかどうかを判定するために、前記コンピュータとのユーザ対話を監視するための少なくとも1つの命令と、
    前記補助プロセッサによって利用をサポートできると判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するための少なくとも1つの命令と
    をさらに含む、請求項87に記載のコンピュータプログラム。
  93. 前記コンピュータプログラムが、制御を前記補助プロセッサに移行することに対する同意を示すようにユーザを促す表示を生成するための少なくとも1つの命令をさらに含み、
    コンピュータ周辺機器の制御を引き受けるように前記補助プロセッサに自動的に通知するための少なくとも1つの命令が、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに実行される、
    請求項92に記載のコンピュータプログラム。
  94. 前記CPU上でアクティブなアプリケーションを決定するための少なくとも1つの命令と、
    対応するアプリケーションを前記補助プロセッサ上で起動するための少なくとも1つの命令であって、前記対応するアプリケーションが、前記CPU上の前記アプリケーションによってメモリ内に保存されたアプリケーションデータにアクセスする、少なくとも1つの命令と
    をさらに含む、請求項87に記載のコンピュータプログラム。
  95. 対応するアプリケーションを前記補助プロセッサ上で起動するための前記少なくとも1つの命令が、前記補助プロセッサが前記コンピュータ周辺機器の制御を引き受ける前に実行される、請求項94に記載のコンピュータプログラム。
  96. 前記補助プロセッサの動作状態を前記CPUの動作状態と同期させるための少なくとも1つの命令をさらに含む、請求項87に記載のコンピュータプログラム。
  97. 活動化するように前記CPUに通知するための少なくとも1つの命令と、
    前記補助プロセッサから前記CPUに動作状態情報を伝達するための少なくとも1つの命令と、
    前記伝達された動作状態情報を使用して、前記CPUを構成するための少なくとも1つの命令と、
    前記コンピュータ周辺機器の制御を前記CPUに戻すための少なくとも1つの命令と、
    前記補助プロセッサによるコンピュータ周辺機器の制御を放棄するための少なくとも1つの命令と
    をさらに含む、請求項87に記載のコンピュータプログラム。
  98. 動作状態情報を伝達するための前記少なくとも1つの命令が、動作状態情報を、前記補助プロセッサから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するための少なくとも1つの命令を含む、請求項97に記載のコンピュータプログラム。
  99. 動作状態情報を伝達するための前記少なくとも1つの命令が、前記動作状態情報を、前記補助プロセッサと前記CPUの間の通信チャネルを介して伝達することを含む、請求項97に記載のコンピュータプログラム。
  100. 動作状態情報を伝達するための前記少なくとも1つの命令が、
    前記動作状態情報の一部を、前記CPUから、前記CPUと前記補助プロセッサによってアクセス可能な共用メモリに保存するための少なくとも1つの命令と、
    前記動作状態情報の一部を、前記CPUと前記補助プロセッサの間の通信チャネルを介して伝達するための少なくとも1つの命令と
    を含む、請求項97に記載のコンピュータプログラム。
  101. 活動化するように前記CPUに通知するための前記少なくとも1つの命令が、ボタン押下、前記コンピュータの一部を開くこと、受信した電子メッセージ内に含まれるコマンド、およびユーザから受け取ったメニュー選択入力から選択される信号を前記補助プロセッサが受け取ったことに応答して実行される、請求項97に記載のコンピュータプログラム。
  102. 前記補助プロセッサによってはユーザアクションをサポートできないかどうかを判定するために、前記コンピュータとのユーザ対話を監視するための少なくとも1つの命令と、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定したことに応答して、コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するための少なくとも1つの命令と
    をさらに含む、請求項97に記載のコンピュータプログラム。
  103. 前記コンピュータプログラムが、制御を前記CPUに移行することに対する同意を示すようにユーザを促す表示を生成するための少なくとも1つの命令をさらに含み、
    コンピュータ周辺機器の制御を引き受けるように前記CPUに自動的に通知するための前記少なくとも1つの命令が、制御の移行を続行することに対する同意を示すユーザ入力を受け取ったときに実行される、請求項102に記載のコンピュータプログラム。
  104. 前記コンピュータプログラムが、
    文書をコンピュータディスプレイ上に表示するための少なくとも1つの命令と、
    前記文書に関するユーザ編集コマンドを受け取るための少なくとも1つの命令と
    をさらに含み、
    前記補助プロセッサによってはユーザアクションをサポートできないと判定するための少なくとも1つの命令が、前記ユーザ編集コマンドが動作中のアプリケーションによってはサポートされないと判定するための少なくとも1つの命令を含む、
    請求項102に記載のコンピュータプログラム。
  105. コンピュータ周辺機器の制御が前記補助プロセッサに移行されている間、ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するための少なくとも1つの命令
    をさらに含む、請求項104に記載のコンピュータプログラム。
  106. コンピュータ周辺機器の制御が前記CPUに戻っている間、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するための少なくとも1つの命令
    をさらに含む、請求項104に記載のコンピュータプログラム。
  107. 前記維持された通信リンクを介して電子メッセージを受信するための少なくとも1つの命令と、
    含まれたアプリケーション起動コマンドを認識するために、前記受信した電子メッセージを処理するための少なくとも1つの命令と、
    前記電子メッセージがアプリケーション起動コマンドを含むことが認識された場合、前記受信した電子メッセージ内で識別されたアプリケーションを、前記補助プロセッサ上で起動するための少なくとも1つの命令と
    をさらに含む、請求項104に記載のコンピュータプログラム。
  108. 動作状態情報が、
    システム全体のデータと、
    アプリケーションデータと、
    アプリケーションコンテキストデータと
    を含む、請求項87に記載のコンピュータプログラム。
  109. ワイヤレスモデムが前記コンピュータから取り外されているとき、前記ワイヤレスモデムを介してワイヤレスネットワークとの通信リンクを維持するための少なくとも1つの命令をさらに含む、
    請求項87に記載のコンピュータプログラム。
  110. 前記ワイヤレスモデムが前記コンピュータから取り外されている間、前記維持された通信リンクを介してメッセージを受信するための少なくとも1つの命令と、
    前記ワイヤレスモデムが前記コンピュータに接続された場合、前記受信したメッセージを前記コンピュータで利用可能にするための少なくとも1つの命令と
    をさらに含む、請求項109に記載のコンピュータプログラム。
JP2012527088A 2009-08-31 2010-08-31 低電力補助プロセッサによってコンピュータを動作させるための方法およびシステム Active JP5666591B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/551,530 2009-08-31
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
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
JP2013503401A JP2013503401A (ja) 2013-01-31
JP5666591B2 true JP5666591B2 (ja) 2015-02-12

Family

ID=42829920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012527088A Active JP5666591B2 (ja) 2009-08-31 2010-08-31 低電力補助プロセッサによってコンピュータを動作させるための方法およびシステム

Country Status (6)

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

Families Citing this family (82)

* 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
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
US9269059B2 (en) 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
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 삼성전자 주식회사 휴대 단말기의 전력 제어 방법 및 장치
US20110225327A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Systems and methods for controlling an electronic device
US20110224810A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Home and building automation
US8495601B2 (en) * 2010-06-09 2013-07-23 Lear Corporation Shared memory architecture
EP2663020B1 (en) * 2011-01-06 2019-07-24 LG Electronics Inc. Network system
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
GB2491915A (en) 2011-06-08 2012-12-19 Inst Information Industry Super operating system for a heterogeneous computer system
WO2013016313A1 (en) 2011-07-25 2013-01-31 Servergy, Inc. Method and system for building a low power computer system
KR102082242B1 (ko) * 2011-09-06 2020-02-27 인텔 코포레이션 전력 효율적 프로세서 아키텍처
GB2536824B (en) * 2011-09-06 2017-06-14 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
EP2789209A1 (en) * 2011-12-05 2014-10-15 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 联想(北京)有限公司 一种设备休眠状态下的数据处理方法及***
US9219983B2 (en) 2012-05-01 2015-12-22 Qualcomm Incorporated Mechanism to reduce missing breach detection in geofencing solution
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
MX2015009808A (es) 2013-02-11 2015-10-29 Graco Minnesota Inc Monitoreo remoto para sistema aplicador de fluido.
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 삼성전자 주식회사 전자 기기의 위치 기반 서비스 제공 방법 및 시스템
EP2882233B1 (en) * 2013-10-29 2019-09-04 Huawei Device Co., Ltd. Service agent method, modem, and terminal
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
US9927855B2 (en) 2014-01-27 2018-03-27 Hewlett-Packard Development Company, L.P. Power state control signal
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
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of 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 浩鑫股份有限公司 计算机***、可适性休眠控制模块及其控制方法
US20160365021A1 (en) * 2015-04-06 2016-12-15 Bluestream Development, Llc Mobile device with low-emission mode
US9430988B1 (en) * 2015-04-06 2016-08-30 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 京セラ株式会社 通信機器及び制御方法
US11604506B2 (en) 2017-01-25 2023-03-14 Huawei Technologies Co., Ltd. Method for reducing power consumption of electronic device, and apparatus
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 삼성전자주식회사 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법
CA3098896C (en) * 2018-05-01 2023-03-07 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
JP2019219984A (ja) * 2018-06-21 2019-12-26 ルネサスエレクトロニクス株式会社 メモリモジュール
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广东移动通信有限公司 应用切换方法、装置、存储介质及电子设备
EP3857371A1 (en) * 2019-12-19 2021-08-04 Google LLC Resource management unit for capturing operating system configuration states and memory management
WO2021126216A1 (en) 2019-12-19 2021-06-24 Google Llc Resource management unit for capturing operating system configuration states and offloading tasks
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 삼성전자주식회사 서비스 운용 방법 및 이를 지원하는 전자 장치
US12026569B2 (en) * 2021-03-16 2024-07-02 Chongqing Boe Smart Electronics System Co., Ltd. Display method of electronic identification device, controller, electronic identification device and system
US11556345B2 (en) 2021-06-08 2023-01-17 International Business Machines Corporation Detecting and recovering lost adjunct processor messages
US11645154B2 (en) 2021-06-08 2023-05-09 International Business Machines Corporation Enhanced recovery from externally initiated adjunct processor queue reset

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
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
US7058829B2 (en) * 2002-08-14 2006-06-06 Intel Corporation Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU
US7450963B2 (en) * 2002-08-27 2008-11-11 Qualcomm Incorporated Low power dual processor architecture for multi mode devices
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
DE602004014023D1 (de) * 2003-12-02 2008-07-03 Research In Motion Ltd Parameterverwaltung zwischen prozessoren in einer in eine prozessorspezifischen kommunikationsnetzwerk wirkenden drahtlosen mehrprozessor-mobilkommunikationseinrichtung
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
JP4800837B2 (ja) * 2006-05-22 2011-10-26 株式会社日立製作所 計算機システム、その消費電力低減方法、及びそのプログラム
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5666591B2 (ja) 低電力補助プロセッサによってコンピュータを動作させるための方法およびシステム
US11416061B2 (en) Terminal control method and apparatus, and terminal
US9921853B2 (en) Contextual history of computing objects
US9713174B2 (en) Connection tethering and service remoting
US10299210B2 (en) Method and apparatus for reducing power consumption of electronic device
WO2019218124A1 (zh) 一种sim卡自动切换的方法和电子装置
KR20150033505A (ko) 전자 장치에서 절전 모드를 수행하는 방법 및 이를 위한 전자 장치
CN111713176B (zh) 一种数据传输方法及终端
JP2020537211A (ja) アプリケーション管理方法および端末
US9928134B2 (en) Method and apparatus for repairing dynamic link library file
CN107341032B (zh) 一种数据加载方法、移动终端及计算机可读存储介质
CN111538391A (zh) 一种温度控制方法、装置、存储介质及终端
AU2016238887B2 (en) Contextual history of computing objects
US8544082B2 (en) Security reuse in hybrid information handling device environments
WO2022021534A1 (zh) 数据读取方法、存储介质及移动终端
US9354942B2 (en) Coordinating power states in a hybrid information handling device
JP5698194B2 (ja) 情報端末装置を同期する方法および情報端末装置
JP5398854B2 (ja) 情報処理装置および無線通信モジュールの設定方法
CN115442875A (zh) 一种应用访问方法、服务停止方法及电子设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131008

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131015

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20131220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141210

R150 Certificate of patent or registration of utility model

Ref document number: 5666591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250