(57)【特許請求の範囲】
【請求項１】
回路カードがコンピュータに適合することを確認するコンピュータ実行方法であって、
前記コンピュータの不揮発性メモリに記憶された適合回路カードのリストにアクセスするステップと、
前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断するステップと、
前記回路カードが適合回路カードの前記リスト中に含まれている場合のみ、前記回路カード上にオペレーティングソフトウェアを記憶するステップと、
前記コンピュータが待機または休止状態から回復しているかどうかを判断するステップと、
適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを行うことなしに、前記コンピュータが待機または休止状態から回復している場合、前記回路カード上にオペレーティングソフトウェアを記憶するステップと
を含む、コンピュータ実行方法。
【請求項２】
適合回路カードの前記リストが、前記コンピュータのBIOSデータに記憶されたプラグアンドプレイ識別情報(PnP ID)リストである、請求項1に記載のコンピュータ実行方法。
【請求項３】
前記回路カードが適合回路カードの前記リスト中に含まれていない場合、前記回路カードから電力を除去するステップをさらに含む、請求項1に記載のコンピュータ実行方法。
【請求項４】
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断したかどうかを判断するステップと、
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断した場合、適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを繰り返すことなしに、前記回路カード上にオペレーティングソフトウェアを記憶するステップと
をさらに含む、請求項1に記載のコンピュータ実行方法。
【請求項５】
プロセッサと、
前記プロセッサに結合されたハードディスクメモリと、
前記プロセッサに結合された不揮発性メモリであって、BIOSデータとソフトウェア命令とを記憶した不揮発性メモリと、
前記プロセッサに結合された回路カードであって、ランダムアクセスメモリを含む回路カードとを含み、
前記ハードディスクメモリは、
前記不揮発性メモリに記憶された適合回路カードのリストにアクセスするステップと、
前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断するステップと、
前記回路カードが適合回路カードの前記リスト中に含まれている場合のみ、前記回路カード上にオペレーティングソフトウェアを記憶するステップと、
前記コンピュータが待機または休止状態から回復しているかどうかを判断するステップと、
適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを行うことなしに、前記コンピュータが待機または休止状態から回復している場合、前記回路カード上にオペレーティングソフトウェアを記憶するステップと
を含むステップを、前記プロセッサに行わせるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、コンピュータシステム。
【請求項６】
適合回路カードの前記リストが、プラグアンドプレイ識別情報(PnP ID)リストとして前記コンピュータのBIOSデータに記憶された、請求項5に記載のコンピュータシステム。
【請求項７】
前記ハードディスクメモリは、前記回路カードが適合回路カードの前記リスト中に含まれていない場合、前記回路カードから電力を除去するステップを含むステップを、前記プロセッサにさらに行わせるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、請求項5に記載のコンピュータシステム。
【請求項８】
前記ハードディスクメモリは、
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断したかどうかを判断するステップと、
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断した場合、適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを繰り返すことなしに、前記回路カード上にオペレーティングソフトウェアを記憶するステップと
を含むステップを、前記プロセッサにさらに行わせるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、請求項5に記載のコンピュータシステム。
【請求項９】
コンピュータの不揮発性メモリに記憶された適合回路カードのリストにアクセスするための手段と、
回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断するための手段と、
前記回路カードが適合回路カードの前記リスト中に含まれている場合のみ、前記回路カード上にオペレーティングソフトウェアを記憶するための手段と、
前記コンピュータが待機または休止状態から回復しているかどうかを判断するための手段と、
適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを行うことなしに、前記コンピュータが待機または休止状態から回復している場合、前記回路カード上にオペレーティングソフトウェアを記憶するための手段と
を含むコンピュータ。
【請求項１０】
適合回路カードの前記リストが、前記コンピュータのBIOSデータに記憶されたプラグアンドプレイ識別情報(PnP ID)リストである、請求項9に記載のコンピュータ。
【請求項１１】
前記回路カードが適合回路カードの前記リスト中に含まれていない場合、前記回路カードから電力を除去するための手段をさらに含む、請求項9に記載のコンピュータ。
【請求項１２】
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断したかどうかを判断するための手段と、
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断した場合、適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを繰り返すことなしに、前記回路カード上にオペレーティングソフトウェアを記憶するための手段と
をさらに含む、請求項9に記載のコンピュータ。
【請求項１３】
不揮発性メモリに記憶された適合回路カードのリストにアクセスするステップと、
回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断するステップと、
前記回路カードが適合回路カードの前記リスト中に含まれている場合のみ、前記回路カード上にオペレーティングソフトウェアを記憶するステップと、
前記コンピュータが待機または休止状態から回復しているかどうかを判断するステップと、
適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを行うことなしに、前記コンピュータが待機または休止状態から回復している場合、前記回路カード上にオペレーティングソフトウェアを記憶するステップと
を含むステップを、プロセッサに行わせるように構成されたプロセッサ実行可能ソフトウェア命令を記憶した、有形プロセッサ可読記憶媒体。
【請求項１４】
適合回路カードの前記リストが、プラグアンドプレイ識別情報(PnP ID)リストとして前記コンピュータのBIOSデータに記憶された、請求項13に記載の有形プロセッサ可読記憶媒体。
【請求項１５】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記回路カードが適合回路カードの前記リスト中に含まれていない場合、前記回路カードから電力を除去するステップを含むステップを、前記プロセッサにさらに行わせるように構成された、請求項13に記載の有形プロセッサ可読記憶媒体。
【請求項１６】
前記記憶されたプロセッサ実行可能ソフトウェア命令が、
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断したかどうかを判断するステップと、
前記回路カードが適合回路カードの前記リスト中に含まれていると前記コンピュータが前に判断した場合、適合回路カードの前記リストにアクセスする前記ステップと、前記回路カードが適合回路カードの前記リスト中に含まれているかどうかを判断する前記ステップとを繰り返すことなしに、前記回路カード上にオペレーティングソフトウェアを記憶するステップと
を含むステップを、前記プロセッサにさらに行わせるように構成された、請求項13に記載の有形プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータシステムに関し、より詳細には、構成要素回路カードが、承認されたコンピューティングデバイス上でのみ動作することを保証するための方法に関する。
【背景技術】
【０００２】
ノートブックコンピュータを含む現代のパーソナルコンピュータは、ネットワーキングおよび通信機能を提供するためのいくつかのプラグインモジュールまたはカードを採用する。たとえば、ノートブックコンピュータは、一般に、内蔵ワイヤレス(たとえば、WiFiトランシーバ)通信カードを含めて組み立てられ、消費者に販売される。将来、ノートブックコンピュータは、セルラーネットワーク通信カードを含めて製造され得る。そのような通信カードは、通信カード自体の機能をプログラムするために使用される組込みメモリを含む。したがって、通信機能を提供することに加えて、そのような通信カードは埋込みデータカードでもある。
【０００３】
米国連邦通信委員会(FCC)は、意図的なおよび非意図的な放射機器のための特定の規則を含めて、電気通信産業を規制する。具体的には、FCCは、ノートブックコンピュータとともに使用されるセルラーまたはPCS外部または埋込みデータカードなどのデバイスの要件を含む、セルラーおよびPCS通信システムを制御する規制を発行している。FCC規制は、消費者の健康を保護し、他の電子機器または認可無線サービスに対する干渉を最小限に抑えるものである。送信機を米国内で販売することができるようになる前に、送信機製造業者は、連邦規則コードの第47編の関係する部に準拠することを証明することによってFCCから許可を取得しなければならない。
【０００４】
送信機構成要素の認証を要求していること以上に、FCCでは、取り付けられる構成要素がコンピュータに対して認証されていることをコンピュータおよび構成要素が確認することをも要求している。そのような適合性判断は、テストされ、特定モデルのコンピュータに適合することが示された構成要素のみについて無線送信機能が使用可能にされることを保証する。この規制は、消費者が回路カードまたは他の構成要素をテストされていないコンピュータに不注意に取り付け、それによりFCC製品認証要件の違反につながり得るのを防ぐ。したがって、WWANモジュールベンダは、それらのコンピュータ製品を、取り付けられた構成要素ごとに適合性判断を実行するように構成することが要求される。
【０００５】
従来、コンピュータ製造業者は、コンピュータ内の埋込みデータカードまたは通信カードなどのあらゆる構成要素回路カードが、それが使用可能にされる前に、コンピュータとともに使用することについて認証されていることを確認するルーチンをBIOS(基本入出力システム)中に含めている。図1に、コンピュータに接続された構成要素回路カードが、使用可能にされる前に、コンピュータとともに使用することについて認証されていることを確認するためにコンピュータ製造業者によって使用される典型的な方法を示す。概観では、BIOSルーチンは、ステップ1において、カードに電力を供給して、ステップ3において、その識別(ID)番号を取得し得る。このカードのプラグアンドプレイ識別(「PnP ID」)番号は、一般に、カード製造業者によって特定モデルのカードに割り当てられ、カード上の不揮発性メモリレジスタに記憶される。概して、カードIDは、ベンダID(VID)として知られている、製造業者を識別する番号と、製品ID(PID)として知られている、特定モデルまたは製品を識別する番号とを含む。一緒に、本明細書ではPNP IDと呼ぶベンダIDと製品IDとは、特定のFCC認証製品に広域的に固有の番号である。
【０００６】
BIOSルーチンは、次いでステップ5において、カードから受信したPNP ID番号を、コンピュータとともに使用することについて許可されている番号のリストと比較する。このPNP IDリストは、通常、BIOSソフトウェアとともにコンピュータの不揮発性メモリ(たとえば、電子的プログラマブル読取り専用メモリ-EPROM)に記憶される。テスト7において、カードのPNP ID番号がコンピュータのPNP IDリスト上にあった場合、ステップ11において、カードに電力が印加され、カードが動作を開始することが可能になる。しかしながら、カードのPNP ID番号がコンピュータのPNP IDリスト上になかった場合(すなわち、テスト7=「いいえ」)、ステップ9において、BIOSは、カードを無効化するか、またはカードへの電力を除去する。FCC規制では、このプロセスが、コールドパワーアップ(cold power up)ごとにカードの送信機を使用可能にする前に実行されることを要求している。このようにすると、通信カードが、それが認証されていないコンピュータに取り付けられた場合、コンピュータは、このカードを使用可能にせず、それによって、カードが意図的な放出を放射しないことを保証する。
【０００７】
FCCでは、さらに、ワイヤレス送信機をもつ構成要素回路カード自体が、それらが認証されているコンピュータのみにおいて使用されることを保証するために適合性テストを実行することを要求している。したがって、構成要素製造業者は、現在、構成要素回路カードの機能の一部として適合性テストを含めなければならない。各構成要素回路カードが、それが認証されているコンピュータに接続されていることを確認することを必要とすることによって、FCC規制は、さらに、コンピュータ製造業者が上記で説明したBIOSルーチンを含めることを怠った場合、消費者を保護する。図2に、このFCC要件に準拠するために回路カード製造業者によって使用される例示的な方法を示す。ステップ13において、回路カードに電力が印加されると、ステップ15において、回路カードはコンピュータのBIOS EPROMからコンピュータのPNP IDリストにアクセスする。次いで、ステップ17において、回路カードは、受信したPNP IDリストをチェックして、エントリがカードのPNP IDに一致するかどうかを確かめる。テスト19において、回路カードがPNP IDリストに含まれている場合、ステップ23において、回路カードは動作を続ける。しかしながら、回路カードがコンピュータのPNP IDリストに含まれていない場合(すなわち、テスト19=「いいえ」)、ステップ21において、回路カードは停止する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記で説明し、図2に示したFCC規制に準拠するための方法は、不揮発性メモリと、この適合性テスト要件に準拠することに専用の回路カードに記憶されたソフトウェアとを必要とする。これは、望ましくないことに、回路カードの複雑さとコストとを増す。
【課題を解決するための手段】
【０００９】
特定のコンピュータのハードドライブに記憶され、コンピュータのプロセッサによって実行される回路カードのソフトウェアダウンロードアプリケーションの一部として、回路カードがそのコンピュータに対して認証されていることを確認する様々な実施システムおよび方法が開示される。カードとコンピュータとの適合性テストをコンピュータのプロセッサとコンピュータのハードドライブ上で維持されるソフトウェアとにオフロードすることによって、様々な実施形態は、あまり複雑でない、より手ごろなFCC準拠回路カードを可能にする。
【００１０】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の詳細な説明とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１１】
【図１】回路カードがコンピュータにおいて使用されることについて認証されていることをコンピュータが保証するための従来の方法のプロセスフロー図である。
【図２】回路カードがホストコンピュータにおいて使用されることについて認証されていることを回路カードが保証するための従来の方法のプロセスフロー図である。
【図３】一実施形態での使用に好適な典型的なコンピュータのシステムブロック図である。
【図４】一実施形態のプロセスフロー図である。
【図５】代替実施形態のプロセスフロー図である。
【図６】代替実施形態のプロセスフロー図である。
【発明を実施するための形態】
【００１２】
様々な実施形態について添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１３】
本明細書で使用する「コンピュータ」という用語は、特にノートブックコンピュータおよびポータブルコンピューティングデバイスを含む、任意の形態のコンピューティングデバイスを指す。本明細書で使用する「カード」、「回路カード」、および「埋込みデータカード」という用語は、特定の送信機機能を提供するためにコンピュータシステム中に含まれ得、別個のFCC認証が要求される回路構成要素を指す。カードは、コンピュータシステム中に取り付けられ得る、単一の集積回路、チップセット、またはいくつかの集積回路と回路要素とを含んでいる回路カードの形態であり得る。好ましい一実施形態では、カードは、取り付けられるとコンピュータが外部ワイヤレスネットワークと通信することを可能にする、ワイヤレストランシーバまたはセルラーネットワークトランシーバなどの通信カードである。ただし、様々な実施形態は、カード証明が確認されなければならず、オペレーティングソフトウェアが機能するためにオペレーティングソフトウェアが回路要素にダウンロードされなければならない任意の回路要素に適用する。
【００１４】
消費者がモジュールを購入し、ノートブックが購入された後に取り付けることができる場合、回路カードがホストコンピュータ内で使用することについてのそれら自体の認証を確認することを要求する最近のFCC規制は、回路カードの設計に影響を及ぼし、それらのコストと複雑さとに影響を及ぼし得る。図2に関して上記で説明したような、回路カード中で認証確証を実行するには、回路カードが、このテストを実行するためのオペレーティングソフトウェアを記憶する不揮発性メモリを含む必要がある。大多数の適用例では、回路カードはコンピュータの相手先商標製造会社(OEM)によって取り付けられるので、このテストは不要である。OEMは、組立中に不適当な回路カードを取り付ける可能性が低く、FCCは、OEMだけがカードを取り付けることができる場合、カード製造業者が証明プロセスを証明することを要求しない。また、大部分の消費者は、購入後に、新規または交換回路カードを取り付けることによってそれらのコンピュータを変更しない。したがって、大多数の場合、確認テストは不要であり、回路カード内に適合性テスト機能を含めることは、大多数の状況においてほとんど無用である、不揮発性メモリおよびオペレーティングソフトウェアの複雑さ(したがって、付加コスト)を必要とする。
【００１５】
回路カードの複雑さを最小限に抑えながらFCC要件に準拠するために、本明細書で説明する様々な実施形態は、コンピュータのハードディスクから回路カード上にオペレーティングソフトウェアをロードする初期化プロセスの一部として、適合性テストを、コンピュータプロセッサ上で動作するソフトウェアにシフトする。このようにすると、回路カードは、不揮発性メモリを含む必要も、適合性テストを実行するためのソフトウェア命令を記憶する必要もなくなる。
【００１６】
現代のコンピュータシステムにおいて使用される多数の回路カードは、回路カードが機能するためのソフトウェア命令で構成されなければならないそれら自体のオンボードプロセッサを含む。そのようなプロセッサ搭載回路カードの例には、ワイヤレス電気通信カード(たとえば、WiFiおよびセルラーネットワークトランシーバカード)およびGPS受信機カードがある。そのような回路カードは、一般に、オペレーティングソフトウェアで構成されるプロセッサと、ソフトウェア命令ならびにデータを記憶するためのランダムアクセスメモリとを含む。そのような回路カードは、それら自体のオペレーティングソフトウェアを用いてプログラムされることなしに機能することはできない。いくつかの回路カードは、そのオンボードプロセッサをプログラムするために使用されるオペレーティングソフトウェア命令を記憶する不揮発性メモリを含む。しかしながら、いくつかの回路カードでは、そのオンボードプロセッサをプログラムするために、オペレーティング命令を回路カード上の不揮発性メモリにロードする必要がある。揮発性メモリを使用し、コンピュータのハードドライブに記憶されたソフトウェアによってプログラムされる回路カードは、費用のかからないものになり得、消費者に新しいオペレーティングソフトウェアを配信することによって(たとえば、インターネットを介してソフトウェア更新を提供することによって)容易にアップグレードされ得る。したがって、そのような回路カードが機能することができるようになる前に、ホストコンピュータ上で動作する初期化ソフトウェアルーチン(本明細書では「回路カード初期化ソフトウェアルーチン」と呼ぶ)は、回路カードの揮発性メモリに回路カードのオペレーティングソフトウェアをダウンロードしなければならない。そのような回路カード初期化ソフトウェアは、いずれもコンピュータ技術分野においてよく知られている、ホストコンピュータのブートルーチンの一部、スタートアップ中に実行されるソフトウェアアプリケーションのうちの1つ、または構成要素ドライバソフトウェアの一部であり得る。
【００１７】
様々な実施形態は、様々なコンピュータシステムおよびコンピュータアーキテクチャ上に実装され得る。図3は、様々な実施形態を実装し得るコンピュータシステム50の基本要素の構成要素図である。図3に示すように、典型的なコンピュータ50は、マイクロプロセッサまたはマイクロコンピュータなどのプロセッサ51と、EPROMなどの不揮発性メモリ52と、ハードディスクメモリ54と、回路カード56とを含むことになる。
【００１８】
回路カード56は、FCC適合性テスト要件の対象となる様々な回路カード、集積回路チップ、回路板または構成要素デバイスのいずれかであり得る。回路カード56は、揮発性メモリ57と、揮発性メモリ57に記憶されたオペレーティングソフトウェア命令によってプログラムされるカードプロセッサ58とを含み得る。カードプロセッサ58は、オペレーティングパラメータを備え、および/またはコンピュータのハードディスクメモリ54に記憶された少なくともいくつかのオペレーティングソフトウェアを用いてプログラムされなければならない。回路カード56は、一体構成要素カードとしてコンピュータ50内に含まれ得、または、破線によって示されるように、外部モデムなどの外部構成要素であり得る。
【００１９】
初期スタートアップ(すなわち、コールドスタートアップ)時に、コンピュータプロセッサ51は、不揮発性メモリ52に記憶されたBIOSソフトウェアとコンフィギュレーションデータとで最初に構成され得る。スタートアップシーケンスの一部として、コンピュータプロセッサ51は、コンピュータのハードディスクメモリ54からダウンロードされるソフトウェア命令で構成されることになる。様々な実施形態では、コンピュータプロセッサ51にダウンロードされるソフトウェア命令は、ハードディスク54に記憶された回路カード初期化ソフトウェアルーチンを含む。回路カード初期化ソフトウェアルーチンは、プロセッサ51に、様々な実施方法のステップを実行させ、ならびにカードプロセッサ58がその機能を実行するために必要とする動作データおよび/またはソフトウェア命令を回路カードの揮発性メモリ57にロードさせる。特に、以下でより詳細に説明するように、コンピュータプロセッサ51は、回路カード56がコンピュータ50に適合するかどうかを判断するために、コンピュータの不揮発性メモリ52に記憶されたコンピュータのPNP IDリストにアクセスするために、ハードディスクメモリ54に記憶されたソフトウェア命令で構成され得る。さらに、コンピュータプロセッサ51は、回路カードとノートブックシステムとの適合性を判断するのに有用である、製造文字列、システムIDなど、回路カード56に関係する他の情報にもアクセスし得る。図4〜図6を参照しながら以下でより詳細に説明する適合性テストが成功した場合、プロセッサ51は、ハードディスク54から回路カード56中の不揮発性メモリ57に回路カードオペレーティングソフトウェアをダウンロードすることができる。そのようにプログラムされると、回路カードプロセッサ58は回路カード56の機能を実行することができる。
【００２０】
様々な実施形態では、コンピュータのプロセッサ51上で作動する回路カード初期化ソフトウェアルーチンは、回路カードのオペレーティングソフトウェアをダウンロードする前に、プロセッサ51に回路カード適合性テストを実行させる。回路カード初期化ソフトウェアルーチンは、一般に、対応する回路カードが取り付けられたときに、コンピュータのハードドライブメモリ54に記憶されることになる。たとえば、回路カード56がOEMによってコンピュータ50中に取り付けられている場合、OEMは、適切な回路カード初期化ソフトウェアルーチンがコンピュータ50中に設けられたハードディスクメモリ54に記憶されることを保証することになる。回路カード56が、消費者が購入し、自分で取り付け得るアフターマーケット製品として販売される場合、製品パッケージは、消費者が、対応するレコーダ(たとえば、コンパクトディスクドライブ(図示せず))に挿入してコンピュータのハードドライブメモリ54に回路カード初期化ソフトウェアルーチンをアップロードすることができる、コンパクトディスクなどの有形記憶媒体を含み得る。代替的に、消費者は、インターネットから回路カード初期化ソフトウェアルーチンをダウンロードするように促され得る。いくつかの適用例では、回路カード初期化ソフトウェアルーチンは、磁気ディスクメモリではなく電子メモリを採用するモバイルデバイス(たとえば、セルラー電話、PDAなど)の中など、ハードドライブメモリ54の代わりに不揮発性メモリ52(フラッシュメモリなど)に記憶され得る。
【００２１】
一実施形態では、コンピュータ50に取り付けられた回路カード56ごとにコンピュータのハードディスクメモリ54に含まれた特定の回路カード初期化ソフトウェアルーチンがある。別の実施形態では、コンピュータ50は、テストすべき回路カードごとにハードディスクメモリ54に記憶されたPNP ID番号を使用して、以下で説明する実施形態の回路カード適合性テストを実行することができる、汎用回路カードソフトウェアインストールルーチンを実行し得る。このようにして、最初に回路カード56に通電したり、コンピュータのプロセッサ51にそのIDを提供することができる不揮発性メモリまたは回路を回路カード56上に含めたりする必要なしに、適合性テストを完了することができる。
【００２２】
図4に、一実施形態の例示的なプロセスフロー図を示す。「ブート」ルーチンと呼ばれることがあるコンピュータ初期化ルーチン中に、ステップ30において、回路カード初期化ソフトウェアルーチンをアクティブにする。このルーチンは、コンピュータのBIOSプロセスの一部として呼び出され得る。回路カード56にソフトウェアをダウンロードし始める前に、ステップ32において、回路カード初期化ソフトウェアルーチンは、コンピュータのプロセッサ51にコンピュータのPNP IDリストを問い合わせさせる。これは、プロセッサ51がコンピュータのBIOS EPROMメモリ52からPNP IDリストにアクセスすることによって達成され得る。たとえば、PNP IDリストは、BIOS情報に対する標準Microsoft呼出しを使用してアクセスされ得る。
【００２３】
PNP IDリストを受信すると、ステップ34において、回路カード初期化ソフトウェアルーチンは、プロセッサ51に回路カード56のPNP IDについてPNP IDリストをチェックさせる。これを行うために、回路カード初期化ソフトウェアルーチンは、コンピュータのハードディスクメモリ54に記憶されたデータフィールドから回路カードのIDを呼び戻し得る。代替的に、回路カードのIDは適合性テストソフトウェアルーチンのコード内にプログラムされ得る。テスト36において、回路カードがコンピュータのPNP IDリストに記載されていた場合、ステップ38において、回路カード初期化ソフトウェアルーチンは、続いて、回路カードにオペレーティングソフトウェアをダウンロードする。回路カードがプログラムされると、ステップ40において、回路カードは通常動作を開始することができる。しかしながら、回路カード初期化ソフトウェアルーチンが、回路カードがコンピュータのPNP IDリストに記載されていないと判断した場合(すなわち、テスト36=「いいえ」)、ステップ42において、回路カードオペレーティングソフトウェアダウンロードを終了し得る。これにより、非認証カード(すなわち、認証されていないか、または場合によってはPNP IDリストに記載されていないカード)が、使用可能またはアクティブにされる前に、ソフトウェアダウンロードステージに滞留することになる。一実施形態では、ステップ44において、回路カード初期化ソフトウェアルーチンはまた、回路カードのIDがコンピュータのPNP IDリストに記載されていない場合、プロセッサに回路カードへの電力を除去させ得る。
【００２４】
回路カード56への通電が遮断されたときはいつでも回路カードのオペレーティングソフトウェアが回路カードの揮発性メモリから削除されるので、この実施形態は、コールドパワーアップ時の回路カード証明についてのFCC要件に必然的に準拠する。適合性テストが実行されない場合でも、回路カード56はそのオペレーティングソフトウェアなしに動作しないので、回路カード56は作動しないことになる。
【００２５】
コンピュータの初期化ルーチン内の適合性テストのタイミングは、製造業者の選好に応じて変化することができる。たとえば、回路カード初期化ソフトウェアルーチンは、コンピュータ50自体が起動されたときはいつでも(すなわち、コールドパワーアップから)動作し得る。このようにして、回路カード56は、チェックされ、コンピュータの全体的なスタートアップシーケンスの一部としてアクティブにされることになる。代替的に、回路カード初期化ソフトウェアルーチンは、ユーザが特定の機能をアクティブにすることを選択したときなど、回路カード56がアクティブにされたときに動作され得る。たとえば、コンピュータ50が、ワイヤレス通信カードがアクティブにされないように構成されている場合は(たとえば、商業航空機上でコンピュータを使用するのに適した設定)、適合性テストを実行する必要はない。しかしながら、ユーザがコンピュータのワイヤレス通信機能をアクティブにすることを後で選択した場合、回路カード初期化ソフトウェアルーチンがアクティブにされ、この時点で適合性テストが実行されることになる。
【００２６】
「休止(hibernate)」または「待機(standby)」部分オペレーティングモードを含むコンピュータシステム中に実装され得る代替実施形態を図5に示す。休止または待機モードでは、コンピュータ50は、迅速なリスタートが可能な状態にされる。いくつかの実施形態では、メモリ中にソフトウェアおよび/またはデータを維持するために、いくつかのメモリモジュールに電力が供給され続け得る。FCCは、コンピュータ50がコールドパワーアップを実行するたびに適合性テストが実行されることのみを要求しているので、図4に関して上記で説明したプロセスのステップを実行する規制上の必要はない。図5を参照すると、コンピュータが待機または休止状態から通常動作に復帰したとき、ステップ30において、回路カード初期化ソフトウェアルーチンをアクティブにし得る。この実施形態では、回路カード初期化ソフトウェアルーチンは、最初に、テスト46において、コンピュータのプロセッサ51に、インスタントスタートアッププロセスが休止状態または待機状態のいずれかからの復帰であるかどうかを判断させ得る。これは、進行中であるスタートアップのタイプを示す、メモリ中のフラグをテストすることによって達成され得る。スタートアップがコールドパワーアップの一部である場合(すなわち、テスト46=「いいえ」)、ステップ32〜44において、プロセスは、図4に関して上記で説明した方法で続き得る。しかしながら、回路カード初期化ソフトウェアルーチンが、休止または待機状態からの復帰の一部としてアクティブにされた場合(すなわち、テスト46=「はい」)、ステップ38において、ソフトウェアルーチンは、コンピュータプロセッサ51に、回路カード56にオペレーティングソフトウェアをダウンロードするステップにジャンプさせ得る。
【００２７】
図5に示す実施形態により、適合性テストを実行する必要をなくすことによって休止または待機状態からのより迅速なリスタートが可能になり得る。適合性テストは、コールドパワーアップが行われるときにのみ行われればよいので、この実施形態はFCC要件に準拠する。また、休止または待機状態からのリスタートの後に不適合回路カードが通電されないことを保証するために、いくつかの追加のステップが含まれ得る。
【００２８】
図6に示すさらなる実施形態では、回路カード初期化ソフトウェアルーチンは、回路カード適合性テストの前の実施が成功したかどうかを示す、休止または待機状態中に維持される、コンピュータのメモリ(たとえば、52または54)に記憶されるフラグ変数のテスト48をも含み得る。コンピュータプロセッサ51が、回路カードのIDがPNP IDリストに記載されていると判断した場合(すなわち、テスト36=「はい」)、ステップ37において、この適合性フラグを設定し得る。これは、回路カード56が適合性があると判断されたことを示すために、プロセッサ51がコンピュータのメモリ中の特定のアドレス中にフラグ(たとえば、「1」)を記憶することによって達成され得る。次いで、休止または待機状態からの後続の復帰において、回路カード初期化ソフトウェアルーチンは、テスト46において、回路カード56が休止または待機状態の後に初期化されていることを判断した後、テスト48において、プロセッサにフラグをチェックさせ得る。適合フラグが設定されている(たとえば、「1」に等しい)場合、プロセッサ51はソフトウェアダウンロードステップ38にジャンプし得る。しかしながら、適合フラグが設定されておらず(すなわち、テスト48=「いいえ」)、前の適合性テストが失敗したことを示す場合、プロセッサ51は、続いて、図4に関して上記で説明したようにステップ32〜36を実行することによって適合性テストを再び実行し得る。代替的に、プロセッサ51は、続いて、ステップ42において、ソフトウェアダウンロードを終了し、図6中の破線によって示されるように、ステップ44において、回路カード56から電力を除去し得る。
【００２９】
図6に示す実施形態は、コンピュータ50が休止または待機状態から復帰しているときでも、不適合回路カードがアクティブにされないことを保証する。この実施形態はまた、前のテストで回路カード56が適合しないことがすでに示されている場合、適合性テストを行うことをバイパスし得る。
【００３０】
本実施形態は、いくつかの利点を有する。コンピュータのプロセッサ51とコンピュータのハードディスクメモリ54に記憶されたソフトウェアとを使用して適合性テストを実行することによって、回路カード56は、あまり複雑でなく、したがってあまり費用のかからないものになり得る。回路カード56上の不揮発性メモリの必要がなく(そうでない場合、適合性テストを実行するためのソフトウェア命令を記憶することが要求されることになる)、それにより、回路カードの設計から費用のかかる構成要素を潜在的になくすことができる。不揮発性メモリがその他の機能的目的のための回路カード56の一部である場合でも、不揮発性メモリを適合性テストソフトウェア命令で充填する必要がないので、他のカード機能のために利用可能なより多くのメモリが残ることになる。本実施形態はまた、コンピュータのBIOS内のメモリにアクセスすることが可能なソフトウェアを回路カード56中に与えることに関連する複雑さをなくす。回路カードは、まだ設計および構築されていないコンピュータを含む、様々なコンピュータのために製造され得るので、この利点は、多種多様なコンピュータアーキテクチャ中の特定のメモリにアクセスすることができる回路カードソフトウェアを設計するという課題をなくす。要するに、本実施形態は、回路カード56を、通常ならばFCC要件に準拠することが要求されるであろう設計よりも単純で費用のかからない設計にすることを可能にした。
【００３１】
回路カード適合性テストソフトウェアをコンピュータのハードドライブに記憶することは、ソフトウェアを回路カードの不揮発性メモリ内に埋め込んだ場合よりも、ユーザによる改変に対して脆弱になることに留意されたい。しかしながら、FCC要件は、消費者がコンピュータシステム中に不適合回路カードを不注意に取り付けるのを防ぐものであり、コンピュータシステムを変更または破壊する協調努力を阻止するものではないので、これは問題になり得ない。これは、ハッカーから保護するものではなく、一般的な消費者を保護するものである。とはいえ、回路カード初期化ソフトウェアルーチンは、コンピュータプロセッサが、ソフトウェアルーチンが変更されたかどうかを検出し、変更されていた場合は動作を妨げることができるように、デジタル署名によって暗号化または保護され得る。また、回路カード初期化ソフトウェアルーチンは、ユーザがソフトウェアファイルの位置を特定し、変更することをより困難にするために、非表示ファイル中か、またはハードドライブ上の非表示メモリロケーション中に記憶され得る。
【００３２】
上記の実施形態を実装するために使用されるハードウェアは、命令のセットを実行するように構成された処理要素およびメモリ要素とすることができ、命令のセットは上記の方法に対応する方法ステップを実行するためのものである。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【００３３】
本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両者の組合せとして実装できることを当業者なら諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００３４】
いくつかのステップの順序は、本発明および特許請求の範囲の趣旨および範囲から逸脱することなく本明細書で説明した順序から変更できるので、上記で説明し、図に示した方法のステップの順序は、例示のためのものにすぎない。本明細書で開示した実施形態に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアで実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体のいずれかであり得るプロセッサ可読メモリ中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末またはモバイルデバイス中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末またはモバイルデバイス中に個別構成要素として常駐し得る。さらに、いくつかの態様では、方法またはアルゴリズムのステップおよび/またはアクションは、コンピュータプログラム製品に組み込まれ得る、機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐し得る。
【００３５】
様々な実施形態の上記の説明は、当業者が本発明を実施または使用できるようにするために提供したものである。これらの実施形態に対する様々な変更は、当業者には容易に明らかとなり、本明細書で定義された一般的な原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書に示した実施形態に限定されるものではなく、代わりに、特許請求の範囲には、本明細書に開示した原理および新規な特徴に一致する最も広い範囲が与えられるべきである。
【符号の説明】
【００３６】
50  コンピュータシステム
51  プロセッサ
52  不揮発性メモリ
54  ハードディスクメモリ
56  回路カード
57  揮発性メモリ
58  カードプロセッサ
【図３】
0005526225.tif 000002
【図１】
0005526225.tif 000003
【図２】
0005526225.tif 000004
【図４】
0005526225.tif 000005
【図５】
0005526225.tif 000006
【図６】
0005526225.tif 000007