説明

モバイルデバイスのためのバッテリーパックの認証

本明細書では、スマートバッテリーをその使用に先立って認証するモバイル通信機器について、様々な実施態様が説明される。モバイル機器には、主プロセッサおよびデバイス・メモリが含まれる。デバイス・メモリには、認証に用いられるセキュリティ情報の第一部分および第二部分が保存される。スマートバッテリーには、バッテリー・プロセッサおよびバッテリー・メモリが含まれる。バッテリー・メモリには、認証に用いられるセキュリティ情報の第三部分が保存される。主プロセッサは、セキュリティ情報の第一部分を含む認証要求をバッテリー・プロセッサへ送出し、バッテリー・プロセッサは、セキュリティ情報の第一部分および第三部分に基づいて応答を生成し、生成された応答を主プロセッサへ送出する。生成された応答がセキュリティ情報の第二部分と一致すると、スマートバッテリーは認証される。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2005年10月14日に出願された米国仮特許出願第60/726,164号の優先権を主張する。
【0002】
ここに説明される実施態様は、スマートバッテリーを有するモバイル機器に関するものである。
【背景技術】
【0003】
(背景)
モバイル無線機器や個人用携帯型情報端末などの周辺機器では、内蔵型バッテリーパックなどの内蔵型手段による電力供給が可能である。内蔵バッテリーパックは、一つ以上のバッテリーからなるアセンブリであり、ある一定の電荷容量を提供する。バッテリーパックが異なれば、荷電容量や、例えば、4.2Vや4.4Vなどの終端電圧が異なり、さらには充電/放電特性も異なる。通常、バッテリーパックは、バッテリーの型式を示すバッテリーID抵抗器を備えており、それによって当該バッテリーパックの電荷容量を確定することができる。
【0004】
電荷容量とバッテリーのタイプは、様々な理由から重要である。例えば、充電可能なバッテリーの場合、適正な電荷容量に、かつ、適正なレートで、当該バッテリーを充電することが重要である。バッテリーが過充電されると、当該バッテリーとそれを使用するモバイル機器の双方が損傷する可能性がある。このような状況が生ずる可能性は、市場に存在する偽造バッテリーの数の増加と共に高まっている。バッテリーID抵抗器を有するバッテリーパックの場合、バッテリーID抵抗器の抵抗値を読み取り、これと同じ抵抗値を有する抵抗器を有する偽造バッテリーパックを製造することは容易である。しかし、偽造バッテリーに限らず第三者製造による非公認バッテリーのいくつかは、一般に、純正バッテリーの電荷容量を備えておらず、要求される安全防護回路を備えていない場合もあり、モバイル機器が採用する充電方法との互換性がなく、したがって、充電時や通常使用の際に重篤な故障を生じる可能性がある。偽造バッテリーパックに対処する方法の一つは、セキュリティ機能の提供のために用いることのできる埋め込み型マイクロプロセッサを備えた「スマートバッテリー」の使用であるかもしれない。
【0005】
さらに、モバイル無線機器は、通常、使用できる様々なバッテリーパックに関する情報を保持している。例えば、モバイル無線機器は、様々なバッテリーパックの充電/放電特性に関する情報を保持することができる。この情報は、荷電容量対電圧に関する情報を提供する参照テーブル(LUT)の形式をとる場合がある。LUTの情報は、バッテリーの荷電容量情報を計算してモバイル無線機器の使用者に提示するために、モバイル無線機器によって使用されることが可能である。しかし、一旦モバイル無線機器が市場へ投入されると、モバイル無線機器と新しいバッテリーとの間の互換性を維持することが困難となる。なぜなら、モバイル無線機器に保存されたバッテリー情報は、これらの新しいバッテリーにとっては古い情報となるからである。各バッテリー型式はユニークな特性を備えており、そのような特性は、バッテリー・モニタリング・ソフトウェアにとって必要な知識である。モバイル無線機器と共に出荷されるバッテリー・モニタリング・ソフトウェアは、異なるバッテリーパックを識別でき、よってバッテリーパックを最大の充電レートで充電できるだけでなく、バッテリーパックのタイプに特有のバッテリー曲線を使用できなければならない。これらの点は、機器と共に出荷されるバッテリーを変更できるように、また、使用者が将来的にいかなる不具合も経験することなくバッテリーを変更できるように、必要な要件である。データの更新はソフトウェアのアップグレードを通じて実施可能であるが、使用者は、自身のモバイル無線機器の更新を行うことを煩わしいと思っている。
【発明の開示】
【課題を解決するための手段】
【0006】
(概要)
ある態様では、本明細書で説明される実施態様の内の少なくとも一つにより、モバイル通信機器が提供され、このモバイル通信機器は、モバイル通信機器の動作を制御するための主プロセッサと;主プロセッサにつながれたデバイス・メモリであって、認証に用いられるセキュリティ情報の第一部分および第二部分を保存するように適合されたデバイス・メモリと;主プロセッサにつながれたスマートバッテリーであって、モバイル機器へ電力を供給するように適合されたスマートバッテリーと、を備える。このスマートバッテリーは:スマートバッテリーの動作を制御し、主プロセッサと通信するためのバッテリー・プロセッサと;バッテリー・プロセッサにつながれ、認証に用いられるセキュリティ情報の第三部分を含む情報を保存するように適合されたバッテリー・メモリと、を備えている。主プロセッサは、バッテリー・プロセッサへセキュリティ情報の第一部分を含む認証要求を送出するように構成されており、バッテリー・プロセッサは、セキュリティ情報の第一部分と第三部分とに基づいて応答を生成し、生成された応答を主プロセッサへ送出するように構成されており、生成された応答がセキュリティ情報の第二部分と一致する場合にスマートバッテリーが認証される。
【0007】
セキュリティ情報の第一部分および第二部分は、セキュリティ情報の第三部分と異なる。
【0008】
セキュリティ情報の第一部分は、事前計算済みチャレンジ(pre−computed challenge)を含んでおり、情報の第二部分は、暗号化方法および秘密キーで事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の第三部分は、暗号化方法および秘密キーを含んでおり、暗号化方法および秘密キーは、スマートバッテリーにのみ保存される。
【0009】
主プロセッサによって認証要求がなされた後、バッテリー・プロセッサは、事前計算済みチャレンジ、秘密キーおよび暗号化方法に基づいて応答を生成するように構成されており、その生成された応答が、デバイス・メモリに保存された対応する事前計算済み応答と一致する場合にスマートバッテリーが認証される。
【0010】
デバイス・メモリに保存されたセキュリティ情報の第一部分および第二部分は、他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有のものであり得る。
【0011】
スマートバッテリーの認証が失敗した場合、主プロセッサを、低電圧状態が存在する場合にスマートバッテリーを最小電荷容量まで充電させることができるように構成することができる。
【0012】
あるいは、スマートバッテリーの認証が失敗した場合、主プロセッサを、モバイル機器が限られた時間にわたって動作を継続することができるように、かつスマートバッテリーの充電ができないように構成することができる。
【0013】
セキュリティ情報の第一部分および第二部分の複数のセットをデバイス・メモリ上に保存することができ、主プロセッサを、セキュリティ情報の第一部分および第二部分の複数セットの一つ以上を用いてスマートバッテリーの認証を実行するように構成することができる。
【0014】
主プロセッサおよびスマートバッテリーは、最大データ転送速度が約300ビット/秒のデータ回線を介してつながれている。
【0015】
もう一つの態様では、本明細書で説明される実施態様の内の少なくとも一つにより、スマートバッテリーを認証するための方法が提供され、この方法は、主プロセッサ、デバイス・メモリ、ならびにバッテリー・プロセッサおよびバッテリー・メモリを含むスマートバッテリーを含むモバイル通信機器で用いられる。この方法は:
認証に用いられるセキュリティ情報の第一部分および第二部分をデバイス・メモリ上に保存する工程と;
認証に用いられるセキュリティ情報の第三部分をバッテリー・メモリ上に保存する工程と;
主プロセッサからスマートバッテリーへ、認証要求およびセキュリティ情報の第一部分を送出する工程と;
スマートバッテリーにおいてセキュリティ情報の第一部分および第三部分に基づいて応答を生成し、生成された応答を主プロセッサへ送出する工程と;
主プロセッサにおいて生成された応答をセキュリティ情報の第二部分と比較し、生成された応答がセキュリティ情報の第二部分と一致する場合にスマートバッテリーを認証する工程と、を含んでいる。
【0016】
セキュリティ情報の第一部分は、事前計算済みチャレンジを含んでおり、情報の第二部分は、暗号化方法および秘密キーでその事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の第三部分は、暗号化方法および秘密キーを含んでいる。
【0017】
非認証の場合、方法は、非認証が主プロセッサとバッテリー・プロセッサとの間のデータ送信上のデータ送信エラーによるものではないことを確認するために、複数回にわたって認証を繰り返す工程を含むことができる。
【0018】
方法は、他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有であるところのセキュリティ情報の第一部分および第二部分をデバイス・メモリに保存する工程を含むことができる。
【0019】
スマートバッテリーの認証が失敗した場合、方法は、低電圧状態が存在する場合にスマートバッテリーを最小電荷容量まで充電させる工程を含むことができる。
【0020】
スマートバッテリーの認証が失敗した場合、方法は、限られた時間にわたってモバイル通信機器の動作を継続させ、スマートバッテリーの充電をさせない工程を含むことができる。
【0021】
方法は、デバイス・メモリ上にセキュリティ情報の第一部分および第二部分の複数のセットを保存し、セキュリティ情報の第一部分および第二部分のこれら複数セットの一つ以上を用いてスマートバッテリーの認証を実行する工程を含むことができる。
【0022】
方法は、主プロセッサとスマートバッテリーとを、約300ビット/秒の最大データ転送速度を有するデータ回線でつなぐ工程を含むことができる。
【0023】
方法は、認証が失敗した場合にスマートバッテリーの充電を阻止する工程を含むことができる。
【0024】
方法は、事前計算済みチャレンジを暗号化する工程を含むことができる。
【0025】
方法は、事前計算済みチャレンジのための不規則な数字を生成する工程を含むことができる。
【0026】
もう一つの態様では、本明細書で説明される実施態様の内の少なくとも一つにより、モバイル通信機器に用いられるスマートバッテリーを製造する方法が提供される。この製造方法は:
モバイル通信機器によるスマートバッテリーとの通信およびスマートバッテリーの認証を可能にするために、スマートバッテリー用の通信プロトコルおよびセキュリティ・プロトコルを指定する工程と;
スマートバッテリーを組み立てる工程と;
セキュリティ・プロトコルおよび通信プロトコルをスマートバッテリー上に実装する工程であって、スマートバッテリー内だけの安全なメモリに秘密キーおよび暗号化方法を保存する工程が含まれる工程と;
秘密キーおよび暗号化方法に対応するチャレンジおよび応答のペアをモバイル機器上に保存する工程と;
モバイル通信とスマートバッテリーとの間でセキュリティ・プロトコルおよび通信プロトコルを試験する工程と、を含んでいる。
【発明を実施するための最良の形態】
【0027】
本明細書で説明される実施態様をより良く理解するために、また、それらがどのように実施されるかをより明確に示すために、ほんの一例として、例示的実施態様を示した添付の図面を参照する。
【0028】
例示的実施態様に関するこれらおよびその他の特長については、以下でより詳細に説明される。
【0029】
図示する際の簡潔さおよび明確さのために、必要に応じ、対応するまたは類似の要素または工程を示すのに図面間で参照番号を繰り返し使用する場合がある。加えて、本明細書で説明される例示的実施態様の完全な理解を促すために、具体的詳細を多数示している。しかし、そのような具体的詳細がなくとも本明細書で説明される実施態様を実現できることは、通常の技術を有する当業者であれば理解されるところである。他の場面では、本明細書で説明される実施態様が分かりにくくなるのを避けるために、公知の方法、手順および構成要素についての詳細な説明を行っていない。さらに、これらの記載内容を、いかなる態様においても、本明細書で説明される実施態様の範囲を限定するものとして理解してはならず、むしろ、本明細書で説明される様々な実施態様の実行についての単なる説明として理解されたい。さらに、バッテリーパックという用語は、一つ以上のバッテリーまたは電池(cell)を有するバッテリーパックを指すものである。
【0030】
本明細書で説明される実施態様は、一般に、「スマートバッテリー」を用いるモバイル通信機器を対象とするデータ通信分野に適用できるものである。このスマートバッテリーとは、モバイル機器との情報伝達を可能にするバッテリー・プロセッサとその他関連回路を備えたバッテリーである。バッテリー・プロセッサとモバイル機器のプロセッサとの間では、様々なタイプの情報を伝達することができる。理解を促すために、本明細書の実施態様は、そのより詳細な説明において、主プロセッサと、バッテリー・インターフェースと、以下により詳細に説明されるバッテリー・プロセッサおよび関連電子装置を有するスマートバッテリーと、を備えたモバイル無線通信機器について説明される。しかし、当然のことながら、本明細書で説明される実施態様の構成および機能は、スマートバッテリーを充電するバッテリー充電器にも適用することができる。
【0031】
一般に、実施態様では、以降モバイル機器として言及されるモバイル通信機器が使用される。このモバイル通信機器は、高度なデータ通信機能を有し、他のモバイル通信機器などの他の計算機器と無線または有線により通信する機能を備えた二方向通信機器である。モバイル機器は、送受信基地のネットワークを介して他の機器と通信することができる。モバイル機器が音声通信機能を有する場合もある。しかし、モバイル機器が提供する機能やモバイル機器の構成に応じて、その名称は、データ・メッセージング機器、データ・メッセージング機能付き携帯電話、無線式システム手帳、無線式インターネット製品、個人用デジタル情報端末、スマートフォン、携帯型無線通信装置(電話機能有りまたは電話機能無し)、無線によりイネーブルされるノート型コンピュータなど、様々である。
【0032】
まず、図1を参照すると、そこに示されているのは、例示的一実施態様におけるモバイル機器100のブロック図である。モバイル機器100は多数の構成要素を備えており、制御を担当する構成要素は、モバイル機器100の働き全般を制御する主プロセッサ102である。データおよび音声の通信を含む通信機能は、通信サブシステム104を通じて実行される。通信サブシステム104は、無線ネットワーク200からメッセージを受信し、また、無線ネットワーク200へメッセージを送信する。モバイル機器100のある実現態様では、通信サブシステム104は、移動通信用グローバル・システム(GSM)や汎用パケット無線システム(GPRS)の標準規格に従って構成されている。GSM/GPRSの無線ネットワークは、世界中で利用されている。利用可能なその他の標準規格には、エンハンスト・データGSM環境(EDGE)、ユニバーサル・モバイル・テレコミュニケーションズ・サービス(UMTS)、符号分割多重アクセス方式(CDMA)、そしてインテリジェント・デジタル・エンハンスト・ネットワーク(iDENTM)が含まれる。新しい標準規格の定義は現在も続けられているが、それらは、本明細書で説明されるネットワーク挙動に対して類似性があると考えられており、本明細書で説明される実施態様において、将来的に開発されるその他適切な標準規格を利用できることは、当業者によって理解されるところである。通信サブシステム104を無線ネットワーク200に接続する無線リンクは、一つまたはそれ以上の異なる無線周波数(RF)チャネルであり、GSM/GPRS通信のために規定された確定プロトコルに従って機能している。より新しいネットワーク・プロトコルにより、これらのチャネルは、回線交換方式の音声通信およびパケット交換方式のデータ通信の双方をサポートすることが可能である。
【0033】
ある実現態様では、モバイル機器100に関連する無線ネットワーク200はGSM/GPRS無線ネットワークであるが、他の実現態様では、モバイル機器100に他の無線ネットワークを関連させることも可能である。異なるタイプの無線ネットワークのうち採用可能なものには、例えばデータ処理を中心とする無線ネットワーク、音声処理を中心とする無線ネットワーク、ならびに同一の物理的基地局を介して音声およびデータ双方の通信をサポートできるデュアルモード・ネットワークが含まれる。複合型のデュアルモード・ネットワークには、符号分割多重アクセス方式(CDMA)もしくはCDMA2000方式のネットワーク、iDENネットワーク、GSM/GPRSネットワーク(上述の通り)、ならびにEDGEやUMTSなどの将来型第三世代(3G)ネットワークが含まれるが、これらに限定されるものではない。データ処理を中心とするネットワークのその他の例としては、WiFi 802.11、MobitexTM、DataTACTMなどのネットワーク通信システムが挙げられる。音声処理を中心とするネットワークのその他の例としては、GSMや時間分割多重アクセス(TDMA)などのパーソナル・コミュニケーション・システムズ(PCS)ネットワークが挙げられる。
【0034】
主プロセッサ102は、ランダム・アクセス・メモリ(RAM)106、デバイス・メモリ108、表示装置110、予備入力/出力(I/O)サブシステム112、データ・ポート114、キーボード116、スピーカー118、マイクロフォン120、短距離通信装置122、その他のデバイス・サブシステム124などの付加的サブシステムとも相互に作用する。
【0035】
モバイル機器100のサブシステムのいくつかは通信関連の機能を実行するが、一方、その他のサブシステムは、「常駐の」または機器上の機能を提供することができる。一例として、表示装置110およびキーボード116は、ネットワーク200を介した送信のためのテキスト・メッセージの入力などの通信関連機能、および計算機やタスク・リストなどの機器に常駐する機能の双方について、使用することができる。主プロセッサ102によって使用されるオペレーティング・システムのソフトウェアは、通常、デバイス・メモリ108などの永久記憶エリアに保存される。このデバイス・メモリは、読込専用メモリ(ROM)または類似の記憶要素(図示されず)とすることができる。あるケースでは、デバイス・メモリ108をフラッシュメモリとすることができる。オペレーティング・システム、特定のデバイス・アプリケーション、またはそれらの一部をRAM106などの揮発性記憶エリアに一時的にロードできることは、当業者においては理解されるところである。
【0036】
要求されるネットワーク登録または起動手順が完了した後は、モバイル機器100は、無線ネットワーク200を介して通信信号を送受信することができる。ネットワーク・アクセスは、加入者またはモバイル機器100の使用者に割り当てられる。加入者の識別に関しては、ネットワーク通信を行うために、モバイル機器100において、SIM/RUIMインターフェース128へのSIM/RUIMカード126(すなわち、加入者識別モジュールまたはリムーバブル使用者識別モジュール)の挿入が求められる場合がある。したがって、SIMカード/RUIM126およびSIM/RUIMインターフェース128は、もっぱらオプションである。
【0037】
SIMカードまたはRUIM126は、モバイル機器100の加入者を識別するために、あるいは他の機器の中でモバイル機器100を個人専用化するために用いることのできる、従来の「スマート・カード」の一形式である。SIMカード126がなければ、モバイル機器100は、無線ネットワーク200による通信を十分に実行することができない。SIMカード/RUIM126をSIM/RUIMインターフェース128へ挿入することにより、加入者は、加入した全てのサービスにアクセスすることができる。サービスには、ウェブ閲覧や、電子メール、音声メール、ショート・メッセージ・サービル(SMS)、マルチメディア・メッセージング・サービス(MMS)などのメッセージングが含まれる場合がある。より進んだサービスには、販売時点管理、フィールド・サービス、およびセールス・フォース・オートメーションが含まれる場合がある。SIMカード/RUIM126は、プロセッサと情報保存のためのメモリとを備えている。一旦SIMカード/RUIM126がSIM/RUIMインターフェース128へ挿入されると、SIMカード/RUIM126は主プロセッサ102と連動する。加入者を識別するために、SIMカード/RUIM126は、国際移動電話加入者識別番号(IMSI)などの使用者パラメータを含んでいる。SIMカード/RUIM126を用いることの利点は、加入者が必ずしも単一の物理的モバイル機器に拘束される必要はない、という点である。また、SIMカード/RUIM126には、メモ帳(またはカレンダー)情報や最近の発信に関する情報など、モバイル機器についての追加的加入者情報が保存される場合もある。あるいは、デバイス・メモリ108に使用者識別情報をプログラムすることも可能である。
【0038】
モバイル機器100はバッテリーを電源とする機器であり、スマートバッテリー130とのインターフェースのためのバッテリー・インターフェース132を備えることができる。この場合、バッテリー・インターフェース132は、バッテリー130によるモバイル機器100への電力供給を支援する電源管理モジュール134とも連動する。また、主プロセッサ102は、情報共有のために、電源管理モジュール134とも連動することができる。しかし、別の実施態様では、スマートバッテリー130によるバッテリー・インターフェース132の実現が可能である;これらの両構成要素については、以下でより詳細に説明される。
【0039】
主プロセッサ102は、そのオペレーティング・システムの機能に加え、モバイル機器100上でのソフトウェア・アプリケーション136の実行を可能にする。データおよび音声通信アプリケーションなど、基本的機器操作を制御するソフトウェア・アプリケーション136の一部は、通常、製造時にモバイル機器100にインストールされる。ソフトウェア・アプリケーション136には、電子メール・プログラム、ウェブ・ブラウザ、アタッチメント・ビューワーなどが含まれる場合がある。
【0040】
モバイル機器100には、さらに、機器状態モジュール138、アドレス帳140、個人情報管理部(PIM)142、およびその他モジュール144が含まれる。機器状態モジュール138は持続性を提供することができる。すなわち、機器状態モジュール138により、重要な機器データがデバイス・メモリ108などの持続的メモリに保存され、よって、モバイル機器100の電源が切られても、あるいは同機器が電源を喪失しても、データが失われないことが保証される。アドレス帳140は、使用者のために、連絡先リストに関する情報を提供することができる。アドレス帳の中の任意の一連絡先について、様々な情報の中でも特に、氏名、電話番号、勤務先住所、連絡用電子メール・アドレスなどの情報を含むことができる。その他モジュール144には、構成モジュール(図示されず)だけではなく、SIM/RUIMインターフェース128と関連して用いることのできるその他のモジュールも含まれる場合がある。
【0041】
PIM142は、加入者にとって興味深いデータ項目を整理および管理する機能を有する。これらのデータ項目は、電子メール、行事予定、音声メール、アポイントメント、タスク項目などであるが、これらに限定されるわけではない。PIMアプリケーションは、無線ネットワーク200を介してデータ項目を送信および受信する能力を有する。PIMデータ項目は、無線ネットワーク200を介して、ホストコンピュータ・システムでの保存および/または関連付けがなされたモバイル機器加入者の関連データ項目とシームレスに統合、同期および更新されてもよい。この機能により、それらの項目との関連で、モバイル機器100上にホストコンピュータがミラーリングされる。この点は、当該ホストコンピュータがモバイル機器加入者のオフィスのコンピュータ・システムである場合、特に有利となり得るものである。
【0042】
追加アプリケーションについては、無線ネットワーク200、予備I/Oサブシステム112、データ・ポート114、短距離通信サブシステム122、その他適切なデバイス・サブシステム124の内の少なくとも一つを介して、モバイル機器100へロードすることも可能である。アプリケーションのインストールにおけるこのようなフレキシビリティにより、モバイル機器100の機能性が増大し、さらには、改善された機器機能や通信関連機能あるいはその両方を提供することができる。例えば、安全確実な通信アプリケーションにより、電子商取引やその他金融取引を、モバイル機器100を用いて実行することを可能とすることができる。
【0043】
データ・ポート114は、加入者が外部機器やソフトウェア・アプリケーションを通じて基本設定を行うことを可能とし、さらには、無線通信ネットワークを介することなしに情報やソフトウェアをモバイル機器100へダウンロードすることにより、モバイル機器100の機能を拡張する。この代替的ダウンロード経路は、安全確実な機器通信を提供するための直接的な、ひいては確実かつ信頼できる接続を通じて、例えば、暗号化キーをモバイル機器100へロードするのに用いてもよい。
【0044】
データ・ポート114は、モバイル機器100ともう一つのコンピュータ・デバイスとの間のデータ通信を可能にする適切なポートであればどのようなものでもよい。データ・ポートは、シリアル・ポートでもパラレル・ポートでもよい。ある事例では、データ・ポート114は、データ転送のためのデータ回線と、モバイル機器100を充電するための充電電流を提供することのできる供給線と、を含むUSBポートであってもよい。
【0045】
短距離通信サブシステム122は、無線ネットワーク200を使用することなしに、モバイル機器100と別のシステムまたは機器との間の通信を提供する。例えば、サブシステム122には、短距離通信のための赤外線装置や関連する回路および構成要素が含まれる場合がある。短距離通信の標準規格の例には、赤外線通信協会(IrDA)によって開発された規格、ブルートゥース、そして、IEEEによって開発された802.11規格ファミリーが含まれる。
【0046】
使用においては、テキスト・メッセージ、電子メール・メッセージ、あるいはウェブページのダウンロードのような受信信号は、通信サブシステム104によって処理され、主プロセッサ102へ入力される。そうして、主プロセッサ102は、当該受信信号を処理し、表示装置110あるいは代替的に予備I/Oサブシステム112への出力を得る。また、加入者は、表示装置110や、場合によっては予備I/Oサブシステム112と連動しながらキーボード116を用いて、例えば、電子メール・メッセージなどのデータ項目を作成することもできる。予備サブシステム112には、タッチスクリーン、マウス、トラックボール、赤外線指紋検出器、動的ボタン押し機能を備えたローラー・ホイールなどのデバイスが含まれる場合がある。キーボード116は、英数字キーボードおよび/またはテレフォン式キーパッドであることが好ましい。しかし、その他のタイプのキーボードも使用することができる。作成された項目は、通信サブシステム104を通じ、無線ネットワーク200を介して送信することができる。
【0047】
音声通信に関しては、モバイル機器100の全般的な働きは、受信信号がスピーカー118へ出力される点、および送信用信号がマイクロフォン120によって生成される点を除き、実質的に類似している。音声メッセージ録音サブシステムのような代替的な音声またはオーディオI/Oサブシステムについても、それらをモバイル機器100上に実装することができる。音声またはオーディオ信号の出力は主にスピーカー118を通じて行われるが、発呼者の身元、音声コールの継続時間、その他音声コールに関連する情報などの追加情報を提供するために、表示装置110を用いることも可能である。
【0048】
次に図2を参照すると、図1の通信サブシステム構成要素104の例示的実施態様のブロック図が示されている。通信サブシステム104は、受信器150および送信器152、さらには、一つ以上の内蔵型または内部アンテナ素子154、156、局部発振器(LO)158、無線通信用通信プロセッサ160などの関連構成要素を具備している。通信プロセッサ160はデジタル信号プロセッサ(DSP)でもよい。通信サブシステム104の詳しい設計が、モバイル機器100の使用が意図されている通信ネットワークに依存する場合があることは、通信分野の当業者においては明白なところである。したがって、当然のことながら、図2に図示されている設計は例示的なものである。
【0049】
無線ネットワーク200を介し、アンテナ154によって受信された信号は、信号増幅、周波数ダウン・コンバージョン、フィルタリング、チャネル選択、アナログデジタル(A/D)変換などの一般的な受信器機能を実行できる受信器150へ送られる。受信信号のA/D変換により、復調や復号などのより複雑な通信機能を通信プロセッサ160によって実行することが可能となる。同様に、送信信号については、通信プロセッサ160によって変調や符号化などの処理が行われる。これらの処理された信号は送信器152へ送られ、デジタルアナログ(D/A)変換、周波数アップ・コンバージョン、フィルタリング、増幅、そしてアンテナ156を介した無線ネットワーク200上への送信が行われる。通信プロセッサ160は、通信信号を処理するだけでなく、受信器および送信器の制御も行う。例えば、受信器150および送信器152の内部で通信信号に適用されるゲインは、通信プロセッサ160で実行される自動ゲイン制御アルゴリズムを通じて適応制御することができる。
【0050】
モバイル機器100と無線ネットワーク200との間の無線リンクには、一つ以上の異なるチャネル、典型的には異なるRFチャネル、ならびにモバイル機器100と無線ネットワーク200との間で用いられる関連プロトコルが含まれる場合がある。RFチャネルは、主として全体的な帯域幅の制限やモバイル機器100の有限のバッテリー電源によって節約しなければならない有限のリソースである。
【0051】
モバイル機器100が完全に機能している場合、通常、送信器152は、無線ネットワーク200への送信時のみ機能するかあるいは電源が入れられ、それ以外はリソースの節約のために電源が切られる。同様に、受信器150は、(仮に指定された時間枠の定めがある場合)そのような時間枠において信号または情報を受信する必要が生じるまで、電源の節約のために定期的に電源が切られる。
【0052】
次に図3を参照すると、無線ネットワーク200のノードの例示的実施態様のブロック図が202として示されている。実際には、無線ネットワーク200は一つ以上のノード202を含んでいる。モバイル機器100はノード202と通信する。図3の例示的実現態様では、ノード202は、汎用パケット無線システム(GPRS)および移動用グローバル・システム(GSM)技術に従って構成される。ノード202には、関連するタワー局206を有する基地局制御部(BSC)204、GSMにおけるGPRSサポートのために追加されたパケット制御ユニット(PCU)208、モバイル交換センター(MSC)210、ホーム位置レジスタ(HLR)212、ビジター位置レジストリ(VLR)214、サービス用GPRSサポート・ノード(SGSN)216、ゲートウェイ用GPRSサポート・ノード(GGSN)218、そして、動的ホスト構成プロトコル(DHCP)220が含まれる。この構成要素のリストは、GSM/GPRSネットワークにおける各ノード202の構成要素の網羅的リストを意図したものではなく、むしろ、無線ネットワーク200を通じた通信において用いることのできる構成要素のリストである。
【0053】
GSMネットワークにおいては、MSC210は、回線交換要件を満足させるために、BSC204と、さらには、公衆交換電話網(PSTN)222などの有線ネットワークとつながれる。PCU208、SGSN216およびGGSN218を介したパブリックまたはプライベートのネットワーク(インターネット)224(ここでは、一般に、共有ネットワーク・インフラストラクチャーとも言及される)への接続は、GPRSの機能を有するモバイル機器のためのデータパスを意味している。GPRS機能によって拡張されたGSMネットワークにおいては、BSC204は、セグメンテーションや無線チャネル割当を制御するために、また、パケット交換要件を満足させるために、SGSN216と接続するパケット制御ユニット(PCU)208も含んでいる。回線交換管理およびパケット交換管理の両方に対するモバイル機器の位置および可用性を追跡するために、HLR212は、MSC210とSGSN216との間で共有される。VLR214へのアクセスは、MSC210によって制御される。
【0054】
局206は、固定の送受信局である。局206およびGSC204は共に、固定の送受信設備を形成する。この固定送受信設備は、一般に「セル」と称される特定のカバレージ・エリアのための無線ネットワーク・カバレージを提供する。この固定送受信設備は、当該セル内において、局206を介し、モバイル機器へ通信信号を送信し、また、モバイル機器から通信信号を受信する。通常、固定送受信設備は、モバイル機器100へ送信される信号の変調、場合によっては、その符号化および/または暗号化などの機能を実行する。これは、通常は予め定められた特定の通信プロトコルおよびパラメータに従って、その制御部の制御を受けながら実行される。同様に、固定送受信設備は、当該セル内において、モバイル機器100から受信される通信信号を復調し、場合によっては、必要に応じ、同信号の復号および解読を行う。通信プロトコルおよびパラメータは、異なるノード間で異なる場合がある。例えば、あるノードは、他のノードとは異なる変調方式を採用している場合があり、異なる周波数で機能している場合がある。
【0055】
特定のネットワークにおいて登録された全てのモバイル機器100に関し、使用者プロフィールなどの恒久的なコンフィギュレーション・データは、HLR212に保存される。また、HLR212は、登録された各モバイル機器に関する位置情報も収容しており、モバイル機器の現在位置を確定するために、クエリを実行することができる。MSC210は、グループ化された複数の位置エリアを管轄し、その管轄エリア内に現在するモバイル機器のデータをVLR214に保存する。さらに、VLR214は、他のネットワークに入っているモバイル機器に関する情報も収容する。VLR214内の情報には、より早いアクセスのためにHLR212からVLR214へ送られる恒久的モバイル機器データの一部が含まれる。遠隔位置にあるHLR212ノードからVLR214へ追加情報を移すことにより、これらノード間のデータ転送量を減少させ、よって、より早い応答時間で音声サービスおよびデータ・サービスを提供することができ、同時に計算リソースの使用量の低減が可能となる。
【0056】
SGSN216およびGGSN218は、GSMにおいて、GPRSのサポート用、すなわちパケット交換データのサポート用に加えられた要素である。SGSN216およびMSC210は、各モバイル機器100の位置を追跡することにより、無線ネットワーク200内において同様の役割を演ずる。また、SGSN216は、無線ネットワーク200上のデータ通信に関わるセキュリティ機能やアクセス制御も実行する。GGSN218は、外部のパケット交換ネットワークとのインターネットワーキング接続を提供し、ネットワーク200内で機能するインターネット・プロトコル(IP)基幹ネットワークを介して一つ以上のSGSN216と接続する。通常の運用では、あるモバイル機器100は、IPアドレスを取得し、データ・サービスにアクセスするために、「GPRSアタッチ」を実行しなければならない。この要件は、回線交換音声チャネルには存在しないが、これは、出入りするコールのルーティングのために総合デジタル通信網(ISDN)のアドレスが使用されるからである。現行では、GPRSが可能な全てのネットワークは、プライベートかつ動的に割り当てられたIPアドレスを使用しており、したがってDHCPサーバー220のGGSN218への接続が求められる。動的IPアドレスの割り当てに関しては数多くのメカニズムが存在し、これには、遠隔認証ダイアルイン・ユーザー・サービス(RADIUS)サーバーとDHCPサーバーとの組合せの利用などが含まれる。一旦GPRSアタッチが完了すると、PCU208およびSGSN216を通じて、モバイル機器100からGGSN218内のアクセス・ポイント・ノード(APN)へ向かって論理結合が確立される。APNは、直接的インターネット互換サービスまたはプライベート・ネットワーク接続のいずれかにアクセスすることのできるIPトンネルの論理端を意味している。また、各モバイル機器100が一つ以上のAPNに割り当てられることが求められ、かつ、モバイル機器100は、使用が承認されているAPNに対するGPRSアタッチを最初に実行しなければデータ交換を実行できない限りにおいて、APNは、無線ネットワーク200のためのセキュリティ・メカニズムでもある。APNは、「myconnection.wireless.com」のような、インターネットのドメイン名に類似するものと考えてもよい。
【0057】
一旦GPRSアタッチが完了すると、トンネルが造られ、全てのデータ転送は、IPパケットでサポート可能なプロトコルを用いつつ、標準的IPパケットで交換される。これには、仮想プライベート・ネットワーク(VPN)で用いられるインターネット・プロトコル・セキュリティ(IPsec)接続の場合のように、アイピー・オーバー・アイピーなどのトンネル手法が含まれる。また、これらのトンネルは、パケット・データ・プロトコル(PDP)のコンテキストとしても言及され、無線ネットワーク200で使用できるこれらの数には制限がある。PDPコンテキストの使用を最大化するために、無線ネットワーク200は、各PDPコンテキストについてアイドル・タイマーを実行し、活動状態の有無を確定する。モバイル機器100がそのPDPコンテキストを使用していない場合、当該PDPコンテキストの割り当てを解除し、IPアドレスをDHCPサーバー220によって管理されるIPアドレス・プールへ返還することが可能である。
【0058】
次に図4を参照すると、そこに図示されているのは、モバイル機器100で用いることのできるスマートバッテリー130の例示的実施態様のブロック図である。スマートバッテリー130には、バッテリー・プロセッサ252、バッテリー・メモリ254、バッテリー・インターフェース256、スイッチおよび防護回路258、アナログデジタル変換器(図示されず)を含む計測回路260、そしてバッテリー・モジュール262が含まれる。バッテリー・モジュール262には、一つ以上のバッテリーが含まれ、それらは、通常、再充電可能である。バッテリーは、ニッケル−カドミウム、リチウム−イオン、その他適切な複合材料などから製作することができる。ある実現形態では、バッテリー・プロセッサ252として、米国アリゾナ州にあるMicrochip of Chandler社が製造するPIC10F202を用いることが可能である。これらのケースでは、バッテリー・プロセッサ252上の単一の汎用入力/出力(GPIO)ピンを主プロセッサ102へ接続することが可能であり、そうすることで、主プロセッサ102からの命令の受領や主プロセッサ102へのデータ提供が行われる。
【0059】
バッテリー・プロセッサ252は、スマートバッテリー130の働きを制御し、バッテリー・インターフェース256を介して主プロセッサ102と通信することができる。バッテリー・プロセッサ252には、レジスタ、スタック、カウンター、ウォッチドッグ・タイマー、そして、当業者には知られているように、プロセッサによって一般的に使用されるその他構成要素(全てが図示されているわけではない)が含まれる。また、バッテリー・プロセッサ252には、クロック(図示されず)を含めることも可能である。スマートバッテリー130は、バッテリー・メモリ254に情報を保存することができる。バッテリー・メモリ254は、揮発性メモリと不揮発性メモリとの組合せとしてもよい。
【0060】
計測回路260は、バッテリー電流、バッテリー電圧、バッテリー温度など、バッテリー・モジュール262の働きに関連する一定のデータを読み取るために、スマートバッテリー130による使用が可能である。これらの計測結果を用いて、バッテリー・モジュール262に残存する電荷容量を正確に見積もることができる。これらの計測を行うために、計測回路260には、アナログデジタル変換器(ADC)(図示されず)が含まれる。代替的な実施態様では、計測回路260の機能を実行するための回路をモバイル機器100に含めることができるため、計測回路260をオプションとすることができる。
【0061】
スイッチおよび防護回路258は、スマートバッテリー130を防護するために用いることができる。スイッチおよび防護回路258は、回路遮断器のように機能できるものであり、バッテリー・プロセッサ252または主プロセッサ102によってある一定の状況下で作動させ、スマートバッテリー130がその使用に際して損傷しないことを保証することができる。例えば、スイッチおよび防護回路258には、バッテリー・モジュール262の温度が高くなり過ぎた際にスマートバッテリー130の機能を無効にする温度ブレーカを含めることができる。また、温度ブレーカは、他の防護回路が故障した場合に、高電流負荷の状況下においてスマートバッテリー130を切り離すこともできる。また、スイッチおよび防護回路258は、短絡、低電圧状態、超過電圧による充電、バッテリー130に印加される逆極性などに対する防護としても機能することができる。したがって、スイッチおよび防護回路258は、バッテリー・モジュール262の充電、放電またはプレ充電の際に、また、バッテリー・セルのバランシングに際して、使用することもできる。追加の防護回路をバッテリー・インターフェース132に含めることができる。
【0062】
バッテリー・モジュール262は、バッテリー・プロセッサ130に電源を供給し、バッテリー・プロセッサ130は、システム電力バスを介するなど当業者に一般的に知られている接続を用いながら、バッテリー・インターフェース256を経由して主プロセッサ102に電源を供給する。バッテリー・インターフェース256と同じ機能を提供するバッテリー・インターフェース132がモバイル機器100に含まれるならば、バッテリー・インターフェース256はオプションである。この例示的実施態様の説明の残りの部分については、バッテリー・インターフェース132は存在しないこと、および、スマートバッテリー130はバッテリー・インターフェース256を提供していることが仮定される。ただし、その他の実施態様においてもそうである必要はない。
【0063】
次に図5Aを参照すると、そこに図示されているのは、主プロセッサ102をスマートバッテリー130につなぐのに用いることのできるバッテリー・インターフェース256の一部分の例示的実施態様の模式図である(供給電力接続は図示されていない)。バッテリーの識別(すなわち、型式、製造者、等々)のための従来的方法では、関連バッテリーIDデータ回線を備えた従来型バッテリーパック内のバッテリー識別抵抗器のみが用いられる。同様に、バッテリー・インターフェース256は、単一の通信回線302を介して、主プロセッサ102をスマートバッテリー130のSMART_BATバッテリー・データ回線につなぐ。SMART_BATバッテリー・データ回線は、スマートバッテリー130上の入力/出力ピンに接続される。しかし、スマートバッテリー130は、ホスト・プロセッサと通信するように構成される。このホスト・プロセッサは、バッテリーID抵抗器を有するバッテリーパックと共に機能するか、あるいは、以下により詳細に説明されるように、スマートバッテリーと共に機能するものである。
【0064】
バッテリー・インターフェース256は、主プロセッサ102とバッテリー・プロセッサ252との間の通信のための単一の通信回線302を有するので、また、主プロセッサ102は、バッテリー・プロセッサ252へデータを送信したり、バッテリー・プロセッサ252からデータを受信したりするので、通信回線302は、半二重通信回線として構成することができる。半二重通信回線を使用することにより、主プロセッサ102とバッテリー・プロセッサ252との間により多くの通信回線を準備することの必要性が軽減される。
【0065】
作動中のある瞬間において、データは、半二重通信回線を一方向に流れる。したがって、通信回線302は、主プロセッサ102上の送信ピン304および受信ピン306の両方に接続される。あるケースでは、主プロセッサ102上の送信ピン304および受信ピン306は、UART送受信ポート/ピンと共に実装することができる。主プロセッサ102は、通常使用においてはUARTインターフェースを用いるが、送信ピン304上での送信中は受信ピン306を無視する。
【0066】
さらに、半二重通信では、ある瞬間において、主プロセッサ102およびバッテリー・プロセッサ252のいずれか一方のみが通信していることが求められる。この要件は、プロセッサ102および252の一方をマスターとし、他方をスレーブとすることにより達成することができる。一般に、主プロセッサ102がマスターであり、バッテリー・プロセッサ252がスレーブである。
【0067】
ある実現態様では、スマートバッテリー130は、エネルギーを節約するために、自動的に可能な限りの最低電力状態で作動する。これは、スマートバッテリー130にスリープ・モードに入るよう命令するためにスマートバッテリー130に接続される主プロセッサが必ずしも存在しない場合があるからでもある。これらの問題を取り扱うために、ある実現態様では、全システム・リセット/スリープ・メカニズムとしてバッテリー・プロセッサ252のウォッチドッグ・タイマーを用いることにより、低電力消費および信頼性を実現することができる。しかし、符号化のエラーにより、クリアされたウォッチドッグ・タイマーの命令がループにコールされる状態に至る可能性があるため、ウォッチドッグ・カウントダウン・タイマーはリセットされるべきではない。ウォッチドッグ・タイマーのカウンターがゼロになった際、モバイル機器100はリセットされ、モバイル機器100は再起動する。しかし、ウォッチドッグ・タイマー/カウンターよりも長い時間を要する操作を実行すべき場合、当該操作が完了すること、そしてモバイル機器100が再起動しないことを保証するために、少なくとも一回ウォッチドッグ・タイマーをリセットすることができる。
【0068】
バッテリー・インターフェース256は、通信回線302上の静電放電(ESD)から主プロセッサ102を防護するための防護回路も含んでいる。ある実現態様では、防護回路をRCネットワークとすることができる。図5Aの例示的実施態様では、ESD防護を提供するためのRCネットワークには抵抗器R3とコンデンサC1が含まれる。抵抗器R2はプルアップ抵抗器として使用することができる。抵抗器R2の第一ノードは送信ピン304に接続され、抵抗器R2の第二ノードは受信ピン306に接続される。抵抗器R3の第一ノードは抵抗器R2の第二ノードに接続され、抵抗器R3の第二ノードはコンデンサC1の第一ノードに接続される。コンデンサC1の第二ノードは接地される。例示的実現態様では、抵抗器R2の抵抗値を1kΩ、抵抗器R3の抵抗値を150kΩ、そしてコンデンサC1の静電容量を15pFとすることができる。抵抗器R2の値は、バッテリー・データ回線(以下で説明される)のために選択されたESDネットワークに依存する。抵抗器R2は、主プロセッサ102が受信モードで作動している際に、プルアップ抵抗器として機能することができる。この例示的実施態様では、送信ピン304上の出力電圧は、モバイル機器100によって使用される通信チップセットに応じて、2.8Vまたは2.6Vとすることができる。CDMAチップセットの場合、2.6Vを使用することができる。
【0069】
防護回路のためにRCネットワークを使用することにより、通信回線302上のデータ転送速度が遅くなる。この例示的実現態様では、データ転送速度は、最大で約300ビット/秒である。しかし、データ転送速度にとって300ビット/秒という限界値はセキュリティの観点から見て有益となり得るものである。これは、遅いデータ転送速度の場合、第三者がスマートバッテリー130に保存されたセキュリティ・アルゴリズムを「不正取得」するのに、より多くの時間を要することになるからである。ある実施態様では、暗号化アルゴリズム(すなわち、暗号化手法)がバッテリー・プロセッサ252によって実行される場合、暗号化アルゴリズムを実行するのにより多くの時間を要するように当該アルゴリズムの計算の複雑さを調整することができ、そうすることによってもハッキングを抑止できる。
【0070】
あるケースでは、バッテリー・プロセッサ252をオープンドレイン・デバイスとして機能するように構成することができ、プルアップ抵抗器を主プロセッサ102と共に使用することができる。これは、Vcc電圧レベル、そしてバッテリー・プロセッサ252上の出力ドライブ電圧が、主プロセッサ102の送受信ピン304および306の定格電圧を超える可能性があるからである。この状況は、バッテリー・プロセッサ252が、トリステート・バッファを起動する(すなわち、オープンドレインとして機能する)のとは対照的に、高出力信号を駆動する場合に発生する可能性がある。送信回線304は、高状態でアイドリングするため、プルアップ抵抗器(すなわち、抵抗器R2)は、主プロセッサ102の送受信ピンの間に配置することができる。
【0071】
あるいは、従来型のバッテリーパックが用いられる場合、バッテリーID抵抗値は、SMART_BAT回線上の通信によって取得することができる。したがって、バッテリーID抵抗器をスマートバッテリー130へ組み込むことによっても、スマートバッテリー130は、バッテリーID抵抗器を有するバッテリーパックを用いるように製造されたモバイル機器との互換性を有するようになり、また、スマートバッテリーを用いるように製造されたモバイル機器との互換性を有するようになる。なお、バッテリーID抵抗器はスマートバッテリー130内に含まれる(図5C参照)。
【0072】
異なる電荷容量を有する異なるバッテリーによる作動を促進するために、例えば、スマートバッテリー130については式1および式2、主プロセッサ102については式3および式4に示されるように、電圧および電流に関する最大および最小の論理レベルを定義することができる。
【0073】
Vih=0.25*Vdd+0.8V (1)
Vil=0.15*Vdd (2)
Vil〜=0.3*(GPIO Vdd) (3)
Vih〜=0.7*(GPIO Vdd) (4)
例えば、終端電圧が4.4V(すなわち、Vdd=4.4V)のスマートバッテリーを考えた場合、Vih(max)=1.9VおよびVil(max)=0.66Vである。さらに、送受信ピン304、306上のVddがそれぞれ2.8Vおよび2.6Vで作動する主プロセッサを考えた場合、Vil(min)=0.78VおよびVih(max)=1.96Vである。
【0074】
次に図5Bを参照すると、そこに図示されているのは、モバイル機器100内で主プロセッサ102をスマートバッテリー130につなぐのに用いることのできるもう一つのバッテリー・インターフェース350の例示的実施態様の模式図である。このケースでは、バッテリー・インターフェース350には、バッテリー・インターフェース256で用いられたものに類似するRCネットワーク、ならびに二つのトリステート・バッファ354および356が含まれる。電源管理モジュール134は、入力ピン358を介してスマートバッテリー130のSMART_BATバッテリー・データ回線に接続される。
【0075】
トリステート・バッファは、論理レベルが高または低である信号を通過させることができ、制御入力の値に応じて出力から入力を切断することができる。トリステート・バッファ354の入力ノードは主プロセッサ252の送信ピン304に接続され、トリステート・バッファ354の出力ノードは、抵抗器R2を介して通信回線302に接続される。トリステート・バッファ356の入力ノードは通信回線302に接続され、トリステート・バッファ356の出力ノードは主プロセッサ102の受信ピン306に接続される。主プロセッサ102は、バッファ354の機能の無効化および有効化のためのTX_ENABLEピンも含み、バッファ354の制御入力に接続される。この例示的実現態様では、両トリステート・バッファ354および356は、論理低信号でその機能を有効化できる。さらに、ある実現態様では、トリステート・バッファ356の機能を常に有効化することができる;この点については、以下により詳細に説明する。したがって、トリステート・バッファ356の制御入力を接地することができる。
【0076】
スマートバッテリー130が取り外されたか否かを電源管理モジュール134が検出する場合、トリステート・バッファ354および356をスマートバッテリー130と共に用いることができる。バッテリーID抵抗器を備えたバッテリーパックが使用される場合、図5Aに示される実施態様においてバッテリー取外しの検出は問題とはならない。なぜならば、10μAのような電流は、バッテリーID抵抗器(図示されず)を通じて調達することができるからである。よって、結果的に生ずる電圧低下を測定することができ、モバイル機器100に依然としてバッテリーパックが取り付けられているか否かが決定される。バッテリー取外しの確認は様々な状況下で行われるが、その内の一つは、モバイル機器100がバッテリーを再充電している場合である。
【0077】
バッテリーの取外しを検出するために、代わりの実施態様を用いることもできる。例えば、コンパレータ回路(図示されず)をSMART_BATデータ回線に接続することができる。コンパレータ回路は、主プロセッサ102からは独立して動作することができ、バッテリーが取り外された際にリセット・パルスを生成し、このパルスを主プロセッサ102へ送信することができる。コンパレータの閾値は、GPIOレーティングで2.8/3.0V未満とすることができ、クランピングは問題とはならない。ある実施態様では、スマートバッテリー130内のサーミスタ(図示されず)を連続してポーリングすることができる。これは、主プロセッサ102上のUARTピンから分離された接続によって行うことができ、したがって、送信ピン304および受信ピン306の電圧クランピングは問題とはならない。ポーリングは、主プロセッサ102以外の他のプロセッサによって行うことができる。
【0078】
スマートバッテリーであれば、バッテリーIDをバッテリー・メモリ254に保存することができ、バッテリー・プロセッサ252は、この情報を主プロセッサ102へ送ることができる。これにより、スマートバッテリー130をソフトウェアによって認証し、当該スマートバッテリー130が偽造バッテリーではないことを保証することができる。認証プロセスの一部では、スマートバッテリー130がモバイル機器100へ挿入される度毎に、または、モバイル機器100の電源が入れられる度毎に、バッテリーIDの取得が実行される。それ以外は、通常、認証プロセスは繰り返されない。
【0079】
しかし、少なくともある実施態様では、スマートバッテリー130は、バッテリー・メモリ254にバッテリーIDを保存することができ、また、バッテリー識別(ID)抵抗器を含むこともできる。これにより、スマートバッテリー130を、バッテリーID抵抗器を探すだけのモバイル機器と後方互換(backward compatible)することができる。スマートバッテリー130は、バッテリーIDを取得するためにバッテリー・プロセッサ252と通信するモバイル機器とも互換性がある。両バッテリー・インターフェース256および350とも、バッテリーID抵抗器の測定を、さらには、主プロセッサ102とバッテリー・プロセッサ252との間の通信をサポートする。バッテリー・インターフェース256および350で用いられる構成要素により、ESD防護も提供される。バッテリー130の存在を検出するために、バッテリーID抵抗器を用いることもできる。
【0080】
電源管理モジュール134は、バッテリー130が依然としてモバイル機器100に接続されているか否かについて、独立してチェックすることができる。この特長は、割込みを用いて実行することができる。これは、通常、バッテリー130が充電されている最中に行われる。あるケースでは、バッテリーの取外しを検出するために、電源管理モジュール134がバッテリーID抵抗器に電流を流し、バッテリーID抵抗器における電圧が測定される。この電流は、10μAのオーダーとなる場合がある。電源管理モジュール134は、この電圧を、電源管理モジュール134内のアナログ/デジタル変換器(図示されず)に接続されている入力358を介して測定する。このプロセスの間、電源管理モジュール134は、スマートバッテリー130の存在を直接に感知し、電源管理モジュール134と主プロセッサ102との間を接続する必要はない。さらに、このとき、主プロセッサ102とスマートバッテリー130との間を接続する必要はない。したがって、あるケースでは、トリステート・バッファ354の機能を無効化することができる。バッファ354の機能の有効化/無効化は、ある一定のタイミングで(すなわち、バッテリーの挿入時など)実施することができ、バッテリー通信との干渉を起こさないように、電源管理モジュール134内の電流源(図示されず)を制御することができる。
【0081】
主プロセッサ102、バッテリー・プロセッサ252、および電源管理モジュール134が異なる電力レベルで作動できる事例が考えられる。したがって、ある一定の場合にバッテリー・プロセッサ252によって用いられるより高い電圧レベルから主プロセッサ102を防護するために、図5Bの実施態様を用いることができる。例えば、スマートバッテリー130が取り外された場合、SMART_BATデータ回線上の電圧は、4Vを超える閾値以上に上昇する。バッテリーの取外しがスマートバッテリー130の充電中に行われる場合、リセットおよび再起動するようにモバイル機器100を構成することができる。しかし、送信ピン304および受信ピン306は、このような高電圧を受け入れることができないかもしれない。これは、ある実現態様では、送信ピン304および受信ピン306は、それぞれ3.0/2.8Vの入力/出力電圧に対する定格のみを有し、バッテリーの取外しの検出用に電源管理モジュール134によって通常用いられる4Vを超える電圧をパスする代わりに、入力電圧を3.0/2.8Vにクランプするからである。バッファ354および356の特定の実現態様を選択し、主プロセッサ102とバッテリー・プロセッサ252と電源管理モジュール134との間の電圧互換問題の解決を支援する機能有効化/無効化制御信号を提供することができる。
【0082】
次に図5Cを参照すると、そこに図示されているのは、スマートバッテリー400のもう一つの例示的実施態様の一部分の模式図である。一般に、ここに示される実施態様の少なくともいくつかにおいては、バッテリー・プロセッサ252’をPIC10F202マイクロプロセッサとすることができる。バッテリー・プロセッサ252’には、汎用ピンGP0、GP1、GP2、GP3、ならびに電力供給ピンVddおよびVssが含まれる。スマートバッテリー400には、抵抗器R1b、R2b、R3b、およびコンデンサC1bが含まれる。抵抗器R1b、R2b、およびコンデンサC1bをバッテリー・インターフェース256の一部とすることができる。あるケースでは、バッテリー・モジュール262’の終端電圧を4.2Vまたは4.4Vとすることができる。
【0083】
SMART_BATデータ回線は、抵抗器R1bを通じて、バッテリー・プロセッサ252’の入力GP0に接続される。抵抗器R2bは、バッテリー・プロセッサ252’と通信できないモバイル機器との後方互換やその他の使用態様を可能にするバッテリーID抵抗器として用いることができる。バッテリーID抵抗器R2bの抵抗値は、バッテリー・モジュール262’の電荷容量を示すように、例えば、100kΩ、86.6kΩ、15kΩなど、様々な値とすることができる。
【0084】
コンデンサC1bおよび抵抗器R1bは、入力ピンGP0のためのESD防護を提供する。入力ピンGP0に対する更なるESD防護は、例えば、米国カリフォルニア州Camarillo市のSEMTECH社が製造するSMF05のようなダイオードアレイを接続することによって提供することができる。また、抵抗器R3bもGP3ピンのためのESD防護を提供する。スマートバッテリー400は、標準的なリチウム−イオン・電池防護回路(図示されず)を含むこともできる。ある例示的実現態様では、抵抗器R1bの抵抗値を100Ωとすることができ、抵抗器R2bの抵抗値を100kΩ、86.6kΩまたは15kΩとすることができ、抵抗器R3の抵抗値を100Ωとすることができ、そして、コンデンサC1bの静電容量を0.1μFとすることができる。
【0085】
バッテリー・プロセッサ252’は、GP0ピンを介して、論理レベルが高い信号(すなわち、2.8Vにおいて論理レベルが「1」など)および論理レベルが低い信号(すなわち、0Vにおいて論理レベルが「0」など)を直接読み取ることができる。「0」を書き込むには、汎用入力/出力ピンであるGP0ピンを出力ピンとして構成し、低くドライブする。「1」を書き込むには、GP0ピンを入力ピンとして構成し、(抵抗器R2を介して)主プロセッサ102によって高く引き上げる。あるケースでは、バッテリー・プロセッサ252’は、「1」をドライブしない。これは、そうすることで主プロセッサ102のハードウェアが損傷する可能性があるからである。
【0086】
偽造バッテリーパックは益々蔓延しつつあるが、これらのバッテリーパックは純正のバッテリーパックと同程度の容量ではない場合があるため、問題である。このような状況からは、偽造バッテリーパックの充電中にモバイル機器100が損傷するなど、様々な問題が生じる可能性がある。したがって、スマートバッテリー130のバッテリー・プロセッサ252は、暗号化アルゴリズムを実行することができる。このアルゴリズムは、主プロセッサ102によるスマートバッテリー130の認証を可能にし、同バッテリーが偽造バッテリーあるいはモバイル機器100での使用が承認されていないバッテリーパック(非承認バッテリーパックが十分な電荷容量や十分な防護回路を備えていないこと、充電特性が異なること、などの理由による)ではないことを保証するものである。
【0087】
一般に、現行のスマートバッテリーは、モバイル機器との認証に関し、秘密キーに基づく対称キー暗号を採用する。これは、従来型スマートバッテリーおよび従来型モバイル機器の双方が秘密キーをもっていることを意味する。スマートバッテリーについては、バッテリー・ハードウェア上に保存される情報を防護するためのカスタム設計が可能である。しかし、モバイル機器については、これに類似するハードウェア防護は存在しない。通常、モバイル機器は既製の構成要素を用い、したがって、秘密キーは、通常、標準的なフラッシュメモリ・チップに保管されている。フラッシュメモリのコンテンツは、おそらくはJTAGエミュレーションおよびデバッギングを通じて、あるいは、プリント基板からチップを取り外すことにより回復することができ、そうすることで秘密キーを回収することができる。一旦この秘密認証キーが回収されると、この秘密キー情報を用いて偽造バッテリーを製造することが可能となる。したがって、セキュリティ的に見た場合、そのような偽造スマートバッテリーは、純正のスマートバッテリーと同一のセキュリティ情報を有することとなり、よって、モバイル機器100は、これら二つのバッテリーを区別することができない。
【0088】
この問題に取り組むために、次のようなセキュリティ・プロトコルを用いることができる。主プロセッサ102は、スマートバッテリー130へチャレンジ・メッセージを送ることができる。チャレンジ・メッセージは、ランダムな数字とすることができる。バッテリー・プロセッサ252は、チャレンジ・メッセージを取り込み、暗号化アルゴリズム、チャレンジ・メッセージ、および秘密キーを用いて応答メッセージを生成する。スマートバッテリー130上での実行が可能な暗号化アルゴリズムであって、ハッカーによる秘密キーの確定がコンピュータ的にほぼ実行不可能な暗号化アルゴリズムを適時用いることができる。次に、主プロセッサ102は、応答メッセージを、モバイル機器100に保存された参照メッセージと比較する。一致した場合、それは、スマートバッテリー130が秘密キーを保有していることを示している。そうして、スマートバッテリー130は、使用に関して安全かつ承認された純正バッテリーとして確認される。しかし、通常、偽造バッテリーは秘密キーを保有していない。
【0089】
秘密キーは、モバイル機器100のデバイス・メモリ108には保存されないが、これは、モバイル機器100が安全ではない場合があるからである。しかし、スマートバッテリー130のバッテリー・メモリ254は安全であり、秘密キーはバッテリー・メモリ254に保存される。さらに、モバイル機器100上に複数のチャレンジおよび応答のペアを保存することができ、バッテリーパックの認証において、それらの内の任意の一つを用いることができる。ある実現態様では、チャレンジおよび応答のペアをモバイル機器100のNVRamに保存することができる。
【0090】
セキュリティのレベルを追加するために、固有のチャレンジおよび応答のペアを用いて各モバイル機器100をプログラムすることができる。これにより、仮に第三者があるモバイル機器のチャレンジおよび応答のペアを傍受したとしても、この第三者は、そのモバイル機器のチャレンジおよび応答の情報のみを入手したに止まることが保証される。その他のモバイル機器は、異なるチャレンジおよび応答のペアを用いる。したがって、もし、あるモバイル機器に関するチャレンジおよび応答の情報がコピーされ、偽造バッテリーに組み込まれたとしても、その偽造バッテリーは、その特定モバイル機器においてのみ用いることができ、それ以外のモバイル機器では作動しない。したがって、偽造者が、純正に見える偽造バッテリーの製造に成功するには、偽造者は、暗号化アルゴリズムと秘密キーを入手しなければならない。
【0091】
したがって、あるモバイル機器の製造において、一つ以上の固有のチャレンジを生成し、これに対応する応答を一定の秘密キーについて計算することができる。そして、チャレンジおよび応答のペアは、そのモバイル機器上に保存され、秘密キーは、そのモバイル機器で用いられるスマートバッテリー上に保存される。ある実施態様では、ある一定のフォームファクタのスマートバッテリーには、同一の秘密キーを与えることができる。これにより、あるモバイル機器について、スマートバッテリーの互換性が確保される。したがって、あるモバイル機器において、スマートバッテリーの紛失または損傷があった場合、スマートバッテリーを交換することができる。
【0092】
従来型のバッテリーパックは、主プロセッサ102による感知が可能なバッテリーID抵抗器を備えており、これにより、モバイル機器100にどのようなタイプのバッテリーパックが接続されているかが確定される。モバイル機器100には、モバイル機器100で用いることができる様々な異なるタイプのバッテリーに関するバッテリー情報プロフィールを保存することができる。通常、バッテリー情報プロフィールは、メモリ106に保存される。モバイル機器100は、モバイル機器100に挿入されるバッテリーパックに対応する特定のバッテリー情報プロフィールを使用する。バッテリー情報には、充電曲線や放電曲線などに関連する情報が含まれる。これらの曲線は、電圧対電荷容量をプロットしたものであり、参照テーブル(LUT)に保存することができる。LUT上で補間法を用いることができる。
【0093】
異なるバッテリーパックを異なるレートで充電できるので、電圧対電荷容量の曲線は有益である。例えば、あるバッテリーパックは750mAの充電電流に適応できるが、他のバッテリーパックは1.5Aの充電電流に適応できる。これらの曲線は、モバイル機器100の働きに応じて変動する場合もある。例えば、モバイル機器100によって用いられる無線通信用の通信規格は、バッテリーパックの放電のレートおよび量に影響を及ぼす。例えば、モバイル機器100がCDMA通信規格を用いているか、またはGPRS通信規格を用いているかに応じて、同じバッテリーパックに対して異なる放電曲線が適用される。あるいは、二つの異なる通信規格について、電圧対電荷容量曲線を含む二つのバッテリー情報プロフィールを保存するのではなく、第一の電圧対電荷容量曲線に関するバッテリー情報プロフィールを保存し、そして、一連のオフセット量を含むもう一つのバッテリー情報プロフィールを保存し、第一の曲線から他方の曲線を導き出すことができる。
【0094】
もう一つの代替案では、例えば、用いられる通信規格によって異なって動作するモバイル機器に関する異なるバッテリー情報プロフィールを保存するのではなく、普遍的なバッテリー情報プロフィールを用いることができる。その場合、モバイル機器100は、普遍的バッテリー情報プロフィールから情報を読み込むものの、異なる計算を行うことにより、例えば、バッテリー充電曲線など、必要なバッテリー関連情報を取得するように構成することができる。例えば、再度、GSMやCDMAのような通信規格を一例として挙げると、CDMA無線通信の場合、電流は一般に一定のレートで引き込まれるが、一方、GSM無線通信の場合、引き込まれる電流にはいくつかのスパイクが生じる。このケースでは、各バッテリー型式に関するバッテリー情報プロフィールのそれぞれについて、第一の条件に基づいて充電曲線を生成することができ、そうして第一の無線通信による電流使用量をエミュレートする。そして、第一の無線通信との関連における他方の無線通信による電流使用量の違いについて、負荷条件情報に留意することができる。この負荷条件情報は、モバイル機器100またはスマートバッテリー130上に保存することができる。したがって、バッテリー情報プロフィールがモバイル機器100によって読み込まれた場合、もしモバイル機器100が「他の無線通信」の一つを用いているならば、負荷条件情報に基づいて、モバイル機器100による更なる計算を行うことができる。
【0095】
モバイル機器100のある実施態様では、モバイル機器100上にバッテリー情報プロフィールを保存するのではなく、または、そのような保存に加えて、スマートバッテリー130のバッテリー・メモリ254にバッテリー情報プロフィールを保存することができる。したがって、新しいスマートバッテリーがリリースされた場合、モバイル機器100上のバッテリー情報プロフィールを更新する必要はなく、スマートバッテリー130には既にバッテリー情報プロフィールが収容されている。主プロセッサ102は、スマートバッテリー上のバッテリー情報プロフィールにアクセスすることができ、異なるスマートバッテリー、新しいスマートバッテリー、あるいは新しいバッテリー供給者のスマートバッテリーが用いられる度毎にバッテリーの充電/放電特性を確定することができる。そうして、モバイル機器100は、メモリ106に新しいバッテリー情報プロフィールを保存することができる。バッテリー情報プロフィールは、以下でより詳細に説明されるバッテリー通信プロトコルに従ってアクセスされる。
【0096】
したがって、ある実施態様では、あるスマートバッテリー130について、モバイル機器100にバッテリー情報プロフィールを保存することができ、そのスマートバッテリー130もまた、バッテリー・メモリ254に追加のバッテリー情報プロフィールを保存することができる。あるケースでは、考え得る経験則は、ある特定のバッテリー情報プロフィールがスマートバッテリー130およびモバイル機器100の双方に存在する場合、スマートバッテリー130に保存されているバッテリー情報プロフィールがモバイル機器100に保存されているバッテリー情報プロフィールに優先する、というものである。しかし、他の経験則も適用することができる。例えば、スマートバッテリー130のバッテリー情報プロフィールは改訂管理が可能であると同時に、対応するバージョン番号はモバイル機器100によって判読可能であるため、誤りであって使用すべきではないバッテリー情報のリリースに対応するバージョン番号のバージョン情報がモバイル機器100に提供される可能性がある。このケースでは、モバイル機器100は、正しいと確認されたバージョン番号に関連するバッテリー情報プロフィールを用いることができる;このバッテリー情報プロフィールは、モバイル機器100上に既に保存されている可能性がある。
【0097】
加えて、少なくともある実施態様では、バッテリーID抵抗器を用いたり、バッテリーID抵抗器を調達したりするのではなく、バッテリー・メモリ254にバッテリーIDを保存することもできる。そうして、主プロセッサ102は、通信回線302を介してスマートバッテリー130と通信することによりバッテリーID情報を入手し、バッテリーID抵抗器の使用に依存しない。このバッテリーID情報は、以下でより詳細に説明されるバッテリー通信プロトコルに従ってアクセスすることができる。したがって、バッテリーID抵抗器を読み込むための追加回路は必要ではない。これにより、回路の複雑性とコストが抑えられる。バッテリーIDは、スマートバッテリーの型式に依存し、モデル、製造者、化学的特性などに従ってスマートバッテリーを識別するのに用いることができる。ある実施態様では、複数のバッテリーについて、モバイル機器上にバッテリーの放電/充電情報を保存することができ、バッテリーIDが一旦確定されると、主プロセッサ102は、このID情報を用いて、バッテリーの充電やモニタリングのために、バッテリー放電/充電情報などの対応するバッテリー・プロフィール情報を選択することができる。このような意味において、モバイル機器100は、複数種類のバッテリーをサポートすることができる。
【0098】
主プロセッサ102とスマートバッテリー130との間にインターフェースが設けられる実施態様も存在し、そうすることで、モバイル機器は、バッテリーID抵抗器のみを用いる従来型バッテリーパックとの互換性、およびバッテリー・メモリ254にバッテリーID情報を保存するスマートバッテリーとの互換性を備える。これらのケースでは、モバイル機器は、スマートバッテリーとの接続を仮定することができ、その仮定に沿って通信を試みることができる。この通信が失敗した場合、バッテリーID抵抗器を読み込む従来の方法を用いることができる。
【0099】
主プロセッサ102がバッテリー・プロセッサ252と通信するのに、バッテリー通信プロトコルが用いられる。データ通信に用いられる論理レベルは、主プロセッサ102およびバッテリー・プロセッサ252の実装態様に依存する。例えば、ある実装態様では、高論理レベル(すなわち、「1」)を約2.8Vの回線レベルで表すことができ、低論理レベル(すなわち、「0」)を約0Vで表すことができる。ESD防護回路の使用により、通信回線302は、例えば、約300bpsなどのデータ転送速度に制限される場合があり、そうするとビット当たりの時間は3.33msとなる。データ送信は、スタートビットと、それに続く複数の8ビットのデータ・セグメント(そこではLSBが最初に送信される)と、それに続く少なくとも一つのストップビットを発することで実現することができる。ある実施態様では、スタートビットを「0」とし、ストップビットを「1」とすることができる。
【0100】
ある実施態様では、セッションがアクティブである間、通信回線は高論理レベルでアイドル状態となる(主プロセッサ102の送信ピン304によってドライブされる)。セッションがノンアクティブの場合、主プロセッサ102は、通信回線302を、ノンアクティブ/低電力状態で作動する構成とすることができる。したがって、ある実施態様では、送信ピン304および受信ピン306を低状態でドライブすることができる。
【0101】
通信回線302は半二重の回線であるため、主プロセッサ102またはバッテリー・プロセッサ252のみが所与の時刻にデータを送信することができる。したがって、主プロセッサ102とバッテリー・プロセッサ252との間には、主プロセッサ102からのコマンドに応える形でのみバッテリー・プロセッサ252による送信が許容されるという、マスター/スレーブの関係が存在する場合がある。主プロセッサ102は、バッテリー・プロセッサ252からの応答を待っている間を除き、いつでも送信することができる。バッテリー・プロセッサ252は、主プロセッサ102からのパケット終了マーカー(END)を受領後、ある一定時間のうちに応答の送信を開始することができる。さらに、主プロセッサ102は、当初のリクエストを再送する前に、ある一定時間の間、スマートバッテリー130からの応答を待つことができる。
【0102】
主プロセッサ102とバッテリー・プロセッサ252との間のデータ・リンクは、RC1055実装を用いることにより実現することができる。主プロセッサ102およびバッテリー・プロセッサ252による同時送信を回避するために、「リーディング停止キャラクタ(leading stop character)」の最適化は用いられない。それよりも、物理的通信層によって提供されるシリアル・バイト・ストリームの上に、データ・リンク層によりパケット・ベースのインターフェースが実現されるよう試みられる。これは、各パケットを「0xC0」のようなユニークなキャラクタで「フレーミング」する(すなわち、バイト・ストリームの中で各パケットの終了を容易に見つけられるようにする)ことにより行われる。したがって、「0xC0」のキャラクタが読まれるまで、着信してくるバイトは全て保存される。そうして、保存されたデータは次の層へ送られる。
【0103】
しかし、キャラクタ「0xC0」はデータとして送信される場合があり、よって、キャラクタ「0xC0」はユニークであること、そしてフレームの終了をマークするためだけに用いられること、が保証されるべきである。これを実現するための一つの方法は、データ中のキャラクタ「0xC0」のインスタンスを二つのキャラクタで置き換えることである:例えば、「0xDB」や「0xDD」などである。データ中にキャラクタ「0xDB」を送りたい場合、同様の方法により、キャラクタ「0xDB」は、例えば、「0xDB」および「0xDC」で置き換られる。
【0104】
データ受信の点から見ると、この例示的実施態様の場合、キャラクタ「0xC0」に遭遇した場合、データ送信は完了する。キャラクタ「0xDB」に遭遇した場合、次のキャラクタにおいて特別な何かを実施しなければならないという事実が記録され、他の全てのキャラクタがバッファに保存される。さて、この例においてキャラクタが「0xDB」であった場合、次のキャラクタが着信すると三つのうちの一つを実現することができる:1)次のキャラクタが「0xDD」である場合、キャラクタ「0xC0」がバッファに保存され、2)次のキャラクタが「0xDC」である場合、キャラクタ「0xDB」がバッファに保存され、または、3)次のキャラクタがそれら以外の場合、エラーが発生し、そのエラーは次の層で取り扱うことができる。
【0105】
先に述べられたように、電力消費を抑えるために、バッテリー・プロセッサ252は、ほぼ常にスリープ・モードとなる。主プロセッサ102からSTARTビットを受信すると、バッテリー・プロセッサ252は、スリープ・モードから目覚め、ENDキャラクタが受信されるか、あるいはウォッチドッグ・タイマーが時間切れとなるまで(例えば、約2.3秒後に時間切れとなるようにウォッチドッグ・タイマーを設定できる)、着信してくるデータを受け入れる。したがって、主プロセッサ102は、ウォッチドッグ・タイマーが時間切れとなる前に、各要求パケットを送信するよう試みる。したがって、主プロセッサ102は、可能な限り小さなインターバイト・ディレイで各要求パケットの送信を試みることができる。
【0106】
次に図6Aを参照すると、そこに図示されているのは、主プロセッサ102とバッテリー・プロセッサ252との間の通信のために用いることのできるパケット450用の一般的構造の例示的実施態様のブロック図である。パケット内のデータ・ビットは、左から右へ送信することができ、マルチバイト・データ・エレメントは、最小有効ビット(LSB)(リトルエンディアン)様式で送信することができる。パケット450には、CODEフィールド452、DATAフィールド454、LENGTHフィールド456、およびERROR_CHECKフィールド458が含まれる。マルチバイト・データとは、単に、メモリに保存するのに8ビット(1キャラクタ)を超えるビット数が必要な数字である。例えば、4キャラクタを必要とする数字0x12345678を考える。これらのキャラクタが送信される場合、それらは、LSBを第一とするLSB様式で送られる。すなわち、最初に0x78が送られ、これに続いて0x56、0x34が送られ、最後に0x12が送られる。
【0107】
CODEフィールド452は、パケットのタイプ(すなわち、情報は提供されるのか、要求されるのか)を識別する。パケットが未知のCODEフィールド452と共に受信されると、バッテリー・プロセッサ252によってプロトコル・バージョン応答パケットが送信される。また、この応答パケットは、不適正な長さやエラーチェック・フィールド値などを有するパケットが主プロセッサ102によって発信される場合はいつでも、バッテリー・プロセッサ252による発信が可能である。ある実現態様では、CODEフィールド452には、プロトコル・バージョン要求、プロトコル・バージョン応答、バッテリー認証チャレンジ、バッテリー認証応答、バッテリー情報要求、バッテリー情報応答などを特定するためのコードが含まれる。ある実現態様では、CODEフィールド452は、1バイトを含むことができる。
【0108】
DATAフィールド454には、実行されている特定の要求または応答に依存するデータが含まれる。DATAフィールド454は、データ送信に必要とされるバイト数を含むことができるが、限界が存在する可能性もある。ある実施態様では、LENGTHフィールド456は、0から255までの数字を含むことができる。CODE、LENGTHおよびERROR_CHECKの各フィールドは一つの長さに全て含まれているため、パケット450の全体は最大で255キャラクタとなる可能性があり、DATAフィールド454は最大で252キャラクタとなる可能性がある。様々なタイプのデータの例に関し、以下で考察する。
【0109】
LENGTHフィールド456は、パケット内のバイト数を定義し、これには、CODEフィールド452、DATAフィールド454、LENGTHフィールド456およびERROR_CHECKフィールド458のバイト数が含まれる。通常、SLIPフレーミングは考慮されないが、これは、SLIPフレームがどの程度長くなるかが、通常、分からないからである。1キャラクタから2キャラクタへ倍加されるキャラクタも存在し、どのキャラクタ、あるいはどれだけのキャラクタが倍加されるかは確かではない。ある実現態様では、LENGTHフィールド456には1バイトが含まれる。
【0110】
ERROR_CHECKフィールド458は、主プロセッサ102またはバッテリー・プロセッサ252においてデータが適正に受信されたことを検証するのに用いることのできるデータを提供する。バッテリー・プロセッサ252の処理能力に応じて、様々なタイプの通信エラーチェック・スキームを用いることができる。ある実現態様では、CheckSum値が用いられる。CheckSum値は、CODEフィールドからCheckSumフィールド(モジュラス256)までに含まれるデータの合計が0に等しくなるような、符号のない8ビットの値である。ある実現態様では、CheckSumを用いる場合、ERROR_CHECKフィールド458には1バイトが含まれる。
【0111】
次に図6Bを参照すると、そこに図示されているのは、プロトコル・バージョン要求パケットまたはバッテリー情報要求パケット用に用いることができるパケット460の例示的実施態様のブロック図である。パケット460には、CODEフィールド462、LENGTHフィールド464、およびCHECK_SUMフィールド466が含まれる。
【0112】
プロトコル・バージョン要求は、スマートバッテリー252のプロトコル・バージョンを要求するために、主プロセッサ102によって送信される。したがって、CODEフィールド462には、プロトコル・バージョン要求を識別するコードが含まれる。プロトコル・バージョン要求パケット460は3バイトであるため、LENGTHフィールド464には、3という値が含まれる。バッテリー・プロセッサ252は、プロトコル・バージョン応答パケットでプロトコル・バージョン要求パケットに応答する。CHECK_SUMフィールド466は、エラーチェックのために用いられ、1バイトを含むことができる。
【0113】
バッテリー情報要求パケットは、スマートバッテリー130の働きに関する情報が要求される場合に、主プロセッサ102によって送信される。スマートバッテリー130は、バッテリー情報応答パケットで応答する。このケースでは、CODEフィールド462には、パケット460がバッテリー情報要求パケットであることを表すコードが含まれる。CODEフィールド462は、1バイトを含むことができる。LENGTHフィールド464には、パケット460が3バイトであることを示す1バイトが含まれる。
【0114】
次に図6Cを参照すると、そこに図示されているのは、プロトコル・バージョン応答パケット470の例示的実施態様のブロック図である。プロトコル・バージョン応答パケット470には、CODEフィールド472、プロトコル・バージョンを含む第一DATAフィールド474、バッテリーIDを含む第二DATAフィールド476、LENGTHフィールド478、およびCHECK_SUMフィールド479が含まれる。バッテリー・プロセッサ252は、主プロセッサ102からプロトコル・バージョン要求パケット460を受信したり、あるいはCODEフィールド内の認識されないコード、あるいはエラー(例えば、bad length、bad check_sum、等々)を受信したりすると、プロトコル・バージョン応答パケット470で応答する。プロトコル・バージョン応答パケット470は、スマートバッテリー252のためのバッテリーIDを提供する。したがって、少なくともある実現態様では、バッテリー情報は、スマートバッテリー130内のキャッシュに格納することができ、よって、バッテリーIDのみが求められる場合に、全てのバッテリー情報をダウンロードする必要はない。
【0115】
CODEフィールド472には、パケット470がプロトコル・バージョン応答パケットであることを表すコードが含まれる。CODEフィールド472は、1バイトを含むことができる。第一DATAフィールド474には、以下でより詳細に説明されるプロトコル・バージョンが含まれる。第一DATAフィールド474は2バイトを含むことができ、第二DATAフィールド476は2バイトを含むことができる。LENGTHフィールド478は、パケット470にはパケット470が7バイトであることを示す1バイトが含まれることを示している。CHECK_SUMフィールド479は、エラーチェックのために用いられ、1バイトを含むことができる。
【0116】
プロトコル・バージョンとは、使用されているバッテリー通信プロトコルのバージョンを示す数字である。ある実現態様では、プロトコル・バージョンは、8ビットのメジャー・バージョン番号と8ビットのマイナー・バージョン番号とを含むことができる。マイナー・バージョン番号は、バッテリー通信プロトコルに対する「後方互換性」を有する変更の度毎に増やすことができる。メジャー・バージョン番号は、後方互換性が維持されない変更の度毎に増やすことができる(この場合、マイナー・バージョン番号は0にリセットされる)。例えば、暗号化アルゴリズム、秘密キーおよびバッテリー情報フォーマットの内のいずれかを変更する場合、メジャー・バージョン番号を増やすことができる。
【0117】
次に図6Dを参照すると、そこに図示されているのは、バッテリー認証チャレンジ、バッテリー認証応答またはバッテリー情報応答のために用いることのできるパケット480の例示的実施態様のブロック図である。パケット480には、CODEフィールド482、DATAフィールド484、LENGTHフィールド486、およびCHECK_SUMフィールド488が含まれる。
【0118】
バッテリー認証チャレンジのケースでは、主プロセッサ102は、バッテリー・プロセッサ252へバッテリー認証チャレンジを送ることにより、バッテリー認証を要求することができる。そうすると、バッテリー・プロセッサ252は、バッテリー認証応答チャレンジで求められるデータを計算した後、バッテリー認証応答パケットで応答することができる。CODEフィールド482には、パケット480がバッテリー認証チャレンジのパケットであることを表すコードが含まれる。CODEフィールド482は、1バイトを含むことができる。DATAフィールド484には、スマートバッテリー130のためのチャレンジ・メッセージが含まれる。ある実現態様では、チャレンジ・メッセージは4バイトを含むことができる;したがって、チャレンジは、32ビットのチャレンジとなる場合がある。LENGTHフィールド486には、パケット480が7バイトであることを示す1バイトが含まれる。CHECK_SUMフィールド488はエラーチェックに用いられ、1バイトを含むことができる。使用される認証プロセスについて、以下でより詳細に説明する。
【0119】
バッテリー認証応答のケースでは、主プロセッサ102からバッテリー認証チャレンジ・パケットを受け取ると、バッテリー・プロセッサ252は、バッテリー認証応答チャレンジで求められるデータを計算した後、バッテリー認証応答パケットで応答する。このケースでは、CODEフィールド482には、パケット480がバッテリー認証応答パケットであることを表すコードが含まれる。CODEフィールド482は、1バイトを含むことができる。DATAフィールド484には、スマートバッテリー130からのチャレンジ応答が含まれる。ある実現態様では、チャレンジ応答は4バイトを含むことができる;したがって、チャレンジ応答は、32ビットの値となる場合がある。LENGTHフィールド486には、パケット480が7バイトであることを示す1バイトが含まれる。CHECK_SUMフィールド488はエラーチェックに用いられ、1バイトを含むことができる。使用される認証プロセスについては、以下でより詳細に説明する。
【0120】
バッテリー情報応答のケースでは、主プロセッサ102からバッテリー情報要求パケットを受け取ると、バッテリー・プロセッサ252は、バッテリー情報応答で応答する。このケースでは、CODEフィールド482には、パケット480がバッテリー情報応答パケットであることを表すコードが含まれる。CODEフィールド482は、1バイトを含むことができる。DATAフィールド484はバッテリー情報を含み、12バイト長となる場合がある。LENGTHフィールド486には、パケット480が15バイトとなる場合があることを示す1バイトが含まれる。CHECK_SUMフィールド488はエラーチェックに用いられ、1バイトを含むことができる。
【0121】
次に図7Aを参照すると、そこに図示されているのは、バッテリー情報データ構造490の例示的実施態様のブロック図である。バッテリー情報データ構造490は、スマートバッテリー130に関するデータを含む可変数個の項目フィールド492−496のパケットである。例えば、項目フィールド492−496は、バッテリー充電曲線用LUTのための情報を含むことができる。項目フィールド492−496のそれぞれは、図7Bに示されるフォーマットをもつことができ、CODEフィールド500およびDATAフィールド502を含むことができる。CODEフィールド500は、例えば、バッテリー充電曲線などの項目データのタイプを識別する8ビットの識別子を含むことができる。DATAフィールド502は具体的な項目に依存する。固定長の項目はLENGTHフィールドを必要としない。しかし、可変長の項目は、CODEフィールド500とDATAフィールド502との間に挿入されるLENGTHフィールド(図示されず)を含む。代替案では、バッテリーIDをプロトコル・バージョン応答パケットに含めて送信するのではなく、バッテリーIDを項目492−496の中の一つに含めて送信することができる。項目492−496の内の一つがバッテリー充電曲線情報のようなバッテリー・プロフィール情報を含む場合、CODEフィールド500には、バッテリー充電曲線情報を示すコードが含まれ、LENGTHフィールド(図示されず)には、CODE、LENGTHおよびDATAの各フィールドを含むパケットのバイト数が含まれる。DATAフィールド502には、バッテリー充電曲線情報を表すのに十分なバイト数が含まれる。
【0122】
先に述べられたように、スマートバッテリー130は、主プロセッサ102による認証の際に暗号化アルゴリズムを実行することができる。スマートバッテリー130のメモリにのみ安全に保存された秘密キーと、主プロセッサ102によって提供されるチャレンジとに基づき、スマートバッテリー130は、暗号化アルゴリズムを適用することによって応答を生成することができる。ある実現態様では、秘密キーを64ビットとすることができ、チャレンジを32ビットとすることができる。適切なレベルのセキュリティが実現されるならば、秘密キーおよびチャレンジについて異なるサイズを選択することもできる。ある実現態様では、チャレンジを暗号化することができ、スマートバッテリー130は、チャレンジを解読するために解読アルゴリズムを実行し、そうして、チャレンジと秘密キーとを組み合わせて応答を生成することができる。主プロセッサ102とスマートバッテリー130との間で送信されるその他のデータも暗号化することができる。
【0123】
スマートバッテリー130は、不正改造ができないような特別な設計がなされており、この目的のために特注のハードウェアおよびコード防護レジスタを含んでいる。したがって、第三者がスマートバッテリー130から秘密キーを抽出することは非常に困難である。しかし、モバイル機器100の場合、事情は同じではない。したがって、秘密キーはモバイル機器100には保存されない。その代わりに、秘密キーおよび暗号化アルゴリズムに基づいて予め計算された(機器ごとに)固有のチャレンジおよび応答のペアを、製造時に、モバイル機器100に保存することができる。したがって、異なるモバイル機器には、異なるチャレンジおよび応答のペアを保存することができる。そうして、秘密キーおよび暗号化アルゴリズムは、スマートバッテリー130のみに保存される。単一のモバイル機器で作動することのできる偽造バッテリーを製作することは可能かもしれないが、この認証プロセスを利用する全てのモバイル機器で作動可能な偽造バッテリーを製作することは非常に困難である。ある実現態様では、複数のチャレンジおよび応答のペアをモバイル機器100上に保存することが可能であり、これらのペアの内の少なくとも一つを認証の際に用いることができる。
【0124】
次に図8を参照すると、そこに図示されているのは、スマートバッテリー130を認証するのに主プロセッサ102による採用が可能な認証プロセス550の例示的実施態様のフローチャートである。モバイル機器100の電源が入れられる度毎に、また、バッテリーがモバイル機器100に挿入される度毎に、認証が実施される。ステップ552では、主プロセッサ102は、モバイル機器100上のメモリ素子を読み取り、チャレンジおよび応答のペアを取得する。ステップ554では、主プロセッサ102は、バッテリー・プロセッサ252へチャレンジを送信する。ステップ556では、バッテリー・プロセッサ252は、秘密キーを用いて暗号化アルゴリズムを適用することで応答を生成し、ステップ558では、バッテリー・プロセッサ252は、主プロセッサ102へ応答を送り出す。ステップ560では、主プロセッサ102は、生成された応答を保存されている応答と比較する。このステップにおいて、保存されている応答がバッテリー・プロセッサ252によって生成された応答と全く同じであるならば、スマートバッテリー130は純正であると確認される。同じでないならば、スマートバッテリーは純正であるとは確認されず、適切なステップが実行される。送信エラーの可能性(および、CHECK_SUMの誤りの可能性)のため、主プロセッサ102は、バッテリーパックを偽造バッテリーまたは権限のない第三者によるバッテリーパックとして識別する前に、チャレンジおよび応答の試みを複数回実行することができる。
【0125】
バッテリーパックが偽造バッテリーまたは権限のない第三者によるバッテリーパックとして識別されると、主プロセッサ102に関連するオペレーティング・システムは、BSTAT_INSECUREバッテリー状態を設定するが、通常のブート処理を継続することができる。また、主プロセッサ102は、ソフトウェアを実行することにより、例えば、ユーザー・フィードバックを実現し、無線アクセスを制御し、あるいは、モバイル機器100がわずかな時間を超えて作動するのを予防することができる。主プロセッサ102は、非純正バッテリーパック、すなわち、認証プロセスに失敗したバッテリーパックについて、充電を行わないか、あるいは容量が一杯となるまで充電を行わない。しかし、ある実現態様では、認証に先立ち、鮮度シール(すなわち、低電圧状態のバッテリー)に対する、バッテリーの終端電圧が約3.0Vまでの充電については、これを許容することができる。低電圧状態は、バッテリーの放電によって終端電圧が約2.5Vとなり、バッテリー内の防護回路がバッテリー端子をバッテリー・モジュールから切り離した際に生じる。当該バッテリーは、バッテリー端子に充電電圧が加えられるまでこの状態を維持する。3.0Vのバッテリーパックよりも低い電荷容量を有するバッテリーパックは存在しないと仮定した場合、終端電圧が約3.0Vとなるように最小電荷容量までバッテリーの充電を行うことは安全であると考えられる。しかし、他の実施態様では、バッテリーパックが偽造バッテリーまたは権限のない第三者によるバッテリーパックとして識別されると、主プロセッサ102に関連するオペレーティング・システムは、通常のブート処理の進行を許容しないように設定されることができる。その代わり、オペレーティング・システムは、バッテリーに問題があるとの指示を提供するよう設定することができる;例えば、オペレーティング・システムは、線の入ったバッテリーやその他適切な画像指示をスクリーン上に表示することができる。
【0126】
次に図9を参照すると、そこに図示されているのは、純正または非純正の可能性のあるスマートバッテリーを有するモバイル通信機器100の典型的な動作を示すフローチャート600である。モバイル機器100を起動すると、または、バッテリーの挿入が検出される場合、主プロセッサ102は、以下のステップを実行することができる。ステップ602では、主プロセッサ102は、バッテリー・プロセッサ252へプロトコル・バージョン要求パケットを送る。ステップ604では、バッテリー・プロセッサ252は、プロトコル・バージョン応答パケットを生成し、主プロセッサ102へ同パケットを送る。ステップ606では、主プロセッサ102は、プロトコル・バージョン応答パケット内のプロトコル・バージョンを、サポートされているプロトコルと比較し、互換性のあるプロトコル・バージョン番号である場合はステップ610へ進む。
【0127】
互換性のないプロトコル・バージョン番号である場合、ステップ608において、主プロセッサ102は、非純正バッテリーパックについて先に説明されたアクションを実行し、(先の説明にあるように)開始されているかもしれない充電動作を停止または制限する。例えば、モバイル機器100は、バッテリーが存在する場合であっても、「バッテリーなしアイコン」を示すことができる。あるケースでは、主プロセッサ102は、モバイル機器100が、例えば、X分などの限られた時間だけ動作を継続するのを許容することができるが、充電または容量一杯までの充電を許容することはない。偽造または非承認のバッテリーの使用において、充電は最大のリスクである。X分の使用が許容されることで、使用者は、自身が知らないうちに購入した偽造バッテリーを使用しながらも、緊急の電話をかけることができる。
【0128】
ステップ610では、主プロセッサ102は、認証プロセス550を実行する。ステップ612では、バッテリー認証が成功すると、プロセス600はステップ614へ進む。成功しない場合は、プロセス600はステップ608へ進む。ステップ614では、主プロセッサ102は、バッテリー・プロセッサ252へバッテリー情報要求パケットを送ることができる。ステップ616では、バッテリー・プロセッサ252は、要求されたバッテリー情報にアクセスしてバッテリー情報応答パケットを生成し、そうして、このパケットは主プロセッサ102へ送られる。ステップ618では、主プロセッサ102は、使用者に残り電荷の表示などを提供する動作の際に、バッテリー情報を用いてスマートバッテリー130を充電し、あるいは、スマートバッテリー130をモニターすることができる。なお、データ送信エラーや通信の再試行のためのステップは、プロセス600において明示的に示されていないが、それらのステップをプロセス600に含めることができる。
【0129】
次に図10を参照すると、そこに示されているのは、スマートバッテリー130を有するモバイル通信機器100の製造のための例示的製造プロセス650のフローチャートである。ステップ652では、スマートバッテリー130について、通信プロトコルおよびセキュリティ・プロトコルが指定される。ステップ654では、スマートバッテリー130の製造者は、通信プロトコルおよびセキュリティ・プロトコルを実行するためのコードをスマートバッテリー130へ組み込む。ステップ656およびステップ658では、バッテリーパックの製造者および印刷回路基板(PCB)のベンダーは、スマートバッテリー130用のハードウェア(すなわち、回路)を組み立てる。そうして、ステップ660において、スマートバッテリー130がモバイル機器100と共に試験される。さらに、ステップ660において、スマートバッテリーとモバイル機器とのペアが組まれる。各ペアについて、秘密キーおよび暗号化アルゴリズムに基づいて、複数の固有のチャレンジおよび応答のペアが生成される。チャレンジおよび応答のペアは、モバイル機器上に保存され、対応する秘密キーおよび暗号化アルゴリズムは、対応するスマートバッテリー上に保存される。
【0130】
なお、ここに説明および図示された実施態様に対し、それらの実施態様から逸脱することなく様々な変更を加えることが可能であり、当該実施態様の一般的範囲は、添付の請求項において定義されている。例えば、ここに説明された実施態様は、一般に、モバイル通信機器に関するものであるが、ここに説明された技術および構造は、スマートバッテリーを用いるモバイル機器に一般的に適用できること、そして、そのモバイル機器は、必ずしもモバイル通信機器である必要はないことは、当業者であれば認識されるところである。さらに、ここに説明された例示的実施態様の原理のいくつかは、ソフトウェアもしくはハードウェアまたはその両方によって実現できるものである。
【図面の簡単な説明】
【0131】
【図1】図1は、モバイル通信機器の例示的実施態様のブロック図である。
【図2】図2は、図1に示すモバイル通信機器の通信サブシステム構成要素の例示的実施態様のブロック図である。
【図3】図3は、図1に示すモバイル通信機器との通信が行われる無線ネットワークのノードの例示的実施態様のブロック図である。
【図4】図4は、図1に示すモバイル通信機器で用いることができる一般的なスマートバッテリーの例示的実施態様のブロック図である。
【図5A】図5Aは、図1に示すモバイル通信機器において、主プロセッサをスマートバッテリーにつなぐのに用いることができるバッテリー・インターフェースの一部分の例示的実施態様の模式図である。
【図5B】図5Bは、図1に示すモバイル通信機器において、主プロセッサをスマートバッテリーにつなぐのに用いることができるバッテリー・インターフェースの一部分のもう一つの例示的実施態様の模式図である。
【図5C】図5Cは、スマートバッテリーのもう一つの例示的実施態様の一部分の模式図である。
【図6A】図6Aは、図1に示すモバイル通信機器の主プロセッサとバッテリー・プロセッサとの間の通信のために用いることができるパケットに関する一般的構造の例示的実施態様のブロック図である。
【図6B】図6Bは、プロトコル・バージョン要求またはバッテリー情報要求のために用いることができるパケットの例示的実施態様のブロック図である。
【図6C】図6Cは、プロトコル・バージョン応答パケットの例示的実施態様のブロック図である。
【図6D】図6Dは、バッテリー認証チャレンジ、バッテリー認証応答、またはバッテリー情報応答のために用いることができるパケットの例示的実施態様のブロック図である。
【図7A】図7Aは、バッテリー情報データ構造の例示的実施態様のブロック図である。
【図7B】図7Bは、バッテリー充電/放電データ構造の例示的実施態様のブロック図である。
【図8】図8は、スマートバッテリーを認証するために、図1に示すモバイル通信機器の主プロセッサによって採用される認証プロセスの例示的実施態様のフローチャートである。
【図9】図9は、純正であり得る(または純正ではないかもしれない)スマートバッテリーを有するモバイル通信機器の典型的な動作を示すフローチャートである。
【図10】図10は、スマートバッテリーを有するモバイル通信機器を製造するための例示的製造プロセスのフローチャートである。

【特許請求の範囲】
【請求項1】
モバイル通信機器の動作を制御するための主プロセッサと、
該主プロセッサにつながれたデバイス・メモリであって、認証に用いられるセキュリティ情報の第一部分および第二部分を保存するように適合されたデバイス・メモリと、
該主プロセッサにつながれたスマートバッテリーと
を備えたモバイル通信機器であって、
該スマートバッテリーは、該モバイル機器へ電力を供給するように適合されており、
該スマートバッテリーは、
該スマートバッテリーの動作を制御し、該主プロセッサと通信するためのバッテリー・プロセッサと、
該バッテリー・プロセッサにつながれ、認証に用いられるセキュリティ情報の第三部分を含む情報を保存するように適合されたバッテリー・メモリと
を含んでおり、
該主プロセッサは、該バッテリー・プロセッサへセキュリティ情報の該第一部分を含む認証要求を送出するように構成されており、該バッテリー・プロセッサは、セキュリティ情報の該第一部分と該第三部分とに基づいて応答を生成し、生成された応答を該主プロセッサへ送出するように構成されており、該生成された応答がセキュリティ情報の該第二部分と一致する場合に該スマートバッテリーが認証される、モバイル通信機器。
【請求項2】
セキュリティ情報の前記第一部分および前記第二部分がセキュリティ情報の前記第三部分と異なる、請求項1に記載のモバイル通信機器。
【請求項3】
セキュリティ情報の前記第一部分は、事前計算済みチャレンジを含んでおり、情報の前記第二部分は、暗号化方法および秘密キーで該事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の前記第三部分は、該暗号化方法および該秘密キーを含んでおり、該暗号化方法および該秘密キーは、前記スマートバッテリーにのみ保存される、請求項1に記載のモバイル通信機器。
【請求項4】
前記主プロセッサによって認証要求がなされた後、前記バッテリー・プロセッサは、前記事前計算済みチャレンジ、前記秘密キーおよび前記暗号化方法に基づいて応答を生成するように構成されており、該生成された応答が、前記デバイス・メモリに保存された前記対応する事前計算済み応答と一致する場合に前記スマートバッテリーが認証される、請求項3に記載のモバイル通信機器。
【請求項5】
前記デバイス・メモリに保存されたセキュリティ情報の前記第一部分および前記第二部分が、他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有のものである、請求項1に記載のモバイル通信機器。
【請求項6】
前記スマートバッテリーの認証が失敗した場合、前記主プロセッサは、低電圧状態が存在する場合に前記スマートバッテリーを最小電荷容量まで充電させることができるように構成されている、請求項1に記載のモバイル通信機器。
【請求項7】
前記スマートバッテリーの認証が失敗した場合、前記主プロセッサは、前記モバイル機器が限られた時間にわたって動作を継続することができるように、かつ前記スマートバッテリーの充電ができないように構成されている、請求項1に記載のモバイル通信機器。
【請求項8】
セキュリティ情報の第一部分および第二部分の複数のセットが前記デバイス・メモリ上に保存されており、前記主プロセッサは、セキュリティ情報の第一部分および第二部分の前記複数セットのうちの一つ以上を用いて前記スマートバッテリーの認証を実行するように構成されている、請求項1に記載のモバイル通信機器。
【請求項9】
前記主プロセッサおよび前記スマートバッテリーは、最大データ転送速度が約300ビット/秒のデータ回線を介してつながれている、請求項1に記載のモバイル通信機器。
【請求項10】
主プロセッサ、デバイス・メモリ、ならびにバッテリー・プロセッサおよびバッテリー・メモリを含むスマートバッテリーを含むモバイル通信機器で用いられるスマートバッテリーを認証するための方法であって、該方法は、
認証に用いられるセキュリティ情報の第一部分および第二部分を該デバイス・メモリ上に保存することと、
認証に用いられるセキュリティ情報の第三部分を該バッテリー・メモリ上に保存することと、
該主プロセッサから該スマートバッテリーへ、認証要求およびセキュリティ情報の該第一部分を送出することと、
該スマートバッテリーにおいてセキュリティ情報の該第一部分および該第三部分に基づいて応答を生成し、該主プロセッサへ該生成された応答を送出することと、
該主プロセッサにおいて該生成された応答をセキュリティ情報の該第二部分と比較し、該生成された応答がセキュリティ情報の該第二部分と一致する場合に該スマートバッテリーを認証することと
を含む、方法。
【請求項11】
セキュリティ情報の前記第一部分は、事前計算済みチャレンジを含んでおり、情報の前記第二部分は、暗号化方法および秘密キーで該事前計算済みチャレンジに作用することによって生成される対応する事前計算済み応答を含んでおり、情報の前記第三部分は、該暗号化方法および該秘密キーを含んでいる、請求項10に記載の方法。
【請求項12】
非認証の場合、非認証が前記主プロセッサと前記バッテリー・プロセッサとの間のデータ送信上のデータ送信エラーによるものではないことを確認するために、複数回にわたって認証を繰り返すことを含む、請求項10に記載の方法。
【請求項13】
他の類似モバイル通信機器上に保存されたセキュリティ情報の第一部分および第二部分との比較において固有であるところのセキュリティ情報の第一部分および第二部分を前記デバイス・メモリに保存することを含む、請求項10に記載の方法。
【請求項14】
前記スマートバッテリーの認証が失敗した場合、低電圧状態が存在する場合に該スマートバッテリーを最小電荷容量まで充電させることを含む、請求項10に記載の方法。
【請求項15】
前記スマートバッテリーの認証が失敗した場合、限られた時間にわたって前記モバイル通信機器の動作を継続させ、かつ該スマートバッテリーの充電をさせないことを含む、請求項10に記載の方法。
【請求項16】
前記デバイス・メモリ上にセキュリティ情報の第一部分および第二部分の複数のセットを保存し、セキュリティ情報の第一部分および第二部分の該複数セットの一つ以上を用いて前記スマートバッテリーの認証を実行することを含む、請求項10に記載の方法。
【請求項17】
前記主プロセッサと前記スマートバッテリーとを、約300ビット/秒の最大データ転送速度を有するデータ回線でつなぐことを含む、請求項10に記載の方法。
【請求項18】
認証が失敗した場合に前記スマートバッテリーの充電を阻止することを含む、請求項10に記載の方法。
【請求項19】
前記事前計算済みチャレンジを暗号化することを含む、請求項11に記載の方法。
【請求項20】
前記事前計算済みチャレンジのための不規則な数字を生成することを含む、請求項11に記載の方法。
【請求項21】
モバイル通信機器に用いられるスマートバッテリーを製造する方法であって、該方法は、
該モバイル通信機器による該スマートバッテリーとの通信および該スマートバッテリーの認証を可能にするために、該スマートバッテリー用の通信プロトコルおよびセキュリティ・プロトコルを指定することと、
該スマートバッテリーを組み立てることと、
セキュリティ・プロトコルおよび通信プロトコルを該スマートバッテリー上に実装することであって、該スマートバッテリー内だけの安全なメモリに秘密キーおよび暗号化方法を保存することを含む、ことと、
該秘密キーおよび該暗号化方法に対応するチャレンジおよび応答のペアを該モバイル機器上に保存することと、
該モバイル通信と該スマートバッテリーとの間で該セキュリティ・プロトコルおよび該通信プロトコルを試験することと
を含む、方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図6D】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2009−512035(P2009−512035A)
【公表日】平成21年3月19日(2009.3.19)
【国際特許分類】
【出願番号】特願2008−534841(P2008−534841)
【出願日】平成18年10月13日(2006.10.13)
【国際出願番号】PCT/CA2006/001694
【国際公開番号】WO2007/041866
【国際公開日】平成19年4月19日(2007.4.19)
【出願人】(500043574)リサーチ イン モーション リミテッド (531)
【氏名又は名称原語表記】Research In Motion Limited
【住所又は居所原語表記】295 Phillip Street, Waterloo, Ontario N2L 3W8 Canada
【Fターム(参考)】