JP2013008400A - Persistent servicing agent - Google Patents

Persistent servicing agent Download PDF

Info

Publication number
JP2013008400A
JP2013008400A JP2012227364A JP2012227364A JP2013008400A JP 2013008400 A JP2013008400 A JP 2013008400A JP 2012227364 A JP2012227364 A JP 2012227364A JP 2012227364 A JP2012227364 A JP 2012227364A JP 2013008400 A JP2013008400 A JP 2013008400A
Authority
JP
Japan
Prior art keywords
agent
service
electronic device
driver
driver agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012227364A
Other languages
Japanese (ja)
Other versions
JP5508502B2 (en
Inventor
B Gardner Philip
ビー. ガードナー,フィリップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Absolute Software Corp
Original Assignee
Absolute Software Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Absolute Software Corp filed Critical Absolute Software Corp
Publication of JP2013008400A publication Critical patent/JP2013008400A/en
Application granted granted Critical
Publication of JP5508502B2 publication Critical patent/JP5508502B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To realize a servicing agent for enabling, supporting and/or providing services relating to management and protection of assets and their software configurations, with improved tamper resistance.SOLUTION: A tamper resistant servicing agent for providing various services comprises multiple functional modules, including a loader module (CLM) that loads and gains control during POST, independent of the OS, an Adaptive Installer Module (AIM), and a Communications Driver Agent (CDA). Once control is handed to the CLM, the CLM loads the AM, and the AM locates, validates, decompresses and adapts the CDA for the detected OS environment. The CDA exists in two forms, a mini CDA that determines whether a full or current CDA is located somewhere on the device, and if not, to load the full-function CDA from a network; and a full-function CDA that is responsible for all communications between the device and the monitoring server.

Description

[関連出願の相互参照]
本出願は、2005年3月18日出願の米国仮特許出願第60/663,496号、2005年3月18日出願の米国仮特許出願第60/663,615号、及び2006年1月7日出願の米国仮特許出願第60/756,796号の利益を主張する。本出願は、2005年3月28日出願の米国特許出願第11/093,180号の一部継続出願である。これらの文書はその全体を引用によって本出願の記載に援用する。
[Cross-reference of related applications]
This application includes US Provisional Patent Application No. 60 / 663,496, filed Mar. 18, 2005, US Provisional Patent Application No. 60 / 663,615, filed Mar. 18, 2005, and January 7, 2006. Claims the benefit of US Provisional Patent Application No. 60 / 756,796, filed in Japanese. This application is a continuation-in-part of US patent application Ser. No. 11 / 093,180, filed Mar. 28, 2005. These documents are incorporated herein by reference in their entirety.

本出願で参照される全ての刊行物は、その全体を引用によって本出願の記載に援用する。   All publications referenced in this application are incorporated herein by reference in their entirety.

本発明は、コンピュータ及びネットワーク環境における永続的または改竄防止サービスエージェントに関する。   The present invention relates to permanent or anti-tamper service agents in computer and network environments.

現在の競合するビジネス環境では、情報技術(IT)は日々のビジネス機能での知識の交換においてますます重要な役割を演じつつある。個人、システム、組織、及び他のビジネス資産はこの新たに出現しつつある経済網の中で相互接続しており、このITの状況が次第に複雑さを増すに連れて、コンピュータ資産を効率的に管理する必要も増大している。その結果、今日の組織は、投資を最大限に活用しコストを管理するため、組織のコンピュータ資産ベースを制御し、管理し、安全にする必要をこれまで以上に認識している。   In today's competing business environment, information technology (IT) is playing an increasingly important role in the exchange of knowledge in daily business functions. Individuals, systems, organizations, and other business assets are interconnected within this emerging economic network, and as this IT landscape becomes increasingly complex, computer assets become more efficient. The need to manage is also increasing. As a result, organizations today are more aware of the need to control, manage, and secure their computer asset base in order to maximize investment and manage costs.

ネットワーク中のコンピュータを管理するために必要な時間と財源の量は重大なものになることがある。こうした資産は電子商取引やビジネスインテリジェンスといった主要なビジネス処理をサポートする。こうした資産が保護されず、事前に資産を管理する能力がない場合、短期及び長期の損失が生じる可能性は莫大である。   The amount of time and resources required to manage computers in a network can be critical. These assets support key business processes such as e-commerce and business intelligence. If these assets are not protected and do not have the ability to manage assets in advance, the potential for short and long term losses is enormous.

組織が直面する主要な課題の1つは、装置の記憶ドライブ上の個々のソフトウェアイメージと必要な更新を管理し、組織のコンピュータの位置と進行中の移動を追跡管理することである。どんな資産がありそれらが時間と共にどのように変化しているかを知ることは、現行のIT資産及びポリシー管理にとって基本的なことである。また、そのことを知っていれば、ハードウェアまたはソフトウェアのアップグレード、またはコンピュータの廃棄といった計画及び予算編成が改善できる。企業が地理的に拡大し、モバイル及び遠隔システムの採用がますます一般的になるに連れて、この問題はさらに複雑になっている。こうした資産とそこにあるソフトウェアイメージを追跡することは、コンピュータ自体の価値にとって重要なだけでなく、マシン上に存在する貴重なデータの保護にとってさらに重要であることが多い。紛失または不適切に設定した資産は内部に読み取り可能な機密情報または著作権を有する情報を有することや、ウイルス対策用に更新されないことがあり、また企業のネットワークにアクセスする権利を有したままでいることがある。企業はその資産及びその構成を明確にし、ハードウェア及びソフトウェアについて何がそれらに搭載されているかだけでなく、それらがどこにありそれらを誰が使用しているかを明確にすることができなければならない。この追加情報があって初めて、組織は遠隔及びモバイルユーザのセキュリティ及び規制遵守の問題に取り組むことができる。   One of the major challenges faced by organizations is managing individual software images and required updates on the device's storage drive, and tracking the location and ongoing movement of the organization's computers. Knowing what assets are and how they are changing over time is fundamental to current IT asset and policy management. Also, knowing that can improve planning and budgeting such as hardware or software upgrades or computer decommissioning. As businesses grow geographically and the adoption of mobile and remote systems becomes more and more common, this problem becomes more complex. Tracking these assets and the software images there are not only important for the value of the computer itself, but often more important for protecting valuable data residing on the machine. Lost or improperly set assets may have internally readable confidential or copyrighted information, may not be updated for antivirus protection, and remain entitled to access the corporate network There may be. An enterprise must be able to clarify its assets and its configuration and not only what is on them for hardware and software, but also where they are and who is using them. Only with this additional information can organizations address the issue of security and regulatory compliance for remote and mobile users.

モバイルコンピューティング装置の処理能力の増大に伴って、デスクトップユニットの代替品として、または家庭用または小企業のネットワーク用の追加装置として、モバイルコンピューティング装置を選択する個人が次第に増大している。個人は元来コンピュータ資産のインベントリ及び構成の管理に関心を有さないが、それにもかかわらずパーソナルコンピュータ資産の追跡管理及び個人データの保護に関しては、大企業と同様の関心を共有している。   With the increasing processing power of mobile computing devices, there is an increasing number of individuals who choose mobile computing devices as replacements for desktop units or as additional devices for home or small business networks. Individuals are not originally interested in managing inventory and configuration of computer assets, but nevertheless share similar interests as large companies with regard to tracking personal computer assets and protecting personal data.

大部分のIT部門は、従来の資産管理ソリューションが絶えず増大する遠隔及びモバイルユーザの個体数を正しく明確にすることができないという主張を支持するだろう。実際には、通常の組織は、PCドリフト1までの2年間にPC資産の15%までを失うが、この場合資産は必ずしも紛失または盗難にあったわけではなく、支給されてから何度も所有者または部門が変わったため所在を明確にすることができないだけのことがある。平均すると、備品目録の作成を要求された場合、大部分の組織が正確に識別できるのは、組織の実際のPC資産ベースの65%に過ぎない。模範事例として、PC資産の少なくとも90%の位置を常に把握することが要求されている。   Most IT departments will support the claim that traditional asset management solutions cannot correctly account for the ever-increasing remote and mobile user population. In practice, a normal organization loses up to 15% of PC assets in the two years leading up to PC drift 1, but in this case the assets were not necessarily lost or stolen, and many times after being paid Or because the department has changed, the location is not clear. On average, only 65% of an organization's actual PC asset base can be accurately identified by most organizations when it is required to create a inventory. As a model example, it is required to keep track of at least 90% of PC assets.

LANの外部を移動する遠隔及びモバイルコンピュータ資産には多くの点で問題がある。まず、大部分の資産追跡管理ソフトウェアは、マシンがローカルネットワークに接続されていない場合それを追跡管理することができない。また、こうした遠隔マシンはITネットワーク全体のセキュリティ上の大きな脅威の原因となる。IT管理者よりもむしろ遠隔ユーザがマシンの管理及び設定更新に対して責任があることが多い。大部分のユーザは普通、必要なセキュリティ意識を有していない。ユーザはセキュリティ設定のレベルを下げ、気付かないうちに悪意のあるソフトウェアをインストールし、ウイルス対策ソフトウェアを期限切れにし、最新のセキュリティパッチをインストールしないことがある。遠隔ユーザにとってはセキュリティ上の小さな過失に見えるかもしれないことが、ネットワーク全体に対して劇的な影響を有することがある。遠隔ユーザは、LANに接続すると、セキュリティへの関心が低いため、ネットワーク全体を感染させることがある。こうした遠隔マシンに対する有効な資産管理ツールなしに、IT管理者はネットワーク全体の完全性を保証することができない。ネットワークの安全性はその最弱リンクの安全性と同じであるに過ぎない。コンピュータセキュリティに関するCSI/FBI年次調査は、盗難にあったPC資産の57%が企業に対するさらなる犯罪を行うために使用されていることを示している。   Remote and mobile computer assets moving outside the LAN are problematic in many ways. First, most asset tracking management software cannot track a machine if it is not connected to a local network. In addition, such remote machines are a major security threat to the entire IT network. Remote users, rather than IT administrators, are often responsible for machine management and configuration updates. Most users usually do not have the necessary security awareness. Users may lower security settings, install malicious software without realizing it, expire antivirus software, and not install the latest security patches. What appears to be a small security mistake for remote users can have a dramatic impact on the entire network. When remote users connect to a LAN, they may infect the entire network because they are less concerned about security. Without an effective asset management tool for these remote machines, IT administrators cannot guarantee the integrity of the entire network. The security of the network is only the same as that of the weakest link. A CSI / FBI annual survey on computer security shows that 57% of stolen PC assets are being used to conduct further crimes against businesses.

最近の企業会計スキャンダル、識別情報の盗難及び悪意のあるハッキングに対して、政府は全ての機密上重要なデジタル情報を保護し明確にすることを企業に要求する規則を制定しつつある。2002年のサーベンス・オクスリー法(Sarbanes−Oxley Act of 2002)はこうした規則の優れた一例である。サーベンス・オクスリー法によって、資産を正確に報告していない場合の摘発が増大している。経営幹部は、正確な資産報告を保証する適切な管理及び規則があるかを法律的に検証するように要求されている。現在では、正確な資産報告の履行を保証することは、最高財務責任者(CFO)及び最高経営責任者(CEO)の受託者責任である。資産ベースを不正確に報告した組織に対する法律上、規制上及び財政上の摘発は非常に重大なものになり得る。コンピュータは組織の資産ベースの大きな割合を構成することが多いので、正確な報告が必要である。グラム・リーチ・ブライリー(GLB)法は、財務部門での顧客記録の保護を保証する別の規則である。同様に、医療保険の相互運用性と説明責任に関する法律(HIPAA)は、医療記録と保険関連情報の機密性を保護する連邦政府のプライバシーの基準を確立した。組織が全てのコンピュータ資産を有効に追跡管理しなければ、重大な規制上の問題が生じ得る。   In response to recent corporate accounting scandals, identity theft and malicious hacking, the government is enacting rules that require businesses to protect and clarify all sensitive digital information. The Sarbanes-Oxley Act of 2002 of 2002 is an excellent example of such a rule. The Sarbanes-Oxley Act has increased the number of cases where assets are not reported correctly. Executives are required to legally verify that there are appropriate controls and rules to ensure accurate asset reporting. Today, it is the fiduciary responsibility of the Chief Financial Officer (CFO) and Chief Executive Officer (CEO) to ensure the implementation of accurate asset reporting. Legal, regulatory and financial charges for organizations that have incorrectly reported their asset base can be very significant. Computers often make up a large percentage of an organization's asset base, so accurate reporting is required. The Gram Reach Briley (GLB) Act is another rule that guarantees the protection of customer records in the finance department. Similarly, the Health Insurance Interoperability and Accountability Act (HIPAA) has established federal privacy standards that protect the confidentiality of medical records and insurance-related information. Significant regulatory issues can arise if an organization does not effectively track all computer assets.

追跡管理機能を引き受ける資産追跡管理及び/または設定管理アプリケーションは、ユーザによるある程度の改竄に抵抗できるべきである。資産追跡管理の状況では、通常、許可されたユーザはコンピュータのライフサイクル管理のある面の責任者である。この状況では、追跡管理エージェントは、(例えば、コンピュータ資産のライフサイクル終了時に)エージェントの無効化を可能にする必要性を正当と認める一方で、追跡管理エージェントの偶発による除去から許可されたユーザを保護できるべきである。許可されていないユーザは、エージェントソフトウェアを除去しようとするが、通常コンピュータのライフサイクル管理に責任を負わない人物である。エージェントを除去しようとする故意の、許可されていない試行の理由は、追跡管理ソフトウェアを永久的に除去された状態にしようという窃盗犯または潜在的な窃盗犯の行為であることを含むだろう。許可されていないが偶発的な除去の試行は、例えば、新しいオペレーティングシステムをインストールしたりハードディスクドライブを再イメージングしたりしようとする何者かの成功または不成功の試行を含むだろう。   Asset tracking management and / or configuration management applications that assume tracking management functions should be able to resist some tampering by the user. In the context of asset tracking management, authorized users are usually responsible for some aspect of computer lifecycle management. In this situation, the tracking agent will justify the need to be able to disable the agent (eg, at the end of the computer asset lifecycle), while identifying authorized users from accidental removal of the tracking agent. Should be able to protect. An unauthorized user is a person who attempts to remove the agent software but is usually not responsible for managing the computer lifecycle. Reasons for deliberate and unauthorized attempts to remove an agent may include a thief or potential thief's act of leaving the tracking software permanently removed. Unauthorized but accidental removal attempts may include, for example, the success or unsuccessful attempt of someone attempting to install a new operating system or re-image a hard disk drive.

PC資産及びその構成を追跡、管理及び更新しようとする試行は、PCはそのライフサイクルを通じて、故障/調整修理、設定変更、オペレーティングシステムの再インストール、ハードディスクドライブの再フォーマット/交換、システムの破壊及びユーザ主導の設定変更を含む多くのハードウェア、ソフトウェア及びイメージの変更を経験するという事実によってさらなる課題を与えられる。こうした変化の多くはオペレーティングシステムの再インストールを必要とし、それによってPC資産の元のフットプリント、識別情報または追跡管理エージェントが無効化または除去されることがある。この変化は、勤勉に記録及び追跡管理しなければ、既知の状態から未知の状態へのPC資産ドリフトの始まりとなる。こうした日常のPCライフサイクル動作の要求は、特に遠隔及びモバイルPCの場合、PC資産追跡管理の複雑さと課題を増大しかねない。   Attempts to track, manage, and update PC assets and their configuration will cause the PC to go through its lifecycle through failure / coordination repair, configuration changes, operating system reinstallation, hard disk drive reformat / replacement, system corruption and A further challenge is given by the fact that many hardware, software and image changes are experienced, including user-initiated configuration changes. Many of these changes require reinstallation of the operating system, which may invalidate or remove the original footprint, identification information, or tracking management agent of the PC asset. This change is the beginning of a PC asset drift from a known state to an unknown state, if not hard-tracked and tracked. These daily PC lifecycle operation requirements can increase the complexity and challenges of PC asset tracking management, especially for remote and mobile PCs.

これまで、既存の資産追跡管理アプリケーションは、Windows(登録商標) NT/2000/XP(登録商標)環境では、許可されていないユーザによる改竄に対して要求される永続性を達成するために必要な機能を示さないという点で不十分である。こうした追跡管理アプリケーションは一般に、上記で述べた許可されていない、または偶発によるユーザの行為、または、レジストリ設定の削除またはアプリケーションファイルの削除といった他の単純な行為によって簡単に無効になってしまう。   To date, existing asset tracking management applications are required to achieve the required persistence against tampering by unauthorized users in a Windows NT / 2000 / XP environment. It is insufficient in that it does not show a function. Such tracking management applications are generally easily disabled by unauthorized or accidental user actions as described above, or other simple actions such as deleting registry settings or deleting application files.

本発明の譲受人である、アブソリュートソフトウェア社(Absolute Software Corporation)は、資産を安全に追跡管理し紛失または盗難にあった資産を回復する製品及びサービスであるコンピュトレース(Computrace)、及びコンピュトレース技術プラットフォームによって動作する安全な資産追跡管理及びインベントリ管理ソリューションであるアブソリュートトラック(AbsoluteTrack)を開発し販売している。コンピュトレースは、ホストコンピュータのハードディスクドライブに存在するソフトウェアクライアントであるステルスエージェントを導入する。一旦インストールされると、自動的に、エージェントは定期的に監視センタにコンタクトし位置情報及び全ての自動的に発見された資産データポイントを送信するようになる。エージェントと監視センタとの間の進行中の通信はユーザの介入を必要とせず、インターネットまたは電話接続を介して維持される。コンピュータの電源が投入され、(ISPまたは企業ネットワークを通じて)電話回線への接続またはインターネットへのアクセスの何れかを有している限り、コンピュトレースエージェントは資産データを監視センタに報告することができる。エージェントと監視センタとの間のユーザの介入を必要としない通信によって、エージェントの許可されたユーザはコンピュータインベントリ全体の最新の位置情報と包括的な資産データに安全にアクセスできるようになる。単独で使用されるにせよ、また既存の資産管理ツールの補完物として使用されるにせよ、アブソリュートトラックは、遠隔、モバイル及びデスクトップコンピュータを監視し、日常的なハードウェア及びソフトウェアのインベントリ追跡管理機能を実行するあらゆる規模の企業の助けとなる費用効果的なアプリケーションサービスである。コンピュトレースはモバイルコンピュータの盗難を追跡管理し、盗難にあったモバイルコンピュータを回復する有効なツールである。   The assignee of the present invention, Absolute Software Corporation, is a product and service that securely tracks and recovers assets that have been lost or stolen. It develops and sells AbsoluteTrack, a secure asset tracking and inventory management solution that operates on the platform. Computrace introduces a stealth agent, which is a software client that resides on the hard disk drive of the host computer. Once installed, the agent automatically contacts the monitoring center periodically to send location information and all automatically discovered asset data points. Ongoing communication between the agent and the monitoring center requires no user intervention and is maintained over the Internet or telephone connection. As long as the computer is turned on and has either connection to a telephone line or access to the Internet (through an ISP or corporate network), the Computrace Agent can report asset data to the monitoring center. Communication that does not require user intervention between the agent and the monitoring center allows authorized users of the agent to securely access up-to-date location information and comprehensive asset data across the computer inventory. Whether used alone or as a complement to existing asset management tools, Absolute Track monitors remote, mobile and desktop computers and provides routine hardware and software inventory tracking management functions. Is a cost-effective application service that helps companies of all sizes to run. Computrace is an effective tool for tracking and managing mobile computer theft and recovering a stolen mobile computer.

様々なコンピュトレース製品及びサービスの根底にある技術は、米国及び他の諸国で開示及び特許取得されており、それらの特許は本出願と同じ譲受人であるアブソリュートソフトウェア社に譲受されている。例えば、米国特許第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)」を参照されたい)。   The technology underlying various Computrace products and services is disclosed and patented in the United States and other countries, and those patents are assigned to Absolute Software, the same assignee as the present application. For example, US Pat. No. 5,715,174, US Pat. No. 5,764,892, US Pat. No. 5,802,280, US Pat. No. 6,244,758, US Pat. No. 6,269,392 No. 6, U.S. Pat. No. 6,300,863, and U.S. Pat. No. 6,507,914, and related foreign patents. More information on absolute tracks is published by Absolute Software (eg, the white paper “AbsoluteTrack-Secure Computer Asset Tracking Solution” published April 25, 2003). See).

保護された各装置に導入されたエージェントはステルス性であって、コンピュータのユーザによる検出に対する耐性を有する。改竄耐性のレベルは検出の困難さとコンピュトレースサービスを無効にするために要求されるスキルのレベルに直接影響する。コンピュトレースエージェントはディスクベースのユーティリティと同程度の改竄耐性を有するが、さらに上のレベルの改竄耐性を提供し、さらに、資産追跡管理及び回復以外のサービスを有効化、サポート及び/または提供する改善されたエージェントを開発することが望ましい。   Agents installed on each protected device are stealth and resistant to detection by computer users. The level of tamper resistance directly affects the difficulty of detection and the level of skill required to disable the Computrace service. Computrace Agent has the same level of tamper resistance as disk-based utilities, but provides an even higher level of tamper resistance, and further improves, enables and / or provides services other than asset tracking management and recovery It is desirable to develop a customized agent.

本発明は、改竄に対する耐性を改善した、(非制限的に、ハードウェア、ファームウェア、ソフトウェア、データ、等を含む)資産及びそのソフトウェア設定の管理及び保護に関するサービスを有効化、サポート及び/または提供するサービスエージェントに関する。サービスは、資産管理追跡、資産回復、データ削除、ソフトウェア導入、等を含んでもよい。   The present invention enables, supports and / or provides services relating to management and protection of assets and their software settings (including but not limited to hardware, firmware, software, data, etc.) with improved resistance to tampering Related to the service agent. Services may include asset management tracking, asset recovery, data deletion, software installation, and the like.

サービスエージェントは複数のモジュールを備える。各モジュールは個別の動作環境で機能するように設計されている。モジュール設計は、アプリケーション全体を再構築する必要なしに、例えば、BIOS中またはハードディスクドライブ上といった特定の動作環境に導入するようにエージェントを構成する柔軟性を提供する。エージェントは全体的または部分的に(ハードウェアのマイクロコードを含む)ソフトウェアによって実現してもよく、またシステム内のソフトウェア、ファームウェア及び/またはハードウェア構成要素中に存在してもよい。   The service agent includes a plurality of modules. Each module is designed to function in a separate operating environment. The modular design provides the flexibility to configure the agent to be deployed in a specific operating environment, for example, in the BIOS or on a hard disk drive without having to rebuild the entire application. The agent may be implemented in whole or in part by software (including hardware microcode) and may be present in software, firmware and / or hardware components within the system.

本発明の1つの態様によれば、ローダモジュールがロードされ、電源投入時自己診断(POST)中の制御を得る。このエージェントに依存して、エージェントがインストールされた装置、及びエージェントがインストールされた装置に関連する資産に対するサービス(例えば、追跡管理、データ削除及びソフトウェア更新)を有効化、サポート及び/または提供することができる。一旦制御がローダに渡されると、ローダは、必要に応じて、かつ適当な時に、マシンから除去または紛失した可能性のあるエージェントの部分をネットワーク(例えば、インターネット)経由でリロードすることを含む、エージェントの他の機能及びモジュールをロードする役割を果たす。サービスエージェントは、普通なら除去されてしまうような操作を受けたとしても永続的である能力を有する。   According to one aspect of the present invention, a loader module is loaded to obtain control during power-on self-test (POST). Rely on this agent to enable, support and / or provide services (eg, tracking management, data deletion and software updates) to the equipment on which the agent is installed and the assets associated with the equipment on which the agent is installed Can do. Once control is passed to the loader, the loader includes reloading the portion of the agent that may have been removed or lost from the machine, as needed and when appropriate, over a network (eg, the Internet). It is responsible for loading other functions and modules of the agent. Service agents have the ability to be persistent even if they are subjected to operations that would otherwise be removed.

本発明の1つの実施形態では、永続的エージェントのエージェントコードのための少なくとも1つのモジュール及び/またはデータは、装置中に存在するROM及び、特に、基本入出力システム(BIOS)またはその機能的同等物といった、装置のファームウェアにおいて実現される。サービスエージェントは、装置のオペレーティングシステムから独立して、その意図するサービス機能(例えば、追跡管理、データ削除及びソフトウェア更新)を実行できるようにエージェント自体をロードすることができ、動作環境を検出することによって、装置のいくつかの基本的な動作(例えば、入力/出力)を制御する環境(例えば、装置のオペレーティングシステム)に適応することができるので、エージェントはシステムのこうした基本的動作を使用してその意図するサービス機能を実行することができる。   In one embodiment of the invention, the at least one module and / or data for the agent code of the persistent agent is a ROM present in the device and in particular a basic input / output system (BIOS) or a functional equivalent thereof. Realized in the firmware of the device, such as an object. The service agent can load the agent itself to detect its operating environment so that it can perform its intended service functions (eg tracking management, data deletion and software update) independent of the operating system of the device Can adapt to an environment (eg, device operating system) that controls some basic operations (eg, input / output) of the device, so agents can use these basic operations of the system. The intended service function can be executed.

別の実施形態では、永続的エージェントは、「コンピュトレース」ローダモジュール(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)、または上記の組み合わせの中に格納される。   In another embodiment, the persistent agent comprises three main modules, including a “Computrace” loader module (CLM), an adaptive installer module (AIM), and a communications driver agent (CDA). The CLM loads the AIM, which locates the CDA, validates the CDA, decompresses, and adapts to the detected OS environment. In one embodiment, CDA exists in two forms: partial or mini-CDA and full function CDA. The function of the mini-CDA is to determine whether a complete or up-to-date CDA exists somewhere on the device, and if not, load the full-function CDA from the monitoring server via the network (eg Internet). is there. The full function CDA is in charge of all communication between the apparatus and the monitoring server. In another embodiment, different modules, particularly CLM, that may require custom functionality to adapt to a particular environment may be programmable. By providing agents in the form of several modules, the level of customization can be kept to a minimum. In one embodiment, at least the CLM is stored in firmware such as BIOS, and one or more other modules are stored in a hard disk partition gap, or a hard disk drive host protected area (HPA). In another embodiment, the CLM is stored in an alternate master boot record (MBR), or a combination of the above.

別の態様では、エージェントが実行するサービス機能は、エージェントにおいて利用可能な汎用サブファンクションの呼び出しを組み合わせることで、遠隔サーバによって制御してもよい。エージェントはこのようにプログラム可能なので、サーバ主導のコマンドに基づいて拡張することができる。この拡張可能性は、スペースが貴重で機能を追加または変更するための頻繁な更新が経済的ではないBIOSのようなファームウェアにエージェントを無事に導入するため重要である。拡張可能性はエージェントのアクティブ化処理及び再アクティブ化処理の主要な構成要素である。   In another aspect, service functions performed by an agent may be controlled by a remote server by combining invocations of generic subfunctions available at the agent. Because the agent is programmable in this way, it can be extended based on server-initiated commands. This scalability is important because it safely introduces agents into firmware such as BIOS where space is at a premium and frequent updates to add or change functionality are not economical. Scalability is a key component of agent activation and reactivation processes.

本発明の別の態様では、エージェントの拡張可能性によって、クライアント装置に格納されたデータを消去するためのデータ削除アプリケーションが可能になる。   In another aspect of the present invention, the expandability of the agent enables a data deletion application for erasing data stored on the client device.

本発明のまた別の態様では、エージェントの拡張可能性によって、クライアント装置にソフトウェアの更新を供給しプログラムすることが可能になる。   In yet another aspect of the invention, the expandability of the agent allows software updates to be supplied and programmed to the client device.

本発明は、装置の「ユーザ」の操作とは無関係に、事前に導入されたサービスエージェントを「アクティブ」な状態に保持する能力を改善する。本発明の文脈で、「アクティブ」という用語は、エージェントソフトウェアの構成要素がそれ自体をロードして、例えば1つの実施形態では、ハードディスクドライブのフォーマット、オペレーティングシステムの再インストール、イメージングユーティリティを使用したハードディスクドライブの再イメージング、及びハードディスクドライブの交換のための低レベルコマンドを含む、広範な「ユーザ」の操作のための全能力を再構成する特定の能力を指す。「ユーザ」という用語は、こうした操作を実行し、許可された、または許可されていない者として行動し得る個人を指す。エージェントを除去する操作は意図的または偶発的なものでよい。   The present invention improves the ability to keep pre-installed service agents in an “active” state, independent of the operation of the “user” of the device. In the context of the present invention, the term “active” means that the agent software component loads itself, eg, in one embodiment, hard disk drive formatting, operating system reinstallation, hard disk using an imaging utility. Refers to the specific ability to reconfigure the full capability for a wide range of “user” operations, including low-level commands for drive re-imaging and hard disk drive replacement. The term “user” refers to an individual who can perform these operations and act as an authorized or unauthorized person. The operation of removing the agent may be intentional or accidental.

本発明は、(例えば、コンピュータ資産のライフサイクル終了時に)エージェントの無効化を可能にする必要性を正当と認める一方で、サービスエージェントの偶発による除去から許可されたユーザを保護する。本発明は、許可されていないユーザがエージェントソフトウェアを除去するのを防止する。本発明の永続的な属性は、資産保護、データ及びネットワークのセキュリティ、IT資産管理、ソフトウェアの導入、及び他の種類の適用業務において価値を有する。安全でステルス性の装置追跡管理ソフトウェアアプリケーションの状況では、貴重な資産の盗難を隠すことは、窃盗犯がどんな操作を行うかに関らずはるかに困難になっており、ソフトウェアは永続して遠隔監視センタにコンタクトすることが可能であるため、本発明は大きな価値を有する。さらに、サービスエージェントが永続的な性質を有しているため、エージェントが偶発的に除去されないという信頼が得られ、セキュリティ要員に安心が提供される。安全な資産管理アプリケーションの状況では、全ライフサイクルにわたる資産の追跡管理の連続性が保証されるため、本発明はさらなる価値を有する。今日のIT管理者の主要な課題は全ライフサイクルにわたって資産の追跡管理を行う能力である。ライフサイクルの間に、装置はあるユーザから別のユーザに引き渡されることが多く、その際装置は再イメージング、またはオペレーティングシステムの再インストール、または他の形で資産の追跡管理を困難にする保守手順の対象になることがあるが、これは本発明によってより容易になる。永続的で拡張可能なエージェントによって、資産追跡管理サービスに加えて、他のサービスを有効化、サポート及び/または提供することができる。   The present invention protects authorized users from accidental removal of service agents while justifying the need to allow agent deactivation (eg, at the end of the computer asset life cycle). The present invention prevents unauthorized users from removing agent software. The persistent attributes of the present invention have value in asset protection, data and network security, IT asset management, software installation, and other types of applications. In the context of a secure and stealth device tracking management software application, hiding valuable asset theft has become much more difficult regardless of what the thief does, and the software is persistent and remote The present invention has great value because it is possible to contact a monitoring center. Furthermore, since the service agent has a permanent nature, it can be trusted that the agent will not be accidentally removed, providing peace of mind to security personnel. In the context of secure asset management applications, the present invention has further value because it ensures continuity of asset tracking management throughout the entire life cycle. A major challenge for today's IT managers is the ability to track and manage assets throughout their lifecycle. During the lifecycle, a device is often handed over from one user to another, in which case the device re-images, reinstalls the operating system, or otherwise maintains maintenance procedures that make asset tracking difficult This is made easier by the present invention. In addition to the asset tracking management service, other services can be enabled, supported and / or provided by a persistent and extensible agent.

本発明の性質及び利点、及びその好適な使用形態をより完全に理解するには、添付の図面に関連してなされる以下の詳細な説明を参照されたい。これらの図面中、同一の参照符号は全図を通じて同一または同様の部品を表す。   For a more complete understanding of the nature and advantages of the present invention, as well as the preferred mode of use thereof, reference should be made to the following detailed description taken in conjunction with the accompanying drawings. In the drawings, the same reference numerals denote the same or similar parts throughout the drawings.

本発明の1つの実施形態に係る、資産追跡管理を実現し得るネットワークを含む代表的な通信リンクを示す概略図である。1 is a schematic diagram illustrating an exemplary communication link including a network that can implement asset tracking management, in accordance with one embodiment of the present invention. FIG. 本発明の1つの実施形態に係る、永続的エージェントを含む、PCIオプションROMをBIOSに取り付けた状態を示す概略図である。FIG. 3 is a schematic diagram illustrating a PCI option ROM attached to a BIOS, including a persistent agent, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、PCIオプションROM中に存在する永続的エージェントのモジュール構成要素を示す概略図である。FIG. 4 is a schematic diagram illustrating module components of a persistent agent residing in a PCI option ROM, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、オプションROMロードルーチンを示す概略フロー図である。FIG. 6 is a schematic flow diagram illustrating an option ROM load routine, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、永続的エージェントのCLMによって実行されるルーチンを示す概略フロー図である。FIG. 4 is a schematic flow diagram illustrating a routine executed by a persistent agent CLM, in accordance with one embodiment of the present invention. 本発明の1つの実施形態に係る、CLMの割り込みハンドラによって実行されるルーチンを示す概略フロー図である。FIG. 4 is a schematic flow diagram illustrating a routine executed by a CLM interrupt handler, in accordance with one embodiment of the present invention. 本発明の1つの実施形態に係る、CLMの割り込みハンドラによって実行されるルーチンを示す概略フロー図である。FIG. 4 is a schematic flow diagram illustrating a routine executed by a CLM interrupt handler, in accordance with one embodiment of the present invention. 本発明の1つの実施形態に係る、永続的エージェントのAIMによって実行されるルーチンを示す概略フロー図である。FIG. 4 is a schematic flow diagram illustrating a routine executed by the AIM of a persistent agent, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、永続的エージェントのCDAのインストーラモードルーチンを示す概略フロー図である。FIG. 5 is a schematic flow diagram illustrating an installer mode routine for a persistent agent CDA, in accordance with one embodiment of the present invention. 本発明の1つの実施形態に係る、CDAのサービスモードルーチンを示す概略フロー図である。FIG. 3 is a schematic flow diagram illustrating a CDA service mode routine according to one embodiment of the present invention. 本発明の1つの実施形態に係る、アプリケーションモードにおけるCDAの概略表示である。4 is a schematic representation of CDA in application mode, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、フラッシュイメージ管理の概略表示である。2 is a schematic representation of flash image management, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、ホスト保護領域イメージ管理の概略表示である。4 is a schematic representation of host protected area image management, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、パーティションギャップイメージ管理の概略表示である。2 is a schematic representation of partition gap image management, according to one embodiment of the present invention. 本発明の1つの実施形態に係る、永続的エージェントのCDAと遠隔サーバとの間の通信セッションの概略表示である。2 is a schematic representation of a communication session between a persistent agent CDA and a remote server, in accordance with one embodiment of the present invention. 本発明の1つの実施形態に係る、CDAのクライアント側データ削除ルーチンを示す概略フロー図である。FIG. 6 is a schematic flow diagram illustrating a CDA client-side data deletion routine according to one embodiment of the present invention. 本発明の1つの実施形態に係る、サーバ側データ削除ルーチンを示す概略フロー図である。It is a schematic flowchart which shows the server side data deletion routine based on one Embodiment of this invention. 本発明の1つの実施形態に係る、データ削除実行ルーチンを示す概略フロー図である。It is a schematic flowchart which shows the data deletion execution routine based on one Embodiment of this invention.

本説明は発明を実施するための現在考えられる最良の形態に関するものである。本説明は、本発明の一般的原理を例示するためになされたものであって、制限的な意味で受け取るべきではない。本発明の範囲は、添付の請求項を参照することによって最もよく決定される。本発明の根底にある原理を理解すれば明らかになるように、本発明は、本発明の範囲及び精神から離れることなく、多様な実現例において有用性を見出すことができる。本発明の永続的エージェント(Agent)の特徴を例示する目的で、エージェント及び追跡管理エージェントによって提供されるサービスの一例としての資産追跡管理、及びエージェントによって提供されるサービスの別の例としてのデータ削除を参照する。本発明の範囲及び精神から離れることなく、エージェントをソフトウェアの配布及び更新といった他のサービスのために使用してよいことを理解されたい。   This description is of the best mode presently contemplated for carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. As will become apparent upon understanding the principles underlying the present invention, the present invention may find utility in a variety of implementations without departing from the scope and spirit of the present invention. Asset tracking management as an example of services provided by agents and tracking management agents, and data deletion as another example of services provided by agents for purposes of illustrating the characteristics of the persistent agent of the present invention Refer to It should be understood that agents may be used for other services such as software distribution and updates without departing from the scope and spirit of the present invention.

以下の詳細な説明は主として、本発明の方法または処理、動作、機能及び特徴の符号表現によって提示される。これらの方法の説明及び表現は、当業者がその作業の趣旨を別の当業者に最も効果的に伝えるために使用する手段である。ソフトウェアによって実現される方法または処理は、本出願では、かつ一般的に、所望の結果に至る一連の首尾一貫したステップであると考えられる。こうしたステップは物理量の物理的動作を必要とする。必然的ではないが、多くの場合、物理量は、格納、転送、結合、比較及びその他の動作が可能な電気信号または磁気信号の形態を取る。さらに認識されるように、ハードウェアとソフトウェアとの間の境界は必ずしも明確ではなく、ソフトウェアによって実現される処理を、マイクロコード及び/または格納されたプログラム命令などのコーディングされた命令の形態で、ハードウェア、ファームウェア、またはソフトウェアにおいて実施してもよいことを、当業者は理解するだろう。   The following detailed description is presented primarily by a code representation of the method or process, operation, function, and features of the present invention. These method descriptions and representations are the means used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art. A method or process implemented by software is considered in this application and generally a series of coherent steps leading to a desired result. These steps require physical operations of physical quantities. Although not necessarily, physical quantities often take the form of electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise operated. As will be further appreciated, the boundary between hardware and software is not always clear, and the processing implemented by the software can be in the form of coded instructions, such as microcode and / or stored program instructions. One skilled in the art will appreciate that it may be implemented in hardware, firmware, or software.

[追跡管理システムの概要]
資産追跡管理機能は、本発明の永続的エージェントによって有効化、サポート及び/または提供することができるサービスの一例である。図1を参照すると、本発明の1つの実施形態に係る資産追跡管理システムは、以下の主要構成要素を備え得るクライアント/サーバアーキテクチャを包含する。(a)エージェントを埋め込まれた図示の電子装置の何れか1つからなるクライアント装置A。エージェントソフトウェアは、資産、位置及び他の情報を報告し、遠隔サーバから命令を受信して所望の機能をサポート及び実行するようにエージェントをプログラムする目的で、クライアント装置上で実行される。本発明は、偶発または故意による除去に対するエージェントソフトウェアの永続性を高める能力及び監視サーバからのクライアントのプログラミング性を提供する。(b)情報交換リンクなどの通信リンクB。これは交換通信ネットワーク、インターネット、私設及び公衆イントラネット、ラジオネットワーク、衛星ネットワーク、及びケーブルネットワークを含んでもよい。及び(c)ホスト監視システムC。これはクライアント装置Aとホスト監視システムCとの間の通信を監視するホスト監視サーバ3を含み、クライアント装置から定期的にコンタクトを受けクライアント装置からの情報を記録する。また、監視サーバは、クライアントが行う予定の動作、収集すべきデータ、及びクライアントの次の計画呼び出し時間を含む、行うべき動作に関する命令をクライアントに提供する。クライアント装置は、通信リンクB(例えば、IP接続またはダイヤルアップ電話接続)を介して監視サーバにコンタクトする。監視サーバは、インターネット上で提供されるサービス、または企業イントラネット上の自営サーバの何れかとしてその機能を果たすことができる。ホスト監視システムCは、顧客、管理者及び資産追跡管理サービスプロバイダに、監視サーバ及びクライアント装置のデータを閲覧しこれらの機能を管理する能力を提供する報告及び管理ポータルを含んでもよい。ホスト監視サーバは、多数の通信手段を介して、顧客、指定された代理人及び法執行機関に、資産監視の状況に関する通知を行うことができる。
[Tracking management system overview]
The asset tracking management function is an example of a service that can be enabled, supported and / or provided by the persistent agent of the present invention. Referring to FIG. 1, an asset tracking management system according to one embodiment of the present invention includes a client / server architecture that may include the following major components. (A) Client device A composed of any one of the illustrated electronic devices in which an agent is embedded. The agent software is executed on the client device for the purpose of programming the agent to report assets, location and other information and receive instructions from the remote server to support and execute the desired functions. The present invention provides the ability to increase the persistence of agent software against accidental or deliberate removal and the programmability of clients from a monitoring server. (B) Communication link B such as an information exchange link. This may include switched communication networks, the Internet, private and public intranets, radio networks, satellite networks, and cable networks. And (c) the host monitoring system C. This includes a host monitoring server 3 that monitors the communication between the client device A and the host monitoring system C, and periodically receives contact from the client device and records information from the client device. The monitoring server also provides instructions to the client regarding actions to be performed, including actions to be performed by the client, data to be collected, and the next scheduled call time for the client. The client device contacts the monitoring server via communication link B (eg, IP connection or dial-up telephone connection). The monitoring server can serve as either a service provided on the Internet or a self-supporting server on a corporate intranet. The host monitoring system C may include a reporting and management portal that provides customers, administrators and asset tracking management service providers the ability to view monitoring server and client device data and manage these functions. The host monitoring server can notify the customer, designated agent and law enforcement agency regarding the status of asset monitoring via a number of communication means.

図1を参照すると、本発明にかかわる永続的サービスエージェントを実現可能な有用なクライアント装置Aは、制限的ではないが、汎用または特定用途向けデジタル処理、情報処理及び/またはコンピューティング装置を含み、これらの装置は独立型装置またはより大きなシステムの構成部分(例えば、大容量記憶装置)、携帯型、手持ち型または位置固定型でもよい。本発明のサービスエージェントアプリケーションによって異なる種類のクライアント装置を実現してもよい。例えば、以下さらに説明するように、外部サーバと通信する能力を有する、デスクトップクライアントコンピューティング装置、携帯型コンピューティング装置(例えば、ラップトップ及びノートブックコンピュータ)、または手持ち型装置(例えば、携帯電話、PDA(携帯情報端末)、情報家電等)に、本発明のサービスエージェントアプリケーションを適用してもよい。クライアント装置は、装置中に存在するオペレーティングシステムに加えて、装置中に格納されたプログラム、ルーチン及び/または一連の命令及び/または論理によって選択的に動作、起動または設定してもよい。約言すれば、本出願で説明及び示唆される方法の使用は、特定の処理構成に制限されない。   Referring to FIG. 1, a useful client device A capable of implementing a permanent service agent according to the present invention includes, but is not limited to, general purpose or application specific digital processing, information processing and / or computing devices, These devices may be stand-alone devices or larger system components (eg, mass storage devices), portable, handheld, or fixed location. Different types of client devices may be realized by the service agent application of the present invention. For example, as described further below, desktop client computing devices, portable computing devices (eg, laptops and notebook computers), or handheld devices (eg, cell phones, having the ability to communicate with external servers) The service agent application of the present invention may be applied to a PDA (personal digital assistant), an information appliance, and the like. A client device may be selectively activated, activated or configured by programs, routines and / or sequences of instructions and / or logic stored in the device in addition to the operating system present in the device. In short, the use of the methods described and suggested in this application is not limited to a particular processing configuration.

本発明の原理、特徴及び機能の理解を容易にするため、例示実施形態における導入及び実現を参照して説明する。一例として、非制限的に、インターネットのコンテキストに関する配置及び実現の例を参照し、クライアント装置Aとしてラップトップまたはノートブックコンピュータを参照して本発明を説明する(コンピュータA1は略図でデスクトップ装置として表示されているが、携帯型コンピューティング装置でもよい)。本出願では、将来のグローバルネットワークの既存の部分に本発明を適用することを考慮していることを当業者は理解するだろう。さらに、本発明のインターネットの態様はクライアントコンピュータA1を参照して説明及び例示しているが、インターネットアプリケーションは、本発明の範囲及び精神から離れることなく他のクライアント装置に容易に適用可能であることを理解されたい。   To facilitate an understanding of the principles, features and functions of the present invention, it will be described with reference to implementation and implementation in an exemplary embodiment. By way of example and not limitation, the invention will be described with reference to an arrangement and implementation example relating to the context of the Internet and with reference to a laptop or notebook computer as the client device A (computer A1 is shown schematically as a desktop device) But may be a portable computing device). Those skilled in the art will understand that this application contemplates applying the present invention to existing portions of future global networks. Further, while the Internet aspect of the present invention has been described and illustrated with reference to client computer A1, Internet applications can be readily applied to other client devices without departing from the scope and spirit of the present invention. I want you to understand.

図1は、資産追跡管理のため本発明を導入可能な情報交換ネットワークの形態の通信リンクBの概略図である。本発明に係る資産追跡管理エージェントアプリケーションがアクセスする情報交換ネットワークは、非制限的に、公衆及び私設コンピュータネットワーク(例えば、インターネット、イントラネット、WAN、LAN等)、付加価値ネットワーク、通信ネットワーク(例えば、有線または無線ネットワーク)、同報ネットワーク、ケーブルネットワーク、ラジオネットワーク、及びこうしたネットワークの均質または不均質な結合といった、分散型情報交換ネットワークを包含してもよい。当業者が認識するように、ネットワークはハードウェア及びソフトウェアの両方を含み、個々の目的に対して説明が最も有益になるように、それらの何れか一方または両方として見てもよい。例えば、ネットワークは、通信機能による相互接続が可能なハードウェアノードの集合として説明してもよく、また代替的には、通信機能として説明してもよく、また代替的には、ノードを伴うかまたは伴わない通信機能自体として説明してもよい。さらに、ハードウェア、ファームウェア及びソフトウェアの間の境界は必ずしも明確でないことが認識され、こうしたネットワーク及び通信機能、及び永続的エージェント技術プラットフォームの構成要素は、ソフトウェア、ファームウェア及びハードウェアの態様を包含する。   FIG. 1 is a schematic diagram of a communication link B in the form of an information exchange network into which the present invention can be introduced for asset tracking management. Information exchange networks accessed by the asset tracking management agent application according to the present invention include, but are not limited to, public and private computer networks (eg, the Internet, Intranet, WAN, LAN, etc.), value added networks, communication networks (eg, wired). Or a wireless network), a broadcast network, a cable network, a radio network, and a distributed or information exchange network such as a homogeneous or heterogeneous combination of such networks. As those skilled in the art will appreciate, a network includes both hardware and software, and may be viewed as either or both of which the description is most useful for a particular purpose. For example, a network may be described as a collection of hardware nodes that can be interconnected by communication functions, and alternatively may be described as communication functions, and alternatively with nodes or It may be described as a communication function itself that is not accompanied. Furthermore, it is recognized that the boundaries between hardware, firmware and software are not necessarily clear, and such network and communication functions and components of the persistent agent technology platform encompass aspects of software, firmware and hardware.

インターネットは、本発明を実現し得るコンピュータネットワークを含む情報交換ネットワークの一例である。インターネットを構成する(サーバ、ルータ、ゲートウェイ等といった)様々なハードウェア及びソフトウェア構成要素の詳細は、当業技術分野で周知であるので示さない。さらに、ユーザ/クライアント装置及びサーバによるインターネットへのアクセスは、同軸ケーブル、電話回線、無線RFリンク等及びブラウザのようなツールによって実現してもよいことを理解されたい。サーバとクライアントとの間の通信は既定のプロトコルによって行われる。以下指摘するように、本発明の永続的資産追跡管理エージェントアプリケーションは、情報交換ネットワークを通じてサーバの1つと通信可能なクライアントの1つにおいて、またはそれ自体として構成してもよい。本発明は他の既存の技術と組み合わせて動作するが、このことは当業技術分野で周知であるので、本発明を不明瞭にするのを避けるため本出願では説明しない。具体的には、例えば、インターネット、ウェブベースのツール及び通信、及び関連方法及びプロトコルを包含する方法が現在存在する。   The Internet is an example of an information exchange network including a computer network that can implement the present invention. Details of the various hardware and software components (such as servers, routers, gateways, etc.) that make up the Internet are not shown because they are well known in the art. Further, it should be understood that access to the Internet by user / client devices and servers may be achieved by tools such as coaxial cables, telephone lines, wireless RF links, etc. and browsers. Communication between the server and the client is performed by a predetermined protocol. As pointed out below, the persistent asset tracking management agent application of the present invention may be configured in one of the clients that can communicate with one of the servers through the information exchange network, or as itself. Although the present invention operates in combination with other existing technologies, this is well-known in the art and will not be described in this application to avoid obscuring the present invention. Specifically, methods currently exist that include, for example, the Internet, web-based tools and communications, and related methods and protocols.

図1を参照すると、ホスト監視システムCは単に、(同時または並行して)1つかそれ以上の通信リンクBを介して、エージェントをインストールしたクライアント装置Aとデータを交換するように構成したコンピュータ(例えば、サーバ3)でよい。ホスト監視システムCは、外部ユーザアクセスを識別及びフィルタリングするルーチン(C1)を含む。また、ホスト管理システムCは、報告及び管理ポータルを介して、追跡管理されるクライアント装置Aに関する情報(例えば、ネットワーク位置情報)について追跡管理される装置Aの所有者及び/または代理人と直接または間接に通信する(C3)。例えば、ホスト監視システムCは、電子メール、ファックス、ポケットベル(登録商標)、電話等によって、追跡管理される装置の所有者、所有者が指定した代理人、会社が指定した部署または代理人、人員を配置した監視サービスステーション、法執行機関等と通信してもよい。代替的には、ホスト監視システムCは、それ自体が人員を配置した監視サービスステーション、または法執行機関の一部であってもよい。ホスト監視システムC及び/または下流のターゲット位置(例えば、人員を配置した監視サービスステーション)では、追跡管理される資産のインベントリリスト、または追跡管理される資産の紛失/盗難状態を管理する。図1では1つのホスト監視システムCが図示されているが、例えば異なる地理的範囲にある通信ネットワークにわたって複数のホスト監視システムCを分散させてもよい。   Referring to FIG. 1, the host monitoring system C is simply a computer configured to exchange data with a client device A that has an agent installed thereon (simultaneously or in parallel) via one or more communication links B. For example, the server 3) may be used. The host monitoring system C includes a routine (C1) that identifies and filters external user access. Further, the host management system C directly or directly with the owner and / or agent of the device A that is tracked and managed for information (for example, network location information) about the client device A that is tracked and managed through the report and management portal Communicate indirectly (C3). For example, the host monitoring system C includes an owner of a device to be tracked and managed by e-mail, fax, pager (registered trademark), telephone, etc., an agent designated by the owner, a department or agent designated by the company, You may communicate with surveillance service stations, law enforcement agencies, etc. where personnel are located. Alternatively, the host monitoring system C may itself be part of a monitoring service station, staffed, or law enforcement. The host monitoring system C and / or a downstream target location (eg, a monitoring service station with personnel) manages the inventory list of assets to be tracked or the lost / stolen state of the assets being tracked. Although one host monitoring system C is illustrated in FIG. 1, a plurality of host monitoring systems C may be distributed over communication networks in different geographical areas, for example.

エージェントの重要な機能の1つは、ホスト監視システムCにコンタクトして、関連するクライアント装置Aに関する識別情報、位置、及び/または他の情報を報告することである。本発明の1つの実施形態によれば、各クライアント装置Aは固有の識別情報に関連付けられており、この識別情報はクライアント装置Aがホスト監視ステーションCに提供する情報の一部でもよい。固有の識別情報は、電子シリアル番号(ESN)、媒体アクセス制御(MAC)番号、インターネットホスト名/IPアドレス、所有者/ユーザを特定する識別情報、またはクライアント装置を表示、識別する、及び/またはその識別を可能にする他の数字、英字または英数字情報、エージェントの現実または仮想の地理的位置及びその識別情報を決定または評価するさらなる基礎を提示し得る日付及び時間といったさらに別の情報でもよい。   One important function of the agent is to contact the host monitoring system C to report identification information, location, and / or other information about the associated client device A. According to one embodiment of the present invention, each client device A is associated with unique identification information, which may be part of the information that the client device A provides to the host monitoring station C. The unique identification information may be an electronic serial number (ESN), a medium access control (MAC) number, an Internet host name / IP address, identification information identifying the owner / user, or displaying, identifying the client device, and / or Other numbers such as other numeric, alphabetic or alphanumeric information that allows its identification, the actual or virtual geographical location of the agent, and other information such as date and time that can provide further basis for determining or evaluating the identification information .

ステルスエージェントを使用して資産の追跡管理及び/または盗難または紛失にあった装置Aの回復を行うことの一般的な概念は、本発明の譲受人であるアブソリュートソフトウェア社に譲受された特許で開示されている。エージェントは、ホスト監視システムCを呼び出す適当な時間を決定しなければならない。ここでは、一旦エージェントがインストールされ実行されると、エージェントは、通信処理を開始するためのユーザの介入なしに、周期的(例えば、N時間毎)、(例えば、システムまたはユーザのログオンから)所定の時間が経過した後、または装置のシステムブートの後、または何らかの所定の条件の発生時、またはハードウェアの再設定といった何らかの内部または外部のイベントによるトリガの何れかによって、通信リンクBを介してホスト監視システムCにその識別情報及び/または位置を報告するということに簡単に言及すれば十分であろう。また、エージェントは、同時に2つかそれ以上の利用可能な通信リンクBを介してホスト監視システムCにその識別情報及び位置を報告してもよい。エージェントと、ひいては追跡管理される装置の位置は、例えば、インターネットを介してクライアント装置Aとホスト監視システムCとの間の通信を可能にするために使用される全てのIPルータのリストを得るトレースルートルーチンによって決定してもよい。   The general concept of using stealth agents to track assets and / or recover device A that has been stolen or lost is disclosed in a patent assigned to Absolute Software, the assignee of the present invention. Has been. The agent must determine an appropriate time to call the host monitoring system C. Here, once an agent has been installed and executed, the agent can periodically (eg, every N hours), without user intervention to initiate a communication process (eg, from a system or user logon). Over the communication link B, either after a certain period of time or after a system boot of the device, or when some predetermined condition occurs, or triggered by some internal or external event, such as a hardware reconfiguration It would be sufficient to simply mention reporting the identification information and / or location to the host monitoring system C. The agent may also report its identification information and location to the host monitoring system C via two or more available communication links B at the same time. The location of the agent, and thus the device being tracked, is a trace that obtains a list of all IP routers that are used to enable communication between the client device A and the host monitoring system C over the Internet, for example. It may be determined by a route routine.

監視システムCに送信された全ての位置及び資産関連データは中央リポジトリに保持してもよく、許可された管理者は、安全なウェブベースまたはネットワークベースのコンソールを介して週7日24時間いつでもそれにアクセスできる。1つの実施形態では、エージェントが位置及び資産データを転送すると、監視システムCは、次のタスクの集合及び次の計画呼び出し日時をエージェントに送信しプログラムする。監視システムCは、全てのエージェントの送信をアーカイブし、各コンピュータ(C2)に関する最新かつ正確な監査証跡を提供する。包括的なコンピュータ資産追跡管理及びインベントリ作成ソリューションは、企業ネットワークに局所的に接続しているシステム、及びIPまたはダイヤルアップを介して遠隔的に接続する遠隔及びモバイルシステム上でこの情報を取り込む。さらに、情報を定期的に取り込んで、資産の最新の状態を確実に把握できるようにする必要がある。   All location and asset related data sent to monitoring system C may be kept in a central repository, and authorized administrators can do it 24 hours a day, 7 days a week via a secure web-based or network-based console. Accessible. In one embodiment, when the agent transfers location and asset data, the monitoring system C sends the next set of tasks and the next scheduled call date to the agent for programming. Monitoring system C archives all agent transmissions and provides a current and accurate audit trail for each computer (C2). Comprehensive computer asset tracking management and inventorying solutions capture this information on systems that are locally connected to the corporate network and on remote and mobile systems that are remotely connected via IP or dial-up. In addition, information needs to be captured regularly to ensure that the latest state of the asset is known.

以下さらに説明するように、追跡管理エージェントは、改竄に対する高い耐性を備えた永続的なものであり、エージェントは、許可されていないユーザに対して透過的になるように設定してもよい。エージェントは、ユーザから隠しておくため、干渉するように設計されている場合以外は、動作中のアプリケーションに干渉しない。本発明に係るエージェントの新規な特徴、機能及び動作を以下さらに十分に論じる。   As described further below, the tracking management agent is permanent with high resistance to tampering, and the agent may be configured to be transparent to unauthorized users. Since the agent is hidden from the user, it will not interfere with a running application unless it is designed to interfere. The novel features, functions and operations of agents according to the present invention are discussed more fully below.

[永続的エージェントプラットフォームの概要]
IT管理者は、コンピュータの全ライフサイクルを通じて全てのコンピュータ資産を着実に追跡管理する能力を必要とする。これはLANの外部で動作する遠隔及びモバイルコンピュータを含む。資産追跡管理エージェントは、コンピュータのライフサイクルの初めに一旦インストールし、コンピュータが廃棄されるまで定期的に通信する必要がある。ライフサイクルの間に、コンピュータは多くのユーザ、ハードウェア及びソフトウェアの変更を経験するので、追跡管理エージェントが永続的であり、これらの3つの分野での変化を報告できることが重要である。本発明に係る永続的エージェントは、たとえハードディスクドライブが再フォーマットされたり、オペレーティングシステムが再インストールまたは改竄されたりした場合でも、例えば、IMAC及びブレーク/フィックス動作と無関係に、PCの全ライフサイクルを通じて、PC資産の当初の識別情報とその状態を報告することができる。永続的エージェントは、それ自体を保護するように設計されているので、許可されていない削除試行を乗り切って残存することができる。この永続的な特徴は、盗難にあった場合PC資産との接続を保持し、正確で安全な資産追跡管理を確保するため重要である。
[Overview of Persistent Agent Platform]
IT managers need the ability to steadily track and manage all computer assets throughout the entire computer life cycle. This includes remote and mobile computers operating outside the LAN. The asset tracking management agent must be installed once at the beginning of the computer life cycle and communicated periodically until the computer is discarded. As computers experience many user, hardware and software changes during their life cycle, it is important that the tracking agent is persistent and can report changes in these three areas. The persistent agent according to the present invention, for example, throughout the entire lifecycle of a PC, regardless of IMAC and break / fix actions, even if the hard disk drive is reformatted or the operating system is reinstalled or tampered with. It is possible to report the initial identification information and the state of the PC asset. A permanent agent is designed to protect itself, so it can survive an unauthorized deletion attempt. This permanent feature is important for maintaining connectivity with PC assets in case of theft and ensuring accurate and secure asset tracking management.

永続的エージェントはホストコンピュータ上に存在する検出不可能な下位ソフトウェアクライアントである。エージェントは永続的ソフトウェアであり、削除するのは極めて困難である。エージェントは、たとえエージェントサービスが従来の手段によって削除された場合でも、エージェントソフトウェアのインストレーションを再構築するように機能する自己回復機能を組み込んでいる。エージェントは、オペレーティングシステムのインストール、ハードディスクドライブのフォーマット、及びさらにはハードディスクドライブの交換までも乗り切って残存する。この残存力は、資産追跡管理及び盗難からの回復(及びエージェントが有効化、サポート及び/または提供し得る他のサービス)を成功させるために重要である。自己回復機能はファイルシステム中に存在しないので、これまでのソフトウェアより検出及び削除が困難である。ソフトウェアの永続的かつ自己回復的な部分はそのステルス性のため削除するのが困難である。このソフトウェアは普通、正しいパスワードを有する許可されたIT管理者によってのみ削除される。自己回復機能は、新たにフォーマット及びインストールされたオペレーティングシステム及び新たにイメージングされたシステムにおいてエージェントのインストールを修復するように機能する。   A persistent agent is an undetectable subordinate software client that resides on a host computer. Agents are permanent software and are extremely difficult to remove. The agent incorporates a self-healing function that functions to reconstruct the installation of the agent software even if the agent service is deleted by conventional means. The agent survives operating system installation, hard disk drive formatting, and even hard disk drive replacement. This survivability is important for successful asset tracking management and theft recovery (and other services that agents can enable, support and / or provide). Since the self-healing function does not exist in the file system, it is more difficult to detect and delete than conventional software. The permanent and self-healing part of the software is difficult to remove due to its stealth. This software is usually removed only by authorized IT administrators with the correct password. The self-healing function functions to repair the agent installation in the newly formatted and installed operating system and the newly imaged system.

本発明の別の態様では、エージェントは最初にプログラムされたもの以上に機能を拡張するようにプログラム可能である。エージェントは遠隔サーバと通信し、その際遠隔サーバは次のタスク集合をエージェントに提供することによって、エージェントに対する送信及びプログラムを行う。   In another aspect of the invention, the agent is programmable to extend functionality beyond what was originally programmed. The agent communicates with the remote server, where the remote server sends and programs to the agent by providing the agent with the next set of tasks.

エージェントは、何らかの電子装置のハードウェア、ファームウェアまたはソフトウェアにおいて実現してもよい。代替的には、エージェントは、モデム中のDSPまたはコンピュータ中のCPUなどの電子構成要素といった、装置の何らかの構成要素において実現してもよい。さらに、データのパケットの送信及び/または受信を通じて通信リンクを確立することのできる何らかのハードウェア装置の回路においてエージェントの機能を実現してもよい。例えば、電子装置の(ROM BIOS、ROM、フラッシュROM、EPROM、EEPROM等といった)不揮発性メモリ、ソフトウェアプログラム、マイクロコードプログラム、デジタル信号プロセッサ(「DSP」)プログラムまたはオペレーティングシステムのビルトイン機能においてエージェントを具体化してもよい。   An agent may be implemented in any electronic device hardware, firmware or software. Alternatively, the agent may be implemented in some component of the device, such as an electronic component such as a DSP in a modem or a CPU in a computer. Further, the agent function may be implemented in a circuit of any hardware device capable of establishing a communication link through transmission and / or reception of data packets. For example, an agent may be specified in a built-in function of a non-volatile memory (such as ROM BIOS, ROM, flash ROM, EPROM, EEPROM, etc.), a software program, a microcode program, a digital signal processor (“DSP”) program of an electronic device May be used.

本発明の1つの実施形態によれば、永続的追跡管理エージェント(以下「永続的エージェント(Persistent Argent)」とも言う)はBIOS(またはそれと機能的に同等のシステム)において具体化される。当業技術分野で周知のように、BIOSはシステムの電源投入時または再起動時に常に実行される起動コードである。これは、処理ユニット中に埋め込まれたマイクロコードでもよく、またメモリ空間中の既定の位置から開始されるソフトウェア(命令)でもよい。こうした命令は、装置上に存在するオペレーティングシステムのブートと無関係かつ通常その前に、電源投入時自己診断(POST)といった起動動作及びディスクドライブ、キーボード、及びモニタといったハードウェアの低レベル制御を取り扱う。1つの実施形態では、永続的エージェントは、パーソナルコンピュータのようなクライアント装置A中の読み出し専用メモリ(ROM)のようなファームウェアにおいて具体化される。チップに埋め込まれる時、BIOSはROM中の符号化された命令の集合を含む。以下BIOSへの言及は全てROMベースのBIOSに制限されないことを理解されたい。   According to one embodiment of the present invention, a persistent tracking management agent (hereinafter also referred to as a “persistent agent”) is embodied in BIOS (or a functionally equivalent system). As is well known in the art, the BIOS is startup code that is executed whenever the system is powered on or restarted. This may be microcode embedded in the processing unit or software (instructions) starting from a predetermined location in the memory space. These instructions deal with booting operations such as power-on self-test (POST) and low-level control of hardware such as disk drives, keyboards, and monitors, and usually before and without booting the operating system present on the device. In one embodiment, the persistent agent is embodied in firmware such as read only memory (ROM) in client device A such as a personal computer. When embedded on the chip, the BIOS contains a set of encoded instructions in ROM. It should be understood that all references to BIOS below are not limited to ROM-based BIOS.

現在販売されているマザーボード上のBIOSチップの一般的な銘柄にはフェニックステクノロジーズ(Phoenix Technologies)(登録商標)、インテル(Intel)(登録商標)、IBM(登録商標)及びアメリカンメガトレンド(American Megatrends,Inc.)(登録商標)が含まれる。システム構成要素の中には、固有のBIOSチップを有するものがあるが、その命令も起動時に装置のメモリに読み出される。例えば、ハードディスク制御装置上のBIOSは、ドライブ上にトラック及びセクタのテーブルを格納する。アブソリュートソフトウェア社の以前の特許で開示されたBIOSベースのエージェントと異なって、本発明は、エージェントのためのBIOSベースのローダの使用を含む改善を提示する。BIOSベースのローダはエージェント構成要素をより永続的にするので、資産追跡管理または他のサービス機能を無効にするのはさらに困難になる。また、BIOSベースのローダはマシンのブート順序を逆にする必要を解消し、ひいては製造工程中の1つのステップを除去する。また、BIOSベースのローダは、アンチウイルススキャナ、ディスク全体の暗号化、及びマスターブートレコード(MBR)中のオペレーティングシステムローダを読み出しまたは修正する他のユーティリティといった製品との間で発生し得る互換性の問題を軽減する。   Common brands of BIOS chips on motherboards currently on sale include Phoenix Technologies (registered trademark), Intel (registered trademark), IBM (registered trademark), and American Megatrends, Inc.) (registered trademark). Some system components have their own BIOS chip, but their instructions are also read into the device's memory at startup. For example, the BIOS on the hard disk control device stores a table of tracks and sectors on the drive. Unlike the BIOS-based agent disclosed in previous absolute software company patents, the present invention presents improvements including the use of a BIOS-based loader for the agent. As BIOS-based loaders make agent components more permanent, it becomes more difficult to disable asset tracking management or other service functions. A BIOS-based loader also eliminates the need to reverse the boot order of the machine, and thus eliminates one step in the manufacturing process. BIOS-based loaders are also compatible with products such as anti-virus scanners, whole disk encryption, and other utilities that read or modify the operating system loader in the Master Boot Record (MBR). Reduce the problem.

本発明の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である。   According to one embodiment of the present invention, as shown in FIG. 2, a persistent agent 10 is initially attached to a peripheral BIOS interface image (Core BIOS Flash Image) 13. It is stored in an option ROM (Option ROM) such as a PCI option ROM (PCI Option ROM) 12 which is a PCI-based option ROM. Additional option ROMs may be installed that support other functions not related to the persistent agent (not shown). The persistent agent 10 comprises a plurality of modules. As shown in FIG. 3, the three main modules are a “Compute” loader module (CLM) 14, an adaptive installer module (AIM) 16, and a communication driver agent (CDA) 18.

永続的エージェント10の3つのモジュールを含む小容量(圧縮した状態で約22Kbでよい)のPCIオプションROM12は、標準コアフラッシュイメージに結合され、BIOS POSTの際BIOS及び他のオプションROMと共に保護されたメモリにロードされる永続的エージェント10の3つのモジュールを含む。小容量のPCIオプションROMはPOSTによって認識され、BIOS POSTの際BIOS及び他のオプションROMと共に読み出し/書き込みシャドウメモリにロードされる。この構成は、開発のための労力と、再認定を必要とするコアBIOS中のインタフェース規定点の数とを最小化しつつ、セキュリティの向上を可能にするモジュールアーキテクチャを提供する。   A small-capacity PCI option ROM 12 (which can be about 22 Kb in compressed state) containing three modules of the persistent agent 10 is combined with a standard core flash image and protected along with the BIOS and other option ROMs during BIOS POST Contains three modules of persistent agent 10 loaded into memory. A small capacity PCI option ROM is recognized by POST and loaded into the read / write shadow memory along with BIOS and other option ROMs during BIOS POST. This configuration provides a modular architecture that allows for improved security while minimizing development effort and the number of interface specification points in the core BIOS that require recertification.

CLMは、PCI(PC装置の場合)、イメージ管理(Image Management)及び実行環境(Execution Environmnet)機能を組み込んでいる。CLMは、BIOSへのインタフェース、AIMの位置の特定及びアンパック、PCIオプションROMの最終サイズへのサイズ変更、及びシステム上の適切なコンテキストでのAIMの実行を担当する。AIMはハードディスクドライブにアクセスし、アクティブなオペレーティングシステムを検出し、ミニCDAを、発見されたインストレーションに適応する。ミニCDAは通信ドライバである。ミニCDAは、HTTPプロトコルのサポート、監視サーバと通信するためのアプリケーション層、OSへのインタフェースのためのサービス層、及びAIMとのインタフェースのための適応層を含む。   The CLM incorporates functions of PCI (in the case of a PC device), image management (Image Management), and execution environment (Execution Environment). The CLM is responsible for interfacing to the BIOS, locating and unpacking the AIM, resizing the PCI option ROM to the final size, and executing the AIM in the appropriate context on the system. The AIM accesses the hard disk drive, detects the active operating system, and adapts the mini CDA to the discovered installation. The mini CDA is a communication driver. The mini-CDA includes HTTP protocol support, an application layer for communicating with the monitoring server, a service layer for interfacing with the OS, and an adaptation layer for interfacing with the AIM.

ミニCDAは、オペレーティングシステムがロードされる時、コンピュータのファイルシステム中で全機能CDAがサービスとして実行可能か否かの確認を担当する。全機能CDAが利用できない場合、ミニCDAは監視サーバから全機能CDAのダウンロードを開始する。全機能CDAが存在する場合、監視サーバ上にそのより新しいバージョンが存在するかを頻繁に確認し、新しいバージョンが利用可能な場合は、それ自体を新しいバージョンに置き換える。   The mini-CDA is responsible for checking whether the full-function CDA is executable as a service in the computer's file system when the operating system is loaded. If the full function CDA is not available, the mini CDA starts downloading the full function CDA from the monitoring server. If a full-function CDA is present, it is frequently checked if there is a newer version on the monitoring server, and if a new version is available, replace itself with the new version.

様々なモジュールのこれら及び他の実施形態をさらに十分に論じる。   These and other embodiments of the various modules are discussed more fully.

[BIOS POSTシーケンス及びオプションROMロード処理]
オプションROMのロード処理20を図4のフロー図に示す。永続的エージェント10を導入したクライアント装置Aのブート時、BIOS POST処理は自己診断及びチップセット設定ルーチンを実行し(21)、マザーボード上または拡張カード上の機能をサポートするオプションROMを探してバスをスキャンする段階に到達する(22)。この段階では、永続的エージェント10を含むPCIオプションROM12を下位メモリ(例えば、RAM)にロードし(23)、その初期化ベクトル(以下論じるように、CLM14)を呼び出す(24)。初期化ルーチンは、サポートされる機能の状態とその最終イメージサイズを決定する。その後、BIOS POST処理はオプションROMのスキャンを完了し、機能が存在する各オプションROMの最終位置を計算する(25及び26)。そして、永続的エージェントを有効化したPCIオプションROM12を含む、各PCIオプションROMの位置を再度特定し、その完了ベクトルを呼び出す(一部のフェニックスBIOSでは、例えば、PCIオプションROMの位置を再度特定せず、初期化ベクトルから戻る前にヘッダ中で宣言された最終サイズに適合するように縮小するだけである)。全てのオプションROMの位置を再度特定した後、BIOSメモリを書き込み保護する(27)。オペレーティングシステムが無事に起動するまで、ブート装置を順番に呼び出す(28)。この段階で、装置のオペレーティングシステムとエージェントの両方が同時に実行される。
[BIOS POST sequence and option ROM load processing]
The option ROM loading process 20 is shown in the flowchart of FIG. When the client device A in which the permanent agent 10 is installed is booted, the BIOS POST process executes a self-diagnosis and a chipset setting routine (21) and searches for an option ROM that supports functions on the motherboard or the expansion card. The scanning stage is reached (22). At this stage, the PCI option ROM 12 containing the persistent agent 10 is loaded into lower memory (eg, RAM) (23) and its initialization vector (CLM 14 as discussed below) is called (24). The initialization routine determines the state of the supported function and its final image size. Thereafter, the BIOS POST process completes the option ROM scan and calculates the final location of each option ROM where the function exists (25 and 26). It then re-identifies the location of each PCI option ROM, including the PCI option ROM 12 with the persistent agent enabled, and calls its completion vector. (Some Phoenix BIOSes, for example, re-identify the location of the PCI option ROM. Rather, it simply shrinks to fit the final size declared in the header before returning from the initialization vector). After the locations of all option ROMs are specified again, the BIOS memory is write-protected (27). The boot devices are called in sequence until the operating system is successfully started (28). At this stage, both the device operating system and the agent are executed simultaneously.

[PCIオプションROM]
[A.ローダモジュールCLM]
CLM14は、AIM16のための一時実行環境のセットアップ、AIM16のロード及び圧縮解除、及びその適当なコンテキストでの呼び出しを担当する。CLM14の最後の「行為」は、最小サイズ(2K)に縮小し、POSTに実行を戻すことである。AIM16が見つからないかまたは無効な場合、CLMは単に「失敗」となるだけである。
[PCI option ROM]
[A. Loader module CLM]
CLM 14 is responsible for setting up a temporary execution environment for AIM 16, loading and decompressing AIM 16, and calling it in the appropriate context. The last “action” of the CLM 14 is to reduce to the minimum size (2K) and return execution to POST. If the AIM 16 is not found or invalid, the CLM simply “fails”.

CLM14はPOSTへのインタフェース、またはPCIオプションROM12の「フロントエンド」である。PCIオプションROM12のヘッダはCLM14中にあり、そのエントリポイントはこのヘッダの標準に準拠して通知される。CLM14は、BIOS POSTに統合するための次の2つのファンクションポイントを提供する。
1.ROMヘッダ及びPCIオプションROMヘッダのペア
2.割り込みハンドラ(Interrupt Handler)
The CLM 14 is an interface to the POST or “front end” of the PCI option ROM 12. The header of the PCI option ROM 12 is in the CLM 14, and its entry point is notified in accordance with the standard of this header. The CLM 14 provides the following two function points for integration into the BIOS POST:
1. 1. ROM header and PCI option ROM header pair Interrupt handler (Interrupt Handler)

PCIオプションROMの様々な構成要素のこれら及び他の機能を以下、例えば、IBMのT43型ノートブックコンピュータにインストールされたIBM BIOSを参照して説明する。   These and other functions of the various components of the PCI option ROM will be described below with reference to, for example, an IBM BIOS installed on an IBM T43 notebook computer.

[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に制御を渡す。
[1. ROM entry point]
An initial interface is presented upon enumeration of the PCI option ROM by the BIOS. This interface is a pair of standard legacy ROM header and PCI option ROM header. For example, referring to Phoenix BIOS, a PCI vendor ID (PCI Vendor ID) of 1917h and a device ID of 1234h may be set. As described above, when the BIOS POST process scans the bus looking for an option ROM that supports functions on the motherboard or expansion card, the entire PCI option ROM 12 is loaded and the initialization vector of the CLM 14 is called. Option ROM was compressed. Load and execute the COM application. The ROM entry point is defined by the START_SEG label. The START_SEG segment contains a ROM header and a link to its PCI option ROM header. The option ROM is initialized by FAR CALL to option ROM offset 3. The jump instruction chain now passes control to OptRomProc.

図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)。
Referring to FIG. 5, the routine 30 undertaken by the PCI option ROM CLM 14 may be summarized as follows.
a. A BIOS POST memory manager is searched for (31).
b. Assign control STUB_BLOCK (eg, 2K for interrupt handling and application execution) (32).
c. Allocate expanded memory for backup of compressed (COMPRESSED) applications and application memory (eg, 64K) (33).
d. Allocate a block (eg, 64K) of application memory in conventional memory for execution of a decompressed application (34).
e. If the disk service is available (according to the count at 40: 75h, ie the number of hard disks) (35), the application is executed immediately (36), the memory is released (39), and the option ROM is zeroed (40).
f. If the video vector (Int 10h) is smaller than XBDA (40: 0Eh) (37), Int 15h is hooked to STUB_BLOCK (38), and the option ROM is reduced to zero (40).
g. Also, if you can't do anything without hooks, you're a failure! The memory is released (39) and the option ROM is reduced to zero (40).

[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は主要な割り込みフックエントリポイントを含む。
[2. Interrupt handler]
The second interface is an interrupt handler. This is performed after the initial loading and execution of the PCI option ROM initialization procedure from memory allocated from the BIOS POST memory manager. This interface is first executed at Int 15h and then with an alternative trigger. Int 19h is the preferred alternative trigger and is the default. The interrupt handler is activated only when the BIOS disk service (Int 13h) is not yet available during the initialization of the PCI option ROM. In some cases, Int 19h is the preferred triggering method because Int 13h may not be issued by the BIOS after the last Int 15h / func 9100h. Another problem is that the physical drive 80h may not match the physical drive 80h at Int 19h until just before Int 19h. ComFileStub contains the main interrupt hook entry point.

図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)。
Referring to FIGS. 6A and 6B, the process 41 undertaken by the interrupt handler may be summarized as follows.
a. At each Int 15h trigger, 9100h is functional (hard disk IRQ complete, indicating that Int 13h is in use) (42).
b. It is confirmed whether the hard disk service is available (count at 40: 75h) (43).
c. It also checks if the video vector is greater than or equal to XBDA (40: 0 Eh, indicating that the POST setup phase has been completed).
d. If the chain is not yet chained (44).
e. The hook of Int 15h is restored, the trigger Int xxh is hooked (_TRIGGER_INTNUM setting = Int 13h or Int 19h), and the next Int xxh is waited (45).
f. At the next trigger Int xxh (Int 13h or Int 19h), the trigger Int xxh is restored at (Int 13h or Int 19h) (46).
g. The stack is switched (48).
h. The decompressed (DECOMPRESSED) application memory is backed up and copied to the extended memory BACKUP_BLOCK (49).
i. The compressed (COMPRESSED) application is copied to the decompressed (DECOMPRESSED) application memory block (50).
j. The application is called and the contents of the application memory decompressed from the extended memory BACKUP_BLOCK (DECOMPRESSED) are restored (51).
k. Switch stacks back (52)
l. The trigger Int xxh call interrupted by the chain is completed (53).

[B.エージェントインストーラモジュール(AIM)]
AIM16は、CLM14によってセットアップされる実行のコンテキストでロードされるように設計されている。図7を参照すると、AIM16が引き受けるルーチン54は以下のステップを含む。実行されると、AIM16はパーティションテーブルをスキャンしてアクティブパーティションを探す(55)。アクティブパーティション上で、AIM16はオペレーティングシステム(OS)のシステムディレクトリまたはそれをポイントする設定ファイルを探し(56)、通信ドライバエージェントCDAのインストーラモードインスタンスを作成しインストールする(57)。インストール機構はOS毎に特定かつ固有のものであり、AIM16は標準OSインストール機構を使用する。
[B. Agent Installer Module (AIM)]
The AIM 16 is designed to be loaded in the context of execution set up by the CLM 14. Referring to FIG. 7, the routine 54 undertaken by the AIM 16 includes the following steps. When executed, AIM 16 scans the partition table for an active partition (55). On the active partition, the AIM 16 looks for the operating system (OS) system directory or a configuration file pointing to it (56) and creates and installs an installer mode instance of the communication driver agent CDA (57). The installation mechanism is specific and unique to each OS, and the AIM 16 uses a standard OS installation mechanism.

[C.通信ドライバエージェント(CDA)]
CDA18は、ミニCDA及び全機能CDAという2つの形態で存在する。1つの実施形態では、ミニCDAはPCIオプションROM12中に存在する。ミニCDAの機能は、全機能及び/または最新バージョンのCDAが装置上にインストールされ機能しているか否かを決定し、そうでない場合、インターネット経由でホスト監視サーバC(図1)から全機能CDAをロードすることである。そして、全機能CDAは、装置とホスト監視サーバCとの間の全ての通信を担当する。
[C. Communication driver agent (CDA)]
CDA18 exists in two forms: mini-CDA and full-function CDA. In one embodiment, the mini CDA resides in the PCI option ROM 12. The function of the mini CDA determines whether the full function and / or the latest version of the CDA is installed and functioning on the device, otherwise, the full function CDA from the host monitoring server C (FIG. 1) via the Internet. Is to load. The full function CDA is in charge of all communication between the apparatus and the host monitoring server C.

図8を参照すると、ミニCDAはまず(AIM16経由で)インストーラモード58を実行するが、そこではミニCDAの主要な機能はOSサービスとして登録することである。エージェントのインストーラモードインスタンスはそれ自体の別のインスタンスを作成し(59)、例えば2000/XPでは、サービスマネージャによってそのコピーを登録する(60)。実行コードはそれ自体のインストーラコピーをクリーンアップして終了する。この段階から全機能CDAがCDAの通常の動作を引き継ぐので、ミニCDAがインストーラモード(Installer mode)で動作するのは一度だけである。   Referring to FIG. 8, the mini CDA first executes the installer mode 58 (via the AIM 16), where the main function of the mini CDA is to register as an OS service. The agent's installer mode instance creates another instance of itself (59), for example in 2000 / XP, registers its copy by the service manager (60). The executable code cleans up its own installer copy and exits. Since the full function CDA takes over the normal operation of the CDA from this stage, the mini-CDA operates only once in the installer mode (Installer mode).

図9を参照すると、OSが次に起動する際、ミニCDAのサービスモードインスタンスは、例えば、2000/XPの元でのサービス(Service)として実行される。サービスはサービスマネージャ環境をセットアップし(62)、(63で待機した後)適当な時に、アプリケーションとしてそれ自体のインスタンスを開始する(64)。アプリケーションモードはミニCDAの動作の通常のモードである。エージェントはここで「アクティブ」モードになる。   Referring to FIG. 9, when the OS is started next time, the service mode instance of the mini-CDA is executed as a service under 2000 / XP, for example. The service sets up a service manager environment (62) and starts its own instance as an application (64) at the appropriate time (after waiting at 63). The application mode is a normal mode of operation of the mini CDA. The agent now enters "active" mode.

最新の全機能CDAが装置中に発見されない場合、図10に示すように、ミニCDAアプリケーションは、例えば、デフォルトでHTTPプロトコルを使用して、ホスト監視サーバCとの通信を開始する。他のプロトコルは追加のモジュールによってサポートされ、ホスト監視サーバCからエージェントへアップロードされる。ホスト監視サーバCは、エージェントの識別、監視履歴の格納、設定及びソフトウェア更新といった機能を実行する。ホスト監視サーバCはミニCDAとのセッションを行い、そのプラットフォームでの必要に応じて、フルバージョンのCDAを起動及びインストールし、(例えば、装置のライフサイクル終了時、またはより新しいバージョンへのアップグレードが可能になるように自己回復機能を無効にするため)ミニCDAを無効にし、エージェントを更新し、またエージェントを設定する。本発明の1つの実施形態に係る通信リンクBを介したクライアント装置AとサーバCとの間の通信を図10に示す。例えば、ミニCDAがBIOSまたは装置のプラットフォームの識別情報または形式をサーバCに提供する場合、特定のBIOSまたはプラットフォーム用の全機能CDAまたはその更新版を装置Aにダウンロードすればよい。   If the latest full-function CDA is not found in the device, as shown in FIG. 10, the mini-CDA application initiates communication with the host monitoring server C using, for example, the HTTP protocol by default. Other protocols are supported by additional modules and uploaded from the host monitoring server C to the agent. The host monitoring server C executes functions such as agent identification, monitoring history storage, setting, and software update. The host monitoring server C conducts a session with the mini-CDA, launches and installs the full version of the CDA as required by the platform (eg, at the end of the device life cycle or when an upgrade to a newer version occurs) Disable the mini CDA, update the agent, and configure the agent (to disable the self-healing feature as possible). FIG. 10 shows communication between the client apparatus A and the server C via the communication link B according to one embodiment of the present invention. For example, if the mini CDA provides the server C with identification information or format of the BIOS or device platform, the full function CDA for a specific BIOS or platform or an updated version thereof may be downloaded to the device A.

図1を参照して前に述べたように、ステルスエージェントを使用して資産の追跡管理及び/または盗難または紛失にあった装置Aの回復を行うことの一般的な概念は、本発明の譲受人であるアブソリュートソフトウェア社に譲受された特許で開示されている。全機能CDAの装置追跡管理及び通信機能のアプリケーションレベルの機能性は、前に記載され本発明の譲受人によって特許取得されたステルスエージェント(これらの特許を引用によって本出願の記載に援用する)及び/または本発明の譲受人が開発したアブソリュートトラック資産追跡管理製品の機能と同様のものでよい。   As previously described with reference to FIG. 1, the general concept of using stealth agents to track assets and / or recover device A that has been stolen or lost is the transfer of the present invention. It is disclosed in a patent assigned to the absolute software company. Application level functionality of the device tracking management and communication functions of full-function CDA is described in the stealth agent previously described and patented by the assignee of the present invention (these patents are incorporated herein by reference) and It may be similar to the function of an absolute track asset tracking management product developed by the assignee of the present invention.

一般に、単独で、または他の通信リンクB(例えば、PSTN)に基づくアプリケーションと同時に実行可能なインターネットアプリケーションの1つの実施形態では、エージェントは、所定、ランダム、イベントベースまたは遅延型の時間間隔でホストへの呼び出しを開始する。1つの実施形態によれば、「アクティブ」モードでは、エージェントは所定の時間が経過する毎にホストを呼び出す。エージェントは現時刻と固有のエージェント識別情報とを使用してインターネットホスト名を符号化する。そして、1つの実施形態では、エージェントは符号化したインターネットホスト名を使用してDNS要求を形成する。エージェントはインターネットを通じてこのDNS要求をホストに送信する。所定の期間が経過した後DNS要求をインターネットに送信するエージェントの試行が時間切れになった場合、エージェントは、例えば1分間といった、所定の期間スリープしてから呼び出しを繰り返す。(インターネットとの通信を可能にするウィンソック(Winsock)機能がない、及び/またはTCP/IP通信のためのコンピュータの設定失敗、といった)別のエラーのために呼び出しが失敗した場合、エージェントは数時間後にサイクルを繰り返す。このようにして、エージェントは固有の性質としてインターネット接続の存在を確認する。   In general, in one embodiment of an Internet application that can run alone or concurrently with applications based on other communication links B (eg, PSTN), the agent can host at a predetermined, random, event-based or delayed time interval. Initiate a call to. According to one embodiment, in the “active” mode, the agent calls the host every time a predetermined time has elapsed. The agent encodes the Internet host name using the current time and the unique agent identification information. And in one embodiment, the agent uses the encoded Internet host name to form a DNS request. The agent sends this DNS request to the host through the Internet. If the agent attempts to send a DNS request to the Internet after a predetermined period of time expires, the agent repeats the call after sleeping for a predetermined period, for example, 1 minute. If the call fails due to another error (such as lack of a Winsock function to enable communication with the Internet and / or failure to set up the computer for TCP / IP communication), the agent will be in hours The cycle is repeated later. In this way, the agent confirms the existence of the Internet connection as an inherent property.

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ルータのアドレスを決定する必要がある。こうしたアドレス及びそれがアクセスされた時間を、当該クライアントのアクセス履歴を記録したプロキシサーバの内部ログと比較する。このようにして、クライアントを一意に識別し追跡管理することができる。さらに、インターネットアプリケーションの「アラート」モードへの移行は、他の利用可能な通信アプリケーションの「アラート」モードへの移行をトリガする条件である。   After sending the DNS request, the agent waits for a response. When a valid response is received from the host, the IP address is extracted from the response and compared with the reference IP address. For example, the reference IP address may be set to “204.174.10.1”. If the extracted IP address is equal to “204.174.10.1”, the agent mode changes from “active” to “alert” on the Internet side. For example, if the host, or an operator of the host, determines that the agent's identity matches one of the entries in the list of reported lost or stolen computers stored on the host, the host Send address. If the IP address extracted from the host response is not equal to "204.174.10.1", the agent remains in active mode and does not call the host for the next 4 hours. However, when an agent enters an “alert” mode in an Internet application, the agent initiates a trace route routine that provides the host with the Internet communication link used to connect the client computer to the host. Such Internet communication links assist the host system in tracking client computers. Send the DNS query source IP address to the host in the DNS query. However, if the source of the query is sent through a “proxy” server, the client computer's IP address (which may not be unique because it may not have been assigned by the InterNIC) may be the location of the client computer Is often insufficient to track In such a scenario, it is necessary to determine the address of another IP router that has been accessed to allow communication between the client and the host. Such an address and the time it was accessed are compared with an internal log of the proxy server that records the access history of the client. In this way, clients can be uniquely identified and tracked. Furthermore, the transition of an Internet application to “alert” mode is a condition that triggers the transition of other available communication applications to “alert” mode.

[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が存在する場合は、書き込みパケットである。このアドレスベースのプロトコルは拡張可能な設計の基礎である。
[CDA-server communication]
[A. Extensible protocol]
The successful introduction of the permanent agent into the BIOS makes heavy use of, for example, the expandability included in the communication protocol. Without this scalability, agents would be larger and would require frequent updates to add or change functionality. The BIOS is programmed into the platform's flash EEPROM, and updating the BIOS requires the use of dedicated tools (often requiring user interaction), so such updates are practical and economical. Not right. Also, since BIOS integrity is important to the operation of the computer, OEMs are conducting a thorough inspection of the BIOS.
The main elements of the extensible protocol are:
1) A method of reading and writing the agent's memory space.
2) A method for allocating memory.
3) A method of releasing memory.
4) A method of loading an external module.
5) A method for determining the procedure address.
6) A method of calling a procedure.
The agent protocol is designed to provide such a mechanism.
The format of the read packet is | ADDRESS | NUMBER_OF_BYTES.
The format of the write packet is | ADDRESS | NUMBER_OF_BYTES | DATA. . . It is.
The communication protocol distinguishes read packets by determining that DATA is not included in the packet. If DATA exists, it is a write packet. This address-based protocol is the basis for an extensible design.

本発明の1つの実施形態に係る、通信リンクBを介したクライアント装置AとサーバCとの間の、拡張可能プロトコルに基づく通信セッションのシーケンスの概要を図14に示す。通信セッションが処理する個々のトランザクションの例を以下開示する。   FIG. 14 shows an outline of a communication session sequence based on the extensible protocol between the client device A and the server C via the communication link B according to an embodiment of the present invention. Examples of individual transactions processed by the communication session are disclosed below.

通常のセッションは次のような接続シーケンスによって開始される。
1)クライアントが接続する。
2)サーバが、アドレス0xffffffff|0xffffffff|4からの専用の読み出しによって応答する。
3)クライアントがそのセッションハンドルのアドレスによって応答する。
A normal session is started by the following connection sequence.
1) A client connects.
2) The server responds with a dedicated read from address 0xffffffff | 0xffffffff | 4.
3) The client responds with the address of its session handle.

ハンドル構造は、クライアントのバージョン、サポートする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))
The handle structure includes important information such as the client version, the supported OS version, and a command packet. The client interprets “writes” in the command packet as “special” and calls the CommandPacketProcessor () function. The CommandPacketProcessor () function takes arguments such as function code, parameter address, number of parameters, and result address. The minimum set of function codes that must be implemented is as follows:
・ CMD_FUNC_CCALL (calls the “C” function)
・ CMD_FUNC_STDCALL (calls the STDCALL function)
CMD_GETMH (Get module handle (Get Module Handle))
CMD_GETPA (obtain procedure address (Get Procedure Address))
CMD_ALLOC (allocate memory (Allocate Memory))
CMD_FREE (release memory (Free Memory))

実現可能な他のファンクションコードは、コマンドパケット同士をチェーンして効率を向上するためのものである。
・CMD_ENDC(チェーンを終了する(End Chain))
・CMD_IF(条件分岐(Conditional Branch))
・CMD_GOTO(無条件分岐(Unconditional Branch))
Other function codes that can be implemented are for chaining command packets together to improve efficiency.
CMD_ENDC (end chain (End Chain))
・ CMD_IF (Conditional Branch)
・ CMD_GOTO (Unconditional Branch)

このコマンドの小さなライブラリをパケット中で合わせてストリングにして何らかの管理タスクを達成してもよい。重要な管理タスクは以下の通りである。
1)ファイルの作成
2)ファンクションのライブラリ、または実行コードとしてのロード
3)オペレーティングシステムまたは作成されたファイルからのプロシージャの呼び出し。
4)エージェントのコンテキストでのメモリの割り当て及び解放。
This small library of commands may be combined into a string to accomplish some administrative task. The important management tasks are:
1) File creation 2) Function library or load as executable code 3) Procedure call from operating system or created file.
4) Memory allocation and release in the context of the agent.

[B.トランザクション]
以下の節ではエージェントと遠隔(例えば、監視)サーバ(CTSRVとしても知られる)との間の通信を説明する。説明される各項目は1つのトランザクション(クライアントとサーバとの間のメッセージのペア)を表していることに注意されたい。トランザクションによってはエージェントの呼び出しの都度発生するものもあれば、実現されるサービスに依存するものもあり、保守または回復要員によって設定されたフラグの結果1回の呼び出しでだけなされるものもある。以下はサーバとエージェントとの間の通常の通信セッションの表である。
[B. transaction]
The following section describes communication between an agent and a remote (eg, monitoring) server (also known as CTSRV). Note that each item described represents one transaction (a message pair between a client and a server). Some transactions occur each time the agent is called, others depend on the service being implemented, and some are made only in one call as a result of a flag set by maintenance or recovery personnel. The following is a table of normal communication sessions between servers and agents.

[基本的通信(エージェントの呼び出しの都度発生)] [Basic communication (occurs each time an agent is called)]

Figure 2013008400
Figure 2013008400

[クライアント上のAT1 DLLによる基本的資産追跡管理を伴う呼び出し(クライアントが監視サービスプロバイダの追跡管理サービスに加入している場合呼び出しの都度発生する)]
(資産追跡管理/監視サービスの加入者用の)AT1データを検索して取り出す。これはAT2 DLLによって収集されたデータの部分集合であることに注意されたい。クライアント上で実行されるのはAT1またはAT2何れかのDLLであって、両方が実行されることはない。
[Call with basic asset tracking management by AT1 DLL on the client (occurs every time the client subscribes to the tracking service of the monitoring service provider)]
Search and retrieve AT1 data (for asset tracking management / monitoring service subscribers). Note that this is a subset of the data collected by the AT2 DLL. What is executed on the client is either the AT1 or AT2 DLL, but not both.

Figure 2013008400
Figure 2013008400

[クライアント上のAT2 DLLによる高度資産追跡管理を伴う呼び出し(クライアントがアブソリュートトラックまたはコンピュトレースコンプリート(ComputraceComplete)製品を購入している場合、呼び出しの都度発生する)]
(例えば、アブソリュートトラック及びコンピュトレースコンプリートの顧客用の)AT−IIデータを検索して取り出す。これはAT1 DLLによって収集されたデータの拡張集合であることに注意されたい。クライアント上で実行されるのはAT1またはAT2何れかのDLLであって、両方が実行されることはない。
[Call with advanced asset tracking management by AT2 DLL on the client (occurs on every call if the client has purchased an absolute track or a Compute Complete product)
Search and retrieve AT-II data (eg, for absolute track and compute race complete customers). Note that this is an extended set of data collected by the AT1 DLL. What is executed on the client is either the AT1 or AT2 DLL, but not both.

Figure 2013008400
Figure 2013008400
Figure 2013008400
Figure 2013008400

[基本的呼び出し及びエージェントのバージョンの遠隔アップグレード(技術サポート動作に基づくオン・オフ]
クライアントエージェントのバージョンを確認し、サーバ上のバージョンと比較する。クライアント側のバージョンが古い場合、遠隔アップグレードを行う。
[Basic call and remote upgrade of agent version (on / off based on technical support operation)
Check the version of the client agent and compare it with the version on the server. If the client version is old, perform a remote upgrade.

Figure 2013008400
Figure 2013008400

[基本的呼び出し及び製造、形式及びシリアル番号の検索(技術サポート動作に基づくオン・オフ]
このファンクションはクライアントの製造、形式及びシリアル番号を検索して取り出しブート順序を変更する。
[Basic calling and manufacturing, type and serial number search (on / off based on technical support operation)
This function retrieves and retrieves the client's manufacture, type and serial number and changes the boot order.

Figure 2013008400
Figure 2013008400

[C.アプリケーションモジュールの起動処理]
この起動処理は、アプリケーションエージェントの識別情報を顧客アカウントにリンクし、永続的エージェントモジュールをインストールする。この処理は以下のように説明される。
・アプリケーションエージェントが接続する。
・サーバはプロトコル中の拡張可能機能を使用してインベントリDLLを送信し、コンピュータを識別する−このDLLはBIOS、シャーシ及びハードディスクドライブのシリアル番号といった属性を収集する。
・インベントリ記録をサーバ上に格納し、アプリケーションエージェントから読み出した顧客アカウントにリンクする。
・固有の識別番号(電子シリアル番号)をこのインベントリ記録に関連する装置に割り当てる。
[C. Application module startup process]
This activation process links the identification information of the application agent to the customer account and installs a permanent agent module. This process is described as follows.
-Application agent connects.
The server uses an extensible function in the protocol to send an inventory DLL to identify the computer—this DLL collects attributes such as BIOS, chassis and hard disk drive serial numbers.
• Store inventory records on the server and link to customer accounts retrieved from application agents.
Assign a unique identification number (electronic serial number) to the device associated with this inventory record.

通常のインベントリ記録を以下に示す。
<?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>
A typical inventory record is shown below.
<? 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>

[D.永続的モジュールの再アクティブ化処理]
永続的エージェントモジュールが開始されると、以下のステップが発生してアプリケーション(Application)エージェントを再インストールし、設定をリストアする。
・永続的モジュールエージェントが監視サーバ(CTSRV)を呼び出す。
・監視サーバ(Monitoring Server)はプロトコル中の拡張可能機能を使用してインベントリDLLを送信しコンピュータを識別する−このDLLはBIOS、シャーシ及びハードディスクドライブのシリアル番号といった属性を収集し、以前格納されたものと比較する。
・最初のアクティブ化の際に格納されたインベントリ記録を探し、この装置のインベントリに関連する以前のESNを再割り当てする。アプリケーションエージェントをダウンロード及びインストールすると、アプリケーションエージェントは正常に呼び出しを行う。
[D. Persistent module reactivation process]
When the persistent agent module is started, the following steps occur to reinstall the Application Agent and restore the settings.
A permanent module agent calls the monitoring server (CTSRV).
Monitoring server uses an extensible function in the protocol to send an inventory DLL to identify the computer-this DLL collects attributes such as BIOS, chassis and hard disk drive serial numbers and was stored previously Compare with things.
Find the inventory record stored during the first activation and reassign the previous ESN associated with this device's inventory. When the application agent is downloaded and installed, the application agent calls normally.

上記の処理はBIOS及びソフトウェア両方の永続性のため、すなわち、永続性モジュールがどこに配置されるかとは無関係に、適用される(以下のさらなる議論を参照されたい)。   The above process applies for both BIOS and software persistence, ie regardless of where the persistence module is located (see further discussion below).

[データ削除(Data Delete)]
データ削除は、エージェントによって有効化、サポート及び/または提供されるサービスのもう1つの例である。上記で論じたように、CDAの残存力が拡張されることによって、資産の物理的位置の追跡管理が改善される。資産の位置が確定された場合でも、準拠地域法、警察の執行及び所有権証明の負担のため、追跡管理される装置の物理的回復は必ずしも実行可能ではないことが認識されている。こうした場合、CDAの拡張可能プロトコルに基づいたプログラム可能な能力によって、装置上の機密または重要なデータを保護する代替手段が提供される。例えば、クライアント装置Aのハードディスクドライブ上に格納されたユーザ定義データファイル、ユーザプロファイルまたは他のユーザ定義情報を、監視サーバの制御の元で削除できる。監視サーバが指定する機能及びオプションに応じて、選択したデータ項目についてデータ削除を行うこともできるし、また、オペレーティングシステムを含む装置の記憶媒体全体を削除することもできる。
[Data Delete]
Data deletion is another example of a service that is enabled, supported and / or provided by an agent. As discussed above, CDA survivability is extended to improve tracking of asset physical location. It has been recognized that physical recovery of tracked devices is not always feasible, even when the location of assets is determined, due to the burden of applicable local laws, police enforcement and ownership certification. In such cases, the programmable ability based on CDA's extensible protocol provides an alternative means of protecting sensitive or sensitive data on the device. For example, a user-defined data file, user profile or other user-defined information stored on the hard disk drive of the client device A can be deleted under the control of the monitoring server. Depending on the function and option specified by the monitoring server, data can be deleted for the selected data item, or the entire storage medium of the device including the operating system can be deleted.

データ削除機能及びオプションの個々の例は以下のものを含む。
1.選択的データ削除−ユーザの選択に基づいて全てまたは特定のファイルまたはディレクトリを削除する(装置の他の部分はそのまま残す)能力。
2.再ブート時のデータ削除再起動−データ削除の進行中に装置が再ブートされた場合、データ削除クライアントも再起動する。
3.オペレーティングシステム全削除の場合の2段階データ削除処理−監視サーバが「全O/Sデータ削除」を指定した時、エージェント(例えば、CDA)が確実にログファイルをアップロードできるように、エージェントは2段階削除処理を行う。第1段階削除の後監視サーバはエージェントからログファイルを取得し、その後第2段階でオペレーティングシステムを削除する。全O/Sデータ削除オプションは以下のステップを含む。
a)O/S以外の全てのファイルを削除する。
b)エージェント呼び出しを強行しログファイルをアップロードする。
c)O/Sファイルを削除する。
4.データ削除オーバライド−コンピュータが引き続き回復される場合、データ削除が再実行されるのを防止するため、監視サーバがデータ削除実行コードをオフにする。
5.データ削除開始前検査−監視サーバが、対象のクライアント装置のための追加の開始前データ削除検査を提供し、以下のことが確認できるようにする:(a)対象のクライアント装置について盗難報告が存在する、(b)クライアント装置が明確に識別され、複製が存在しない、(c)クライアント装置所有者による許可(例えば、所有者代理人と、ホスト監視ステーションのような監視サーバを維持する主体との間の事前許可合意)が存在する。
6.通知−データ削除を開始する際、(例えば、電子メール、SMS(ショートメッセージサービス)によって)関与当事者(例えば、許可を出す所有者代理人、及び/または要求者)に通知を送信する。
Specific examples of data deletion functions and options include:
1. Selective data deletion-the ability to delete all or specific files or directories (leaving other parts of the device intact) based on user selection.
2. Data deletion restart on reboot—If the device is rebooted while data deletion is in progress, the data deletion client will also restart.
3. Two-stage data deletion process in the case of operating system all deletion-When the monitoring server designates "delete all O / S data", the agent is in two stages to ensure that the log file can be uploaded by the agent (eg CDA). Perform the deletion process. After the first stage deletion, the monitoring server obtains the log file from the agent, and then deletes the operating system in the second stage. The all O / S data deletion option includes the following steps.
a) Delete all files except O / S.
b) Force agent call and upload log file.
c) Delete the O / S file.
4). Data deletion override—If the computer is subsequently recovered, the monitoring server turns off the data deletion execution code to prevent the data deletion from being re-executed.
5. Pre-Data Deletion Check-The monitoring server provides an additional pre-start data deletion check for the target client device to ensure that: (a) There is a theft report for the target client device (B) the client device is clearly identified and no copy exists; (c) authorization by the client device owner (eg, the owner agent and the entity that maintains the monitoring server such as the host monitoring station) A prior authorization agreement) exists.
6). Notification—When a data deletion is initiated, a notification is sent (eg, via email, SMS (Short Message Service)) to the involved party (eg, the authorizing agent and / or requester that gives permission).

図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サブファンクションは、利用可能な組み込み型オペレーティングシステムサポートを使用してデータを削除する。こうしたデータ削除アルゴリズム及び機構は当業者に公知であり、実際の削除機構は本出願で説明されるシステムの能力を変化させるものではない。   FIG. 15 is a schematic flow diagram illustrating a CDA client-side data deletion routine 70 according to one embodiment of the invention. FIG. 16 is a schematic flow diagram illustrating a server-side data deletion routine 80 according to one embodiment of the present invention. FIG. 17 is a schematic flow diagram illustrating a data deletion execution routine 90 according to one embodiment of the present invention. Referring to each figure, in a normal data deletion operation on the server side, when all function CDAs contact the monitoring server (72 and 81), the identification information of the device is verified. If it is verified that the device is marked for data deletion operation (82), then the extensible communication protocol described above is used to trigger the CDA data deletion execution code or subfunction (74). Define data to be deleted using wildcard variables that delete all data structures (91) Call data deletion execution code or subfunction with parameters (84 and 85). The server instructs the agent to contact the server within a predetermined period (eg, 15 minutes) (86). The CDA subfunction may be deleted such that the data becomes unrecoverable using an algorithm recommended by the US Department of Defense (eg, US Department of Defense Standard Method 5220.22-M Erase / Sanitize Matrix). The CDA subfunction also deletes data using available embedded operating system support. Such data deletion algorithms and mechanisms are known to those skilled in the art, and the actual deletion mechanism does not change the capabilities of the system described in this application.

データ削除アプリケーションは、例えば、ハードディスクドライブ上のアプリケーション及びデータを削除し(93)、その後監視サーバを呼び出して(95)報告(例えば、ログファイル)をサーバにアップロードし(76及び88)、データ削除アプリケーションの成功を詳述する(例えば、各動作のログを作成/ログファイルに添付する、及び/または削除したファイルの全パスのログを取る、94)。データ削除アプリケーションがオペレーティングシステムの削除を除外するように命令された場合、データ削除アプリケーションは、オペレーティングシステム及びエージェントの機能のために必要なもの以外の全てのデータ及びアプリケーションファイルを削除する。削除処理の終了時(83)、監視サーバへの状態報告(例えば、ログファイル)(76及び88)の返送(94)を試みる。クライアント装置は削除処理の後も動作可能である。サーバ及びエージェントのデータ削除ルーチンは他の動作を続ける(78及び87)。例えば、データ削除アプリケーションは、サーバによってオペレーティングシステムを削除するように命令されている場合、オペレーティングシステムのファイルの削除を続けて行う。   The data deletion application, for example, deletes the application and data on the hard disk drive (93), then calls the monitoring server (95) and uploads the report (eg, log file) to the server (76 and 88) to delete the data Detail the success of the application (eg, log each action created / attached to log file and / or log full path of deleted file 94). If the data deletion application is instructed to exclude operating system deletion, the data deletion application deletes all data and application files except those required for operating system and agent functionality. At the end of the deletion process (83), an attempt is made to return (94) a status report (for example, log files) (76 and 88) to the monitoring server. The client device can operate after the deletion process. The server and agent data deletion routine continues with other operations (78 and 87). For example, if the data deletion application is instructed by the server to delete the operating system, it continues to delete the operating system files.

オペレーティングシステムのデータ削除のためのルーチンは以下の通りである。第1段階で、データ削除アプリケーションは、オペレーティングシステム及びエージェントを機能させるために必要なもの以外の全てのデータ及びアプリケーションファイルを削除する。削除処理の第1段階終了時、エージェントは状態報告を監視サーバに返す。そして、データ削除アプリケーションは装置上の残りのファイルの削除を続ける。これによって装置は動作不能になることがある。一旦全データ削除処理が完了すると、エージェントは監視サーバを呼び出すことができないことがある。ユーザがオペレーティングシステムを再インストールすれば、エージェントは再び元の機能を取り戻す。
何れの構成でも、データ削除サービスは以下の機能を有する。
・0及び1のパターンを3回ファイルに書き込む
・ランダムデータをファイルに書き込む
・ファイル属性を「ディレクトリ」に変更する
・ファイルの日付/タイムスタンプを固定値に変更する
・ファイルサイズを「0」に設定する
・ファイル名をランダムに生成したファイル名に変更する
・新しいファイル名をディレクトリから除去する
The routine for operating system data deletion is as follows. In the first stage, the data deletion application deletes all data and application files except those necessary for the operating system and agent to function. At the end of the first stage of the deletion process, the agent returns a status report to the monitoring server. Then, the data deletion application continues to delete the remaining files on the device. This can render the device inoperable. Once all data deletion processing is complete, the agent may not be able to call the monitoring server. If the user reinstalls the operating system, the agent regains its original functionality.
In any configuration, the data deletion service has the following functions.
-Write the pattern of 0 and 1 to the file three times-Write random data to the file-Change the file attribute to "Directory"-Change the file date / time stamp to a fixed value-Set the file size to "0" Set ・ Change the file name to a randomly generated file name ・ Remove the new file name from the directory

できる限り隠密に目的を実行するため、データ削除アプリケーションは偽装している。削除処理中に実行されるサービスは、バックグラウンドで動作する削除処理を隠すため、「WCTSYS.EXE」というファイル名が付けられている。削除が完了する前にユーザが処理を中止した場合、一旦エージェントが監視サーバへの次の呼び出しを行えば、アプリケーションはオフにされている削除処理を再開することができる。例えば、エージェントはデータ削除が永久的であるかを決定する(92)。永久的である場合、残りのデータ削除機能に進む(すなわち、93等)。永久的でなく、かつデータ削除が以前に完了していなければ(97)、処理はデータ削除機能に進む。データ削除が完了していれば(97)、データ削除処理は終了する。データ削除が可能な全てのクライアント装置に対して、エージェントの呼び出し返信期間をモデム及びIP呼び出しの両方について所定の値に設定してもよい(例えば、86)。   Data removal applications are disguised to perform the purpose as secretly as possible. The service executed during the deletion process is given the file name “WCTSYS.EXE” in order to hide the deletion process that operates in the background. If the user aborts the process before the deletion is complete, the application can resume the deleted deletion process once the agent makes the next call to the monitoring server. For example, the agent determines whether the data deletion is permanent (92). If so, proceed to the remaining data deletion function (ie, 93 etc.). If not permanent and the data deletion has not been completed previously (97), the process proceeds to the data deletion function. If the data deletion has been completed (97), the data deletion process ends. For all client devices capable of deleting data, the agent call return period may be set to a predetermined value for both modem and IP calls (eg 86).

データ削除処理を完了するために必要な時間は、プロセッサの速度、ハードディスクドライブのサイズ、削除すべきデータの量、及びそれまでにクライアント装置上で行われたアクティビティの量といった、いくつかの変数に依存する。データ削除処理を完了するために必要な予想時間は数分間から30分間以上であることが明らかになっている。   The time required to complete the data deletion process depends on several variables such as the speed of the processor, the size of the hard disk drive, the amount of data to be deleted, and the amount of activity that has been performed on the client device so far. Dependent. It has been found that the expected time required to complete the data deletion process is from a few minutes to over 30 minutes.

削除が成功した際に返送される報告は以下の情報を含む。
・データ削除アプリケーションがダウンロードされ実行されたことの確認
・削除されたファイルのリスト
・ハードディスクスペースの変化(この情報は、資産追跡管理サービスが利用可能でデータがPCから収集可能な場合にのみ利用可能である)
The report returned upon successful deletion includes the following information:
-Confirm that the data deletion application has been downloaded and executed-List of deleted files-Change in hard disk space (This information is available only if the asset tracking management service is available and data can be collected from the PC Is)

この情報はデータ削除処理が成功した際にユーザに提供してもよい。   This information may be provided to the user when the data deletion process is successful.

データ削除の機能は、サーバからダウンロードしたポリシーファイルによって制御してもよい(84または85)。ポリシーファイルは、削除すべきファイル、フォルダ、またはファイルの種類をデータ削除アプリケーションに指示する。ポリシーファイルは他のデータ選択基準を指示してもよい。   The data deletion function may be controlled by a policy file downloaded from the server (84 or 85). The policy file instructs the data deletion application on the file, folder, or file type to be deleted. The policy file may indicate other data selection criteria.

実現されたポリシーファイルフォーマットのサンプル   Implemented policy file format sample

|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|
| 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 |

[拡張可能プロトコルのさらなる用途]
上記で述べ、かつ以下さらに述べるように、全機能CDA及びミニCDAは、(例えば、非BIOSまたはソフトウェアによる永続的実施形態において)拡張可能プロトコルを使用して、監視サーバ上で利用可能な最新バージョンに対応するように保たれている。また、この能力を使用して、他の資産追跡管理拡張機能を最新のバージョンに更新している。拡張可能プロトコルに含まれる汎用サブファンクションは汎用かつ柔軟なものなので、それを活用して、上記で説明した資産追跡管理及びデータ削除に加えて、多数の機能を有することができる。拡張可能プロトコルの別の用途の例は、監視サーバからのアプリケーションのダウンロード及び開始である。実行コードをメモリにダウンロードしてから開始してもよい。代替的には、インストーラを監視サーバからダウンロードして、アプリケーションのインストールまたは既存のアプリケーションのアップグレードを開始してもよい。
[Further use of extensible protocol]
As described above and further below, full-function CDAs and mini-CDAs are the latest versions available on the monitoring server using extensible protocols (eg, in a non-BIOS or software persistent embodiment). To keep up with. It also uses this capability to update other asset tracking management extensions to the latest version. Since the general purpose sub-functions included in the extensible protocol are general and flexible, they can be utilized to have many functions in addition to the asset tracking management and data deletion described above. Another example of an extensible protocol application is downloading and starting an application from a monitoring server. You may start after downloading the execution code to memory. Alternatively, the installer may be downloaded from the monitoring server to initiate application installation or upgrade of existing applications.

エージェントの拡張可能プロトコルを活用して機能を提供する用途の例は以下のものを含む。
・永続的ファイアウォール。エージェントはネットワーク通信ファイアウォールをダウンロードし実施することができる。また、エージェントは、ファイアウォールの設定の変更またはファイアウォールの除去または無効化を監視及び補正することができる。エージェントは永続的(削除または除去できない)なので、はるかに永続的な方法でファイアウォールのようなセキュリティ機能を提供及び実施することができる。
・データ暗号化。永続的エージェントは、サーバからの命令に応じて、マシン上のデータを暗号化することができる。これによって、はるかに永続的な方法で、盗難または紛失の際のデータ保護が可能になる。また、エージェントは、盗難後暗号化鍵またはパスワードを変更し、ユーザのデータを保護することもできる。暗号化パスワードまたは鍵を変更することによって、ユーザがパスワードを知っている内部盗難の場合でもマシンを保護することができる。
・位置追跡管理。エージェントの主要な機能の1つは、ホスト監視システムにコンタクトして装置の識別情報及び物理的位置を報告することである。物理的位置は、マシンのIPアドレスまたは他の関連ネットワークパラメータによって暗黙に定義することができる。エージェントは、装置の物理的位置を識別するため、ビルトインGPS受信機またはセルラネットワーク受信機及び送信機からのデータを使用してもよい。こうした構成では、エージェントはGPSまたは支援型GPSの位置情報(最新の、または一連のログ情報)のログを取ることができる。CDAは周期的にGPS位置を読み取ってログファイルを作成することができ、ログファイルは呼び出しの際サーバにアップロードすることができる。
Examples of applications that provide functionality utilizing the agent's extensible protocol include:
A permanent firewall. Agents can download and enforce network communication firewalls. The agent can also monitor and correct changes in firewall settings or removal or invalidation of firewalls. Because agents are permanent (cannot be deleted or removed), they can provide and implement security features like firewalls in a much more permanent way.
・ Data encryption. The persistent agent can encrypt the data on the machine in response to a command from the server. This allows data protection in the event of theft or loss in a much more permanent way. The agent can also change the encryption key or password after theft to protect the user's data. By changing the encrypted password or key, the machine can be protected even in case of internal theft where the user knows the password.
・ Location tracking management. One of the main functions of the agent is to contact the host monitoring system to report device identification information and physical location. The physical location can be implicitly defined by the machine's IP address or other related network parameters. Agents may use data from built-in GPS receivers or cellular network receivers and transmitters to identify the physical location of the device. In such a configuration, the agent can log GPS or assisted GPS location information (latest or series of log information). The CDA can periodically read the GPS position and create a log file, which can be uploaded to the server when called.

[モジュールの代替実施形態]
本発明は、(a)様々な装置(例えば、PC)製造業者による様々なBIOS実装、(b)BIOSとの様々なインタフェースの要求、(c)様々な装置製造業者または様々な装置形式で利用可能な多様なフラッシュメモリスペース、及び(d)BIOS PCIオプションROM列挙フックなしで動作する能力、を含むがそれらに制限されない要素に基づいて固有の環境に適応する永続的エージェントの多様な実施形態において実現できる。こうした要素に適応するために、CLMはPCIオプションROMのフォーマットで、AIM及びCDAは別個に格納してもよく、またCLMに結合してもよい。CLMは、POSTサイクル終了時に小さなスタブに縮小する。装置が、PCIオプションROMを列挙しないBIOSを有する場合、CLMはパーティションギャップ中に存在して代替マスターブートレコード(MBR)を使用してもよい。永続的エージェントモジュール構成の様々な実施形態を以下さらに十分に説明する。
[Alternative embodiment of module]
The present invention can be used in (a) various BIOS implementations by various device (eg, PC) manufacturers, (b) various interface requirements with the BIOS, (c) various device manufacturers or various device types. In various embodiments of persistent agents that adapt to specific environments based on factors including, but not limited to, the various flash memory spaces possible and (d) the ability to operate without BIOS PCI option ROM enumeration hooks realizable. To accommodate these factors, the CLM is in PCI option ROM format, and the AIM and CDA may be stored separately and coupled to the CLM. The CLM reduces to a small stub at the end of the POST cycle. If the device has a BIOS that does not enumerate the PCI option ROM, the CLM may exist in the partition gap and use an alternate master boot record (MBR). Various embodiments of persistent agent module configurations are described more fully below.

[A.フラッシュ常駐型]
本発明のフラッシュ常駐型実施形態では、CLM、AIM及びミニCDAは全てBIOSフラッシュイメージにロードする。このアプローチは、PCIオプションROMをBIOSフラッシュイメージからロードするBIOSで使用される既存の処理を活用している。追加のモジュール(AIM及びミニCDA)はフラッシュ中に別個に格納してもよく、また、図3の場合のように、PCIオプションROM中のCLMに結合してもよい。
[A. Flash resident type]
In the flash resident embodiment of the present invention, the CLM, AIM, and mini CDA are all loaded into the BIOS flash image. This approach takes advantage of existing processing used by the BIOS to load the PCI option ROM from the BIOS flash image. Additional modules (AIM and mini CDA) may be stored separately in the flash and may be coupled to the CLM in the PCI option ROM as in FIG.

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に示す。   If the AIM and mini CDA are coupled to the CLM, the 18-20 KB PCI option ROM is loaded into the upper shadow memory by POST and the AIM is unpacked by the CLM. The AIM then adapts and configures the mini CDA for the system and returns control to the CLM. The CLM reduces the PCI option ROM image to the minimum size and remains in the upper memory area as a 2 KB ROM block. If AIM (~ 6KB) and CDA (~ 10KB) are simply stored in the flash image and not coupled to the CLM, the CLM incorporates an additional image access function that locates and unpacks the AIM and mini CDA. The operation of CLM, AIM, and mini-CDA is similar to the combining method described above. The size of the CLM will be slightly larger and will be adjusted to the platform that the flash image is targeted for. This approach assumes that the vendor ID is fixed in advance and that the flash resident PCI option ROM can be recognized. Flash image management is shown in FIG.

[B.ハードディスクドライブのパーティションギャップ]
BIOS固有のスペース制限のため、永続的エージェント全体の全てのモジュールのためにはBIOSフラッシュメモリ中のスペースが不十分なことがある。この場合、装置ベンダのサポートに応じて、AIM、またはAIM及びミニCDAは、ハードディスクドライブのパーティションギャップのような大容量記憶装置中のユーザがアクセスできない領域に存在してもよい。これは、「ソフトウェア永続型」の形態の一例である。この実施形態では、CLMはやはりフラッシュ中に存在し、これまでの実施形態の場合と同様に、PCIオプションROM列挙処理の際呼び出されるが、CLMはAIMをロードし、AIMは別の位置からCDAを実行する。
[B. Hard disk drive partition gap]
Due to BIOS specific space limitations, there may be insufficient space in the BIOS flash memory for all modules of the entire persistent agent. In this case, depending on the support of the device vendor, the AIM, or AIM and mini CDA, may reside in an area that is not accessible to the user in the mass storage device, such as a partition gap of a hard disk drive. This is an example of a form of “software permanent type”. In this embodiment, the CLM is still present in flash and is called during the PCI option ROM enumeration process as in previous embodiments, but the CLM loads the AIM and the AIM loads the CDA from another location. Execute.

図13は、永続的エージェントの追加モジュールがパーティションギャップ内に存在する状況で関連するパーティションギャップイメージ管理を示す。このギャップはMBRと第1のパーティションとの間に存在する。このギャップは、例えば、大部分の最近のハードディスクドライブでは62セクタであるが、セクタの一部は他のソフトウェアとの互換性を維持するインストレーションユーティリティによって確保されているので、使用可能なサイズは約27Kbである。このサイズは、サーバと通信し他のモジュールをOSにブートストラップするために必要なエージェントの基本モジュール(AIM、CDA)を組み込むのに十分である。   FIG. 13 illustrates partition gap image management that is relevant in situations where an additional module of a persistent agent exists within the partition gap. This gap exists between the MBR and the first partition. This gap is, for example, 62 sectors on most modern hard disk drives, but some sectors are reserved by installation utilities that maintain compatibility with other software, so the usable size is It is about 27 Kb. This size is sufficient to incorporate the agent basic modules (AIM, CDA) necessary to communicate with the server and bootstrap other modules to the OS.

[C.ホスト保護領域(HPA)]
図12を参照すると、代替的には、全てのモジュールのためにはBIOSフラッシュメモリ中のスペースが十分でないことがある状況で、前の実施形態の場合のようにハードディスクドライブパーティション中に永続的エージェントの追加モジュール(すなわち、AIM、及び/またはミニCDA)を格納する代わりに、永続的エージェントの追加モジュールは、HPA内、またはその機能的同等物といった大容量記憶装置上の別のユーザがアクセスできない領域中に存在する。これはソフトウェア永続型の別の例である。HPAをロック及びアンロックするため追加サポートが必要である。このHPAアクセス機構はPC OEM毎に固有である。HPA内のイメージは実行時の管理が必要なことがある。ドライバ及びアプリケーションは、BIOSインタフェースによって認証を行いHPAスペースの当該部分を管理するために必要な実行時アクセスを取得する既存の方法をサポートする。この実施形態では、CLMはやはりフラッシュ中に存在し、これまでの実施形態の場合と同様に、PCIオプションROM列挙処理の際呼び出されるが、CLMはAIMをロードし、AIMは別の位置からCDAを実行する。
[C. Host protected area (HPA)]
Referring to FIG. 12, alternatively, in situations where there may not be enough space in the BIOS flash memory for all modules, a persistent agent in the hard disk drive partition as in the previous embodiment. Instead of storing additional modules (ie, AIM and / or mini CDA), the persistent agent's additional module is inaccessible to another user on the mass storage device, such as in the HPA or its functional equivalent Present in the area. This is another example of software persistence. Additional support is required to lock and unlock the HPA. This HPA access mechanism is unique for each PC OEM. Images in the HPA may need to be managed at runtime. Drivers and applications support existing methods of authenticating through the BIOS interface and obtaining the runtime access necessary to manage that part of the HPA space. In this embodiment, the CLM is still present in flash and is called during the PCI option ROM enumeration process as in previous embodiments, but the CLM loads the AIM and the AIM loads the CDA from another location. Execute.

[D.非フラッシュCLM]
大部分の安全な実施形態はCLMをBIOSフラッシュメモリ中に存在させているが、これをサポートしない環境もあり得る。OEMがPCIオプションROMのスキャン中にBIOSがフラッシュ中のCLMヘッダを列挙しないように構成した場合そうなることがある。こうしたシステムでは、CLMの代替の位置は、既存の製品と比較して優れたソリューションを提供する。代替MBRを使用することはこのことに対するソリューションを提供する。この実施形態では、CLMは代替マスターブートレコードからロードする。そして、CLMは、これまでの実施形態で説明したように、AIM及びミニCDAをロードしてパーティションギャップ中に配置し、これらに制御を渡す。エージェントサブローダのための代替MBRのアプローチは本譲受人によって特許取得されており、その特許を引用によって本出願の記載に援用する。本出願のCLMは同様のサブローダのアプローチを利用してもよいが、本発明では、CLMはAIM及びCDAに関連して以前の特許には見られない追加の異なる機能を有している。
[D. Non-flash CLM]
Although most secure embodiments have the CLM present in the BIOS flash memory, there may be environments that do not support this. This may be the case if the OEM configures the BIOS not to list the CLM headers being flashed while scanning the PCI option ROM. In such systems, CLM's alternative location provides a superior solution compared to existing products. Using an alternative MBR provides a solution to this. In this embodiment, the CLM loads from an alternate master boot record. The CLM then loads the AIM and mini CDA, places them in the partition gap, and passes control to them as described in the previous embodiments. An alternative MBR approach for the agent subloader has been patented by the assignee and is incorporated herein by reference. Although the CLM of the present application may utilize a similar subloader approach, in the present invention, the CLM has additional different functions not found in previous patents related to AIM and CDA.

[E.フラッシュ常駐型オペレーティングシステムイメージへの統合]
この実施形態では、ミニCDAを、全体がフラッシュメモリ中に格納されたオペレーティングシステムイメージに統合する。永続性は永続的なオペレーティングシステムイメージ中に組み込まれることによって達成され、オペレーティングシステムに対する偶発または故意による修正を防止するために使用されるものと同じセキュリティ機構によって保護される。この場合、ミニCDAはオペレーティングシステムのユーティリティによって直接ロードされ実行される。続いて全機能CDAがダウンロードされ揮発性メモリにインストールされる。別のほぼ同様の実施形態では、オペレーティングシステムのユーティリティによってCLMがロードされ、その後CLMはミニCDAをロードし実行する。この後者の場合、CLMとミニCDAはどちらも永続的なオペレーティングシステムイメージ中に組み込まれている。
[E. Integration into flash-resident operating system image]
In this embodiment, the mini-CDA is integrated into an operating system image that is stored entirely in flash memory. Persistence is achieved by being incorporated into a persistent operating system image and is protected by the same security mechanisms used to prevent accidental or intentional modifications to the operating system. In this case, the mini CDA is loaded and executed directly by the operating system utility. Subsequently, the full function CDA is downloaded and installed in the volatile memory. In another substantially similar embodiment, the CLM is loaded by an operating system utility, which then loads and executes the mini CDA. In this latter case, both CLM and mini-CDA are embedded in a permanent operating system image.

[F.サーバ主導の接続]
この実施形態では、サーバは、CDAがサーバとの通信を開始するのを待つ代わりに、CDAとの通信を開始する。サーバ主導の接続は、時間制約がありクライアントによる次の計画呼び出しまで待つことのできないサーバ命令の実行を可能にする。この場合、サーバは、CDAがサーバを呼び出すのに使用する主要な通信ネットワークまたはプロトコルと同じものを使用してもよくまた異なるものを使用してもよい。時間に左右される場合の一例は、装置の盗難が報告された結果ネットワークオペレータによって通信が遮断される前に不適切な場所に置かれたかまたは盗難にあったモバイル装置上でデータ削除操作を実行することである。時間に左右される任意のサービスをこの方法で呼び出してよい。
[F. Server-initiated connection]
In this embodiment, the server initiates communication with the CDA instead of waiting for the CDA to initiate communication with the server. Server-initiated connections allow execution of server instructions that are time-constrained and cannot wait until the next planned call by the client. In this case, the server may use the same or different primary communication network or protocol that the CDA uses to call the server. An example of when it depends on time is to perform a data deletion operation on a mobile device that was placed in an improper location or stolen before communication was interrupted by the network operator as a result of a reported device theft It is to be. Any service that depends on time may be invoked in this way.

[G.オペレーティングシステムの配布への統合]
この実施形態では、ミニCDAを、オペレーティングシステムの配布(例えば、ソフトウェア、ハードウェアのファームウェア)に統合する。永続性はオペレーティングシステムの基本的で不可分な構成要素として組み込まれることによって達成される。この場合、これはオペレーティングシステムに対する偶発または故意による修正を防止するために使用されるものと同じセキュリティ機構によって保護される。オペレーティングシステムの再インストールの場合、ミニCDAはオペレーティングシステムのインストール媒体から再インストールし、その結果ミニCDAが提供するサービスは二度目のインストールにおいて可能になる。この実施形態では、ミニCDAはオペレーティングシステムの機能によって直接ロードされ実行される。その後、他の実施形態の場合と同様に全機能CDAをダウンロードしインストールする。
[G. Integration into operating system distribution]
In this embodiment, the mini-CDA is integrated into an operating system distribution (eg, software, hardware firmware). Persistence is achieved by being incorporated as a basic and inseparable component of the operating system. In this case, it is protected by the same security mechanism that is used to prevent accidental or intentional modifications to the operating system. In the case of an operating system reinstallation, the mini-CDA is reinstalled from the operating system installation media, so that the services provided by the mini-CDA are available in the second installation. In this embodiment, the mini CDA is loaded and executed directly by operating system functions. Thereafter, the full-function CDA is downloaded and installed in the same manner as in the other embodiments.

[H.拡張可能ファームウェアインタフェース(EFI)]
永続的モジュール(すなわち、AIM及びCLM)のBIOS実施形態は、ミニCDAまたはエージェントを、OSローダに先立つEFIドライバまたはEFIアプリケーションの何れかとしてEFI環境中にインストールするように修正してもよい。永続性は、EFIがCLMをロードした後、CLMがAIMを使用してBIOS実施形態と同様にミニCDAをインストールまたは復元した時達成される。BIOS実施形態と同様に、ミニCDAは、OSブートの後、全機能を備えたエージェントをダウンロードしインストールすることができる。
[H. Extensible Firmware Interface (EFI)]
Persistent modules (ie, AIM and CLM) BIOS embodiments may be modified to install a mini-CDA or agent into the EFI environment as either an EFI driver or EFI application prior to the OS loader. Persistence is achieved when the ELM loads the CLM and then the CLM uses the AIM to install or restore the mini CDA as in the BIOS embodiment. Similar to the BIOS embodiment, the mini CDA can download and install a full-featured agent after OS boot.

[最適化]
CLMのPCIオプションROMをシステムBIOSに統合するのは困難ではない。例えば、IBMのT43型ノートブックコンピュータには、オプションROM構造を有するIBM BIOSがインストールされている。その形態及び機能は、BIOS中に既に存在するビデオオプションROMまたはマザーボードコントローラオプションROMと同様である。簡単に行う場合、CLMのベンダIDを認識するようにBIOSを簡単に再構成しなければならない。CLMの形態及び機能をより密接にホストBIOSに統合する場合、ある種のサイズ最適化を行ってもよい。フラッシュイメージ内にCLM、AIM、及びCDAを格納するために必要な20KBまでの小さなスペースを節約する機会が存在する。以下は、3つの主要モジュール中の様々な機能と各主要機能グループの概算サイズとをリストにした表である。「最適化」縦列は、各モジュール中の機能グループの最適化の可能性の推定のリストである。
[optimisation]
It is not difficult to integrate the CLM PCI option ROM into the system BIOS. For example, IBM's T43 notebook computer is installed with an IBM BIOS having an option ROM structure. Its form and function are similar to the video option ROM or motherboard controller option ROM already present in the BIOS. If done simply, the BIOS must be easily reconfigured to recognize the CLM vendor ID. If the CLM form and function are more closely integrated into the host BIOS, some size optimization may be performed. There is an opportunity to save the small space up to 20KB required to store CLM, AIM and CDA in the flash image. The following is a table listing the various functions in the three main modules and the approximate size of each main function group. The “Optimization” column is a list of estimations of optimization possibilities for the functional groups in each module.

Figure 2013008400
Figure 2013008400

モジュール中の様々な機能の中、CLMの機能(PCI、イメージ管理、及び実行環境)だけをホストBIOSからの固有のサポートによって最適化してもよい。BIOSの圧縮アルゴリズムを使用し、AIM及びCDAモジュールを格納する「結合」法を使用することによって、イメージ管理機能のサイズを約0.3KB縮小することができる。全てのディスク資源を利用できるようにし、POSTメモリマネージャのサポートの必要がなくなるように、PCIオプションROMがPOSTの終わり近くでロードされるようにすることで、実行環境設定及び制御機能は0.8KB縮小できる。20KBまでのサイズは約18.9KBまで小さくなる。CLM中でプラットフォーム固有のサポートが必要な場合、上限が2KB増大することがある。   Of the various functions in the module, only CLM functions (PCI, image management, and execution environment) may be optimized with specific support from the host BIOS. By using the BIOS compression algorithm and using the “join” method of storing the AIM and CDA modules, the size of the image management function can be reduced by about 0.3 KB. By making the PCI option ROM loaded near the end of POST so that all disk resources are available and the need for POST memory manager support is eliminated, the runtime configuration and control functions are 0.8KB. Can be reduced. The size up to 20KB is reduced to about 18.9KB. If platform specific support is required in the CLM, the upper limit may increase by 2KB.

BIOSインタフェースがSMBIOSを通じてCLMを検出及び設定するためのアプリケーションプログラムインタフェース(API)を公開する場合、2KBの見えるROMの「スタブ要求」が緩和される。   If the BIOS interface exposes an application program interface (API) for detecting and setting CLM through SMBIOS, the 2 KB visible ROM “stub request” is relaxed.

[永続的サービスエージェントの携帯デジタル装置への導入]
永続的サービスエージェントは、携帯デジタル装置のような追加装置を追跡管理するように拡張してもよい。インテリジェントエージェントは、家庭用電子装置(例えば、アップル(Apple)IPOD(登録商標)デジタルメディアプレーヤ、MP3プレーヤ、携帯電話、またはマイクロソフト(Microsoft)XBOX(登録商標)またはソニー(Sony)プレイステーション(登録商標)といったゲーム装置)のBIOSオプションROM、ハードディスクドライブ上のパーティションギャップ、ハードディスクドライブのホスト保護領域(HPA)、埋め込み型ファームウェア(例えば、OS ROM)に存在してもよい。上記で論じた例で説明したように、一旦実行されると、CDAは監視サーバと通信する(CDA主導またはサーバ主導何れかの通信)。CDAの機能は、メモリへのコピー、メモリからのコピー及びメモリからの実行といった汎用機能でもよい。こうした機能は、CDAとの通信の際監視サーバが提供するシーケンスに基づいて実行される。こうしたシーケンスを実行して、アプリケーションをメモリにコピーして実行し、その結果を読み出して監視サーバに返してもよい。上記で説明したように、永続的エージェントはプログラム可能でもよい。
[Introduction of permanent service agents to portable digital devices]
The permanent service agent may be extended to track additional devices such as portable digital devices. The intelligent agent can be a consumer electronic device (e.g., Apple IPOD (R) digital media player, MP3 player, mobile phone, or Microsoft XBOX (R) or Sony PlayStation (R). The BIOS option ROM of the game device), the partition gap on the hard disk drive, the host protected area (HPA) of the hard disk drive, and embedded firmware (for example, OS ROM). As explained in the example discussed above, once executed, the CDA communicates with the monitoring server (either CDA-initiated or server-initiated communication). The CDA function may be a general-purpose function such as copying to memory, copying from memory, and execution from memory. These functions are executed based on a sequence provided by the monitoring server when communicating with the CDA. By executing such a sequence, the application may be copied to the memory and executed, and the result may be read and returned to the monitoring server. As explained above, the persistent agent may be programmable.

永続的サービスエージェントは、例えば以下のような様々な携帯用及び/または個人用デジタル装置に導入してもよい。
−個人情報端末(PDA)
−MP3プレーヤ、デジタル録音機、携帯TV、ラジオ、等といったデジタルメディア装置
−携帯電話、双方向ラジオ、等といった無線装置
−全地球測位システム(GPS)、等といった手持ち型装置
−携帯型コンピュータゲーム(任天堂(登録商標)(Nintendo(登録商標))、ソニー(登録商標)プレイステーション(登録商標))、等といったゲーム装置
−デジタルカメラ
Permanent service agents may be installed in various portable and / or personal digital devices, for example:
-Personal information terminal (PDA)
-Digital media devices such as MP3 players, digital recorders, portable TVs, radios, etc.-Wireless devices such as mobile phones, two-way radios, etc.-Handheld devices such as the Global Positioning System (GPS)-Portable computer games ( Game devices such as Nintendo (registered trademark) (Nintendo (registered trademark), Sony (registered trademark) PlayStation (registered trademark)), etc.-digital camera

エージェント導入の個々の例は以下のものを含む。   Specific examples of agent deployment include:

[1.IPOD(登録商標)デジタルメディアプレーヤ]
エージェントは監視サーバにコンタクトし、また監視サーバからコンタクトを受けるように事前にプログラムされる。装置がインターネットに接続するか、またはインターネットに接続した別のベース装置(例えば、パーソナルコンピュータ)に接続するまで、エージェントは待機状態になる。一旦装置が(ITunes(登録商標)のような)サードパーティのウェブサイトに接続すると、エージェントはウェブサイトの埋め込み型制御を使用して監視サーバに接続する。代替的には、エージェントはそれ自体のコピー、または別のエージェントを接続先のベース装置にインストールして、監視サーバに接続してもよい。一旦接続すると、エージェントは監視サーバから装置の状態を確認する。この確認は、装置の固有の識別情報(例えば、電子シリアル番号(ESN)、製造業者のシリアル番号、またはエージェントに埋め込まれたシリアル番号)の検査を含んでもよい。この固有の識別情報を監視サーバのデータベースと照合する。携帯装置に(例えば、装置の元の所有者または代理人によって)紛失を示すフラグが設定されている場合、エージェントは携帯装置をトリガして携帯装置自体を機能しない状態にするための操作(例えば、上記で論じたデータ削除、またはシャットオフまたは無効化または、少なくとも携帯装置の継続使用ができなくなる程度に携帯装置の少なくともいくつかの機能を動作不能にする他の同様の操作)を行わせる。代替的または追加的に、エージェントは装置をトリガして、携帯装置を所持している人物に対して情報メッセージを表示させる。メッセージは、装置の所有者への返還、装置の返還または再有効化に関連する謝礼といったさらなる情報を得るため、所有者、装置ベンダまたは資産追跡管理会社に連絡するようその人物に指示するものでもよい。
[1. IPOD (registered trademark) digital media player]
The agent is pre-programmed to contact and receive contact from the monitoring server. The agent will wait until the device connects to the Internet or to another base device (eg, a personal computer) connected to the Internet. Once the device connects to a third party website (such as ITunes®), the agent connects to the monitoring server using the website's embedded control. Alternatively, the agent may connect to the monitoring server by installing a copy of itself or another agent on the connected base device. Once connected, the agent checks the status of the device from the monitoring server. This confirmation may include a check of the device's unique identification information (eg, electronic serial number (ESN), manufacturer serial number, or serial number embedded in the agent). This unique identification information is checked against the monitoring server database. If the mobile device is flagged as lost (eg, by the original owner or agent of the device), the agent can trigger an operation on the mobile device to disable the mobile device itself (eg, Data deletion, or shut-off or invalidation discussed above, or other similar operations that render at least some functions of the portable device inoperable to the extent that at least some of the portable device cannot be used. Alternatively or additionally, the agent triggers the device to display an information message to the person holding the mobile device. The message may also instruct the person to contact the owner, equipment vendor or asset tracking management company for further information such as return to equipment owner, rewards related to equipment return or reactivation. Good.

[2.携帯電話]
エージェントは(例えば、サーバ主導またはエージェント主導で)監視サーバにコンタクトするように事前にプログラムされる。一旦装置が無線ネットワークに接続されると、エージェントは標準通信プロトコルを使用して監視サーバと通信してもよく、また、代替的または追加的に、SMSメッセージ(または別の種類のプロトコル)を監視サーバまたは所有者の代理人に送信してもよい。一旦接続すると、エージェントは装置の固有の識別情報を監視サーバのデータベースに対して有効であることを確認する。この確認は、装置のESNまたはシリアル番号(製造業者のシリアル番号、またはエージェントに埋め込まれた識別番号、またはSIMカードID、等)といった識別番号の検査を含んでもよい。この固有の識別情報を監視サーバのデータベースと照合する。装置の元の所有者によって、携帯装置に紛失を示すフラグが設定されている場合、エージェントは携帯装置をトリガして携帯装置自体を機能しない状態にするための操作(例えば、上記で論じたデータ削除、またはシャットオフまたは無効化または、少なくとも携帯装置の継続使用ができなくなる程度に携帯装置の少なくともいくつかの機能を動作不能にする他の同様の操作)を行わせる。代替的または追加的に、エージェントは装置をトリガして、携帯装置を所持している人物に対して情報メッセージを表示させる。メッセージは、装置の所有者への返還、装置の返還または再有効化に関連する謝礼といったさらなる情報を得るため、所有者、装置ベンダまたは資産追跡管理会社に連絡するようその人物に指示するものでもよい。
[2. mobile phone]
The agent is pre-programmed to contact the monitoring server (eg, server-driven or agent-driven). Once the device is connected to the wireless network, the agent may communicate with the monitoring server using standard communication protocols and alternatively or additionally monitor SMS messages (or another type of protocol). It may be sent to the server or the agent of the owner. Once connected, the agent confirms that the device's unique identification information is valid against the monitoring server database. This confirmation may include a verification of an identification number such as the ESN or serial number of the device (manufacturer serial number, identification number embedded in the agent, or SIM card ID, etc.). This unique identification information is checked against the monitoring server database. If the original owner of the device has set the flag indicating loss on the mobile device, the agent can trigger an operation on the mobile device to deactivate itself (e.g., the data discussed above). Delete, or shut off or disable, or at least some other similar operation that renders at least some functions of the portable device inoperable to the extent that the portable device cannot be used continuously. Alternatively or additionally, the agent triggers the device to display an information message to the person holding the mobile device. The message may also instruct the person to contact the owner, equipment vendor or asset tracking management company for further information such as return to equipment owner, rewards related to equipment return or reactivation. Good.

[3.ゲームコンソール]
エージェントは(例えば、サーバ主導またはエージェント主導で)監視サーバにコンタクトするように事前にプログラムされる。一旦ゲーム装置がオンラインゲームサーバに接続すると、エージェントは、ゲームサイトに埋め込まれた標準通信プロトコル(例えば、IP)を使用して監視サーバと通信する。代替的には、エージェントはTCP/IPまたは標準インターネットプロトコルを別のサードパーティ監視サーバに送信してもよい。一旦接続すると、エージェントは装置の固有の識別情報を確認し、これまで上記で説明した実施形態とほぼ同様の方法で適当な動作を行う。
[3. Game console]
The agent is pre-programmed to contact the monitoring server (eg, server-driven or agent-driven). Once the game device connects to the online game server, the agent communicates with the monitoring server using a standard communication protocol (eg, IP) embedded in the game site. Alternatively, the agent may send TCP / IP or standard Internet protocols to another third party monitoring server. Once connected, the agent confirms the unique identification information of the device and performs an appropriate operation in a manner substantially similar to the embodiment described above.

上記で開示したサービスエージェントは、普通はサービスエージェントを削除すると予想されるような動作が行われても永続的であるという能力を有する。エージェントはプログラム可能なので、サーバ主導のコマンドに基づいてその機能を拡張することができる。本発明は、事前導入されたサービスエージェントが、装置の「ユーザ」の操作と無関係に「アクティブ」な状態を維持する能力を改善する。エージェントに対するユーザの操作は故意によるものでも偶発的なものでもよい。本発明は、(例えば、コンピュータ資産のライフサイクル終了時に)正当な必要によるエージェントの無効化を可能にする一方で、サービスエージェントの偶発による除去から許可されたユーザを保護する。本発明は、許可されていないユーザがエージェントソフトウェアを除去するのを防止する。本発明の永続的な属性は、セキュリティ及び資産管理両方の用途において価値を有する。安全でステルス性を有する装置追跡管理ソフトウェアアプリケーションの状況では、貴重な資産の盗難を隠すことは、窃盗犯がどんな操作を行うかに関らずはるかに困難になっており、ソフトウェアは永続して遠隔監視センタにコンタクトすることが可能であるため、本発明は大きな価値を有する。さらに、サービスエージェントが永続的な性質を有しているため、トラッキングエージェントが偶発的に除去されないという信頼が得られ、セキュリティ要員に安心が提供される。安全な資産管理アプリケーションの状況では、全ライフサイクルにわたる資産の追跡管理の連続性が保証されるため、これはさらなる価値を有する。今日のIT管理者の主要な課題は全ライフサイクルにわたって資産の追跡管理を行う能力である。ライフサイクルの間に、装置はあるユーザから別のユーザに引き渡されることが多く、その際装置は再イメージング、またはオペレーティングシステムの再インストール、または他の形で資産の追跡管理を困難にする保守手順の対象になることがある。   The service agent disclosed above has the ability to be persistent even if an operation is performed that would normally be expected to delete the service agent. Because the agent is programmable, its functionality can be expanded based on server-initiated commands. The present invention improves the ability of pre-introduced service agents to maintain an “active” state independent of the “user” operation of the device. The user's operation on the agent may be intentional or accidental. The present invention protects authorized users from accidental removal of service agents while permitting agent revocation by legitimate need (eg, at the end of the computer asset life cycle). The present invention prevents unauthorized users from removing agent software. The persistent attributes of the present invention have value in both security and asset management applications. In the context of a secure and stealth device tracking management software application, hiding valuable asset theft has become much more difficult regardless of what the thief does, and the software is permanent The present invention has great value because it is possible to contact a remote monitoring center. Furthermore, since the service agent has a permanent nature, it can be trusted that the tracking agent will not be accidentally removed, providing peace of mind to security personnel. In the context of secure asset management applications, this is of further value because it ensures continuity of asset tracking management throughout the entire life cycle. A major challenge for today's IT managers is the ability to track and manage assets throughout their lifecycle. During the lifecycle, a device is often handed over from one user to another, in which case the device re-images, reinstalls the operating system, or otherwise maintains maintenance procedures that make asset tracking difficult May be subject to.

以上、ブロック図形式の機能モジュールによって本発明の処理及びシステムを説明した。特記なき場合、本発明の範囲及び精神から離れることなく、1つかそれ以上の機能を単一の物理的装置またはソフトウェア製品中のソフトウェアモジュールに統合してもよく、また1つかそれ以上の機能を単一の場所またはネットワーク全体に分散した単独の物理的装置またはソフトウェアモジュールにおいて実現してもよいことが理解されるだろう。   The processing and system of the present invention have been described above using functional modules in the form of block diagrams. Unless otherwise specified, one or more functions may be integrated into a single physical device or software module in a software product without departing from the scope and spirit of the present invention, and one or more functions may be combined. It will be appreciated that it may be implemented in a single physical device or software module distributed throughout a single location or network.

各モジュールの実際の実現に関する詳細な議論は本発明の理解を可能にするために必要でないことが認識されるだろう。本出願におけるシステム中の様々な機能モジュールのシステム属性、機能性及び相互関係の開示によれば、実際の実現はプログラム及びシステムエンジニアの通常の技能の範囲内である。当業者は、一般的な技能を適用して過度な実験なしに本発明を実施することができる。   It will be appreciated that a detailed discussion regarding the actual implementation of each module is not necessary to allow an understanding of the present invention. According to the disclosure of system attributes, functionality and interrelationships of various functional modules in the system in this application, the actual implementation is within the ordinary skill of the program and system engineer. One skilled in the art can apply the general skill to practice the present invention without undue experimentation.

本発明に係る実施形態に関連して本発明を説明したが、本発明の範囲及び精神から離れることなく様々な修正及び改善をなし得ることが当業者には明らかであろう。例えば、情報抽出アプリケーションは、ユーザにウェブブラウズのさらなる柔軟性を提供する異なるまたは追加の処理に対応するように容易に修正することができる。従って、本発明は個々の例示実施形態によってではなく、添付の請求の範囲によってのみ制限されることが理解されるだろう。   While the invention has been described in connection with embodiments thereof, it will be apparent to those skilled in the art that various modifications and improvements can be made without departing from the scope and spirit of the invention. For example, the information extraction application can be easily modified to accommodate different or additional processes that provide the user with more flexibility of web browsing. Accordingly, it will be understood that the invention is not limited by the specific exemplary embodiments, but only by the appended claims.

3 ホスト監視サーバ
10 永続的エージェント
12 PCIオプションROM
13 コアBIOSフラッシュイメージ
14 ローダモジュール
16 適応インストーラモジュール
18 通信ドライバエージェント
A クライアント装置
B 通信リンク
C ホスト監視システム
3 Host monitoring server 10 Persistent agent 12 PCI option ROM
13 Core BIOS flash image 14 Loader module 16 Adaptive installer module 18 Communication driver agent A Client device B Communication link C Host monitoring system

Claims (24)

遠隔サーバへのネットワークに接続された電子装置中に配置され、前記電子装置に関する少なくとも1つのサービスを有効化、サポート及び/または提供する永続的サービスエージェントであって、
前記電子装置中に隠されたドライバエージェントであって、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成され、前記ドライバエージェントは、部分ドライバエージェントまたは全機能ドライバエージェントの少なくとも1つを備え、前記全機能ドライバエージェントは、サービスを提供する際前記ネットワークと通信するように構成され、前記部分ドライバエージェントは、前記全機能ドライバエージェントと比較して少ない機能の集合によって、全機能ドライバエージェントが前記電子装置中で利用可能か否かを決定するように、構成されるドライバエージェントと、
ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールと、を備える、永続的サービスエージェント。
A permanent service agent located in an electronic device connected to a network to a remote server and enabling, supporting and / or providing at least one service for said electronic device comprising:
A driver agent hidden in the electronic device, wherein the driver agent is configured to be resistant to external tampering, including self-healing upon tampering, the driver agent being a partial driver agent or full function At least one driver agent, wherein the full-function driver agent is configured to communicate with the network when providing a service, and the partial driver agent is a set of functions that are less than the full-function driver agent A driver agent configured to determine whether a full-function driver agent is available in the electronic device;
A persistent service agent comprising: an execution module configured to automatically start operation of the driver agent without user initiation or user intervention.
前記ドライバエージェントは、資産追跡管理、資産回復、ソフトウェア導入、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアのアップグレードの少なくとも1つを備えるサービスを有効化、サポート及び/または提供するように構成される、請求項1に記載の永続的サービスエージェント。   The driver agent enables, supports and / or services comprising at least one of asset tracking management, asset recovery, software deployment, data deletion, firewall protection, data encryption, location tracking management, message notification, and software upgrade. The permanent service agent of claim 1, wherein the permanent service agent is configured to provide. 前記ドライバエージェントは、前記電子装置において選択されたデータファイルを削除するデータ削除サービスを有効化、サポート及び/または提供するように構成され、前記ドライバエージェントは、前記削除されたデータの報告を前記遠隔外部サーバに提供する、請求項1に記載の永続的サービスエージェント。   The driver agent is configured to enable, support, and / or provide a data deletion service that deletes a selected data file in the electronic device, and the driver agent sends a report of the deleted data to the remote device. The persistent service agent according to claim 1, which is provided to an external server. 前記ドライバエージェントは、前記電子装置のオペレーティングシステムの削除を有効化、サポート及び/または提供するように構成されている、請求項3に記載の永続的サービスエージェント。   The persistent service agent of claim 3, wherein the driver agent is configured to enable, support and / or provide for deletion of an operating system of the electronic device. 前記ドライバエージェントは、まず前記オペレーティングシステム以外のデータファイルを削除し、前記報告を前記遠隔サーバに提供してから、前記オペレーティングシステムを削除するように構成されている、請求項4に記載の永続的サービスエージェント。   The persistent driver of claim 4, wherein the driver agent is configured to first delete a data file other than the operating system, provide the report to the remote server, and then delete the operating system. Service agent. 前記ドライバエージェントは、前のデータ削除サービスが完了前に中断された場合データ削除サービスを再開するように構成されている、請求項3に記載の永続的サービスエージェント。   The persistent service agent of claim 3, wherein the driver agent is configured to resume the data deletion service if a previous data deletion service was interrupted before completion. 前記部分ドライバエージェントが、ファームウェア、ソフトウェア及びハードウェアの少なくとも1つとして前記電子装置中に置かれている、請求項2に記載の永続的サービスエージェント。   The persistent service agent of claim 2, wherein the partial driver agent is located in the electronic device as at least one of firmware, software, and hardware. 前記ファームウェアは、不揮発性メモリを備える、請求項7に記載の永続的サービスエージェント。   The persistent service agent of claim 7, wherein the firmware comprises a non-volatile memory. 前記不揮発性メモリは、BIOSチップ及びフラッシュメモリの少なくとも1つを備える、請求項8に記載の永続的サービスエージェント。   The persistent service agent of claim 8, wherein the non-volatile memory comprises at least one of a BIOS chip and a flash memory. 前記ソフトウェアは、前記電子装置のオペレーティングシステムを備える、請求項7に記載の永続的サービスエージェント。   The permanent service agent of claim 7, wherein the software comprises an operating system of the electronic device. 前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中の選択されたデータファイルのデータ削除に関連する前記遠隔サーバからの命令を受信するように構成されている、請求項3に記載の永続的サービスエージェント。   The driver agent is configured to communicate with the remote server to receive instructions from the remote server related to data deletion of a selected data file in the electronic device. Persistent service agent. 前記ドライバエージェントは、前記遠隔サーバと通信を行い、前記遠隔サーバから命令を受信して該命令に応じた前記サービスを実行し、該通信は、前記ドライバエージェントまたは前記サーバによって開始される、請求項2に記載の永続的サービスエージェント。   The driver agent communicates with the remote server, receives an instruction from the remote server and executes the service in response to the instruction, the communication being initiated by the driver agent or the server. 2. A permanent service agent according to 2. 前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中でファイアウォール保護を確立することに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。   The persistence of claim 12, wherein the driver agent is configured to communicate with the remote server to receive instructions from the remote server in connection with establishing firewall protection in the electronic device. Service agent. 前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置中でデータ暗号化を引き受けることに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。   The persistence of claim 12, wherein the driver agent is configured to communicate with the remote server to receive instructions from the remote server related to undertaking data encryption in the electronic device. Service agent. 前記ドライバエージェントは、前記遠隔サーバと通信して、電子装置の位置追跡管理に関連した前記遠隔サーバからの命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。   The persistent service agent of claim 12, wherein the driver agent is configured to communicate with the remote server to receive instructions from the remote server related to location tracking management of electronic devices. 前記ドライバエージェントは、前記遠隔サーバと通信して、前記電子装置の一定の機能を無効化するメッセージ通知及び/または命令を受信するように構成されている、請求項12に記載の永続的サービスエージェント。   The persistent service agent of claim 12, wherein the driver agent is configured to communicate with the remote server to receive message notifications and / or instructions that disable certain functions of the electronic device. . 請求項1に記載の永続的サービスエージェントを備える電子装置。   An electronic device comprising the permanent service agent according to claim 1. 電子装置中のサービスを有効化、サポート及び/または提供する方法であって、
前記電子装置中のドライバエージェントを隠すステップであって、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成されているステップと、
ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールを提供するステップと、
遠隔サーバと通信して、前記サービスに関する命令を受信するため前記ドライバエージェントをネットワークに機能的に接続するステップと、を含む方法。
A method for enabling, supporting and / or providing a service in an electronic device, comprising:
Hiding a driver agent in the electronic device, wherein the driver agent is configured to be resistant to external tampering, including self-healing upon tampering;
Providing an execution module configured to automatically start operation of the driver agent without user initiation or user intervention;
Communicatively connecting the driver agent to a network to communicate with a remote server to receive instructions relating to the service.
前記サービスは、資産追跡管理、資産回復、ソフトウェア導入、データ削除、ファイアウォール保護、データ暗号化、位置追跡管理、メッセージ通知、及びソフトウェアのアップグレードの少なくとも1つを備える、請求項17に記載の方法。   The method of claim 17, wherein the service comprises at least one of asset tracking management, asset recovery, software deployment, data deletion, firewall protection, data encryption, location tracking management, message notification, and software upgrade. 前記ドライバエージェントは、前記電子装置において選択されたデータファイルを削除するデータ削除サービスを有効化、サポート及び/または提供するように構成され、前記ドライバエージェントは、前記電子装置のオペレーティングシステムの削除を有効化、サポート及び/または提供するように構成されている、請求項18に記載の方法。   The driver agent is configured to enable, support, and / or provide a data deletion service that deletes a selected data file in the electronic device, and the driver agent enables deletion of the operating system of the electronic device. The method of claim 18, wherein the method is configured to enable, support and / or provide. 前記ドライバエージェントは、まず前記オペレーティングシステム以外のデータファイルを削除し、前記報告を前記遠隔サーバに提供してから、前記オペレーティングシステムを削除するように構成されている、請求項19に記載の方法。   The method of claim 19, wherein the driver agent is configured to first delete a data file other than the operating system, provide the report to the remote server, and then delete the operating system. ネットワークに接続された電子装置において少なくとも1つのサービスを提供するシステムであって、
前記ネットワークに接続された遠隔サーバと、
前記電子装置中に配置された永続的サービスエージェントであって、前記電子装置中に隠されたドライバエージェントを備え、前記ドライバエージェントは、改竄の際の自己回復を含む、外部改竄に対する耐性を有するように構成され、前記ドライバエージェントは、部分ドライバエージェントまたは全機能ドライバエージェントの少なくとも1つを備え、前記全機能ドライバエージェントは、前記サービスを提供する際前記ネットワークと通信するように構成され、前記部分ドライバエージェントは、前記全機能ドライバエージェントと比較して少ない機能の集合によって、全機能ドライバエージェントが前記電子装置中で利用可能か否かを決定するように構成され、前記永続的サービスエージェントがさらに、ユーザによる開始またはユーザによる介入なしに前記ドライバエージェントの動作を自動的に開始するように構成された実行モジュールを備える永続的サービスエージェントとを備え、
前記永続的エージェントは、前記遠隔サーバと通信を行い、前記遠隔サーバから命令を受信して該命令に応じた前記サービスを実行するシステム。
A system for providing at least one service in an electronic device connected to a network,
A remote server connected to the network;
A permanent service agent located in the electronic device, comprising a driver agent hidden in the electronic device, wherein the driver agent is resistant to external tampering, including self-healing upon tampering The driver agent comprises at least one of a partial driver agent or a full-function driver agent, wherein the full-function driver agent is configured to communicate with the network when providing the service; The agent is configured to determine whether a full-function driver agent is available in the electronic device with a small set of functions compared to the full-function driver agent, and the persistent service agent further includes a user Start by or yu A persistent service agents without intervention by THE comprising an execution module configured to automatically start the operation of the driver agent,
The permanent agent communicates with the remote server, receives a command from the remote server, and executes the service according to the command.
前記通信は、前記ドライバエージェントまたは前記サーバによって開始される、請求項22に記載のシステム。   The system of claim 22, wherein the communication is initiated by the driver agent or the server. 前記永続的サービスエージェントは、前記遠隔サーバと通信し、
(a)前記電子装置中のファイアウォール保護の確立と、
(b)前記電子装置中のデータ暗号化の引き受けと、
(c)電子装置の位置追跡管理と、
(d)メッセージ通知の受信と、
(e)前記電子装置の一定の機能の無効化と、のうちの少なくとも1つに関連した前記遠隔サーバからの命令を受信するように構成されている、請求項22に記載のシステム。
The persistent service agent communicates with the remote server;
(A) establishing firewall protection in the electronic device;
(B) undertaking data encryption in the electronic device;
(C) electronic device location tracking management;
(D) receiving a message notification;
23. The system of claim 22, configured to receive instructions from the remote server associated with at least one of (e) disabling certain functions of the electronic device.
JP2012227364A 2005-03-18 2012-10-12 Persistent service agent Active JP5508502B2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US66361505P 2005-03-18 2005-03-18
US66349605P 2005-03-18 2005-03-18
US60/663,615 2005-03-18
US60/663,496 2005-03-18
US75679606P 2006-01-07 2006-01-07
US60/756,796 2006-01-07

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008502159A Division JP2008533621A (en) 2005-03-18 2006-03-20 Persistent service agent

Publications (2)

Publication Number Publication Date
JP2013008400A true JP2013008400A (en) 2013-01-10
JP5508502B2 JP5508502B2 (en) 2014-06-04

Family

ID=36778184

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008502159A Withdrawn JP2008533621A (en) 2005-03-18 2006-03-20 Persistent service agent
JP2012227364A Active JP5508502B2 (en) 2005-03-18 2012-10-12 Persistent service agent

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008502159A Withdrawn JP2008533621A (en) 2005-03-18 2006-03-20 Persistent service agent

Country Status (4)

Country Link
EP (1) EP1864238A1 (en)
JP (2) JP2008533621A (en)
CA (1) CA2601260C (en)
WO (1) WO2006102399A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601606B2 (en) 2002-11-25 2013-12-03 Carolyn W. Hafeman Computer recovery or return
JP2010518468A (en) 2007-01-16 2010-05-27 アブソリュート ソフトウェア コーポレイション Security module with an auxiliary agent that works with the host agent
US8932368B2 (en) 2008-04-01 2015-01-13 Yougetitback Limited Method for monitoring the unauthorized use of a device
US9031536B2 (en) 2008-04-02 2015-05-12 Yougetitback Limited Method for mitigating the unauthorized use of a device
US9838877B2 (en) * 2008-04-02 2017-12-05 Yougetitback Limited Systems and methods for dynamically assessing and mitigating risk of an insured entity
US8719909B2 (en) * 2008-04-01 2014-05-06 Yougetitback Limited System for monitoring the unauthorized use of a device
US8248237B2 (en) 2008-04-02 2012-08-21 Yougetitback Limited System for mitigating the unauthorized use of a device
US9886599B2 (en) 2008-04-02 2018-02-06 Yougetitback Limited Display of information through auxiliary user interface
US20090253406A1 (en) 2008-04-02 2009-10-08 William Fitzgerald System for mitigating the unauthorized use of a device
US9576157B2 (en) 2008-04-02 2017-02-21 Yougetitback Limited Method for mitigating the unauthorized use of a device
US9881152B2 (en) * 2008-04-01 2018-01-30 Yougetitback Limited System for monitoring the unauthorized use of a device
US9916481B2 (en) 2008-04-02 2018-03-13 Yougetitback Limited Systems and methods for mitigating the unauthorized use of a device
TW200943121A (en) * 2008-04-15 2009-10-16 Giga Byte Tech Co Ltd A burglarproof method and system for portable computer devices
US8600405B2 (en) 2008-08-12 2013-12-03 Apogee Technology Consultants, Llc Location-based recovery device and risk management system for portable computing devices and data
US20100325149A1 (en) * 2009-06-22 2010-12-23 Craig Stephen Etchegoyen System and Method for Auditing Software Usage
WO2011021114A1 (en) * 2009-08-20 2011-02-24 Nds Limited Electronic book security features
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
AU2012100460B4 (en) 2012-01-04 2012-11-08 Uniloc Usa, Inc. Method and system implementing zone-restricted behavior of a computing device
AU2012100462B4 (en) 2012-02-06 2012-11-08 Uniloc Usa, Inc. Near field authentication through communication of enclosed content sound waves
US9152784B2 (en) * 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
AU2013100355B4 (en) 2013-02-28 2013-10-31 Netauthority, Inc Device-specific content delivery
WO2015040459A1 (en) * 2013-03-15 2015-03-26 Yougetitback Limited Systems and methods for dynamically assessing and mitigating risk of an insured entity
US11394701B2 (en) 2017-11-01 2022-07-19 Hewlett-Packard Development Company, L.P. Non-compliance event notifications to companion devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10511783A (en) * 1993-08-04 1998-11-10 トレンド・マイクロ・インコーポレイテッド Method and apparatus for controlling network and workstation access prior to workstation boot

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5748084A (en) * 1996-11-18 1998-05-05 Isikoff; Jeremy M. Device security system
US7047426B1 (en) * 2000-04-27 2006-05-16 Warranty Corporation Of America Portable computing device communication system and method
US7111292B2 (en) * 2001-09-10 2006-09-19 Texas Instruments Incorporated Apparatus and method for secure program upgrade
CA2561130C (en) * 2004-03-26 2018-01-30 Absolute Software Corporation Persistent servicing agent

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10511783A (en) * 1993-08-04 1998-11-10 トレンド・マイクロ・インコーポレイテッド Method and apparatus for controlling network and workstation access prior to workstation boot

Also Published As

Publication number Publication date
EP1864238A1 (en) 2007-12-12
CA2601260C (en) 2016-05-03
JP2008533621A (en) 2008-08-21
JP5508502B2 (en) 2014-06-04
CA2601260A1 (en) 2006-09-28
WO2006102399A1 (en) 2006-09-28

Similar Documents

Publication Publication Date Title
JP5508502B2 (en) Persistent service agent
US9465959B2 (en) Persistent agent supported by processor
JP5475743B2 (en) Persistence service provider
CA2732830C (en) Secure computing environment to address theft and unauthorized access
US20110099547A1 (en) Approaches for installing software using bios
US20160328580A1 (en) Systems, apparatuses and methods for computer security in a computer network
JP5959749B2 (en) How to protect your operating system from malicious software attacks
US8037290B1 (en) Preboot security data update
US20060253904A1 (en) Electronic device security and tracking system and method
KR20100087336A (en) Computer storage device having separate read-only space and read-write space, removable media component, system management interface, and network interface

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131029

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140320

R150 Certificate of patent or registration of utility model

Ref document number: 5508502

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250