JP2003507788A - 強い拡張機能を有する移動コンピュータシステム - Google Patents

強い拡張機能を有する移動コンピュータシステム

Info

Publication number
JP2003507788A
JP2003507788A JP2001517253A JP2001517253A JP2003507788A JP 2003507788 A JP2003507788 A JP 2003507788A JP 2001517253 A JP2001517253 A JP 2001517253A JP 2001517253 A JP2001517253 A JP 2001517253A JP 2003507788 A JP2003507788 A JP 2003507788A
Authority
JP
Japan
Prior art keywords
computer system
peripheral
peripheral device
program
removal
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.)
Pending
Application number
JP2001517253A
Other languages
English (en)
Other versions
JP2003507788A5 (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 JP2003507788A publication Critical patent/JP2003507788A/ja
Publication of JP2003507788A5 publication Critical patent/JP2003507788A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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/325Power saving in peripheral device

Landscapes

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

Abstract

(57)【要約】 【解決手段】コンピュータシステムのための強い外部インタフェースは、開示される。インターフェースがユーザーが慎重にいかなる事前に準備された手続きもたどる必要はないように、いつでも挿入するかまたは外部ペリフェラルを外部インタフェースへ移すためにユーザーに与える強い外部。外部インタフェース・ソフトウェアは、挿入または取りはずしを検出して、妥当な方法で作用する。

Description

【発明の詳細な説明】
【0001】 本発明はモバイル・コンピュータ・システムのフィールドに関する。
【0002】 技術分野特に、本発明はコンピュータシステムが動くと共に、周辺装置が連結さ
れて、物理インタフェースから切り離されることができる外部物理インタフェー
スおよび強いコンピュータソフトウェアを有するコンピュータシステムを開示す
る。
【0003】 発明の背景 モバイル・コンピュータ・システムは、コンピューティング装置の非常に人気が
ある種類になった。 モバイル・コンピュータ・システムによって、ユーザーがアドレス帳のような大
量の個人性情報にアクセスすることができる、 個人のカレンダ、そして、やるべきことのリスト。 事項、Palm Computingからのパーム大きさのコンピュータシステムのPalm(登録
商標)シリーズ、サンタクララのIncの、カリフォルニアがハンドヘルド・コン
ピュータ・システムの事実上の標準になったこと。 付加機能性を提供するために、以下を含むことは、望ましい: 移動コンピュータシステム上の外部ハードウェアインタフェース。 手のひらのサイズのコンピュータシステムのPalm(登録商標)シリーズは、以下
を含む: 外部ペリフェラルと通信するための外部シリアルインターフェース。 しかし、外部シリアルインターフェースは、限られた通信バンド幅および限られ
たインタフェース機能のために制限される。 したがって、より高いバンド幅およびより特集負過状態外部インタフェースを提
供することは、望ましい。 理想的に、外部インタフェースはユーザーがいかなるトレーニングも必要としな
いように、使用し非常にやすくなければならない。 さらに、妥当であるにせよ、外部インタフェースはユーザー動作のいかなる種類
も扱うのに十分強くなければならない。
【0004】 発明の開示 本発明は、コンピュータシステムのための強い外部インタフェースを導入する。
ユーザーが慎重にいかなる事前に準備された手続きもたどる必要はないように、
外部インタフェースによって、ユーザーがいつでも挿入するかまたは外部ペリフ
ェラルを外部インタフェースへ移すことができる。 外部インタフェース・ソフトウェアは、挿入または取りはずしを検出して、妥当
な方法で作用する。 他のオブジェクト、機能および本発明の利点は、会社図面から、そして、次の詳
細な説明から明らかである。
【0005】 好ましい実施例の詳細な説明 コンピュータシステムのための強い外部インタフェースを実行するための方法と
装置は、開示される。 次の説明において、説明のために、特定の名称集は、本発明の完全な理解を提供
するために記載される。 しかし、これらの具体的な詳細が本発明を実践するために必要でないことは、当
業者にとって明らかである。 例えば、本発明はハンドヘルド・コンピュータ・システムに関して記載されてい
た。 しかし、同じ技術は、容易にコンピュータシステムの他のいかなる種類にも適用
されることができる。
【0006】 伸長可能な移動コンピュータシステム図1A, 1Bは、以下を含む移動コンピュータ
システム100を図で示す:拡張インタフェース110。拡張インタフェースによって
、周辺デバイスがさし込んでいることができて、移動コンピュータシステム100
のバスに、直接に連結した。 実施例において、プロセッサが周辺デバイスがいつ挿入されるかまたは取ったか
について検出できるように、移動コンピュータシステム100のプロセッサからの
割込みラインは拡張インタフェース110に連結される。 拡張インタフェースに嵌入される周辺装置がプロセッサの注意を得ることができ
るように、第2の割込みラインは拡張インタフェース110上のシグナルとして提供
される。 図1Cは、移動コンピュータシステム100のソフトウエア・アーキテクチャのため
の1つの可能な実施例を図で示す。 図1Cにて図示したように、いくつかのデバイスドライバ121、123および125は、
移動コンピュータシステム100のハードウエア115を制御するために用いる。 デバイスドライバは、オペレーティングシステム150によって、アクセスされる
。 オペレーティングシステムは、以下を含む: イベントキュー161に置かれる一連のイベントを処理するイベントハンドラ160。
イベントは、デジタイザ・パッド、ボタン・プレス、メニュー選択、その他上の
スタイラス・ストロークのようなインタフェース・イベントから成ることができ
る。 オペレーティングシステムも、プロセッサ割込みを扱うための少なくとも一つの
割込みハンドラ170を有する。 付加割り込みは、いつでも導入されることができる。 移動コンピュータシステム100で実行するアプリケーションプログラムは、ハー
ドウエアと相互に作用するためにオペレーティングシステム150のサービスを利
用する。
【0007】 挿入/取りはずし概要移動コンピュータシステム100のオペレーションを単純化す
るために、拡張インタフェース110は動かしやすく設計されていて非常に強かっ
た。 具体的には、拡張インタフェース110はユーザーがいつでも挿入するかまたは周
辺装置を取ることができるように設計されていた。 ユーザーが周辺装置を拡張インタフェース110に嵌入するかまたは拡張インタフ
ェース110から周辺装置を取るときに、移動コンピュータシステム100は自動的に
妥当な反作用で応ずる。 ユーザーが周辺装置を拡張インタフェース110に嵌入するときに、移動コンピュ
ータシステム100は最初にさし込んだ周辺装置を検出する。 次に、移動コンピュータシステム100は、いかなる妥当な装置ドライバプログラ
ムもすえ付ける。 最後に指定されたアプリケーションが周辺装置(指定されたアプリケーションが
ある場合)と関連させた移動コンピュータシステム100および実行。 ユーザーが拡張インタフェース110から周辺装置を取るときに、移動コンピュー
タシステム100は自動的にいかなる関連した装置ドライバプログラムも取って、
取られた周辺装置を必要とするいかなるアプリケーションも終了する。
【0008】 周辺挿入概略図2は、移動コンピュータシステム100が周辺装置挿入を扱う方法の
概要を図で示す。 図2にて図示したように、周辺装置はステップ210で周辺拡張インタフェースに嵌
入される。 割込みハンドラは、周辺拡張インタフェースへの周辺装置の挿入を識別して、そ
れからステップ220でイベントキューの上へ周辺挿入イベントを待ち行列に入れ
る。 ステップ240で、イベントハンドラは周辺挿入イベントを検出して、周辺挿入ル
ーチンを実行する。 ステップ250で、周辺挿入ルーチンは、周辺デバイス上のメモリー空間の指定さ
れたセットアップ・ユーティリティの位置を決めようとする。 指定されたセットアップ・ユーティリティが位置する場合、周辺挿入ルーチンは
移動コンピュータシステムのメインメモリに、指定されたセットアップ・ユーテ
ィリティを周辺デバイス・メモリからコピーする。 周辺挿入ルーチンは、それからステップ255でセットアップ・ユーティリティを
実行する。 セットアップ・ユーティリティ(1がある場合)を実行した後に、周辺挿入イベ
ント処理ルーチンは、ステップ260で周辺デバイス上のメモリー空間の指定され
た「歓迎されるアプリケーション」の位置を決めようとする。 指定された歓迎されるアプリケーションが位置する場合、周辺挿入ルーチンはス
テップ265で歓迎されるアプリケーションを起動する。 この点で、周辺装置は初期化される。そして、さし込んだ周辺装置と関連するい
かなるデフォルトのアプリケーションも現在実行している。 このように、周辺装置の挿入は、移動コンピュータシステムにさし込んだ周辺装
置の使用の覚悟をさせた。
【0009】 周辺取りはずし概要図3は、移動コンピュータシステムが周辺デバイス取りはず
しを扱う方法の概要を図で示す。ユーザーがステップ305で周辺拡張インタフェ
ースから周辺デバイスを取るときに、図3のフローチャートは開始する。 割込みハンドラは、ステップ320での周辺拡張インタフェースからの周辺デバイ
スの取りはずしを識別して、イベントキューの上へ周辺デバイス取りはずしイベ
ントを待ち行列に入れる。 ステップ340で、イベントハンドラは周辺デバイス取りはずしイベントを扱う。
イベントハンドラは、周辺デバイスの取りはずしを示すためにシステム・データ
構造をアップデートすることによって、周辺デバイス取りはずしイベントを扱う
。 ステップ370で、イベントハンドラは取られた周辺デバイスと関連するメインメ
モリのセットアップ・ユーティリティがあるかどうか決定する。 指定されたセットアップ・ユーティリティが位置する場合、イベントハンドラの
周辺デバイス取りはずしルーチンはセットアップ・ユーティリティの取りはずし
ルーチンを実行する。 実施例において、イベントハンドラはステップ375でセットアップ・ユーティリ
ティを実行するを有する「取る」、セットアップ・ユーティリティがそれ自体を
削除しなければならないことを示す指示および全てのドライバは取られた周辺デ
バイスと関連した。 ステップ380で、周辺装置のためのセットアップ・ユーティリティがもはや必要
でなかった時から、セットアップ・ユーティリティは可動性のコンピュータシス
テムのメモリから取られる。 この点で、もはや必要でない取られた周辺装置と関連する全てのドライバプログ
ラムは、移動コンピュータシステムから除去された。 ステップ390で、イベントハンドラは終了されたアプリケーション・イベントを
待ち行列に入れる。 このように、現在実行アプリケーション(それは、周辺デバイスを使用している
ことができる)は、美しく実行をやめる。
【0010】 周辺デバイス挿入ユーザーが周辺装置を拡張インタフェース110に嵌入するとき
に、移動100が適切に反応する効果があって遅れた詳細は、平凡でない。移動コ
ンピュータシステム100の拡張インタフェース110への周辺装置の挿入に応答する
移動コンピュータシステム100のオペレーションは、図2、5、6および7に関して
示される。図2にて説明したように、移動コンピュータシステム100の一実施例は
、移動コンピュータシステムに周辺デバイス挿入を知らせるために割込み信号を
使用する。
【0011】 周辺挿入割り込み生成移動コンピュータシステム100の一実施例は、周辺デバイ
ス挿入割込み信号を生成するために割り込みジェネレータ回路を使用する。ジェ
ネレータ回路が割込み信号上の上昇しているエッジを探して、カード挿入を検出
する割り込みは、周辺拡張インタフェース110を連結した。割り込みジェネレー
タ回路は、実際に拡張インタフェースからシグナルまで連結される割り込みジェ
ネレータ回路が割り込みジェネレータ回路の電流状態に従い、異なる方法でふる
まうステート・ベースの検出回路である。図4は、周辺挿入/取りはずし割り込み
ジェネレータ回路の状態図を図で示す。 まず最初に、移動コンピュータシステムが離れて電力を供給されるときに、割り
込みジェネレータ回路はオフ状態410において、ある。 移動コンピュータシステムが電力を供給された閉路であるときに、周辺挿入/取
りはずし割り込みジェネレータ回路が割り込みジェネレータ回路が決定するブー
ト状態430に入って、拡張インタフェースの周辺デバイスは、現在そこにある。
周辺挿入/取りはずし割り込みジェネレータ回路が拡張インタフェースに連結さ
れる周辺デバイスを検出する場合、割り込みジェネレータ回路は「周辺-イン」
状態460へ進む。 一方、周辺挿入/取りはずし割り込みジェネレータ回路が拡張インタフェースに
連結される周辺デバイスを検出しない場合、割り込みジェネレータ回路は「周辺
装置でない」状態480へ進む。 周辺-イン状態460において、周辺挿入/取りはずし割り込みジェネレータ回路は
、周辺拡張インタフェースからシグナルの立下りエッジを探す。 立下りエッジ・シグナルが検出される場合、周辺挿入/取りはずし割り込みジェ
ネレータ回路は少しも周辺でない状態480に、周辺取りはずし割り込みおよび移
動を生成する。 少しも周辺でない状態480において、周辺挿入/取りはずし割り込みジェネレータ
回路は、周辺拡張インタフェースからシグナルの上昇しているエッジを探す。 上昇しているエッジ・シグナルが検出される場合、周辺挿入/取りはずし割り込
みジェネレータ回路は「周辺−イン」状態460に周辺挿入割り込みおよび移動を
生成する。
【0012】 周辺挿入割込み処理 図5を参照する。一旦ユーザーがステップ510で周辺装置を挿入するならば、割込
み信号は生成される。 割込みハンドラは、ステップ520で処理を買収する。 ステップ530で、割込みハンドラは割り込みが周辺挿入によって、生じたかどう
か決定する。 割り込みが他のデバイスによって、生じる場合、他の若干の割込みハンドラはス
テップ535にて説明したように、割り込みを扱う。 周辺デバイス挿入が検出されるときに、割込みハンドラはステップ540で最初に
さし込んだ周辺デバイス・ハードウエアのリセットを強制する。 周辺デバイスの機能がアクセスされることができるように、リセットはさし込ん
だ周辺デバイス・ハードウエアに操作可能状態に入らせる。 次に、周辺カード上のメモリてメモリ・マップされた入出力が移動コンピュータ
システム上のソフトウェア実行によって、アクセスされることができるように、
割込みハンドラはチップセレクト・ポリシーを調整する。 実施例において、割込みハンドラは単にチップセレクト・ポリシーが最大の可能
な周辺メモリにアクセスするように調整する。 ステップ560で、割込みハンドラはイベントキューに周辺挿入イベントを配置す
る。 周辺挿入イベントは、イベントハンドラに周辺構成を再開させる。 イベントキューに周辺挿入イベントを配置した後に、割込みハンドラは周辺挿入
割り込みを扱って仕上げられる。
【0013】 周辺挿入イベント処理オペレーティングシステムのイベントハンドラは、ついに
は周辺挿入イベントに遭遇する。図6は、イベントハンドラが周辺挿入イベント
を扱う方法を図で示す。図6を参照する。イベントハンドラは、さし込んだ周辺
装置について情報を得るために最初に周辺メモリー空間の定義済みセクションを
読みとる。イベントハンドラがメモリ読込みを実行する前に、イベントハンドラ
は最も大きなものを有する読取りを出すために最初にプロセッサに待ち状態の可
能なナンバーを課す。 このように、メモリ読込みはプロセッサによって、機能できるメモリの最も低速
の種類のためにさえ機能する。 周辺情報を含んでいるセクションを読みとった後に、ステップ620で、イベント
ハンドラは周辺メモリから読みとられた情報を確認する。 情報が適切に確認しない周辺装置である場合、イベントハンドラはユーザーに不
当な周辺装置を知らせることができる。 イベントハンドラは、それからステップ625で不当な周辺デバイスのための準備
をアボートすることができる。 周辺情報が適切に周辺デバイス妥当性から読みとる場合、イベントハンドラは新
しくさし込んだ周辺デバイスと相互に作用するためのハンドヘルド・コンピュー
タを準備する。 周辺デバイスにおいて、使用されるメモリを扱うために必要な待ち状態の最小ナ
ンバーを指定する周辺デバイスから、イベントハンドラは最初に値を読みとる。
周辺デバイス上のメモリにアクセスするときに、ステップ630で、イベントハン
ドラはそれからプロセッサの動作が待ち状態の最小ナンバーを待つように調整す
る。 ステップ650で、イベントハンドラはそれからオペレーティングシステムにさし
込んだ周辺装置を知らせる。
【0014】 サンタクララ(カリフォルニア)のPalm Computingから実施例において、PalmOS
に基づいて、イベントハンドラは付加プログラムを含むことができる第2のメモ
リーカードの存在を示すためにシステム・データ構造をアップデートすることに
よって、オペレーティングシステムに知らせる。オペレーティングシステムは、
加算メモリーカードを調べて、付加プログラムをファイルシステム・リスティン
グに加える。ステップ660で、ネクストにイベントハンドラは、周辺デバイスが
関連したセットアップ・ユーティリティを有するかどうか決定する。 周辺デバイスが関連したセットアップ・ユーティリティを有する場合、イベント
ハンドラはイベントハンドラがモバイル・コンピュータ・デバイスのメインメモ
リに、周辺デバイスのセットアップ・ユーティリティをコピーするステップ663
へ進む。 モバイル・コンピュータ・デバイスのメインメモリに、セットアップ・ユーティ
リティをコピーすることによって、ユーザーが後で周辺デバイスを引き抜く場合
であっても、セットアップ・ユーティリティは手に入り続ける。 モバイル・コンピュータ・デバイスのメインメモリに、セットアップ・ユーティ
リティをコピーした後に、イベントハンドラは「取付け」シグナルを有するステ
ップ665で、セットアップ・ユーティリティを実行する。 取付けシグナルは、それが全ての必要な周辺デバイス特定の設置作業を実行しな
ければならないことをセットアップ・ユーティリティに知らせる。
【0015】 セットアップ・ユーティリティ・インストール上の詳細は、次のセクションにお
いて、提供される。セットアップ・ユーティリティ(1がある場合)を実行した
後に、イベントハンドラは周辺デバイスがステップ680で関連した「歓迎される
アプリケーション」を有するかどうか決定する。 歓迎されるアプリケーションは、常に周辺デバイスの後、実行し始めなければな
らないアプリケーションがすえ付けられたように、周辺デバイスにより示された
アプリケーションである。 例えば、移動電話周辺装置は、移動電話アプリケーションを移動電話周辺装置が
すえ付けられるときに、実行されなければならない歓迎されるアプリケーション
に指定できる。 歓迎されるアプリケーションが示された場合、歓迎されるアプリケーションが実
行を開始するように、歓迎されるアプリケーションはステップ685で現在のアプ
リケーションに指定される。 歓迎されるアプリケーションが示されなかった場合、デフォルトのアプリケーシ
ョンが実行を開始するように、デフォルトのアプリケーションはステップ683で
現在のアプリケーションに指定される。 Palm Computing社からPalmOSを使用する実施例において、ランチャ・アプリケー
ションは、デフォルトのアプリケーションとしてのセットである。 このように、歓迎されるアプリケーションが示されないときに、ランチャ・アプ
リケーションは実行を開始する。 オペレーティングシステムがステップ650で新規な周辺デバイスについて知識の
あるので、ランチャ・アプリケーションは現在周辺デバイスの挿入のために新し
く手に入るいかなる新規なアプリケーションも表示する。
【0016】 周辺挿入セットアップ・ユーティリティ取付けオペレーション図6にて図示した
ように、イベントハンドラは全ての周辺特定の設置作業を実行するために周辺デ
バイス上のセットアップ・ユーティリティを使用する。図7は、セットアップ・
ユーティリティにより実行されることができるオペレーションのリストを提供す
る。 リーダは、図7におけるステップの全てが全てのセットアップ・ユーティリティ
・アプリケーションにより実行される必要があるというわけではない点に注意し
なければならない。 各々の周辺セットアップ・ユーティリティは、オペレーションのためのすえ付け
られた周辺デバイスを準備するのに必要なオペレーションを実行するだけである
【0017】 さらに、セットアップ・ユーティリティは、図7にリストされないオペレーショ
ンを実行できる。図7を参照する。セットアップ・ユーティリティープログラム
は、ステップ705から始まる。 ステップ710で、セットアップ・ユーティリティは、使用するチップセレクトの
オペレーションがさし込んだ周辺デバイス上のメモリのアドレス指定を行うよう
に調整できる。 セットアップ・ユーティリティープログラムは、適切に周辺デバイスの範囲内で
含まれるメモリ及びI/Oアドレス空間の実寸法を扱うためにチップセレクト・
ポリシーを修飾する。 チップセレクト・ポリシーはメモリの実寸法を使用して調整される、で、I/O
アドレス空間は周辺ソフトウェアによって、要求した。 ステップ715で、セットアップ・ユーティリティは、周辺装置がオペレーション
のために必要とするメインメモリの量を割り当てる。 メインメモリは、周辺デバイスと関連する状態変数を格納するために用いる。 若干のシステムが割込みルーチンの範囲内でメモリのアロケーションを許さなか
った時から、メモリはセットアップ・ユーティリティによって、割り当てられる
。 ステップ720で、セットアップ・ユーティリティは、必要に応じてシステム呼出
しにパッチを当てる。 実施例において、システムコールはシステムコールにベクトルのリストを含む分
岐テーブルにリストされることができる。
【0018】 セットアップ・ユーティリティは、以下によって、システムコールにパッチを当
てることができる:メインメモリに新規なシステムコール・ルーチンをコピーす
ること、そうすると、新規なシステムまでの位置に分岐テーブルのベクトルを変
更することは、コールする。ステップ730で、セットアップ・ユーティリティは
、新規なシステムコールを据付けることができる。新規なシステムコールは、コ
ンピュータシステムのオペレーティングシステムに付加機能性を提供できる。 若干のアプリケーションは、それが周辺デバイスの挿入のために手に入るように
なるこの付加機能性もしもおよび時を使用するように設計されていてもよい。 ステップ740で、セットアップ・ユーティリティは、周辺デバイス割込みハンド
ラを据付けることができる。 実施例において、割込みラインは移動コンピュータシステム上の拡張インタフェ
ースに連結される。 この拡張インタフェース割込みラインが周辺挿入割込みラインとは別の点に留意
する必要がある。 周辺デバイスのセットアップ・ユーティリティは、その割込みラインのための周
辺デバイス割込みハンドラを据付けることができる。 拡張インタフェース割込みライン上の割り込みが主張されるときに、新しくすえ
付けられた周辺デバイス割込みハンドラはいつでもプロセッサの制御を得る。 パワーを節約するために、大部分のモバイル・コンピュータ・デバイスは、パワ
ーが回路をオフにすることにより保存されることができる電力管理システムおよ
び使われていないデバイスを有する。 電源消費を減らすために、妥当な時間にオペレーティングシステムによって、呼
ばれるステップ750で、周辺デバイスはパワーマネジメント・ルーチンを据付け
なければならない。 例えば、移動コンピューティング装置がオフにされるときに、パワーオフ・ルー
チンは呼ばれることができる。 同様に、移動コンピューティング装置が予め定められた周期のために空転のとき
に、空転のパワー・ダウン・ルーチンは呼ばれることができる。 バッテリが低いときに、低消費電力ルーチンはオペレーティングシステムによっ
て、呼ばれるために示されることができる。
【0019】 多くの周辺装置は、ほかの応用プログラムに対するサービスを提供する。例えば
、無線ネットワーキング周辺装置は、ほかの応用にTCP/IPのようなネットワーク
サービスを提供する。 ほかの応用にサービスを提供するために、無線ネットワーキングのような、周辺
装置はほかの応用によって、アクセスされることができる一組の共有ライブラリ
を提供できる。 セットアップ・ユーティリティは、図7のステップ760で示すような共有ライブラ
リを据付けなければならない。 若干の周辺装置は、バックグラウンドタスクが周辺デバイス上のアクティビティ
を監視することを必要とする。 セットアップ・ユーティリティは、ステップ770でこの種のバックグラウンド・
スレッドを開始しなければならない。 一旦セットアップ・ユーティリティが実行を完了すると、周辺デバイスはオペレ
ーションの準備ができている。 周辺デバイスが共有サービスを提供する場合、それらのサービスは現在手に入る
。 周辺デバイスが専用のアプリケーションにより制御される場合、その専用のアプ
リケーションは図6のステップ680および685にて図示するように、「歓迎される
アプリケーション」として起動される。
【0020】 周辺取り外し周辺デバイス取りはずしは、周辺装置挿入として同様の方法で扱わ
れる。 ほとんどの場合、取りはずしは割込みルーチンを有する取りはずしを最初に検出
することによって、扱われる、 チップセレクト・ポリシーを修飾すること、 割込みルーチンから取りはずしイベントを待ち行列に入れること、 そうすると、イベントハンドラを有する取りはずしイベントを扱うこと。 イベントハンドラは、「取りはずし」シグナルを有する周辺デバイスと関連する
セットアップ・ユーティリティを呼ぶことによって、取りはずしイベントを扱う
。 周辺取りはずし処理は、ハードウエア例外(あるとしてもアプリケーションプロ
グラム、割込みルーチンまたは取られたカードにマップされたメモリー空間にア
クセスする他のプログラム試み)によって、割り込まれることができる。 取りはずし割込みハンドラによって、製造するチップセレクト・ポリシーの変更
によって、この種のハードウエア例外割り込みが生じる。
【0021】 周辺取りはずし割り込み 図3にて図示したように、周辺デバイスの取りはずしは、ステップ310で割り込み
を生成する。 割込みハンドラは、それから周辺デバイス取りはずし割り込みを識別して、ステ
ップ320で周辺デバイス取りはずし割り込みを扱う。 図8は、周辺デバイス取りはずし割込みハンドラの一実施例を図で示す。 図8にて図示したように、割込みハンドラはステップ820から始まる。 ステップ830で、割り込みは割り込みが周辺デバイス取りはずしによって、生じ
たかどうか決定する。 そうでない場合には、他の割込みハンドラは、ステップ835でショーとして割り
込みを扱う。 周辺デバイス取りはずし割り込みがステップ830で識別されるときに、周辺取り
はずし割込みルーチンは最初に移動コンピュータシステムのためのチップセレク
トを再プログラムする。 再プログラミングは、周辺デバイス・メモリー空間に対するいかなる将来のアク
セスもステップ840での不正アクセスであることを示す。 このように、プログラムが周辺カード上のメモリーロケーションにアクセスしよ
うとする場合、バスエラー例外は生成される。 このドキュメントの後のセクションにて後述するバス・エラールーチンによって
、バスエラー例外は、扱われる。 ステップ840でチップセレクトを再プログラムした後に、周辺デバイス取りはず
し割込みルーチンは、それからステップ860でイベントキューの周辺取りはずし
イベントを配置する。 周辺取りはずしイベントは、イベントハンドラに周辺取りはずしルーチンを実行
し始めさせる。 イベントハンドラの周辺取りはずしルーチンは、周辺取りはずし処理(バスエラ
ーが発生しない限り)の剰余を扱う。
【0022】 周辺取りはずしイベント処理オペレーティングシステムのイベントハンドラは、
ついにはバスエラーが最初に発生しない場合、割込みルーチンによって、イベン
トキューに配置された周辺取りはずしイベントに遭遇する。図9は、イベントハ
ンドラが周辺取りはずしイベントを扱う方法を図で示す。 図9を参照する。イベントハンドラは、ステップ910で最初にオペレーティングシ
ステムに取られた周辺デバイスを知らせる。 サンタクララ(カリフォルニア)のPalm Computingから実施例において、PalmOS
に基づいて、イベントハンドラは1つのより少ないメモリーカードを示すために
システム・データ構造をアップデートすることによって、オペレーティングシス
テムに知らせる。 それが付加プログラムに対する全ての参照およびその周辺デバイスに前は手に入
ったデータを取ることができるように、オペレーティングシステムはそれから取
られたカードを知っているようになる。 ステップ920で、イベントハンドラは実行する次のアプリケーションを指定する
位置に、現在実行しているアプリケーションの識別子を格納する。 ステップ930で、ネクストにイベントハンドラは、現在実行アプリケーションの
ためのイベントキューに、終了されたイベントを待ち行列に入れる。 このように、現在のアプリケーションが実行を再開するときに、それは美しくそ
れ自体を終了する。 それ自体を終了した後に、オペレーティングシステムは実行する次のアプリケー
ションの実行を開始する。 現在のアプリケーションの識別子が実行する次のアプリケーションとして指定さ
れたので、そのアプリケーションはそれ自体を再開する。 このように、周辺デバイスが取られた変更された環境において、アプリケーショ
ンは再開する。 例えば、無線ネットワーキング周辺装置が取られるときに、アプリケーションを
閲覧しているウェブが現在無線ネットワーキング周辺装置を使用している場合、
アプリケーションを閲覧しているそのウェブは自動的に運転停止である。 アプリケーションを閲覧しているウェブが再開しようとするときに、ネットワー
ク周辺装置がネットワーク要求を扱うために手に入らなかった時から、それは実
行をアボートすることができる。 ステップ960で、イベントハンドラは周辺デバイスが関連したセットアップ・ユ
ーティリティをすえ付けたかどうか決定する。 周辺デバイスが関連したセットアップ・ユーティリティを有する場合、イベント
ハンドラはイベントハンドラが「取りはずし」シグナルを有するステップ965で
、セットアップ・ユーティリティを実行するステップ965へ進む。 取りはずしシグナルは、それが全ての必要な周辺デバイス特定の取りはずしオペ
レーションを実行しなければならないことをセットアップ・ユーティリティに知
らせる。 例えば、セットアップ・ユーティリティの取りはずし部分は、全ての割込みハン
ドラ、共有ライブラリ、デバイスドライバ、取られた周辺装置と関連するその他
を取る。 セットアップ・ユーティリティの取りはずし部分上の詳細は、次のセクションに
おいて、提供される。 セットアップ・ユーティリティ(1がある場合)を実行した後に、現在のアプリ
ケーションが実行を再開するように、イベントハンドラは復帰する。 終了されたアプリケーション・イベントがイベント処理ルーチンにより予定され
たので、現在のアプリケーションはそれ自体を終了する。 さらに、そのアプリケーションがステップ920の実行に「次の」アプリケーショ
ンに指定された時から、オペレーティングシステムは現在のアプリケーションを
再起動する。
【0023】 セットアップ・ユーティリティ取りはずしオペレーション 図9にて図示したように、イベントハンドラは全ての周辺特定の取りはずしオペ
レーションを実行するメインメモリ閉路のレジデントであるセットアップ・ユー
ティリティを使用する。 図10は、セットアップ・ユーティリティの取りはずし部分により実行されること
ができるオペレーションのリストを提供する。 再び、リーダは図10のステップの全てが全てのセットアップ・ユーティリティ・
アプリケーションの取りはずしルーチンにより実行される必要があるというわけ
ではない点に注意しなければならない。 セットアップ・ユーティリティが周辺デバイスのオペレーションに備える実行で
あるときに、各々のセットアップ・ユーティリティ取りはずしルーチンはできた
変更を元に戻すのに必要な取りはずしオペレーションを実行するだけである。 図10を参照する。セットアップ・ユーティリティープログラムは、ステップ1005
から始まる。 ステップ1010で、セットアップ・ユーティリティの取りはずしルーチンは、周辺
デバイスを制御するのを助けるために開始されたいかなるバックグラウンド・ス
レッドも終了しなければならない。 これらのスレッドは、周辺スレッドが取られた周辺デバイスにアクセスしようと
するのを防止するために急速に終了されなければならない。 ステップ1020で、セットアップ・ユーティリティの取りはずしルーチンは、必要
に応じてシステム呼出しに作られるいかなるパッチも取る。 周辺デバイスにアクセスを必要とするいかなるパッチも、コンピュータシステム
から除去される。 実施例において、直接に取られた周辺デバイスと関連しない確かなシステムコー
ルは、移動コンピュータシステム・メモリの左であってもよい。 このように、オペレーティングシステム欠陥を硬化させるパッチは、ユーザーが
オペレーティングシステム・パッチを得て、据付けることを必要とすることのな
いオペレーティングシステムに作られることが可能である。 その代わりに、ユーザーはいつ新規な周辺デバイスを購入する。そして、周辺装
置は挿入できるパッチが有するオペレーティングシステム・パッチもしもすでに
なされる。 しかし、ユーザーはもし必要でなければ、この種の非自発的なパッチ・ノットが
作られるように指定できる。 ステップ1030で、セットアップ・ユーティリティの取りはずしルーチンは、必要
に応じて周辺インストールの間、加えられたシステムコールまたはいかなる新規
なシステムコールにも作られるいかなるパッチも取る。 周辺デバイスにアクセスを必要とするいかなる加算システムコールも、コンピュ
ータシステムから除去される。
【0024】 前の段落にて説明したように、直接に取られた周辺デバイスと関連しない確かな
加算システムコールは、移動コンピュータシステム・メモリの左であってもよい
。このように、オペレーティングシステムに対する拡張は、ユーザーがオペレー
ティングシステム拡張を得て、据付けることを必要とすることのないオペレーテ
ィングシステムに作られることが可能である。このように、ユーザーが新規な周
辺デバイスを購入するときに、周辺装置はまた、オペレーティングシステム拡張
を提供できる。ステップ1040で、セットアップ・ユーティリティの取りはずしル
ーチンは、取られた周辺装置と関連するいかなる割込みハンドラも取る。 周辺デバイスが取られた時から、この種の割込みハンドラはもはや妥当でない。
ステップ1050で、セットアップ・ユーティリティの取りはずしルーチンは、取ら
れた周辺デバイスと関連するいかなるパワーマネジメント・ルーチンも取る。 周辺デバイスが取られた時から、この種のパワーマネジメント・ルーチンはもは
や妥当でない。 ステップ1060で、セットアップ・ユーティリティの取りはずしルーチンは、周辺
デバイスが挿入されるときに、すえ付けられた周辺デバイスと関連する共有ライ
ブラリを取る。 ステップ1070において、一覧を示すように、周辺取りはずしを扱う他のオペレー
ションを、実行できる。 一旦セットアップ・ユーティリティの取りはずしルーチンが実行を完了すると、
周辺デバイスと関連するシステムソフトウェアの全ては取られた。 セットアップ・ユーティリティの取りはずしルーチンがイベントハンドラへ戻る
ときに、イベントハンドラはステップ970でメインメモリからセットアップ・ユ
ーティリティを削除することによって、周辺ドライバ取りはずしプロセスを完了
する。 最後に、ステップ990で、オペレーティングシステムは「次の」アプリケーショ
ンを実行することによって、現在のアプリケーションを再起動する。
【0025】 周辺デバイス取りはずしによって、生じるバスエラーユーザーがモバイル・コン
ピュータ・デバイスの拡張ポートから、周辺デバイスを取るときに、実行アプリ
ケーションは誤って周辺デバイスのメモリー空間のメモリまたは入出力位置にア
クセスしようとすることができる。これが発生するときに、プロセッサが取られ
たメモリーロケーションからいかなるレスポンスも受け取らなかった時から、バ
スフォールトは発生する。 この種の状況を扱うために、特殊なバスエラー例外ルーチンは、移動デバイスの
オペレーティングシステムの範囲内で存在する。 図11は、例外ルーチンがバスエラーの中でどんな状態の一実施例を動かすことが
できるかについて説明する。 バスエラー例外ルーチンが開始するときに、バスエラー例外ルーチンはバスエラ
ーがステップ1110で周辺装置の取りはずしによって、生じたかどうか、最初に決
定する。 この種の決定をする1つの単純な方法は、バスエラー例外が生じたメモリアクセ
スのアドレスに注目することである。 アドレスが周辺デバイス・メモリー空間の範囲内である場合、バスエラーはおそ
らく周辺デバイス取りはずしによって、生じた。 バスエラーが周辺取りはずしによって、生じない場合、コードを扱っている他の
バスエラーはステップ1115で実行される。 バスエラー例外が周辺取りはずしによって、生じたと決定されるときに、バスエ
ラー例外ハンドラはバスエラー例外が生じたアプリケーションプログラムを殺し
て、バスエラーが生じたアプリケーションプログラムが開始する前に、コンピュ
ータシステムがあった状態に、コンピュータシステムの状態をリストアしようと
する。 バスエラー例外ハンドラは、一組のレジスタ(スタックポインタを含むこと)を
問題となるアプリケーションが起動される前に、これらのレジスタが有した値に
復元することによって、ステップ1130でこのプロセスを開始する。 それらの値のうちの1つは、起動されているアプリケーションの識別子である。
ステップ1140で、バスエラー例外ハンドラは、例外が生じたアプリケーションに
よって、割り当てられた全てのメモリを解く。 PalmOS環境において、全てのメモリアロケーションがメモリを割り当てたアプリ
ケーションの識別子によって、けがかれた時から、メモリを自由にすることは容
易に実行されることができる。 このように、バスエラー例外ハンドラは、単に問題となるアプリケーションのア
プリケーション識別子によって、けがかれる全てのメモリ・ブロックを解く。
【0026】 PalmOSシステムにおいて、「SysAppExit()」システムコールは、割当メモリを解
くために用いることがありえる。 「SysAppExit()」システムコールは、特定のアプリケーション識別子と関連する
メモリ・ブロックを探しているメモリ・ヒープで「歩い」て、それらのメモリ・
ブロックを解く。 ステップ1150で、バスエラー例外ハンドラは、バスエラー例外が生じたアプリケ
ーションによって、開けられた全てのデータベースを閉じる。 PalmOSシステムの「SysAppExit()」システムコールも、開けられたデータベース
を閉じる作業を実行する。 オープン・データベースは、アプリケーション識別子により識別される。 ステップ1160で、バスエラー例外ハンドラは、バスエラーが生じたアプリケーシ
ョンに割り当てられる他のいかなるシステム資源においても、例外を自由にする
。 実施例において、バスエラー例外が生じたアプリケーションにより所有されるい
かなるセマフォも、取られる。 この点で、アプリケーションは本質的に殺された。 ステップ1165で、ネクストにバスエラー例外ハンドラは、オペレーティングシス
テムが周辺デバイスからいかなるリソースも使用しようとしないように、周辺デ
バイスが取られたことをオペレーティングシステムに知らせる。 サンタクララ(カリフォルニア)のPalm Computingから実施例において、PalmOS
に基づいて、バスエラー例外ハンドラは、第2のメモリーカードが移動コンピュ
ータシステムから取られたことを示すためにシステム・データ構造をアップデー
トすることによって、オペレーティングシステムに知らせる。 ステップ1170で、バスエラー例外ハンドラは、周辺デバイスが関連したセットア
ップ・ユーティリティ・アプリケーションを有したかどうか決定する。 セットアップ・ユーティリティ・アプリケーションが位置する場合、例外ハンド
ラが全てのドライバを取るステップ1175でのセットアップ・ユーティリティの取
りはずしルーチンと言うバスエラー、割込みハンドラ、パッチ、その他は周辺デ
バイスと関連した。 セットアップ・ユーティリティ・アプリケーションが実行したあと、バスエラー
例外ハンドラはステップ1180で移動コンピュータシステム・メモリからセットア
ップ・ユーティリティを取る。 最後に、ステップ1190で、バスエラー例外ハンドラは、次のアプリケーションを
実行にセットする。 ちょうどアプリケーションに手に入る周辺デバイスのない新規な実行環境におい
て、再開することを強制するために終了されたアプリケーションとして、バスエ
ラー例外ハンドラは、アプリケーション識別子を使用できる。 再開されたアプリケーションは、それが周辺デバイスなしでどのように進まなけ
ればならないかについて決定する。 バスエラー例外ハンドラは、また、終了されたアプリケーション以外のアプリケ
ーションを選ぶことができる。 実施例において、バスエラー例外ハンドラは、次のアプリケーションを移動コン
ピュータシステムのためのランチャ・アプリケーションである実行に指定できる
【0027】 周辺デバイス実施例 完全に、本発明の強い拡張システムがどのように使うことができるかについて記
述するために、拡張周辺二、三の拡張は、提供される。 モデム周辺装置 1種類のつくられることが可能である周辺装置は、電話線によるシリアルデータ
連結をつくるためのモデム周辺装置である。 モデム周辺装置は、モデム周辺装置のオペレーションを制御するデバイスドライ
バを伴わなければならない。 モデム周辺装置が本発明の教示によって、造られるコンピュータシステムの拡張
インタフェースに挿入されるときに、挿入は割り込みを生成する。 周辺挿入イベントがイベントキューの上へ配置されるように、割り込みは周辺挿
入イベントとして分類される。 図6において、指定されるように、イベントハンドラは周辺挿入イベントを扱う
。 まず最初に、イベントハンドラは周辺デバイスのメモリー空間から読みとって、
周辺装置構成情報を確認する。 周辺構成情報を使用することによって、ステップ640において、示されるように
、イベントハンドラはメモリ速度を調整する。 ステップ650において、示されるように、イベントハンドラはそれからOSに新規
な周辺装置を知らせる。 次に、イベントハンドラはメインメモリに周辺デバイス・メモリー空間に位置す
るセットアップ・ユーティリティをコピーする。 イベントハンドラは、それからセットアップをセットアップ・ユーティリティを
有することは必要なドライバソフトウェアを据付けるという取付け信号を有する
ユーティリティと言う。 モデム周辺装置のセットアップ・ユーティリティは、それからアプリケーション
がモデム周辺装置に使用して、アクセスすることができるのに必要な全てのドラ
イバソフトウェアを据付ける。 モデム周辺装置のセットアップ・ユーティリティは、モデムのための共有ライブ
ラリおよびモデムにサービスを提供するための割込みハンドラを据付ける。
【0028】 実施例において、将来逐次アクセスがモデムを使用しようとするように、モデム
・セットアップ・ユーティリティはモデムをデフォルトのUniversal Asynchrono
us Receiver Transmitter(UART)に指定できる。モデム周辺装置は、以下を含
むことができる:ターミナル・エミュレーション・プログラムのようなデフォル
トのアプリケーションプログラム。ターミナルエミュレーション・アプリケーシ
ョンがモデム周辺装置を拡張インタフェースに嵌入した後に自動的に始めるよう
に、そのターミナル・エミュレーション・プログラムはモデム周辺デバイス上の
「歓迎されるアプリケーション」に指定されることができる。 モデム周辺装置が取られるときに、他の割り込みは生成されて、周辺デバイス取
りはずしによって、生じる割り込みとして識別される。 取りはずしは、割込みハンドラに周辺取りはずしイベントを待ち行列に入れさせ
る。 図9において、示されるように、イベントハンドラはそれから周辺取りはずしイ
ベントを処理する。 具体的には、取りはずしイベントハンドラは、周辺装置が取られたことをOSに知
らせて、現在実行アプリケーションのための終了されたイベントを待ち行列に入
れる。 次の周辺取りはずしイベントハンドラは、取りはずしをセットアップ・ユーティ
リティの取付けルーチンによって、すえ付けられた全てのモデム・ドライバを取
るセットアップ・ユーティリティのルーチンと言う。 最後に、周辺取りはずしイベントハンドラは、可動性のコンピュータシステムの
メインメモリからセットアップ・ユーティリティを除去する。 ターミナル・アプリケーションがモデム周辺装置にマップされるメモリー空間に
アクセスすると共に、ユーザーがモデム周辺装置を引き抜く場合、バスエラー例
外を、生成できる。 バスエラー例外は、バスエラー例外ハンドラによって、扱われる。 そのバスエラー例外ハンドラは、それから図11において、指定されるオペレーシ
ョンを実行する。 具体的には、バスエラー例外ハンドラは、手動で現在実行アプリケーション(そ
れは、ターミナル・アプリケーションでありえた)を殺す。 次に、バスエラー例外ハンドラは、取りはずしをセットアップ・ユーティリティ
の取付けルーチンによって、すえ付けられた全てのモデム・ドライバを取るセッ
トアップ・ユーティリティのルーチンと言う。 バスエラー例外ハンドラは、それから可動性のコンピュータシステムのメインメ
モリからセットアップ・ユーティリティを除去する。
【0029】 バックアップ周辺装置全ての周辺デバイスが、精巧なドライバソフトウェアを必
要とするというわけでない。例えば、単純な携帯バックアップ周辺装置は、ちょ
うど鋳ばりメモリーカード周辺装置を使用している本発明およびバックアップ・
プログラムの教示により実行されることができる。具体的には、バックアップ・
アプリケーションが自動的に起動されるように、周辺デバイスが挿入されるとき
に、鋳ばりメモリーカード周辺装置はバックアップ・プログラムを歓迎されるア
プリケーションに指定する バックアップ周辺装置が挿入されるときに、割込みルーチンはイベントキューの
上へ周辺挿入イベントを配置する。 図6において、指定されるように、イベントハンドラは周辺挿入イベントを扱う
。 まず最初に、イベントハンドラは周辺デバイスの鋳ばりメモリー空間から読みと
って、周辺装置構成情報を確認する。 具体的には、鋳ばりメモリーカードを適応させるためにステップ640において、
示されるように、イベントハンドラはメモリ速度を調整する。 ステップ660において、示されるように、イベントハンドラはそれからOSに新規
な周辺装置を知らせる。 イベントハンドラは、それからフラッシュメモリのセットアップ・ユーティリテ
ィを探す。 バックアップ周辺装置がいかなる特殊なドライバも必要としないので、イベント
ハンドラはセットアップ・ユーティリティを見つけなくて、歓迎されるアプリケ
ーションを探し続けない。 インストーラは、それからバックアップをステップ680および685において、指定
されるように、実行する次のアプリケーションとしての歓迎されるアプリケーシ
ョンと称する。 その時を有する歓迎されるアプリケーション(バックアップ・アプリケーション
)は、実行し始める。 実施例において、バックアップ・アプリケーションは、彼/彼女が鋳ばりメモリ
ーカードからバックアップするかまたはデータをリストアしたいかどうか、ユー
ザーに尋ねる。 ユーザーがバックアップを選ぶ場合、バックアップ・アプリケーションはバック
アップ周辺装置のフラッシュメモリに可動性のコンピューティング装置のメイン
メモリの内容をバックアップし続ける。 増分バックアップのような規格技術は、セーブ時間および電源消費に実行される
ことができる。 バックアップからデータをリストアしたいというユーザー願いが周辺装置を発光
させる場合、バックアップ・アプリケーションはユーザーが全てまたはいくつか
のデータ脱落をリストアすることができる一連の画面表示を示す。
【0030】 I/O支持体を有する第2の外部インタフェースモバイル・コンピュータ・シス
テム(例えば図1A,1Bにおいて、図で示される移動コンピュータシステム)は、
しばしばデータを入力するための単純な入力メカニズムを使用する。 例えば、図1Aおよび1Bにおいて、図で示される移動コンピュータシステムは、ス
タイラスの使用法に関しては書き込まれることができるデジタイザ・パッドを提
供する。 ユーザーの筆跡は、それから標準キャラクタデータ(例えばASCII(情報交換用
米国標準コード)またはUNICODE文字値)を生成するためにインタフェース・ソ
フトウェアにより翻訳される。 移動若干のコンピュータシステムは、テキストを入力するためのディスプレイに
図で示される小さいキーパッドを使用する。 進行すると共に、この種の単純な入力メカニズムが有効な一方、移動コンピュー
タシステムがオフィスのような標準的な作業環境において、使われるときに、多
くのユーザーは標準入力メカニズムを有するのを望む。 最も標準のコンピュータ入力メカニズムは、周知のQWERTYキーボードである。 QWERTYは、ユーザーにとって最も周知のユーザーインターフェースを提供する。
人気がある他の入力メカニズムは、ユーザーが言うものを翻訳するテキスト・シ
ステムに対するスピーチであって、テキストのストリームを生成する。 ドラゴン・システムのNaturally SpeakingおよびIBMのViaVoiceは、テキスト・
システムに対するスピーチの実施例である。
【0031】 代替入力支持体大部分のポータブル計算機システムは、1つのメカニズムをデー
タを入力するために提供するだけである。データ入力を許すフレキシブル・シス
テムを提供するために、本発明は代替入力ポートを導入する。具体的には、本発
明は外部入力装置から自動的に認識して、入力を受け入れる入力ポートを開示す
る。図1Aを参照する。移動コンピュータシステムは、以下を含む: 外部インタフェース150。 次のテーブルは、外部インタフェース150のピン配列を記載する:
【0032】 表1 インタフェース・コンタクト コンタクト機能 1 RXD:シリアルが、受信する 代替受け台検出ピン 3 割り込みに同期させる 4 GND:共通グランド 5 USB:データ− 6 USB:データ+ 7 周辺課金パワー 8 TXD:直列送信
【0033】 外部インタフェース150は、2つの異なる方法の他のコンピュータシステムに連結
するために必要なコンタクトを含む: Universal Serial Busおよびシリアルポート。 表1にて図示したように、外部インタフェース150は以下を含む: 一組のUniversal Serial Bus(USB)は、Universal Serial Busポートを有する
コンピュータシステムと通信するために信号を送る。 具体的には、外部インタフェース150はUSB Data+シグナルを有する、 USB Data-シグナル、 そして、共通グランド。 外部インタフェース150も、以下を含む:(USB VBusパワー・シグナルが他の実
施において、使うことができる。そして、示されない。) Serial Transmit、ReceiveなSerialおよび標準のシリアルポートでコンピュータ
システムまたは周辺装置と通信するためのCommon Ground。 外部インタフェース150は、以下を更に含む: モバイル・コンピュータがそうすることができるそのようなものが扱う移動コン
ピュータシステム上の割り込みを起動させる同期割込みライン割り込み。 実施例において、割り込みは他のコンピュータシステムを有する移動コンピュー
タシステム上の情報に同期させるために同期プログラム使用を起動させるために
用いる。 外部インタフェース150は、以下を更に含む: 代替受け台検出ピン。 代替受け台検出ピンは、外部インタフェース150に連結する確かな周辺装置によ
って、起動させられる入力ピンである。 代替受け台検出ピンを起動させることができる周辺デバイスの1つのクラスは、
連結される入力装置である外部インタフェース150。 代替受け台がピンを検出する時が起動させられるように、移動コンピュータシス
テム100のオペレーティングシステムは周期的に代替受け台検出ピンの世論調査
をする、ユーザーを扱うためのハンドラが外部インタフェース150から入力した
オペレーティングシステム・ランチャ。 図12は、移動コンピュータシステムの一実施例がどのように代替受け台検出ピン
を扱うことができるかについて記述するフローチャートの一実施例を図で示す。
図12を参照する。移動コンピュータシステムは、ステップ1210で代替受け台検出
ピンの世論調査をする。 ステップ1220で、移動コンピュータシステムは、代替受け台検出ピンが起動させ
られたかどうか決定する。 代替受け台が検出する場合、ピンは起動させられなかった、そして、移動コンピ
ュータシステムはステップ1210へ戻ることによって、代替受け台検出ピンの世論
調査をし続ける。 代替受け台が検出する場合、ピンは起動させられた、そして、移動コンピュータ
システムはステップ1230へ進む。 ステップ1230で、移動コンピュータシステムは、最近接続された入力装置を扱う
ためのバックグラウンドタスクを開始する。 前にこのポイントから、バックグラウンドタスクは方法のステップを実行するた
めに用いてもよい。 ステップ1240で、接続されるデバイスを有した入力ポートは、識別される。 実施例において、入力装置はシリアルポート・インタフェースまたはUniversal
Serial Busインタフェースを使用できる。 プロトコルの定義セットは、Universal Serial Busインタフェースに連結される
入力装置を識別するために用いることがありえる。 もう一つの実施例では、入力インタフェースのうちの1つだけが入力装置のため
に使われることができた時から、ステップ1240は必要でない。 例えば、シリアルポート・インタフェースだけが、使うことができる。 ステップ1250で、バックグラウンドタスクは入力装置が接続されたインタフェー
ス・ポートを初期化する。 ステップ1260で、バックグラウンドタスクは現在入力装置が接続されたインタフ
ェース・ポートを監視する。 監視されたポート上のいかなる入力もまたは変更が検出されるときに、バックグ
ラウンドタスクは入力/変更を扱う。 ステップ1270で、バックグラウンドタスクは入力装置が入力ポートから取り外さ
れたかどうか決定する。 これは、時々代替受け台検出ピン(ポーリング)を試験することにより検出され
ることができる。 入力装置が引き離される場合、バックグラウンドタスクは入力ポートが閉じられ
るステップ1275へ進む、そして、バックグラウンドタスクは運転停止である。 代替受け台が検出するところがピンでとめるステップ1210への方法収益は、それ
から世論調査をされる。 ステップ1280で、バックグラウンドタスクはデータが入力装置から受け取られた
かどうか決定する。 データが入力装置から受け取られる場合、バックグラウンドタスクはイベントキ
ューに入力イベントを待ち行列に入れる。 待ち行列に入れられた入力イベントは、外の入力装置からのデータが受信された
ことを示す。 例えば、キーボード・デバイスが外部インタフェースに連結される場合、バック
グラウンドタスクはイベントキューのキーボードイベントを待ち行列に入れるこ
とができる。
【0034】 代替同期 代替受け台検出ピンが、他のためにも使うことができる。 現在の実施例の1つの代替使用によって、代替受け台検出ピンが代替同期データ
パスを指定できる。 表1をもう一度参照する。外部インタフェースは、以下を含む: USB Data+シグナル、USB Data-シグナルおよび共通グランド。 これらのUSBデータ信号によって、移動コンピュータシステムがパーソナルコン
ピュータシステムを有する情報を交換できる。 USB Dataシグナルのための主使用のうちの1つは、移動コンピュータシステムが
パーソナルコンピュータシステム上の情報を有するその情報に同期させることが
できることである。 この種の同期システムは、周知である。 1つの実施例は米国特許5,884,323において、開示される。そして、発行日が1999
年3月19日「Multiple Files On Two Different Computer SystemsをSynchronizi
ngしている拡張可能なMethod And Apparatus Forと名付けられる。」 表1に関して以前に指定されるように、外部インタフェース150は以下を含むこと
ができる:
【0035】 同期プログラムを起動するために用いてもよい同期割込みライン。一般に、同期
プログラムは、USB接続で連結される他のコンピュータシステムと同期しようと
する。若干の状況において、ユーザーはUSB接続で手に入らない遠隔計算機シス
テムと同期することを望むことができる。 例えば、外部インタフェース上の直列のデータ接続を使用するモデムは、モバイ
ル・コンピュータが電話線による他のコンピュータシステムに遠隔で連結できる
と認める。 1が接続されて、移動コンピュータシステムは、遠隔計算機システムと同期でき
る。 この種のアプリケーションの実施例は、連続的ナンバー08/792166を有する1997
年1月30日上の「方法And Apparatus For Synchronizing AポータブルComputer S
ystem With A Desktop Computer System」出願日と名付けられる米国特許出願に
おいて、提供される。 この種の代替同期環境を扱うために、同期プログラムは、同期で始まる前に代替
受け台検出を試験できる。 具体的には、同期を扱う割込みルーチンが中断する場合、要請は代替受け台が能
動かどうか検出するために最初に代替受け台ピンを試験する。 代替受け台ピンが起動させられるときに、同期割込みルーチンは外部インタフェ
ース上の直列のデータインタフェースのような代替同期パスを使用する代替同期
プログラムを起動する。 このように、外部インタフェース(例えばモデム)に連結されるハードウエアは
、代替受け台検出ピンを起動させなければならない。 このように、同期割込み要求が作られるときに、同期割込みハンドラは関連した
代替同期プログラムを起動できる。 前述のことは、コンピュータシステムのための強い外部インタフェースを実行す
るための方法と装置を記載した。 本発明の本発明の範囲内において、要素の材料および配列にとって、変更および
修正が従来技術において、当業者によって、製造できることは、熟慮される。
【図面の簡単な説明】
【図1】 図1A, 1Bは、外部周辺インタフェースを有する移動コンピュータシステムを図で
示す。図は、1C、移動コンピュータシステムのための1つの可能なソフトウエア
・アーキテクチャのブロック図を図で示す。
【図2】周辺デバイスが拡張インタフェースに嵌入されるときに、図2は実
行されるオペレーションのフローチャートを図で示す。
【図3】周辺デバイスが拡張インタフェースから除去されるときに、図3は
実行されるオペレーションのフローチャートを図で示す。
【図4】図4は、1つの可能な周辺挿入/取りはずし割り込みジェネレータの
状態図を図で示す。
【図5】 図5は、周辺デバイス挿入を扱うための割込みルーチンを記載しているフローチ
ャートを図で示す。
【図6】図6は、周辺挿入イベントを扱うためのイベントハンドラを記載し
ているフローチャートを図で示す。
【図7】図7は、周辺デバイスを伴うセットアップ・ユーティリティのため
のインストール・ルーチンを記載しているフローチャートを図で示して、周辺挿
入イベントに実行される。
【図8】図8は、周辺デバイス取りはずしを扱うための割込みルーチンを記
載しているフローチャートを図で示す。
【図9】図9は、周辺取りはずしイベントを扱うためのイベントハンドラを
記載しているフローチャートを図で示す。
【図10】図10は、周辺デバイスが挿入されるときに、セットアップ・ユー
ティリティのインストール・ルーチンによって、コンピュータシステムに作られ
る変更を元に戻すセットアップ・ユーティリティのための取りはずしルーチンを
記載しているフローチャートを図で示す。
【図11】図11は、コンピュータシステムから周辺デバイスを除去すること
によって、生じるバスエラーを扱うバスエラー例外ルーチンを記載しているフロ
ーチャートを図で示す。
【図12】図12は、入力アラート・ピンが使ってどのように外部入力装置を
識別して、支持するかについて記述しているフローチャートを図で示す。
【符号の説明】
100 コンピュータシステム 110 インターフェース 115 ハードウェア 121,123,125 デバイスドライバ 150 オペレーティングシステム 160 イベントハンドラ
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW Fターム(参考) 5B065 BA05 BA09 CA01 CA11 CS00 5B076 AA06 BB04

Claims (59)

    【特許請求の範囲】
  1. 【請求項1】強いコンピュータ拡張を提供する方法、以下を含んでいる前記方法
    : コンピュータシステムに嵌入される周辺装置を検出すること; 前記コンピュータシステムの第2のメモリー空間にセットアップ・アプリケーシ
    ョンを前記周辺装置上の第1のメモリー空間からコピーすること; そして、前記ならい削りの後、前記セットアップ・アプリケーションの取付けル
    ーチンを実行すること。
  2. 【請求項2】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記セットアップ・アプリケーションの前記取付けルーチンを実行した後に前記
    周辺装置上の歓迎されるアプリケーションを実行すること。
  3. 【請求項3】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記コンピュータシステムから前記周辺装置の取りはずしに前記セットアップ・
    アプリケーションの取りはずしルーチンを実行すること。
  4. 【請求項4】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記セットアップ・アプリケーションの前記取付けルーチンから前記コンピュー
    タシステムにドライバプログラムをすえ付けること、 前記周辺装置と関連する前記ドライバプログラム。
  5. 【請求項5】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記セットアップ・アプリケーションの前記取付けルーチンから前記コンピュー
    タシステムにオペレーティングシステム拡張をすえ付けること。
  6. 【請求項6】 請求項1に記載の方法、さらに以下を含んでいる前記方法: アクセスから前記周辺装置の前記第1のメモリー空間まで、バスエラーを検出す
    ることによって、前記コンピュータシステムから前記周辺装置の取りはずしを検
    出すること。
  7. 【請求項7】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 拡張インタフェース上のシグナルから立下りエッジを検出することによって、前
    記コンピュータシステムから前記周辺装置の取りはずしを検出すること。
  8. 【請求項8】 請求項1に記載の方法 そこにおいて、 コンピュータシステムに嵌入される周辺装置が拡張インタフェース上のシグナル
    から上昇しているエッジを検出することから成ることを検出すること。
  9. 【請求項9】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記移動コンピュータシステムのプロセッサが法的に前記周辺装置上の前記第1
    のメモリー空間にアクセスすることができるように、チップセレクト・ポリシー
    を調整すること。
  10. 【請求項10】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記周辺装置上の前記第1のメモリー空間の周知の位置からメモリーアクセス時
    間定義フィールドにアクセスすること; 前記メモリーアクセス時間定義フィールドに従うメモリ待ち状態ポリシーを調整
    すること。
  11. 【請求項11】 請求項1に記載の方法、さらに以下を含んでいる前記方法: 前記セットアップ・アプリケーションの前記取付けルーチンから前記コンピュー
    タシステムにオペレーティングシステム・パッチをすえ付けること。
  12. 【請求項12】 請求項11に記載の方法、さらに以下を含んでいる前記方法: 前記コンピュータシステムから前記周辺装置の取りはずしに前記セットアップ・
    アプリケーションの取りはずしルーチンを実行すること。
  13. 【請求項13】 請求項12に記載の方法そこにおいて、 ルーチンが前記コンピュータシステムから前記周辺装置の取りはずしの後、前記
    オペレーティングシステム・パッチに残す前記取りはずし。
  14. 【請求項14】 請求項2に記載の方法そこにおいて、 前記歓迎されるアプリケーションは、以下を含む: 前記周辺装置上の不揮発性記憶システムに対する前記モバイル・コンピュータの
    メモリからのバックアップ・プログラムおよび前記バックアップ・プログラム・
    コピー情報。
  15. 【請求項15】 請求項14に記載の方法そこにおいて、 前記不揮発性記憶システムは、フラッシュメモリから成る。
  16. 【請求項16】 請求項14に記載の方法、さらに以下を含んでいる前記方法: 前記移動コンピュータシステムの前記メモリの中へと戻して、前記不揮発性記憶
    システムに格納される情報をリストアすること。
  17. 【請求項17】 強いコンピュータ拡張を提供する方法、以下を含んでいる前記方法: コンピュータシステムの拡張インタフェースから周辺デバイスの取りはずしを検
    出すること; そして、前記周辺デバイスの取りはずしを扱う前記コンピュータシステムのメイ
    ンメモリの取りはずしルーチンを実行すること。
  18. 【請求項18】 請求項17に記載の方法そこにおいて、 前記コンピュータシステムから前記周辺デバイスと関連する前記取りはずしルー
    チン移転ドライバプログラム。
  19. 【請求項19】 請求項17に記載の方法そこにおいて、 前記コンピュータシステムから前記周辺デバイスと関連するシステム機能拡張を
    作動している前記取りはずしルーチン移転。
  20. 【請求項20】 請求項17に記載の方法そこにおいて、 周辺デバイスの取りはずしがアクセスから前記周辺デバイスの前記第1のメモリ
    ー空間へのバスエラーを検出することから成ることを検出すること。
  21. 【請求項21】 請求項17に記載の方法そこにおいて、 周辺デバイスの取りはずしが拡張インタフェース上のシグナルから立下りエッジ
    を検出することから成ることを検出すること。
  22. 【請求項22】 請求項17に記載の方法、さらに以下を含んでいる前記方法: 前記コンピュータシステムのプロセッサが法的に前記周辺デバイス上の第1のメ
    モリー空間にアクセスすることができないように、チップセレクト・ポリシーを
    調整すること。
  23. 【請求項23】 請求項17に記載の方法そこにおいて、 ルーチンが前記周辺デバイスが前記コンピュータシステムから前記周辺デバイス
    の取りはずしの後、挿入されるときに、すえ付けられるオペレーティングシステ
    ム・パッチに残す前記取りはずし。
  24. 【請求項24】 伸長可能なコンピュータ装置、以下を含んでいる前記装置: コンピュータシステム上の拡張インタフェース、 メインメモリを有する前記コンピュータシステム; 周辺デバイス、 前記拡張インタフェースへの挿入のための前記周辺デバイス、 周辺メモリー空間を有する前記周辺デバイス; そして、セットアップ・ユーティリティープログラム、 前記周辺メモリー空間において、存在している前記セットアップ・ユーティリテ
    ィープログラム; そして、前記コンピュータシステム上の周辺検出および処理プログラム、 いつの前記周辺デバイスが前記拡張インタフェースに挿入されるかについて検出
    するための、そして、前記周辺デバイスが挿入されるときに、前記メインメモリ
    に前記セットアップ・ユーティリティープログラムをコピーするための前記周辺
    検出および処理プログラム。
  25. 【請求項25】 請求項24に記載のコンピュータ装置そこにおいて、 プログラムがメインメモリに前記セットアップ・ユーティリティープログラムを
    コピーして、前記セットアップ・ユーティリティを実行する前記周辺検出および
    処理。
  26. 【請求項26】 請求項24に記載のコンピュータ装置そこにおいて、 歓迎されるアプリケーションが前記周辺メモリー空間の範囲内で格納した前記周
    辺検出および処理プログラム実行。
  27. 【請求項27】 請求項24に記載のコンピュータ装置そこにおいて、 前記メインメモリへの前記セットアップ・ユーティリティープログラム据付けド
    ライバプログラム、 前記周辺デバイスと関連する前記ドライバプログラム。
  28. 【請求項28】 請求項24に記載のコンピュータ装置そこにおいて、 前記コンピュータシステムにシステム機能拡張を作動している前記セットアップ
    ・ユーティリティープログラム据付け。
  29. 【請求項29】 請求項24に記載のコンピュータ装置そこにおいて、 プログラムがアクセスから前記周辺メモリー空間までバスエラーを検出して、前
    記コンピュータシステムから前記周辺デバイスの取りはずしを検出する前記周辺
    検出および処理。
  30. 【請求項30】 請求項24に記載のコンピュータ装置そこにおいて、 プログラムが前記拡張インタフェース上のシグナルから立下りエッジを検出して
    、前記コンピュータシステムから前記周辺デバイスの取りはずしを検出する前記
    周辺検出および処理。
  31. 【請求項31】 請求項24に記載のコンピュータ装置そこにおいて、 前記周辺デバイスが前記拡張インタフェース上のシグナルから上昇しているエッ
    ジを検出することにより挿入される前記周辺検出および処理プログラム検出。
  32. 【請求項32】 請求項24に記載のコンピュータ装置そこにおいて、 前記周辺装置がある前記セットアップ・ユーティリティの取りはずしルーチンが
    取った前記周辺検出および処理プログラム実行。
  33. 【請求項33】 請求項32に記載のコンピュータ装置そこにおいて、 前記セットアップ・ユーティリティープログラムによって、すえ付けられる前記
    取りはずしルーチン移転ドライバ。
  34. 【請求項34】 請求項24に記載のコンピュータ装置そこにおいて、 前記コンピュータシステムのプロセッサが法的に前記周辺デバイス上の前記周辺
    メモリー空間にアクセスすることができるように、前記周辺検出および処理プロ
    グラムはチップセレクト・ポリシーを調整する。
  35. 【請求項35】 請求項24に記載のコンピュータ装置そこにおいて、 前記周辺検出および処理プログラムは、前記周辺メモリー空間の既知の位置から
    のメモリーアクセス時間定義フィールドにアクセスして、前記メモリーアクセス
    時間定義フィールドに従う前記コンピュータシステムのプロセッサを調整する。
  36. 【請求項36】 請求項35に記載のコンピュータ装置そこにおいて、 前記メモリ定義フィールドが以下を含むアクセス時: 待ち状態の最小ナンバー。
  37. 【請求項37】 請求項24に記載のコンピュータ装置そこにおいて、 前記セットアップ・ユーティリティープログラムは、前記コンピュータシステム
    にオペレーティングシステム・パッチをすえ付ける。
  38. 【請求項38】 請求項37に記載のコンピュータ装置そこにおいて、 前記セットアップ・ユーティリティープログラムは、以下を含む: 前記コンピュータシステムから前記周辺デバイスの取りはずしに前記周辺装置と
    関連するドライバを取るための前記セットアップ・アプリケーションの取りはず
    しルーチン。
  39. 【請求項39】 請求項37に記載のコンピュータ装置そこにおいて、 ルーチンが前記コンピュータシステムから前記周辺デバイスの取りはずしの後、
    前記オペレーティングシステム・パッチに残す前記取りはずし。
  40. 【請求項40】 請求項26に記載のコンピュータ装置そこにおいて、 前記歓迎されるアプリケーションは、以下を含む: 前記バックアップ周辺装置の不揮発性記憶システムに対する前記モバイル・コン
    ピュータのメモリからのバックアップ・プログラムおよび前記バックアップ・プ
    ログラム・コピー情報。
  41. 【請求項41】 請求項40に記載の方法そこにおいて、 前記不揮発性記憶システムは、フラッシュメモリから成る。
  42. 【請求項42】 移動コンピュータシステムをバックアップする方法、以下を含んでいる前記方法
    : コンピュータシステムの拡張インタフェースに嵌入されるバックアップ周辺装置
    の挿入を検出すること、 バックアップ・プログラムおよび不揮発性記憶システムから成る前記バックアッ
    プ周辺装置; 前記拡張インタフェースへの前記バックアップ周辺装置の挿入の後の自動的に実
    行前記バックアップ・プログラム; そして、前記バックアップ・プログラムを使用している前記バックアップ周辺装
    置の前記不揮発性記憶システムに対する前記モバイル・コンピュータのメモリか
    らのならい削り情報。
  43. 【請求項43】 請求項42に記載の方法そこにおいて、 前記不揮発性記憶システムは、フラッシュメモリから成る。
  44. 【請求項44】 請求項42に記載の方法、さらに以下を含んでいる前記方法: 前記移動コンピュータシステムの前記メモリの中へと戻して、前記不揮発性記憶
    システムに格納される情報をリストアすること。
  45. 【請求項45】 移動コンピュータシステムに入力を手渡す方法、以下を含んでいる前記方法: 代替受け台検出ピンを調べることによって、インタフェース・ポートに入力装置
    のカップリングを検出すること; 前記インタフェース・ポートに前記入力装置のカップリングを検出することの初
    期化前記インタフェース・ポート; そして、前記入力装置によるユーザー入力のための監視前記インタフェース・ポ
    ート。
  46. 【請求項46】 請求項45に記載の方法そこにおいて、 前記入力ポートは、以下を含む: シリアルポート。
  47. 【請求項47】 請求項45に記載の方法そこにおいて、 前記入力ポートは、以下を含む: 万能の直列のバスポート。
  48. 【請求項48】 請求項45に記載の方法そこにおいて、 前記入力装置は、以下を含む:キーボード。
  49. 【請求項49】 請求項45に記載の方法そこにおいて、 代替受け台検出ピンが周期的に世論調査をしている前記代替受け台検出ピンから
    成ることを調べること。
  50. 【請求項50】 請求項45に記載の方法、さらに以下を含んでいる前記方法: バックグラウンドタスクを前記インタフェース・ポートによる前記入力装置を扱
    うための前記移動コンピュータシステムに乗り出させること。
  51. 【請求項51】 コンピュータシステム、以下を含んでいる前記コンピュータシステム: インタフェース・ポート; 代替受け台検出ピン、 入力装置が前記インタフェース・ポートに連結されるときに、起動させられる前
    記代替受け台検出ピン; ポーリング・プログラム、 前記代替受け台検出ピンの世論調査をしていて、前記インタフェース・ポートを
    初期化している前記ポーリング・プログラムおよび前記代替受け台検出ピンが起
    動させられる前記入力装置によるユーザー入力のための監視前記インタフェース
    ・ポート。
  52. 【請求項52】 請求項51に記載のコンピュータシステムそこにおいて、 前記入力ポートは、以下を含む:シリアルポート。
  53. 【請求項53】 請求項51に記載のコンピュータシステムそこにおいて、 前記入力ポートは、以下を含む: 万能の直列のバスポート。
  54. 【請求項54】 請求項51に記載のコンピュータシステムそこにおいて、 前記入力装置は、以下を含む:キーボード。
  55. 【請求項55】 請求項51に記載のコンピュータシステムそこにおいて、 プログラムが前記インタフェース・ポートによる前記入力装置を扱って、バック
    グラウンドタスクを前記移動コンピュータシステムに乗り出させる前記ポーリン
    グ。
  56. 【請求項56】 コンピュータシステム、 以下を含んでいる前記コンピュータシステム: 第1のデータインタフェース・ポート; 第2のデータインタフェース・ポート; 代替受け台検出ピン、 交互の通信経路が前記第2のインタフェース・ポートに連結されるときに、起動
    させられる前記代替受け台検出ピン; 同期ルーチン、 前記代替受け台検出ピンが起動させられるときに、前記第2のデータインタフェ
    ース・ポートが使われなければならないことを示している前記同期ルーチン。
  57. 【請求項57】 請求項56に記載のコンピュータシステムそこにおいて、 前記第1のデータインタフェース・ポートは、以下を含む: 万能の直列バスポート。
  58. 【請求項58】 請求項56に記載のコンピュータシステムそこにおいて、 前記第2のデータインタフェース・ポートは、以下を含む: シリアルポート。
  59. 【請求項59】 請求項56に記載のコンピュータシステムそこにおいて、 前記同期ルーチンは、以下を含む:割込みハンドラ。
JP2001517253A 1999-08-12 2000-08-10 強い拡張機能を有する移動コンピュータシステム Pending JP2003507788A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/374,056 US6539476B1 (en) 1999-08-12 1999-08-12 Mobile computer system capable for copying set-up application including removal routine from peripheral device for removing device programs after the device is removed
US09/374,056 1999-08-12
PCT/US2000/021915 WO2001013222A2 (en) 1999-08-12 2000-08-10 A mobile computer system with a robust expansion capability

Publications (2)

Publication Number Publication Date
JP2003507788A true JP2003507788A (ja) 2003-02-25
JP2003507788A5 JP2003507788A5 (ja) 2008-02-21

Family

ID=23475086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001517253A Pending JP2003507788A (ja) 1999-08-12 2000-08-10 強い拡張機能を有する移動コンピュータシステム

Country Status (5)

Country Link
US (3) US6539476B1 (ja)
EP (2) EP2395426A1 (ja)
JP (1) JP2003507788A (ja)
AU (1) AU6900800A (ja)
WO (1) WO2001013222A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152917A (ja) * 2003-10-29 2010-07-08 Qualcomm Inc 周辺デバイスとワイアレス・デバイスとの間の通信を確立するためのシステム及び方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2282906B (en) 1993-10-13 1996-11-06 Dataquill Ltd Data enty systems
US7003304B1 (en) 1997-09-19 2006-02-21 Thompson Investment Group, Llc Paging transceivers and methods for selectively retrieving messages
US6826407B1 (en) 1999-03-29 2004-11-30 Richard J. Helferich System and method for integrating audio and visual messaging
US6636733B1 (en) 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
US6253061B1 (en) * 1997-09-19 2001-06-26 Richard J. Helferich Systems and methods for delivering information to a transmitting and receiving device
US6983138B1 (en) 1997-12-12 2006-01-03 Richard J. Helferich User interface for message access
US6560468B1 (en) 1999-05-10 2003-05-06 Peter V. Boesen Cellular telephone, personal digital assistant, and pager unit with capability of short range radio frequency transmissions
US6542721B2 (en) 1999-10-11 2003-04-01 Peter V. Boesen Cellular telephone, personal digital assistant and pager unit
US7065342B1 (en) 1999-11-23 2006-06-20 Gofigure, L.L.C. System and mobile cellular telephone device for playing recorded music
US7139901B2 (en) * 2000-02-08 2006-11-21 Mips Technologies, Inc. Extended instruction set for packet processing applications
US7649901B2 (en) * 2000-02-08 2010-01-19 Mips Technologies, Inc. Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
US7032226B1 (en) * 2000-06-30 2006-04-18 Mips Technologies, Inc. Methods and apparatus for managing a buffer of events in the background
US7155516B2 (en) * 2000-02-08 2006-12-26 Mips Technologies, Inc. Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory
US7082552B2 (en) * 2000-02-08 2006-07-25 Mips Tech Inc Functional validation of a packet management unit
US7165257B2 (en) * 2000-02-08 2007-01-16 Mips Technologies, Inc. Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts
US7058064B2 (en) * 2000-02-08 2006-06-06 Mips Technologies, Inc. Queueing system for processors in packet routing operations
US6654843B1 (en) * 2000-10-12 2003-11-25 Hewlett-Packard Development Company, L.P. Hot swapping
US6976217B1 (en) * 2000-10-13 2005-12-13 Palmsource, Inc. Method and apparatus for integrating phone and PDA user interface on a single processor
GB2375866B (en) * 2001-05-25 2005-02-09 At & T Lab Cambridge Ltd User interface systems
US7177906B2 (en) * 2001-05-31 2007-02-13 Palmsource, Inc. Software application launching method and apparatus
GB2378531B (en) * 2001-07-11 2003-04-16 Sendo Int Ltd Software driver code usage
JP3707410B2 (ja) * 2001-09-17 2005-10-19 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
US20030065856A1 (en) * 2001-10-03 2003-04-03 Mellanox Technologies Ltd. Network adapter with multiple event queues
US7197651B2 (en) * 2003-10-30 2007-03-27 Intel Corporation Power mode calibration for add-on cards on mobile platforms
US20050132352A1 (en) * 2003-12-11 2005-06-16 Konica Minolta Business Technologies, Inc. Installation of hardware devices
WO2005084051A1 (en) * 2004-02-02 2005-09-09 Nokia Corporation Method and device for ensuring the operating state of a mobile electronic terminal device
US7539832B2 (en) * 2004-08-23 2009-05-26 Hewlett-Packard Development Company, L.P. Option ROM code acquisition
US7669200B2 (en) * 2004-09-02 2010-02-23 International Business Machines Corporation Resizing an install image
US7631199B2 (en) * 2005-06-30 2009-12-08 Intel Corporation Various methods and apparatuses for power states in a controller
KR20070067423A (ko) * 2005-12-23 2007-06-28 삼성전자주식회사 휴대용 기록 및/또는 재생 장치와 그의 운영 방법
US8009743B2 (en) * 2006-01-19 2011-08-30 Sensormatic Electronics, LLC Method and system for powering a device using a data communications signal line
US8920343B2 (en) 2006-03-23 2014-12-30 Michael Edward Sabatino Apparatus for acquiring and processing of physiological auditory signals
US7849334B2 (en) * 2006-09-29 2010-12-07 Intel Coporation Transitioning a computing platform to a low power system state
US8010959B2 (en) * 2006-11-29 2011-08-30 Sony Ericsson Mobile Communications Ab System and method for updating device drivers
US7873852B2 (en) 2007-02-01 2011-01-18 Zetta Research, Llc Logical battery partitions configured by user interface
US20080244567A1 (en) * 2007-03-30 2008-10-02 Konica Minolta Systems Laboratory, Inc. Portable printer driver
KR101303663B1 (ko) * 2007-09-20 2013-09-04 삼성전자주식회사 통신 기능을 구비하는 네트워크 디바이스 드라이버 시스템및 상기 네트워크 디바이스 드라이버 시스템의 동작 방법
US20090240863A1 (en) * 2007-10-23 2009-09-24 Psion Teklogix Inc. Distributed power regulation
US20090164152A1 (en) * 2007-12-20 2009-06-25 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Power Consumption Notification and Management
US20090218957A1 (en) * 2008-02-29 2009-09-03 Nokia Corporation Methods, apparatuses, and computer program products for conserving power in mobile devices
US20110289499A1 (en) * 2010-05-19 2011-11-24 Microsoft Corporation Techniques to automatically update software applications
US9575973B2 (en) * 2010-11-05 2017-02-21 Atc Logistics & Electronics, Inc. System and method for systematically removing customer personal information from an electronic device
US9792104B2 (en) 2010-11-05 2017-10-17 FedEx Supply Chain Logistics & Electronics, Inc. System and method for flashing a wireless device
KR20120057052A (ko) * 2010-11-26 2012-06-05 삼성전자주식회사 다기능 주변장치를 가지는 디바이스 및 그의 운용 방법
US8886976B2 (en) 2011-04-11 2014-11-11 Microsoft Corporation Management of background tasks
JP6637389B2 (ja) * 2016-06-28 2020-01-29 株式会社沖データ メモリ制御装置、メモリ装置、及び画像形成装置
US10656855B2 (en) * 2018-07-31 2020-05-19 International Business Machines Corporation Memory management in a programmable device

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203869B (en) * 1987-04-17 1991-10-23 Apple Computer Computer resource configuration method and apparatus
US5577257A (en) * 1987-08-27 1996-11-19 Canon Kabushiki Kaisha Information processing apparatus
US5027294A (en) * 1989-01-27 1991-06-25 Zenith Data Systems Corporation Method and apparatus for battery-power management using load-compensation monitoring of battery discharge
US5850573A (en) * 1990-08-16 1998-12-15 Canon Kabushiki Kaisha Control method for peripheral device in host computer connectable to a plurality of peripheral devices
JP2835184B2 (ja) * 1990-12-12 1998-12-14 キヤノン株式会社 情報処理装置、デバイス制御方法、およびicカード
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
JPH0821015B2 (ja) * 1992-01-20 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータならびにそのシステム再構成化装置および方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5781798A (en) * 1993-12-30 1998-07-14 International Business Machines Corporation Method and apparatus for providing hot swapping capability in a computer system with static peripheral driver software
CA2112722C (en) * 1993-12-31 1996-01-23 Joseph A. Skouras Lifting and shoring jack assembly
US5532945A (en) * 1994-06-17 1996-07-02 Intel Corporation Power budgetting in a computer system having removable devices
US5689732A (en) * 1994-06-21 1997-11-18 Sony Corporation Apparatus for recording and reproducing data having a single recording and reproducing unit and a plurality of detachable interfaces for connecting to different types of computer ports
US5555510A (en) * 1994-08-02 1996-09-10 Intel Corporation Automatic computer card insertion and removal algorithm
US5884323A (en) 1995-10-13 1999-03-16 3Com Corporation Extendible method and apparatus for synchronizing files on two different computer systems
US5790890A (en) * 1996-02-29 1998-08-04 Sun Microsystems, Inc. Identification interface
US5787019A (en) * 1996-05-10 1998-07-28 Apple Computer, Inc. System and method for handling dynamic changes in device states
US5822614A (en) * 1996-05-31 1998-10-13 Unisys Corporation Self-identifying peripheral device
US5974473A (en) * 1996-06-14 1999-10-26 Texas Instruments Incorporated System for controlling insertion, locking, and removal of modules by removing plurality of device drivers for module to be removed from BIOS and informing BIOS of module removal
US5915106A (en) * 1997-03-20 1999-06-22 Ricoh Company, Ltd. Method and system for operating a scanner which emulates a disk drive
US6157169A (en) * 1997-04-30 2000-12-05 Samsung Electronics Co., Ltd. Monitoring technique for accurately determining residual capacity of a battery
JP4054451B2 (ja) * 1997-08-26 2008-02-27 キヤノン株式会社 通信装置
US6009480A (en) * 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device
US6460093B1 (en) * 1997-09-12 2002-10-01 Hewlett-Packard Company Automatic configuration of primary and secondary peripheral devices for a computer
WO1999035815A1 (en) * 1998-01-06 1999-07-15 America Online, Inc. Automatic identification of modems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152917A (ja) * 2003-10-29 2010-07-08 Qualcomm Inc 周辺デバイスとワイアレス・デバイスとの間の通信を確立するためのシステム及び方法

Also Published As

Publication number Publication date
EP1214648A2 (en) 2002-06-19
AU6900800A (en) 2001-03-13
WO2001013222A2 (en) 2001-02-22
US6976179B1 (en) 2005-12-13
EP2395426A1 (en) 2011-12-14
WO2001013222A3 (en) 2001-11-15
US6539476B1 (en) 2003-03-25
US20060117193A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
JP2003507788A (ja) 強い拡張機能を有する移動コンピュータシステム
US10445258B1 (en) Method for creation of device drivers and device objects for peripheral devices
US5784628A (en) Method and system for controlling power consumption in a computer system
US5978923A (en) Method and apparatus for a computer power management function including selective sleep states
EP2189901B1 (en) Method and system to enable fast platform restart
US9501291B2 (en) Method and system for providing hybrid-shutdown and fast startup processes
US4787026A (en) Method to manage coprocessor in a virtual memory virtual machine data processing system
US6393584B1 (en) Method and system for efficiently saving the operating state of a data processing system
RU2435200C2 (ru) Быстрая загрузка операционной системы из выключенного состояния
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
EP1736871A2 (en) System for executing code during operating system initialization
JP2608532B2 (ja) コンピュータシステムにおけるユーザ入力デバイス存在のエミュレート方法
US20080288766A1 (en) Information processing apparatus and method for abortting legacy emulation process
EP2905700B1 (en) Operating system recovery method, apparatus and terminal device
JP3618878B2 (ja) コンピュータシステムおよびバス接続方法
US8589954B2 (en) Method and program for selective suspension of USB network device
US20040123086A1 (en) Technique for reconstituting a pre-boot firmware environment after launch of an operating system
JP2000010905A (ja) 情報処理装置
KR20060131296A (ko) 다중 운영체제 지원이 가능한 컴퓨터 시스템 및 그러한시스템에서의 다중 운영체제 지원 방법
JP3259935B2 (ja) 周辺装置を通常の動作可能状態に回復させる方法
KR0182632B1 (ko) 클라이언트 서버 시스템 및 그 제어 방법
JP2001005661A (ja) コンピュータシステムおよびそのcpu性能制御方法
JP5102528B2 (ja) 情報処理装置及び制御方法
US6766461B1 (en) Status switching method of an information apparatus to ensure an operating status when the apparatus is liable to receive vibration or shock
US6115765A (en) Method of swapping auxiliary storage devices using a suspend mode

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070805

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20070909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111004

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111011

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20111118

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111122