永続的サービスエージェント
様々なサービス(例えば、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアの更新)を提供する改竄防止サービスエージェントは、OSと無関係にPOSTの際ロードして制御を得るローダモジュール(CLM)と、適応インストーラモジュール(AIM)と、通信ドライバエージェント(CDA)とを含む複数の機能モジュールを備える。一旦制御がCLMに渡されると、CLMはAMをロードし、AMはCDAの位置の特定、確認、圧縮解除、及び検出されたOS環境に適応させる。CDAは、完全または最新のCDAが装置上のどこかに存在するかを決定し、存在しない場合、ネットワークから全機能CDAをロードするミニCDAと、装置と監視サーバとの間の全ての通信を担当する全機能CDAとの2つの形態で存在する。サービス機能は遠隔サーバによって制御してもよい。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2005年3月18日出願の米国仮特許出願第60/663,496号、2005年3月18日出願の米国仮特許出願第60/663,615号、及び2006年1月7日出願の米国仮特許出願第60/756,796号の利益を主張する。本出願は、2005年3月28日出願の米国特許出願第11/093,180号の一部継続出願である。これらの文書はその全体を引用によって本出願の記載に援用する。
【0002】
本出願で参照される全ての刊行物は、その全体を引用によって本出願の記載に援用する。
【0003】
本発明は、コンピュータ及びネットワーク環境における永続的または改竄防止サービスエージェントに関する。
【背景技術】
【0004】
現在の競合するビジネス環境では、情報技術(IT)は日々のビジネス機能での知識の交換においてますます重要な役割を演じつつある。個人、システム、組織、及び他のビジネス資産はこの新たに出現しつつある経済網の中で相互接続しており、このITの状況が次第に複雑さを増すに連れて、コンピュータ資産を効率的に管理する必要も増大している。その結果、今日の組織は、投資を最大限に活用しコストを管理するため、組織のコンピュータ資産ベースを制御し、管理し、安全にする必要をこれまで以上に認識している。
【0005】
ネットワーク中のコンピュータを管理するために必要な時間と財源の量は重大なものになることがある。こうした資産は電子商取引やビジネスインテリジェンスといった主要なビジネス処理をサポートする。こうした資産が保護されず、事前に資産を管理する能力がない場合、短期及び長期の損失が生じる可能性は莫大である。
【0006】
組織が直面する主要な課題の1つは、装置の記憶ドライブ上の個々のソフトウェアイメージと必要な更新を管理し、組織のコンピュータの位置と進行中の移動を追跡管理することである。どんな資産がありそれらが時間と共にどのように変化しているかを知ることは、現行のIT資産及びポリシー管理にとって基本的なことである。また、そのことを知っていれば、ハードウェアまたはソフトウェアのアップグレード、またはコンピュータの廃棄といった計画及び予算編成が改善できる。企業が地理的に拡大し、モバイル及び遠隔システムの採用がますます一般的になるに連れて、この問題はさらに複雑になっている。こうした資産とそこにあるソフトウェアイメージを追跡することは、コンピュータ自体の価値にとって重要なだけでなく、マシン上に存在する貴重なデータの保護にとってさらに重要であることが多い。紛失または不適切に設定した資産は内部に読み取り可能な機密情報または著作権を有する情報を有することや、ウイルス対策用に更新されないことがあり、また企業のネットワークにアクセスする権利を有したままでいることがある。企業はその資産及びその構成を明確にし、ハードウェア及びソフトウェアについて何がそれらに搭載されているかだけでなく、それらがどこにありそれらを誰が使用しているかを明確にすることができなければならない。この追加情報があって初めて、組織は遠隔及びモバイルユーザのセキュリティ及び規制遵守の問題に取り組むことができる。
【0007】
モバイルコンピューティング装置の処理能力の増大に伴って、デスクトップユニットの代替品として、または家庭用または小企業のネットワーク用の追加装置として、モバイルコンピューティング装置を選択する個人が次第に増大している。個人は元来コンピュータ資産のインベントリ及び構成の管理に関心を有さないが、それにもかかわらずパーソナルコンピュータ資産の追跡管理及び個人データの保護に関しては、大企業と同様の関心を共有している。
【0008】
大部分のIT部門は、従来の資産管理ソリューションが絶えず増大する遠隔及びモバイルユーザの個体数を正しく明確にすることができないという主張を支持するだろう。実際には、通常の組織は、PCドリフト1までの2年間にPC資産の15%までを失うが、この場合資産は必ずしも紛失または盗難にあったわけではなく、支給されてから何度も所有者または部門が変わったため所在を明確にすることができないだけのことがある。平均すると、備品目録の作成を要求された場合、大部分の組織が正確に識別できるのは、組織の実際のPC資産ベースの65%に過ぎない。模範事例として、PC資産の少なくとも90%の位置を常に把握することが要求されている。
【0009】
LANの外部を移動する遠隔及びモバイルコンピュータ資産には多くの点で問題がある。まず、大部分の資産追跡管理ソフトウェアは、マシンがローカルネットワークに接続されていない場合それを追跡管理することができない。また、こうした遠隔マシンはITネットワーク全体のセキュリティ上の大きな脅威の原因となる。IT管理者よりもむしろ遠隔ユーザがマシンの管理及び設定更新に対して責任があることが多い。大部分のユーザは普通、必要なセキュリティ意識を有していない。ユーザはセキュリティ設定のレベルを下げ、気付かないうちに悪意のあるソフトウェアをインストールし、ウイルス対策ソフトウェアを期限切れにし、最新のセキュリティパッチをインストールしないことがある。遠隔ユーザにとってはセキュリティ上の小さな過失に見えるかもしれないことが、ネットワーク全体に対して劇的な影響を有することがある。遠隔ユーザは、LANに接続すると、セキュリティへの関心が低いため、ネットワーク全体を感染させることがある。こうした遠隔マシンに対する有効な資産管理ツールなしに、IT管理者はネットワーク全体の完全性を保証することができない。ネットワークの安全性はその最弱リンクの安全性と同じであるに過ぎない。コンピュータセキュリティに関するCSI/FBI年次調査は、盗難にあったPC資産の57%が企業に対するさらなる犯罪を行うために使用されていることを示している。
【0010】
最近の企業会計スキャンダル、識別情報の盗難及び悪意のあるハッキングに対して、政府は全ての機密上重要なデジタル情報を保護し明確にすることを企業に要求する規則を制定しつつある。2002年のサーベンス・オクスリー法(Sarbanes−Oxley Act of 2002)はこうした規則の優れた一例である。サーベンス・オクスリー法によって、資産を正確に報告していない場合の摘発が増大している。経営幹部は、正確な資産報告を保証する適切な管理及び規則があるかを法律的に検証するように要求されている。現在では、正確な資産報告の履行を保証することは、最高財務責任者(CFO)及び最高経営責任者(CEO)の受託者責任である。資産ベースを不正確に報告した組織に対する法律上、規制上及び財政上の摘発は非常に重大なものになり得る。コンピュータは組織の資産ベースの大きな割合を構成することが多いので、正確な報告が必要である。グラム・リーチ・ブライリー(GLB)法は、財務部門での顧客記録の保護を保証する別の規則である。同様に、医療保険の相互運用性と説明責任に関する法律(HIPAA)は、医療記録と保険関連情報の機密性を保護する連邦政府のプライバシーの基準を確立した。組織が全てのコンピュータ資産を有効に追跡管理しなければ、重大な規制上の問題が生じ得る。
【0011】
追跡管理機能を引き受ける資産追跡管理及び/または設定管理アプリケーションは、ユーザによるある程度の改竄に抵抗できるべきである。資産追跡管理の状況では、通常、許可されたユーザはコンピュータのライフサイクル管理のある面の責任者である。この状況では、追跡管理エージェントは、(例えば、コンピュータ資産のライフサイクル終了時に)エージェントの無効化を可能にする必要性を正当と認める一方で、追跡管理エージェントの偶発による除去から許可されたユーザを保護できるべきである。許可されていないユーザは、エージェントソフトウェアを除去しようとするが、通常コンピュータのライフサイクル管理に責任を負わない人物である。エージェントを除去しようとする故意の、許可されていない試行の理由は、追跡管理ソフトウェアを永久的に除去された状態にしようという窃盗犯または潜在的な窃盗犯の行為であることを含むだろう。許可されていないが偶発的な除去の試行は、例えば、新しいオペレーティングシステムをインストールしたりハードディスクドライブを再イメージングしたりしようとする何者かの成功または不成功の試行を含むだろう。
【0012】
PC資産及びその構成を追跡、管理及び更新しようとする試行は、PCはそのライフサイクルを通じて、故障/調整修理、設定変更、オペレーティングシステムの再インストール、ハードディスクドライブの再フォーマット/交換、システムの破壊及びユーザ主導の設定変更を含む多くのハードウェア、ソフトウェア及びイメージの変更を経験するという事実によってさらなる課題を与えられる。こうした変化の多くはオペレーティングシステムの再インストールを必要とし、それによってPC資産の元のフットプリント、識別情報または追跡管理エージェントが無効化または除去されることがある。この変化は、勤勉に記録及び追跡管理しなければ、既知の状態から未知の状態へのPC資産ドリフトの始まりとなる。こうした日常のPCライフサイクル動作の要求は、特に遠隔及びモバイルPCの場合、PC資産追跡管理の複雑さと課題を増大しかねない。
【0013】
これまで、既存の資産追跡管理アプリケーションは、Windows NT/2000/XP(登録商標)環境では、許可されていないユーザによる改竄に対して要求される永続性を達成するために必要な機能を示さないという点で不十分である。こうした追跡管理アプリケーションは一般に、上記で述べた許可されていない、または偶発によるユーザの行為、または、レジストリ設定の削除またはアプリケーションファイルの削除といった他の単純な行為によって簡単に無効になってしまう。
【0014】
本発明の譲受人である、アブソリュートソフトウェア社(Absolute Software Corporation)は、資産を安全に追跡管理し紛失または盗難にあった資産を回復する製品及びサービスであるコンピュトレース(Computrace)、及びコンピュトレース技術プラットフォームによって動作する安全な資産追跡管理及びインベントリ管理ソリューションであるアブソリュートトラック(AbsoluteTrack)を開発し販売している。コンピュトレースは、ホストコンピュータのハードディスクドライブに存在するソフトウェアクライアントであるステルスエージェントを導入する。一旦インストールされると、自動的に、エージェントは定期的に監視センタにコンタクトし位置情報及び全ての自動的に発見された資産データポイントを送信するようになる。エージェントと監視センタとの間の進行中の通信はユーザの介入を必要とせず、インターネットまたは電話接続を介して維持される。コンピュータの電源が投入され、(ISPまたは企業ネットワークを通じて)電話回線への接続またはインターネットへのアクセスの何れかを有している限り、コンピュトレースエージェントは資産データを監視センタに報告することができる。エージェントと監視センタとの間のユーザの介入を必要としない通信によって、エージェントの許可されたユーザはコンピュータインベントリ全体の最新の位置情報と包括的な資産データに安全にアクセスできるようになる。単独で使用されるにせよ、また既存の資産管理ツールの補完物として使用されるにせよ、アブソリュートトラックは、遠隔、モバイル及びデスクトップコンピュータを監視し、日常的なハードウェア及びソフトウェアのインベントリ追跡管理機能を実行するあらゆる規模の企業の助けとなる費用効果的なアプリケーションサービスである。コンピュトレースはモバイルコンピュータの盗難を追跡管理し、盗難にあったモバイルコンピュータを回復する有効なツールである。
【0015】
様々なコンピュトレース製品及びサービスの根底にある技術は、米国及び他の諸国で開示及び特許取得されており、それらの特許は本出願と同じ譲受人であるアブソリュートソフトウェア社に譲受されている。例えば、米国特許第5,715,174号、米国特許第5,764,892号、米国特許第5,802,280号、米国特許第6,244,758号、米国特許第6,269,392号、米国特許第6,300,863号、および米国特許第6,507,914号の公報、及び関連外国特許を参照されたい。アブソリュートトラックに関するさらなる情報はアブソリュートソフトウェア社によって公開されている(例えば、2003年4月25日に発行された白書「アブソリュートトラック−安全なコンピュータ資産追跡管理ソリューション(AbsoluteTrack-Secure Computer Asset Tracking Solution)」を参照されたい)。
【0016】
保護された各装置に導入されたエージェントはステルス性であって、コンピュータのユーザによる検出に対する耐性を有する。改竄耐性のレベルは検出の困難さとコンピュトレースサービスを無効にするために要求されるスキルのレベルに直接影響する。コンピュトレースエージェントはディスクベースのユーティリティと同程度の改竄耐性を有するが、さらに上のレベルの改竄耐性を提供し、さらに、資産追跡管理及び回復以外のサービスを有効化、サポート及び/または提供する改善されたエージェントを開発することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【0017】
本発明は、改竄に対する耐性を改善した、(非制限的に、ハードウェア、ファームウェア、ソフトウェア、データ、等を含む)資産及びそのソフトウェア設定の管理及び保護に関するサービスを有効化、サポート及び/または提供するサービスエージェントに関する。サービスは、資産管理追跡、資産回復、データ削除、ソフトウェア導入、等を含んでもよい。
【課題を解決するための手段】
【0018】
サービスエージェントは複数のモジュールを備える。各モジュールは個別の動作環境で機能するように設計されている。モジュール設計は、アプリケーション全体を再構築する必要なしに、例えば、BIOS中またはハードディスクドライブ上といった特定の動作環境に導入するようにエージェントを構成する柔軟性を提供する。エージェントは全体的または部分的に(ハードウェアのマイクロコードを含む)ソフトウェアによって実現してもよく、またシステム内のソフトウェア、ファームウェア及び/またはハードウェア構成要素中に存在してもよい。
【0019】
本発明の1つの態様によれば、ローダモジュールがロードされ、電源投入時自己診断(POST)中の制御を得る。このエージェントに依存して、エージェントがインストールされた装置、及びエージェントがインストールされた装置に関連する資産に対するサービス(例えば、追跡管理、データ削除及びソフトウェア更新)を有効化、サポート及び/または提供することができる。一旦制御がローダに渡されると、ローダは、必要に応じて、かつ適当な時に、マシンから除去または紛失した可能性のあるエージェントの部分をネットワーク(例えば、インターネット)経由でリロードすることを含む、エージェントの他の機能及びモジュールをロードする役割を果たす。サービスエージェントは、普通なら除去されてしまうような操作を受けたとしても永続的である能力を有する。
【0020】
本発明の1つの実施形態では、永続的エージェントのエージェントコードのための少なくとも1つのモジュール及び/またはデータは、装置中に存在するROM及び、特に、基本入出力システム(BIOS)またはその機能的同等物といった、装置のファームウェアにおいて実現される。サービスエージェントは、装置のオペレーティングシステムから独立して、その意図するサービス機能(例えば、追跡管理、データ削除及びソフトウェア更新)を実行できるようにエージェント自体をロードすることができ、動作環境を検出することによって、装置のいくつかの基本的な動作(例えば、入力/出力)を制御する環境(例えば、装置のオペレーティングシステム)に適応することができるので、エージェントはシステムのこうした基本的動作を使用してその意図するサービス機能を実行することができる。
【0021】
別の実施形態では、永続的エージェントは、「コンピュトレース」ローダモジュール(CLM)、適応インストーラモジュール(AIM)、及び通信ドライバエージェント(CDA)を含む、3つの主要なモジュールを備えている。CLMはAIMをロードし、AIMは、CDAの位置を特定し、CDAを確認、圧縮解除、及び検出されたOS環境に適応させる。1つの実施形態では、CDAは、部分的すなわちミニCDA及び全機能CDAという2つの形態で存在する。ミニCDAの機能は、完全または最新のCDAが装置上のどこかに存在するか否かを決定し、存在しない場合、監視サーバからネットワーク(例えば、インターネット)経由で全機能CDAをロードすることである。そして、全機能CDAは、装置と監視サーバとの間の全ての通信を担当する。別の実施形態では、特定の環境に適応するためカスタム機能を必要とすることのある異なるモジュール、特にCLMをプログラム可能にしてもよい。いくつかのモジュールの形でエージェントを提供することによって、カスタマイゼーションのレベルを最小に保持することができる。1つの実施形態では、少なくともCLMはBIOSのようなファームウェア中に格納され、1つまたは複数の他のモジュールはハードディスクパーティションギャップ、またはハードディスクドライブのホスト保護領域(HPA)中に格納される。別の実施形態では、CLMは代替マスターブートレコード(MBR)、または上記の組み合わせの中に格納される。
【0022】
別の態様では、エージェントが実行するサービス機能は、エージェントにおいて利用可能な汎用サブファンクションの呼び出しを組み合わせることで、遠隔サーバによって制御してもよい。エージェントはこのようにプログラム可能なので、サーバ主導のコマンドに基づいて拡張することができる。この拡張可能性は、スペースが貴重で機能を追加または変更するための頻繁な更新が経済的ではないBIOSのようなファームウェアにエージェントを無事に導入するため重要である。拡張可能性はエージェントのアクティブ化処理及び再アクティブ化処理の主要な構成要素である。
【0023】
本発明の別の態様では、エージェントの拡張可能性によって、クライアント装置に格納されたデータを消去するためのデータ削除アプリケーションが可能になる。
【0024】
本発明のまた別の態様では、エージェントの拡張可能性によって、クライアント装置にソフトウェアの更新を供給しプログラムすることが可能になる。
【0025】
本発明は、装置の「ユーザ」の操作とは無関係に、事前に導入されたサービスエージェントを「アクティブ」な状態に保持する能力を改善する。本発明の文脈で、「アクティブ」という用語は、エージェントソフトウェアの構成要素がそれ自体をロードして、例えば1つの実施形態では、ハードディスクドライブのフォーマット、オペレーティングシステムの再インストール、イメージングユーティリティを使用したハードディスクドライブの再イメージング、及びハードディスクドライブの交換のための低レベルコマンドを含む、広範な「ユーザ」の操作のための全能力を再構成する特定の能力を指す。「ユーザ」という用語は、こうした操作を実行し、許可された、または許可されていない者として行動し得る個人を指す。エージェントを除去する操作は意図的または偶発的なものでよい。
【0026】
本発明は、(例えば、コンピュータ資産のライフサイクル終了時に)エージェントの無効化を可能にする必要性を正当と認める一方で、サービスエージェントの偶発による除去から許可されたユーザを保護する。本発明は、許可されていないユーザがエージェントソフトウェアを除去するのを防止する。本発明の永続的な属性は、資産保護、データ及びネットワークのセキュリティ、IT資産管理、ソフトウェアの導入、及び他の種類の適用業務において価値を有する。安全でステルス性の装置追跡管理ソフトウェアアプリケーションの状況では、貴重な資産の盗難を隠すことは、窃盗犯がどんな操作を行うかに関らずはるかに困難になっており、ソフトウェアは永続して遠隔監視センタにコンタクトすることが可能であるため、本発明は大きな価値を有する。さらに、サービスエージェントが永続的な性質を有しているため、エージェントが偶発的に除去されないという信頼が得られ、セキュリティ要員に安心が提供される。安全な資産管理アプリケーションの状況では、全ライフサイクルにわたる資産の追跡管理の連続性が保証されるため、本発明はさらなる価値を有する。今日のIT管理者の主要な課題は全ライフサイクルにわたって資産の追跡管理を行う能力である。ライフサイクルの間に、装置はあるユーザから別のユーザに引き渡されることが多く、その際装置は再イメージング、またはオペレーティングシステムの再インストール、または他の形で資産の追跡管理を困難にする保守手順の対象になることがあるが、これは本発明によってより容易になる。永続的で拡張可能なエージェントによって、資産追跡管理サービスに加えて、他のサービスを有効化、サポート及び/または提供することができる。
【0027】
本発明の性質及び利点、及びその好適な使用形態をより完全に理解するには、添付の図面に関連してなされる以下の詳細な説明を参照されたい。これらの図面中、同一の参照符号は全図を通じて同一または同様の部品を表す。
【発明を実施するための最良の形態】
【0028】
本説明は発明を実施するための現在考えられる最良の形態に関するものである。本説明は、本発明の一般的原理を例示するためになされたものであって、制限的な意味で受け取るべきではない。本発明の範囲は、添付の請求項を参照することによって最もよく決定される。本発明の根底にある原理を理解すれば明らかになるように、本発明は、本発明の範囲及び精神から離れることなく、多様な実現例において有用性を見出すことができる。本発明の永続的エージェント(Agent)の特徴を例示する目的で、エージェント及び追跡管理エージェントによって提供されるサービスの一例としての資産追跡管理、及びエージェントによって提供されるサービスの別の例としてのデータ削除を参照する。本発明の範囲及び精神から離れることなく、エージェントをソフトウェアの配布及び更新といった他のサービスのために使用してよいことを理解されたい。
【0029】
以下の詳細な説明は主として、本発明の方法または処理、動作、機能及び特徴の符号表現によって提示される。これらの方法の説明及び表現は、当業者がその作業の趣旨を別の当業者に最も効果的に伝えるために使用する手段である。ソフトウェアによって実現される方法または処理は、本出願では、かつ一般的に、所望の結果に至る一連の首尾一貫したステップであると考えられる。こうしたステップは物理量の物理的動作を必要とする。必然的ではないが、多くの場合、物理量は、格納、転送、結合、比較及びその他の動作が可能な電気信号または磁気信号の形態を取る。さらに認識されるように、ハードウェアとソフトウェアとの間の境界は必ずしも明確ではなく、ソフトウェアによって実現される処理を、マイクロコード及び/または格納されたプログラム命令などのコーディングされた命令の形態で、ハードウェア、ファームウェア、またはソフトウェアにおいて実施してもよいことを、当業者は理解するだろう。
【実施例】
【0030】
[追跡管理システムの概要]
資産追跡管理機能は、本発明の永続的エージェントによって有効化、サポート及び/または提供することができるサービスの一例である。図1を参照すると、本発明の1つの実施形態に係る資産追跡管理システムは、以下の主要構成要素を備え得るクライアント/サーバアーキテクチャを包含する。(a)エージェントを埋め込まれた図示の電子装置の何れか1つからなるクライアント装置A。エージェントソフトウェアは、資産、位置及び他の情報を報告し、遠隔サーバから命令を受信して所望の機能をサポート及び実行するようにエージェントをプログラムする目的で、クライアント装置上で実行される。本発明は、偶発または故意による除去に対するエージェントソフトウェアの永続性を高める能力及び監視サーバからのクライアントのプログラミング性を提供する。(b)情報交換リンクなどの通信リンクB。これは交換通信ネットワーク、インターネット、私設及び公衆イントラネット、ラジオネットワーク、衛星ネットワーク、及びケーブルネットワークを含んでもよい。及び(c)ホスト監視システムC。これはクライアント装置Aとホスト監視システムCとの間の通信を監視するホスト監視サーバ3を含み、クライアント装置から定期的にコンタクトを受けクライアント装置からの情報を記録する。また、監視サーバは、クライアントが行う予定の動作、収集すべきデータ、及びクライアントの次の計画呼び出し時間を含む、行うべき動作に関する命令をクライアントに提供する。クライアント装置は、通信リンクB(例えば、IP接続またはダイヤルアップ電話接続)を介して監視サーバにコンタクトする。監視サーバは、インターネット上で提供されるサービス、または企業イントラネット上の自営サーバの何れかとしてその機能を果たすことができる。ホスト監視システムCは、顧客、管理者及び資産追跡管理サービスプロバイダに、監視サーバ及びクライアント装置のデータを閲覧しこれらの機能を管理する能力を提供する報告及び管理ポータルを含んでもよい。ホスト監視サーバは、多数の通信手段を介して、顧客、指定された代理人及び法執行機関に、資産監視の状況に関する通知を行うことができる。
【0031】
図1を参照すると、本発明にかかわる永続的サービスエージェントを実現可能な有用なクライアント装置Aは、制限的ではないが、汎用または特定用途向けデジタル処理、情報処理及び/またはコンピューティング装置を含み、これらの装置は独立型装置またはより大きなシステムの構成部分(例えば、大容量記憶装置)、携帯型、手持ち型または位置固定型でもよい。本発明のサービスエージェントアプリケーションによって異なる種類のクライアント装置を実現してもよい。例えば、以下さらに説明するように、外部サーバと通信する能力を有する、デスクトップクライアントコンピューティング装置、携帯型コンピューティング装置(例えば、ラップトップ及びノートブックコンピュータ)、または手持ち型装置(例えば、携帯電話、PDA(携帯情報端末)、情報家電等)に、本発明のサービスエージェントアプリケーションを適用してもよい。クライアント装置は、装置中に存在するオペレーティングシステムに加えて、装置中に格納されたプログラム、ルーチン及び/または一連の命令及び/または論理によって選択的に動作、起動または設定してもよい。約言すれば、本出願で説明及び示唆される方法の使用は、特定の処理構成に制限されない。
【0032】
本発明の原理、特徴及び機能の理解を容易にするため、例示実施形態における導入及び実現を参照して説明する。一例として、非制限的に、インターネットのコンテキストに関する配置及び実現の例を参照し、クライアント装置Aとしてラップトップまたはノートブックコンピュータを参照して本発明を説明する(コンピュータA1は略図でデスクトップ装置として表示されているが、携帯型コンピューティング装置でもよい)。本出願では、将来のグローバルネットワークの既存の部分に本発明を適用することを考慮していることを当業者は理解するだろう。さらに、本発明のインターネットの態様はクライアントコンピュータA1を参照して説明及び例示しているが、インターネットアプリケーションは、本発明の範囲及び精神から離れることなく他のクライアント装置に容易に適用可能であることを理解されたい。
【0033】
図1は、資産追跡管理のため本発明を導入可能な情報交換ネットワークの形態の通信リンクBの概略図である。本発明に係る資産追跡管理エージェントアプリケーションがアクセスする情報交換ネットワークは、非制限的に、公衆及び私設コンピュータネットワーク(例えば、インターネット、イントラネット、WAN、LAN等)、付加価値ネットワーク、通信ネットワーク(例えば、有線または無線ネットワーク)、同報ネットワーク、ケーブルネットワーク、ラジオネットワーク、及びこうしたネットワークの均質または不均質な結合といった、分散型情報交換ネットワークを包含してもよい。当業者が認識するように、ネットワークはハードウェア及びソフトウェアの両方を含み、個々の目的に対して説明が最も有益になるように、それらの何れか一方または両方として見てもよい。例えば、ネットワークは、通信機能による相互接続が可能なハードウェアノードの集合として説明してもよく、また代替的には、通信機能として説明してもよく、また代替的には、ノードを伴うかまたは伴わない通信機能自体として説明してもよい。さらに、ハードウェア、ファームウェア及びソフトウェアの間の境界は必ずしも明確でないことが認識され、こうしたネットワーク及び通信機能、及び永続的エージェント技術プラットフォームの構成要素は、ソフトウェア、ファームウェア及びハードウェアの態様を包含する。
【0034】
インターネットは、本発明を実現し得るコンピュータネットワークを含む情報交換ネットワークの一例である。インターネットを構成する(サーバ、ルータ、ゲートウェイ等といった)様々なハードウェア及びソフトウェア構成要素の詳細は、当業技術分野で周知であるので示さない。さらに、ユーザ/クライアント装置及びサーバによるインターネットへのアクセスは、同軸ケーブル、電話回線、無線RFリンク等及びブラウザのようなツールによって実現してもよいことを理解されたい。サーバとクライアントとの間の通信は既定のプロトコルによって行われる。以下指摘するように、本発明の永続的資産追跡管理エージェントアプリケーションは、情報交換ネットワークを通じてサーバの1つと通信可能なクライアントの1つにおいて、またはそれ自体として構成してもよい。本発明は他の既存の技術と組み合わせて動作するが、このことは当業技術分野で周知であるので、本発明を不明瞭にするのを避けるため本出願では説明しない。具体的には、例えば、インターネット、ウェブベースのツール及び通信、及び関連方法及びプロトコルを包含する方法が現在存在する。
【0035】
図1を参照すると、ホスト監視システムCは単に、(同時または並行して)1つかそれ以上の通信リンクBを介して、エージェントをインストールしたクライアント装置Aとデータを交換するように構成したコンピュータ(例えば、サーバ3)でよい。ホスト監視システムCは、外部ユーザアクセスを識別及びフィルタリングするルーチン(C1)を含む。また、ホスト管理システムCは、報告及び管理ポータルを介して、追跡管理されるクライアント装置Aに関する情報(例えば、ネットワーク位置情報)について追跡管理される装置Aの所有者及び/または代理人と直接または間接に通信する(C3)。例えば、ホスト監視システムCは、電子メール、ファックス、ポケットベル(登録商標)、電話等によって、追跡管理される装置の所有者、所有者が指定した代理人、会社が指定した部署または代理人、人員を配置した監視サービスステーション、法執行機関等と通信してもよい。代替的には、ホスト監視システムCは、それ自体が人員を配置した監視サービスステーション、または法執行機関の一部であってもよい。ホスト監視システムC及び/または下流のターゲット位置(例えば、人員を配置した監視サービスステーション)では、追跡管理される資産のインベントリリスト、または追跡管理される資産の紛失/盗難状態を管理する。図1では1つのホスト監視システムCが図示されているが、例えば異なる地理的範囲にある通信ネットワークにわたって複数のホスト監視システムCを分散させてもよい。
【0036】
エージェントの重要な機能の1つは、ホスト監視システムCにコンタクトして、関連するクライアント装置Aに関する識別情報、位置、及び/または他の情報を報告することである。本発明の1つの実施形態によれば、各クライアント装置Aは固有の識別情報に関連付けられており、この識別情報はクライアント装置Aがホスト監視ステーションCに提供する情報の一部でもよい。固有の識別情報は、電子シリアル番号(ESN)、媒体アクセス制御(MAC)番号、インターネットホスト名/IPアドレス、所有者/ユーザを特定する識別情報、またはクライアント装置を表示、識別する、及び/またはその識別を可能にする他の数字、英字または英数字情報、エージェントの現実または仮想の地理的位置及びその識別情報を決定または評価するさらなる基礎を提示し得る日付及び時間といったさらに別の情報でもよい。
【0037】
ステルスエージェントを使用して資産の追跡管理及び/または盗難または紛失にあった装置Aの回復を行うことの一般的な概念は、本発明の譲受人であるアブソリュートソフトウェア社に譲受された特許で開示されている。エージェントは、ホスト監視システムCを呼び出す適当な時間を決定しなければならない。ここでは、一旦エージェントがインストールされ実行されると、エージェントは、通信処理を開始するためのユーザの介入なしに、周期的(例えば、N時間毎)、(例えば、システムまたはユーザのログオンから)所定の時間が経過した後、または装置のシステムブートの後、または何らかの所定の条件の発生時、またはハードウェアの再設定といった何らかの内部または外部のイベントによるトリガの何れかによって、通信リンクBを介してホスト監視システムCにその識別情報及び/または位置を報告するということに簡単に言及すれば十分であろう。また、エージェントは、同時に2つかそれ以上の利用可能な通信リンクBを介してホスト監視システムCにその識別情報及び位置を報告してもよい。エージェントと、ひいては追跡管理される装置の位置は、例えば、インターネットを介してクライアント装置Aとホスト監視システムCとの間の通信を可能にするために使用される全てのIPルータのリストを得るトレースルートルーチンによって決定してもよい。
【0038】
監視システムCに送信された全ての位置及び資産関連データは中央リポジトリに保持してもよく、許可された管理者は、安全なウェブベースまたはネットワークベースのコンソールを介して週7日24時間いつでもそれにアクセスできる。1つの実施形態では、エージェントが位置及び資産データを転送すると、監視システムCは、次のタスクの集合及び次の計画呼び出し日時をエージェントに送信しプログラムする。監視システムCは、全てのエージェントの送信をアーカイブし、各コンピュータ(C2)に関する最新かつ正確な監査証跡を提供する。包括的なコンピュータ資産追跡管理及びインベントリ作成ソリューションは、企業ネットワークに局所的に接続しているシステム、及びIPまたはダイヤルアップを介して遠隔的に接続する遠隔及びモバイルシステム上でこの情報を取り込む。さらに、情報を定期的に取り込んで、資産の最新の状態を確実に把握できるようにする必要がある。
【0039】
以下さらに説明するように、追跡管理エージェントは、改竄に対する高い耐性を備えた永続的なものであり、エージェントは、許可されていないユーザに対して透過的になるように設定してもよい。エージェントは、ユーザから隠しておくため、干渉するように設計されている場合以外は、動作中のアプリケーションに干渉しない。本発明に係るエージェントの新規な特徴、機能及び動作を以下さらに十分に論じる。
【0040】
[永続的エージェントプラットフォームの概要]
IT管理者は、コンピュータの全ライフサイクルを通じて全てのコンピュータ資産を着実に追跡管理する能力を必要とする。これはLANの外部で動作する遠隔及びモバイルコンピュータを含む。資産追跡管理エージェントは、コンピュータのライフサイクルの初めに一旦インストールし、コンピュータが廃棄されるまで定期的に通信する必要がある。ライフサイクルの間に、コンピュータは多くのユーザ、ハードウェア及びソフトウェアの変更を経験するので、追跡管理エージェントが永続的であり、これらの3つの分野での変化を報告できることが重要である。本発明に係る永続的エージェントは、たとえハードディスクドライブが再フォーマットされたり、オペレーティングシステムが再インストールまたは改竄されたりした場合でも、例えば、IMAC及びブレーク/フィックス動作と無関係に、PCの全ライフサイクルを通じて、PC資産の当初の識別情報とその状態を報告することができる。永続的エージェントは、それ自体を保護するように設計されているので、許可されていない削除試行を乗り切って残存することができる。この永続的な特徴は、盗難にあった場合PC資産との接続を保持し、正確で安全な資産追跡管理を確保するため重要である。
【0041】
永続的エージェントはホストコンピュータ上に存在する検出不可能な下位ソフトウェアクライアントである。エージェントは永続的ソフトウェアであり、削除するのは極めて困難である。エージェントは、たとえエージェントサービスが従来の手段によって削除された場合でも、エージェントソフトウェアのインストレーションを再構築するように機能する自己回復機能を組み込んでいる。エージェントは、オペレーティングシステムのインストール、ハードディスクドライブのフォーマット、及びさらにはハードディスクドライブの交換までも乗り切って残存する。この残存力は、資産追跡管理及び盗難からの回復(及びエージェントが有効化、サポート及び/または提供し得る他のサービス)を成功させるために重要である。自己回復機能はファイルシステム中に存在しないので、これまでのソフトウェアより検出及び削除が困難である。ソフトウェアの永続的かつ自己回復的な部分はそのステルス性のため削除するのが困難である。このソフトウェアは普通、正しいパスワードを有する許可されたIT管理者によってのみ削除される。自己回復機能は、新たにフォーマット及びインストールされたオペレーティングシステム及び新たにイメージングされたシステムにおいてエージェントのインストールを修復するように機能する。
【0042】
本発明の別の態様では、エージェントは最初にプログラムされたもの以上に機能を拡張するようにプログラム可能である。エージェントは遠隔サーバと通信し、その際遠隔サーバは次のタスク集合をエージェントに提供することによって、エージェントに対する送信及びプログラムを行う。
【0043】
エージェントは、何らかの電子装置のハードウェア、ファームウェアまたはソフトウェアにおいて実現してもよい。代替的には、エージェントは、モデム中のDSPまたはコンピュータ中のCPUなどの電子構成要素といった、装置の何らかの構成要素において実現してもよい。さらに、データのパケットの送信及び/または受信を通じて通信リンクを確立することのできる何らかのハードウェア装置の回路においてエージェントの機能を実現してもよい。例えば、電子装置の(ROM BIOS、ROM、フラッシュROM、EPROM、EEPROM等といった)不揮発性メモリ、ソフトウェアプログラム、マイクロコードプログラム、デジタル信号プロセッサ(「DSP」)プログラムまたはオペレーティングシステムのビルトイン機能においてエージェントを具体化してもよい。
【0044】
本発明の1つの実施形態によれば、永続的追跡管理エージェント(以下「永続的エージェント(Persistent Argent)」とも言う)はBIOS(またはそれと機能的に同等のシステム)において具体化される。当業技術分野で周知のように、BIOSはシステムの電源投入時または再起動時に常に実行される起動コードである。これは、処理ユニット中に埋め込まれたマイクロコードでもよく、またメモリ空間中の既定の位置から開始されるソフトウェア(命令)でもよい。こうした命令は、装置上に存在するオペレーティングシステムのブートと無関係かつ通常その前に、電源投入時自己診断(POST)といった起動動作及びディスクドライブ、キーボード、及びモニタといったハードウェアの低レベル制御を取り扱う。1つの実施形態では、永続的エージェントは、パーソナルコンピュータのようなクライアント装置A中の読み出し専用メモリ(ROM)のようなファームウェアにおいて具体化される。チップに埋め込まれる時、BIOSはROM中の符号化された命令の集合を含む。以下BIOSへの言及は全てROMベースのBIOSに制限されないことを理解されたい。
【0045】
現在販売されているマザーボード上のBIOSチップの一般的な銘柄にはフェニックステクノロジーズ(Phoenix Technologies)(登録商標)、インテル(Intel)(登録商標)、IBM(登録商標)及びアメリカンメガトレンド(American Megatrends,Inc.)(登録商標)が含まれる。システム構成要素の中には、固有のBIOSチップを有するものがあるが、その命令も起動時に装置のメモリに読み出される。例えば、ハードディスク制御装置上のBIOSは、ドライブ上にトラック及びセクタのテーブルを格納する。アブソリュートソフトウェア社の以前の特許で開示されたBIOSベースのエージェントと異なって、本発明は、エージェントのためのBIOSベースのローダの使用を含む改善を提示する。BIOSベースのローダはエージェント構成要素をより永続的にするので、資産追跡管理または他のサービス機能を無効にするのはさらに困難になる。また、BIOSベースのローダはマシンのブート順序を逆にする必要を解消し、ひいては製造工程中の1つのステップを除去する。また、BIOSベースのローダは、アンチウイルススキャナ、ディスク全体の暗号化、及びマスターブートレコード(MBR)中のオペレーティングシステムローダを読み出しまたは修正する他のユーティリティといった製品との間で発生し得る互換性の問題を軽減する。
【0046】
本発明の1つの実施形態によれば、図2に示すように、永続的エージェント(Persistent Agent)10は初め、コアBIOSフラッシュイメージ(Core BIOS Flash Image)13に取り付けられた、周辺機器インタフェースバス(PCI)ベースのオプションROMであるPCIオプションROM(PCI Option ROM)12のようなオプションROM(Option ROM)に格納される。永続的エージェントに関連しない他の機能をサポートする追加のオプションROMを取り付けてもよい(図示せず)。永続的エージェント10は複数のモジュールを備える。図3に示すように、3つの主要なモジュールは、「コンピュトレース(Computrace)」ローダモジュール(CLM)14、適応インストーラモジュール(AIM)16、及び通信ドライバエージェント(CDA)18である。
【0047】
永続的エージェント10の3つのモジュールを含む小容量(圧縮した状態で約22Kbでよい)のPCIオプションROM12は、標準コアフラッシュイメージに結合され、BIOS POSTの際BIOS及び他のオプションROMと共に保護されたメモリにロードされる永続的エージェント10の3つのモジュールを含む。小容量のPCIオプションROMはPOSTによって認識され、BIOS POSTの際BIOS及び他のオプションROMと共に読み出し/書き込みシャドウメモリにロードされる。この構成は、開発のための労力と、再認定を必要とするコアBIOS中のインタフェース規定点の数とを最小化しつつ、セキュリティの向上を可能にするモジュールアーキテクチャを提供する。
【0048】
CLMは、PCI(PC装置の場合)、イメージ管理(Image Management)及び実行環境(Execution Environmnet)機能を組み込んでいる。CLMは、BIOSへのインタフェース、AIMの位置の特定及びアンパック、PCIオプションROMの最終サイズへのサイズ変更、及びシステム上の適切なコンテキストでのAIMの実行を担当する。AIMはハードディスクドライブにアクセスし、アクティブなオペレーティングシステムを検出し、ミニCDAを、発見されたインストレーションに適応する。ミニCDAは通信ドライバである。ミニCDAは、HTTPプロトコルのサポート、監視サーバと通信するためのアプリケーション層、OSへのインタフェースのためのサービス層、及びAIMとのインタフェースのための適応層を含む。
【0049】
ミニCDAは、オペレーティングシステムがロードされる時、コンピュータのファイルシステム中で全機能CDAがサービスとして実行可能か否かの確認を担当する。全機能CDAが利用できない場合、ミニCDAは監視サーバから全機能CDAのダウンロードを開始する。全機能CDAが存在する場合、監視サーバ上にそのより新しいバージョンが存在するかを頻繁に確認し、新しいバージョンが利用可能な場合は、それ自体を新しいバージョンに置き換える。
【0050】
様々なモジュールのこれら及び他の実施形態をさらに十分に論じる。
【0051】
[BIOS POSTシーケンス及びオプションROMロード処理]
オプションROMのロード処理20を図4のフロー図に示す。永続的エージェント10を導入したクライアント装置Aのブート時、BIOS POST処理は自己診断及びチップセット設定ルーチンを実行し(21)、マザーボード上または拡張カード上の機能をサポートするオプションROMを探してバスをスキャンする段階に到達する(22)。この段階では、永続的エージェント10を含むPCIオプションROM12を下位メモリ(例えば、RAM)にロードし(22)、その初期化ベクトル(以下論じるように、CLM14)を呼び出す(23)。初期化ルーチンは、サポートされる機能の状態とその最終イメージサイズを決定する。その後、BIOS POST処理はオプションROMのスキャンを完了し、機能が存在する各オプションROMの最終位置を計算する(25及び26)。そして、永続的エージェントを有効化したPCIオプションROM12を含む、各PCIオプションROMの位置を再度特定し、その完了ベクトルを呼び出す(一部のフェニックスBIOSでは、例えば、PCIオプションROMの位置を再度特定せず、初期化ベクトルから戻る前にヘッダ中で宣言された最終サイズに適合するように縮小するだけである)。全てのオプションROMの位置を再度特定した後、BIOSメモリを書き込み保護する(27)。オペレーティングシステムが無事に起動するまで、ブート装置を順番に呼び出す(28)。この段階で、装置のオペレーティングシステムとエージェントの両方が同時に実行される。
【0052】
[PCIオプションROM]
[A.ローダモジュールCLM]
CLM14は、AIM16のための一時実行環境のセットアップ、AIM16のロード及び圧縮解除、及びその適当なコンテキストでの呼び出しを担当する。CLM14の最後の「行為」は、最小サイズ(2K)に縮小し、POSTに実行を戻すことである。AIM16が見つからないかまたは無効な場合、CLMは単に「失敗」となるだけである。
【0053】
CLM14はPOSTへのインタフェース、またはPCIオプションROM12の「フロントエンド」である。PCIオプションROM12のヘッダはCLM14中にあり、そのエントリポイントはこのヘッダの標準に準拠して通知される。CLM14は、BIOS POSTに統合するための次の2つのファンクションポイントを提供する。
1.ROMヘッダ及びPCIオプションROMヘッダのペア
2.割り込みハンドラ(Interrupt Handler)
【0054】
PCIオプションROMの様々な構成要素のこれら及び他の機能を以下、例えば、IBMのT43型ノートブックコンピュータにインストールされたIBM BIOSを参照して説明する。
【0055】
[1.ROMエントリポイント]
BIOSによるPCIオプションROMの列挙の際に、初期インタフェースが提示される。このインタフェースは標準レガシーROMヘッダとPCIオプションROMヘッダとのペアである。例えば、フェニックスBIOSを参照すると、1917hのPCIベンダID(PCI Vendor ID)と1234hの装置IDとを設定してもよい。上記のように、BIOS POST処理がマザーボード上または拡張カード上の機能をサポートするオプションROMを探してバスをスキャンする時、PCIオプションROM12全体をロードしCLM14の初期化ベクトルを呼び出す。オプションROMは圧縮された.COMアプリケーションをロードし実行する。ROMエントリポイントはSTART_SEGラベルによって定義する。START_SEGセグメントはROMヘッダとそのPCIオプションROMヘッダへのリンクを含む。オプションROMはオプションROMのオフセット3へのFAR CALLによって初期化される。ジャンプ命令チェーンはここではOptRomProcに制御を渡す。
【0056】
図5を参照すると、PCIオプションROMのCLM14が引き受けるルーチン30は以下のように要約してもよい。
a.BIOS POSTメモリマネージャ(Memory Manager)を探し出す(31)。
b.制御STUB_BLOCKを割り当てる(例えば、割り込みハンドリング及びアプリケーションの実行のための2K)(32)。
c.圧縮された(COMPRESSED)アプリケーション及びアプリケーションメモリのバックアップのための拡張メモリを割り当てる(例えば、64K)(33)。
d.圧縮解除された(DECOMPRESSED)アプリケーションの実行のためコンベンショナルメモリ中のアプリケーションメモリのブロック(例えば、64K)を割り当てる(34)。
e.(40:75hにおけるカウント、すなわち、ハードディスクの数による決定に従って)ディスクサービスが利用可能な場合(35)、即座にアプリケーションを実行し(36)、メモリの解放に進み(39)、オプションROMをゼロに縮小する(40)。
f.また、ビデオベクトル(Int 10h)がXBDA(40:0Eh)より小さい場合(37)、Int 15hをSTUB_BLOCKにフックし(38)、オプションROMをゼロに縮小する(40)。
g.また、フックするものがなくできることがなければ、失敗である! メモリを解放し(39)、オプションROMをゼロに縮小する(40)。
【0057】
[2.割り込みハンドラ]
第2のインタフェースは割り込みハンドラである。これは、BIOS POSTメモリマネージャから割り当てられたメモリからのPCIオプションROMの初期化手順の初期ロード及び実行の後実行される。このインタフェースはまずInt 15hで実行され、次に代替トリガで実行される。Int 19hは好適な代替トリガでありデフォルトである。割り込みハンドラは、PCIオプションROMの初期化の際BIOSディスクサービス(BIOS Disk Service)(Int 13h)がまだ利用可能でない場合にのみ起動される。場合によっては、最後のInt 15h/func 9100hの後BIOSによってInt 13hが発行されないことがあるので、Int 19hは好適なトリガ方法である。もう1つの問題は、Int 19hの直前まで物理ドライブ80hがInt 19hでの物理ドライブ80hと一致しないことがあるということである。ComFileStubは主要な割り込みフックエントリポイントを含む。
【0058】
図6a及び図6bを参照すると、割り込みハンドラが引き受ける処理41は以下のように要約してもよい。
a.各Int 15hトリガの際、9100hが機能する(ハードディスクIRQ完了、これはInt 13hが使用中であることを示す)(42)。
b.ハードディスクサービスが利用可能であるかを確認する(40:75hにおけるカウント)(43)。
c.また、ビデオベクトルがXBDA以上かを確認する(40:0Eh、これはPOSTのセットアップ(SETUP)段階が完了していることを示す)。
d.チェーンがまだであればチェーンする(44)。
e.Int 15hのフックをリストアし、トリガInt xxhをフックして(_TRIGGER_INTNUM設定=Int 13hまたはInt 19h)次のInt xxhを待つ(45)。
f.次のトリガInt xxhに際して(Int 13hまたはInt 19h)、(Int 13hまたはInt 19h)でトリガInt xxhをリストアする(46)。
g.スタックを切り替える(48)。
h.圧縮解除された(DECOMPRESSED)アプリケーションメモリを拡張メモリBACKUP_BLOCKにバックアップコピーする(49)。
i.圧縮された(COMPRESSED)アプリケーションを圧縮解除された(DECOMPRESSED)アプリケーションメモリブロックにコピーする(50)。
j.アプリケーションを呼び出し、拡張メモリBACKUP_BLOCKから圧縮解除された(DECOMPRESSED)アプリケーションメモリのコンテンツをリストアする(51)。
k.スタックを切り替えて元に戻す(52)
l.チェーンにより中断されたトリガInt xxh呼び出しを完了する(53)。
【0059】
[B.エージェントインストーラモジュール(AIM)]
AIM16は、CLM14によってセットアップされる実行のコンテキストでロードされるように設計されている。図7を参照すると、AIM16が引き受けるルーチン54は以下のステップを含む。実行されると、AIM16はパーティションテーブルをスキャンしてアクティブパーティションを探す(55)。アクティブパーティション上で、AIM16はオペレーティングシステム(OS)のシステムディレクトリまたはそれをポイントする設定ファイルを探し(56)、通信ドライバエージェントCDAのインストーラモードインスタンスを作成しインストールする(57)。インストール機構はOS毎に特定かつ固有のものであり、AIM16は標準OSインストール機構を使用する。
【0060】
[C.通信ドライバエージェント(CDA)]
CDA18は、ミニCDA及び全機能CDAという2つの形態で存在する。1つの実施形態では、ミニCDAはPCIオプションROM12中に存在する。ミニCDAの機能は、全機能及び/または最新バージョンのCDAが装置上にインストールされ機能しているか否かを決定し、そうでない場合、インターネット経由でホスト監視サーバC(図1)から全機能CDAをロードすることである。そして、全機能CDAは、装置とホスト監視サーバCとの間の全ての通信を担当する。
【0061】
図8を参照すると、ミニCDAはまず(AIM16経由で)インストーラモード58を実行するが、そこではミニCDAの主要な機能はOSサービスとして登録することである。エージェントのインストーラモードインスタンスはそれ自体の別のインスタンスを作成し(59)、例えば2000/XPでは、サービスマネージャによってそのコピーを登録する(60)。実行コードはそれ自体のインストーラコピーをクリーンアップして終了する。この段階から全機能CDAがCDAの通常の動作を引き継ぐので、ミニCDAがインストーラモード(Installer mode)で動作するのは一度だけである。
【0062】
図9を参照すると、OSが次に起動する際、ミニCDAのサービスモードインスタンスは、例えば、2000/XPの元でのサービス(Service)として実行される。サービスはサービスマネージャ環境をセットアップし(62)、(63で待機した後)適当な時に、アプリケーションとしてそれ自体のインスタンスを開始する(64)。アプリケーションモードはミニCDAの動作の通常のモードである。エージェントはここで「アクティブ」モードになる。
【0063】
最新の全機能CDAが装置中に発見されない場合、図10に示すように、ミニCDAアプリケーションは、例えば、デフォルトでHTTPプロトコルを使用して、ホスト監視サーバCとの通信を開始する。他のプロトコルは追加のモジュールによってサポートされ、ホスト監視サーバCからエージェントへアップロードされる。ホスト監視サーバCは、エージェントの識別、監視履歴の格納、設定及びソフトウェア更新といった機能を実行する。ホスト監視サーバCはミニCDAとのセッションを行い、そのプラットフォームでの必要に応じて、フルバージョンのCDAを起動及びインストールし、(例えば、装置のライフサイクル終了時、またはより新しいバージョンへのアップグレードが可能になるように自己回復機能を無効にするため)ミニCDAを無効にし、エージェントを更新し、またエージェントを設定する。本発明の1つの実施形態に係る通信リンクBを介したクライアント装置AとサーバCとの間の通信を図10に示す。例えば、ミニCDAがBIOSまたは装置のプラットフォームの識別情報または形式をサーバCに提供する場合、特定のBIOSまたはプラットフォーム用の全機能CDAまたはその更新版を装置Aにダウンロードすればよい。
【0064】
図1を参照して前に述べたように、ステルスエージェントを使用して資産の追跡管理及び/または盗難または紛失にあった装置Aの回復を行うことの一般的な概念は、本発明の譲受人であるアブソリュートソフトウェア社に譲受された特許で開示されている。全機能CDAの装置追跡管理及び通信機能のアプリケーションレベルの機能性は、前に記載され本発明の譲受人によって特許取得されたステルスエージェント(これらの特許を引用によって本出願の記載に援用する)及び/または本発明の譲受人が開発したアブソリュートトラック資産追跡管理製品の機能と同様のものでよい。
【0065】
一般に、単独で、または他の通信リンクB(例えば、PSTN)に基づくアプリケーションと同時に実行可能なインターネットアプリケーションの1つの実施形態では、エージェントは、所定、ランダム、イベントベースまたは遅延型の時間間隔でホストへの呼び出しを開始する。1つの実施形態によれば、「アクティブ」モードでは、エージェントは所定の時間が経過する毎にホストを呼び出す。エージェントは現時刻と固有のエージェント識別情報とを使用してインターネットホスト名を符号化する。そして、1つの実施形態では、エージェントは符号化したインターネットホスト名を使用してDNS要求を形成する。エージェントはインターネットを通じてこのDNS要求をホストに送信する。所定の期間が経過した後DNS要求をインターネットに送信するエージェントの試行が時間切れになった場合、エージェントは、例えば1分間といった、所定の期間スリープしてから呼び出しを繰り返す。(インターネットとの通信を可能にするウィンソック(Winsock)機能がない、及び/またはTCP/IP通信のためのコンピュータの設定失敗、といった)別のエラーのために呼び出しが失敗した場合、エージェントは数時間後にサイクルを繰り返す。このようにして、エージェントは固有の性質としてインターネット接続の存在を確認する。
【0066】
DNS要求の送信後、エージェントは応答を待つ。ホストから有効な応答を受信すると、その応答からIPアドレスを抽出し、基準IPアドレスと比較する。例えば、基準IPアドレスは「204.174.10.1」に設定してもよい。抽出したIPアドレスが「204.174.10.1」に等しければ、エージェントのモードはインターネット側で「アクティブ」から「アラート」に変わる。例えば、ホスト、またはホストの操作員、が、エージェントの識別情報がホストに格納された報告済みの紛失または盗難にあったコンピュータのリストにあるエントリの1つと一致すると判断した場合、ホストはこのIPアドレスを送信する。ホストの応答から抽出されたIPアドレスが「204.174.10.1」に等しくない場合、エージェントはアクティブモードのままとなりその後4時間はホストを呼び出さない。しかし、エージェントがインターネットアプリケーションにおいて「アラート」モードに入ると、エージェントは、クライアントコンピュータをホストに接続するために使用されたインターネット通信リンクをホストに提供するトレースルートルーチンを開始する。こうしたインターネット通信リンクは、クライアントコンピュータを追跡管理する際ホストシステムを支援する。DNSクエリのソースのIPアドレスをDNSクエリ中のホストに送信する。しかし、クエリのソースが「プロキシ」サーバを通じて送信されている場合、クライアントコンピュータのIPアドレス(インターニック(InterNIC)によって割り当てられたものではないことがあるため一意でないことがある)ではクライアントコンピュータの位置を追跡管理するのに不十分であることが多い。こうしたシナリオでは、クライアントとホストとの間の通信を可能にするためアクセスされた他のIPルータのアドレスを決定する必要がある。こうしたアドレス及びそれがアクセスされた時間を、当該クライアントのアクセス履歴を記録したプロキシサーバの内部ログと比較する。このようにして、クライアントを一意に識別し追跡管理することができる。さらに、インターネットアプリケーションの「アラート」モードへの移行は、他の利用可能な通信アプリケーションの「アラート」モードへの移行をトリガする条件である。
【0067】
[CDA−サーバ通信]
[A.拡張可能プロトコル]
永続的エージェントをBIOSに無事に導入することは、例えば、通信プロトコルに盛り込まれた拡張可能性を多用することになる。この拡張可能性がなければ、エージェントはより大規模なものになり機能性を追加または変更するため頻繁な更新を必要とするものになるだろう。BIOSはプラットフォームのフラッシュEEPROM中にプログラムされており、BIOSを更新するには専用ツール(ユーザのインタラクションを必要とする場合が非常に多い)を使用しなければならないので、こうした更新は現実的でも経済的でもない。また、BIOSの完全性はコンピュータの動作にとって重要なので、OEMはBIOSの徹底的な検査を行っている。
拡張可能プロトコルの主要な要素は以下の通りである。
1)エージェントのメモリスペースを読み出し及び書き込みする方法。
2)メモリを割り当てる方法。
3)メモリを解放する方法。
4)外部モジュールをロードする方法。
5)プロシージャアドレスを決定する方法。
6)プロシージャを呼び出す方法。
エージェントのプロトコルはこうした機構を提供するように設計されている。
読み出しパケットのフォーマットは、|ADDRESS|NUMBER_OF_BYTESである。
書き込みパケットのフォーマットは、|ADDRESS|NUMBER_OF_BYTES|DATA...である。
通信プロトコルは、パケット中にDATAが含まれていないことを決定することによって読み出しパケットを区別する。DATAが存在する場合は、書き込みパケットである。このアドレスベースのプロトコルは拡張可能な設計の基礎である。
【0068】
本発明の1つの実施形態に係る、通信リンクBを介したクライアント装置AとサーバCとの間の、拡張可能プロトコルに基づく通信セッションのシーケンスの概要を図14に示す。通信セッションが処理する個々のトランザクションの例を以下開示する。
【0069】
通常のセッションは次のような接続シーケンスによって開始される。
1)クライアントが接続する。
2)サーバが、アドレス0xffffffff|0xffffffff|4からの専用の読み出しによって応答する。
3)クライアントがそのセッションハンドルのアドレスによって応答する。
【0070】
ハンドル構造は、クライアントのバージョン、サポートするOSのバージョン及びコマンドパケット(Command Packet)のような重要な情報を含んでいる。クライアントは「書き込み(writes)」をコマンドパケットに「特殊なもの(special)」として解釈し、CommandPacketProcessor()ファンクションを呼び出す。CommandPacketProcessor()ファンクションは、ファンクションコード、パラメータアドレス、パラメータ数、及び結果アドレスといった引数を取る。実現しなければならないファンクションコードの最小集合は以下の通りである。
・CMD_FUNC_CCALL(「C」ファンクションを呼び出す)
・CMD_FUNC_STDCALL(STDCALLファンクションを呼び出す)
・CMD_GETMH(モジュールハンドルを入手する(Get Module Handle))
・CMD_GETPA(プロシージャアドレスを入手する(Get Procedure Address))
・CMD_ALLOC(メモリを割り当てる(Allocate Memory))
・CMD_FREE(メモリを解放する(Free Memory))
【0071】
実現可能な他のファンクションコードは、コマンドパケット同士をチェーンして効率を向上するためのものである。
・CMD_ENDC(チェーンを終了する(End Chain))
・CMD_IF(条件分岐(Conditional Branch))
・CMD_GOTO(無条件分岐(Unconditional Branch))
【0072】
このコマンドの小さなライブラリをパケット中で合わせてストリングにして何らかの管理タスクを達成してもよい。重要な管理タスクは以下の通りである。
1)ファイルの作成
2)ファンクションのライブラリ、または実行コードとしてのロード
3)オペレーティングシステムまたは作成されたファイルからのプロシージャの呼び出し。
4)エージェントのコンテキストでのメモリの割り当て及び解放。
【0073】
[B.トランザクション]
以下の節ではエージェントと遠隔(例えば、監視)サーバ(CTSRVとしても知られる)との間の通信を説明する。説明される各項目は1つのトランザクション(クライアントとサーバとの間のメッセージのペア)を表していることに注意されたい。トランザクションによってはエージェントの呼び出しの都度発生するものもあれば、実現されるサービスに依存するものもあり、保守または回復要員によって設定されたフラグの結果1回の呼び出しでだけなされるものもある。以下はサーバとエージェントとの間の通常の通信セッションの表である。
【0074】
[基本的通信(エージェントの呼び出しの都度発生)]
【0075】
【表1】
【0076】
[クライアント上のAT1 DLLによる基本的資産追跡管理を伴う呼び出し(クライアントが監視サービスプロバイダの追跡管理サービスに加入している場合呼び出しの都度発生する)]
(資産追跡管理/監視サービスの加入者用の)AT1データを検索して取り出す。これはAT2 DLLによって収集されたデータの部分集合であることに注意されたい。クライアント上で実行されるのはAT1またはAT2何れかのDLLであって、両方が実行されることはない。
【0077】
【表2】
【0078】
[クライアント上のAT2 DLLによる高度資産追跡管理を伴う呼び出し(クライアントがアブソリュートトラックまたはコンピュトレースコンプリート(ComputraceComplete)製品を購入している場合、呼び出しの都度発生する)]
(例えば、アブソリュートトラック及びコンピュトレースコンプリートの顧客用の)AT−IIデータを検索して取り出す。これはAT1 DLLによって収集されたデータの拡張集合であることに注意されたい。クライアント上で実行されるのはAT1またはAT2何れかのDLLであって、両方が実行されることはない。
【0079】
【表3】
【表4】
【0080】
[基本的呼び出し及びエージェントのバージョンの遠隔アップグレード(技術サポート動作に基づくオン・オフ]
クライアントエージェントのバージョンを確認し、サーバ上のバージョンと比較する。クライアント側のバージョンが古い場合、遠隔アップグレードを行う。
【0081】
【表5】
【0082】
[基本的呼び出し及び製造、形式及びシリアル番号の検索(技術サポート動作に基づくオン・オフ]
このファンクションはクライアントの製造、形式及びシリアル番号を検索して取り出しブート順序を変更する。
【0083】
【表6】
【0084】
[C.アプリケーションモジュールの起動処理]
この起動処理は、アプリケーションエージェントの識別情報を顧客アカウントにリンクし、永続的エージェントモジュールをインストールする。この処理は以下のように説明される。
・アプリケーションエージェントが接続する。
・サーバはプロトコル中の拡張可能機能を使用してインベントリDLLを送信し、コンピュータを識別する−このDLLはBIOS、シャーシ及びハードディスクドライブのシリアル番号といった属性を収集する。
・インベントリ記録をサーバ上に格納し、アプリケーションエージェントから読み出した顧客アカウントにリンクする。
・固有の識別番号(電子シリアル番号)をこのインベントリ記録に関連する装置に割り当てる。
【0085】
通常のインベントリ記録を以下に示す。
<?xml version="1.0" encoding="UTF-8" ?>
-<CT:data version="1.00" xmlns:CT="http://www.absolute.com/atinfo/persistence">
-<CT:section name="MachineInfo">
<CT:setting name="ComputerMakeWMI" value="VIA TECHNOLOGIES, INC.~~"/>
<CT:setting name="ComputerModelWMI" value="MS-6321~MS-6321~"/>
<CT:setting name="ComputerSerialWMI" value="~~"/>
<CT:setting name="ComputerMake" value="VIA TECHNOLOGIES,INC.~~"/>
<CT:setting name="ComputerModel" value="MS-6321~MS-6321~MS-6321~"/>
<CT:setting name="ComputerSerial" value="~~"/>
<CT:setting name="ComputerAsset0" value=""/>
<CT:setting name="ComputerAsset1" value=""/>
<CT:setting name="SystemSMBIOSVersion" value=""/>
<CT:setting name="SystemBiosVersion" value="VIA694 - 42302e31 Award Modular BIOS v6.00PG"/>
<CT:setting name="SystemBiosDate" value="08/22/01"/>
<CT:setting name="BaseBoardVersion" value=""/>
<CT:setting name="HDDSerialNumber0" value="Y3NYPZDE"/>
<CT:setting name="HDDSerialNumber1" value="YMDYMLJ0046"/>
<CT:setting name="HDDSerialNumber2" value=""/>
<CT:setting name="HDDSeriaINumber3" value=""/>
<CT:setting name="ComputerName" value="PBGR7"/>
<CT:setting name="MACAddress0" value="0050ba432204"/>
<CT:setting name="MACAddress1" value="0050ba4434da"/>
<CT:setting name="OSProductKey" value="VF4BY-WXV47-RR9JQ-H297B-6QQVW"/>
<CT:setting name="IBMComputraceStatus" value="FFFFFFFF"/>
</CT:section>
</CT:data>
【0086】
[D.永続的モジュールの再アクティブ化処理]
永続的エージェントモジュールが開始されると、以下のステップが発生してアプリケーション(Application)エージェントを再インストールし、設定をリストアする。
・永続的モジュールエージェントが監視サーバ(CTSRV)を呼び出す。
・監視サーバ(Monitoring Server)はプロトコル中の拡張可能機能を使用してインベントリDLLを送信しコンピュータを識別する−このDLLはBIOS、シャーシ及びハードディスクドライブのシリアル番号といった属性を収集し、以前格納されたものと比較する。
・最初のアクティブ化の際に格納されたインベントリ記録を探し、この装置のインベントリに関連する以前のESNを再割り当てする。アプリケーションエージェントをダウンロード及びインストールすると、アプリケーションエージェントは正常に呼び出しを行う。
【0087】
上記の処理はBIOS及びソフトウェア両方の永続性のため、すなわち、永続性モジュールがどこに配置されるかとは無関係に、適用される(以下のさらなる議論を参照されたい)。
【0088】
[データ削除(Data Delete)]
データ削除は、エージェントによって有効化、サポート及び/または提供されるサービスのもう1つの例である。上記で論じたように、CDAの残存力が拡張されることによって、資産の物理的位置の追跡管理が改善される。資産の位置が確定された場合でも、準拠地域法、警察の執行及び所有権証明の負担のため、追跡管理される装置の物理的回復は必ずしも実行可能ではないことが認識されている。こうした場合、CDAの拡張可能プロトコルに基づいたプログラム可能な能力によって、装置上の機密または重要なデータを保護する代替手段が提供される。例えば、クライアント装置Aのハードディスクドライブ上に格納されたユーザ定義データファイル、ユーザプロファイルまたは他のユーザ定義情報を、監視サーバの制御の元で削除できる。監視サーバが指定する機能及びオプションに応じて、選択したデータ項目についてデータ削除を行うこともできるし、また、オペレーティングシステムを含む装置の記憶媒体全体を削除することもできる。
【0089】
データ削除機能及びオプションの個々の例は以下のものを含む。
1.選択的データ削除−ユーザの選択に基づいて全てまたは特定のファイルまたはディレクトリを削除する(装置の他の部分はそのまま残す)能力。
2.再ブート時のデータ削除再起動−データ削除の進行中に装置が再ブートされた場合、データ削除クライアントも再起動する。
3.オペレーティングシステム全削除の場合の2段階データ削除処理−監視サーバが「全O/Sデータ削除」を指定した時、エージェント(例えば、CDA)が確実にログファイルをアップロードできるように、エージェントは2段階削除処理を行う。第1段階削除の後監視サーバはエージェントからログファイルを取得し、その後第2段階でオペレーティングシステムを削除する。全O/Dデータ削除オプションは以下のステップを含む。
a)O/S以外の全てのファイルを削除する。
b)エージェント呼び出しを強行しログファイルをアップロードする。
c)O/Sファイルを削除する。
4.データ削除オーバライド−コンピュータが引き続き回復される場合、データ削除が再実行されるのを防止するため、監視サーバがデータ削除実行コードをオフにする。
5.データ削除開始前検査−監視サーバが、対象のクライアント装置のための追加の開始前データ削除検査を提供し、以下のことが確認できるようにする:(a)対象のクライアント装置について盗難報告が存在する、(b)クライアント装置が明確に識別され、複製が存在しない、(c)クライアント装置所有者による許可(例えば、所有者代理人と、ホスト監視ステーションのような監視サーバを維持する主体との間の事前許可合意)が存在する。
6.通知−データ削除を開始する際、(例えば、電子メール、SMS(ショートメッセージサービス)によって)関与当事者(例えば、許可を出す所有者代理人、及び/または要求者)に通知を送信する。
【0090】
図15は、本発明の1つの実施形態に係る、CDAのクライアント側デート削除ルーチン70を示す概略フロー図である。図16は、本発明の1つの実施形態に係る、サーバ側データ削除ルーチン80を示す概略フロー図である。図17は、本発明の1つの実施形態に係る、データ削除実行ルーチン90を示す概略フロー図である。各図を参照すると、サーバ側での通常のデータ削除動作では、全機能CDAが監視サーバにコンタクトする時(72及び81)、装置の識別情報が検証される。装置がデータ削除動作の対象としてマークされていることが検証された場合(82)、上記の拡張可能通信プロトコルを使用してCDAのデータ削除実行コードまたはサブファンクションをトリガする(74)。全データ構造を削除するワイルドカード変数を使って削除するデータを定義する(91)パラメータを伴うデータ削除実行コードまたはサブファンクションを呼び出す(84及び85)。サーバは、所定の期間(例えば、15分)以内にサーバにコンタクトするようにエージェントに命令する(86)。CDAサブファンクションは、米国国防総省が推奨するアルゴリズムを使用してデータを回復不能となるように削除してもよい(例えば、米国国防総省標準方式5220.22−M消去/サニタイズマトリックス)。また、CDAサブファンクションは、利用可能な組み込み型オペレーティングシステムサポートを使用してデータを削除する。こうしたデータ削除アルゴリズム及び機構は当業者に公知であり、実際の削除機構は本出願で説明されるシステムの能力を変化させるものではない。
【0091】
データ削除アプリケーションは、例えば、ハードディスクドライブ上のアプリケーション及びデータを削除し(93)、その後監視サーバを呼び出して(95)報告(例えば、ログファイル)をサーバにアップロードし(76及び88)、データ削除アプリケーションの成功を詳述する(例えば、各動作のログを作成/ログファイルに添付する、及び/または削除したファイルの全パスのログを取る、94)。データ削除アプリケーションがオペレーティングシステムの削除を除外するように命令された場合、データ削除アプリケーションは、オペレーティングシステム及びエージェントの機能のために必要なもの以外の全てのデータ及びアプリケーションファイルを削除する。削除処理の終了時(83)、監視サーバへの状態報告(例えば、ログファイル)(76及び88)の返送(94)を試みる。クライアント装置は削除処理の後も動作可能である。サーバ及びエージェントのデータ削除ルーチンは他の動作を続ける(78及び87)。例えば、データ削除アプリケーションは、サーバによってオペレーティングシステムを削除するように命令されている場合、オペレーティングシステムのファイルの削除を続けて行う。
【0092】
オペレーティングシステムのデータ削除のためのルーチンは以下の通りである。第1段階で、データ削除アプリケーションは、オペレーティングシステム及びエージェントを機能させるために必要なもの以外の全てのデータ及びアプリケーションファイルを削除する。削除処理の第1段階終了時、エージェントは状態報告を監視サーバに返す。そして、データ削除アプリケーションは装置上の残りのファイルの削除を続ける。これによって装置は動作不能になることがある。一旦全データ削除処理が完了すると、エージェントは監視サーバを呼び出すことができないことがある。ユーザがオペレーティングシステムを再インストールすれば、エージェントは再び元の機能を取り戻す。
何れの構成でも、データ削除サービスは以下の機能を有する。
・0及び1のパターンを3回ファイルに書き込む
・ランダムデータをファイルに書き込む
・ファイル属性を「ディレクトリ」に変更する
・ファイルの日付/タイムスタンプを固定値に変更する
・ファイルサイズを「0」に設定する
・ファイル名をランダムに生成したファイル名に変更する
・新しいファイル名をディレクトリから除去する
【0093】
できる限り隠密に目的を実行するため、データ削除アプリケーションは偽装している。削除処理中に実行されるサービスは、バックグラウンドで動作する削除処理を隠すため、「WCTSYS.EXE」というファイル名が付けられている。削除が完了する前にユーザが処理を中止した場合、一旦エージェントが監視サーバへの次の呼び出しを行えば、アプリケーションはオフにされている削除処理を再開することができる。例えば、エージェントはデータ削除が永久的であるかを決定する(92)。永久的である場合、残りのデータ削除機能に進む(すなわち、93等)。永久的でなく、かつデータ削除が以前に完了していなければ(97)、処理はデータ削除機能に進む。データ削除が完了していれば(97)、データ削除処理は終了する。データ削除が可能な全てのクライアント装置に対して、エージェントの呼び出し返信期間をモデム及びIP呼び出しの両方について所定の値に設定してもよい(例えば、86)。
【0094】
データ削除処理を完了するために必要な時間は、プロセッサの速度、ハードディスクドライブのサイズ、削除すべきデータの量、及びそれまでにクライアント装置上で行われたアクティビティの量といった、いくつかの変数に依存する。データ削除処理を完了するために必要な予想時間は数分間から30分間以上であることが明らかになっている。
【0095】
削除が成功した際に返送される報告は以下の情報を含む。
・データ削除アプリケーションがダウンロードされ実行されたことの確認
・削除されたファイルのリスト
・ハードディスクスペースの変化(この情報は、資産追跡管理サービスが利用可能でデータがPCから収集可能な場合にのみ利用可能である)
【0096】
この情報はデータ削除処理が成功した際にユーザに提供してもよい。
【0097】
データ削除の機能は、サーバからダウンロードしたポリシーファイルによって制御してもよい(84または85)。ポリシーファイルは、削除すべきファイル、フォルダ、またはファイルの種類をデータ削除アプリケーションに指示する。ポリシーファイルは他のデータ選択基準を指示してもよい。
【0098】
実現されたポリシーファイルフォーマットのサンプル
【0099】
|items||item name=|*.extensionToBeDeleted| type=|U| instruction=|P$C:\*.extensionToBeDeleted| seq=|0|/|
|item name|=|C:\FolderNameToBeDeleted\| type=|U| instruction=|P$C:\FolderNameToBeDeleted\| seq=|1|/|
|item name|=|C:\LJ\FilenameWithExtensionToBeDeleted| type=|U| instruction=P$C:\LJ\FilenameWithExtensionToBeDeleted| seq=|2|/|
|/items|
【0100】
[拡張可能プロトコルのさらなる用途]
上記で述べ、かつ以下さらに述べるように、全機能CDA及びミニCDAは、(例えば、非BIOSまたはソフトウェアによる永続的実施形態において)拡張可能プロトコルを使用して、監視サーバ上で利用可能な最新バージョンに対応するように保たれている。また、この能力を使用して、他の資産追跡管理拡張機能を最新のバージョンに更新している。拡張可能プロトコルに含まれる汎用サブファンクションは汎用かつ柔軟なものなので、それを活用して、上記で説明した資産追跡管理及びデータ削除に加えて、多数の機能を有することができる。拡張可能プロトコルの別の用途の例は、監視サーバからのアプリケーションのダウンロード及び開始である。実行コードをメモリにダウンロードしてから開始してもよい。代替的には、インストーラを監視サーバからダウンロードして、アプリケーションのインストールまたは既存のアプリケーションのアップグレードを開始してもよい。
【0101】
エージェントの拡張可能プロトコルを活用して機能を提供する用途の例は以下のものを含む。
・永続的ファイアウォール。エージェントはネットワーク通信ファイアウォールをダウンロードし実施することができる。また、エージェントは、ファイアウォールの設定の変更またはファイアウォールの除去または無効化を監視及び補正することができる。エージェントは永続的(削除または除去できない)なので、はるかに永続的な方法でファイアウォールのようなセキュリティ機能を提供及び実施することができる。
・データ暗号化。永続的エージェントは、サーバからの命令に応じて、マシン上のデータを暗号化することができる。これによって、はるかに永続的な方法で、盗難または紛失の際のデータ保護が可能になる。また、エージェントは、盗難後暗号化鍵またはパスワードを変更し、ユーザのデータを保護することもできる。暗号化パスワードまたは鍵を変更することによって、ユーザがパスワードを知っている内部盗難の場合でもマシンを保護することができる。
・位置追跡管理。エージェントの主要な機能の1つは、ホスト監視システムにコンタクトして装置の識別情報及び物理的位置を報告することである。物理的位置は、マシンのIPアドレスまたは他の関連ネットワークパラメータによって暗黙に定義することができる。エージェントは、装置の物理的位置を識別するため、ビルトインGPS受信機またはセルラネットワーク受信機及び送信機からのデータを使用してもよい。こうした構成では、エージェントはGPSまたは支援型GPSの位置情報(最新の、または一連のログ情報)のログを取ることができる。CDAは周期的にGPS位置を読み取ってログファイルを作成することができ、ログファイルは呼び出しの際サーバにアップロードすることができる。
【0102】
[モジュールの代替実施形態]
本発明は、(a)様々な装置(例えば、PC)製造業者による様々なBIOS実装、(b)BIOSとの様々なインタフェースの要求、(c)様々な装置製造業者または様々な装置形式で利用可能な多様なフラッシュメモリスペース、及び(d)BIOS PCIオプションROM列挙フックなしで動作する能力、を含むがそれらに制限されない要素に基づいて固有の環境に適応する永続的エージェントの多様な実施形態において実現できる。こうした要素に適応するために、CLMはPCIオプションROMのフォーマットで、AIM及びCDAは別個に格納してもよく、またCLMに結合してもよい。CLMは、POSTサイクル終了時に小さなスタブに縮小する。装置が、PCIオプションROMを列挙しないBIOSを有する場合、CLMはパーティションギャップ中に存在して代替マスターブートレコード(MBR)を使用してもよい。永続的エージェントモジュール構成の様々な実施形態を以下さらに十分に説明する。
【0103】
[A.フラッシュ常駐型]
本発明のフラッシュ常駐型実施形態では、CLM、AIM及びミニCDAは全てBIOSフラッシュイメージにロードする。このアプローチは、PCIオプションROMをBIOSフラッシュイメージからロードするBIOSで使用される既存の処理を活用している。追加のモジュール(AIM及びミニCDA)はフラッシュ中に別個に格納してもよく、また、図3の場合のように、PCIオプションROM中のCLMに結合してもよい。
【0104】
AIM及びミニCDAがCLMに結合されている場合、18〜20KBのPCIオプションROMがPOSTによって上位シャドウメモリにロードされ、AIMはCLMによってアンパックされる。そして、AIMは、ミニCDAをシステムのために適応及び設定し、制御をCLMに戻す。CLMはPCIオプションROMイメージを最小サイズに縮小し、2KBのROMブロックとして上位メモリ領域に留まる。AIM(〜6KB)及びCDA(〜10KB)を単純にフラッシュイメージ中に格納してCLMに結合しない場合、CLMはAIM及びミニCDAの位置を特定してアンパックする追加イメージアクセス機能を組み込んでいる。CLM、AIM、及びミニCDAの動作は上記の結合する方法と同様である。CLMのサイズはわずかに大きくなり、フラッシュイメージの対象となるプラットフォームに合わせて調整される。このアプローチは、ベンダIDが事前に確定しており、フラッシュ常駐型PCIオプションROMの認識が可能であることを想定している。フラッシュイメージ管理を図11に示す。
【0105】
[B.ハードディスクドライブのパーティションギャップ]
BIOS固有のスペース制限のため、永続的エージェント全体の全てのモジュールのためにはBIOSフラッシュメモリ中のスペースが不十分なことがある。この場合、装置ベンダのサポートに応じて、AIM、またはAIM及びミニCDAは、ハードディスクドライブのパーティションギャップのような大容量記憶装置中のユーザがアクセスできない領域に存在してもよい。これは、「ソフトウェア永続型」の形態の一例である。この実施形態では、CLMはやはりフラッシュ中に存在し、これまでの実施形態の場合と同様に、PCIオプションROM列挙処理の際呼び出されるが、CLMはAIMをロードし、AIMは別の位置からCDAを実行する。
【0106】
図13は、永続的エージェントの追加モジュールがパーティションギャップ内に存在する状況で関連するパーティションギャップイメージ管理を示す。このギャップはMBRと第1のパーティションとの間に存在する。このギャップは、例えば、大部分の最近のハードディスクドライブでは62セクタであるが、セクタの一部は他のソフトウェアとの互換性を維持するインストレーションユーティリティによって確保されているので、使用可能なサイズは約27Kbである。このサイズは、サーバと通信し他のモジュールをOSにブートストラップするために必要なエージェントの基本モジュール(AIM、CDA)を組み込むのに十分である。
【0107】
[C.ホスト保護領域(HPA)]
図12を参照すると、代替的には、全てのモジュールのためにはBIOSフラッシュメモリ中のスペースが十分でないことがある状況で、前の実施形態の場合のようにハードディスクドライブパーティション中に永続的エージェントの追加モジュール(すなわち、AIM、及び/またはミニCDA)を格納する代わりに、永続的エージェントの追加モジュールは、HPA内、またはその機能的同等物といった大容量記憶装置上の別のユーザがアクセスできない領域中に存在する。これはソフトウェア永続型の別の例である。HPAをロック及びアンロックするため追加サポートが必要である。このHPAアクセス機構はPC OEM毎に固有である。HPA内のイメージは実行時の管理が必要なことがある。ドライバ及びアプリケーションは、BIOSインタフェースによって認証を行いHPAスペースの当該部分を管理するために必要な実行時アクセスを取得する既存の方法をサポートする。この実施形態では、CLMはやはりフラッシュ中に存在し、これまでの実施形態の場合と同様に、PCIオプションROM列挙処理の際呼び出されるが、CLMはAIMをロードし、AIMは別の位置からCDAを実行する。
【0108】
[D.非フラッシュCLM]
大部分の安全な実施形態はCLMをBIOSフラッシュメモリ中に存在させているが、これをサポートしない環境もあり得る。OEMがPCIオプションROMのスキャン中にBIOSがフラッシュ中のCLMヘッダを列挙しないように構成した場合そうなることがある。こうしたシステムでは、CLMの代替の位置は、既存の製品と比較して優れたソリューションを提供する。代替MBRを使用することはこのことに対するソリューションを提供する。この実施形態では、CLMは代替マスターブートレコードからロードする。そして、CLMは、これまでの実施形態で説明したように、AIM及びミニCDRをロードしてパーティションギャップ中に配置し、これらに制御を渡す。エージェントサブローダのための代替MBRのアプローチは本譲受人によって特許取得されており、その特許を引用によって本出願の記載に援用する。本出願のCLMは同様のサブローダのアプローチを利用してもよいが、本発明では、CLMはAIM及びCDAに関連して以前の特許には見られない追加の異なる機能を有している。
【0109】
[E.フラッシュ常駐型オペレーティングシステムイメージへの統合]
この実施形態では、ミニCDAを、全体がフラッシュメモリ中に格納されたオペレーティングシステムイメージに統合する。永続性は永続的なオペレーティングシステムイメージ中に組み込まれることによって達成され、オペレーティングシステムに対する偶発または故意による修正を防止するために使用されるものと同じセキュリティ機構によって保護される。この場合、ミニCDAはオペレーティングシステムのユーティリティによって直接ロードされ実行される。続いて全機能CDAがダウンロードされ揮発性メモリにインストールされる。別のほぼ同様の実施形態では、オペレーティングシステムのユーティリティによってCLMがロードされ、その後CLMはミニCDAをロードし実行する。この後者の場合、CLMとミニCDAはどちらも永続的なオペレーティングシステムイメージ中に組み込まれている。
【0110】
[F.サーバ主導の接続]
この実施形態では、サーバは、CDAがサーバとの通信を開始するのを待つ代わりに、CDAとの通信を開始する。サーバ主導の接続は、時間制約がありクライアントによる次の計画呼び出しまで待つことのできないサーバ命令の実行を可能にする。この場合、サーバは、CDAがサーバを呼び出すのに使用する主要な通信ネットワークまたはプロトコルと同じものを使用してもよくまた異なるものを使用してもよい。時間に左右される場合の一例は、装置の盗難が報告された結果ネットワークオペレータによって通信が遮断される前に不適切な場所に置かれたかまたは盗難にあったモバイル装置上でデータ削除操作を実行することである。時間に左右される任意のサービスをこの方法で呼び出してよい。
【0111】
[G.オペレーティングシステムの配布への統合]
この実施形態では、ミニCDAを、オペレーティングシステムの配布(例えば、ソフトウェア、ハードウェアのファームウェア)に統合する。永続性はオペレーティングシステムの基本的で不可分な構成要素として組み込まれることによって達成される。この場合、これはオペレーティングシステムに対する偶発または故意による修正を防止するために使用されるものと同じセキュリティ機構によって保護される。オペレーティングシステムの再インストールの場合、ミニCDAはオペレーティングシステムのインストール媒体から再インストールし、その結果ミニCDAが提供するサービスは二度目のインストールにおいて可能になる。この実施形態では、ミニCDAはオペレーティングシステムの機能によって直接ロードされ実行される。その後、他の実施形態の場合と同様に全機能CDAをダウンロードしインストールする。
【0112】
[H.拡張可能ファームウェアインタフェース(EFI)]
永続的モジュール(すなわち、AIM及びCLM)のBIOS実施形態は、ミニCDAまたはエージェントを、OSローダに先立つEFIドライバまたはEFIアプリケーションの何れかとしてEFI環境中にインストールするように修正してもよい。永続性は、EFIがCLMをロードした後、CLMがAIMを使用してBIOS実施形態と同様にミニCDAをインストールまたは復元した時達成される。BIOS実施形態と同様に、ミニCDAは、OSブートの後、全機能を備えたエージェントをダウンロードしインストールすることができる。
【0113】
[最適化]
CLMのPCIオプションROMをシステムBIOSに統合するのは困難ではない。例えば、IBMのT43型ノートブックコンピュータには、オプションROM構造を有するIBM BIOSがインストールされている。その形態及び機能は、BIOS中に既に存在するビデオオプションROMまたはマザーボードコントローラオプションROMと同様である。簡単に行う場合、CLMのベンダIDを認識するようにBIOSを簡単に再構成しなければならない。CLMの形態及び機能をより密接にホストBIOSに統合する場合、ある種のサイズ最適化を行ってもよい。フラッシュイメージ内にCLM、AIM、及びCDAを格納するために必要な20KBまでの小さなスペースを節約する機会が存在する。以下は、3つの主要モジュール中の様々な機能と各主要機能グループの概算サイズとをリストにした表である。「最適化」縦列は、各モジュール中の機能グループの最適化の可能性の推定のリストである。
【0114】
【表7】
【0115】
モジュール中の様々な機能の中、CLMの機能(PCI、イメージ管理、及び実行環境)だけをホストBIOSからの固有のサポートによって最適化してもよい。BIOSの圧縮アルゴリズムを使用し、AIM及びCDAモジュールを格納する「結合」法を使用することによって、イメージ管理機能のサイズを約0.3KB縮小することができる。全てのディスク資源を利用できるようにし、POSTメモリマネージャのサポートの必要がなくなるように、PCIオプションROMがPOSTの終わり近くでロードされるようにすることで、実行環境設定及び制御機能は0.8KB縮小できる。20KBまでのサイズは約18.9KBまで小さくなる。CLM中でプラットフォーム固有のサポートが必要な場合、上限が2KB増大することがある。
【0116】
BIOSインタフェースがSMBIOSを通じてCLMを検出及び設定するためのアプリケーションプログラムインタフェース(API)を公開する場合、2KBの見えるROMの「スタブ要求」が緩和される。
【0117】
[永続的サービスエージェントの携帯デジタル装置への導入]
永続的サービスエージェントは、携帯デジタル装置のような追加装置を追跡管理するように拡張してもよい。インテリジェントエージェントは、家庭用電子装置(例えば、アップル(Apple)IPOD(登録商標)デジタルメディアプレーヤ、MP3プレーヤ、携帯電話、またはマイクロソフト(Microsoft)XBOX(登録商標)またはソニー(Sony)プレイステーション(登録商標)といったゲーム装置)のBIOSオプションROM、ハードディスクドライブ上のパーティションギャップ、ハードディスクドライブのホスト保護領域(HPA)、埋め込み型ファームウェア(例えば、OS ROM)に存在してもよい。上記で論じた例で説明したように、一旦実行されると、CDAは監視サーバと通信する(CDA主導またはサーバ主導何れかの通信)。CDAの機能は、メモリへのコピー、メモリからのコピー及びメモリからの実行といった汎用機能でもよい。こうした機能は、CDAとの通信の際監視サーバが提供するシーケンスに基づいて実行される。こうしたシーケンスを実行して、アプリケーションをメモリにコピーして実行し、その結果を読み出して監視サーバに返してもよい。上記で説明したように、永続的エージェントはプログラム可能でもよい。
【0118】
永続的サービスエージェントは、例えば以下のような様々な携帯用及び/または個人用デジタル装置に導入してもよい。
−個人情報端末(PDA)
−MP3プレーヤ、デジタル録音機、携帯TV、ラジオ、等といったデジタルメディア装置
−携帯電話、双方向ラジオ、等といった無線装置
−全地球測位システム(GPS)、等といった手持ち型装置
−携帯型コンピュータゲーム(任天堂(登録商標)(Nintendo(登録商標))、ソニー(登録商標)プレイステーション(登録商標))、等といったゲーム装置
−デジタルカメラ
【0119】
エージェント導入の個々の例は以下のものを含む。
【0120】
[1.IPOD(登録商標)デジタルメディアプレーヤ]
エージェントは監視サーバにコンタクトし、また監視サーバからコンタクトを受けるように事前にプログラムされる。装置がインターネットに接続するか、またはインターネットに接続した別のベース装置(例えば、パーソナルコンピュータ)に接続するまで、エージェントは待機状態になる。一旦装置が(ITunes(登録商標)のような)サードパーティのウェブサイトに接続すると、エージェントはウェブサイトの埋め込み型制御を使用して監視サーバに接続する。代替的には、エージェントはそれ自体のコピー、または別のエージェントを接続先のベース装置にインストールして、監視サーバに接続してもよい。一旦接続すると、エージェントは監視サーバから装置の状態を確認する。この確認は、装置の固有の識別情報(例えば、電子シリアル番号(ESN)、製造業者のシリアル番号、またはエージェントに埋め込まれたシリアル番号)の検査を含んでもよい。この固有の識別情報を監視サーバのデータベースと照合する。携帯装置に(例えば、装置の元の所有者または代理人によって)紛失を示すフラグが設定されている場合、エージェントは携帯装置をトリガして携帯装置自体を機能しない状態にするための操作(例えば、上記で論じたデータ削除、またはシャットオフまたは無効化または、少なくとも携帯装置の継続使用ができなくなる程度に携帯装置の少なくともいくつかの機能を動作不能にする他の同様の操作)を行わせる。代替的または追加的に、エージェントは装置をトリガして、携帯装置を所持している人物に対して情報メッセージを表示させる。メッセージは、装置の所有者への返還、装置の返還または再有効化に関連する謝礼といったさらなる情報を得るため、所有者、装置ベンダまたは資産追跡管理会社に連絡するようその人物に指示するものでもよい。
【0121】
[2.携帯電話]
エージェントは(例えば、サーバ主導またはエージェント主導で)監視サーバにコンタクトするように事前にプログラムされる。一旦装置が無線ネットワークに接続されると、エージェントは標準通信プロトコルを使用して監視サーバと通信してもよく、また、代替的または追加的に、SMSメッセージ(または別の種類のプロトコル)を監視サーバまたは所有者の代理人に送信してもよい。一旦接続すると、エージェントは装置の固有の識別情報を監視サーバのデータベースに対して有効であることを確認する。この確認は、装置のESNまたはシリアル番号(製造業者のシリアル番号、またはエージェントに埋め込まれた識別番号、またはSIMカードID、等)といった識別番号の検査を含んでもよい。この固有の識別情報を監視サーバのデータベースと照合する。装置の元の所有者によって、携帯装置に紛失を示すフラグが設定されている場合、エージェントは携帯装置をトリガして携帯装置自体を機能しない状態にするための操作(例えば、上記で論じたデータ削除、またはシャットオフまたは無効化または、少なくとも携帯装置の継続使用ができなくなる程度に携帯装置の少なくともいくつかの機能を動作不能にする他の同様の操作)を行わせる。代替的または追加的に、エージェントは装置をトリガして、携帯装置を所持している人物に対して情報メッセージを表示させる。メッセージは、装置の所有者への返還、装置の返還または再有効化に関連する謝礼といったさらなる情報を得るため、所有者、装置ベンダまたは資産追跡管理会社に連絡するようその人物に指示するものでもよい。
【0122】
[3.ゲームコンソール]
エージェントは(例えば、サーバ主導またはエージェント主導で)監視サーバにコンタクトするように事前にプログラムされる。一旦ゲーム装置がオンラインゲームサーバに接続すると、エージェントは、ゲームサイトに埋め込まれた標準通信プロトコル(例えば、IP)を使用して監視サーバと通信する。代替的には、エージェントはTCP/IPまたは標準インターネットプロトコルを別のサードパーティ監視サーバに送信してもよい。一旦接続すると、エージェントは装置の固有の識別情報を確認し、これまで上記で説明した実施形態とほぼ同様の方法で適当な動作を行う。
【0123】
上記で開示したサービスエージェントは、普通はサービスエージェントを削除すると予想されるような動作が行われても永続的であるという能力を有する。エージェントはプログラム可能なので、サーバ主導のコマンドに基づいてその機能を拡張することができる。本発明は、事前導入されたサービスエージェントが、装置の「ユーザ」の操作と無関係に「アクティブ」な状態を維持する能力を改善する。エージェントに対するユーザの操作は故意によるものでも偶発的なものでもよい。本発明は、(例えば、コンピュータ資産のライフサイクル終了時に)正当な必要によるエージェントの無効化を可能にする一方で、サービスエージェントの偶発による除去から許可されたユーザを保護する。本発明は、許可されていないユーザがエージェントソフトウェアを除去するのを防止する。本発明の永続的な属性は、セキュリティ及び資産管理両方の用途において価値を有する。安全でステルス性を有する装置追跡管理ソフトウェアアプリケーションの状況では、貴重な資産の盗難を隠すことは、窃盗犯がどんな操作を行うかに関らずはるかに困難になっており、ソフトウェアは永続して遠隔監視センタにコンタクトすることが可能であるため、本発明は大きな価値を有する。さらに、サービスエージェントが永続的な性質を有しているため、トラッキングエージェントが偶発的に除去されないという信頼が得られ、セキュリティ要員に安心が提供される。安全な資産管理アプリケーションの状況では、全ライフサイクルにわたる資産の追跡管理の連続性が保証されるため、これはさらなる価値を有する。今日のIT管理者の主要な課題は全ライフサイクルにわたって資産の追跡管理を行う能力である。ライフサイクルの間に、装置はあるユーザから別のユーザに引き渡されることが多く、その際装置は再イメージング、またはオペレーティングシステムの再インストール、または他の形で資産の追跡管理を困難にする保守手順の対象になることがある。
【0124】
以上、ブロック図形式の機能モジュールによって本発明の処理及びシステムを説明した。特記なき場合、本発明の範囲及び精神から離れることなく、1つかそれ以上の機能を単一の物理的装置またはソフトウェア製品中のソフトウェアモジュールに統合してもよく、また1つかそれ以上の機能を単一の場所またはネットワーク全体に分散した単独の物理的装置またはソフトウェアモジュールにおいて実現してもよいことが理解されるだろう。
【0125】
各モジュールの実際の実現に関する詳細な議論は本発明の理解を可能にするために必要でないことが認識されるだろう。本出願におけるシステム中の様々な機能モジュールのシステム属性、機能性及び相互関係の開示によれば、実際の実現はプログラム及びシステムエンジニアの通常の技能の範囲内である。当業者は、一般的な技能を適用して過度な実験なしに本発明を実施することができる。
【0126】
本発明に係る実施形態に関連して本発明を説明したが、本発明の範囲及び精神から離れることなく様々な修正及び改善をなし得ることが当業者には明らかであろう。例えば、情報抽出アプリケーションは、ユーザにウェブブラウズのさらなる柔軟性を提供する異なるまたは追加の処理に対応するように容易に修正することができる。従って、本発明は個々の例示実施形態によってではなく、添付の請求の範囲によってのみ制限されることが理解されるだろう。
【図面の簡単な説明】
【0127】
【図1】本発明の1つの実施形態に係る、資産追跡管理を実現し得るネットワークを含む代表的な通信リンクを示す概略図である。
【図2】本発明の1つの実施形態に係る、永続的エージェントを含む、PCIオプションROMをBIOSに取り付けた状態を示す概略図である。
【図3】本発明の1つの実施形態に係る、PCIオプションROM中に存在する永続的エージェントのモジュール構成要素を示す概略図である。
【図4】本発明の1つの実施形態に係る、オプションROMロードルーチンを示す概略フロー図である。
【図5】本発明の1つの実施形態に係る、永続的エージェントのCLMによって実行されるルーチンを示す概略フロー図である。
【図6a】本発明の1つの実施形態に係る、CLMの割り込みハンドラによって実行されるルーチンを示す概略フロー図である。
【図6b】本発明の1つの実施形態に係る、CLMの割り込みハンドラによって実行されるルーチンを示す概略フロー図である。
【図7】本発明の1つの実施形態に係る、永続的エージェントのAIMによって実行されるルーチンを示す概略フロー図である。
【図8】本発明の1つの実施形態に係る、永続的エージェントのCDAのインストーラモードルーチンを示す概略フロー図である。
【図9】本発明の1つの実施形態に係る、CDAのサービスモードルーチンを示す概略フロー図である。
【図10】本発明の1つの実施形態に係る、アプリケーションモードにおけるCDAの概略表示である。
【図11】本発明の1つの実施形態に係る、フラッシュイメージ管理の概略表示である。
【図12】本発明の1つの実施形態に係る、ホスト保護領域イメージ管理の概略表示である。
【図13】本発明の1つの実施形態に係る、パーティションギャップイメージ管理の概略表示である。
【図14】本発明の1つの実施形態に係る、永続的エージェントのCDAと遠隔サーバとの間の通信セッションの概略表示である。
【図15】本発明の1つの実施形態に係る、CDAのクライアント側デート削除ルーチンを示す概略フロー図である。
【図16】本発明の1つの実施形態に係る、サーバ側データ削除ルーチンを示す概略フロー図である。
【図17】本発明の1つの実施形態に係る、データ削除実行ルーチンを示す概略フロー図である。
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2005年3月18日出願の米国仮特許出願第60/663,496号、2005年3月18日出願の米国仮特許出願第60/663,615号、及び2006年1月7日出願の米国仮特許出願第60/756,796号の利益を主張する。本出願は、2005年3月28日出願の米国特許出願第11/093,180号の一部継続出願である。これらの文書はその全体を引用によって本出願の記載に援用する。
【0002】
本出願で参照される全ての刊行物は、その全体を引用によって本出願の記載に援用する。
【0003】
本発明は、コンピュータ及びネットワーク環境における永続的または改竄防止サービスエージェントに関する。
【背景技術】
【0004】
現在の競合するビジネス環境では、情報技術(IT)は日々のビジネス機能での知識の交換においてますます重要な役割を演じつつある。個人、システム、組織、及び他のビジネス資産はこの新たに出現しつつある経済網の中で相互接続しており、このITの状況が次第に複雑さを増すに連れて、コンピュータ資産を効率的に管理する必要も増大している。その結果、今日の組織は、投資を最大限に活用しコストを管理するため、組織のコンピュータ資産ベースを制御し、管理し、安全にする必要をこれまで以上に認識している。
【0005】
ネットワーク中のコンピュータを管理するために必要な時間と財源の量は重大なものになることがある。こうした資産は電子商取引やビジネスインテリジェンスといった主要なビジネス処理をサポートする。こうした資産が保護されず、事前に資産を管理する能力がない場合、短期及び長期の損失が生じる可能性は莫大である。
【0006】
組織が直面する主要な課題の1つは、装置の記憶ドライブ上の個々のソフトウェアイメージと必要な更新を管理し、組織のコンピュータの位置と進行中の移動を追跡管理することである。どんな資産がありそれらが時間と共にどのように変化しているかを知ることは、現行のIT資産及びポリシー管理にとって基本的なことである。また、そのことを知っていれば、ハードウェアまたはソフトウェアのアップグレード、またはコンピュータの廃棄といった計画及び予算編成が改善できる。企業が地理的に拡大し、モバイル及び遠隔システムの採用がますます一般的になるに連れて、この問題はさらに複雑になっている。こうした資産とそこにあるソフトウェアイメージを追跡することは、コンピュータ自体の価値にとって重要なだけでなく、マシン上に存在する貴重なデータの保護にとってさらに重要であることが多い。紛失または不適切に設定した資産は内部に読み取り可能な機密情報または著作権を有する情報を有することや、ウイルス対策用に更新されないことがあり、また企業のネットワークにアクセスする権利を有したままでいることがある。企業はその資産及びその構成を明確にし、ハードウェア及びソフトウェアについて何がそれらに搭載されているかだけでなく、それらがどこにありそれらを誰が使用しているかを明確にすることができなければならない。この追加情報があって初めて、組織は遠隔及びモバイルユーザのセキュリティ及び規制遵守の問題に取り組むことができる。
【0007】
モバイルコンピューティング装置の処理能力の増大に伴って、デスクトップユニットの代替品として、または家庭用または小企業のネットワーク用の追加装置として、モバイルコンピューティング装置を選択する個人が次第に増大している。個人は元来コンピュータ資産のインベントリ及び構成の管理に関心を有さないが、それにもかかわらずパーソナルコンピュータ資産の追跡管理及び個人データの保護に関しては、大企業と同様の関心を共有している。
【0008】
大部分のIT部門は、従来の資産管理ソリューションが絶えず増大する遠隔及びモバイルユーザの個体数を正しく明確にすることができないという主張を支持するだろう。実際には、通常の組織は、PCドリフト1までの2年間にPC資産の15%までを失うが、この場合資産は必ずしも紛失または盗難にあったわけではなく、支給されてから何度も所有者または部門が変わったため所在を明確にすることができないだけのことがある。平均すると、備品目録の作成を要求された場合、大部分の組織が正確に識別できるのは、組織の実際のPC資産ベースの65%に過ぎない。模範事例として、PC資産の少なくとも90%の位置を常に把握することが要求されている。
【0009】
LANの外部を移動する遠隔及びモバイルコンピュータ資産には多くの点で問題がある。まず、大部分の資産追跡管理ソフトウェアは、マシンがローカルネットワークに接続されていない場合それを追跡管理することができない。また、こうした遠隔マシンはITネットワーク全体のセキュリティ上の大きな脅威の原因となる。IT管理者よりもむしろ遠隔ユーザがマシンの管理及び設定更新に対して責任があることが多い。大部分のユーザは普通、必要なセキュリティ意識を有していない。ユーザはセキュリティ設定のレベルを下げ、気付かないうちに悪意のあるソフトウェアをインストールし、ウイルス対策ソフトウェアを期限切れにし、最新のセキュリティパッチをインストールしないことがある。遠隔ユーザにとってはセキュリティ上の小さな過失に見えるかもしれないことが、ネットワーク全体に対して劇的な影響を有することがある。遠隔ユーザは、LANに接続すると、セキュリティへの関心が低いため、ネットワーク全体を感染させることがある。こうした遠隔マシンに対する有効な資産管理ツールなしに、IT管理者はネットワーク全体の完全性を保証することができない。ネットワークの安全性はその最弱リンクの安全性と同じであるに過ぎない。コンピュータセキュリティに関するCSI/FBI年次調査は、盗難にあったPC資産の57%が企業に対するさらなる犯罪を行うために使用されていることを示している。
【0010】
最近の企業会計スキャンダル、識別情報の盗難及び悪意のあるハッキングに対して、政府は全ての機密上重要なデジタル情報を保護し明確にすることを企業に要求する規則を制定しつつある。2002年のサーベンス・オクスリー法(Sarbanes−Oxley Act of 2002)はこうした規則の優れた一例である。サーベンス・オクスリー法によって、資産を正確に報告していない場合の摘発が増大している。経営幹部は、正確な資産報告を保証する適切な管理及び規則があるかを法律的に検証するように要求されている。現在では、正確な資産報告の履行を保証することは、最高財務責任者(CFO)及び最高経営責任者(CEO)の受託者責任である。資産ベースを不正確に報告した組織に対する法律上、規制上及び財政上の摘発は非常に重大なものになり得る。コンピュータは組織の資産ベースの大きな割合を構成することが多いので、正確な報告が必要である。グラム・リーチ・ブライリー(GLB)法は、財務部門での顧客記録の保護を保証する別の規則である。同様に、医療保険の相互運用性と説明責任に関する法律(HIPAA)は、医療記録と保険関連情報の機密性を保護する連邦政府のプライバシーの基準を確立した。組織が全てのコンピュータ資産を有効に追跡管理しなければ、重大な規制上の問題が生じ得る。
【0011】
追跡管理機能を引き受ける資産追跡管理及び/または設定管理アプリケーションは、ユーザによるある程度の改竄に抵抗できるべきである。資産追跡管理の状況では、通常、許可されたユーザはコンピュータのライフサイクル管理のある面の責任者である。この状況では、追跡管理エージェントは、(例えば、コンピュータ資産のライフサイクル終了時に)エージェントの無効化を可能にする必要性を正当と認める一方で、追跡管理エージェントの偶発による除去から許可されたユーザを保護できるべきである。許可されていないユーザは、エージェントソフトウェアを除去しようとするが、通常コンピュータのライフサイクル管理に責任を負わない人物である。エージェントを除去しようとする故意の、許可されていない試行の理由は、追跡管理ソフトウェアを永久的に除去された状態にしようという窃盗犯または潜在的な窃盗犯の行為であることを含むだろう。許可されていないが偶発的な除去の試行は、例えば、新しいオペレーティングシステムをインストールしたりハードディスクドライブを再イメージングしたりしようとする何者かの成功または不成功の試行を含むだろう。
【0012】
PC資産及びその構成を追跡、管理及び更新しようとする試行は、PCはそのライフサイクルを通じて、故障/調整修理、設定変更、オペレーティングシステムの再インストール、ハードディスクドライブの再フォーマット/交換、システムの破壊及びユーザ主導の設定変更を含む多くのハードウェア、ソフトウェア及びイメージの変更を経験するという事実によってさらなる課題を与えられる。こうした変化の多くはオペレーティングシステムの再インストールを必要とし、それによってPC資産の元のフットプリント、識別情報または追跡管理エージェントが無効化または除去されることがある。この変化は、勤勉に記録及び追跡管理しなければ、既知の状態から未知の状態へのPC資産ドリフトの始まりとなる。こうした日常のPCライフサイクル動作の要求は、特に遠隔及びモバイルPCの場合、PC資産追跡管理の複雑さと課題を増大しかねない。
【0013】
これまで、既存の資産追跡管理アプリケーションは、Windows NT/2000/XP(登録商標)環境では、許可されていないユーザによる改竄に対して要求される永続性を達成するために必要な機能を示さないという点で不十分である。こうした追跡管理アプリケーションは一般に、上記で述べた許可されていない、または偶発によるユーザの行為、または、レジストリ設定の削除またはアプリケーションファイルの削除といった他の単純な行為によって簡単に無効になってしまう。
【0014】
本発明の譲受人である、アブソリュートソフトウェア社(Absolute Software Corporation)は、資産を安全に追跡管理し紛失または盗難にあった資産を回復する製品及びサービスであるコンピュトレース(Computrace)、及びコンピュトレース技術プラットフォームによって動作する安全な資産追跡管理及びインベントリ管理ソリューションであるアブソリュートトラック(AbsoluteTrack)を開発し販売している。コンピュトレースは、ホストコンピュータのハードディスクドライブに存在するソフトウェアクライアントであるステルスエージェントを導入する。一旦インストールされると、自動的に、エージェントは定期的に監視センタにコンタクトし位置情報及び全ての自動的に発見された資産データポイントを送信するようになる。エージェントと監視センタとの間の進行中の通信はユーザの介入を必要とせず、インターネットまたは電話接続を介して維持される。コンピュータの電源が投入され、(ISPまたは企業ネットワークを通じて)電話回線への接続またはインターネットへのアクセスの何れかを有している限り、コンピュトレースエージェントは資産データを監視センタに報告することができる。エージェントと監視センタとの間のユーザの介入を必要としない通信によって、エージェントの許可されたユーザはコンピュータインベントリ全体の最新の位置情報と包括的な資産データに安全にアクセスできるようになる。単独で使用されるにせよ、また既存の資産管理ツールの補完物として使用されるにせよ、アブソリュートトラックは、遠隔、モバイル及びデスクトップコンピュータを監視し、日常的なハードウェア及びソフトウェアのインベントリ追跡管理機能を実行するあらゆる規模の企業の助けとなる費用効果的なアプリケーションサービスである。コンピュトレースはモバイルコンピュータの盗難を追跡管理し、盗難にあったモバイルコンピュータを回復する有効なツールである。
【0015】
様々なコンピュトレース製品及びサービスの根底にある技術は、米国及び他の諸国で開示及び特許取得されており、それらの特許は本出願と同じ譲受人であるアブソリュートソフトウェア社に譲受されている。例えば、米国特許第5,715,174号、米国特許第5,764,892号、米国特許第5,802,280号、米国特許第6,244,758号、米国特許第6,269,392号、米国特許第6,300,863号、および米国特許第6,507,914号の公報、及び関連外国特許を参照されたい。アブソリュートトラックに関するさらなる情報はアブソリュートソフトウェア社によって公開されている(例えば、2003年4月25日に発行された白書「アブソリュートトラック−安全なコンピュータ資産追跡管理ソリューション(AbsoluteTrack-Secure Computer Asset Tracking Solution)」を参照されたい)。
【0016】
保護された各装置に導入されたエージェントはステルス性であって、コンピュータのユーザによる検出に対する耐性を有する。改竄耐性のレベルは検出の困難さとコンピュトレースサービスを無効にするために要求されるスキルのレベルに直接影響する。コンピュトレースエージェントはディスクベースのユーティリティと同程度の改竄耐性を有するが、さらに上のレベルの改竄耐性を提供し、さらに、資産追跡管理及び回復以外のサービスを有効化、サポート及び/または提供する改善されたエージェントを開発することが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【0017】
本発明は、改竄に対する耐性を改善した、(非制限的に、ハードウェア、ファームウェア、ソフトウェア、データ、等を含む)資産及びそのソフトウェア設定の管理及び保護に関するサービスを有効化、サポート及び/または提供するサービスエージェントに関する。サービスは、資産管理追跡、資産回復、データ削除、ソフトウェア導入、等を含んでもよい。
【課題を解決するための手段】
【0018】
サービスエージェントは複数のモジュールを備える。各モジュールは個別の動作環境で機能するように設計されている。モジュール設計は、アプリケーション全体を再構築する必要なしに、例えば、BIOS中またはハードディスクドライブ上といった特定の動作環境に導入するようにエージェントを構成する柔軟性を提供する。エージェントは全体的または部分的に(ハードウェアのマイクロコードを含む)ソフトウェアによって実現してもよく、またシステム内のソフトウェア、ファームウェア及び/またはハードウェア構成要素中に存在してもよい。
【0019】
本発明の1つの態様によれば、ローダモジュールがロードされ、電源投入時自己診断(POST)中の制御を得る。このエージェントに依存して、エージェントがインストールされた装置、及びエージェントがインストールされた装置に関連する資産に対するサービス(例えば、追跡管理、データ削除及びソフトウェア更新)を有効化、サポート及び/または提供することができる。一旦制御がローダに渡されると、ローダは、必要に応じて、かつ適当な時に、マシンから除去または紛失した可能性のあるエージェントの部分をネットワーク(例えば、インターネット)経由でリロードすることを含む、エージェントの他の機能及びモジュールをロードする役割を果たす。サービスエージェントは、普通なら除去されてしまうような操作を受けたとしても永続的である能力を有する。
【0020】
本発明の1つの実施形態では、永続的エージェントのエージェントコードのための少なくとも1つのモジュール及び/またはデータは、装置中に存在するROM及び、特に、基本入出力システム(BIOS)またはその機能的同等物といった、装置のファームウェアにおいて実現される。サービスエージェントは、装置のオペレーティングシステムから独立して、その意図するサービス機能(例えば、追跡管理、データ削除及びソフトウェア更新)を実行できるようにエージェント自体をロードすることができ、動作環境を検出することによって、装置のいくつかの基本的な動作(例えば、入力/出力)を制御する環境(例えば、装置のオペレーティングシステム)に適応することができるので、エージェントはシステムのこうした基本的動作を使用してその意図するサービス機能を実行することができる。
【0021】
別の実施形態では、永続的エージェントは、「コンピュトレース」ローダモジュール(CLM)、適応インストーラモジュール(AIM)、及び通信ドライバエージェント(CDA)を含む、3つの主要なモジュールを備えている。CLMはAIMをロードし、AIMは、CDAの位置を特定し、CDAを確認、圧縮解除、及び検出されたOS環境に適応させる。1つの実施形態では、CDAは、部分的すなわちミニCDA及び全機能CDAという2つの形態で存在する。ミニCDAの機能は、完全または最新のCDAが装置上のどこかに存在するか否かを決定し、存在しない場合、監視サーバからネットワーク(例えば、インターネット)経由で全機能CDAをロードすることである。そして、全機能CDAは、装置と監視サーバとの間の全ての通信を担当する。別の実施形態では、特定の環境に適応するためカスタム機能を必要とすることのある異なるモジュール、特にCLMをプログラム可能にしてもよい。いくつかのモジュールの形でエージェントを提供することによって、カスタマイゼーションのレベルを最小に保持することができる。1つの実施形態では、少なくともCLMはBIOSのようなファームウェア中に格納され、1つまたは複数の他のモジュールはハードディスクパーティションギャップ、またはハードディスクドライブのホスト保護領域(HPA)中に格納される。別の実施形態では、CLMは代替マスターブートレコード(MBR)、または上記の組み合わせの中に格納される。
【0022】
別の態様では、エージェントが実行するサービス機能は、エージェントにおいて利用可能な汎用サブファンクションの呼び出しを組み合わせることで、遠隔サーバによって制御してもよい。エージェントはこのようにプログラム可能なので、サーバ主導のコマンドに基づいて拡張することができる。この拡張可能性は、スペースが貴重で機能を追加または変更するための頻繁な更新が経済的ではないBIOSのようなファームウェアにエージェントを無事に導入するため重要である。拡張可能性はエージェントのアクティブ化処理及び再アクティブ化処理の主要な構成要素である。
【0023】
本発明の別の態様では、エージェントの拡張可能性によって、クライアント装置に格納されたデータを消去するためのデータ削除アプリケーションが可能になる。
【0024】
本発明のまた別の態様では、エージェントの拡張可能性によって、クライアント装置にソフトウェアの更新を供給しプログラムすることが可能になる。
【0025】
本発明は、装置の「ユーザ」の操作とは無関係に、事前に導入されたサービスエージェントを「アクティブ」な状態に保持する能力を改善する。本発明の文脈で、「アクティブ」という用語は、エージェントソフトウェアの構成要素がそれ自体をロードして、例えば1つの実施形態では、ハードディスクドライブのフォーマット、オペレーティングシステムの再インストール、イメージングユーティリティを使用したハードディスクドライブの再イメージング、及びハードディスクドライブの交換のための低レベルコマンドを含む、広範な「ユーザ」の操作のための全能力を再構成する特定の能力を指す。「ユーザ」という用語は、こうした操作を実行し、許可された、または許可されていない者として行動し得る個人を指す。エージェントを除去する操作は意図的または偶発的なものでよい。
【0026】
本発明は、(例えば、コンピュータ資産のライフサイクル終了時に)エージェントの無効化を可能にする必要性を正当と認める一方で、サービスエージェントの偶発による除去から許可されたユーザを保護する。本発明は、許可されていないユーザがエージェントソフトウェアを除去するのを防止する。本発明の永続的な属性は、資産保護、データ及びネットワークのセキュリティ、IT資産管理、ソフトウェアの導入、及び他の種類の適用業務において価値を有する。安全でステルス性の装置追跡管理ソフトウェアアプリケーションの状況では、貴重な資産の盗難を隠すことは、窃盗犯がどんな操作を行うかに関らずはるかに困難になっており、ソフトウェアは永続して遠隔監視センタにコンタクトすることが可能であるため、本発明は大きな価値を有する。さらに、サービスエージェントが永続的な性質を有しているため、エージェントが偶発的に除去されないという信頼が得られ、セキュリティ要員に安心が提供される。安全な資産管理アプリケーションの状況では、全ライフサイクルにわたる資産の追跡管理の連続性が保証されるため、本発明はさらなる価値を有する。今日のIT管理者の主要な課題は全ライフサイクルにわたって資産の追跡管理を行う能力である。ライフサイクルの間に、装置はあるユーザから別のユーザに引き渡されることが多く、その際装置は再イメージング、またはオペレーティングシステムの再インストール、または他の形で資産の追跡管理を困難にする保守手順の対象になることがあるが、これは本発明によってより容易になる。永続的で拡張可能なエージェントによって、資産追跡管理サービスに加えて、他のサービスを有効化、サポート及び/または提供することができる。
【0027】
本発明の性質及び利点、及びその好適な使用形態をより完全に理解するには、添付の図面に関連してなされる以下の詳細な説明を参照されたい。これらの図面中、同一の参照符号は全図を通じて同一または同様の部品を表す。
【発明を実施するための最良の形態】
【0028】
本説明は発明を実施するための現在考えられる最良の形態に関するものである。本説明は、本発明の一般的原理を例示するためになされたものであって、制限的な意味で受け取るべきではない。本発明の範囲は、添付の請求項を参照することによって最もよく決定される。本発明の根底にある原理を理解すれば明らかになるように、本発明は、本発明の範囲及び精神から離れることなく、多様な実現例において有用性を見出すことができる。本発明の永続的エージェント(Agent)の特徴を例示する目的で、エージェント及び追跡管理エージェントによって提供されるサービスの一例としての資産追跡管理、及びエージェントによって提供されるサービスの別の例としてのデータ削除を参照する。本発明の範囲及び精神から離れることなく、エージェントをソフトウェアの配布及び更新といった他のサービスのために使用してよいことを理解されたい。
【0029】
以下の詳細な説明は主として、本発明の方法または処理、動作、機能及び特徴の符号表現によって提示される。これらの方法の説明及び表現は、当業者がその作業の趣旨を別の当業者に最も効果的に伝えるために使用する手段である。ソフトウェアによって実現される方法または処理は、本出願では、かつ一般的に、所望の結果に至る一連の首尾一貫したステップであると考えられる。こうしたステップは物理量の物理的動作を必要とする。必然的ではないが、多くの場合、物理量は、格納、転送、結合、比較及びその他の動作が可能な電気信号または磁気信号の形態を取る。さらに認識されるように、ハードウェアとソフトウェアとの間の境界は必ずしも明確ではなく、ソフトウェアによって実現される処理を、マイクロコード及び/または格納されたプログラム命令などのコーディングされた命令の形態で、ハードウェア、ファームウェア、またはソフトウェアにおいて実施してもよいことを、当業者は理解するだろう。
【実施例】
【0030】
[追跡管理システムの概要]
資産追跡管理機能は、本発明の永続的エージェントによって有効化、サポート及び/または提供することができるサービスの一例である。図1を参照すると、本発明の1つの実施形態に係る資産追跡管理システムは、以下の主要構成要素を備え得るクライアント/サーバアーキテクチャを包含する。(a)エージェントを埋め込まれた図示の電子装置の何れか1つからなるクライアント装置A。エージェントソフトウェアは、資産、位置及び他の情報を報告し、遠隔サーバから命令を受信して所望の機能をサポート及び実行するようにエージェントをプログラムする目的で、クライアント装置上で実行される。本発明は、偶発または故意による除去に対するエージェントソフトウェアの永続性を高める能力及び監視サーバからのクライアントのプログラミング性を提供する。(b)情報交換リンクなどの通信リンクB。これは交換通信ネットワーク、インターネット、私設及び公衆イントラネット、ラジオネットワーク、衛星ネットワーク、及びケーブルネットワークを含んでもよい。及び(c)ホスト監視システムC。これはクライアント装置Aとホスト監視システムCとの間の通信を監視するホスト監視サーバ3を含み、クライアント装置から定期的にコンタクトを受けクライアント装置からの情報を記録する。また、監視サーバは、クライアントが行う予定の動作、収集すべきデータ、及びクライアントの次の計画呼び出し時間を含む、行うべき動作に関する命令をクライアントに提供する。クライアント装置は、通信リンクB(例えば、IP接続またはダイヤルアップ電話接続)を介して監視サーバにコンタクトする。監視サーバは、インターネット上で提供されるサービス、または企業イントラネット上の自営サーバの何れかとしてその機能を果たすことができる。ホスト監視システムCは、顧客、管理者及び資産追跡管理サービスプロバイダに、監視サーバ及びクライアント装置のデータを閲覧しこれらの機能を管理する能力を提供する報告及び管理ポータルを含んでもよい。ホスト監視サーバは、多数の通信手段を介して、顧客、指定された代理人及び法執行機関に、資産監視の状況に関する通知を行うことができる。
【0031】
図1を参照すると、本発明にかかわる永続的サービスエージェントを実現可能な有用なクライアント装置Aは、制限的ではないが、汎用または特定用途向けデジタル処理、情報処理及び/またはコンピューティング装置を含み、これらの装置は独立型装置またはより大きなシステムの構成部分(例えば、大容量記憶装置)、携帯型、手持ち型または位置固定型でもよい。本発明のサービスエージェントアプリケーションによって異なる種類のクライアント装置を実現してもよい。例えば、以下さらに説明するように、外部サーバと通信する能力を有する、デスクトップクライアントコンピューティング装置、携帯型コンピューティング装置(例えば、ラップトップ及びノートブックコンピュータ)、または手持ち型装置(例えば、携帯電話、PDA(携帯情報端末)、情報家電等)に、本発明のサービスエージェントアプリケーションを適用してもよい。クライアント装置は、装置中に存在するオペレーティングシステムに加えて、装置中に格納されたプログラム、ルーチン及び/または一連の命令及び/または論理によって選択的に動作、起動または設定してもよい。約言すれば、本出願で説明及び示唆される方法の使用は、特定の処理構成に制限されない。
【0032】
本発明の原理、特徴及び機能の理解を容易にするため、例示実施形態における導入及び実現を参照して説明する。一例として、非制限的に、インターネットのコンテキストに関する配置及び実現の例を参照し、クライアント装置Aとしてラップトップまたはノートブックコンピュータを参照して本発明を説明する(コンピュータA1は略図でデスクトップ装置として表示されているが、携帯型コンピューティング装置でもよい)。本出願では、将来のグローバルネットワークの既存の部分に本発明を適用することを考慮していることを当業者は理解するだろう。さらに、本発明のインターネットの態様はクライアントコンピュータA1を参照して説明及び例示しているが、インターネットアプリケーションは、本発明の範囲及び精神から離れることなく他のクライアント装置に容易に適用可能であることを理解されたい。
【0033】
図1は、資産追跡管理のため本発明を導入可能な情報交換ネットワークの形態の通信リンクBの概略図である。本発明に係る資産追跡管理エージェントアプリケーションがアクセスする情報交換ネットワークは、非制限的に、公衆及び私設コンピュータネットワーク(例えば、インターネット、イントラネット、WAN、LAN等)、付加価値ネットワーク、通信ネットワーク(例えば、有線または無線ネットワーク)、同報ネットワーク、ケーブルネットワーク、ラジオネットワーク、及びこうしたネットワークの均質または不均質な結合といった、分散型情報交換ネットワークを包含してもよい。当業者が認識するように、ネットワークはハードウェア及びソフトウェアの両方を含み、個々の目的に対して説明が最も有益になるように、それらの何れか一方または両方として見てもよい。例えば、ネットワークは、通信機能による相互接続が可能なハードウェアノードの集合として説明してもよく、また代替的には、通信機能として説明してもよく、また代替的には、ノードを伴うかまたは伴わない通信機能自体として説明してもよい。さらに、ハードウェア、ファームウェア及びソフトウェアの間の境界は必ずしも明確でないことが認識され、こうしたネットワーク及び通信機能、及び永続的エージェント技術プラットフォームの構成要素は、ソフトウェア、ファームウェア及びハードウェアの態様を包含する。
【0034】
インターネットは、本発明を実現し得るコンピュータネットワークを含む情報交換ネットワークの一例である。インターネットを構成する(サーバ、ルータ、ゲートウェイ等といった)様々なハードウェア及びソフトウェア構成要素の詳細は、当業技術分野で周知であるので示さない。さらに、ユーザ/クライアント装置及びサーバによるインターネットへのアクセスは、同軸ケーブル、電話回線、無線RFリンク等及びブラウザのようなツールによって実現してもよいことを理解されたい。サーバとクライアントとの間の通信は既定のプロトコルによって行われる。以下指摘するように、本発明の永続的資産追跡管理エージェントアプリケーションは、情報交換ネットワークを通じてサーバの1つと通信可能なクライアントの1つにおいて、またはそれ自体として構成してもよい。本発明は他の既存の技術と組み合わせて動作するが、このことは当業技術分野で周知であるので、本発明を不明瞭にするのを避けるため本出願では説明しない。具体的には、例えば、インターネット、ウェブベースのツール及び通信、及び関連方法及びプロトコルを包含する方法が現在存在する。
【0035】
図1を参照すると、ホスト監視システムCは単に、(同時または並行して)1つかそれ以上の通信リンクBを介して、エージェントをインストールしたクライアント装置Aとデータを交換するように構成したコンピュータ(例えば、サーバ3)でよい。ホスト監視システムCは、外部ユーザアクセスを識別及びフィルタリングするルーチン(C1)を含む。また、ホスト管理システムCは、報告及び管理ポータルを介して、追跡管理されるクライアント装置Aに関する情報(例えば、ネットワーク位置情報)について追跡管理される装置Aの所有者及び/または代理人と直接または間接に通信する(C3)。例えば、ホスト監視システムCは、電子メール、ファックス、ポケットベル(登録商標)、電話等によって、追跡管理される装置の所有者、所有者が指定した代理人、会社が指定した部署または代理人、人員を配置した監視サービスステーション、法執行機関等と通信してもよい。代替的には、ホスト監視システムCは、それ自体が人員を配置した監視サービスステーション、または法執行機関の一部であってもよい。ホスト監視システムC及び/または下流のターゲット位置(例えば、人員を配置した監視サービスステーション)では、追跡管理される資産のインベントリリスト、または追跡管理される資産の紛失/盗難状態を管理する。図1では1つのホスト監視システムCが図示されているが、例えば異なる地理的範囲にある通信ネットワークにわたって複数のホスト監視システムCを分散させてもよい。
【0036】
エージェントの重要な機能の1つは、ホスト監視システムCにコンタクトして、関連するクライアント装置Aに関する識別情報、位置、及び/または他の情報を報告することである。本発明の1つの実施形態によれば、各クライアント装置Aは固有の識別情報に関連付けられており、この識別情報はクライアント装置Aがホスト監視ステーションCに提供する情報の一部でもよい。固有の識別情報は、電子シリアル番号(ESN)、媒体アクセス制御(MAC)番号、インターネットホスト名/IPアドレス、所有者/ユーザを特定する識別情報、またはクライアント装置を表示、識別する、及び/またはその識別を可能にする他の数字、英字または英数字情報、エージェントの現実または仮想の地理的位置及びその識別情報を決定または評価するさらなる基礎を提示し得る日付及び時間といったさらに別の情報でもよい。
【0037】
ステルスエージェントを使用して資産の追跡管理及び/または盗難または紛失にあった装置Aの回復を行うことの一般的な概念は、本発明の譲受人であるアブソリュートソフトウェア社に譲受された特許で開示されている。エージェントは、ホスト監視システムCを呼び出す適当な時間を決定しなければならない。ここでは、一旦エージェントがインストールされ実行されると、エージェントは、通信処理を開始するためのユーザの介入なしに、周期的(例えば、N時間毎)、(例えば、システムまたはユーザのログオンから)所定の時間が経過した後、または装置のシステムブートの後、または何らかの所定の条件の発生時、またはハードウェアの再設定といった何らかの内部または外部のイベントによるトリガの何れかによって、通信リンクBを介してホスト監視システムCにその識別情報及び/または位置を報告するということに簡単に言及すれば十分であろう。また、エージェントは、同時に2つかそれ以上の利用可能な通信リンクBを介してホスト監視システムCにその識別情報及び位置を報告してもよい。エージェントと、ひいては追跡管理される装置の位置は、例えば、インターネットを介してクライアント装置Aとホスト監視システムCとの間の通信を可能にするために使用される全てのIPルータのリストを得るトレースルートルーチンによって決定してもよい。
【0038】
監視システムCに送信された全ての位置及び資産関連データは中央リポジトリに保持してもよく、許可された管理者は、安全なウェブベースまたはネットワークベースのコンソールを介して週7日24時間いつでもそれにアクセスできる。1つの実施形態では、エージェントが位置及び資産データを転送すると、監視システムCは、次のタスクの集合及び次の計画呼び出し日時をエージェントに送信しプログラムする。監視システムCは、全てのエージェントの送信をアーカイブし、各コンピュータ(C2)に関する最新かつ正確な監査証跡を提供する。包括的なコンピュータ資産追跡管理及びインベントリ作成ソリューションは、企業ネットワークに局所的に接続しているシステム、及びIPまたはダイヤルアップを介して遠隔的に接続する遠隔及びモバイルシステム上でこの情報を取り込む。さらに、情報を定期的に取り込んで、資産の最新の状態を確実に把握できるようにする必要がある。
【0039】
以下さらに説明するように、追跡管理エージェントは、改竄に対する高い耐性を備えた永続的なものであり、エージェントは、許可されていないユーザに対して透過的になるように設定してもよい。エージェントは、ユーザから隠しておくため、干渉するように設計されている場合以外は、動作中のアプリケーションに干渉しない。本発明に係るエージェントの新規な特徴、機能及び動作を以下さらに十分に論じる。
【0040】
[永続的エージェントプラットフォームの概要]
IT管理者は、コンピュータの全ライフサイクルを通じて全てのコンピュータ資産を着実に追跡管理する能力を必要とする。これはLANの外部で動作する遠隔及びモバイルコンピュータを含む。資産追跡管理エージェントは、コンピュータのライフサイクルの初めに一旦インストールし、コンピュータが廃棄されるまで定期的に通信する必要がある。ライフサイクルの間に、コンピュータは多くのユーザ、ハードウェア及びソフトウェアの変更を経験するので、追跡管理エージェントが永続的であり、これらの3つの分野での変化を報告できることが重要である。本発明に係る永続的エージェントは、たとえハードディスクドライブが再フォーマットされたり、オペレーティングシステムが再インストールまたは改竄されたりした場合でも、例えば、IMAC及びブレーク/フィックス動作と無関係に、PCの全ライフサイクルを通じて、PC資産の当初の識別情報とその状態を報告することができる。永続的エージェントは、それ自体を保護するように設計されているので、許可されていない削除試行を乗り切って残存することができる。この永続的な特徴は、盗難にあった場合PC資産との接続を保持し、正確で安全な資産追跡管理を確保するため重要である。
【0041】
永続的エージェントはホストコンピュータ上に存在する検出不可能な下位ソフトウェアクライアントである。エージェントは永続的ソフトウェアであり、削除するのは極めて困難である。エージェントは、たとえエージェントサービスが従来の手段によって削除された場合でも、エージェントソフトウェアのインストレーションを再構築するように機能する自己回復機能を組み込んでいる。エージェントは、オペレーティングシステムのインストール、ハードディスクドライブのフォーマット、及びさらにはハードディスクドライブの交換までも乗り切って残存する。この残存力は、資産追跡管理及び盗難からの回復(及びエージェントが有効化、サポート及び/または提供し得る他のサービス)を成功させるために重要である。自己回復機能はファイルシステム中に存在しないので、これまでのソフトウェアより検出及び削除が困難である。ソフトウェアの永続的かつ自己回復的な部分はそのステルス性のため削除するのが困難である。このソフトウェアは普通、正しいパスワードを有する許可されたIT管理者によってのみ削除される。自己回復機能は、新たにフォーマット及びインストールされたオペレーティングシステム及び新たにイメージングされたシステムにおいてエージェントのインストールを修復するように機能する。
【0042】
本発明の別の態様では、エージェントは最初にプログラムされたもの以上に機能を拡張するようにプログラム可能である。エージェントは遠隔サーバと通信し、その際遠隔サーバは次のタスク集合をエージェントに提供することによって、エージェントに対する送信及びプログラムを行う。
【0043】
エージェントは、何らかの電子装置のハードウェア、ファームウェアまたはソフトウェアにおいて実現してもよい。代替的には、エージェントは、モデム中のDSPまたはコンピュータ中のCPUなどの電子構成要素といった、装置の何らかの構成要素において実現してもよい。さらに、データのパケットの送信及び/または受信を通じて通信リンクを確立することのできる何らかのハードウェア装置の回路においてエージェントの機能を実現してもよい。例えば、電子装置の(ROM BIOS、ROM、フラッシュROM、EPROM、EEPROM等といった)不揮発性メモリ、ソフトウェアプログラム、マイクロコードプログラム、デジタル信号プロセッサ(「DSP」)プログラムまたはオペレーティングシステムのビルトイン機能においてエージェントを具体化してもよい。
【0044】
本発明の1つの実施形態によれば、永続的追跡管理エージェント(以下「永続的エージェント(Persistent Argent)」とも言う)はBIOS(またはそれと機能的に同等のシステム)において具体化される。当業技術分野で周知のように、BIOSはシステムの電源投入時または再起動時に常に実行される起動コードである。これは、処理ユニット中に埋め込まれたマイクロコードでもよく、またメモリ空間中の既定の位置から開始されるソフトウェア(命令)でもよい。こうした命令は、装置上に存在するオペレーティングシステムのブートと無関係かつ通常その前に、電源投入時自己診断(POST)といった起動動作及びディスクドライブ、キーボード、及びモニタといったハードウェアの低レベル制御を取り扱う。1つの実施形態では、永続的エージェントは、パーソナルコンピュータのようなクライアント装置A中の読み出し専用メモリ(ROM)のようなファームウェアにおいて具体化される。チップに埋め込まれる時、BIOSはROM中の符号化された命令の集合を含む。以下BIOSへの言及は全てROMベースのBIOSに制限されないことを理解されたい。
【0045】
現在販売されているマザーボード上のBIOSチップの一般的な銘柄にはフェニックステクノロジーズ(Phoenix Technologies)(登録商標)、インテル(Intel)(登録商標)、IBM(登録商標)及びアメリカンメガトレンド(American Megatrends,Inc.)(登録商標)が含まれる。システム構成要素の中には、固有のBIOSチップを有するものがあるが、その命令も起動時に装置のメモリに読み出される。例えば、ハードディスク制御装置上のBIOSは、ドライブ上にトラック及びセクタのテーブルを格納する。アブソリュートソフトウェア社の以前の特許で開示されたBIOSベースのエージェントと異なって、本発明は、エージェントのためのBIOSベースのローダの使用を含む改善を提示する。BIOSベースのローダはエージェント構成要素をより永続的にするので、資産追跡管理または他のサービス機能を無効にするのはさらに困難になる。また、BIOSベースのローダはマシンのブート順序を逆にする必要を解消し、ひいては製造工程中の1つのステップを除去する。また、BIOSベースのローダは、アンチウイルススキャナ、ディスク全体の暗号化、及びマスターブートレコード(MBR)中のオペレーティングシステムローダを読み出しまたは修正する他のユーティリティといった製品との間で発生し得る互換性の問題を軽減する。
【0046】
本発明の1つの実施形態によれば、図2に示すように、永続的エージェント(Persistent Agent)10は初め、コアBIOSフラッシュイメージ(Core BIOS Flash Image)13に取り付けられた、周辺機器インタフェースバス(PCI)ベースのオプションROMであるPCIオプションROM(PCI Option ROM)12のようなオプションROM(Option ROM)に格納される。永続的エージェントに関連しない他の機能をサポートする追加のオプションROMを取り付けてもよい(図示せず)。永続的エージェント10は複数のモジュールを備える。図3に示すように、3つの主要なモジュールは、「コンピュトレース(Computrace)」ローダモジュール(CLM)14、適応インストーラモジュール(AIM)16、及び通信ドライバエージェント(CDA)18である。
【0047】
永続的エージェント10の3つのモジュールを含む小容量(圧縮した状態で約22Kbでよい)のPCIオプションROM12は、標準コアフラッシュイメージに結合され、BIOS POSTの際BIOS及び他のオプションROMと共に保護されたメモリにロードされる永続的エージェント10の3つのモジュールを含む。小容量のPCIオプションROMはPOSTによって認識され、BIOS POSTの際BIOS及び他のオプションROMと共に読み出し/書き込みシャドウメモリにロードされる。この構成は、開発のための労力と、再認定を必要とするコアBIOS中のインタフェース規定点の数とを最小化しつつ、セキュリティの向上を可能にするモジュールアーキテクチャを提供する。
【0048】
CLMは、PCI(PC装置の場合)、イメージ管理(Image Management)及び実行環境(Execution Environmnet)機能を組み込んでいる。CLMは、BIOSへのインタフェース、AIMの位置の特定及びアンパック、PCIオプションROMの最終サイズへのサイズ変更、及びシステム上の適切なコンテキストでのAIMの実行を担当する。AIMはハードディスクドライブにアクセスし、アクティブなオペレーティングシステムを検出し、ミニCDAを、発見されたインストレーションに適応する。ミニCDAは通信ドライバである。ミニCDAは、HTTPプロトコルのサポート、監視サーバと通信するためのアプリケーション層、OSへのインタフェースのためのサービス層、及びAIMとのインタフェースのための適応層を含む。
【0049】
ミニCDAは、オペレーティングシステムがロードされる時、コンピュータのファイルシステム中で全機能CDAがサービスとして実行可能か否かの確認を担当する。全機能CDAが利用できない場合、ミニCDAは監視サーバから全機能CDAのダウンロードを開始する。全機能CDAが存在する場合、監視サーバ上にそのより新しいバージョンが存在するかを頻繁に確認し、新しいバージョンが利用可能な場合は、それ自体を新しいバージョンに置き換える。
【0050】
様々なモジュールのこれら及び他の実施形態をさらに十分に論じる。
【0051】
[BIOS POSTシーケンス及びオプションROMロード処理]
オプションROMのロード処理20を図4のフロー図に示す。永続的エージェント10を導入したクライアント装置Aのブート時、BIOS POST処理は自己診断及びチップセット設定ルーチンを実行し(21)、マザーボード上または拡張カード上の機能をサポートするオプションROMを探してバスをスキャンする段階に到達する(22)。この段階では、永続的エージェント10を含むPCIオプションROM12を下位メモリ(例えば、RAM)にロードし(22)、その初期化ベクトル(以下論じるように、CLM14)を呼び出す(23)。初期化ルーチンは、サポートされる機能の状態とその最終イメージサイズを決定する。その後、BIOS POST処理はオプションROMのスキャンを完了し、機能が存在する各オプションROMの最終位置を計算する(25及び26)。そして、永続的エージェントを有効化したPCIオプションROM12を含む、各PCIオプションROMの位置を再度特定し、その完了ベクトルを呼び出す(一部のフェニックスBIOSでは、例えば、PCIオプションROMの位置を再度特定せず、初期化ベクトルから戻る前にヘッダ中で宣言された最終サイズに適合するように縮小するだけである)。全てのオプションROMの位置を再度特定した後、BIOSメモリを書き込み保護する(27)。オペレーティングシステムが無事に起動するまで、ブート装置を順番に呼び出す(28)。この段階で、装置のオペレーティングシステムとエージェントの両方が同時に実行される。
【0052】
[PCIオプションROM]
[A.ローダモジュールCLM]
CLM14は、AIM16のための一時実行環境のセットアップ、AIM16のロード及び圧縮解除、及びその適当なコンテキストでの呼び出しを担当する。CLM14の最後の「行為」は、最小サイズ(2K)に縮小し、POSTに実行を戻すことである。AIM16が見つからないかまたは無効な場合、CLMは単に「失敗」となるだけである。
【0053】
CLM14はPOSTへのインタフェース、またはPCIオプションROM12の「フロントエンド」である。PCIオプションROM12のヘッダはCLM14中にあり、そのエントリポイントはこのヘッダの標準に準拠して通知される。CLM14は、BIOS POSTに統合するための次の2つのファンクションポイントを提供する。
1.ROMヘッダ及びPCIオプションROMヘッダのペア
2.割り込みハンドラ(Interrupt Handler)
【0054】
PCIオプションROMの様々な構成要素のこれら及び他の機能を以下、例えば、IBMのT43型ノートブックコンピュータにインストールされたIBM BIOSを参照して説明する。
【0055】
[1.ROMエントリポイント]
BIOSによるPCIオプションROMの列挙の際に、初期インタフェースが提示される。このインタフェースは標準レガシーROMヘッダとPCIオプションROMヘッダとのペアである。例えば、フェニックスBIOSを参照すると、1917hのPCIベンダID(PCI Vendor ID)と1234hの装置IDとを設定してもよい。上記のように、BIOS POST処理がマザーボード上または拡張カード上の機能をサポートするオプションROMを探してバスをスキャンする時、PCIオプションROM12全体をロードしCLM14の初期化ベクトルを呼び出す。オプションROMは圧縮された.COMアプリケーションをロードし実行する。ROMエントリポイントはSTART_SEGラベルによって定義する。START_SEGセグメントはROMヘッダとそのPCIオプションROMヘッダへのリンクを含む。オプションROMはオプションROMのオフセット3へのFAR CALLによって初期化される。ジャンプ命令チェーンはここではOptRomProcに制御を渡す。
【0056】
図5を参照すると、PCIオプションROMのCLM14が引き受けるルーチン30は以下のように要約してもよい。
a.BIOS POSTメモリマネージャ(Memory Manager)を探し出す(31)。
b.制御STUB_BLOCKを割り当てる(例えば、割り込みハンドリング及びアプリケーションの実行のための2K)(32)。
c.圧縮された(COMPRESSED)アプリケーション及びアプリケーションメモリのバックアップのための拡張メモリを割り当てる(例えば、64K)(33)。
d.圧縮解除された(DECOMPRESSED)アプリケーションの実行のためコンベンショナルメモリ中のアプリケーションメモリのブロック(例えば、64K)を割り当てる(34)。
e.(40:75hにおけるカウント、すなわち、ハードディスクの数による決定に従って)ディスクサービスが利用可能な場合(35)、即座にアプリケーションを実行し(36)、メモリの解放に進み(39)、オプションROMをゼロに縮小する(40)。
f.また、ビデオベクトル(Int 10h)がXBDA(40:0Eh)より小さい場合(37)、Int 15hをSTUB_BLOCKにフックし(38)、オプションROMをゼロに縮小する(40)。
g.また、フックするものがなくできることがなければ、失敗である! メモリを解放し(39)、オプションROMをゼロに縮小する(40)。
【0057】
[2.割り込みハンドラ]
第2のインタフェースは割り込みハンドラである。これは、BIOS POSTメモリマネージャから割り当てられたメモリからのPCIオプションROMの初期化手順の初期ロード及び実行の後実行される。このインタフェースはまずInt 15hで実行され、次に代替トリガで実行される。Int 19hは好適な代替トリガでありデフォルトである。割り込みハンドラは、PCIオプションROMの初期化の際BIOSディスクサービス(BIOS Disk Service)(Int 13h)がまだ利用可能でない場合にのみ起動される。場合によっては、最後のInt 15h/func 9100hの後BIOSによってInt 13hが発行されないことがあるので、Int 19hは好適なトリガ方法である。もう1つの問題は、Int 19hの直前まで物理ドライブ80hがInt 19hでの物理ドライブ80hと一致しないことがあるということである。ComFileStubは主要な割り込みフックエントリポイントを含む。
【0058】
図6a及び図6bを参照すると、割り込みハンドラが引き受ける処理41は以下のように要約してもよい。
a.各Int 15hトリガの際、9100hが機能する(ハードディスクIRQ完了、これはInt 13hが使用中であることを示す)(42)。
b.ハードディスクサービスが利用可能であるかを確認する(40:75hにおけるカウント)(43)。
c.また、ビデオベクトルがXBDA以上かを確認する(40:0Eh、これはPOSTのセットアップ(SETUP)段階が完了していることを示す)。
d.チェーンがまだであればチェーンする(44)。
e.Int 15hのフックをリストアし、トリガInt xxhをフックして(_TRIGGER_INTNUM設定=Int 13hまたはInt 19h)次のInt xxhを待つ(45)。
f.次のトリガInt xxhに際して(Int 13hまたはInt 19h)、(Int 13hまたはInt 19h)でトリガInt xxhをリストアする(46)。
g.スタックを切り替える(48)。
h.圧縮解除された(DECOMPRESSED)アプリケーションメモリを拡張メモリBACKUP_BLOCKにバックアップコピーする(49)。
i.圧縮された(COMPRESSED)アプリケーションを圧縮解除された(DECOMPRESSED)アプリケーションメモリブロックにコピーする(50)。
j.アプリケーションを呼び出し、拡張メモリBACKUP_BLOCKから圧縮解除された(DECOMPRESSED)アプリケーションメモリのコンテンツをリストアする(51)。
k.スタックを切り替えて元に戻す(52)
l.チェーンにより中断されたトリガInt xxh呼び出しを完了する(53)。
【0059】
[B.エージェントインストーラモジュール(AIM)]
AIM16は、CLM14によってセットアップされる実行のコンテキストでロードされるように設計されている。図7を参照すると、AIM16が引き受けるルーチン54は以下のステップを含む。実行されると、AIM16はパーティションテーブルをスキャンしてアクティブパーティションを探す(55)。アクティブパーティション上で、AIM16はオペレーティングシステム(OS)のシステムディレクトリまたはそれをポイントする設定ファイルを探し(56)、通信ドライバエージェントCDAのインストーラモードインスタンスを作成しインストールする(57)。インストール機構はOS毎に特定かつ固有のものであり、AIM16は標準OSインストール機構を使用する。
【0060】
[C.通信ドライバエージェント(CDA)]
CDA18は、ミニCDA及び全機能CDAという2つの形態で存在する。1つの実施形態では、ミニCDAはPCIオプションROM12中に存在する。ミニCDAの機能は、全機能及び/または最新バージョンのCDAが装置上にインストールされ機能しているか否かを決定し、そうでない場合、インターネット経由でホスト監視サーバC(図1)から全機能CDAをロードすることである。そして、全機能CDAは、装置とホスト監視サーバCとの間の全ての通信を担当する。
【0061】
図8を参照すると、ミニCDAはまず(AIM16経由で)インストーラモード58を実行するが、そこではミニCDAの主要な機能はOSサービスとして登録することである。エージェントのインストーラモードインスタンスはそれ自体の別のインスタンスを作成し(59)、例えば2000/XPでは、サービスマネージャによってそのコピーを登録する(60)。実行コードはそれ自体のインストーラコピーをクリーンアップして終了する。この段階から全機能CDAがCDAの通常の動作を引き継ぐので、ミニCDAがインストーラモード(Installer mode)で動作するのは一度だけである。
【0062】
図9を参照すると、OSが次に起動する際、ミニCDAのサービスモードインスタンスは、例えば、2000/XPの元でのサービス(Service)として実行される。サービスはサービスマネージャ環境をセットアップし(62)、(63で待機した後)適当な時に、アプリケーションとしてそれ自体のインスタンスを開始する(64)。アプリケーションモードはミニCDAの動作の通常のモードである。エージェントはここで「アクティブ」モードになる。
【0063】
最新の全機能CDAが装置中に発見されない場合、図10に示すように、ミニCDAアプリケーションは、例えば、デフォルトでHTTPプロトコルを使用して、ホスト監視サーバCとの通信を開始する。他のプロトコルは追加のモジュールによってサポートされ、ホスト監視サーバCからエージェントへアップロードされる。ホスト監視サーバCは、エージェントの識別、監視履歴の格納、設定及びソフトウェア更新といった機能を実行する。ホスト監視サーバCはミニCDAとのセッションを行い、そのプラットフォームでの必要に応じて、フルバージョンのCDAを起動及びインストールし、(例えば、装置のライフサイクル終了時、またはより新しいバージョンへのアップグレードが可能になるように自己回復機能を無効にするため)ミニCDAを無効にし、エージェントを更新し、またエージェントを設定する。本発明の1つの実施形態に係る通信リンクBを介したクライアント装置AとサーバCとの間の通信を図10に示す。例えば、ミニCDAがBIOSまたは装置のプラットフォームの識別情報または形式をサーバCに提供する場合、特定のBIOSまたはプラットフォーム用の全機能CDAまたはその更新版を装置Aにダウンロードすればよい。
【0064】
図1を参照して前に述べたように、ステルスエージェントを使用して資産の追跡管理及び/または盗難または紛失にあった装置Aの回復を行うことの一般的な概念は、本発明の譲受人であるアブソリュートソフトウェア社に譲受された特許で開示されている。全機能CDAの装置追跡管理及び通信機能のアプリケーションレベルの機能性は、前に記載され本発明の譲受人によって特許取得されたステルスエージェント(これらの特許を引用によって本出願の記載に援用する)及び/または本発明の譲受人が開発したアブソリュートトラック資産追跡管理製品の機能と同様のものでよい。
【0065】
一般に、単独で、または他の通信リンクB(例えば、PSTN)に基づくアプリケーションと同時に実行可能なインターネットアプリケーションの1つの実施形態では、エージェントは、所定、ランダム、イベントベースまたは遅延型の時間間隔でホストへの呼び出しを開始する。1つの実施形態によれば、「アクティブ」モードでは、エージェントは所定の時間が経過する毎にホストを呼び出す。エージェントは現時刻と固有のエージェント識別情報とを使用してインターネットホスト名を符号化する。そして、1つの実施形態では、エージェントは符号化したインターネットホスト名を使用してDNS要求を形成する。エージェントはインターネットを通じてこのDNS要求をホストに送信する。所定の期間が経過した後DNS要求をインターネットに送信するエージェントの試行が時間切れになった場合、エージェントは、例えば1分間といった、所定の期間スリープしてから呼び出しを繰り返す。(インターネットとの通信を可能にするウィンソック(Winsock)機能がない、及び/またはTCP/IP通信のためのコンピュータの設定失敗、といった)別のエラーのために呼び出しが失敗した場合、エージェントは数時間後にサイクルを繰り返す。このようにして、エージェントは固有の性質としてインターネット接続の存在を確認する。
【0066】
DNS要求の送信後、エージェントは応答を待つ。ホストから有効な応答を受信すると、その応答からIPアドレスを抽出し、基準IPアドレスと比較する。例えば、基準IPアドレスは「204.174.10.1」に設定してもよい。抽出したIPアドレスが「204.174.10.1」に等しければ、エージェントのモードはインターネット側で「アクティブ」から「アラート」に変わる。例えば、ホスト、またはホストの操作員、が、エージェントの識別情報がホストに格納された報告済みの紛失または盗難にあったコンピュータのリストにあるエントリの1つと一致すると判断した場合、ホストはこのIPアドレスを送信する。ホストの応答から抽出されたIPアドレスが「204.174.10.1」に等しくない場合、エージェントはアクティブモードのままとなりその後4時間はホストを呼び出さない。しかし、エージェントがインターネットアプリケーションにおいて「アラート」モードに入ると、エージェントは、クライアントコンピュータをホストに接続するために使用されたインターネット通信リンクをホストに提供するトレースルートルーチンを開始する。こうしたインターネット通信リンクは、クライアントコンピュータを追跡管理する際ホストシステムを支援する。DNSクエリのソースのIPアドレスをDNSクエリ中のホストに送信する。しかし、クエリのソースが「プロキシ」サーバを通じて送信されている場合、クライアントコンピュータのIPアドレス(インターニック(InterNIC)によって割り当てられたものではないことがあるため一意でないことがある)ではクライアントコンピュータの位置を追跡管理するのに不十分であることが多い。こうしたシナリオでは、クライアントとホストとの間の通信を可能にするためアクセスされた他のIPルータのアドレスを決定する必要がある。こうしたアドレス及びそれがアクセスされた時間を、当該クライアントのアクセス履歴を記録したプロキシサーバの内部ログと比較する。このようにして、クライアントを一意に識別し追跡管理することができる。さらに、インターネットアプリケーションの「アラート」モードへの移行は、他の利用可能な通信アプリケーションの「アラート」モードへの移行をトリガする条件である。
【0067】
[CDA−サーバ通信]
[A.拡張可能プロトコル]
永続的エージェントをBIOSに無事に導入することは、例えば、通信プロトコルに盛り込まれた拡張可能性を多用することになる。この拡張可能性がなければ、エージェントはより大規模なものになり機能性を追加または変更するため頻繁な更新を必要とするものになるだろう。BIOSはプラットフォームのフラッシュEEPROM中にプログラムされており、BIOSを更新するには専用ツール(ユーザのインタラクションを必要とする場合が非常に多い)を使用しなければならないので、こうした更新は現実的でも経済的でもない。また、BIOSの完全性はコンピュータの動作にとって重要なので、OEMはBIOSの徹底的な検査を行っている。
拡張可能プロトコルの主要な要素は以下の通りである。
1)エージェントのメモリスペースを読み出し及び書き込みする方法。
2)メモリを割り当てる方法。
3)メモリを解放する方法。
4)外部モジュールをロードする方法。
5)プロシージャアドレスを決定する方法。
6)プロシージャを呼び出す方法。
エージェントのプロトコルはこうした機構を提供するように設計されている。
読み出しパケットのフォーマットは、|ADDRESS|NUMBER_OF_BYTESである。
書き込みパケットのフォーマットは、|ADDRESS|NUMBER_OF_BYTES|DATA...である。
通信プロトコルは、パケット中にDATAが含まれていないことを決定することによって読み出しパケットを区別する。DATAが存在する場合は、書き込みパケットである。このアドレスベースのプロトコルは拡張可能な設計の基礎である。
【0068】
本発明の1つの実施形態に係る、通信リンクBを介したクライアント装置AとサーバCとの間の、拡張可能プロトコルに基づく通信セッションのシーケンスの概要を図14に示す。通信セッションが処理する個々のトランザクションの例を以下開示する。
【0069】
通常のセッションは次のような接続シーケンスによって開始される。
1)クライアントが接続する。
2)サーバが、アドレス0xffffffff|0xffffffff|4からの専用の読み出しによって応答する。
3)クライアントがそのセッションハンドルのアドレスによって応答する。
【0070】
ハンドル構造は、クライアントのバージョン、サポートするOSのバージョン及びコマンドパケット(Command Packet)のような重要な情報を含んでいる。クライアントは「書き込み(writes)」をコマンドパケットに「特殊なもの(special)」として解釈し、CommandPacketProcessor()ファンクションを呼び出す。CommandPacketProcessor()ファンクションは、ファンクションコード、パラメータアドレス、パラメータ数、及び結果アドレスといった引数を取る。実現しなければならないファンクションコードの最小集合は以下の通りである。
・CMD_FUNC_CCALL(「C」ファンクションを呼び出す)
・CMD_FUNC_STDCALL(STDCALLファンクションを呼び出す)
・CMD_GETMH(モジュールハンドルを入手する(Get Module Handle))
・CMD_GETPA(プロシージャアドレスを入手する(Get Procedure Address))
・CMD_ALLOC(メモリを割り当てる(Allocate Memory))
・CMD_FREE(メモリを解放する(Free Memory))
【0071】
実現可能な他のファンクションコードは、コマンドパケット同士をチェーンして効率を向上するためのものである。
・CMD_ENDC(チェーンを終了する(End Chain))
・CMD_IF(条件分岐(Conditional Branch))
・CMD_GOTO(無条件分岐(Unconditional Branch))
【0072】
このコマンドの小さなライブラリをパケット中で合わせてストリングにして何らかの管理タスクを達成してもよい。重要な管理タスクは以下の通りである。
1)ファイルの作成
2)ファンクションのライブラリ、または実行コードとしてのロード
3)オペレーティングシステムまたは作成されたファイルからのプロシージャの呼び出し。
4)エージェントのコンテキストでのメモリの割り当て及び解放。
【0073】
[B.トランザクション]
以下の節ではエージェントと遠隔(例えば、監視)サーバ(CTSRVとしても知られる)との間の通信を説明する。説明される各項目は1つのトランザクション(クライアントとサーバとの間のメッセージのペア)を表していることに注意されたい。トランザクションによってはエージェントの呼び出しの都度発生するものもあれば、実現されるサービスに依存するものもあり、保守または回復要員によって設定されたフラグの結果1回の呼び出しでだけなされるものもある。以下はサーバとエージェントとの間の通常の通信セッションの表である。
【0074】
[基本的通信(エージェントの呼び出しの都度発生)]
【0075】
【表1】
【0076】
[クライアント上のAT1 DLLによる基本的資産追跡管理を伴う呼び出し(クライアントが監視サービスプロバイダの追跡管理サービスに加入している場合呼び出しの都度発生する)]
(資産追跡管理/監視サービスの加入者用の)AT1データを検索して取り出す。これはAT2 DLLによって収集されたデータの部分集合であることに注意されたい。クライアント上で実行されるのはAT1またはAT2何れかのDLLであって、両方が実行されることはない。
【0077】
【表2】
【0078】
[クライアント上のAT2 DLLによる高度資産追跡管理を伴う呼び出し(クライアントがアブソリュートトラックまたはコンピュトレースコンプリート(ComputraceComplete)製品を購入している場合、呼び出しの都度発生する)]
(例えば、アブソリュートトラック及びコンピュトレースコンプリートの顧客用の)AT−IIデータを検索して取り出す。これはAT1 DLLによって収集されたデータの拡張集合であることに注意されたい。クライアント上で実行されるのはAT1またはAT2何れかのDLLであって、両方が実行されることはない。
【0079】
【表3】
【表4】
【0080】
[基本的呼び出し及びエージェントのバージョンの遠隔アップグレード(技術サポート動作に基づくオン・オフ]
クライアントエージェントのバージョンを確認し、サーバ上のバージョンと比較する。クライアント側のバージョンが古い場合、遠隔アップグレードを行う。
【0081】
【表5】
【0082】
[基本的呼び出し及び製造、形式及びシリアル番号の検索(技術サポート動作に基づくオン・オフ]
このファンクションはクライアントの製造、形式及びシリアル番号を検索して取り出しブート順序を変更する。
【0083】
【表6】
【0084】
[C.アプリケーションモジュールの起動処理]
この起動処理は、アプリケーションエージェントの識別情報を顧客アカウントにリンクし、永続的エージェントモジュールをインストールする。この処理は以下のように説明される。
・アプリケーションエージェントが接続する。
・サーバはプロトコル中の拡張可能機能を使用してインベントリDLLを送信し、コンピュータを識別する−このDLLはBIOS、シャーシ及びハードディスクドライブのシリアル番号といった属性を収集する。
・インベントリ記録をサーバ上に格納し、アプリケーションエージェントから読み出した顧客アカウントにリンクする。
・固有の識別番号(電子シリアル番号)をこのインベントリ記録に関連する装置に割り当てる。
【0085】
通常のインベントリ記録を以下に示す。
<?xml version="1.0" encoding="UTF-8" ?>
-<CT:data version="1.00" xmlns:CT="http://www.absolute.com/atinfo/persistence">
-<CT:section name="MachineInfo">
<CT:setting name="ComputerMakeWMI" value="VIA TECHNOLOGIES, INC.~~"/>
<CT:setting name="ComputerModelWMI" value="MS-6321~MS-6321~"/>
<CT:setting name="ComputerSerialWMI" value="~~"/>
<CT:setting name="ComputerMake" value="VIA TECHNOLOGIES,INC.~~"/>
<CT:setting name="ComputerModel" value="MS-6321~MS-6321~MS-6321~"/>
<CT:setting name="ComputerSerial" value="~~"/>
<CT:setting name="ComputerAsset0" value=""/>
<CT:setting name="ComputerAsset1" value=""/>
<CT:setting name="SystemSMBIOSVersion" value=""/>
<CT:setting name="SystemBiosVersion" value="VIA694 - 42302e31 Award Modular BIOS v6.00PG"/>
<CT:setting name="SystemBiosDate" value="08/22/01"/>
<CT:setting name="BaseBoardVersion" value=""/>
<CT:setting name="HDDSerialNumber0" value="Y3NYPZDE"/>
<CT:setting name="HDDSerialNumber1" value="YMDYMLJ0046"/>
<CT:setting name="HDDSerialNumber2" value=""/>
<CT:setting name="HDDSeriaINumber3" value=""/>
<CT:setting name="ComputerName" value="PBGR7"/>
<CT:setting name="MACAddress0" value="0050ba432204"/>
<CT:setting name="MACAddress1" value="0050ba4434da"/>
<CT:setting name="OSProductKey" value="VF4BY-WXV47-RR9JQ-H297B-6QQVW"/>
<CT:setting name="IBMComputraceStatus" value="FFFFFFFF"/>
</CT:section>
</CT:data>
【0086】
[D.永続的モジュールの再アクティブ化処理]
永続的エージェントモジュールが開始されると、以下のステップが発生してアプリケーション(Application)エージェントを再インストールし、設定をリストアする。
・永続的モジュールエージェントが監視サーバ(CTSRV)を呼び出す。
・監視サーバ(Monitoring Server)はプロトコル中の拡張可能機能を使用してインベントリDLLを送信しコンピュータを識別する−このDLLはBIOS、シャーシ及びハードディスクドライブのシリアル番号といった属性を収集し、以前格納されたものと比較する。
・最初のアクティブ化の際に格納されたインベントリ記録を探し、この装置のインベントリに関連する以前のESNを再割り当てする。アプリケーションエージェントをダウンロード及びインストールすると、アプリケーションエージェントは正常に呼び出しを行う。
【0087】
上記の処理はBIOS及びソフトウェア両方の永続性のため、すなわち、永続性モジュールがどこに配置されるかとは無関係に、適用される(以下のさらなる議論を参照されたい)。
【0088】
[データ削除(Data Delete)]
データ削除は、エージェントによって有効化、サポート及び/または提供されるサービスのもう1つの例である。上記で論じたように、CDAの残存力が拡張されることによって、資産の物理的位置の追跡管理が改善される。資産の位置が確定された場合でも、準拠地域法、警察の執行及び所有権証明の負担のため、追跡管理される装置の物理的回復は必ずしも実行可能ではないことが認識されている。こうした場合、CDAの拡張可能プロトコルに基づいたプログラム可能な能力によって、装置上の機密または重要なデータを保護する代替手段が提供される。例えば、クライアント装置Aのハードディスクドライブ上に格納されたユーザ定義データファイル、ユーザプロファイルまたは他のユーザ定義情報を、監視サーバの制御の元で削除できる。監視サーバが指定する機能及びオプションに応じて、選択したデータ項目についてデータ削除を行うこともできるし、また、オペレーティングシステムを含む装置の記憶媒体全体を削除することもできる。
【0089】
データ削除機能及びオプションの個々の例は以下のものを含む。
1.選択的データ削除−ユーザの選択に基づいて全てまたは特定のファイルまたはディレクトリを削除する(装置の他の部分はそのまま残す)能力。
2.再ブート時のデータ削除再起動−データ削除の進行中に装置が再ブートされた場合、データ削除クライアントも再起動する。
3.オペレーティングシステム全削除の場合の2段階データ削除処理−監視サーバが「全O/Sデータ削除」を指定した時、エージェント(例えば、CDA)が確実にログファイルをアップロードできるように、エージェントは2段階削除処理を行う。第1段階削除の後監視サーバはエージェントからログファイルを取得し、その後第2段階でオペレーティングシステムを削除する。全O/Dデータ削除オプションは以下のステップを含む。
a)O/S以外の全てのファイルを削除する。
b)エージェント呼び出しを強行しログファイルをアップロードする。
c)O/Sファイルを削除する。
4.データ削除オーバライド−コンピュータが引き続き回復される場合、データ削除が再実行されるのを防止するため、監視サーバがデータ削除実行コードをオフにする。
5.データ削除開始前検査−監視サーバが、対象のクライアント装置のための追加の開始前データ削除検査を提供し、以下のことが確認できるようにする:(a)対象のクライアント装置について盗難報告が存在する、(b)クライアント装置が明確に識別され、複製が存在しない、(c)クライアント装置所有者による許可(例えば、所有者代理人と、ホスト監視ステーションのような監視サーバを維持する主体との間の事前許可合意)が存在する。
6.通知−データ削除を開始する際、(例えば、電子メール、SMS(ショートメッセージサービス)によって)関与当事者(例えば、許可を出す所有者代理人、及び/または要求者)に通知を送信する。
【0090】
図15は、本発明の1つの実施形態に係る、CDAのクライアント側デート削除ルーチン70を示す概略フロー図である。図16は、本発明の1つの実施形態に係る、サーバ側データ削除ルーチン80を示す概略フロー図である。図17は、本発明の1つの実施形態に係る、データ削除実行ルーチン90を示す概略フロー図である。各図を参照すると、サーバ側での通常のデータ削除動作では、全機能CDAが監視サーバにコンタクトする時(72及び81)、装置の識別情報が検証される。装置がデータ削除動作の対象としてマークされていることが検証された場合(82)、上記の拡張可能通信プロトコルを使用してCDAのデータ削除実行コードまたはサブファンクションをトリガする(74)。全データ構造を削除するワイルドカード変数を使って削除するデータを定義する(91)パラメータを伴うデータ削除実行コードまたはサブファンクションを呼び出す(84及び85)。サーバは、所定の期間(例えば、15分)以内にサーバにコンタクトするようにエージェントに命令する(86)。CDAサブファンクションは、米国国防総省が推奨するアルゴリズムを使用してデータを回復不能となるように削除してもよい(例えば、米国国防総省標準方式5220.22−M消去/サニタイズマトリックス)。また、CDAサブファンクションは、利用可能な組み込み型オペレーティングシステムサポートを使用してデータを削除する。こうしたデータ削除アルゴリズム及び機構は当業者に公知であり、実際の削除機構は本出願で説明されるシステムの能力を変化させるものではない。
【0091】
データ削除アプリケーションは、例えば、ハードディスクドライブ上のアプリケーション及びデータを削除し(93)、その後監視サーバを呼び出して(95)報告(例えば、ログファイル)をサーバにアップロードし(76及び88)、データ削除アプリケーションの成功を詳述する(例えば、各動作のログを作成/ログファイルに添付する、及び/または削除したファイルの全パスのログを取る、94)。データ削除アプリケーションがオペレーティングシステムの削除を除外するように命令された場合、データ削除アプリケーションは、オペレーティングシステム及びエージェントの機能のために必要なもの以外の全てのデータ及びアプリケーションファイルを削除する。削除処理の終了時(83)、監視サーバへの状態報告(例えば、ログファイル)(76及び88)の返送(94)を試みる。クライアント装置は削除処理の後も動作可能である。サーバ及びエージェントのデータ削除ルーチンは他の動作を続ける(78及び87)。例えば、データ削除アプリケーションは、サーバによってオペレーティングシステムを削除するように命令されている場合、オペレーティングシステムのファイルの削除を続けて行う。
【0092】
オペレーティングシステムのデータ削除のためのルーチンは以下の通りである。第1段階で、データ削除アプリケーションは、オペレーティングシステム及びエージェントを機能させるために必要なもの以外の全てのデータ及びアプリケーションファイルを削除する。削除処理の第1段階終了時、エージェントは状態報告を監視サーバに返す。そして、データ削除アプリケーションは装置上の残りのファイルの削除を続ける。これによって装置は動作不能になることがある。一旦全データ削除処理が完了すると、エージェントは監視サーバを呼び出すことができないことがある。ユーザがオペレーティングシステムを再インストールすれば、エージェントは再び元の機能を取り戻す。
何れの構成でも、データ削除サービスは以下の機能を有する。
・0及び1のパターンを3回ファイルに書き込む
・ランダムデータをファイルに書き込む
・ファイル属性を「ディレクトリ」に変更する
・ファイルの日付/タイムスタンプを固定値に変更する
・ファイルサイズを「0」に設定する
・ファイル名をランダムに生成したファイル名に変更する
・新しいファイル名をディレクトリから除去する
【0093】
できる限り隠密に目的を実行するため、データ削除アプリケーションは偽装している。削除処理中に実行されるサービスは、バックグラウンドで動作する削除処理を隠すため、「WCTSYS.EXE」というファイル名が付けられている。削除が完了する前にユーザが処理を中止した場合、一旦エージェントが監視サーバへの次の呼び出しを行えば、アプリケーションはオフにされている削除処理を再開することができる。例えば、エージェントはデータ削除が永久的であるかを決定する(92)。永久的である場合、残りのデータ削除機能に進む(すなわち、93等)。永久的でなく、かつデータ削除が以前に完了していなければ(97)、処理はデータ削除機能に進む。データ削除が完了していれば(97)、データ削除処理は終了する。データ削除が可能な全てのクライアント装置に対して、エージェントの呼び出し返信期間をモデム及びIP呼び出しの両方について所定の値に設定してもよい(例えば、86)。
【0094】
データ削除処理を完了するために必要な時間は、プロセッサの速度、ハードディスクドライブのサイズ、削除すべきデータの量、及びそれまでにクライアント装置上で行われたアクティビティの量といった、いくつかの変数に依存する。データ削除処理を完了するために必要な予想時間は数分間から30分間以上であることが明らかになっている。
【0095】
削除が成功した際に返送される報告は以下の情報を含む。
・データ削除アプリケーションがダウンロードされ実行されたことの確認
・削除されたファイルのリスト
・ハードディスクスペースの変化(この情報は、資産追跡管理サービスが利用可能でデータがPCから収集可能な場合にのみ利用可能である)
【0096】
この情報はデータ削除処理が成功した際にユーザに提供してもよい。
【0097】
データ削除の機能は、サーバからダウンロードしたポリシーファイルによって制御してもよい(84または85)。ポリシーファイルは、削除すべきファイル、フォルダ、またはファイルの種類をデータ削除アプリケーションに指示する。ポリシーファイルは他のデータ選択基準を指示してもよい。
【0098】
実現されたポリシーファイルフォーマットのサンプル
【0099】
|items||item name=|*.extensionToBeDeleted| type=|U| instruction=|P$C:\*.extensionToBeDeleted| seq=|0|/|
|item name|=|C:\FolderNameToBeDeleted\| type=|U| instruction=|P$C:\FolderNameToBeDeleted\| seq=|1|/|
|item name|=|C:\LJ\FilenameWithExtensionToBeDeleted| type=|U| instruction=P$C:\LJ\FilenameWithExtensionToBeDeleted| seq=|2|/|
|/items|
【0100】
[拡張可能プロトコルのさらなる用途]
上記で述べ、かつ以下さらに述べるように、全機能CDA及びミニCDAは、(例えば、非BIOSまたはソフトウェアによる永続的実施形態において)拡張可能プロトコルを使用して、監視サーバ上で利用可能な最新バージョンに対応するように保たれている。また、この能力を使用して、他の資産追跡管理拡張機能を最新のバージョンに更新している。拡張可能プロトコルに含まれる汎用サブファンクションは汎用かつ柔軟なものなので、それを活用して、上記で説明した資産追跡管理及びデータ削除に加えて、多数の機能を有することができる。拡張可能プロトコルの別の用途の例は、監視サーバからのアプリケーションのダウンロード及び開始である。実行コードをメモリにダウンロードしてから開始してもよい。代替的には、インストーラを監視サーバからダウンロードして、アプリケーションのインストールまたは既存のアプリケーションのアップグレードを開始してもよい。
【0101】
エージェントの拡張可能プロトコルを活用して機能を提供する用途の例は以下のものを含む。
・永続的ファイアウォール。エージェントはネットワーク通信ファイアウォールをダウンロードし実施することができる。また、エージェントは、ファイアウォールの設定の変更またはファイアウォールの除去または無効化を監視及び補正することができる。エージェントは永続的(削除または除去できない)なので、はるかに永続的な方法でファイアウォールのようなセキュリティ機能を提供及び実施することができる。
・データ暗号化。永続的エージェントは、サーバからの命令に応じて、マシン上のデータを暗号化することができる。これによって、はるかに永続的な方法で、盗難または紛失の際のデータ保護が可能になる。また、エージェントは、盗難後暗号化鍵またはパスワードを変更し、ユーザのデータを保護することもできる。暗号化パスワードまたは鍵を変更することによって、ユーザがパスワードを知っている内部盗難の場合でもマシンを保護することができる。
・位置追跡管理。エージェントの主要な機能の1つは、ホスト監視システムにコンタクトして装置の識別情報及び物理的位置を報告することである。物理的位置は、マシンのIPアドレスまたは他の関連ネットワークパラメータによって暗黙に定義することができる。エージェントは、装置の物理的位置を識別するため、ビルトインGPS受信機またはセルラネットワーク受信機及び送信機からのデータを使用してもよい。こうした構成では、エージェントはGPSまたは支援型GPSの位置情報(最新の、または一連のログ情報)のログを取ることができる。CDAは周期的にGPS位置を読み取ってログファイルを作成することができ、ログファイルは呼び出しの際サーバにアップロードすることができる。
【0102】
[モジュールの代替実施形態]
本発明は、(a)様々な装置(例えば、PC)製造業者による様々なBIOS実装、(b)BIOSとの様々なインタフェースの要求、(c)様々な装置製造業者または様々な装置形式で利用可能な多様なフラッシュメモリスペース、及び(d)BIOS PCIオプションROM列挙フックなしで動作する能力、を含むがそれらに制限されない要素に基づいて固有の環境に適応する永続的エージェントの多様な実施形態において実現できる。こうした要素に適応するために、CLMはPCIオプションROMのフォーマットで、AIM及びCDAは別個に格納してもよく、またCLMに結合してもよい。CLMは、POSTサイクル終了時に小さなスタブに縮小する。装置が、PCIオプションROMを列挙しないBIOSを有する場合、CLMはパーティションギャップ中に存在して代替マスターブートレコード(MBR)を使用してもよい。永続的エージェントモジュール構成の様々な実施形態を以下さらに十分に説明する。
【0103】
[A.フラッシュ常駐型]
本発明のフラッシュ常駐型実施形態では、CLM、AIM及びミニCDAは全てBIOSフラッシュイメージにロードする。このアプローチは、PCIオプションROMをBIOSフラッシュイメージからロードするBIOSで使用される既存の処理を活用している。追加のモジュール(AIM及びミニCDA)はフラッシュ中に別個に格納してもよく、また、図3の場合のように、PCIオプションROM中のCLMに結合してもよい。
【0104】
AIM及びミニCDAがCLMに結合されている場合、18〜20KBのPCIオプションROMがPOSTによって上位シャドウメモリにロードされ、AIMはCLMによってアンパックされる。そして、AIMは、ミニCDAをシステムのために適応及び設定し、制御をCLMに戻す。CLMはPCIオプションROMイメージを最小サイズに縮小し、2KBのROMブロックとして上位メモリ領域に留まる。AIM(〜6KB)及びCDA(〜10KB)を単純にフラッシュイメージ中に格納してCLMに結合しない場合、CLMはAIM及びミニCDAの位置を特定してアンパックする追加イメージアクセス機能を組み込んでいる。CLM、AIM、及びミニCDAの動作は上記の結合する方法と同様である。CLMのサイズはわずかに大きくなり、フラッシュイメージの対象となるプラットフォームに合わせて調整される。このアプローチは、ベンダIDが事前に確定しており、フラッシュ常駐型PCIオプションROMの認識が可能であることを想定している。フラッシュイメージ管理を図11に示す。
【0105】
[B.ハードディスクドライブのパーティションギャップ]
BIOS固有のスペース制限のため、永続的エージェント全体の全てのモジュールのためにはBIOSフラッシュメモリ中のスペースが不十分なことがある。この場合、装置ベンダのサポートに応じて、AIM、またはAIM及びミニCDAは、ハードディスクドライブのパーティションギャップのような大容量記憶装置中のユーザがアクセスできない領域に存在してもよい。これは、「ソフトウェア永続型」の形態の一例である。この実施形態では、CLMはやはりフラッシュ中に存在し、これまでの実施形態の場合と同様に、PCIオプションROM列挙処理の際呼び出されるが、CLMはAIMをロードし、AIMは別の位置からCDAを実行する。
【0106】
図13は、永続的エージェントの追加モジュールがパーティションギャップ内に存在する状況で関連するパーティションギャップイメージ管理を示す。このギャップはMBRと第1のパーティションとの間に存在する。このギャップは、例えば、大部分の最近のハードディスクドライブでは62セクタであるが、セクタの一部は他のソフトウェアとの互換性を維持するインストレーションユーティリティによって確保されているので、使用可能なサイズは約27Kbである。このサイズは、サーバと通信し他のモジュールをOSにブートストラップするために必要なエージェントの基本モジュール(AIM、CDA)を組み込むのに十分である。
【0107】
[C.ホスト保護領域(HPA)]
図12を参照すると、代替的には、全てのモジュールのためにはBIOSフラッシュメモリ中のスペースが十分でないことがある状況で、前の実施形態の場合のようにハードディスクドライブパーティション中に永続的エージェントの追加モジュール(すなわち、AIM、及び/またはミニCDA)を格納する代わりに、永続的エージェントの追加モジュールは、HPA内、またはその機能的同等物といった大容量記憶装置上の別のユーザがアクセスできない領域中に存在する。これはソフトウェア永続型の別の例である。HPAをロック及びアンロックするため追加サポートが必要である。このHPAアクセス機構はPC OEM毎に固有である。HPA内のイメージは実行時の管理が必要なことがある。ドライバ及びアプリケーションは、BIOSインタフェースによって認証を行いHPAスペースの当該部分を管理するために必要な実行時アクセスを取得する既存の方法をサポートする。この実施形態では、CLMはやはりフラッシュ中に存在し、これまでの実施形態の場合と同様に、PCIオプションROM列挙処理の際呼び出されるが、CLMはAIMをロードし、AIMは別の位置からCDAを実行する。
【0108】
[D.非フラッシュCLM]
大部分の安全な実施形態はCLMをBIOSフラッシュメモリ中に存在させているが、これをサポートしない環境もあり得る。OEMがPCIオプションROMのスキャン中にBIOSがフラッシュ中のCLMヘッダを列挙しないように構成した場合そうなることがある。こうしたシステムでは、CLMの代替の位置は、既存の製品と比較して優れたソリューションを提供する。代替MBRを使用することはこのことに対するソリューションを提供する。この実施形態では、CLMは代替マスターブートレコードからロードする。そして、CLMは、これまでの実施形態で説明したように、AIM及びミニCDRをロードしてパーティションギャップ中に配置し、これらに制御を渡す。エージェントサブローダのための代替MBRのアプローチは本譲受人によって特許取得されており、その特許を引用によって本出願の記載に援用する。本出願のCLMは同様のサブローダのアプローチを利用してもよいが、本発明では、CLMはAIM及びCDAに関連して以前の特許には見られない追加の異なる機能を有している。
【0109】
[E.フラッシュ常駐型オペレーティングシステムイメージへの統合]
この実施形態では、ミニCDAを、全体がフラッシュメモリ中に格納されたオペレーティングシステムイメージに統合する。永続性は永続的なオペレーティングシステムイメージ中に組み込まれることによって達成され、オペレーティングシステムに対する偶発または故意による修正を防止するために使用されるものと同じセキュリティ機構によって保護される。この場合、ミニCDAはオペレーティングシステムのユーティリティによって直接ロードされ実行される。続いて全機能CDAがダウンロードされ揮発性メモリにインストールされる。別のほぼ同様の実施形態では、オペレーティングシステムのユーティリティによってCLMがロードされ、その後CLMはミニCDAをロードし実行する。この後者の場合、CLMとミニCDAはどちらも永続的なオペレーティングシステムイメージ中に組み込まれている。
【0110】
[F.サーバ主導の接続]
この実施形態では、サーバは、CDAがサーバとの通信を開始するのを待つ代わりに、CDAとの通信を開始する。サーバ主導の接続は、時間制約がありクライアントによる次の計画呼び出しまで待つことのできないサーバ命令の実行を可能にする。この場合、サーバは、CDAがサーバを呼び出すのに使用する主要な通信ネットワークまたはプロトコルと同じものを使用してもよくまた異なるものを使用してもよい。時間に左右される場合の一例は、装置の盗難が報告された結果ネットワークオペレータによって通信が遮断される前に不適切な場所に置かれたかまたは盗難にあったモバイル装置上でデータ削除操作を実行することである。時間に左右される任意のサービスをこの方法で呼び出してよい。
【0111】
[G.オペレーティングシステムの配布への統合]
この実施形態では、ミニCDAを、オペレーティングシステムの配布(例えば、ソフトウェア、ハードウェアのファームウェア)に統合する。永続性はオペレーティングシステムの基本的で不可分な構成要素として組み込まれることによって達成される。この場合、これはオペレーティングシステムに対する偶発または故意による修正を防止するために使用されるものと同じセキュリティ機構によって保護される。オペレーティングシステムの再インストールの場合、ミニCDAはオペレーティングシステムのインストール媒体から再インストールし、その結果ミニCDAが提供するサービスは二度目のインストールにおいて可能になる。この実施形態では、ミニCDAはオペレーティングシステムの機能によって直接ロードされ実行される。その後、他の実施形態の場合と同様に全機能CDAをダウンロードしインストールする。
【0112】
[H.拡張可能ファームウェアインタフェース(EFI)]
永続的モジュール(すなわち、AIM及びCLM)のBIOS実施形態は、ミニCDAまたはエージェントを、OSローダに先立つEFIドライバまたはEFIアプリケーションの何れかとしてEFI環境中にインストールするように修正してもよい。永続性は、EFIがCLMをロードした後、CLMがAIMを使用してBIOS実施形態と同様にミニCDAをインストールまたは復元した時達成される。BIOS実施形態と同様に、ミニCDAは、OSブートの後、全機能を備えたエージェントをダウンロードしインストールすることができる。
【0113】
[最適化]
CLMのPCIオプションROMをシステムBIOSに統合するのは困難ではない。例えば、IBMのT43型ノートブックコンピュータには、オプションROM構造を有するIBM BIOSがインストールされている。その形態及び機能は、BIOS中に既に存在するビデオオプションROMまたはマザーボードコントローラオプションROMと同様である。簡単に行う場合、CLMのベンダIDを認識するようにBIOSを簡単に再構成しなければならない。CLMの形態及び機能をより密接にホストBIOSに統合する場合、ある種のサイズ最適化を行ってもよい。フラッシュイメージ内にCLM、AIM、及びCDAを格納するために必要な20KBまでの小さなスペースを節約する機会が存在する。以下は、3つの主要モジュール中の様々な機能と各主要機能グループの概算サイズとをリストにした表である。「最適化」縦列は、各モジュール中の機能グループの最適化の可能性の推定のリストである。
【0114】
【表7】
【0115】
モジュール中の様々な機能の中、CLMの機能(PCI、イメージ管理、及び実行環境)だけをホストBIOSからの固有のサポートによって最適化してもよい。BIOSの圧縮アルゴリズムを使用し、AIM及びCDAモジュールを格納する「結合」法を使用することによって、イメージ管理機能のサイズを約0.3KB縮小することができる。全てのディスク資源を利用できるようにし、POSTメモリマネージャのサポートの必要がなくなるように、PCIオプションROMがPOSTの終わり近くでロードされるようにすることで、実行環境設定及び制御機能は0.8KB縮小できる。20KBまでのサイズは約18.9KBまで小さくなる。CLM中でプラットフォーム固有のサポートが必要な場合、上限が2KB増大することがある。
【0116】
BIOSインタフェースがSMBIOSを通じてCLMを検出及び設定するためのアプリケーションプログラムインタフェース(API)を公開する場合、2KBの見えるROMの「スタブ要求」が緩和される。
【0117】
[永続的サービスエージェントの携帯デジタル装置への導入]
永続的サービスエージェントは、携帯デジタル装置のような追加装置を追跡管理するように拡張してもよい。インテリジェントエージェントは、家庭用電子装置(例えば、アップル(Apple)IPOD(登録商標)デジタルメディアプレーヤ、MP3プレーヤ、携帯電話、またはマイクロソフト(Microsoft)XBOX(登録商標)またはソニー(Sony)プレイステーション(登録商標)といったゲーム装置)のBIOSオプションROM、ハードディスクドライブ上のパーティションギャップ、ハードディスクドライブのホスト保護領域(HPA)、埋め込み型ファームウェア(例えば、OS ROM)に存在してもよい。上記で論じた例で説明したように、一旦実行されると、CDAは監視サーバと通信する(CDA主導またはサーバ主導何れかの通信)。CDAの機能は、メモリへのコピー、メモリからのコピー及びメモリからの実行といった汎用機能でもよい。こうした機能は、CDAとの通信の際監視サーバが提供するシーケンスに基づいて実行される。こうしたシーケンスを実行して、アプリケーションをメモリにコピーして実行し、その結果を読み出して監視サーバに返してもよい。上記で説明したように、永続的エージェントはプログラム可能でもよい。
【0118】
永続的サービスエージェントは、例えば以下のような様々な携帯用及び/または個人用デジタル装置に導入してもよい。
−個人情報端末(PDA)
−MP3プレーヤ、デジタル録音機、携帯TV、ラジオ、等といったデジタルメディア装置
−携帯電話、双方向ラジオ、等といった無線装置
−全地球測位システム(GPS)、等といった手持ち型装置
−携帯型コンピュータゲーム(任天堂(登録商標)(Nintendo(登録商標))、ソニー(登録商標)プレイステーション(登録商標))、等といったゲーム装置
−デジタルカメラ
【0119】
エージェント導入の個々の例は以下のものを含む。
【0120】
[1.IPOD(登録商標)デジタルメディアプレーヤ]
エージェントは監視サーバにコンタクトし、また監視サーバからコンタクトを受けるように事前にプログラムされる。装置がインターネットに接続するか、またはインターネットに接続した別のベース装置(例えば、パーソナルコンピュータ)に接続するまで、エージェントは待機状態になる。一旦装置が(ITunes(登録商標)のような)サードパーティのウェブサイトに接続すると、エージェントはウェブサイトの埋め込み型制御を使用して監視サーバに接続する。代替的には、エージェントはそれ自体のコピー、または別のエージェントを接続先のベース装置にインストールして、監視サーバに接続してもよい。一旦接続すると、エージェントは監視サーバから装置の状態を確認する。この確認は、装置の固有の識別情報(例えば、電子シリアル番号(ESN)、製造業者のシリアル番号、またはエージェントに埋め込まれたシリアル番号)の検査を含んでもよい。この固有の識別情報を監視サーバのデータベースと照合する。携帯装置に(例えば、装置の元の所有者または代理人によって)紛失を示すフラグが設定されている場合、エージェントは携帯装置をトリガして携帯装置自体を機能しない状態にするための操作(例えば、上記で論じたデータ削除、またはシャットオフまたは無効化または、少なくとも携帯装置の継続使用ができなくなる程度に携帯装置の少なくともいくつかの機能を動作不能にする他の同様の操作)を行わせる。代替的または追加的に、エージェントは装置をトリガして、携帯装置を所持している人物に対して情報メッセージを表示させる。メッセージは、装置の所有者への返還、装置の返還または再有効化に関連する謝礼といったさらなる情報を得るため、所有者、装置ベンダまたは資産追跡管理会社に連絡するようその人物に指示するものでもよい。
【0121】
[2.携帯電話]
エージェントは(例えば、サーバ主導またはエージェント主導で)監視サーバにコンタクトするように事前にプログラムされる。一旦装置が無線ネットワークに接続されると、エージェントは標準通信プロトコルを使用して監視サーバと通信してもよく、また、代替的または追加的に、SMSメッセージ(または別の種類のプロトコル)を監視サーバまたは所有者の代理人に送信してもよい。一旦接続すると、エージェントは装置の固有の識別情報を監視サーバのデータベースに対して有効であることを確認する。この確認は、装置のESNまたはシリアル番号(製造業者のシリアル番号、またはエージェントに埋め込まれた識別番号、またはSIMカードID、等)といった識別番号の検査を含んでもよい。この固有の識別情報を監視サーバのデータベースと照合する。装置の元の所有者によって、携帯装置に紛失を示すフラグが設定されている場合、エージェントは携帯装置をトリガして携帯装置自体を機能しない状態にするための操作(例えば、上記で論じたデータ削除、またはシャットオフまたは無効化または、少なくとも携帯装置の継続使用ができなくなる程度に携帯装置の少なくともいくつかの機能を動作不能にする他の同様の操作)を行わせる。代替的または追加的に、エージェントは装置をトリガして、携帯装置を所持している人物に対して情報メッセージを表示させる。メッセージは、装置の所有者への返還、装置の返還または再有効化に関連する謝礼といったさらなる情報を得るため、所有者、装置ベンダまたは資産追跡管理会社に連絡するようその人物に指示するものでもよい。
【0122】
[3.ゲームコンソール]
エージェントは(例えば、サーバ主導またはエージェント主導で)監視サーバにコンタクトするように事前にプログラムされる。一旦ゲーム装置がオンラインゲームサーバに接続すると、エージェントは、ゲームサイトに埋め込まれた標準通信プロトコル(例えば、IP)を使用して監視サーバと通信する。代替的には、エージェントはTCP/IPまたは標準インターネットプロトコルを別のサードパーティ監視サーバに送信してもよい。一旦接続すると、エージェントは装置の固有の識別情報を確認し、これまで上記で説明した実施形態とほぼ同様の方法で適当な動作を行う。
【0123】
上記で開示したサービスエージェントは、普通はサービスエージェントを削除すると予想されるような動作が行われても永続的であるという能力を有する。エージェントはプログラム可能なので、サーバ主導のコマンドに基づいてその機能を拡張することができる。本発明は、事前導入されたサービスエージェントが、装置の「ユーザ」の操作と無関係に「アクティブ」な状態を維持する能力を改善する。エージェントに対するユーザの操作は故意によるものでも偶発的なものでもよい。本発明は、(例えば、コンピュータ資産のライフサイクル終了時に)正当な必要によるエージェントの無効化を可能にする一方で、サービスエージェントの偶発による除去から許可されたユーザを保護する。本発明は、許可されていないユーザがエージェントソフトウェアを除去するのを防止する。本発明の永続的な属性は、セキュリティ及び資産管理両方の用途において価値を有する。安全でステルス性を有する装置追跡管理ソフトウェアアプリケーションの状況では、貴重な資産の盗難を隠すことは、窃盗犯がどんな操作を行うかに関らずはるかに困難になっており、ソフトウェアは永続して遠隔監視センタにコンタクトすることが可能であるため、本発明は大きな価値を有する。さらに、サービスエージェントが永続的な性質を有しているため、トラッキングエージェントが偶発的に除去されないという信頼が得られ、セキュリティ要員に安心が提供される。安全な資産管理アプリケーションの状況では、全ライフサイクルにわたる資産の追跡管理の連続性が保証されるため、これはさらなる価値を有する。今日のIT管理者の主要な課題は全ライフサイクルにわたって資産の追跡管理を行う能力である。ライフサイクルの間に、装置はあるユーザから別のユーザに引き渡されることが多く、その際装置は再イメージング、またはオペレーティングシステムの再インストール、または他の形で資産の追跡管理を困難にする保守手順の対象になることがある。
【0124】
以上、ブロック図形式の機能モジュールによって本発明の処理及びシステムを説明した。特記なき場合、本発明の範囲及び精神から離れることなく、1つかそれ以上の機能を単一の物理的装置またはソフトウェア製品中のソフトウェアモジュールに統合してもよく、また1つかそれ以上の機能を単一の場所またはネットワーク全体に分散した単独の物理的装置またはソフトウェアモジュールにおいて実現してもよいことが理解されるだろう。
【0125】
各モジュールの実際の実現に関する詳細な議論は本発明の理解を可能にするために必要でないことが認識されるだろう。本出願におけるシステム中の様々な機能モジュールのシステム属性、機能性及び相互関係の開示によれば、実際の実現はプログラム及びシステムエンジニアの通常の技能の範囲内である。当業者は、一般的な技能を適用して過度な実験なしに本発明を実施することができる。
【0126】
本発明に係る実施形態に関連して本発明を説明したが、本発明の範囲及び精神から離れることなく様々な修正及び改善をなし得ることが当業者には明らかであろう。例えば、情報抽出アプリケーションは、ユーザにウェブブラウズのさらなる柔軟性を提供する異なるまたは追加の処理に対応するように容易に修正することができる。従って、本発明は個々の例示実施形態によってではなく、添付の請求の範囲によってのみ制限されることが理解されるだろう。
【図面の簡単な説明】
【0127】
【図1】本発明の1つの実施形態に係る、資産追跡管理を実現し得るネットワークを含む代表的な通信リンクを示す概略図である。
【図2】本発明の1つの実施形態に係る、永続的エージェントを含む、PCIオプションROMをBIOSに取り付けた状態を示す概略図である。
【図3】本発明の1つの実施形態に係る、PCIオプションROM中に存在する永続的エージェントのモジュール構成要素を示す概略図である。
【図4】本発明の1つの実施形態に係る、オプションROMロードルーチンを示す概略フロー図である。
【図5】本発明の1つの実施形態に係る、永続的エージェントのCLMによって実行されるルーチンを示す概略フロー図である。
【図6a】本発明の1つの実施形態に係る、CLMの割り込みハンドラによって実行されるルーチンを示す概略フロー図である。
【図6b】本発明の1つの実施形態に係る、CLMの割り込みハンドラによって実行されるルーチンを示す概略フロー図である。
【図7】本発明の1つの実施形態に係る、永続的エージェントのAIMによって実行されるルーチンを示す概略フロー図である。
【図8】本発明の1つの実施形態に係る、永続的エージェントのCDAのインストーラモードルーチンを示す概略フロー図である。
【図9】本発明の1つの実施形態に係る、CDAのサービスモードルーチンを示す概略フロー図である。
【図10】本発明の1つの実施形態に係る、アプリケーションモードにおけるCDAの概略表示である。
【図11】本発明の1つの実施形態に係る、フラッシュイメージ管理の概略表示である。
【図12】本発明の1つの実施形態に係る、ホスト保護領域イメージ管理の概略表示である。
【図13】本発明の1つの実施形態に係る、パーティションギャップイメージ管理の概略表示である。
【図14】本発明の1つの実施形態に係る、永続的エージェントのCDAと遠隔サーバとの間の通信セッションの概略表示である。
【図15】本発明の1つの実施形態に係る、CDAのクライアント側デート削除ルーチンを示す概略フロー図である。
【図16】本発明の1つの実施形態に係る、サーバ側データ削除ルーチンを示す概略フロー図である。
【図17】本発明の1つの実施形態に係る、データ削除実行ルーチンを示す概略フロー図である。
【特許請求の範囲】
【請求項1】
遠隔サーバへのネットワークに接続された電子装置中に配置され、前記電子装置に関する少なくとも1つのサービスを有効化、サポート及び/または提供する永続的サービスエージェントであって、
前記電子装置中に隠されたドライバエージェントであって、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成され、前記ドライバエージェントは、部分ドライバエージェントまたは全機能ドライバエージェントの少なくとも1つを備え、前記全機能ドライバエージェントは、サービスを提供する際前記ネットワークと通信するように構成され、前記部分ドライバエージェントは、前記全機能ドライバエージェントと比較して少ない機能の集合によって、全機能ドライバエージェントが前記電子装置中で利用可能か否かを決定するように、構成されるドライバエージェントと、
ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールと、を備える、永続的サービスエージェント。
【請求項2】
前記ドライバエージェントは、資産追跡管理、資産回復、ソフトウェア導入、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアのアップグレードの少なくとも1つを備えるサービスを有効化、サポート及び/または提供するように構成される、請求項1に記載の永続的サービスエージェント。
【請求項3】
前記ドライバエージェントは、前記電子装置において選択されたデータファイルを削除するデータ削除サービスを有効化、サポート及び/または提供するように構成され、前記ドライバエージェントは、前記削除されたデータの報告を前記遠隔外部サーバに提供する、請求項1に記載の永続的サービスエージェント。
【請求項4】
前記ドライバエージェントは、前記電子装置のオペレーティングシステムの削除を有効化、サポート及び/または提供するように構成されている、請求項3に記載の永続的サービスエージェント。
【請求項5】
前記ドライバエージェントは、まず前記オペレーティングシステム以外のデータファイルを削除し、前記報告を前記遠隔サーバに提供してから、前記オペレーティングシステムを削除するように構成されている、請求項4に記載の永続的サービスエージェント。
【請求項6】
前記ドライバエージェントは、前のデータ削除サービスが完了前に中断された場合データ削除サービスを再開するように構成されている、請求項3に記載の永続的サービスエージェント。
【請求項7】
前記部分ドライバエージェントが、ファームウェア、ソフトウェア及びハードウェアの少なくとも1つとして前記電子装置中に置かれている、請求項2に記載の永続的サービスエージェント。
【請求項8】
前記ファームウェアは、不揮発性メモリを備える、請求項7に記載の永続的サービスエージェント。
【請求項9】
前記不揮発性メモリは、BIOSチップ及びフラッシュメモリの少なくとも1つを備える、請求項8に記載の永続的サービスエージェント。
【請求項10】
前記ソフトウェアは、前記電子装置のオペレーティングシステムを備える、請求項7に記載の永続的サービスエージェント。
【請求項11】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中の選択されたデータファイルのデータ削除に関連する前記遠隔サーバからの命令を受信するように構成されている、請求項3に記載の永続的サービスエージェント。
【請求項12】
前記ドライバエージェントは、前記遠隔サーバと通信を行い、前記遠隔サーバから命令を受信して該命令に応じた前記サービスを実行し、該通信は、前記ドライバエージェントまたは前記サーバによって開始される、請求項2に記載の永続的サービスエージェント。
【請求項13】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中でファイアウォール保護を確立することに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項14】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中でデータ暗号化を引き受けることに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項15】
前記ドライバエージェントは、前記遠隔サーバと通信して、電子装置の位置追跡管理に関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項16】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置の一定の機能を無効化するメッセージ通知及び/または命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項17】
請求項1に記載の永続的サービスエージェントを備える電子装置。
【請求項18】
電子装置中のサービスを有効化、サポート及び/または提供する方法であって、
前記電子装置中のドライバエージェントを隠すステップであって、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成されているステップと、
ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールを提供するステップと、
遠隔サーバと通信して、前記サービスに関する命令を受信するため前記ドライバエージェントをネットワークに機能的に接続するステップと、を含む方法。
【請求項19】
前記サービスは、資産追跡管理、資産回復、ソフトウェア導入、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアのアップグレードの少なくとも1つを備える、請求項17に記載の方法。
【請求項20】
前記ドライバエージェントは、前記電子装置において選択されたデータファイルを削除するデータ削除サービスを有効化、サポート及び/または提供するように構成され、前記ドライバエージェントは、前記電子装置のオペレーティングシステムの削除を有効化、サポート及び/または提供するように構成されている、請求項18に記載の方法。
【請求項21】
前記ドライバエージェントは、まず前記オペレーティングシステム以外のデータファイルを削除し、前記報告を前記遠隔サーバに提供してから、前記オペレーティングシステムを削除するように構成されている、請求項19に記載の方法。
【請求項22】
ネットワークに接続された電子装置において少なくとも1つのサービスを提供するシステムであって、
前記ネットワークに接続された遠隔サーバと、
前記電子装置中に配置された永続的サービスエージェントであって、前記電子装置中に隠されたドライバエージェントを備え、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成され、前記ドライバエージェントは、部分ドライバエージェントまたは全機能ドライバエージェントの少なくとも1つを備え、前記全機能ドライバエージェントは、前記サービスを提供する際前記ネットワークと通信するように構成され、前記部分ドライバエージェントは、前記全機能ドライバエージェントと比較して少ない機能の集合によって、全機能ドライバエージェントが前記電子装置中で利用可能か否かを決定するように構成され、前記永続的サービスエージェントがさらに、ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールを備える永続的サービスエージェントとを備え、
前記永続的エージェントは、前記遠隔サーバと通信を行い、前記遠隔サーバから命令を受信して該命令に応じた前記サービスを実行するシステム。
【請求項23】
前記通信は、前記ドライバエージェントまたは前記サーバによって開始される、請求項22に記載のシステム。
【請求項24】
前記永続的サービスエージェントは、前記遠隔サーバと通信し、
(a)前記電子装置中のファイアウォール保護の確立と、
(b)前記電子装置中のデータ暗号化の引き受けと、
(c)電子装置の位置追跡管理と、
(d)メッセージ通知の受信と、
(e)前記電子装置の一定の機能の無効化と、のうちの少なくとも1つに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項22に記載のシステム。
【請求項1】
遠隔サーバへのネットワークに接続された電子装置中に配置され、前記電子装置に関する少なくとも1つのサービスを有効化、サポート及び/または提供する永続的サービスエージェントであって、
前記電子装置中に隠されたドライバエージェントであって、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成され、前記ドライバエージェントは、部分ドライバエージェントまたは全機能ドライバエージェントの少なくとも1つを備え、前記全機能ドライバエージェントは、サービスを提供する際前記ネットワークと通信するように構成され、前記部分ドライバエージェントは、前記全機能ドライバエージェントと比較して少ない機能の集合によって、全機能ドライバエージェントが前記電子装置中で利用可能か否かを決定するように、構成されるドライバエージェントと、
ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールと、を備える、永続的サービスエージェント。
【請求項2】
前記ドライバエージェントは、資産追跡管理、資産回復、ソフトウェア導入、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアのアップグレードの少なくとも1つを備えるサービスを有効化、サポート及び/または提供するように構成される、請求項1に記載の永続的サービスエージェント。
【請求項3】
前記ドライバエージェントは、前記電子装置において選択されたデータファイルを削除するデータ削除サービスを有効化、サポート及び/または提供するように構成され、前記ドライバエージェントは、前記削除されたデータの報告を前記遠隔外部サーバに提供する、請求項1に記載の永続的サービスエージェント。
【請求項4】
前記ドライバエージェントは、前記電子装置のオペレーティングシステムの削除を有効化、サポート及び/または提供するように構成されている、請求項3に記載の永続的サービスエージェント。
【請求項5】
前記ドライバエージェントは、まず前記オペレーティングシステム以外のデータファイルを削除し、前記報告を前記遠隔サーバに提供してから、前記オペレーティングシステムを削除するように構成されている、請求項4に記載の永続的サービスエージェント。
【請求項6】
前記ドライバエージェントは、前のデータ削除サービスが完了前に中断された場合データ削除サービスを再開するように構成されている、請求項3に記載の永続的サービスエージェント。
【請求項7】
前記部分ドライバエージェントが、ファームウェア、ソフトウェア及びハードウェアの少なくとも1つとして前記電子装置中に置かれている、請求項2に記載の永続的サービスエージェント。
【請求項8】
前記ファームウェアは、不揮発性メモリを備える、請求項7に記載の永続的サービスエージェント。
【請求項9】
前記不揮発性メモリは、BIOSチップ及びフラッシュメモリの少なくとも1つを備える、請求項8に記載の永続的サービスエージェント。
【請求項10】
前記ソフトウェアは、前記電子装置のオペレーティングシステムを備える、請求項7に記載の永続的サービスエージェント。
【請求項11】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中の選択されたデータファイルのデータ削除に関連する前記遠隔サーバからの命令を受信するように構成されている、請求項3に記載の永続的サービスエージェント。
【請求項12】
前記ドライバエージェントは、前記遠隔サーバと通信を行い、前記遠隔サーバから命令を受信して該命令に応じた前記サービスを実行し、該通信は、前記ドライバエージェントまたは前記サーバによって開始される、請求項2に記載の永続的サービスエージェント。
【請求項13】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中でファイアウォール保護を確立することに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項14】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中でデータ暗号化を引き受けることに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項15】
前記ドライバエージェントは、前記遠隔サーバと通信して、電子装置の位置追跡管理に関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項16】
前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置の一定の機能を無効化するメッセージ通知及び/または命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。
【請求項17】
請求項1に記載の永続的サービスエージェントを備える電子装置。
【請求項18】
電子装置中のサービスを有効化、サポート及び/または提供する方法であって、
前記電子装置中のドライバエージェントを隠すステップであって、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成されているステップと、
ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールを提供するステップと、
遠隔サーバと通信して、前記サービスに関する命令を受信するため前記ドライバエージェントをネットワークに機能的に接続するステップと、を含む方法。
【請求項19】
前記サービスは、資産追跡管理、資産回復、ソフトウェア導入、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアのアップグレードの少なくとも1つを備える、請求項17に記載の方法。
【請求項20】
前記ドライバエージェントは、前記電子装置において選択されたデータファイルを削除するデータ削除サービスを有効化、サポート及び/または提供するように構成され、前記ドライバエージェントは、前記電子装置のオペレーティングシステムの削除を有効化、サポート及び/または提供するように構成されている、請求項18に記載の方法。
【請求項21】
前記ドライバエージェントは、まず前記オペレーティングシステム以外のデータファイルを削除し、前記報告を前記遠隔サーバに提供してから、前記オペレーティングシステムを削除するように構成されている、請求項19に記載の方法。
【請求項22】
ネットワークに接続された電子装置において少なくとも1つのサービスを提供するシステムであって、
前記ネットワークに接続された遠隔サーバと、
前記電子装置中に配置された永続的サービスエージェントであって、前記電子装置中に隠されたドライバエージェントを備え、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成され、前記ドライバエージェントは、部分ドライバエージェントまたは全機能ドライバエージェントの少なくとも1つを備え、前記全機能ドライバエージェントは、前記サービスを提供する際前記ネットワークと通信するように構成され、前記部分ドライバエージェントは、前記全機能ドライバエージェントと比較して少ない機能の集合によって、全機能ドライバエージェントが前記電子装置中で利用可能か否かを決定するように構成され、前記永続的サービスエージェントがさらに、ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールを備える永続的サービスエージェントとを備え、
前記永続的エージェントは、前記遠隔サーバと通信を行い、前記遠隔サーバから命令を受信して該命令に応じた前記サービスを実行するシステム。
【請求項23】
前記通信は、前記ドライバエージェントまたは前記サーバによって開始される、請求項22に記載のシステム。
【請求項24】
前記永続的サービスエージェントは、前記遠隔サーバと通信し、
(a)前記電子装置中のファイアウォール保護の確立と、
(b)前記電子装置中のデータ暗号化の引き受けと、
(c)電子装置の位置追跡管理と、
(d)メッセージ通知の受信と、
(e)前記電子装置の一定の機能の無効化と、のうちの少なくとも1つに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項22に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6a】
【図6b】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6a】
【図6b】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公表番号】特表2008−533621(P2008−533621A)
【公表日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2008−502159(P2008−502159)
【出願日】平成18年3月20日(2006.3.20)
【国際出願番号】PCT/US2006/010381
【国際公開番号】WO2006/102399
【国際公開日】平成18年9月28日(2006.9.28)
【出願人】(506322857)アブソリュート ソフトウエア コーポレイション (4)
【Fターム(参考)】
【公表日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願日】平成18年3月20日(2006.3.20)
【国際出願番号】PCT/US2006/010381
【国際公開番号】WO2006/102399
【国際公開日】平成18年9月28日(2006.9.28)
【出願人】(506322857)アブソリュート ソフトウエア コーポレイション (4)
【Fターム(参考)】
[ Back to top ]