(57)【特許請求の範囲】
【請求項１】
コンピュータ内のプロセッサにより実行される方法であって、
前記プロセッサが、
前記コンピュータにおいて、望ましくないコンピュータプログラムが常駐するであろう領域を特定するステップと、
前記領域内にデータオブジェクトを提供して、該データオブジェクトが、前記コンピュータにセキュリティを与えるとともに、前記望ましくないプログラムに対する免疫を提供するようにするステップと、
を実行することを特徴とする方法。
【請求項２】
前記コンピュータの第２の領域内に、前記データオブジェクトに関連するヌル構成オブジェクトを提供するステップをさらに実行する、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ヌル構成オブジェクトが、ヌルレジストリキーを含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記ヌル構成オブジェクトが、ヌル構成情報を含む、
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記データオブジェクトの削除又は修正を防ぐステップをさらに実行する、
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記データオブジェクトの削除又は修正を防ぐステップが、前記データオブジェクトに対するセキュリティ許可を設定するステップを含む、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記データオブジェクトの削除又は修正を防ぐステップが、前記データオブジェクトを、前記望ましくないプログラムとは異なるオブジェクトタイプに修正するステップを含む、
ことを特徴とする請求項５に記載の方法。
【請求項８】
前記データオブジェクトの削除又は修正を防ぐステップが、前記データオブジェクト内に第２のデータオブジェクトを配置するステップを含む、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記データオブジェクトのアクセスに応答して、セキュリティイベントを生成するステップをさらに実行する、
ことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ヌル構成オブジェクトのアクセスに応答して、セキュリティイベントを生成するステップをさらに実行する、
ことを特徴とする請求項２に記載の方法。
【請求項１１】
コンピュータにおいて、望ましくないコンピュータプログラムが常駐するであろう領域を特定し、
前記領域内にデータオブジェクトを提供して、該データオブジェクトが、前記コンピュータにセキュリティを与えるとともに、前記望ましくないプログラムに対する免疫を提供するようにする、
ように構成されたイノキュレータエンジンを備える、
ことを特徴とする装置。
【請求項１２】
前記イノキュレータエンジンが、前記コンピュータの第２の領域内に、前記データオブジェクトに関連するヌル構成オブジェクトを提供するように構成される、
ことを特徴とする請求項１１に記載の装置に記載の装置。
【請求項１３】
前記ヌル構成オブジェクトが、ヌルレジストリキーを含む、
ことを特徴とする請求項１２に記載の装置。
【請求項１４】
前記ヌル構成オブジェクトが、ヌル構成情報を含む、
ことを特徴とする請求項１２に記載の装置。
【請求項１５】
前記データオブジェクトの削除又は修正を防ぐように構成されたセキュリティサブシステムをさらに備える、
ことを特徴とする請求項１１に記載の装置。
【請求項１６】
前記セキュリティサブシステムが、前記データオブジェクトに対するセキュリティ許可を設定することにより、前記データオブジェクトの削除又は修正を防ぐ、
ことを特徴とする請求項１５に記載の装置。
【請求項１７】
前記セキュリティサブシステムが、前記データオブジェクトを、前記望ましくないプログラムとは異なるオブジェクトタイプに修正することにより、前記データオブジェクトの削除又は修正を防ぐ、
ことを特徴とする請求項１５に記載の装置。
【請求項１８】
前記セキュリティサブシステムが、前記データオブジェクト内に第２のデータオブジェクトを配置することにより、前記データオブジェクトの削除又は修正を防ぐ、
ことを特徴とする請求項１７に記載の装置。
【請求項１９】
前記データオブジェクトのアクセスに応答して、セキュリティイベントを生成するように構成されたセキュリティサブシステムをさらに備える、
ことを特徴とする請求項１１に記載の装置。
【請求項２０】
前記ヌル構成オブジェクトのアクセスに応答して、セキュリティイベントを生成するように構成されたセキュリティサブシステムをさらに備える、
ことを特徴とする請求項１２に記載の装置。
【請求項２１】
コンピュータにおいて、望ましくないコンピュータプログラムが常駐するであろう領域を特定する手段と、
前記領域内にデータオブジェクトを提供して、該データオブジェクトが、前記コンピュータにセキュリティを与えるとともに、前記望ましくないプログラムに対する免疫を提供するようにする手段と、
を備えることを特徴とする装置。
【請求項２２】
コンピュータ内のプロセッサに、
コンピュータにおいて、望ましくないコンピュータプログラムが常駐するであろう領域を特定する手順と、
前記領域内にデータオブジェクトを提供して、該データオブジェクトが、前記コンピュータにセキュリティを与えるとともに、前記望ましくないプログラムに対する免疫を提供するようにする手順と、
を実行させためのプログラム命令を記憶したコンピュータ読み取り可能な記録媒体。
【請求項２３】
コンピュータ内のプロセッサにより実行される方法であって、
前記プロセッサが、
前記コンピュータにおいて、望ましくないコンピュータプログラムがインストール後に常駐される第１のロケーションを特定するステップと、
前記望ましくないコンピュータプログラムの特定された前記第１のロケーションを占有するデータオブジェクトを前記コンピュータに提供し、前記望ましくないコンピュータプログラムが特定された前記第１のロケーションにインストールされないようにするステップと、
前記データオブジェクトに関連するヌル構成オブジェクトを、前記コンピュータ内の第２のロケーションに提供するステップと、
を実行することを特徴とする方法。
【請求項２４】
イノキュレータエンジンを備えた装置であって、
前記イノキュレータエンジンが、
前記コンピュータにおいて、望ましくないコンピュータプログラムがインストール後に常駐される第１のロケーションを特定し、
前記望ましくないコンピュータプログラムの特定された前記第１のロケーションを占有するデータオブジェクトを前記コンピュータに提供し、前記望ましくないコンピュータプログラムが特定された前記第１のロケーションにインストールされないようにし、
前記データオブジェクトに関連するヌル構成オブジェクトを、前記コンピュータ内の第２のロケーションに提供する、
ように構成された装置。
【請求項２５】
メモリと通信可能に接続された１以上のプロセッサを備えた装置であって、
前記１以上のプロセッサが、
前記コンピュータにおいて、望ましくないコンピュータプログラムがインストール後に常駐される第１のロケーションを特定し、
前記望ましくないコンピュータプログラムの特定された前記第１のロケーションを占有するデータオブジェクトを前記コンピュータに提供し、前記望ましくないコンピュータプログラムが特定された前記第１のロケーションにインストールされないようにし、
前記データオブジェクトに関連するヌル構成オブジェクトを、前記コンピュータ内の第２のロケーションに提供する、
ことを実行するように構成された装置。
【請求項２６】
コンピュータ読み取り可能な記録媒体であって、
コンピュータに、
前記コンピュータにおいて、望ましくないコンピュータプログラムがインストール後に常駐される第１のロケーションを特定する手順と、
前記望ましくないコンピュータプログラムの特定された前記第１のロケーションを占有するデータオブジェクトを前記コンピュータに提供し、前記望ましくないコンピュータプログラムが特定された前記第１のロケーションにインストールされないようにする手順と、
前記データオブジェクトに関連するヌル構成オブジェクトを、前記コンピュータ内の第２のロケーションに提供する手順と、
ことを実行させるためのプログラム命令を記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、米国仮特許出願第６１／４５６，１９２号に対する優先権を主張するとともに、その利益を主張するものである。米国仮出願第６１／４５６，１９２号は、その全体が引用により本明細書に組み入れられる。
【背景技術】
【０００２】
マルウェアなどの望ましくないプログラムは、あるコンピュータ（又はコンピュータシステム）上で、コンピュータユーザの同意を得ずに動作を行うコンピュータプログラム又はソフトウェアである。マルウェアとしては、例えば、ウイルス、ワーム、トロイの木馬、バックドア、スパイウェア、アドウェア、ボットネット、又はコンピュータに悪質な影響を与える（又は他の望ましくない機能を実行する）可能性がある他のマルウェア又は他のプログラムを挙げることができる。コンピュータに対する悪質な影響とは、例えば、コンピュータ（又はコンピュータリソース又はオブジェクト）が損傷を受け、妨害され、破損し、望ましくない負荷を受け、又は別様に望ましくない形で影響を受ける場合のことである。当業者であれば周知のように、あるユーザにとって望ましくないものが、別のユーザにとっては実際に望ましい場合もあり、或いはベンダの実行可能なソフトウェア製品、又はマルウェア試験手順におけるソフトウェアツールになる場合さえもある。
【０００３】
いくつかの具体例として、ボットネットは、スパム、マルウェア又はウイルスを作成して送信し、或いはネットワークをサービス拒否攻撃などのメッセージで溢れさせるために使用されるソフトウェアエージェントである。スパイウェアは、コンピュータにインストールできて、知らない間にユーザに関する情報を収集するマルウェアの一種である。ウイルスは、プログラム又はコンピュータに損傷を与え又は妨害できるプログラムであり、繁殖して他のプログラム又はコンピュータに感染することができる。
【０００４】
望ましくないプログラムのクリーニング（除去、削除又は隔離など）、又は望ましくないプログラムの感染予防のための現在の方法では、例えば、ソフトウェアエージェント、アクティブな実行コード（プロセス）又はビヘイビアブロックソフトウェアを使用する必要がある。例えば、既知のマルウェアをブロックするためにファイアウォールが使用されるが、これはコンピュータリソースを使用して機能する。大企業（又は組織）にとっては、従来のマルウェア保護の解決策は、維持に費用がかかり困難なことが多い。
【０００５】
また、特定の悪質でないコンピュータプログラムの中にも、企業が望まないものがある。例えば、企業（大企業など）は、企業のネットワーク内にピアツーピアファイル共有プログラム（又はその他のタイプのコンピュータプログラム）を望まないことがある。また、これらの悪質でない望ましくないプログラムは、例えば、ハードウェアリソース（メモリ空間及び／又はプロセッサリソースなど）及び／又はソフトウェアリソース（オペレーティングシステムタスクなど）などのコンピュータリソースを消費することもある。従って、コンピュータユーザは、必ずしも悪質なコードとは限らない特定のコンピュータプログラムがインストールされないことを望む場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザは、コンピュータ内に望ましくないコンピュータプログラムが存在すること（又はネットワーク内の装置内に望ましくないプログラムが存在すること、又は携帯情報端末、スマートフォン、ｉＰａｄ又はｉＰｈｏｎｅなどのポータブルコンピュータ装置内に望ましくないプログラムが存在すること）を発見した場合、通常は、現在利用可能な解決策を用いて、この望ましくないプログラムを除去することができる。例えば、現在のソフトウェアプログラムを使用して、コンピュータ内のマルウェア又はウイルスを除去することができる。しかしながら、コンピュータは、同じ望ましくないプログラムに再感染する可能性が高い。再感染率が高い（約５０％以上などの）場合、特に複数のコンピュータが同じ望ましくないプログラムに再感染する場合には、企業にとってコンピュータの維持コストが高額になる。
【０００７】
企業が、大規模で全組織的な統合アプリケーションソフトウェアパッケージである「企業システム」を使用している場合、このコストの増大を招く可能性が高い。例えば、企業が、あるコンピュータを企業システムとともに又はその一部として使用するように再構成し、この再構成したコンピュータを分析した後で、このコンピュータが企業のコンピュータに以前に侵入していた望ましくないプログラム（マルウェア又はウイルスなど）に感染又は再感染していることが判明した場合、この再感染を除去するのに必要な手順が企業にとってコストの増大を招く。
【課題を解決するための手段】
【０００８】
現在の技術には、コンピュータ又はネットワーク装置の再感染を防ぐための、それほど複雑でない安価な方法を提供するものはない。従って、現在の技術は、その性能が限られており、少なくとも上記の制約及び不完全性が存在する。
【０００９】
以下の図を参照しながら本発明の非限定的かつ非包括的な実施形態について説明するが、特に指定しない限り様々な図全体を通じて同じ参照数字は同じ部分を示す。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態による装置（システム）のブロック図である。
【図２】本発明の様々な実施形態による、図１の装置内の様々な特徴を示すブロック図である。
【図３】本発明の１つの実施形態による方法のブロック図である。
【発明を実施するための形態】
【００１１】
本明細書の説明では、本発明の実施形態を完全に理解できるように、構成要素、モジュール、ソフトウェア、プログラムコード及び／又は方法の例などの数多くの具体的な詳細を示す。しかしながら、当業者であれば、これらの具体的な詳細の１又はそれ以上を伴わずに、或いは他の装置、システム、方法、モジュール、ソフトウェア、プログラムコード、構成要素、材料、部品、及び／又は同様のものを用いて本発明の実施形態を実施できると認識するであろう。その他の場合、本発明の実施形態の態様を曖昧にしないように、周知の構造、材料、モジュール、ソフトウェア、プログラムコード又は動作については詳細に図示又は説明していない。また、本質的に図は代表的表現であり、これらの形状は、あらゆる要素の正確な形状又は正確なサイズを示すことを意図するものではなく、本発明の範囲を限定することを意図するものでもない。
【００１２】
図１は、本発明の１つの実施形態による装置（システム）１００のブロック図、又は本発明の実施形態において使用できる装置（システム）のブロック図である。例示的なコンピュータ装置１０５（又はコンピュータ１０５）は、通信ネットワーク１１０に接続可能であるとともに、これに沿って通信することができる。従って、コンピュータ装置１０５は、ネットワーク１１０を介してリモートサーバ１１２と通信し、このリモートサーバ１１２からデータオブジェクト又はプログラムをダウンロードすることができる。サーバ１１２のプラットフォーム上では、本発明の１つの実施形態によるイノキュレータエンジン１１４が動作し、このイノキュレータエンジン１１４の機能については後述する。
【００１３】
コンピュータ装置１０５は、例えば限定ではなく、コンピュータ（パーソナルコンピュータなど）、サーバ、ワークステーション、メインフレームコンピュータ、ミニコンピュータ、マイクロコンピュータ、ノートブック型又はラップトップ型コンピュータ、パームトップ、スマート装置（スマートプリンタ、スマートカメラ、スマートスキャナ又はその他のスマート装置など）、又はポータブルコンピュータ装置（携帯電話機、スマートフォン、携帯情報端末、ｉＰａｄ、ｉＰｈｏｎｅ又はその他のポータブルコンピュータ装置など）、或いは別のタイプのコンピュータとすることができる。
【００１４】
通信ネットワーク１１０は、例えば限定ではなく、ワイドエリアネットワーク（インターネットなど）などの公衆ネットワーク、ローカルエリアネットワーク（ＬＡＮ）、或いは異なるタイプのプライベートネットワーク、セミプライベート又は公衆ネットワークなどである。ネットワーク１１０を形成する（単複の）リンクは、有線、無線、又はこれらの組み合わせとすることができる。
【００１５】
コンピュータ装置１０５は、計算動作又はデータ送信で使用される標準要素１１５を含む。図１に示す要素１１５のいくつかは、ハードウェア要素又はオブジェクト（ディスクドライバなど）である。当然ながら、要素１１５内の構成要素は、コンピュータ装置のタイプに応じて異なることができる。例えば、ＰＤＡ又はスマートフォン内のハードウェア要素と比較すると、パーソナルコンピュータ内のいくつかのハードウェア要素は異なる場合がある。一例として、要素１１５は、プロセッサ１２０、１又はそれ以上のメモリ素子１２５、ディスクなどの記憶装置１３０、（ネットワークインターフェイス１４２内の構成要素とすることもできる）ポート１４０、ディスクドライバ１４５、（ネットワークインターフェイス１４２内の構成要素とすることもできる）ネットワークドライバ１５０、及び／又はコンピュータ装置内で使用されるその他の既知の要素を含む。
【００１６】
コンピュータ装置１０５は、当業者に周知の管理機能及びその他の機能を実行する、例えばオペレーティングシステム（ＯＳ）１５５などのソフトウェア要素１５２も含む。ＯＳ１５５は、例えば、Ｍｉｃｒｏｓｏｆｔ  ＷＩＮＤＯＷＳ（登録商標）ベースのオペレーティングシステム、ＭＡＣ  ＯＳ（登録商標）、ＭＡＣ  ＯＳ  Ｘ（登録商標）、ｉＯＳ（モバイルオペレーティングシステム）、ＵＮＩＸ又はＵＮＩＸ様ＯＳ、ＢＳＤ及びその子孫オペレーティングシステム、Ｌｉｎｕｘ／ＧＮＵ、Ｇｏｏｇｌｅ  ＣＲＯＭＥ  ＯＳ（登録商標）、ＯＳ／２、又は別のオペレーティングシステムなどの様々なタイプの既知のＯＳ１５５のうちの１つとすることができる。なお、上記のオペレーティングシステム名のうちの少なくとも一部は登録商標である。後述するように、イノキュレータ１１４は、コンピュータ装置１０５上にブロックオブジェクト１６０（すなわち、ブロック１６０又はウェッジ１６０）を送信して、コンピュータ装置１０５に既知の特定のソフトウェアプログラムがインストールされ又は実行されるのを防ぐように構成される。ブロックオブジェクト１６０は、不活性オブジェクト（或いはヌルオブジェクト、又は機能を実施も実行もしないデータオブジェクト）であるデータオブジェクトである。本明細書では、このブロックオブジェクト１６０を「ブロック１６０」又は「ウェッジ１６０」とも呼ぶ。以下でさらに詳細に説明するように、特定のブロックオブジェクト１６０は、コンピュータ装置１０５上における特定のコンピュータプログラムのインストール又は実行をブロックする。ブロックされるコンピュータプログラムは、悪質なコンピュータプログラムの場合も、又は悪質でないコンピュータプログラムの場合もある。
【００１７】
コンピュータ装置１０５は、ユーザインターフェイス１６５及び／又はその他の周辺構成要素を含むこともできる。当然ながら、ユーザインターフェイス１６５は、コンピュータ装置１０５のタイプに応じて異なることができる。例えば、ノートブック型コンピュータ用のユーザインターフェイスは、ＰＤＡ用のユーザインターフェイス又はスマートフォン用のユーザインターフェイスとは異なり得る。インターフェイス１６５は、コンピュータ装置１０５と一体化すること、又はコンピュータ装置１０５に結合してともに機能することができる。一例として、パーソナルコンピュータ用のインターフェイス１６５は、マウス（又はコントロールパッド）１７０、キーボード１７６、及び／又は画面（又はタッチ画面）１８０のうちの少なくとも１つを含むことができる。バス１５３は、上述したコンピュータ装置１０５の構成要素が互いに通信してともに機能できるようにする。図面を明確にするために、図１には、装置１０５内で使用できる他の標準的ハードウェア、ソフトウェア、又はファームウェア構成要素については示していない。
【００１８】
イノキュレータエンジン１１４は、標準プログラミング言語（Ｃ、Ｃ＋＋、又はその他の好適な言語など）に基づくソフトウェアコードにより形成される。
【００１９】
図２は、本発明の実施形態による、図１の装置１００のさらなる詳細を示すブロック図である。既知のコンピュータプログラム２０５（すなわち、不要な又は望ましくないコンピュータプログラム２０５、或いは不要な又は望ましくないソフトウェアプログラム２０５）が、例えば既知のマルウェア又は既知の悪質でないプログラムであると仮定する。マルウェアは、例えば、ウイルス、ワーム、トロイの木馬、バックドア、スパイウェア、アドウェア、ボットネット、又はコンピュータに悪質な影響を与える（又は他の望ましくない機能を実行する）可能性がある他のマルウェア又は他のプログラムとすることができる。悪質でないプログラムは、例えば、ピアツーピアファイル共有プログラム（又は他のタイプの悪質でないコンピュータプログラム）とすることができる。他の悪質でないプログラムは、例えば従業員が気を取られずに職場で利益を上げ続けるように、企業がコンピュータ装置１０５にインストール（又は再インストール）したくないと望むコンピュータゲーム、ビデオ又はその他のプログラムを実行するコンピュータプログラムとすることができる。既知のコンピュータプログラム２０５は、以前にコンピュータ装置１０５に感染し（或いはネットワーク１１０又はコンピュータ装置１０５に接続する他のいずれかの装置に感染し）、既にコンピュータ装置１０５から削除され、その後既にその属性２１０を分析されている、最近発見又は分析されたマルウェアプログラム又は悪質でないプログラムとすることもできる。コンピュータプログラム２０５の属性２１０は、例えば、別個のリモートデータベース２１２に、又はリモートサーバ１１２内のデータベースに、或いはリモートサーバ１１２がアクセスできる別の装置（図２には図示せず）に記憶することができる。当業者には、コンピュータプログラムの属性を分析する様々な方法が知られている。
【００２０】
一例では、コンピュータプログラム２０５が、コンピュータ装置１０５（或いはコンピュータ装置１０５と通信できる、又はネットワーク１１０上で通信できる別のコンピュータ装置）に既にインストールされている。
【００２１】
コンピュータプログラム２０５が、コンピュータ装置１０５（或いはコンピュータ装置１０５と通信できる、又はネットワーク１１０上で通信できる別のコンピュータ装置）に感染したと仮定する。一例では、コンピュータ装置１０５からコンピュータプログラム２０５を除去するために、Ｗｉｎｄｏｗｓ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ（ＷＭＩ）を使用してコンピュータ装置１０５に接続することができる。当業者には周知のように、ＷＭＩは、例えばＷｉｎｄｏｗｓ  ＯＳなどの特定のオペレーティングシステムによるコンピュータ装置の管理及び制御を可能にする。一例では、ＷＭＩを介して管理されるコンピュータ装置が、例えば企業ネットワークなどのネットワーク内に存在することができる。ネットワーク管理者は、ＷＭＩを使用して、コンピュータ装置、アプリケーション及びネットワーク上の情報を問い合わせて設定することができる。ＷＭＩを使用することにより、管理者は、Ｍｉｃｒｏｓｏｆｔ社がサポートするＡＰＩ（アプリケーションプログラムインターフェイス）コールを使用して（ファイルシステム２２０内の）レジストリ２３０にアクセスし、コンピュータ装置１０５に特定のコンピュータプログラム２０５（悪質なコンピュータプログラム又は悪質でないコンピュータプログラム）がインストールされているかどうかを判定することができる。
【００２２】
管理者は、ＡＰＩコールを使用して特定のレジストリキー２２２にデータを書き込むことができる。一例では、この特定のレジストリキー２２２が、Ｍｉｃｒｏｓｏｆｔサービスパックのインストール又はアップデートから使用されるレジストリキーであり、このレジストリキーは、コンピュータ装置１０５の再起動後に除去すべき特定のファイル及びレジストリキーに関する命令を含む。コンピュータ装置１０５から特定のコンピュータプログラム２０５を除去するために、この特定のコンピュータプログラム２０５を除去するための命令が特定のレジストリキー２２２に書き込まれる。コンピュータ装置１０５を再起動すると、オペレーティングシステム１５５は、この特定のレジストリキー２２２を読み取って、コンピュータ装置１０５から特定のコンピュータプログラム２０５を除去する（また、コンピュータプログラム２０５のレジストリキー２０６も除去する）。ＯＳ１５５は、レジストリキー２２２内の、特定のプログラム２０５及びレジストリキー２０６を除去するための命令に基づいて、プログラム２０５及びレジストリキー２０６の除去を実行する。従って、ＷＭＩの機能を有利に使用して、コンピュータ装置１０５からコンピュータプログラム２０５をクリーニング（ワクチン接種、除去、削除、隔離）することができる。本明細書の説明に基づけば、コンピュータ装置１０５からコンピュータプログラム２０５を除去するための他の方法も有利に使用できることが理解される。
【００２３】
次に、この既知のコンピュータプログラム２０５の属性２１０を分析すると仮定する。当業者であれば、コンピュータプログラムを分析して、属性２１０の以下の特性又は詳細を判断することができる。一例では、属性２１０が、この既知のプログラム２０５のソフトウェア名が「ＵＮＷＡＮＴＥＤ−１」であり、ファイル拡張子が「ｅｘｔ」であることを示す。属性２１０が、この既知のコンピュータプログラム２０５がファイルシステム２２０によって位置２１５に記憶される予定であることを示しているとさらに仮定する。当業者には周知のように、ファイルシステムは、あらゆるオペレーティングシステムタイプ（プラットフォーム）内のサブシステムの１つである。通常、位置２１５は、コンピュータ装置１０５のメモリ１２５（図１）内の領域である。
【００２４】
既知のプログラム２０５が、Ｗｉｎｄｏｗｓベースのオペレーティングシステムへのインストールを試みている場合、又はインストール済みソフトウェアのためにレジストリ型システムを使用する別のタイプのオペレーティングシステムへのインストールを試みている場合、属性２１０は、この既知のプログラム２０５が、（ファイルシステム２２０によって管理され、メモリ１２５（図１）のメモリ領域２３５内に存在する）レジストリ２３０内にレジストリキー２０６を作成するつもりであることを示すこともできる。
【００２５】
当業者には周知のように、レジストリは、Ｗｉｎｄｏｗｓオペレーティングシステムが使用する、コンピュータプログラムに関する構成情報を記憶するためのデータベースである。ほとんどのコンピュータプログラムは、少なくともインストール中にレジストリにデータを書き込む。
【００２６】
当業者であれば、本明細書で説明する構成の変形例又は代替例を作成できると理解するであろう。例えば、本明細書で説明するように、メモリ（ランダムアクセスメモリなど）に記憶されるオブジェクト（又は他の記憶構成要素）には、常にメモリ内に常駐はできずにディスクに記憶され、アクセスされた時にメモリにロードされるものもある。より具体的な例として、ディスクドライバ１４５（図１）、レジストリ２３０及び／又はファイルシステム２２０などの一部のオブジェクト（又はその他の記憶構成要素）は、通常はディスクに記憶されて常にＲＡＭ内には常駐できず、アクセスされた時にのみＲＡＭ内にロードすることができる。
【００２７】
これとは別に又はこれに加えて、既知のプログラム２０５が、非ＷＩＮＤＯＷＳベースのオペレーティングシステムへのインストールを試みている場合、属性２１０は、この既知のプログラム２０５が構成情報ファイル２４０（すなわち、設定ファイル２４０）を作成するつもりであることを示すことができる。プログラム２０５がコンピュータ装置１０５にインストールされると、構成ファイル２４０は、この既知のプログラム２０５を有効に登録する。例えば、ＭＡＣ（登録商標）ＯＳ（登録商標）のオペレーティングシステムでは、この構成ファイル２４０はプリファレンスファイル２４０である。プリファレンスファイルが削除された場合、コンピュータプログラム２０５は、そのプリファレンスファイル２４０を再構築する。構成ファイル２４０が、あらゆる好適な構成ファイル又はメタデータファイル、或いはコンピュータプログラム２０５に関連し、必ずしもＭＡＣ  ＯＳオペレーティングシステムに限定されないあらゆる好適なタイプのオペレーティングシステムが使用する他のデータファイルを含むことは、本発明の実施形態の範囲に含まれる。
【００２８】
本発明の１つの実施形態では、イノキュレータエンジン１１４をメモリ２５０に記憶し、（例えば限定ではなく、サーバ又は別のタイプのコンピュータとすることができる）リモートコンピュータ装置１１２内のプロセッサ２５５によって実行することができる。オペレーティングシステム１５５がＷｉｎｄｏｗｓオペレーティングシステムである場合、管理者は、プロセッサ２５５がイノキュレータエンジン１１４を実行できるようにすることができる。イノキュレータエンジン１１４は、データベース２１２に記憶又は収集された、既知のコンピュータプログラム２０５に関連する属性又はメタデータである属性２１０を、レジストリキー２０６を含めて読み込む。通常、属性２１０は、コンピュータプログラム２０５がインストール後に常駐する予定の（ターゲット装置１０５内の）メモリ空間又はメモリアドレス空間、又はコンピュータプログラム２０５がインストール後に常駐する予定の（ターゲット装置１０５内の）ファイルシステム位置を示す。属性２１０は、望ましくないコンピュータプログラム２０５のレジストリキー２０６を受け取るであろうレジストリ位置２２６を示すこともできる。
【００２９】
本発明の１つの実施形態では、イノキュレータエンジン１１４が、ネットワーク１１０を介してブロックオブジェクト１６０（すなわち、ブロック１６０又はウェッジ１６０）を提供し、コンピュータ装置１０５上に送信２６０して、既知の特定のソフトウェアプログラム（既知のプログラム２０５）がターゲットコンピュータ装置１０５にインストールされ、又は実行されるのを防ぐ。ブロックオブジェクト１６０は、不活性オブジェクト（或いはヌルオブジェクト、又は機能を実施も実行もしないデータオブジェクト）であるデータオブジェクトである。本明細書では、このブロックオブジェクト１６０を、「ブロック１６０」又は「ウェッジ１６０」、或いは実行せずにメモリ空間のみを占める「ダミーファイル１６０」とも呼ぶ。例えば、このブロックオブジェクト１６０は、コンピュータ装置１０５に再インストールされないようにすべき既知のコンピュータプログラム２０５のメモリ空間（又はメモリアドレス空間）を占める、いずれの機能も実行しない特定サイズの所与のデータとすることができる。
【００３０】
ＯＳ１５５のファイルシステム２２０は、このブロックデータ１６０をメモリ領域２１５にインストールする。Ｗｉｎｄｏｗｓタイプのオペレーティングシステムでは、ファイルシステム２２０が、不要なコンピュータプログラム２０５がインストールを試みる際にレジストリキー２０６を生成してインストールするはずのレジストリ領域２２６に、偽のレジストリキー２２５（ヌルレジストリキー２２５）もインストールする。このヌルレジストリキー２２５は、望ましくないコンピュータプログラム２０５のレジストリキー２０６のレジストリ領域２２６を占める、いずれの機能も実行しない（すなわち、実行されない）特定サイズの所与のデータでもある。
【００３１】
別のタイプのオペレーティングシステムでは、ファイルシステム２２０が、ブロックオブジェクト１６０（ヌルオブジェクト１６０、データオブジェクト１６０、又はダミーオブジェクト１６０）のための偽の構成情報２４１（ヌル構成情報２４１）を構成ファイル２４０にインストールする。ＭＡＣ  ＯＳオペレーティングシステムでは、この構成ファイルが、プリファレンスファイルとして広く知られている。この偽の構成情報２４１は、不活性オブジェクト又は非機能データオブジェクトでもある。換言すれば、このヌル構成情報２４１は、非Ｗｉｎｄｏｗｓシステムにインストールされようとしている望ましくないコンピュータプログラム２０５の構成情報のメモリ領域を占める、いずれの機能も実行しない（すなわち、実行されない）特定サイズの所与のデータでもある。
【００３２】
本明細書及び以下の特許請求の範囲では、（Ｗｉｎｄｏｗｓベースのシステム又はレジストリキーを使用する他のＯＳタイプの場合の）ヌルレジストリキー２２５をヌル構成オブジェクト２２５とも呼ぶ。本明細書及び以下の特許請求の範囲では、（非Ｗｉｎｄｏｗｓベースのシステムの場合の）ヌル構成情報２４１をヌル構成オブジェクト２４１とも呼ぶ。ヌル構成オブジェクト２２５（又は２４１）は、ヌルオブジェクト１６０（データオブジェクト１６０）に関連する。
【００３３】
なお、（ｉＰａｄ、ｉＰｈｏｎｅ又はスマートフォンなどのモバイル装置のオペレーティングシステムなどの）オペレーティングシステムは、その全てのタイプがファイルシステムを有する。この結果、ターゲット装置１０５に不要なコンピュータプログラム２０５がインストールされるのを防ぐために、これらのファイルシステムを使用して、ブロックオブジェクト１６０を具体化したもの及び／又は偽の構成情報２４１を具体化したものをインストールすることができる。
【００３４】
特定のブロックオブジェクト１６０（データオブジェクト１６０）は、コンピュータ装置１０５に特定のコンピュータプログラム２０５がインストール（再インストール）され又は実行されるのをブロックする。ブロックされるコンピュータプログラム２０５は、悪質なコンピュータプログラムの場合もあれば、又は悪質でないコンピュータプログラムの場合もある。プログラム２０５が装置１０５に再インストールを試みると、ブロックオブジェクト１６０が、プログラム２０５のインストール先メモリ空間であるメモリ領域２１５を占める。この結果、このブロックオブジェクト１６０は、装置１０５へのプログラムの再インストールを防ぎ、装置１０５にプログラム２０５がインストールされ又は再感染するのを防ぐ抗体（又は機能的抗体）となる。プログラム２０５のインストール先メモリ空間２１５にはブロックオブジェクト１６０が存在するので、プログラム２０５はインストールできずにエラーを生じるようになる。
【００３５】
当業者には周知のように、Ｗｉｎｄｏｗｓオペレーティングシステムにインストールされるコンピュータプログラムに関しては、このコンピュータプログラムがレジストリにも登録される。本発明の実施形態では、イノキュレータエンジン１１４が、偽のレジストリキー２２５（或いはダミーレジストリキー２２５又は代用レジストリキー２２５）を提供してレジストリ２３０内に送信する２６０。この偽のレジストリキー２２５は、ブロックオブジェクト１６０に関連する。オペレーティングシステム１５５は、コンピュータプログラム２０５の実際のレジストリキー２０６の代わりに、この偽のレジストリキー２２５をレジストリ２３０にインストールする。この偽のレジストリキー２２５は、コンピュータプログラム２０５（マルウェア２０５又は悪質でないプログラム２０５など）がターゲット装置１０５へのインストール中にレジストリキー２０６を作成する場所である、レジストリ２３０の領域２２６にインストールされる。コンピュータプログラム２０５がターゲット装置１０５へのインストールを試みている時には、レジストリ２３０には既に偽のレジストリキー２２５がインストールされており、コンピュータプログラム２０５は、この偽のレジストリキー２２５を削除できないので、エラーが発生するようになる。
【００３６】
従って、ブロックデータ１６０及び／又は偽のレジストリキー２２５は、ターゲット装置１０５の、コンピュータプログラム２０５が「居住」又はインストールする必要がある領域をブロックする。
【００３７】
本発明の１つの実施形態では、（セキュリティサブシステム２６６によって管理される）セキュリティ許可設定２６５が、コンピュータプログラム２０５が偽のレジストリキー２２５の値を望ましくないプログラム２０５に関連する相応の値に変更するのを防ぐので、コンピュータプログラム２０５は、偽のレジストリキー２２５を削除することができない。この結果、コンピュータプログラム２０５は、ターゲット装置１０５に正常にインストールされず、ターゲット装置１０５は、コンピュータプログラム２０５による再感染から守られる。コンピュータプログラム２０５を装置１０５にうまくインストールできるようにするには、コンピュータプログラム２０５の作成者が、例えばコンピュータプログラム２０５の名前を変更するか、又はプログラム２０５のレジストリキー２０６以外の異なるレジストリキーを使用する必要がある。
【００３８】
本発明の別の実施形態では、ＯＳ１５５内のセキュリティ許可２６５を、ブロックオブジェクト１６０に関して、不要なコンピュータプログラム２０５がインストール済みのブロックオブジェクト１６０を修正又は置換できないように設定することができる。例えば、セキュリティ許可２６５を、インストール済みのブロックオブジェクト１６０をネットワーク管理者しか変更できないように設定することができる。データオブジェクトのためのセキュリティ許可２６５は、セキュリティサブシステム２６６を使用して設定することも、ネットワーク管理者がネットワーク１１０を介して遠隔で設定又は構成することもできる。セキュリティ許可２６５を設定することにより、不要なソフトウェアプログラム２０５がブロックオブジェクト１６０を首尾よく上書きし、削除し、置換し、又は修正することに対するセキュリティ又は保護が提供される。セキュリティサブシステム２６６は、ブロックオブジェクト１６０及び／又はヌルのレジストリキー２２５のためのセキュリティ許可２６５を設定する。
【００３９】
不要なコンピュータプログラム２０５の名前が「ＵＮＷＡＮＴＥＤ−１」であると仮定する。本発明の別の実施形態では、不要なコンピュータプログラム２０５が将来的にメモリ空間２１５にアクセスするのをブロックするブロックオブジェクト１６０を、ソフトウェアプログラム２０５が首尾よく上書き、削除、置換又は修正するのを防ぐために、ネットワーク管理者又はユーザが、ファイルシステム２２０及びセキュリティサブシステム２６６を介して、ブロックオブジェクト１６０の名前を変えずにそのタイプを変更することができる。例えば、ネットワーク管理者は、ブロックオブジェクト１６０を、ファイルオブジェクト１６０から、ファイルオブジェクトとは異なるタイプのオブジェクトであるディレクトリ１６０Ａに変更することができる。ディレクトリ１６０Ａの名前は、前のファイルオブジェクト１６０と同じ「ＵＮＷＡＮＴＥＤ−１」になる。（「ＵＮＷＡＮＴＥＤ−１」という名前の）不要なコンピュータプログラム２０５が将来的にメモリ領域２１５へのインストールを試みた場合、この不要なコンピュータプログラム２０５は、同じ「ＵＮＷＡＮＴＥＤ−１」という名前のディレクトリ１６０Ａと名前が衝突するのでインストールすることができなくなる。この名前の衝突により、ＯＳ１５５がエラーコードをトリガし、これにより不要なコンピュータプログラム２０５がターゲット装置１０５にインストールを試みたことをネットワーク管理者又はターゲット装置１０５のユーザに警告することができる。
【００４０】
本発明の別の実施形態では、不要なソフトウェアプログラム２０５が（上記の例で説明したように「ＵＮＷＡＮＴＥＤ−１」という名前の）ディレクトリ１６０Ａを首尾よく上書き、削除、置換又は修正するのを防ぐために、ネットワーク管理者又はユーザが、ファイルシステム２２０及びセキュリティサブシステム２６６を介して、メモリ領域２１５内のディレクトリ１６０Ａ内に別のブロックオブジェクト１６０Ｂを配置することができる。上記の例のブロックオブジェクト１６０と同様に、ブロックオブジェクト１６０Ｂも、非機能的又は非実行的な１つのデータオブジェクトである。ブロックオブジェクト１６０Ｂは、ブロックオブジェクト１６０の名前と異なる名前（「ＵＮＷＡＮＴＥＤ−２」など）を有することも、又はブロックオブジェクト１６０の名前と同じ名前（「ＵＮＷＡＮＴＥＤ−１」など）を有することもできる。ディレクトリ１６０Ａ内にブロックオブジェクト１６０Ｂが存在するので、不要なコンピュータプログラム２０５は、将来的にターゲット装置１０５へのインストールを試みた時にディレクトリ１６０Ａを削除又は修正することができない。
【００４１】
本発明の別の実施形態では、ターゲット装置１０５へのインストール又は再インストールを試みる侵入コンピュータプログラム２０５が、偽のレジストリキー２２５に対するアクセス、修正又は削除を試みた場合、或いはターゲット装置１０５へのインストール又は再インストールを試みる侵入コンピュータプログラム２０５が、ブロックオブジェクト１６０に対するアクセス、修正又は削除を試みた場合、セキュリティイベント２７２を生成するようにＯＳ１５５をプログラムすることができる。コンピュータプログラム２０５が、特定のメモリ領域２１５及び／又は特定のレジストリ領域２２６内のデータオブジェクトにアクセス（例えば、読み込み、書き込み、修正又は削除）しようと試みた場合、ＯＳ１５５は、（セキュリティサブシステム２６６などを介して）このセキュリティイベント２７２をトリガすることができる。その後、このセキュリティイベント２７２が監査サブシステム２７４に送信され、このサブシステム２７４は、このセキュリティイベント２７２をセキュリティイベントログ２７６に記録することができる。様々な市販のソフトウェア及びオープンソースソフトウェアを使用して、セキュリティイベントログ２７６を読み込み分析することができる。事実上、セキュリティイベント２７２は、コンピュータプログラム２０５がターゲット装置１０５へのインストールを試み、偽のレジストリ２２５及び／又はブロックオブジェクト１６０にアクセスし、又はこれらを修正又は削除しようと試みている時に、ネットワーク管理者又はターゲット装置１０５のユーザに警告を行う「仕掛け線」又は「盗難警報器」である。本発明の別の実施形態では、上述したセキュリティイベント２７２機能が除外される。
【００４２】
非限定的な動作例では、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステム又はその他のタイプのオペレーティングシステムを使用するコンピュータシステムに、（悪質なものである場合も、又は悪質なものでない場合もある）１つのソフトウェア２０５をサービスとして登録すると仮定する。Ｗｉｎｄｏｗｓ  ＯＳでは、「現在の制御セット／サービス」という名前のレジストリキー２０６の下にソフトウェア２０５が登録され、そのサービス名が「有害ソフトウェア」であると仮定する。このソフトウェア２０５は、ターゲット装置１０５にインストールされ又は感染すると、レジストリ２３０にこのレジストリキー２０６を作成する。例えば上述したような方法を使用して、ターゲットシステム１０５からソフトウェア２０５をクリーニング（例えば、削除又は除去）することができる。
【００４３】
このソフトウェア２０５の属性２１０が分析され（例えば、データベース２１２に）記録されると、イノキュレータエンジン１１４が、ターゲット装置１０５に抗体を送り込んで、ソフトウェア２０５が将来的にターゲットシステム１０５にインストールされるのを防ぐことができる。上述したように、この抗体は、ブロックオブジェクト１６０（ウェッジ１６０）、ソフトウェア２０５と同じ名前のディレクトリ１６０Ａ、ブロックオブジェクト１６０Ｂを含むディレクトリ１６０Ａ、ブロックオブジェクト１６０に関連する偽のレジストリキー２２５、及び／又はブロックオブジェクト１６０に関連する偽の構成情報２４１とすることができる。上述したように、これらの抗体内の構成要素は、例えば、オペレーティングシステムのタイプ、及び／又はネットワーク管理者がブロックオブジェクト１６０、ディレクトリ１６０Ａ、レジストリキー２２５及び／又は偽の構成情報２４１に設定することを好むセキュリティの量に基づいて異なることができる。
【００４４】
イノキュレータエンジン１１４は、ネットワーク１１０に沿ってリモートプロシージャコール（ＲＰＣ）を介してレジストリ２３５を開く。ＲＰＣは、Ｍｉｃｒｏｓｏｆｔベースのオペレーティングシステムの内蔵機能である。当業者には周知のように、ＲＰＣは、一方のコンピュータ上のプログラムが他方のコンピュータ内のプログラムを実行できるようにする一種のプロトコルである。一方のコンピュータ内のプログラムは、適当な引数を含むメッセージを他方のコンピュータに送信し、この他方のコンピュータは、実行したプログラムの結果を含むメッセージを返送する。
【００４５】
イノキュレータエンジン１１４は、「現在の制御セット／サービス」というレジストリパスの下に、「有害ソフトウェア」という名前のレジストリキーを作成する。従って、イノキュレータエンジン１１４は、ターゲット装置１０５にインストールを試みたプログラム２０５が作成したものと同じ名前のレジストリキーを作成する。
【００４６】
同じく上述したように、イノキュレータエンジン１１４を使用して、レジストリキー２２５に対するセキュリティ許可２６５を設定することができる。例えば、セキュリティ許可２６５は、レジストリキー２２５の所有者以外の誰かによるレジストリキー２２５への読み取りアクセス及び書き込みアクセスを防ぐ。通常、レジストリキー２２５の所有者はネットワーク管理者である。
【００４７】
この同じ例では、装置１０５のユーザが、後でインターネット又は別のネットワークを閲覧し、（「有害ソフトウェア」という名前の）同じプログラム２０５がターゲット装置１０５を悪用しようと試みると仮定する。「有害ソフトウェア」プログラム２０５は、その（「現在の制御セット／サービス／有害ソフトウェア」という名前の）レジストリキー２０６を作成し、ターゲット装置１０５へのインストールを試みている時に、このレジストリキー２０６をレジストリ２３０にインストールしようと試みる。レジストリ２３０には、レジストリキー２２５が既にインストールされているので、プログラム２０５のコードライン内にアクセス拒否エラーが生成される。このエラーコードは、レジストリ２３０に既にレジストリキー２２５がインストールされているという理由で生成され、このレジストリキー２２５が占めるレジストリ領域へのプログラム２０５によるアクセスが拒否されたことを示す。通常、プログラム２０５は、レジストリキー２２５を上書き又は修正するための正式なセキュリティ許可証明書を有していないので、エラーコードが生成される。プログラム２０５は、このエラーコードに対処するためのプログラミング応答を有しておらず、ターゲット装置１０５へのインストールを正常に完了することができず、ターゲット装置１０５の再起動中にプログラム２０５が存在し続けるための適当なレジストリキー及びファイルパスがインストールされないので、ターゲット装置１０５の再起動時に、ＯＳ１５５によってターゲット装置１０５から削除される。
【００４８】
本発明の別の実施形態では、上述した抗体（ブロックオブジェクト１６０、ディレクトリ１６０Ａ、レジストリキー２２５及び／又は偽の構成情報２４１など）を、以前にコンピュータプログラム２０５に感染したことがないターゲット装置１０５内に与えることができる。この解決策は、既知の不要なソフトウェア２０５による悪用に対するターゲット装置１０５の能動的なワクチン接種を可能にする。
【００４９】
従って、本発明の実施形態では、装置及び／又は方法が、コンピュータセキュリティのためのイノキュレータ及び抗体を備える。ターゲットコンピュータ装置１０５（すなわち、図１のターゲットコンピュータ１０５又はコンピュータシステム１０５）に特定の既知のソフトウェアプログラムがインストールされて実行されるのを防ぐブロックオブジェクト（すなわち、ブロック又はウェッジ）が、ターゲットコンピュータ装置にインストールされる。一例として、このブロックオブジェクトは、Ｍｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓのＲＰＣコールを使用して、遠隔装置からネットワークを介してターゲット装置１０５にインストールすることができる。本発明の実施形態により提供される解決策は、ターゲット装置にソフトウェアエージェントをインストールする必要がないという利点を有する。代わりに、この解決策は、データオブジェクト、ファイル及び／又はレジストリキーを提供して、不要なコンピュータソフトウェアプログラム２０５のインストールを防ぐ。従って、本発明の実施形態は、従来の解決策によるエージェント、アクティブな実行コード、ビヘイビアブロックソフトウェアの使用、或いは高額になること又はシステムリソースを消費することがある他の従来の解決策を有利に回避する。ターゲット装置内のターゲットシステムは、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＯＳとすることができるが、本発明の実施形態は、他のタイプのオペレーティングシステムを保護することもできる。ブロックオブジェクトがターゲットシステムにインストールされる（「押し込まれる」）と、ターゲットシステムは、ターゲットシステムへのインストール又は実行を試みる特定の不要なソフトウェアプログラムから保護され、又はこれに対して免疫を持つようになる。上述したように、ブロックオブジェクトとともに偽のレジストリキーを使用してターゲットシステムを保護することもできる。
【００５０】
本発明の実施形態により提供される解決策は、ターゲットシステムが（一般に「マルウェア」と呼ばれる）特定の悪質なソフトウェアプログラムに対して免疫を持つようにすることができる。しかしながら、本発明の実施形態により提供される解決策は、ターゲットシステムが、ネットワーク管理者又はその他のユーザにより選択される悪質でないソフトウェアに対しても免疫を持つようにすることができる。
【００５１】
図３は、本発明の実施形態による方法３００のブロック図である。最初に、望ましくないコンピュータプログラムが常駐するであろう領域を特定する（ブロック３０５）。その後、この領域内にデータオブジェクトを配置して、このデータオブジェクトが、コンピュータにセキュリティを与え、望ましくないコンピュータプログラムに対する免疫を提供する抗体となるようにする（ブロック３１０）。ブロック３１５における任意のステップとして、データオブジェクトに対するアクセス（例えば、削除及び／又は修正）を防ぐための動作を実行することもできる。上述したように、データオブジェクトに対するアクセス、削除及び／又は修正を防ぐことは、データオブジェクトに対するセキュリティ許可を設定すること、データオブジェクトのタイプを修正すること、又はデータオブジェクト内に第２のデータオブジェクトを配置することを含むことができる。
【００５２】
本発明の別の実施形態では、例えば、ヌルレジストリキー２２５又はヌル構成情報２４１に対するセキュリティ許可を設定すること、セキュリティサブシステム２６６を使用することにより、ヌルレジストリキー２２５（又は、妥当な場合にはヌル構成情報２４１）に対するアクセス（削除及び／又は変更など）を防ぐこともできる。
【００５３】
ブロック３０５において領域を特定する前に、コンピュータ又はネットワーク内の別の装置から望ましくないコンピュータプログラムをクリーニング（ワクチン接種）することもできる。
【００５４】
上述した本発明の技術のいずれかをコンピュータが実行できるようにする、機械可読又はコンピュータ可読媒体に記憶できるプログラム又はコードを実装すること、或いはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は他の特殊な装置などの組み込み装置を含む、本発明の技術の実施形態を実施するためのコンピュータ可読命令を記憶するコンピュータ可読媒体を含む製造の物品に記憶できるプログラム又はコードを実装することも本発明の範囲に含まれる。本明細書で説明した教示に照らして、上述した実施形態及び方法の他の変形及び修正も可能である。
【００５５】
要約書に記載した内容を含む、例示した本発明の実施形態についての上記説明は、包括的であること、又は開示した詳細な形態に本発明を限定することを意図するものではない。本明細書では、本発明の特定の実施形態及び具体例について例示目的で説明したが、当業者であれば認識するように、本発明の範囲内で様々な同等の修正を行うことができる。
【００５６】
本発明に対するこれらの修正は、上記の詳細な説明に照らして行うことができる。
以下の特許請求の範囲で使用する用語を、本発明を本明細書及び特許請求の範囲で開示する特定の実施形態に限定するものであると解釈すべきではない。むしろ、本発明の範囲は、以下の特許請求の範囲により完全に定められるべきであり、特許請求の範囲の解釈の確立された原則に基づいて解釈すべきものである。
【符号の説明】
【００５７】
１００：装置
１０５：コンピュータ装置
１１０：通信ネットワーク
１１２：リモートサーバ
１１４：イノキュレータ
１１５：要素
１２０：プロセッサ
１２５：メモリ素子
１３０：記憶装置
１４０：ポート
１４２：ネットワークインターフェイス
１４５：ディスクドライバ
１５０：ネットワークドライバ
１５２：ソフトウェア要素
１５３：バス
１５５：オペレーティングシステム
１６０：ブロック／ウェッジ
１６５：ユーザインターフェイス
１７０：マウス又はコントロールパッド
１７５：キーボード
１８０：画面又はタッチ画面
【図１】
0005951621.tif 000002
【図２】
0005951621.tif 000003
【図３】
0005951621.tif 000004