(57)【要約】本明細書では、スマートバッテリーをその使用に先立って認証するモバイル通信機器について、様々な実施態様が説明される。モバイル機器には、主プロセッサおよびデバイス・メモリが含まれる。デバイス・メモリには、認証に用いられるセキュリティ情報の第一部分および第二部分が保存される。スマートバッテリーには、バッテリー・プロセッサおよびバッテリー・メモリが含まれる。バッテリー・メモリには、認証に用いられるセキュリティ情報の第三部分が保存される。主プロセッサは、セキュリティ情報の第一部分を含む認証要求をバッテリー・プロセッサへ送出し、バッテリー・プロセッサは、セキュリティ情報の第一部分および第三部分に基づいて応答を生成し、生成された応答を主プロセッサへ送出する。生成された応答がセキュリティ情報の第二部分と一致すると、スマートバッテリーは認証される。
2009512035.tif 000002
【特許請求の範囲】
【請求項１】
モバイル通信機器の動作を制御するための主プロセッサと、
該主プロセッサにつながれたデバイス・メモリであって、認証に用いられるセキュリティ情報の第一部分および第二部分を保存するように適合されたデバイス・メモリと、
該主プロセッサにつながれたスマートバッテリーと
を備えたモバイル通信機器であって、
該スマートバッテリーは、該モバイル機器へ電力を供給するように適合されており、
該スマートバッテリーは、
該スマートバッテリーの動作を制御し、該主プロセッサと通信するためのバッテリー・プロセッサと、
該バッテリー・プロセッサにつながれ、認証に用いられるセキュリティ情報の第三部分を含む情報を保存するように適合されたバッテリー・メモリと
を含んでおり、
該主プロセッサは、該バッテリー・プロセッサへセキュリティ情報の該第一部分を含む認証要求を送出するように構成されており、該バッテリー・プロセッサは、セキュリティ情報の該第一部分と該第三部分とに基づいて応答を生成し、生成された応答を該主プロセッサへ送出するように構成されており、該生成された応答がセキュリティ情報の該第二部分と一致する場合に該スマートバッテリーが認証される、モバイル通信機器。
【請求項２】
セキュリティ情報の前記第一部分および前記第二部分がセキュリティ情報の前記第三部分と異なる、請求項１に記載のモバイル通信機器。
【請求項３】
セキュリティ情報の前記第一部分は、事前計算済みチャレンジを含んでおり、情報の前記第二部分は、暗号化方法および秘密キーで該事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の前記第三部分は、該暗号化方法および該秘密キーを含んでおり、該暗号化方法および該秘密キーは、前記スマートバッテリーにのみ保存される、請求項１に記載のモバイル通信機器。
【請求項４】
前記主プロセッサによって認証要求がなされた後、前記バッテリー・プロセッサは、前記事前計算済みチャレンジ、前記秘密キーおよび前記暗号化方法に基づいて応答を生成するように構成されており、該生成された応答が、前記デバイス・メモリに保存された前記対応する事前計算済み応答と一致する場合に前記スマートバッテリーが認証される、請求項３に記載のモバイル通信機器。
【請求項５】
前記デバイス・メモリに保存されたセキュリティ情報の前記第一部分および前記第二部分が、他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有のものである、請求項１に記載のモバイル通信機器。
【請求項６】
前記スマートバッテリーの認証が失敗した場合、前記主プロセッサは、低電圧状態が存在する場合に前記スマートバッテリーを最小電荷容量まで充電させることができるように構成されている、請求項１に記載のモバイル通信機器。
【請求項７】
前記スマートバッテリーの認証が失敗した場合、前記主プロセッサは、前記モバイル機器が限られた時間にわたって動作を継続することができるように、かつ前記スマートバッテリーの充電ができないように構成されている、請求項１に記載のモバイル通信機器。
【請求項８】
セキュリティ情報の第一部分および第二部分の複数のセットが前記デバイス・メモリ上に保存されており、前記主プロセッサは、セキュリティ情報の第一部分および第二部分の前記複数セットのうちの一つ以上を用いて前記スマートバッテリーの認証を実行するように構成されている、請求項１に記載のモバイル通信機器。
【請求項９】
前記主プロセッサおよび前記スマートバッテリーは、最大データ転送速度が約３００ビット／秒のデータ回線を介してつながれている、請求項１に記載のモバイル通信機器。
【請求項１０】
主プロセッサ、デバイス・メモリ、ならびにバッテリー・プロセッサおよびバッテリー・メモリを含むスマートバッテリーを含むモバイル通信機器で用いられるスマートバッテリーを認証するための方法であって、該方法は、
認証に用いられるセキュリティ情報の第一部分および第二部分を該デバイス・メモリ上に保存することと、
認証に用いられるセキュリティ情報の第三部分を該バッテリー・メモリ上に保存することと、
該主プロセッサから該スマートバッテリーへ、認証要求およびセキュリティ情報の該第一部分を送出することと、
該スマートバッテリーにおいてセキュリティ情報の該第一部分および該第三部分に基づいて応答を生成し、該主プロセッサへ該生成された応答を送出することと、
該主プロセッサにおいて該生成された応答をセキュリティ情報の該第二部分と比較し、該生成された応答がセキュリティ情報の該第二部分と一致する場合に該スマートバッテリーを認証することと
を含む、方法。
【請求項１１】
セキュリティ情報の前記第一部分は、事前計算済みチャレンジを含んでおり、情報の前記第二部分は、暗号化方法および秘密キーで該事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の前記第三部分は、該暗号化方法および該秘密キーを含んでいる、請求項１０に記載の方法。
【請求項１２】
非認証の場合、非認証が前記主プロセッサと前記バッテリー・プロセッサとの間のデータ送信上のデータ送信エラーによるものではないことを確認するために、複数回にわたって認証を繰り返すことを含む、請求項１０に記載の方法。
【請求項１３】
他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有であるところのセキュリティ情報の第一部分および第二部分を前記デバイス・メモリに保存することを含む、請求項１０に記載の方法。
【請求項１４】
前記スマートバッテリーの認証が失敗した場合、低電圧状態が存在する場合に該スマートバッテリーを最小電荷容量まで充電させることを含む、請求項１０に記載の方法。
【請求項１５】
前記スマートバッテリーの認証が失敗した場合、限られた時間にわたって前記モバイル通信機器の動作を継続させ、かつ該スマートバッテリーの充電をさせないことを含む、請求項１０に記載の方法。
【請求項１６】
前記デバイス・メモリ上にセキュリティ情報の第一部分および第二部分の複数のセットを保存し、セキュリティ情報の第一部分および第二部分の該複数セットの一つ以上を用いて前記スマートバッテリーの認証を実行することを含む、請求項１０に記載の方法。
【請求項１７】
前記主プロセッサと前記スマートバッテリーとを、約３００ビット／秒の最大データ転送速度を有するデータ回線でつなぐことを含む、請求項１０に記載の方法。
【請求項１８】
認証が失敗した場合に前記スマートバッテリーの充電を阻止することを含む、請求項１０に記載の方法。
【請求項１９】
前記事前計算済みチャレンジを暗号化することを含む、請求項１１に記載の方法。
【請求項２０】
前記事前計算済みチャレンジのための不規則な数字を生成することを含む、請求項１１に記載の方法。
【請求項２１】
モバイル通信機器に用いられるスマートバッテリーを製造する方法であって、該方法は、
該モバイル通信機器による該スマートバッテリーとの通信および該スマートバッテリーの認証を可能にするために、該スマートバッテリー用の通信プロトコルおよびセキュリティ・プロトコルを指定することと、
該スマートバッテリーを組み立てることと、
セキュリティ・プロトコルおよび通信プロトコルを該スマートバッテリー上に実装することであって、該スマートバッテリー内だけの安全なメモリに秘密キーおよび暗号化方法を保存することを含む、ことと、
該秘密キーおよび該暗号化方法に対応するチャレンジおよび応答のペアを該モバイル機器上に保存することと、
該モバイル通信と該スマートバッテリーとの間で該セキュリティ・プロトコルおよび該通信プロトコルを試験することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年１０月１４日に出願された米国仮特許出願第６０／７２６，１６４号の優先権を主張する。
【０００２】
ここに説明される実施態様は、スマートバッテリーを有するモバイル機器に関するものである。
【背景技術】
【０００３】
（背景）
モバイル無線機器や個人用携帯型情報端末などの周辺機器では、内蔵型バッテリーパックなどの内蔵型手段による電力供給が可能である。内蔵バッテリーパックは、一つ以上のバッテリーからなるアセンブリであり、ある一定の電荷容量を提供する。バッテリーパックが異なれば、荷電容量や、例えば、４．２Ｖや４．４Ｖなどの終端電圧が異なり、さらには充電／放電特性も異なる。通常、バッテリーパックは、バッテリーの型式を示すバッテリーＩＤ抵抗器を備えており、それによって当該バッテリーパックの電荷容量を確定することができる。
【０００４】
電荷容量とバッテリーのタイプは、様々な理由から重要である。例えば、充電可能なバッテリーの場合、適正な電荷容量に、かつ、適正なレートで、当該バッテリーを充電することが重要である。バッテリーが過充電されると、当該バッテリーとそれを使用するモバイル機器の双方が損傷する可能性がある。このような状況が生ずる可能性は、市場に存在する偽造バッテリーの数の増加と共に高まっている。バッテリーＩＤ抵抗器を有するバッテリーパックの場合、バッテリーＩＤ抵抗器の抵抗値を読み取り、これと同じ抵抗値を有する抵抗器を有する偽造バッテリーパックを製造することは容易である。しかし、偽造バッテリーに限らず第三者製造による非公認バッテリーのいくつかは、一般に、純正バッテリーの電荷容量を備えておらず、要求される安全防護回路を備えていない場合もあり、モバイル機器が採用する充電方法との互換性がなく、したがって、充電時や通常使用の際に重篤な故障を生じる可能性がある。偽造バッテリーパックに対処する方法の一つは、セキュリティ機能の提供のために用いることのできる埋め込み型マイクロプロセッサを備えた「スマートバッテリー」の使用であるかもしれない。
【０００５】
さらに、モバイル無線機器は、通常、使用できる様々なバッテリーパックに関する情報を保持している。例えば、モバイル無線機器は、様々なバッテリーパックの充電／放電特性に関する情報を保持することができる。この情報は、荷電容量対電圧に関する情報を提供する参照テーブル（ＬＵＴ）の形式をとる場合がある。ＬＵＴの情報は、バッテリーの荷電容量情報を計算してモバイル無線機器の使用者に提示するために、モバイル無線機器によって使用されることが可能である。しかし、一旦モバイル無線機器が市場へ投入されると、モバイル無線機器と新しいバッテリーとの間の互換性を維持することが困難となる。なぜなら、モバイル無線機器に保存されたバッテリー情報は、これらの新しいバッテリーにとっては古い情報となるからである。各バッテリー型式はユニークな特性を備えており、そのような特性は、バッテリー・モニタリング・ソフトウェアにとって必要な知識である。モバイル無線機器と共に出荷されるバッテリー・モニタリング・ソフトウェアは、異なるバッテリーパックを識別でき、よってバッテリーパックを最大の充電レートで充電できるだけでなく、バッテリーパックのタイプに特有のバッテリー曲線を使用できなければならない。これらの点は、機器と共に出荷されるバッテリーを変更できるように、また、使用者が将来的にいかなる不具合も経験することなくバッテリーを変更できるように、必要な要件である。データの更新はソフトウェアのアップグレードを通じて実施可能であるが、使用者は、自身のモバイル無線機器の更新を行うことを煩わしいと思っている。
【発明の開示】
【課題を解決するための手段】
【０００６】
（概要）
ある態様では、本明細書で説明される実施態様の内の少なくとも一つにより、モバイル通信機器が提供され、このモバイル通信機器は、モバイル通信機器の動作を制御するための主プロセッサと；主プロセッサにつながれたデバイス・メモリであって、認証に用いられるセキュリティ情報の第一部分および第二部分を保存するように適合されたデバイス・メモリと；主プロセッサにつながれたスマートバッテリーであって、モバイル機器へ電力を供給するように適合されたスマートバッテリーと、を備える。このスマートバッテリーは：スマートバッテリーの動作を制御し、主プロセッサと通信するためのバッテリー・プロセッサと；バッテリー・プロセッサにつながれ、認証に用いられるセキュリティ情報の第三部分を含む情報を保存するように適合されたバッテリー・メモリと、を備えている。主プロセッサは、バッテリー・プロセッサへセキュリティ情報の第一部分を含む認証要求を送出するように構成されており、バッテリー・プロセッサは、セキュリティ情報の第一部分と第三部分とに基づいて応答を生成し、生成された応答を主プロセッサへ送出するように構成されており、生成された応答がセキュリティ情報の第二部分と一致する場合にスマートバッテリーが認証される。
【０００７】
セキュリティ情報の第一部分および第二部分は、セキュリティ情報の第三部分と異なる。
【０００８】
セキュリティ情報の第一部分は、事前計算済みチャレンジ（ｐｒｅ−ｃｏｍｐｕｔｅｄ  ｃｈａｌｌｅｎｇｅ）を含んでおり、情報の第二部分は、暗号化方法および秘密キーで事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の第三部分は、暗号化方法および秘密キーを含んでおり、暗号化方法および秘密キーは、スマートバッテリーにのみ保存される。
【０００９】
主プロセッサによって認証要求がなされた後、バッテリー・プロセッサは、事前計算済みチャレンジ、秘密キーおよび暗号化方法に基づいて応答を生成するように構成されており、その生成された応答が、デバイス・メモリに保存された対応する事前計算済み応答と一致する場合にスマートバッテリーが認証される。
【００１０】
デバイス・メモリに保存されたセキュリティ情報の第一部分および第二部分は、他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有のものであり得る。
【００１１】
スマートバッテリーの認証が失敗した場合、主プロセッサを、低電圧状態が存在する場合にスマートバッテリーを最小電荷容量まで充電させることができるように構成することができる。
【００１２】
あるいは、スマートバッテリーの認証が失敗した場合、主プロセッサを、モバイル機器が限られた時間にわたって動作を継続することができるように、かつスマートバッテリーの充電ができないように構成することができる。
【００１３】
セキュリティ情報の第一部分および第二部分の複数のセットをデバイス・メモリ上に保存することができ、主プロセッサを、セキュリティ情報の第一部分および第二部分の複数セットの一つ以上を用いてスマートバッテリーの認証を実行するように構成することができる。
【００１４】
主プロセッサおよびスマートバッテリーは、最大データ転送速度が約３００ビット／秒のデータ回線を介してつながれている。
【００１５】
もう一つの態様では、本明細書で説明される実施態様の内の少なくとも一つにより、スマートバッテリーを認証するための方法が提供され、この方法は、主プロセッサ、デバイス・メモリ、ならびにバッテリー・プロセッサおよびバッテリー・メモリを含むスマートバッテリーを含むモバイル通信機器で用いられる。この方法は：
認証に用いられるセキュリティ情報の第一部分および第二部分をデバイス・メモリ上に保存する工程と；
認証に用いられるセキュリティ情報の第三部分をバッテリー・メモリ上に保存する工程と；
主プロセッサからスマートバッテリーへ、認証要求およびセキュリティ情報の第一部分を送出する工程と；
スマートバッテリーにおいてセキュリティ情報の第一部分および第三部分に基づいて応答を生成し、生成された応答を主プロセッサへ送出する工程と；
主プロセッサにおいて生成された応答をセキュリティ情報の第二部分と比較し、生成された応答がセキュリティ情報の第二部分と一致する場合にスマートバッテリーを認証する工程と、を含んでいる。
【００１６】
セキュリティ情報の第一部分は、事前計算済みチャレンジを含んでおり、情報の第二部分は、暗号化方法および秘密キーでその事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の第三部分は、暗号化方法および秘密キーを含んでいる。
【００１７】
非認証の場合、方法は、非認証が主プロセッサとバッテリー・プロセッサとの間のデータ送信上のデータ送信エラーによるものではないことを確認するために、複数回にわたって認証を繰り返す工程を含むことができる。
【００１８】
方法は、他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有であるところのセキュリティ情報の第一部分および第二部分をデバイス・メモリに保存する工程を含むことができる。
【００１９】
スマートバッテリーの認証が失敗した場合、方法は、低電圧状態が存在する場合にスマートバッテリーを最小電荷容量まで充電させる工程を含むことができる。
【００２０】
スマートバッテリーの認証が失敗した場合、方法は、限られた時間にわたってモバイル通信機器の動作を継続させ、スマートバッテリーの充電をさせない工程を含むことができる。
【００２１】
方法は、デバイス・メモリ上にセキュリティ情報の第一部分および第二部分の複数のセットを保存し、セキュリティ情報の第一部分および第二部分のこれら複数セットの一つ以上を用いてスマートバッテリーの認証を実行する工程を含むことができる。
【００２２】
方法は、主プロセッサとスマートバッテリーとを、約３００ビット／秒の最大データ転送速度を有するデータ回線でつなぐ工程を含むことができる。
【００２３】
方法は、認証が失敗した場合にスマートバッテリーの充電を阻止する工程を含むことができる。
【００２４】
方法は、事前計算済みチャレンジを暗号化する工程を含むことができる。
【００２５】
方法は、事前計算済みチャレンジのための不規則な数字を生成する工程を含むことができる。
【００２６】
もう一つの態様では、本明細書で説明される実施態様の内の少なくとも一つにより、モバイル通信機器に用いられるスマートバッテリーを製造する方法が提供される。この製造方法は：
モバイル通信機器によるスマートバッテリーとの通信およびスマートバッテリーの認証を可能にするために、スマートバッテリー用の通信プロトコルおよびセキュリティ・プロトコルを指定する工程と；
スマートバッテリーを組み立てる工程と；
セキュリティ・プロトコルおよび通信プロトコルをスマートバッテリー上に実装する工程であって、スマートバッテリー内だけの安全なメモリに秘密キーおよび暗号化方法を保存する工程が含まれる工程と；
秘密キーおよび暗号化方法に対応するチャレンジおよび応答のペアをモバイル機器上に保存する工程と；
モバイル通信とスマートバッテリーとの間でセキュリティ・プロトコルおよび通信プロトコルを試験する工程と、を含んでいる。
【発明を実施するための最良の形態】
【００２７】
本明細書で説明される実施態様をより良く理解するために、また、それらがどのように実施されるかをより明確に示すために、ほんの一例として、例示的実施態様を示した添付の図面を参照する。
【００２８】
例示的実施態様に関するこれらおよびその他の特長については、以下でより詳細に説明される。
【００２９】
図示する際の簡潔さおよび明確さのために、必要に応じ、対応するまたは類似の要素または工程を示すのに図面間で参照番号を繰り返し使用する場合がある。加えて、本明細書で説明される例示的実施態様の完全な理解を促すために、具体的詳細を多数示している。しかし、そのような具体的詳細がなくとも本明細書で説明される実施態様を実現できることは、通常の技術を有する当業者であれば理解されるところである。他の場面では、本明細書で説明される実施態様が分かりにくくなるのを避けるために、公知の方法、手順および構成要素についての詳細な説明を行っていない。さらに、これらの記載内容を、いかなる態様においても、本明細書で説明される実施態様の範囲を限定するものとして理解してはならず、むしろ、本明細書で説明される様々な実施態様の実行についての単なる説明として理解されたい。さらに、バッテリーパックという用語は、一つ以上のバッテリーまたは電池（ｃｅｌｌ）を有するバッテリーパックを指すものである。
【００３０】
本明細書で説明される実施態様は、一般に、「スマートバッテリー」を用いるモバイル通信機器を対象とするデータ通信分野に適用できるものである。このスマートバッテリーとは、モバイル機器との情報伝達を可能にするバッテリー・プロセッサとその他関連回路を備えたバッテリーである。バッテリー・プロセッサとモバイル機器のプロセッサとの間では、様々なタイプの情報を伝達することができる。理解を促すために、本明細書の実施態様は、そのより詳細な説明において、主プロセッサと、バッテリー・インターフェースと、以下により詳細に説明されるバッテリー・プロセッサおよび関連電子装置を有するスマートバッテリーと、を備えたモバイル無線通信機器について説明される。しかし、当然のことながら、本明細書で説明される実施態様の構成および機能は、スマートバッテリーを充電するバッテリー充電器にも適用することができる。
【００３１】
一般に、実施態様では、以降モバイル機器として言及されるモバイル通信機器が使用される。このモバイル通信機器は、高度なデータ通信機能を有し、他のモバイル通信機器などの他の計算機器と無線または有線により通信する機能を備えた二方向通信機器である。モバイル機器は、送受信基地のネットワークを介して他の機器と通信することができる。モバイル機器が音声通信機能を有する場合もある。しかし、モバイル機器が提供する機能やモバイル機器の構成に応じて、その名称は、データ・メッセージング機器、データ・メッセージング機能付き携帯電話、無線式システム手帳、無線式インターネット製品、個人用デジタル情報端末、スマートフォン、携帯型無線通信装置（電話機能有りまたは電話機能無し）、無線によりイネーブルされるノート型コンピュータなど、様々である。
【００３２】
まず、図１を参照すると、そこに示されているのは、例示的一実施態様におけるモバイル機器１００のブロック図である。モバイル機器１００は多数の構成要素を備えており、制御を担当する構成要素は、モバイル機器１００の働き全般を制御する主プロセッサ１０２である。データおよび音声の通信を含む通信機能は、通信サブシステム１０４を通じて実行される。通信サブシステム１０４は、無線ネットワーク２００からメッセージを受信し、また、無線ネットワーク２００へメッセージを送信する。モバイル機器１００のある実現態様では、通信サブシステム１０４は、移動通信用グローバル・システム（ＧＳＭ）や汎用パケット無線システム（ＧＰＲＳ）の標準規格に従って構成されている。ＧＳＭ／ＧＰＲＳの無線ネットワークは、世界中で利用されている。利用可能なその他の標準規格には、エンハンスト・データＧＳＭ環境（ＥＤＧＥ）、ユニバーサル・モバイル・テレコミュニケーションズ・サービス（ＵＭＴＳ）、符号分割多重アクセス方式（ＣＤＭＡ）、そしてインテリジェント・デジタル・エンハンスト・ネットワーク（ｉＤＥＮＴＭ）が含まれる。新しい標準規格の定義は現在も続けられているが、それらは、本明細書で説明されるネットワーク挙動に対して類似性があると考えられており、本明細書で説明される実施態様において、将来的に開発されるその他適切な標準規格を利用できることは、当業者によって理解されるところである。通信サブシステム１０４を無線ネットワーク２００に接続する無線リンクは、一つまたはそれ以上の異なる無線周波数（ＲＦ）チャネルであり、ＧＳＭ／ＧＰＲＳ通信のために規定された確定プロトコルに従って機能している。より新しいネットワーク・プロトコルにより、これらのチャネルは、回線交換方式の音声通信およびパケット交換方式のデータ通信の双方をサポートすることが可能である。
【００３３】
ある実現態様では、モバイル機器１００に関連する無線ネットワーク２００はＧＳＭ／ＧＰＲＳ無線ネットワークであるが、他の実現態様では、モバイル機器１００に他の無線ネットワークを関連させることも可能である。異なるタイプの無線ネットワークのうち採用可能なものには、例えばデータ処理を中心とする無線ネットワーク、音声処理を中心とする無線ネットワーク、ならびに同一の物理的基地局を介して音声およびデータ双方の通信をサポートできるデュアルモード・ネットワークが含まれる。複合型のデュアルモード・ネットワークには、符号分割多重アクセス方式（ＣＤＭＡ）もしくはＣＤＭＡ２０００方式のネットワーク、ｉＤＥＮネットワーク、ＧＳＭ／ＧＰＲＳネットワーク（上述の通り）、ならびにＥＤＧＥやＵＭＴＳなどの将来型第三世代（３Ｇ）ネットワークが含まれるが、これらに限定されるものではない。データ処理を中心とするネットワークのその他の例としては、ＷｉＦｉ  ８０２．１１、ＭｏｂｉｔｅｘＴＭ、ＤａｔａＴＡＣＴＭなどのネットワーク通信システムが挙げられる。音声処理を中心とするネットワークのその他の例としては、ＧＳＭや時間分割多重アクセス（ＴＤＭＡ）などのパーソナル・コミュニケーション・システムズ（ＰＣＳ）ネットワークが挙げられる。
【００３４】
主プロセッサ１０２は、ランダム・アクセス・メモリ（ＲＡＭ）１０６、デバイス・メモリ１０８、表示装置１１０、予備入力／出力（Ｉ／Ｏ）サブシステム１１２、データ・ポート１１４、キーボード１１６、スピーカー１１８、マイクロフォン１２０、短距離通信装置１２２、その他のデバイス・サブシステム１２４などの付加的サブシステムとも相互に作用する。
【００３５】
モバイル機器１００のサブシステムのいくつかは通信関連の機能を実行するが、一方、その他のサブシステムは、「常駐の」または機器上の機能を提供することができる。一例として、表示装置１１０およびキーボード１１６は、ネットワーク２００を介した送信のためのテキスト・メッセージの入力などの通信関連機能、および計算機やタスク・リストなどの機器に常駐する機能の双方について、使用することができる。主プロセッサ１０２によって使用されるオペレーティング・システムのソフトウェアは、通常、デバイス・メモリ１０８などの永久記憶エリアに保存される。このデバイス・メモリは、読込専用メモリ（ＲＯＭ）または類似の記憶要素（図示されず）とすることができる。あるケースでは、デバイス・メモリ１０８をフラッシュメモリとすることができる。オペレーティング・システム、特定のデバイス・アプリケーション、またはそれらの一部をＲＡＭ１０６などの揮発性記憶エリアに一時的にロードできることは、当業者においては理解されるところである。
【００３６】
要求されるネットワーク登録または起動手順が完了した後は、モバイル機器１００は、無線ネットワーク２００を介して通信信号を送受信することができる。ネットワーク・アクセスは、加入者またはモバイル機器１００の使用者に割り当てられる。加入者の識別に関しては、ネットワーク通信を行うために、モバイル機器１００において、ＳＩＭ／ＲＵＩＭインターフェース１２８へのＳＩＭ／ＲＵＩＭカード１２６（すなわち、加入者識別モジュールまたはリムーバブル使用者識別モジュール）の挿入が求められる場合がある。したがって、ＳＩＭカード／ＲＵＩＭ１２６およびＳＩＭ／ＲＵＩＭインターフェース１２８は、もっぱらオプションである。
【００３７】
ＳＩＭカードまたはＲＵＩＭ１２６は、モバイル機器１００の加入者を識別するために、あるいは他の機器の中でモバイル機器１００を個人専用化するために用いることのできる、従来の「スマート・カード」の一形式である。ＳＩＭカード１２６がなければ、モバイル機器１００は、無線ネットワーク２００による通信を十分に実行することができない。ＳＩＭカード／ＲＵＩＭ１２６をＳＩＭ／ＲＵＩＭインターフェース１２８へ挿入することにより、加入者は、加入した全てのサービスにアクセスすることができる。サービスには、ウェブ閲覧や、電子メール、音声メール、ショート・メッセージ・サービル（ＳＭＳ）、マルチメディア・メッセージング・サービス（ＭＭＳ）などのメッセージングが含まれる場合がある。より進んだサービスには、販売時点管理、フィールド・サービス、およびセールス・フォース・オートメーションが含まれる場合がある。ＳＩＭカード／ＲＵＩＭ１２６は、プロセッサと情報保存のためのメモリとを備えている。一旦ＳＩＭカード／ＲＵＩＭ１２６がＳＩＭ／ＲＵＩＭインターフェース１２８へ挿入されると、ＳＩＭカード／ＲＵＩＭ１２６は主プロセッサ１０２と連動する。加入者を識別するために、ＳＩＭカード／ＲＵＩＭ１２６は、国際移動電話加入者識別番号（ＩＭＳＩ）などの使用者パラメータを含んでいる。ＳＩＭカード／ＲＵＩＭ１２６を用いることの利点は、加入者が必ずしも単一の物理的モバイル機器に拘束される必要はない、という点である。また、ＳＩＭカード／ＲＵＩＭ１２６には、メモ帳（またはカレンダー）情報や最近の発信に関する情報など、モバイル機器についての追加的加入者情報が保存される場合もある。あるいは、デバイス・メモリ１０８に使用者識別情報をプログラムすることも可能である。
【００３８】
モバイル機器１００はバッテリーを電源とする機器であり、スマートバッテリー１３０とのインターフェースのためのバッテリー・インターフェース１３２を備えることができる。この場合、バッテリー・インターフェース１３２は、バッテリー１３０によるモバイル機器１００への電力供給を支援する電源管理モジュール１３４とも連動する。また、主プロセッサ１０２は、情報共有のために、電源管理モジュール１３４とも連動することができる。しかし、別の実施態様では、スマートバッテリー１３０によるバッテリー・インターフェース１３２の実現が可能である；これらの両構成要素については、以下でより詳細に説明される。
【００３９】
主プロセッサ１０２は、そのオペレーティング・システムの機能に加え、モバイル機器１００上でのソフトウェア・アプリケーション１３６の実行を可能にする。データおよび音声通信アプリケーションなど、基本的機器操作を制御するソフトウェア・アプリケーション１３６の一部は、通常、製造時にモバイル機器１００にインストールされる。ソフトウェア・アプリケーション１３６には、電子メール・プログラム、ウェブ・ブラウザ、アタッチメント・ビューワーなどが含まれる場合がある。
【００４０】
モバイル機器１００には、さらに、機器状態モジュール１３８、アドレス帳１４０、個人情報管理部（ＰＩＭ）１４２、およびその他モジュール１４４が含まれる。機器状態モジュール１３８は持続性を提供することができる。すなわち、機器状態モジュール１３８により、重要な機器データがデバイス・メモリ１０８などの持続的メモリに保存され、よって、モバイル機器１００の電源が切られても、あるいは同機器が電源を喪失しても、データが失われないことが保証される。アドレス帳１４０は、使用者のために、連絡先リストに関する情報を提供することができる。アドレス帳の中の任意の一連絡先について、様々な情報の中でも特に、氏名、電話番号、勤務先住所、連絡用電子メール・アドレスなどの情報を含むことができる。その他モジュール１４４には、構成モジュール（図示されず）だけではなく、ＳＩＭ／ＲＵＩＭインターフェース１２８と関連して用いることのできるその他のモジュールも含まれる場合がある。
【００４１】
ＰＩＭ１４２は、加入者にとって興味深いデータ項目を整理および管理する機能を有する。これらのデータ項目は、電子メール、行事予定、音声メール、アポイントメント、タスク項目などであるが、これらに限定されるわけではない。ＰＩＭアプリケーションは、無線ネットワーク２００を介してデータ項目を送信および受信する能力を有する。ＰＩＭデータ項目は、無線ネットワーク２００を介して、ホストコンピュータ・システムでの保存および／または関連付けがなされたモバイル機器加入者の関連データ項目とシームレスに統合、同期および更新されてもよい。この機能により、それらの項目との関連で、モバイル機器１００上にホストコンピュータがミラーリングされる。この点は、当該ホストコンピュータがモバイル機器加入者のオフィスのコンピュータ・システムである場合、特に有利となり得るものである。
【００４２】
追加アプリケーションについては、無線ネットワーク２００、予備Ｉ／Ｏサブシステム１１２、データ・ポート１１４、短距離通信サブシステム１２２、その他適切なデバイス・サブシステム１２４の内の少なくとも一つを介して、モバイル機器１００へロードすることも可能である。アプリケーションのインストールにおけるこのようなフレキシビリティにより、モバイル機器１００の機能性が増大し、さらには、改善された機器機能や通信関連機能あるいはその両方を提供することができる。例えば、安全確実な通信アプリケーションにより、電子商取引やその他金融取引を、モバイル機器１００を用いて実行することを可能とすることができる。
【００４３】
データ・ポート１１４は、加入者が外部機器やソフトウェア・アプリケーションを通じて基本設定を行うことを可能とし、さらには、無線通信ネットワークを介することなしに情報やソフトウェアをモバイル機器１００へダウンロードすることにより、モバイル機器１００の機能を拡張する。この代替的ダウンロード経路は、安全確実な機器通信を提供するための直接的な、ひいては確実かつ信頼できる接続を通じて、例えば、暗号化キーをモバイル機器１００へロードするのに用いてもよい。
【００４４】
データ・ポート１１４は、モバイル機器１００ともう一つのコンピュータ・デバイスとの間のデータ通信を可能にする適切なポートであればどのようなものでもよい。データ・ポートは、シリアル・ポートでもパラレル・ポートでもよい。ある事例では、データ・ポート１１４は、データ転送のためのデータ回線と、モバイル機器１００を充電するための充電電流を提供することのできる供給線と、を含むＵＳＢポートであってもよい。
【００４５】
短距離通信サブシステム１２２は、無線ネットワーク２００を使用することなしに、モバイル機器１００と別のシステムまたは機器との間の通信を提供する。例えば、サブシステム１２２には、短距離通信のための赤外線装置や関連する回路および構成要素が含まれる場合がある。短距離通信の標準規格の例には、赤外線通信協会（ＩｒＤＡ）によって開発された規格、ブルートゥース、そして、ＩＥＥＥによって開発された８０２．１１規格ファミリーが含まれる。
【００４６】
使用においては、テキスト・メッセージ、電子メール・メッセージ、あるいはウェブページのダウンロードのような受信信号は、通信サブシステム１０４によって処理され、主プロセッサ１０２へ入力される。そうして、主プロセッサ１０２は、当該受信信号を処理し、表示装置１１０あるいは代替的に予備Ｉ／Ｏサブシステム１１２への出力を得る。また、加入者は、表示装置１１０や、場合によっては予備Ｉ／Ｏサブシステム１１２と連動しながらキーボード１１６を用いて、例えば、電子メール・メッセージなどのデータ項目を作成することもできる。予備サブシステム１１２には、タッチスクリーン、マウス、トラックボール、赤外線指紋検出器、動的ボタン押し機能を備えたローラー・ホイールなどのデバイスが含まれる場合がある。キーボード１１６は、英数字キーボードおよび／またはテレフォン式キーパッドであることが好ましい。しかし、その他のタイプのキーボードも使用することができる。作成された項目は、通信サブシステム１０４を通じ、無線ネットワーク２００を介して送信することができる。
【００４７】
音声通信に関しては、モバイル機器１００の全般的な働きは、受信信号がスピーカー１１８へ出力される点、および送信用信号がマイクロフォン１２０によって生成される点を除き、実質的に類似している。音声メッセージ録音サブシステムのような代替的な音声またはオーディオＩ／Ｏサブシステムについても、それらをモバイル機器１００上に実装することができる。音声またはオーディオ信号の出力は主にスピーカー１１８を通じて行われるが、発呼者の身元、音声コールの継続時間、その他音声コールに関連する情報などの追加情報を提供するために、表示装置１１０を用いることも可能である。
【００４８】
次に図２を参照すると、図１の通信サブシステム構成要素１０４の例示的実施態様のブロック図が示されている。通信サブシステム１０４は、受信器１５０および送信器１５２、さらには、一つ以上の内蔵型または内部アンテナ素子１５４、１５６、局部発振器（ＬＯ）１５８、無線通信用通信プロセッサ１６０などの関連構成要素を具備している。通信プロセッサ１６０はデジタル信号プロセッサ（ＤＳＰ）でもよい。通信サブシステム１０４の詳しい設計が、モバイル機器１００の使用が意図されている通信ネットワークに依存する場合があることは、通信分野の当業者においては明白なところである。したがって、当然のことながら、図２に図示されている設計は例示的なものである。
【００４９】
無線ネットワーク２００を介し、アンテナ１５４によって受信された信号は、信号増幅、周波数ダウン・コンバージョン、フィルタリング、チャネル選択、アナログデジタル（Ａ／Ｄ）変換などの一般的な受信器機能を実行できる受信器１５０へ送られる。受信信号のＡ／Ｄ変換により、復調や復号などのより複雑な通信機能を通信プロセッサ１６０によって実行することが可能となる。同様に、送信信号については、通信プロセッサ１６０によって変調や符号化などの処理が行われる。これらの処理された信号は送信器１５２へ送られ、デジタルアナログ（Ｄ／Ａ）変換、周波数アップ・コンバージョン、フィルタリング、増幅、そしてアンテナ１５６を介した無線ネットワーク２００上への送信が行われる。通信プロセッサ１６０は、通信信号を処理するだけでなく、受信器および送信器の制御も行う。例えば、受信器１５０および送信器１５２の内部で通信信号に適用されるゲインは、通信プロセッサ１６０で実行される自動ゲイン制御アルゴリズムを通じて適応制御することができる。
【００５０】
モバイル機器１００と無線ネットワーク２００との間の無線リンクには、一つ以上の異なるチャネル、典型的には異なるＲＦチャネル、ならびにモバイル機器１００と無線ネットワーク２００との間で用いられる関連プロトコルが含まれる場合がある。ＲＦチャネルは、主として全体的な帯域幅の制限やモバイル機器１００の有限のバッテリー電源によって節約しなければならない有限のリソースである。
【００５１】
モバイル機器１００が完全に機能している場合、通常、送信器１５２は、無線ネットワーク２００への送信時のみ機能するかあるいは電源が入れられ、それ以外はリソースの節約のために電源が切られる。同様に、受信器１５０は、（仮に指定された時間枠の定めがある場合）そのような時間枠において信号または情報を受信する必要が生じるまで、電源の節約のために定期的に電源が切られる。
【００５２】
次に図３を参照すると、無線ネットワーク２００のノードの例示的実施態様のブロック図が２０２として示されている。実際には、無線ネットワーク２００は一つ以上のノード２０２を含んでいる。モバイル機器１００はノード２０２と通信する。図３の例示的実現態様では、ノード２０２は、汎用パケット無線システム（ＧＰＲＳ）および移動用グローバル・システム（ＧＳＭ）技術に従って構成される。ノード２０２には、関連するタワー局２０６を有する基地局制御部（ＢＳＣ）２０４、ＧＳＭにおけるＧＰＲＳサポートのために追加されたパケット制御ユニット（ＰＣＵ）２０８、モバイル交換センター（ＭＳＣ）２１０、ホーム位置レジスタ（ＨＬＲ）２１２、ビジター位置レジストリ（ＶＬＲ）２１４、サービス用ＧＰＲＳサポート・ノード（ＳＧＳＮ）２１６、ゲートウェイ用ＧＰＲＳサポート・ノード（ＧＧＳＮ）２１８、そして、動的ホスト構成プロトコル（ＤＨＣＰ）２２０が含まれる。この構成要素のリストは、ＧＳＭ／ＧＰＲＳネットワークにおける各ノード２０２の構成要素の網羅的リストを意図したものではなく、むしろ、無線ネットワーク２００を通じた通信において用いることのできる構成要素のリストである。
【００５３】
ＧＳＭネットワークにおいては、ＭＳＣ２１０は、回線交換要件を満足させるために、ＢＳＣ２０４と、さらには、公衆交換電話網（ＰＳＴＮ）２２２などの有線ネットワークとつながれる。ＰＣＵ２０８、ＳＧＳＮ２１６およびＧＧＳＮ２１８を介したパブリックまたはプライベートのネットワーク（インターネット）２２４（ここでは、一般に、共有ネットワーク・インフラストラクチャーとも言及される）への接続は、ＧＰＲＳの機能を有するモバイル機器のためのデータパスを意味している。ＧＰＲＳ機能によって拡張されたＧＳＭネットワークにおいては、ＢＳＣ２０４は、セグメンテーションや無線チャネル割当を制御するために、また、パケット交換要件を満足させるために、ＳＧＳＮ２１６と接続するパケット制御ユニット（ＰＣＵ）２０８も含んでいる。回線交換管理およびパケット交換管理の両方に対するモバイル機器の位置および可用性を追跡するために、ＨＬＲ２１２は、ＭＳＣ２１０とＳＧＳＮ２１６との間で共有される。ＶＬＲ２１４へのアクセスは、ＭＳＣ２１０によって制御される。
【００５４】
局２０６は、固定の送受信局である。局２０６およびＧＳＣ２０４は共に、固定の送受信設備を形成する。この固定送受信設備は、一般に「セル」と称される特定のカバレージ・エリアのための無線ネットワーク・カバレージを提供する。この固定送受信設備は、当該セル内において、局２０６を介し、モバイル機器へ通信信号を送信し、また、モバイル機器から通信信号を受信する。通常、固定送受信設備は、モバイル機器１００へ送信される信号の変調、場合によっては、その符号化および／または暗号化などの機能を実行する。これは、通常は予め定められた特定の通信プロトコルおよびパラメータに従って、その制御部の制御を受けながら実行される。同様に、固定送受信設備は、当該セル内において、モバイル機器１００から受信される通信信号を復調し、場合によっては、必要に応じ、同信号の復号および解読を行う。通信プロトコルおよびパラメータは、異なるノード間で異なる場合がある。例えば、あるノードは、他のノードとは異なる変調方式を採用している場合があり、異なる周波数で機能している場合がある。
【００５５】
特定のネットワークにおいて登録された全てのモバイル機器１００に関し、使用者プロフィールなどの恒久的なコンフィギュレーション・データは、ＨＬＲ２１２に保存される。また、ＨＬＲ２１２は、登録された各モバイル機器に関する位置情報も収容しており、モバイル機器の現在位置を確定するために、クエリを実行することができる。ＭＳＣ２１０は、グループ化された複数の位置エリアを管轄し、その管轄エリア内に現在するモバイル機器のデータをＶＬＲ２１４に保存する。さらに、ＶＬＲ２１４は、他のネットワークに入っているモバイル機器に関する情報も収容する。ＶＬＲ２１４内の情報には、より早いアクセスのためにＨＬＲ２１２からＶＬＲ２１４へ送られる恒久的モバイル機器データの一部が含まれる。遠隔位置にあるＨＬＲ２１２ノードからＶＬＲ２１４へ追加情報を移すことにより、これらノード間のデータ転送量を減少させ、よって、より早い応答時間で音声サービスおよびデータ・サービスを提供することができ、同時に計算リソースの使用量の低減が可能となる。
【００５６】
ＳＧＳＮ２１６およびＧＧＳＮ２１８は、ＧＳＭにおいて、ＧＰＲＳのサポート用、すなわちパケット交換データのサポート用に加えられた要素である。ＳＧＳＮ２１６およびＭＳＣ２１０は、各モバイル機器１００の位置を追跡することにより、無線ネットワーク２００内において同様の役割を演ずる。また、ＳＧＳＮ２１６は、無線ネットワーク２００上のデータ通信に関わるセキュリティ機能やアクセス制御も実行する。ＧＧＳＮ２１８は、外部のパケット交換ネットワークとのインターネットワーキング接続を提供し、ネットワーク２００内で機能するインターネット・プロトコル（ＩＰ）基幹ネットワークを介して一つ以上のＳＧＳＮ２１６と接続する。通常の運用では、あるモバイル機器１００は、ＩＰアドレスを取得し、データ・サービスにアクセスするために、「ＧＰＲＳアタッチ」を実行しなければならない。この要件は、回線交換音声チャネルには存在しないが、これは、出入りするコールのルーティングのために総合デジタル通信網（ＩＳＤＮ）のアドレスが使用されるからである。現行では、ＧＰＲＳが可能な全てのネットワークは、プライベートかつ動的に割り当てられたＩＰアドレスを使用しており、したがってＤＨＣＰサーバー２２０のＧＧＳＮ２１８への接続が求められる。動的ＩＰアドレスの割り当てに関しては数多くのメカニズムが存在し、これには、遠隔認証ダイアルイン・ユーザー・サービス（ＲＡＤＩＵＳ）サーバーとＤＨＣＰサーバーとの組合せの利用などが含まれる。一旦ＧＰＲＳアタッチが完了すると、ＰＣＵ２０８およびＳＧＳＮ２１６を通じて、モバイル機器１００からＧＧＳＮ２１８内のアクセス・ポイント・ノード（ＡＰＮ）へ向かって論理結合が確立される。ＡＰＮは、直接的インターネット互換サービスまたはプライベート・ネットワーク接続のいずれかにアクセスすることのできるＩＰトンネルの論理端を意味している。また、各モバイル機器１００が一つ以上のＡＰＮに割り当てられることが求められ、かつ、モバイル機器１００は、使用が承認されているＡＰＮに対するＧＰＲＳアタッチを最初に実行しなければデータ交換を実行できない限りにおいて、ＡＰＮは、無線ネットワーク２００のためのセキュリティ・メカニズムでもある。ＡＰＮは、「ｍｙｃｏｎｎｅｃｔｉｏｎ．ｗｉｒｅｌｅｓｓ．ｃｏｍ」のような、インターネットのドメイン名に類似するものと考えてもよい。
【００５７】
一旦ＧＰＲＳアタッチが完了すると、トンネルが造られ、全てのデータ転送は、ＩＰパケットでサポート可能なプロトコルを用いつつ、標準的ＩＰパケットで交換される。これには、仮想プライベート・ネットワーク（ＶＰＮ）で用いられるインターネット・プロトコル・セキュリティ（ＩＰｓｅｃ）接続の場合のように、アイピー・オーバー・アイピーなどのトンネル手法が含まれる。また、これらのトンネルは、パケット・データ・プロトコル（ＰＤＰ）のコンテキストとしても言及され、無線ネットワーク２００で使用できるこれらの数には制限がある。ＰＤＰコンテキストの使用を最大化するために、無線ネットワーク２００は、各ＰＤＰコンテキストについてアイドル・タイマーを実行し、活動状態の有無を確定する。モバイル機器１００がそのＰＤＰコンテキストを使用していない場合、当該ＰＤＰコンテキストの割り当てを解除し、ＩＰアドレスをＤＨＣＰサーバー２２０によって管理されるＩＰアドレス・プールへ返還することが可能である。
【００５８】
次に図４を参照すると、そこに図示されているのは、モバイル機器１００で用いることのできるスマートバッテリー１３０の例示的実施態様のブロック図である。スマートバッテリー１３０には、バッテリー・プロセッサ２５２、バッテリー・メモリ２５４、バッテリー・インターフェース２５６、スイッチおよび防護回路２５８、アナログデジタル変換器（図示されず）を含む計測回路２６０、そしてバッテリー・モジュール２６２が含まれる。バッテリー・モジュール２６２には、一つ以上のバッテリーが含まれ、それらは、通常、再充電可能である。バッテリーは、ニッケル−カドミウム、リチウム−イオン、その他適切な複合材料などから製作することができる。ある実現形態では、バッテリー・プロセッサ２５２として、米国アリゾナ州にあるＭｉｃｒｏｃｈｉｐ  ｏｆ  Ｃｈａｎｄｌｅｒ社が製造するＰＩＣ１０Ｆ２０２を用いることが可能である。これらのケースでは、バッテリー・プロセッサ２５２上の単一の汎用入力／出力（ＧＰＩＯ）ピンを主プロセッサ１０２へ接続することが可能であり、そうすることで、主プロセッサ１０２からの命令の受領や主プロセッサ１０２へのデータ提供が行われる。
【００５９】
バッテリー・プロセッサ２５２は、スマートバッテリー１３０の働きを制御し、バッテリー・インターフェース２５６を介して主プロセッサ１０２と通信することができる。バッテリー・プロセッサ２５２には、レジスタ、スタック、カウンター、ウォッチドッグ・タイマー、そして、当業者には知られているように、プロセッサによって一般的に使用されるその他構成要素（全てが図示されているわけではない）が含まれる。また、バッテリー・プロセッサ２５２には、クロック（図示されず）を含めることも可能である。スマートバッテリー１３０は、バッテリー・メモリ２５４に情報を保存することができる。バッテリー・メモリ２５４は、揮発性メモリと不揮発性メモリとの組合せとしてもよい。
【００６０】
計測回路２６０は、バッテリー電流、バッテリー電圧、バッテリー温度など、バッテリー・モジュール２６２の働きに関連する一定のデータを読み取るために、スマートバッテリー１３０による使用が可能である。これらの計測結果を用いて、バッテリー・モジュール２６２に残存する電荷容量を正確に見積もることができる。これらの計測を行うために、計測回路２６０には、アナログデジタル変換器（ＡＤＣ）（図示されず）が含まれる。代替的な実施態様では、計測回路２６０の機能を実行するための回路をモバイル機器１００に含めることができるため、計測回路２６０をオプションとすることができる。
【００６１】
スイッチおよび防護回路２５８は、スマートバッテリー１３０を防護するために用いることができる。スイッチおよび防護回路２５８は、回路遮断器のように機能できるものであり、バッテリー・プロセッサ２５２または主プロセッサ１０２によってある一定の状況下で作動させ、スマートバッテリー１３０がその使用に際して損傷しないことを保証することができる。例えば、スイッチおよび防護回路２５８には、バッテリー・モジュール２６２の温度が高くなり過ぎた際にスマートバッテリー１３０の機能を無効にする温度ブレーカを含めることができる。また、温度ブレーカは、他の防護回路が故障した場合に、高電流負荷の状況下においてスマートバッテリー１３０を切り離すこともできる。また、スイッチおよび防護回路２５８は、短絡、低電圧状態、超過電圧による充電、バッテリー１３０に印加される逆極性などに対する防護としても機能することができる。したがって、スイッチおよび防護回路２５８は、バッテリー・モジュール２６２の充電、放電またはプレ充電の際に、また、バッテリー・セルのバランシングに際して、使用することもできる。追加の防護回路をバッテリー・インターフェース１３２に含めることができる。
【００６２】
バッテリー・モジュール２６２は、バッテリー・プロセッサ１３０に電源を供給し、バッテリー・プロセッサ１３０は、システム電力バスを介するなど当業者に一般的に知られている接続を用いながら、バッテリー・インターフェース２５６を経由して主プロセッサ１０２に電源を供給する。バッテリー・インターフェース２５６と同じ機能を提供するバッテリー・インターフェース１３２がモバイル機器１００に含まれるならば、バッテリー・インターフェース２５６はオプションである。この例示的実施態様の説明の残りの部分については、バッテリー・インターフェース１３２は存在しないこと、および、スマートバッテリー１３０はバッテリー・インターフェース２５６を提供していることが仮定される。ただし、その他の実施態様においてもそうである必要はない。
【００６３】
次に図５Ａを参照すると、そこに図示されているのは、主プロセッサ１０２をスマートバッテリー１３０につなぐのに用いることのできるバッテリー・インターフェース２５６の一部分の例示的実施態様の模式図である（供給電力接続は図示されていない）。バッテリーの識別（すなわち、型式、製造者、等々）のための従来的方法では、関連バッテリーＩＤデータ回線を備えた従来型バッテリーパック内のバッテリー識別抵抗器のみが用いられる。同様に、バッテリー・インターフェース２５６は、単一の通信回線３０２を介して、主プロセッサ１０２をスマートバッテリー１３０のＳＭＡＲＴ＿ＢＡＴバッテリー・データ回線につなぐ。ＳＭＡＲＴ＿ＢＡＴバッテリー・データ回線は、スマートバッテリー１３０上の入力／出力ピンに接続される。しかし、スマートバッテリー１３０は、ホスト・プロセッサと通信するように構成される。このホスト・プロセッサは、バッテリーＩＤ抵抗器を有するバッテリーパックと共に機能するか、あるいは、以下により詳細に説明されるように、スマートバッテリーと共に機能するものである。
【００６４】
バッテリー・インターフェース２５６は、主プロセッサ１０２とバッテリー・プロセッサ２５２との間の通信のための単一の通信回線３０２を有するので、また、主プロセッサ１０２は、バッテリー・プロセッサ２５２へデータを送信したり、バッテリー・プロセッサ２５２からデータを受信したりするので、通信回線３０２は、半二重通信回線として構成することができる。半二重通信回線を使用することにより、主プロセッサ１０２とバッテリー・プロセッサ２５２との間により多くの通信回線を準備することの必要性が軽減される。
【００６５】
作動中のある瞬間において、データは、半二重通信回線を一方向に流れる。したがって、通信回線３０２は、主プロセッサ１０２上の送信ピン３０４および受信ピン３０６の両方に接続される。あるケースでは、主プロセッサ１０２上の送信ピン３０４および受信ピン３０６は、ＵＡＲＴ送受信ポート／ピンと共に実装することができる。主プロセッサ１０２は、通常使用においてはＵＡＲＴインターフェースを用いるが、送信ピン３０４上での送信中は受信ピン３０６を無視する。
【００６６】
さらに、半二重通信では、ある瞬間において、主プロセッサ１０２およびバッテリー・プロセッサ２５２のいずれか一方のみが通信していることが求められる。この要件は、プロセッサ１０２および２５２の一方をマスターとし、他方をスレーブとすることにより達成することができる。一般に、主プロセッサ１０２がマスターであり、バッテリー・プロセッサ２５２がスレーブである。
【００６７】
ある実現態様では、スマートバッテリー１３０は、エネルギーを節約するために、自動的に可能な限りの最低電力状態で作動する。これは、スマートバッテリー１３０にスリープ・モードに入るよう命令するためにスマートバッテリー１３０に接続される主プロセッサが必ずしも存在しない場合があるからでもある。これらの問題を取り扱うために、ある実現態様では、全システム・リセット／スリープ・メカニズムとしてバッテリー・プロセッサ２５２のウォッチドッグ・タイマーを用いることにより、低電力消費および信頼性を実現することができる。しかし、符号化のエラーにより、クリアされたウォッチドッグ・タイマーの命令がループにコールされる状態に至る可能性があるため、ウォッチドッグ・カウントダウン・タイマーはリセットされるべきではない。ウォッチドッグ・タイマーのカウンターがゼロになった際、モバイル機器１００はリセットされ、モバイル機器１００は再起動する。しかし、ウォッチドッグ・タイマー／カウンターよりも長い時間を要する操作を実行すべき場合、当該操作が完了すること、そしてモバイル機器１００が再起動しないことを保証するために、少なくとも一回ウォッチドッグ・タイマーをリセットすることができる。
【００６８】
バッテリー・インターフェース２５６は、通信回線３０２上の静電放電（ＥＳＤ）から主プロセッサ１０２を防護するための防護回路も含んでいる。ある実現態様では、防護回路をＲＣネットワークとすることができる。図５Ａの例示的実施態様では、ＥＳＤ防護を提供するためのＲＣネットワークには抵抗器Ｒ３とコンデンサＣ１が含まれる。抵抗器Ｒ２はプルアップ抵抗器として使用することができる。抵抗器Ｒ２の第一ノードは送信ピン３０４に接続され、抵抗器Ｒ２の第二ノードは受信ピン３０６に接続される。抵抗器Ｒ３の第一ノードは抵抗器Ｒ２の第二ノードに接続され、抵抗器Ｒ３の第二ノードはコンデンサＣ１の第一ノードに接続される。コンデンサＣ１の第二ノードは接地される。例示的実現態様では、抵抗器Ｒ２の抵抗値を１ｋΩ、抵抗器Ｒ３の抵抗値を１５０ｋΩ、そしてコンデンサＣ１の静電容量を１５ｐＦとすることができる。抵抗器Ｒ２の値は、バッテリー・データ回線（以下で説明される）のために選択されたＥＳＤネットワークに依存する。抵抗器Ｒ２は、主プロセッサ１０２が受信モードで作動している際に、プルアップ抵抗器として機能することができる。この例示的実施態様では、送信ピン３０４上の出力電圧は、モバイル機器１００によって使用される通信チップセットに応じて、２．８Ｖまたは２．６Ｖとすることができる。ＣＤＭＡチップセットの場合、２．６Ｖを使用することができる。
【００６９】
防護回路のためにＲＣネットワークを使用することにより、通信回線３０２上のデータ転送速度が遅くなる。この例示的実現態様では、データ転送速度は、最大で約３００ビット／秒である。しかし、データ転送速度にとって３００ビット／秒という限界値はセキュリティの観点から見て有益となり得るものである。これは、遅いデータ転送速度の場合、第三者がスマートバッテリー１３０に保存されたセキュリティ・アルゴリズムを「不正取得」するのに、より多くの時間を要することになるからである。ある実施態様では、暗号化アルゴリズム（すなわち、暗号化手法）がバッテリー・プロセッサ２５２によって実行される場合、暗号化アルゴリズムを実行するのにより多くの時間を要するように当該アルゴリズムの計算の複雑さを調整することができ、そうすることによってもハッキングを抑止できる。
【００７０】
あるケースでは、バッテリー・プロセッサ２５２をオープンドレイン・デバイスとして機能するように構成することができ、プルアップ抵抗器を主プロセッサ１０２と共に使用することができる。これは、Ｖｃｃ電圧レベル、そしてバッテリー・プロセッサ２５２上の出力ドライブ電圧が、主プロセッサ１０２の送受信ピン３０４および３０６の定格電圧を超える可能性があるからである。この状況は、バッテリー・プロセッサ２５２が、トリステート・バッファを起動する（すなわち、オープンドレインとして機能する）のとは対照的に、高出力信号を駆動する場合に発生する可能性がある。送信回線３０４は、高状態でアイドリングするため、プルアップ抵抗器（すなわち、抵抗器Ｒ２）は、主プロセッサ１０２の送受信ピンの間に配置することができる。
【００７１】
あるいは、従来型のバッテリーパックが用いられる場合、バッテリーＩＤ抵抗値は、ＳＭＡＲＴ＿ＢＡＴ回線上の通信によって取得することができる。したがって、バッテリーＩＤ抵抗器をスマートバッテリー１３０へ組み込むことによっても、スマートバッテリー１３０は、バッテリーＩＤ抵抗器を有するバッテリーパックを用いるように製造されたモバイル機器との互換性を有するようになり、また、スマートバッテリーを用いるように製造されたモバイル機器との互換性を有するようになる。なお、バッテリーＩＤ抵抗器はスマートバッテリー１３０内に含まれる（図５Ｃ参照）。
【００７２】
異なる電荷容量を有する異なるバッテリーによる作動を促進するために、例えば、スマートバッテリー１３０については式１および式２、主プロセッサ１０２については式３および式４に示されるように、電圧および電流に関する最大および最小の論理レベルを定義することができる。
【００７３】
Ｖｉｈ＝０．２５＊Ｖｄｄ＋０．８Ｖ    （１）
Ｖｉｌ＝０．１５＊Ｖｄｄ    （２）
Ｖｉｌ〜＝０．３＊（ＧＰＩＯ  Ｖｄｄ）    （３）
Ｖｉｈ〜＝０．７＊（ＧＰＩＯ  Ｖｄｄ）    （４）
例えば、終端電圧が４．４Ｖ（すなわち、Ｖｄｄ＝４．４Ｖ）のスマートバッテリーを考えた場合、Ｖｉｈ（ｍａｘ）＝１．９ＶおよびＶｉｌ（ｍａｘ）＝０．６６Ｖである。さらに、送受信ピン３０４、３０６上のＶｄｄがそれぞれ２．８Ｖおよび２．６Ｖで作動する主プロセッサを考えた場合、Ｖｉｌ（ｍｉｎ）＝０．７８ＶおよびＶｉｈ（ｍａｘ）＝１．９６Ｖである。
【００７４】
次に図５Ｂを参照すると、そこに図示されているのは、モバイル機器１００内で主プロセッサ１０２をスマートバッテリー１３０につなぐのに用いることのできるもう一つのバッテリー・インターフェース３５０の例示的実施態様の模式図である。このケースでは、バッテリー・インターフェース３５０には、バッテリー・インターフェース２５６で用いられたものに類似するＲＣネットワーク、ならびに二つのトリステート・バッファ３５４および３５６が含まれる。電源管理モジュール１３４は、入力ピン３５８を介してスマートバッテリー１３０のＳＭＡＲＴ＿ＢＡＴバッテリー・データ回線に接続される。
【００７５】
トリステート・バッファは、論理レベルが高または低である信号を通過させることができ、制御入力の値に応じて出力から入力を切断することができる。トリステート・バッファ３５４の入力ノードは主プロセッサ２５２の送信ピン３０４に接続され、トリステート・バッファ３５４の出力ノードは、抵抗器Ｒ２を介して通信回線３０２に接続される。トリステート・バッファ３５６の入力ノードは通信回線３０２に接続され、トリステート・バッファ３５６の出力ノードは主プロセッサ１０２の受信ピン３０６に接続される。主プロセッサ１０２は、バッファ３５４の機能の無効化および有効化のためのＴＸ＿ＥＮＡＢＬＥピンも含み、バッファ３５４の制御入力に接続される。この例示的実現態様では、両トリステート・バッファ３５４および３５６は、論理低信号でその機能を有効化できる。さらに、ある実現態様では、トリステート・バッファ３５６の機能を常に有効化することができる；この点については、以下により詳細に説明する。したがって、トリステート・バッファ３５６の制御入力を接地することができる。
【００７６】
スマートバッテリー１３０が取り外されたか否かを電源管理モジュール１３４が検出する場合、トリステート・バッファ３５４および３５６をスマートバッテリー１３０と共に用いることができる。バッテリーＩＤ抵抗器を備えたバッテリーパックが使用される場合、図５Ａに示される実施態様においてバッテリー取外しの検出は問題とはならない。なぜならば、１０μＡのような電流は、バッテリーＩＤ抵抗器（図示されず）を通じて調達することができるからである。よって、結果的に生ずる電圧低下を測定することができ、モバイル機器１００に依然としてバッテリーパックが取り付けられているか否かが決定される。バッテリー取外しの確認は様々な状況下で行われるが、その内の一つは、モバイル機器１００がバッテリーを再充電している場合である。
【００７７】
バッテリーの取外しを検出するために、代わりの実施態様を用いることもできる。例えば、コンパレータ回路（図示されず）をＳＭＡＲＴ＿ＢＡＴデータ回線に接続することができる。コンパレータ回路は、主プロセッサ１０２からは独立して動作することができ、バッテリーが取り外された際にリセット・パルスを生成し、このパルスを主プロセッサ１０２へ送信することができる。コンパレータの閾値は、ＧＰＩＯレーティングで２．８／３．０Ｖ未満とすることができ、クランピングは問題とはならない。ある実施態様では、スマートバッテリー１３０内のサーミスタ（図示されず）を連続してポーリングすることができる。これは、主プロセッサ１０２上のＵＡＲＴピンから分離された接続によって行うことができ、したがって、送信ピン３０４および受信ピン３０６の電圧クランピングは問題とはならない。ポーリングは、主プロセッサ１０２以外の他のプロセッサによって行うことができる。
【００７８】
スマートバッテリーであれば、バッテリーＩＤをバッテリー・メモリ２５４に保存することができ、バッテリー・プロセッサ２５２は、この情報を主プロセッサ１０２へ送ることができる。これにより、スマートバッテリー１３０をソフトウェアによって認証し、当該スマートバッテリー１３０が偽造バッテリーではないことを保証することができる。認証プロセスの一部では、スマートバッテリー１３０がモバイル機器１００へ挿入される度毎に、または、モバイル機器１００の電源が入れられる度毎に、バッテリーＩＤの取得が実行される。それ以外は、通常、認証プロセスは繰り返されない。
【００７９】
しかし、少なくともある実施態様では、スマートバッテリー１３０は、バッテリー・メモリ２５４にバッテリーＩＤを保存することができ、また、バッテリー識別（ＩＤ）抵抗器を含むこともできる。これにより、スマートバッテリー１３０を、バッテリーＩＤ抵抗器を探すだけのモバイル機器と後方互換（ｂａｃｋｗａｒｄ  ｃｏｍｐａｔｉｂｌｅ）することができる。スマートバッテリー１３０は、バッテリーＩＤを取得するためにバッテリー・プロセッサ２５２と通信するモバイル機器とも互換性がある。両バッテリー・インターフェース２５６および３５０とも、バッテリーＩＤ抵抗器の測定を、さらには、主プロセッサ１０２とバッテリー・プロセッサ２５２との間の通信をサポートする。バッテリー・インターフェース２５６および３５０で用いられる構成要素により、ＥＳＤ防護も提供される。バッテリー１３０の存在を検出するために、バッテリーＩＤ抵抗器を用いることもできる。
【００８０】
電源管理モジュール１３４は、バッテリー１３０が依然としてモバイル機器１００に接続されているか否かについて、独立してチェックすることができる。この特長は、割込みを用いて実行することができる。これは、通常、バッテリー１３０が充電されている最中に行われる。あるケースでは、バッテリーの取外しを検出するために、電源管理モジュール１３４がバッテリーＩＤ抵抗器に電流を流し、バッテリーＩＤ抵抗器における電圧が測定される。この電流は、１０μＡのオーダーとなる場合がある。電源管理モジュール１３４は、この電圧を、電源管理モジュール１３４内のアナログ／デジタル変換器（図示されず）に接続されている入力３５８を介して測定する。このプロセスの間、電源管理モジュール１３４は、スマートバッテリー１３０の存在を直接に感知し、電源管理モジュール１３４と主プロセッサ１０２との間を接続する必要はない。さらに、このとき、主プロセッサ１０２とスマートバッテリー１３０との間を接続する必要はない。したがって、あるケースでは、トリステート・バッファ３５４の機能を無効化することができる。バッファ３５４の機能の有効化／無効化は、ある一定のタイミングで（すなわち、バッテリーの挿入時など）実施することができ、バッテリー通信との干渉を起こさないように、電源管理モジュール１３４内の電流源（図示されず）を制御することができる。
【００８１】
主プロセッサ１０２、バッテリー・プロセッサ２５２、および電源管理モジュール１３４が異なる電力レベルで作動できる事例が考えられる。したがって、ある一定の場合にバッテリー・プロセッサ２５２によって用いられるより高い電圧レベルから主プロセッサ１０２を防護するために、図５Ｂの実施態様を用いることができる。例えば、スマートバッテリー１３０が取り外された場合、ＳＭＡＲＴ＿ＢＡＴデータ回線上の電圧は、４Ｖを超える閾値以上に上昇する。バッテリーの取外しがスマートバッテリー１３０の充電中に行われる場合、リセットおよび再起動するようにモバイル機器１００を構成することができる。しかし、送信ピン３０４および受信ピン３０６は、このような高電圧を受け入れることができないかもしれない。これは、ある実現態様では、送信ピン３０４および受信ピン３０６は、それぞれ３．０／２．８Ｖの入力／出力電圧に対する定格のみを有し、バッテリーの取外しの検出用に電源管理モジュール１３４によって通常用いられる４Ｖを超える電圧をパスする代わりに、入力電圧を３．０／２．８Ｖにクランプするからである。バッファ３５４および３５６の特定の実現態様を選択し、主プロセッサ１０２とバッテリー・プロセッサ２５２と電源管理モジュール１３４との間の電圧互換問題の解決を支援する機能有効化／無効化制御信号を提供することができる。
【００８２】
次に図５Ｃを参照すると、そこに図示されているのは、スマートバッテリー４００のもう一つの例示的実施態様の一部分の模式図である。一般に、ここに示される実施態様の少なくともいくつかにおいては、バッテリー・プロセッサ２５２’をＰＩＣ１０Ｆ２０２マイクロプロセッサとすることができる。バッテリー・プロセッサ２５２’には、汎用ピンＧＰ０、ＧＰ１、ＧＰ２、ＧＰ３、ならびに電力供給ピンＶｄｄおよびＶｓｓが含まれる。スマートバッテリー４００には、抵抗器Ｒ１ｂ、Ｒ２ｂ、Ｒ３ｂ、およびコンデンサＣ１ｂが含まれる。抵抗器Ｒ１ｂ、Ｒ２ｂ、およびコンデンサＣ１ｂをバッテリー・インターフェース２５６の一部とすることができる。あるケースでは、バッテリー・モジュール２６２’の終端電圧を４．２Ｖまたは４．４Ｖとすることができる。
【００８３】
ＳＭＡＲＴ＿ＢＡＴデータ回線は、抵抗器Ｒ１ｂを通じて、バッテリー・プロセッサ２５２’の入力ＧＰ０に接続される。抵抗器Ｒ２ｂは、バッテリー・プロセッサ２５２’と通信できないモバイル機器との後方互換やその他の使用態様を可能にするバッテリーＩＤ抵抗器として用いることができる。バッテリーＩＤ抵抗器Ｒ２ｂの抵抗値は、バッテリー・モジュール２６２’の電荷容量を示すように、例えば、１００ｋΩ、８６．６ｋΩ、１５ｋΩなど、様々な値とすることができる。
【００８４】
コンデンサＣ１ｂおよび抵抗器Ｒ１ｂは、入力ピンＧＰ０のためのＥＳＤ防護を提供する。入力ピンＧＰ０に対する更なるＥＳＤ防護は、例えば、米国カリフォルニア州Ｃａｍａｒｉｌｌｏ市のＳＥＭＴＥＣＨ社が製造するＳＭＦ０５のようなダイオードアレイを接続することによって提供することができる。また、抵抗器Ｒ３ｂもＧＰ３ピンのためのＥＳＤ防護を提供する。スマートバッテリー４００は、標準的なリチウム−イオン・電池防護回路（図示されず）を含むこともできる。ある例示的実現態様では、抵抗器Ｒ１ｂの抵抗値を１００Ωとすることができ、抵抗器Ｒ２ｂの抵抗値を１００ｋΩ、８６．６ｋΩまたは１５ｋΩとすることができ、抵抗器Ｒ３の抵抗値を１００Ωとすることができ、そして、コンデンサＣ１ｂの静電容量を０．１μＦとすることができる。
【００８５】
バッテリー・プロセッサ２５２’は、ＧＰ０ピンを介して、論理レベルが高い信号（すなわち、２．８Ｖにおいて論理レベルが「１」など）および論理レベルが低い信号（すなわち、０Ｖにおいて論理レベルが「０」など）を直接読み取ることができる。「０」を書き込むには、汎用入力／出力ピンであるＧＰ０ピンを出力ピンとして構成し、低くドライブする。「１」を書き込むには、ＧＰ０ピンを入力ピンとして構成し、（抵抗器Ｒ２を介して）主プロセッサ１０２によって高く引き上げる。あるケースでは、バッテリー・プロセッサ２５２’は、「１」をドライブしない。これは、そうすることで主プロセッサ１０２のハードウェアが損傷する可能性があるからである。
【００８６】
偽造バッテリーパックは益々蔓延しつつあるが、これらのバッテリーパックは純正のバッテリーパックと同程度の容量ではない場合があるため、問題である。このような状況からは、偽造バッテリーパックの充電中にモバイル機器１００が損傷するなど、様々な問題が生じる可能性がある。したがって、スマートバッテリー１３０のバッテリー・プロセッサ２５２は、暗号化アルゴリズムを実行することができる。このアルゴリズムは、主プロセッサ１０２によるスマートバッテリー１３０の認証を可能にし、同バッテリーが偽造バッテリーあるいはモバイル機器１００での使用が承認されていないバッテリーパック（非承認バッテリーパックが十分な電荷容量や十分な防護回路を備えていないこと、充電特性が異なること、などの理由による）ではないことを保証するものである。
【００８７】
一般に、現行のスマートバッテリーは、モバイル機器との認証に関し、秘密キーに基づく対称キー暗号を採用する。これは、従来型スマートバッテリーおよび従来型モバイル機器の双方が秘密キーをもっていることを意味する。スマートバッテリーについては、バッテリー・ハードウェア上に保存される情報を防護するためのカスタム設計が可能である。しかし、モバイル機器については、これに類似するハードウェア防護は存在しない。通常、モバイル機器は既製の構成要素を用い、したがって、秘密キーは、通常、標準的なフラッシュメモリ・チップに保管されている。フラッシュメモリのコンテンツは、おそらくはＪＴＡＧエミュレーションおよびデバッギングを通じて、あるいは、プリント基板からチップを取り外すことにより回復することができ、そうすることで秘密キーを回収することができる。一旦この秘密認証キーが回収されると、この秘密キー情報を用いて偽造バッテリーを製造することが可能となる。したがって、セキュリティ的に見た場合、そのような偽造スマートバッテリーは、純正のスマートバッテリーと同一のセキュリティ情報を有することとなり、よって、モバイル機器１００は、これら二つのバッテリーを区別することができない。
【００８８】
この問題に取り組むために、次のようなセキュリティ・プロトコルを用いることができる。主プロセッサ１０２は、スマートバッテリー１３０へチャレンジ・メッセージを送ることができる。チャレンジ・メッセージは、ランダムな数字とすることができる。バッテリー・プロセッサ２５２は、チャレンジ・メッセージを取り込み、暗号化アルゴリズム、チャレンジ・メッセージ、および秘密キーを用いて応答メッセージを生成する。スマートバッテリー１３０上での実行が可能な暗号化アルゴリズムであって、ハッカーによる秘密キーの確定がコンピュータ的にほぼ実行不可能な暗号化アルゴリズムを適時用いることができる。次に、主プロセッサ１０２は、応答メッセージを、モバイル機器１００に保存された参照メッセージと比較する。一致した場合、それは、スマートバッテリー１３０が秘密キーを保有していることを示している。そうして、スマートバッテリー１３０は、使用に関して安全かつ承認された純正バッテリーとして確認される。しかし、通常、偽造バッテリーは秘密キーを保有していない。
【００８９】
秘密キーは、モバイル機器１００のデバイス・メモリ１０８には保存されないが、これは、モバイル機器１００が安全ではない場合があるからである。しかし、スマートバッテリー１３０のバッテリー・メモリ２５４は安全であり、秘密キーはバッテリー・メモリ２５４に保存される。さらに、モバイル機器１００上に複数のチャレンジおよび応答のペアを保存することができ、バッテリーパックの認証において、それらの内の任意の一つを用いることができる。ある実現態様では、チャレンジおよび応答のペアをモバイル機器１００のＮＶＲａｍに保存することができる。
【００９０】
セキュリティのレベルを追加するために、固有のチャレンジおよび応答のペアを用いて各モバイル機器１００をプログラムすることができる。これにより、仮に第三者があるモバイル機器のチャレンジおよび応答のペアを傍受したとしても、この第三者は、そのモバイル機器のチャレンジおよび応答の情報のみを入手したに止まることが保証される。その他のモバイル機器は、異なるチャレンジおよび応答のペアを用いる。したがって、もし、あるモバイル機器に関するチャレンジおよび応答の情報がコピーされ、偽造バッテリーに組み込まれたとしても、その偽造バッテリーは、その特定モバイル機器においてのみ用いることができ、それ以外のモバイル機器では作動しない。したがって、偽造者が、純正に見える偽造バッテリーの製造に成功するには、偽造者は、暗号化アルゴリズムと秘密キーを入手しなければならない。
【００９１】
したがって、あるモバイル機器の製造において、一つ以上の固有のチャレンジを生成し、これに対応する応答を一定の秘密キーについて計算することができる。そして、チャレンジおよび応答のペアは、そのモバイル機器上に保存され、秘密キーは、そのモバイル機器で用いられるスマートバッテリー上に保存される。ある実施態様では、ある一定のフォームファクタのスマートバッテリーには、同一の秘密キーを与えることができる。これにより、あるモバイル機器について、スマートバッテリーの互換性が確保される。したがって、あるモバイル機器において、スマートバッテリーの紛失または損傷があった場合、スマートバッテリーを交換することができる。
【００９２】
従来型のバッテリーパックは、主プロセッサ１０２による感知が可能なバッテリーＩＤ抵抗器を備えており、これにより、モバイル機器１００にどのようなタイプのバッテリーパックが接続されているかが確定される。モバイル機器１００には、モバイル機器１００で用いることができる様々な異なるタイプのバッテリーに関するバッテリー情報プロフィールを保存することができる。通常、バッテリー情報プロフィールは、メモリ１０６に保存される。モバイル機器１００は、モバイル機器１００に挿入されるバッテリーパックに対応する特定のバッテリー情報プロフィールを使用する。バッテリー情報には、充電曲線や放電曲線などに関連する情報が含まれる。これらの曲線は、電圧対電荷容量をプロットしたものであり、参照テーブル（ＬＵＴ）に保存することができる。ＬＵＴ上で補間法を用いることができる。
【００９３】
異なるバッテリーパックを異なるレートで充電できるので、電圧対電荷容量の曲線は有益である。例えば、あるバッテリーパックは７５０ｍＡの充電電流に適応できるが、他のバッテリーパックは１．５Ａの充電電流に適応できる。これらの曲線は、モバイル機器１００の働きに応じて変動する場合もある。例えば、モバイル機器１００によって用いられる無線通信用の通信規格は、バッテリーパックの放電のレートおよび量に影響を及ぼす。例えば、モバイル機器１００がＣＤＭＡ通信規格を用いているか、またはＧＰＲＳ通信規格を用いているかに応じて、同じバッテリーパックに対して異なる放電曲線が適用される。あるいは、二つの異なる通信規格について、電圧対電荷容量曲線を含む二つのバッテリー情報プロフィールを保存するのではなく、第一の電圧対電荷容量曲線に関するバッテリー情報プロフィールを保存し、そして、一連のオフセット量を含むもう一つのバッテリー情報プロフィールを保存し、第一の曲線から他方の曲線を導き出すことができる。
【００９４】
もう一つの代替案では、例えば、用いられる通信規格によって異なって動作するモバイル機器に関する異なるバッテリー情報プロフィールを保存するのではなく、普遍的なバッテリー情報プロフィールを用いることができる。その場合、モバイル機器１００は、普遍的バッテリー情報プロフィールから情報を読み込むものの、異なる計算を行うことにより、例えば、バッテリー充電曲線など、必要なバッテリー関連情報を取得するように構成することができる。例えば、再度、ＧＳＭやＣＤＭＡのような通信規格を一例として挙げると、ＣＤＭＡ無線通信の場合、電流は一般に一定のレートで引き込まれるが、一方、ＧＳＭ無線通信の場合、引き込まれる電流にはいくつかのスパイクが生じる。このケースでは、各バッテリー型式に関するバッテリー情報プロフィールのそれぞれについて、第一の条件に基づいて充電曲線を生成することができ、そうして第一の無線通信による電流使用量をエミュレートする。そして、第一の無線通信との関連における他方の無線通信による電流使用量の違いについて、負荷条件情報に留意することができる。この負荷条件情報は、モバイル機器１００またはスマートバッテリー１３０上に保存することができる。したがって、バッテリー情報プロフィールがモバイル機器１００によって読み込まれた場合、もしモバイル機器１００が「他の無線通信」の一つを用いているならば、負荷条件情報に基づいて、モバイル機器１００による更なる計算を行うことができる。
【００９５】
モバイル機器１００のある実施態様では、モバイル機器１００上にバッテリー情報プロフィールを保存するのではなく、または、そのような保存に加えて、スマートバッテリー１３０のバッテリー・メモリ２５４にバッテリー情報プロフィールを保存することができる。したがって、新しいスマートバッテリーがリリースされた場合、モバイル機器１００上のバッテリー情報プロフィールを更新する必要はなく、スマートバッテリー１３０には既にバッテリー情報プロフィールが収容されている。主プロセッサ１０２は、スマートバッテリー上のバッテリー情報プロフィールにアクセスすることができ、異なるスマートバッテリー、新しいスマートバッテリー、あるいは新しいバッテリー供給者のスマートバッテリーが用いられる度毎にバッテリーの充電／放電特性を確定することができる。そうして、モバイル機器１００は、メモリ１０６に新しいバッテリー情報プロフィールを保存することができる。バッテリー情報プロフィールは、以下でより詳細に説明されるバッテリー通信プロトコルに従ってアクセスされる。
【００９６】
したがって、ある実施態様では、あるスマートバッテリー１３０について、モバイル機器１００にバッテリー情報プロフィールを保存することができ、そのスマートバッテリー１３０もまた、バッテリー・メモリ２５４に追加のバッテリー情報プロフィールを保存することができる。あるケースでは、考え得る経験則は、ある特定のバッテリー情報プロフィールがスマートバッテリー１３０およびモバイル機器１００の双方に存在する場合、スマートバッテリー１３０に保存されているバッテリー情報プロフィールがモバイル機器１００に保存されているバッテリー情報プロフィールに優先する、というものである。しかし、他の経験則も適用することができる。例えば、スマートバッテリー１３０のバッテリー情報プロフィールは改訂管理が可能であると同時に、対応するバージョン番号はモバイル機器１００によって判読可能であるため、誤りであって使用すべきではないバッテリー情報のリリースに対応するバージョン番号のバージョン情報がモバイル機器１００に提供される可能性がある。このケースでは、モバイル機器１００は、正しいと確認されたバージョン番号に関連するバッテリー情報プロフィールを用いることができる；このバッテリー情報プロフィールは、モバイル機器１００上に既に保存されている可能性がある。
【００９７】
加えて、少なくともある実施態様では、バッテリーＩＤ抵抗器を用いたり、バッテリーＩＤ抵抗器を調達したりするのではなく、バッテリー・メモリ２５４にバッテリーＩＤを保存することもできる。そうして、主プロセッサ１０２は、通信回線３０２を介してスマートバッテリー１３０と通信することによりバッテリーＩＤ情報を入手し、バッテリーＩＤ抵抗器の使用に依存しない。このバッテリーＩＤ情報は、以下でより詳細に説明されるバッテリー通信プロトコルに従ってアクセスすることができる。したがって、バッテリーＩＤ抵抗器を読み込むための追加回路は必要ではない。これにより、回路の複雑性とコストが抑えられる。バッテリーＩＤは、スマートバッテリーの型式に依存し、モデル、製造者、化学的特性などに従ってスマートバッテリーを識別するのに用いることができる。ある実施態様では、複数のバッテリーについて、モバイル機器上にバッテリーの放電／充電情報を保存することができ、バッテリーＩＤが一旦確定されると、主プロセッサ１０２は、このＩＤ情報を用いて、バッテリーの充電やモニタリングのために、バッテリー放電／充電情報などの対応するバッテリー・プロフィール情報を選択することができる。このような意味において、モバイル機器１００は、複数種類のバッテリーをサポートすることができる。
【００９８】
主プロセッサ１０２とスマートバッテリー１３０との間にインターフェースが設けられる実施態様も存在し、そうすることで、モバイル機器は、バッテリーＩＤ抵抗器のみを用いる従来型バッテリーパックとの互換性、およびバッテリー・メモリ２５４にバッテリーＩＤ情報を保存するスマートバッテリーとの互換性を備える。これらのケースでは、モバイル機器は、スマートバッテリーとの接続を仮定することができ、その仮定に沿って通信を試みることができる。この通信が失敗した場合、バッテリーＩＤ抵抗器を読み込む従来の方法を用いることができる。
【００９９】
主プロセッサ１０２がバッテリー・プロセッサ２５２と通信するのに、バッテリー通信プロトコルが用いられる。データ通信に用いられる論理レベルは、主プロセッサ１０２およびバッテリー・プロセッサ２５２の実装態様に依存する。例えば、ある実装態様では、高論理レベル（すなわち、「１」）を約２．８Ｖの回線レベルで表すことができ、低論理レベル（すなわち、「０」）を約０Ｖで表すことができる。ＥＳＤ防護回路の使用により、通信回線３０２は、例えば、約３００ｂｐｓなどのデータ転送速度に制限される場合があり、そうするとビット当たりの時間は３．３３ｍｓとなる。データ送信は、スタートビットと、それに続く複数の８ビットのデータ・セグメント（そこではＬＳＢが最初に送信される）と、それに続く少なくとも一つのストップビットを発することで実現することができる。ある実施態様では、スタートビットを「０」とし、ストップビットを「１」とすることができる。
【０１００】
ある実施態様では、セッションがアクティブである間、通信回線は高論理レベルでアイドル状態となる（主プロセッサ１０２の送信ピン３０４によってドライブされる）。セッションがノンアクティブの場合、主プロセッサ１０２は、通信回線３０２を、ノンアクティブ／低電力状態で作動する構成とすることができる。したがって、ある実施態様では、送信ピン３０４および受信ピン３０６を低状態でドライブすることができる。
【０１０１】
通信回線３０２は半二重の回線であるため、主プロセッサ１０２またはバッテリー・プロセッサ２５２のみが所与の時刻にデータを送信することができる。したがって、主プロセッサ１０２とバッテリー・プロセッサ２５２との間には、主プロセッサ１０２からのコマンドに応える形でのみバッテリー・プロセッサ２５２による送信が許容されるという、マスター／スレーブの関係が存在する場合がある。主プロセッサ１０２は、バッテリー・プロセッサ２５２からの応答を待っている間を除き、いつでも送信することができる。バッテリー・プロセッサ２５２は、主プロセッサ１０２からのパケット終了マーカー（ＥＮＤ）を受領後、ある一定時間のうちに応答の送信を開始することができる。さらに、主プロセッサ１０２は、当初のリクエストを再送する前に、ある一定時間の間、スマートバッテリー１３０からの応答を待つことができる。
【０１０２】
主プロセッサ１０２とバッテリー・プロセッサ２５２との間のデータ・リンクは、ＲＣ１０５５実装を用いることにより実現することができる。主プロセッサ１０２およびバッテリー・プロセッサ２５２による同時送信を回避するために、「リーディング停止キャラクタ（ｌｅａｄｉｎｇ  ｓｔｏｐ  ｃｈａｒａｃｔｅｒ）」の最適化は用いられない。それよりも、物理的通信層によって提供されるシリアル・バイト・ストリームの上に、データ・リンク層によりパケット・ベースのインターフェースが実現されるよう試みられる。これは、各パケットを「０ｘＣ０」のようなユニークなキャラクタで「フレーミング」する（すなわち、バイト・ストリームの中で各パケットの終了を容易に見つけられるようにする）ことにより行われる。したがって、「０ｘＣ０」のキャラクタが読まれるまで、着信してくるバイトは全て保存される。そうして、保存されたデータは次の層へ送られる。
【０１０３】
しかし、キャラクタ「０ｘＣ０」はデータとして送信される場合があり、よって、キャラクタ「０ｘＣ０」はユニークであること、そしてフレームの終了をマークするためだけに用いられること、が保証されるべきである。これを実現するための一つの方法は、データ中のキャラクタ「０ｘＣ０」のインスタンスを二つのキャラクタで置き換えることである：例えば、「０ｘＤＢ」や「０ｘＤＤ」などである。データ中にキャラクタ「０ｘＤＢ」を送りたい場合、同様の方法により、キャラクタ「０ｘＤＢ」は、例えば、「０ｘＤＢ」および「０ｘＤＣ」で置き換られる。
【０１０４】
データ受信の点から見ると、この例示的実施態様の場合、キャラクタ「０ｘＣ０」に遭遇した場合、データ送信は完了する。キャラクタ「０ｘＤＢ」に遭遇した場合、次のキャラクタにおいて特別な何かを実施しなければならないという事実が記録され、他の全てのキャラクタがバッファに保存される。さて、この例においてキャラクタが「０ｘＤＢ」であった場合、次のキャラクタが着信すると三つのうちの一つを実現することができる：１）次のキャラクタが「０ｘＤＤ」である場合、キャラクタ「０ｘＣ０」がバッファに保存され、２）次のキャラクタが「０ｘＤＣ」である場合、キャラクタ「０ｘＤＢ」がバッファに保存され、または、３）次のキャラクタがそれら以外の場合、エラーが発生し、そのエラーは次の層で取り扱うことができる。
【０１０５】
先に述べられたように、電力消費を抑えるために、バッテリー・プロセッサ２５２は、ほぼ常にスリープ・モードとなる。主プロセッサ１０２からＳＴＡＲＴビットを受信すると、バッテリー・プロセッサ２５２は、スリープ・モードから目覚め、ＥＮＤキャラクタが受信されるか、あるいはウォッチドッグ・タイマーが時間切れとなるまで（例えば、約２．３秒後に時間切れとなるようにウォッチドッグ・タイマーを設定できる）、着信してくるデータを受け入れる。したがって、主プロセッサ１０２は、ウォッチドッグ・タイマーが時間切れとなる前に、各要求パケットを送信するよう試みる。したがって、主プロセッサ１０２は、可能な限り小さなインターバイト・ディレイで各要求パケットの送信を試みることができる。
【０１０６】
次に図６Ａを参照すると、そこに図示されているのは、主プロセッサ１０２とバッテリー・プロセッサ２５２との間の通信のために用いることのできるパケット４５０用の一般的構造の例示的実施態様のブロック図である。パケット内のデータ・ビットは、左から右へ送信することができ、マルチバイト・データ・エレメントは、最小有効ビット（ＬＳＢ）（リトルエンディアン）様式で送信することができる。パケット４５０には、ＣＯＤＥフィールド４５２、ＤＡＴＡフィールド４５４、ＬＥＮＧＴＨフィールド４５６、およびＥＲＲＯＲ＿ＣＨＥＣＫフィールド４５８が含まれる。マルチバイト・データとは、単に、メモリに保存するのに８ビット（１キャラクタ）を超えるビット数が必要な数字である。例えば、４キャラクタを必要とする数字０ｘ１２３４５６７８を考える。これらのキャラクタが送信される場合、それらは、ＬＳＢを第一とするＬＳＢ様式で送られる。すなわち、最初に０ｘ７８が送られ、これに続いて０ｘ５６、０ｘ３４が送られ、最後に０ｘ１２が送られる。
【０１０７】
ＣＯＤＥフィールド４５２は、パケットのタイプ（すなわち、情報は提供されるのか、要求されるのか）を識別する。パケットが未知のＣＯＤＥフィールド４５２と共に受信されると、バッテリー・プロセッサ２５２によってプロトコル・バージョン応答パケットが送信される。また、この応答パケットは、不適正な長さやエラーチェック・フィールド値などを有するパケットが主プロセッサ１０２によって発信される場合はいつでも、バッテリー・プロセッサ２５２による発信が可能である。ある実現態様では、ＣＯＤＥフィールド４５２には、プロトコル・バージョン要求、プロトコル・バージョン応答、バッテリー認証チャレンジ、バッテリー認証応答、バッテリー情報要求、バッテリー情報応答などを特定するためのコードが含まれる。ある実現態様では、ＣＯＤＥフィールド４５２は、１バイトを含むことができる。
【０１０８】
ＤＡＴＡフィールド４５４には、実行されている特定の要求または応答に依存するデータが含まれる。ＤＡＴＡフィールド４５４は、データ送信に必要とされるバイト数を含むことができるが、限界が存在する可能性もある。ある実施態様では、ＬＥＮＧＴＨフィールド４５６は、０から２５５までの数字を含むことができる。ＣＯＤＥ、ＬＥＮＧＴＨおよびＥＲＲＯＲ＿ＣＨＥＣＫの各フィールドは一つの長さに全て含まれているため、パケット４５０の全体は最大で２５５キャラクタとなる可能性があり、ＤＡＴＡフィールド４５４は最大で２５２キャラクタとなる可能性がある。様々なタイプのデータの例に関し、以下で考察する。
【０１０９】
ＬＥＮＧＴＨフィールド４５６は、パケット内のバイト数を定義し、これには、ＣＯＤＥフィールド４５２、ＤＡＴＡフィールド４５４、ＬＥＮＧＴＨフィールド４５６およびＥＲＲＯＲ＿ＣＨＥＣＫフィールド４５８のバイト数が含まれる。通常、ＳＬＩＰフレーミングは考慮されないが、これは、ＳＬＩＰフレームがどの程度長くなるかが、通常、分からないからである。１キャラクタから２キャラクタへ倍加されるキャラクタも存在し、どのキャラクタ、あるいはどれだけのキャラクタが倍加されるかは確かではない。ある実現態様では、ＬＥＮＧＴＨフィールド４５６には１バイトが含まれる。
【０１１０】
ＥＲＲＯＲ＿ＣＨＥＣＫフィールド４５８は、主プロセッサ１０２またはバッテリー・プロセッサ２５２においてデータが適正に受信されたことを検証するのに用いることのできるデータを提供する。バッテリー・プロセッサ２５２の処理能力に応じて、様々なタイプの通信エラーチェック・スキームを用いることができる。ある実現態様では、ＣｈｅｃｋＳｕｍ値が用いられる。ＣｈｅｃｋＳｕｍ値は、ＣＯＤＥフィールドからＣｈｅｃｋＳｕｍフィールド（モジュラス２５６）までに含まれるデータの合計が０に等しくなるような、符号のない８ビットの値である。ある実現態様では、ＣｈｅｃｋＳｕｍを用いる場合、ＥＲＲＯＲ＿ＣＨＥＣＫフィールド４５８には１バイトが含まれる。
【０１１１】
次に図６Ｂを参照すると、そこに図示されているのは、プロトコル・バージョン要求パケットまたはバッテリー情報要求パケット用に用いることができるパケット４６０の例示的実施態様のブロック図である。パケット４６０には、ＣＯＤＥフィールド４６２、ＬＥＮＧＴＨフィールド４６４、およびＣＨＥＣＫ＿ＳＵＭフィールド４６６が含まれる。
【０１１２】
プロトコル・バージョン要求は、スマートバッテリー２５２のプロトコル・バージョンを要求するために、主プロセッサ１０２によって送信される。したがって、ＣＯＤＥフィールド４６２には、プロトコル・バージョン要求を識別するコードが含まれる。プロトコル・バージョン要求パケット４６０は３バイトであるため、ＬＥＮＧＴＨフィールド４６４には、３という値が含まれる。バッテリー・プロセッサ２５２は、プロトコル・バージョン応答パケットでプロトコル・バージョン要求パケットに応答する。ＣＨＥＣＫ＿ＳＵＭフィールド４６６は、エラーチェックのために用いられ、１バイトを含むことができる。
【０１１３】
バッテリー情報要求パケットは、スマートバッテリー１３０の働きに関する情報が要求される場合に、主プロセッサ１０２によって送信される。スマートバッテリー１３０は、バッテリー情報応答パケットで応答する。このケースでは、ＣＯＤＥフィールド４６２には、パケット４６０がバッテリー情報要求パケットであることを表すコードが含まれる。ＣＯＤＥフィールド４６２は、１バイトを含むことができる。ＬＥＮＧＴＨフィールド４６４には、パケット４６０が３バイトであることを示す１バイトが含まれる。
【０１１４】
次に図６Ｃを参照すると、そこに図示されているのは、プロトコル・バージョン応答パケット４７０の例示的実施態様のブロック図である。プロトコル・バージョン応答パケット４７０には、ＣＯＤＥフィールド４７２、プロトコル・バージョンを含む第一ＤＡＴＡフィールド４７４、バッテリーＩＤを含む第二ＤＡＴＡフィールド４７６、ＬＥＮＧＴＨフィールド４７８、およびＣＨＥＣＫ＿ＳＵＭフィールド４７９が含まれる。バッテリー・プロセッサ２５２は、主プロセッサ１０２からプロトコル・バージョン要求パケット４６０を受信したり、あるいはＣＯＤＥフィールド内の認識されないコード、あるいはエラー（例えば、ｂａｄ  ｌｅｎｇｔｈ、ｂａｄ  ｃｈｅｃｋ＿ｓｕｍ、等々）を受信したりすると、プロトコル・バージョン応答パケット４７０で応答する。プロトコル・バージョン応答パケット４７０は、スマートバッテリー２５２のためのバッテリーＩＤを提供する。したがって、少なくともある実現態様では、バッテリー情報は、スマートバッテリー１３０内のキャッシュに格納することができ、よって、バッテリーＩＤのみが求められる場合に、全てのバッテリー情報をダウンロードする必要はない。
【０１１５】
ＣＯＤＥフィールド４７２には、パケット４７０がプロトコル・バージョン応答パケットであることを表すコードが含まれる。ＣＯＤＥフィールド４７２は、１バイトを含むことができる。第一ＤＡＴＡフィールド４７４には、以下でより詳細に説明されるプロトコル・バージョンが含まれる。第一ＤＡＴＡフィールド４７４は２バイトを含むことができ、第二ＤＡＴＡフィールド４７６は２バイトを含むことができる。ＬＥＮＧＴＨフィールド４７８は、パケット４７０にはパケット４７０が７バイトであることを示す１バイトが含まれることを示している。ＣＨＥＣＫ＿ＳＵＭフィールド４７９は、エラーチェックのために用いられ、１バイトを含むことができる。
【０１１６】
プロトコル・バージョンとは、使用されているバッテリー通信プロトコルのバージョンを示す数字である。ある実現態様では、プロトコル・バージョンは、８ビットのメジャー・バージョン番号と８ビットのマイナー・バージョン番号とを含むことができる。マイナー・バージョン番号は、バッテリー通信プロトコルに対する「後方互換性」を有する変更の度毎に増やすことができる。メジャー・バージョン番号は、後方互換性が維持されない変更の度毎に増やすことができる（この場合、マイナー・バージョン番号は０にリセットされる）。例えば、暗号化アルゴリズム、秘密キーおよびバッテリー情報フォーマットの内のいずれかを変更する場合、メジャー・バージョン番号を増やすことができる。
【０１１７】
次に図６Ｄを参照すると、そこに図示されているのは、バッテリー認証チャレンジ、バッテリー認証応答またはバッテリー情報応答のために用いることのできるパケット４８０の例示的実施態様のブロック図である。パケット４８０には、ＣＯＤＥフィールド４８２、ＤＡＴＡフィールド４８４、ＬＥＮＧＴＨフィールド４８６、およびＣＨＥＣＫ＿ＳＵＭフィールド４８８が含まれる。
【０１１８】
バッテリー認証チャレンジのケースでは、主プロセッサ１０２は、バッテリー・プロセッサ２５２へバッテリー認証チャレンジを送ることにより、バッテリー認証を要求することができる。そうすると、バッテリー・プロセッサ２５２は、バッテリー認証応答チャレンジで求められるデータを計算した後、バッテリー認証応答パケットで応答することができる。ＣＯＤＥフィールド４８２には、パケット４８０がバッテリー認証チャレンジのパケットであることを表すコードが含まれる。ＣＯＤＥフィールド４８２は、１バイトを含むことができる。ＤＡＴＡフィールド４８４には、スマートバッテリー１３０のためのチャレンジ・メッセージが含まれる。ある実現態様では、チャレンジ・メッセージは４バイトを含むことができる；したがって、チャレンジは、３２ビットのチャレンジとなる場合がある。ＬＥＮＧＴＨフィールド４８６には、パケット４８０が７バイトであることを示す１バイトが含まれる。ＣＨＥＣＫ＿ＳＵＭフィールド４８８はエラーチェックに用いられ、１バイトを含むことができる。使用される認証プロセスについて、以下でより詳細に説明する。
【０１１９】
バッテリー認証応答のケースでは、主プロセッサ１０２からバッテリー認証チャレンジ・パケットを受け取ると、バッテリー・プロセッサ２５２は、バッテリー認証応答チャレンジで求められるデータを計算した後、バッテリー認証応答パケットで応答する。このケースでは、ＣＯＤＥフィールド４８２には、パケット４８０がバッテリー認証応答パケットであることを表すコードが含まれる。ＣＯＤＥフィールド４８２は、１バイトを含むことができる。ＤＡＴＡフィールド４８４には、スマートバッテリー１３０からのチャレンジ応答が含まれる。ある実現態様では、チャレンジ応答は４バイトを含むことができる；したがって、チャレンジ応答は、３２ビットの値となる場合がある。ＬＥＮＧＴＨフィールド４８６には、パケット４８０が７バイトであることを示す１バイトが含まれる。ＣＨＥＣＫ＿ＳＵＭフィールド４８８はエラーチェックに用いられ、１バイトを含むことができる。使用される認証プロセスについては、以下でより詳細に説明する。
【０１２０】
バッテリー情報応答のケースでは、主プロセッサ１０２からバッテリー情報要求パケットを受け取ると、バッテリー・プロセッサ２５２は、バッテリー情報応答で応答する。このケースでは、ＣＯＤＥフィールド４８２には、パケット４８０がバッテリー情報応答パケットであることを表すコードが含まれる。ＣＯＤＥフィールド４８２は、１バイトを含むことができる。ＤＡＴＡフィールド４８４はバッテリー情報を含み、１２バイト長となる場合がある。ＬＥＮＧＴＨフィールド４８６には、パケット４８０が１５バイトとなる場合があることを示す１バイトが含まれる。ＣＨＥＣＫ＿ＳＵＭフィールド４８８はエラーチェックに用いられ、１バイトを含むことができる。
【０１２１】
次に図７Ａを参照すると、そこに図示されているのは、バッテリー情報データ構造４９０の例示的実施態様のブロック図である。バッテリー情報データ構造４９０は、スマートバッテリー１３０に関するデータを含む可変数個の項目フィールド４９２−４９６のパケットである。例えば、項目フィールド４９２−４９６は、バッテリー充電曲線用ＬＵＴのための情報を含むことができる。項目フィールド４９２−４９６のそれぞれは、図７Ｂに示されるフォーマットをもつことができ、ＣＯＤＥフィールド５００およびＤＡＴＡフィールド５０２を含むことができる。ＣＯＤＥフィールド５００は、例えば、バッテリー充電曲線などの項目データのタイプを識別する８ビットの識別子を含むことができる。ＤＡＴＡフィールド５０２は具体的な項目に依存する。固定長の項目はＬＥＮＧＴＨフィールドを必要としない。しかし、可変長の項目は、ＣＯＤＥフィールド５００とＤＡＴＡフィールド５０２との間に挿入されるＬＥＮＧＴＨフィールド（図示されず）を含む。代替案では、バッテリーＩＤをプロトコル・バージョン応答パケットに含めて送信するのではなく、バッテリーＩＤを項目４９２−４９６の中の一つに含めて送信することができる。項目４９２−４９６の内の一つがバッテリー充電曲線情報のようなバッテリー・プロフィール情報を含む場合、ＣＯＤＥフィールド５００には、バッテリー充電曲線情報を示すコードが含まれ、ＬＥＮＧＴＨフィールド（図示されず）には、ＣＯＤＥ、ＬＥＮＧＴＨおよびＤＡＴＡの各フィールドを含むパケットのバイト数が含まれる。ＤＡＴＡフィールド５０２には、バッテリー充電曲線情報を表すのに十分なバイト数が含まれる。
【０１２２】
先に述べられたように、スマートバッテリー１３０は、主プロセッサ１０２による認証の際に暗号化アルゴリズムを実行することができる。スマートバッテリー１３０のメモリにのみ安全に保存された秘密キーと、主プロセッサ１０２によって提供されるチャレンジとに基づき、スマートバッテリー１３０は、暗号化アルゴリズムを適用することによって応答を生成することができる。ある実現態様では、秘密キーを６４ビットとすることができ、チャレンジを３２ビットとすることができる。適切なレベルのセキュリティが実現されるならば、秘密キーおよびチャレンジについて異なるサイズを選択することもできる。ある実現態様では、チャレンジを暗号化することができ、スマートバッテリー１３０は、チャレンジを解読するために解読アルゴリズムを実行し、そうして、チャレンジと秘密キーとを組み合わせて応答を生成することができる。主プロセッサ１０２とスマートバッテリー１３０との間で送信されるその他のデータも暗号化することができる。
【０１２３】
スマートバッテリー１３０は、不正改造ができないような特別な設計がなされており、この目的のために特注のハードウェアおよびコード防護レジスタを含んでいる。したがって、第三者がスマートバッテリー１３０から秘密キーを抽出することは非常に困難である。しかし、モバイル機器１００の場合、事情は同じではない。したがって、秘密キーはモバイル機器１００には保存されない。その代わりに、秘密キーおよび暗号化アルゴリズムに基づいて予め計算された（機器ごとに）固有のチャレンジおよび応答のペアを、製造時に、モバイル機器１００に保存することができる。したがって、異なるモバイル機器には、異なるチャレンジおよび応答のペアを保存することができる。そうして、秘密キーおよび暗号化アルゴリズムは、スマートバッテリー１３０のみに保存される。単一のモバイル機器で作動することのできる偽造バッテリーを製作することは可能かもしれないが、この認証プロセスを利用する全てのモバイル機器で作動可能な偽造バッテリーを製作することは非常に困難である。ある実現態様では、複数のチャレンジおよび応答のペアをモバイル機器１００上に保存することが可能であり、これらのペアの内の少なくとも一つを認証の際に用いることができる。
【０１２４】
次に図８を参照すると、そこに図示されているのは、スマートバッテリー１３０を認証するのに主プロセッサ１０２による採用が可能な認証プロセス５５０の例示的実施態様のフローチャートである。モバイル機器１００の電源が入れられる度毎に、また、バッテリーがモバイル機器１００に挿入される度毎に、認証が実施される。ステップ５５２では、主プロセッサ１０２は、モバイル機器１００上のメモリ素子を読み取り、チャレンジおよび応答のペアを取得する。ステップ５５４では、主プロセッサ１０２は、バッテリー・プロセッサ２５２へチャレンジを送信する。ステップ５５６では、バッテリー・プロセッサ２５２は、秘密キーを用いて暗号化アルゴリズムを適用することで応答を生成し、ステップ５５８では、バッテリー・プロセッサ２５２は、主プロセッサ１０２へ応答を送り出す。ステップ５６０では、主プロセッサ１０２は、生成された応答を保存されている応答と比較する。このステップにおいて、保存されている応答がバッテリー・プロセッサ２５２によって生成された応答と全く同じであるならば、スマートバッテリー１３０は純正であると確認される。同じでないならば、スマートバッテリーは純正であるとは確認されず、適切なステップが実行される。送信エラーの可能性（および、ＣＨＥＣＫ＿ＳＵＭの誤りの可能性）のため、主プロセッサ１０２は、バッテリーパックを偽造バッテリーまたは権限のない第三者によるバッテリーパックとして識別する前に、チャレンジおよび応答の試みを複数回実行することができる。
【０１２５】
バッテリーパックが偽造バッテリーまたは権限のない第三者によるバッテリーパックとして識別されると、主プロセッサ１０２に関連するオペレーティング・システムは、ＢＳＴＡＴ＿ＩＮＳＥＣＵＲＥバッテリー状態を設定するが、通常のブート処理を継続することができる。また、主プロセッサ１０２は、ソフトウェアを実行することにより、例えば、ユーザー・フィードバックを実現し、無線アクセスを制御し、あるいは、モバイル機器１００がわずかな時間を超えて作動するのを予防することができる。主プロセッサ１０２は、非純正バッテリーパック、すなわち、認証プロセスに失敗したバッテリーパックについて、充電を行わないか、あるいは容量が一杯となるまで充電を行わない。しかし、ある実現態様では、認証に先立ち、鮮度シール（すなわち、低電圧状態のバッテリー）に対する、バッテリーの終端電圧が約３．０Ｖまでの充電については、これを許容することができる。低電圧状態は、バッテリーの放電によって終端電圧が約２．５Ｖとなり、バッテリー内の防護回路がバッテリー端子をバッテリー・モジュールから切り離した際に生じる。当該バッテリーは、バッテリー端子に充電電圧が加えられるまでこの状態を維持する。３．０Ｖのバッテリーパックよりも低い電荷容量を有するバッテリーパックは存在しないと仮定した場合、終端電圧が約３．０Ｖとなるように最小電荷容量までバッテリーの充電を行うことは安全であると考えられる。しかし、他の実施態様では、バッテリーパックが偽造バッテリーまたは権限のない第三者によるバッテリーパックとして識別されると、主プロセッサ１０２に関連するオペレーティング・システムは、通常のブート処理の進行を許容しないように設定されることができる。その代わり、オペレーティング・システムは、バッテリーに問題があるとの指示を提供するよう設定することができる；例えば、オペレーティング・システムは、線の入ったバッテリーやその他適切な画像指示をスクリーン上に表示することができる。
【０１２６】
次に図９を参照すると、そこに図示されているのは、純正または非純正の可能性のあるスマートバッテリーを有するモバイル通信機器１００の典型的な動作を示すフローチャート６００である。モバイル機器１００を起動すると、または、バッテリーの挿入が検出される場合、主プロセッサ１０２は、以下のステップを実行することができる。ステップ６０２では、主プロセッサ１０２は、バッテリー・プロセッサ２５２へプロトコル・バージョン要求パケットを送る。ステップ６０４では、バッテリー・プロセッサ２５２は、プロトコル・バージョン応答パケットを生成し、主プロセッサ１０２へ同パケットを送る。ステップ６０６では、主プロセッサ１０２は、プロトコル・バージョン応答パケット内のプロトコル・バージョンを、サポートされているプロトコルと比較し、互換性のあるプロトコル・バージョン番号である場合はステップ６１０へ進む。
【０１２７】
互換性のないプロトコル・バージョン番号である場合、ステップ６０８において、主プロセッサ１０２は、非純正バッテリーパックについて先に説明されたアクションを実行し、（先の説明にあるように）開始されているかもしれない充電動作を停止または制限する。例えば、モバイル機器１００は、バッテリーが存在する場合であっても、「バッテリーなしアイコン」を示すことができる。あるケースでは、主プロセッサ１０２は、モバイル機器１００が、例えば、Ｘ分などの限られた時間だけ動作を継続するのを許容することができるが、充電または容量一杯までの充電を許容することはない。偽造または非承認のバッテリーの使用において、充電は最大のリスクである。Ｘ分の使用が許容されることで、使用者は、自身が知らないうちに購入した偽造バッテリーを使用しながらも、緊急の電話をかけることができる。
【０１２８】
ステップ６１０では、主プロセッサ１０２は、認証プロセス５５０を実行する。ステップ６１２では、バッテリー認証が成功すると、プロセス６００はステップ６１４へ進む。成功しない場合は、プロセス６００はステップ６０８へ進む。ステップ６１４では、主プロセッサ１０２は、バッテリー・プロセッサ２５２へバッテリー情報要求パケットを送ることができる。ステップ６１６では、バッテリー・プロセッサ２５２は、要求されたバッテリー情報にアクセスしてバッテリー情報応答パケットを生成し、そうして、このパケットは主プロセッサ１０２へ送られる。ステップ６１８では、主プロセッサ１０２は、使用者に残り電荷の表示などを提供する動作の際に、バッテリー情報を用いてスマートバッテリー１３０を充電し、あるいは、スマートバッテリー１３０をモニターすることができる。なお、データ送信エラーや通信の再試行のためのステップは、プロセス６００において明示的に示されていないが、それらのステップをプロセス６００に含めることができる。
【０１２９】
次に図１０を参照すると、そこに示されているのは、スマートバッテリー１３０を有するモバイル通信機器１００の製造のための例示的製造プロセス６５０のフローチャートである。ステップ６５２では、スマートバッテリー１３０について、通信プロトコルおよびセキュリティ・プロトコルが指定される。ステップ６５４では、スマートバッテリー１３０の製造者は、通信プロトコルおよびセキュリティ・プロトコルを実行するためのコードをスマートバッテリー１３０へ組み込む。ステップ６５６およびステップ６５８では、バッテリーパックの製造者および印刷回路基板（ＰＣＢ）のベンダーは、スマートバッテリー１３０用のハードウェア（すなわち、回路）を組み立てる。そうして、ステップ６６０において、スマートバッテリー１３０がモバイル機器１００と共に試験される。さらに、ステップ６６０において、スマートバッテリーとモバイル機器とのペアが組まれる。各ペアについて、秘密キーおよび暗号化アルゴリズムに基づいて、複数の固有のチャレンジおよび応答のペアが生成される。チャレンジおよび応答のペアは、モバイル機器上に保存され、対応する秘密キーおよび暗号化アルゴリズムは、対応するスマートバッテリー上に保存される。
【０１３０】
なお、ここに説明および図示された実施態様に対し、それらの実施態様から逸脱することなく様々な変更を加えることが可能であり、当該実施態様の一般的範囲は、添付の請求項において定義されている。例えば、ここに説明された実施態様は、一般に、モバイル通信機器に関するものであるが、ここに説明された技術および構造は、スマートバッテリーを用いるモバイル機器に一般的に適用できること、そして、そのモバイル機器は、必ずしもモバイル通信機器である必要はないことは、当業者であれば認識されるところである。さらに、ここに説明された例示的実施態様の原理のいくつかは、ソフトウェアもしくはハードウェアまたはその両方によって実現できるものである。
【図面の簡単な説明】
【０１３１】
【図１】図１は、モバイル通信機器の例示的実施態様のブロック図である。
【図２】図２は、図１に示すモバイル通信機器の通信サブシステム構成要素の例示的実施態様のブロック図である。
【図３】図３は、図１に示すモバイル通信機器との通信が行われる無線ネットワークのノードの例示的実施態様のブロック図である。
【図４】図４は、図１に示すモバイル通信機器で用いることができる一般的なスマートバッテリーの例示的実施態様のブロック図である。
【図５Ａ】図５Ａは、図１に示すモバイル通信機器において、主プロセッサをスマートバッテリーにつなぐのに用いることができるバッテリー・インターフェースの一部分の例示的実施態様の模式図である。
【図５Ｂ】図５Ｂは、図１に示すモバイル通信機器において、主プロセッサをスマートバッテリーにつなぐのに用いることができるバッテリー・インターフェースの一部分のもう一つの例示的実施態様の模式図である。
【図５Ｃ】図５Ｃは、スマートバッテリーのもう一つの例示的実施態様の一部分の模式図である。
【図６Ａ】図６Ａは、図１に示すモバイル通信機器の主プロセッサとバッテリー・プロセッサとの間の通信のために用いることができるパケットに関する一般的構造の例示的実施態様のブロック図である。
【図６Ｂ】図６Ｂは、プロトコル・バージョン要求またはバッテリー情報要求のために用いることができるパケットの例示的実施態様のブロック図である。
【図６Ｃ】図６Ｃは、プロトコル・バージョン応答パケットの例示的実施態様のブロック図である。
【図６Ｄ】図６Ｄは、バッテリー認証チャレンジ、バッテリー認証応答、またはバッテリー情報応答のために用いることができるパケットの例示的実施態様のブロック図である。
【図７Ａ】図７Ａは、バッテリー情報データ構造の例示的実施態様のブロック図である。
【図７Ｂ】図７Ｂは、バッテリー充電／放電データ構造の例示的実施態様のブロック図である。
【図８】図８は、スマートバッテリーを認証するために、図１に示すモバイル通信機器の主プロセッサによって採用される認証プロセスの例示的実施態様のフローチャートである。
【図９】図９は、純正であり得る（または純正ではないかもしれない）スマートバッテリーを有するモバイル通信機器の典型的な動作を示すフローチャートである。
【図１０】図１０は、スマートバッテリーを有するモバイル通信機器を製造するための例示的製造プロセスのフローチャートである。
【図１】
2009512035.tif 000003
【図２】
2009512035.tif 000004
【図３】
2009512035.tif 000005
【図４】
2009512035.tif 000006
【図５Ａ】
2009512035.tif 000007
【図５Ｂ】
2009512035.tif 000008
【図５Ｃ】
2009512035.tif 000009
【図６Ａ】
2009512035.tif 000010
【図６Ｂ】
2009512035.tif 000011
【図６Ｃ】
2009512035.tif 000012
【図６Ｄ】
2009512035.tif 000013
【図７Ａ】
2009512035.tif 000014
【図７Ｂ】
2009512035.tif 000015
【図８】
2009512035.tif 000016
【図９】
2009512035.tif 000017
【図１０】
2009512035.tif 000018
【国際調査報告】
2009512035.tif 000019
2009512035.tif 000020
2009512035.tif 000021