(57)【要約】  情報機器、計算装置、或いは他のプロセッサ又はマイクロプロセッサベースの装置又はシステムは、セキュリティ、並びにウイルス防止、ハッカー防止、及びサイバーテロ防止特徴を提供し、多数の順次又は同時のそして間欠的に分離及び／又は制限された計算環境を自動的に生成して、それら計算環境を、データを移動及びコピーする制限及び制御された方法に関連して、それら計算環境及びデータ記憶装置に位置するマリシャスコードを破壊するプロセスに結合して使用することにより、ウイルス、マリシャス又は他のコンピュータハッカー、コンピュータ又は装置の崩壊及び故障を防止することができる。単一の物理的プロセッサで実行される多数のプロセスの分離を維持するためのシステム、装置、アーキテクチャー及び方法でストリームを時間マルチプレクス処理する。仮想多次元処理空間及び仮想処理環境。単一ＣＰＵにおける時間的マルチプレクス処理。アドレス制御及びマッピングを使用するプロセス分離。物理的及び／又は仮想処理又は計算空間において多数のプロセスを選択し、構成し、スイッチングし、及び／又はマルチプレクシングして、物理的及び／又は仮想処理又は計算環境を生成する。【選択図】図２０
2007524161.tif 000002
【特許請求の範囲】
【請求項１】
第２データの実行による第１データの汚染を防止する方法において、
ソースと処理ロジックとの間に第１分離装置（デバイス）を、そして処理ロジックと受信器との間に第２分離装置（デバイス）を介在させるステップであって、前記第１及び第２の分離装置の各々は、前記ソースから、前記受信器から、又は前記処理ロジックから前記分離装置へ入り込む命令を実行できないものであり、そして前記処理ロジックへのアクセス、及び前記処理ロジックによる前記ソース又は受信器側での命令の実行を防止するようなステップと、
前記ソースから前記第１分離装置を経て前記処理ロジックへ前記第２データを通信するステップと、
前記処理ロジックで前記第２データを処理して第１の結果を発生するステップと、
前記処理ロジックから前記第２分離装置を経て前記受信器へ前記第１結果を通信するステップと、を備えた方法。
【請求項２】
前記第１及び第２の分離装置は、２進ビット又は複数の２進ビットでコピー動作を行うことしかできないので、命令を実行することはできない、請求項１に記載の方法。
【請求項３】
前記コピー動作は前記処理ロジックの外部で実行される、請求項１に記載の方法。
【請求項４】
前記第１及び第２の分離装置は同じ装置である、請求項２に記載の方法。
【請求項５】
前記第１及び第２の分離装置は異なる装置である、請求項２に記載の方法。
【請求項６】
第２データの実行による第１データの汚染を防止する方法において、
処理ロジック及び受信器からソースを分離するステップであって、分離されたソース及び分離された受信器は、前記受信器から又は前記処理ロジックから前記分離されたソースへ入り込む命令を実行できないものであり、そして前記処理ロジックへのアクセス、及び前記処理ロジックによる前記ソース又は受信器側での命令の実行を防止するようなステップと、
前記ソースから前記処理ロジックへ第２データを分離モードで通信するステップと、
前記処理ロジックで前記第２データを処理して第１の結果を発生するステップと、
前記処理ロジックから前記受信器へ分離モードで前記第１結果を通信するステップと、を備えた方法。
【請求項７】
前記分離は論理的な分離である、請求項６に記載の方法。
【請求項８】
前記分離は物理的分離である、請求項６に記載の方法。
【請求項９】
前記ソース及び受信器は記憶装置の位置であり、そして前記分離はアドレス制御手順を使用して達成される、請求項６に記載の方法。
【請求項１０】
前記アドレス制御手順は、コンピュータ内の制御レベルをオペレーティングシステムより低く抑制して、あるメモリ位置を隠すと共に、他のメモリ位置をプロセスに利用できるようにすることを含む、請求項９に記載の方法。
【請求項１１】
プログラム及びデータのための第１記憶装置と、プロセッサロジックとを有し、そしてユーザデータを含むタスクを遂行するためのコンピュータプログラム命令を実行する形式の情報機器において、個別の制御処理環境及びユーザ処理環境が生成され及び維持されて、（１）未知の又は信頼性のないコンテンツを有するユーザデータは、制御処理ロジック環境において、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに対して露出(expose)されず、そして（２）未知の又は信頼性のないコンテンツを有するユーザデータは、ユーザ処理ロジック環境において、第１記憶装置から分離されたときに、第１記憶装置とは異なる一時的記憶装置のみに露出されるようにしたことを特徴とする情報機器。
【請求項１２】
少なくとも１つの命令を実行するための少なくとも１つの処理ロジック装置と、
第１データ、及び前記少なくとも１つの命令を含むと共にユーザデータを含む第１プログラムコードを記憶するための第１記憶装置と、
第２データを記憶するための第２記憶装置と、
自動制御のもとで前記処理ロジック装置を前記第１記憶装置及び／又は前記第２記憶装置に選択可能に独立して結合及び分離するためのスイッチングシステムであって、前記処理ロジック装置から少なくとも１つの制御信号を受信して前記スイッチングシステムの状態を選択するためのスイッチングシステムと、を備え、
前記処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、
（ｉ）前記処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が前記処理ロジックにロードされたときには、前記第１記憶装置と結合されてもよく、
（ii）前記処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記第１記憶装置と結合されないか、又は既知の情報を通信するように限定的に結合されるだけでよく、
（iii）前記処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記第２記憶装置と結合されてもよく、そして、
（iv）前記処理ロジック装置は、前記第１記憶装置から前記第２記憶装置へ又は前記第２記憶装置から前記第１記憶装置へデータアイテムをコピーすることしかできないプログラム命令が前記処理ロジックにロードされたときには、前記第１記憶装置及び前記第２記憶装置に結合されてもよい、というように動作する情報機器。
【請求項１３】
前記スイッチングシステムは、前記処理ロジック装置を前記第１記憶装置及び前記第２記憶装置に少なくとも次の仕方で、即ち（ｉ）前記処理ロジック装置を前記第１記憶装置のみに結合し、（ii）前記処理ロジック装置を前記第２記憶装置のみに結合し、（iii）前記処理ロジック装置を前記第１及び第２記憶装置に同時に結合し、（iv）前記処理ロジック装置を前記第１記憶装置にも第２記憶装置にも結合しない、というように結合し又は分離することができる請求項１２に記載の情報機器。
【請求項１４】
前記処理ロジック装置はマイクロプロセッサを含む、請求項１２に記載の情報機器。
【請求項１５】
前記処理ロジック装置は、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）、コントローラ、マイクロコントローラ、ＡＳＩＣ、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せより成る処理ロジック回路のセットから選択される、請求項１２に記載の情報機器。
【請求項１６】
前記情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、ＧＰＳ受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御システム、電子計器、医療監視装置、セキュリティ装置、環境制御システム、電子装置、ネットワーク機器、及びそれらの組合せを含む情報機器のセットから選択される、請求項１２に記載の情報機器。
【請求項１７】
前記第１データ記憶装置及び第２データ記憶装置は、独立して選択可能であり、そして回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、ＣＤ、ＤＶＤ、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュカードメモリ、ＲＡＭメモリ、ＲＯＭメモリ、及びそれらの組合せを含む記憶装置のセットから選択される、請求項１２に記載の情報機器。
【請求項１８】
前記少なくとも１つの処理ロジック装置は、複数の処理ロジック装置を含む、請求項１２に記載の情報機器。
【請求項１９】
前記複数の処理ロジック装置の少なくとも１つは、少なくとも１つのマイクロプロセッサを含み、そして前記少なくとも１つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、マイクロプロセッサを前記第１及び第２の記憶装置に選択的に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るために前記マイクロプロセッサに結合可能である、請求項１８に記載の情報機器。
【請求項２０】
前記複数の処理ロジック装置は、前記処理ロジック装置の１つを実行する自動制御システムにより、間欠的順次に分離されそして通信的に制約される、請求項１９に記載の情報機器。
【請求項２１】
前記第２記憶装置は、それが前記処理ロジック装置に結合されたときには処理オペレーション中に一時的記憶装置として働き、そして各処理が行われた後に、処理がエラー状態で完了する場合又はエラー状態を伴わずに完了する場合で独立して自動的に消去されるように構成され、更に、エラー状態は、ウイルス又は他のマリシャスコード(malicious code)実行の検出を含む、請求項１９に記載の情報機器。
【請求項２２】
前記複数の処理ロジック装置及び少なくとも前記第１及び第２の記憶装置は、決定された特性を有する計算環境を生成するように動的に構成可能である、請求項２０に記載の情報機器。
【請求項２３】
前記第１記憶装置は、オペレーティングシステム及びアプリケーションプログラム要素と、ユーザデータの保護されたコピーとを有するマスターテンプレートファイルを記憶する、請求項１１に記載の情報機器。
【請求項２４】
少なくとも１つの命令を実行するための少なくとも１つの処理ロジック装置と、第１データ、及び前記少なくとも１つの命令を含むと共にユーザデータを含む第１プログラムコードを記憶するための第１記憶装置と、第２データを記憶するための第２記憶装置とを有する形式の情報機器を操作する方法において、
スイッチングシステムの条件を選択するために前記処理ロジック装置から少なくとも１つの制御信号を受信した際に、前記処理ロジック装置を自動制御のもとで前記第１記憶装置及び／又は前記第２記憶装置と結合し及び分離するように選択的に及び独立してスイッチングするステップと、
次の条件に基づいて制御コンフィギュレーション及びユーザデータコンフィギュレーションで前記処理ロジック装置を操作するステップであって、
（ｉ）信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第１記憶装置との結合を許し、
（ii）信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第１記憶装置との結合を許さないか又は前記処理ロジック装置と前記第１記憶装置との結合を限定的に許して既知の情報を通信するのみとし、
（iii）信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第２記憶装置との結合を許し、そして、
（iv）前記第１記憶装置から前記第２記憶装置へ又は前記第２記憶装置から前記第１記憶装置へデータアイテムをコピーすることしかできないプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第１記憶装置及び第２記憶装置との結合を許す、
というように操作するステップと、を備えた方法。
【請求項２５】
前記処理ロジック装置が前記第２記憶装置を使用してユーザデータを処理した後に前記第２記憶装置を消去するステップを更に備えた、請求項２４に記載の情報機器を操作する方法。
【請求項２６】
前記情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、ＧＰＳ受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御システム、電子計器、医療監視装置、セキュリティ装置、環境制御システム、電子装置、ネットワーク機器、及びそれらの組合せを含む情報機器のセットから選択される、請求項２４に記載の情報機器を操作する方法。
【請求項２７】
前記少なくとも１つの処理ロジック装置は、複数の処理ロジック装置を含む、請求項２４に記載の情報機器を操作する方法。
【請求項２８】
前記複数の処理ロジック装置の少なくとも１つは、少なくとも１つのマイクロプロセッサを含み、そして前記少なくとも１つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、前記マイクロプロセッサを前記第１及び第２の記憶装置に選択可能に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るために前記マイクロプロセッサに結合可能である、請求項２７に記載の情報機器を操作する方法。
【請求項２９】
あるフォームファクタのコンピュータＰＣカード及び複数のＰＣＣａｒｄＢｕｓインターフェイス接続を有するハウジングと；
前記ハウジング内に配置された複数のプロセッサと；
前記ハウジング内に配置されるか又はそれに結合された複数のデータ記憶装置と；
少なくともユーザデータを記憶するために前記複数のデータ記憶装置から選択された保護データ記憶装置部分と；
前記複数のデータ記憶装置に結合されたデータ記憶装置スイッチシステムであって、前記ハウジング内に配置された１つ以上のデータ記憶装置との通信を構成するためにデータ記憶装置スイッチコンフィギュレーションで結合されたスイッチシステムと；
少なくとも１つの周辺機器に結合されたＩ／Ｏスイッチシステムであって、前記ハウジング内に配置された前記周辺機器との通信を構成するために複数の特色を含むＩ／Ｏシステムコンフィギュレーションで結合されたＩ／Ｏシステムと；
複数の計算環境であって、その各々の計算環境は、少なくとも１つのプロセッサを備えそして前記複数の特色から選択された少なくとも１つの特色で識別され、更に、
前記データ記憶装置スイッチに結合されたデータ記憶装置スイッチ通信経路であって、少なくとも１つのデータ記憶装置を、前記データ記憶装置スイッチコンフィギュレーションに基づいて前記計算環境に結合するようなデータ記憶装置スイッチ通信経路、及び、
前記Ｉ／Ｏスイッチシステムに結合されたＩ／Ｏスイッチ計算経路であって、前記周辺機器を、前記Ｉ／Ｏスイッチシステムコンフィギュレーションに基づいて前記計算環境に結合するためのＩ／Ｏスイッチ通信経路、を含み、
更に、前記計算環境は、前記Ｉ／Ｏスイッチシステムから入力を受信しそして前記Ｉ／Ｏスイッチシステムへ出力を送信することを含む処理アクティビティを実行することができ、前記処理アクティビティは、別の計算環境の前記処理アクティビティとは独立して実行されるような計算環境と；
前記データ記憶装置スイッチコンフィギュレーションを構成し、前記Ｉ／Ｏスイッチシステムコンフィギュレーションを構成するために前記複数の計算環境から選択された制御計算環境であって、前記データ記憶装置スイッチコンフィギュレーションがこの制御計算環境と前記保護データ記憶装置との間の通信をサポートするような制御計算環境と；
前記複数の計算環境から選択された少なくとも１つのユーザ分離計算環境と；を備え、  前記Ｉ／Ｏスイッチシステムコンフィギュレーションは、受信した入力を前記計算環境の少なくとも１つへ向けるように構成され、更に、前記Ｉ／Ｏスイッチシステムコンフィギュレーションは、前記複数の計算環境の１つ以上により発生された出力を前記周辺機器へ向けるように構成された情報処理装置。
【請求項３０】
前記複数のプロセッサは、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）、コントローラ、マイクロコントローラ、ＡＳＩＣ、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せより成る処理ロジック回路のセットから独立して選択され、そして、
前記複数のデータ記憶装置は、独立して選択可能であって、回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、ＣＤ、ＤＶＤ、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュカードメモリ、ＲＡＭメモリ、ＲＯＭメモリ、及びそれらの組合せを含む記憶装置のセットから選択される請求項２９に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータ、情報機器、移動通信装置、及び他の電子装置に対するセキュリティ、並びにウイルス防止、ハッカー防止及びサイバーテロ防止特徴に係り、より詳細には、装置内に存在し得るマリシャスコード(malicious code)がシステム或いは他のユーザ又はプログラムデータに影響を及ぼすのを防止する多数の同時又は順次の時間的処理環境並びに手順及びプログラムを発生するセキュリティ、並びにウイルス防止、ハッカー防止及びサイバーテロ防止特徴をサポートするコンピュータ、情報機器、移動通信装置、並びに他の電子及び計算装置に係る。
【０００２】
関連出願：本出願は、参考としてここに各々援用するケンネス・ラーグマン、アンソニーＢ．モア、及びジェフリーブレア氏を発明者とする次の両米国特許出願に対して３５Ｕ．Ｓ．Ｃ．１２０のもとでの優先権の利益を請求する。２００４年１２月２３日に出願された「Isolated Multiplexed Multi-Dimensional Processing In A Virtual Processing Space Having Virus, Spyware, and Hacker Protection Features」と題する米国ユーティリティ特許出願第１１／０２２，２９０号；並びに両方とも「Computer System Architecture And Method Providing Operating-System Independent Virus-, Hacker-, and Cyber-Terror-Immune Processing Environments」と題する２００４年１月１５日出願の米国ユーティリティ特許出願第１０／７６０，１３１号及び２００４年１０月１３日出願のＰＣＴ／ＵＳ２００４／３３９５５号。
【背景技術】
【０００３】
従来技術をベースとするときには、コンピュータや、セルラー電話や、コンピュータ又はプロセッサ技術を使用する広範囲な装置は、コンピュータハッカー、ウイルス、サイバーテロ、スパイウェア、及び／又は他の悪意のある又は有害なコンピュータプログラムコードの影響を受け易い。ウイルス防止ソフトウェアが知られているが、このようなウイルス防止ソフトウェアは、各々の新たなウイルスが書き込まれ又は公開されると、しばしば、時代遅れとなる。更に、このような公開の初期段階中に、通常、幾つかのコンピュータに少なくともある程度のダメージが及ぶことになる。ファイアウォール及び他の保護手段の使用も知られているが、ファイアウォールは、一般に、ポータブルコンピュータや、会社の情報技術（ＩＴ）環境以外の公衆ネットワークを経て動作するポータブルコンピュータには組み込まれず、このようなファイアウォールをいつでも打ち負かす多数のハッカー技術が存在する。コンピュータウイルス、スパイウェア、及びハッカーによるダメージについての世界的コストは、毎年、数百億ドルに達すると推定されている。より重要なことに、航空交通、輸送システム、ビルの環境制御、株式市場、電話システム、原子力発電所、並びに他の公共及び私設インフラストラクチャーの運営を制御及び維持するためにコンピュータへの依存度が益々増大するにつれて、このようなマリシャスコード(malicious code)による潜在的な被害は、金銭的推定値を越えている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
コンピュータハッカー、ウイルス、スパイウェア、サイバーテロの攻撃等のマリシャスアクティビティからの免疫性を与えるアーキテクチャー、システム、及びオペレーション方法が要望される。ある意味で、このようなマリシャスエージェントに対抗する万能のワクチンが要望され続けている。又、ユーザがオペレーティングシステム及びアプリケーションプログラムソフトウェア及び／又はデータの既知のクリーンなインストール状態に復帰することにより必要に応じて「修理」を開始することのできる従来のコンピュータとは異なり、ファイル又はデータセットをオープンする前にメモリ及びデータ記憶装置をリセット又は消去して既知のクリーンな又は無菌の記憶環境を生成するコンピュータも要望され続けている。
【課題を解決するための手段】
【０００５】
本発明は、セキュリティ、並びにウイルス防止、ハッカー防止、及びサイバーテロ防止特徴を提供すると共に、多数の順次又は同時のそして間欠的に分離及び／又は制限された計算環境を自動的に生成して、それら計算環境を、データを移動及びコピーする制限及び制御された方法に関連して、それら計算環境及びデータ記憶装置に位置するマリシャスコードを破壊するプロセスに結合して使用することにより、ウイルス、マリシャス又は他のコンピュータハッカー、コンピュータ又は装置の崩壊及び故障を防止することができる。
【０００６】
一実施形態において、本発明は、情報機器アーキテクチャー、システム、装置、並びに構成及び操作のための方法を提供する。情報機器は、プログラム及びデータのための第１記憶装置と、プロセッサロジックとを有し、そしてコンピュータプログラム命令を実行して、ユーザデータを伴うタスクを遂行する形式のものであり、更に、情報機器は、個別の制御処理環境及びユーザ処理環境を生成して維持するように動作し、（１）未知の又は信頼性のないコンテンツを有するユーザデータが、制御プロセッサロジック環境では、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに露出されないようにし、そして（２）未知の又は信頼性のないコンテンツを有するユーザデータが、ユーザプロセッサロジック環境では、第１記憶装置から分離されたときにその第１記憶装置とは異なる一時的記憶装置のみに露出されるようにする。
【０００７】
別の実施形態において、本発明は、少なくとも１つの命令を実行するための少なくとも１つの処理ロジック装置と、少なくとも１つの命令を含むと共にユーザデータを含む第１データ及び第１プログラムコードを記憶するための第１記憶装置と、第２データを記憶するための第２記憶装置と、自動制御のもとで処理ロジック装置を第１記憶装置及び／又は第２記憶装置に選択的に独立して結合及び分離するためのスイッチングシステムであって、処理ロジック装置から少なくとも１つの制御信号を受信してスイッチングシステムの状態を選択するためのスイッチングシステムを備え、処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、（ｉ）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が処理ロジックにロードされたときには、第１記憶装置と結合されてもよく、（ii）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第１記憶装置と結合されなくてもよく、（iii）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第２記憶装置と結合されてもよく、そして（iv）処理ロジック装置は、第１記憶装置から第２記憶装置へ又は第２記憶装置から第１記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、第１記憶装置及び第２記憶装置に結合されてもよい、というように動作する情報機器を提供する。この情報機器を構成しそして操作する方法も提供される。
【０００８】
本発明の実施形態は、物理及び／又は仮想処理又は計算空間において多数のプロセスを選択、構成、スイッチング及び／又はマルチプレクシングして、物理及び／又は仮想処理又は計算環境を生成する。１つの特定の実施形態では、複数のプロセスの時間的なマルチプレクシングが、プロセスとプロセスとの間に分離を維持する仕方で行われ、あるプロセスにおける問題（プログラムウイルスの実行のような）が別のプロセス或いは記憶されたプログラム又はデータに影響を及ぼすことがないようにする。又、分離は、信頼のあるアーキテクチャーエレメント及びプログラムエレメントを使用して信頼のあるアドミニストレータにより選択的にオーバーライドされてもよい。
【０００９】
本発明の実施形態は、処理又は計算ロジックを組み込んだ装置、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、ＧＰＳ受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、スキャナ装置、カメラ、デジタルカメラ、テレビジョン受像機、放送制御システム、電子計器、医療用監視装置、セキュリティ装置、環境制御システム、プロセス監視又は制御システム、及びこれらの組合せを含む（それらに限定されないが）セットから選択されたもののような種々の電子装置及び情報機器に適用することができる。
【発明を実施するための最良の形態】
【００１０】
本発明は、一般に、コンピュータ、情報機器、移動通信装置、セルラー及び移動電話、パーソナルデータアシスタント（ＰＤＡ）、音楽記憶装置及び再生装置、データオーガナイザ、これら機能的エレメントを組み込んだハイブリッド装置、並びに他の電子システム及び装置に係る。より詳細には、本発明は、セキュリティ特徴、並びにウイルス防止、ハッカー防止及びサイバーテロ防止特徴を与えるシステム及び装置に係ると共に、更に詳細には、多数の順次又は同時のそして間欠的に分離及び／又は制限された計算環境を自動的に生成して、それら計算環境を、データを移動及びコピーする制限及び制御された方法に関連して、それら計算環境及びデータ記憶装置に位置するマリシャスコードを破壊するプロセスに結合して使用することにより、ウイルス、マリシャス又は他のコンピュータハッカー、コンピュータ又は装置の崩壊及び故障を防止することができる装置にも係る。
【００１１】
本発明において、これらの要望は、計算装置及び他の情報機器のためのアーキテクチャー、システム、解決策、及び方法を提供することにより満足される。この新規な解決策は、ハッカー及びウイルス、並びに他のマリシャスエージェント及びコードを本来逃れられるコンピュータ及び情報機器を生み出す。更に、ユーザがソフトウェアの以前のバックアップに復帰することにより要求に応じて「修理」を開始することのできるコンピュータとは異なり、本発明のアーキテクチャー、システム及び方法の実施形態は、各ファイルをオープンする前に、メモリ及びデータ記憶装置をリセット又は消去し、既知のクリーンな又は無菌の記憶及び処理環境を維持する。例えば、この新規な技術を使用することにより、データ記憶装置は、自動的に再フォーマット又は消去することができ、そしてメモリは、計算環境が信頼性のない又は未知のコードに露出されるか又は露出されたかもしれない後及びそのたびに、その計算環境において新たなファイルを移動し又はオープンする前に、クリア又はリセットすることができる。
【００１２】
このアーキテクチャー、システム及び方法に関して、本発明の実施形態は、間欠的に順次に分離され及び／又は通信的に制約される計算環境を与え、これら環境は、自動制御システムにより生成され、操作されそして終了されることを理解されたい。計算環境の必要性、及び／又は計算環境を組み込み又はそれを使用する装置の必要性に基づいて、異なる分離レベル、及び／又はセキュリティのレベル又はマリシャスコードから逃れられるレベルを実施することができる。
【００１３】
ここでは、コンピュータ及び計算装置を、ハッカー、ウイルス、サイバーテロから保護すると共に、スパイソフトウェア（スパイウェア）、キーストロークレコーダーのような潜在的なダメージ又は侵入、並びにハッカー、ウイルス、ワーム、トロイの木馬、同様の脅威及び弱点によるダメージから保護するためのアーキテクチャー、システム、装置、方法、コンピュータプログラム、及びコンピュータプログラム製品について説明する。サイバーテロとは、例えば、ユーザのプライベートデータへの無断アクセスを試みることにより開始する攻撃のように、コンピュータシステムを無能化又は弱体化する試みである。本発明は、潜在的なサイバーテロに対する解決策を提供する。
【００１４】
従来のコンピュータシステムは、通常、プロセッサ、メモリ、ディスプレイ、ディスプレイコントローラ、及び入力／出力コントローラを備えている。本発明は、コンピュータシステム（又は他の装置）ハウジング又はケース内に収容された複数の特殊目的のサブシステム（物理的に又は時間的に分離される）を提供する。これら特殊目的のサブシステムは、通常、限定された機能を遂行し、そして他の特殊目的のサブシステムとの限定された対話を行う。
【００１５】
汎用又は特殊目的のサブシステム（ある実施形態では、「分離された処理ユニット」、「分離されたコンピュータ環境」或いはもっと簡単に「計算環境」とも称され、時には、機能的説明の形容詞で更に特徴付けられる）を、情報の記憶、仕事の遂行、及び通信の取り扱いをサポートすることを含む多数の目的で設計することができる。
【００１６】
また、計算環境及びこのような計算環境の要素は、モジュール式のもので、計算環境を構成する欠陥要素又は要素のセットがワーキング部分と交換されるか又は修理されるまで、ＣＳＣＥ又はＣＣＥ計算環境のような制御エンティティにより、特定の欠陥要素及び／又は計算環境を使用停止とすることができるように、動的に構成できることにも注意されたい。要素を取り付け（例えば、１つ以上のスイッチ等を経て）、そして要素をテストして除去する任意の診断プロセスを遂行して、問題を識別し分離することができる。
【００１７】
計算環境の態様について以下に説明する。この説明は、実現することのできる特定の実施形態及び物理的な実施の範囲が広いために、やや一般的なものである。計算環境は、１つ以上のコンピュータプログラム命令を実行することができる。１つ以上の計算環境をコンピュータシステムに結合することができる。この計算環境は、物理的表示、論理的表示、及び／又は物理的及び論理的表示の組合せにより表わすことができる。物理的表示では、計算環境は、多数の物理的コンピュータ要素、例えば、中央処理ユニット（ＣＰＵ）、１つ以上のメモリ、及び１つ以上の周辺機器を組み込むことができる。論理的計算環境表示では、第１の計算環境が、１つ以上の共通の計算要素を使用することにより他の計算環境と共存し得る。第１の計算環境と、ウイルス、ハッカー、或いは他の意図的な又は偶発的なマリシャスコード又はデータを通信し得る他の計算環境との間に通信がサポートされるように、第１の計算環境が他の計算環境から分離される。例えば、一実施形態では、情報の限定セットの間接的な通信のみが行われる。別の実施形態では、直接的な通信を行えるが、このような通信は、例えば、更に詳細に述べるように、ウインドウスクリーン座標、マウス位置座標、又は他のデータ形式及び量のような許可されたデータ形式及び量しか許さないように、特定の仕方に制限されてもよい。フィルタ又はリミッタを使用して、通信を第１の計算環境と、第２又は他の計算環境との間に制限してもよい。ある実施形態では、これらのフィルタ及び／又はリミッタは、マリシャスコードでは崩壊できないハードウェア回路であり、他の実施形態では、このようなフィルタ又はリミッタに対してソフトウェア及び／又はファームウェアを使用してもよく、そして他の実施形態では、ハイブリッドのハードウェア−ソフトウェア／ファームウェアフィルタ及び／又はリミッタを使用してもよい。各計算環境は、通常、１つ以上の周辺機器からＩ／Ｏスイッチシステムを経て入力を受信し、そしてＩ／Ｏスイッチシステムを経て１つ以上の周辺機器へ出力を送信することを含む処理アクティビティを実行することができる。１つの計算環境により実行される処理アクティビティは、通常、別の計算環境の処理アクティビティとは独立している。本発明の一実施形態によれば、１つの計算環境の潜在的なマリシャス処理アクティビティは、別の計算環境の処理アクティビティに直接干渉することはない。
【００１８】
一実施形態によれば、分離された計算環境及び他の物理的又は論理的計算環境は、コンピュータシステムに対応する異なるアドレス空間に存在してもよい。その結果、各物理的又は論理的計算環境は、他の各々の論理的計算環境のオペレーションから分離される。更に、多数の倫理的計算環境の生成及びオペレーションを管理するために種々の構成が使用されてもよいことが明らかである。更に、オペレーティングシステム（例えば、Ｌｉｎｕｘ、Ｍａｃｉｎｔｏｓｈ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（Ｒ）、及び／又は他のオペレーティングシステム）が、論理的計算環境、物理的計算環境、及び／又は論理的及び物理的計算環境の組合せに対応してもよいことを理解されたい。
【００１９】
データ記憶スイッチシステムコンフィギュレーション及び／又はＩ／Ｏスイッチシステムコンフィギュレーションを構成し及び／又は再構成するために計算環境から制御計算環境が選択されてもよい。データ記憶スイッチシステムコンフィギュレーションは、上述したように、制御計算環境と、保護されたデータ記憶装置との間の通信をサポートすることができる。本発明の一実施形態によれば、初期ブートシーケンスは、コンピュータＣＭＯＳデータ内の初期コンフィギュレーション情報を識別して、制御計算環境、保護されたデータ記憶装置を識別し、そしてデータ記憶スイッチシステムコンフィギュレーション及び／又はＩ／Ｏスイッチシステムコンフィギュレーションの構成を開始することができる。
【００２０】
制御計算環境及び他のユーザ計算環境から分離してコンピュータ処理を実行するために計算環境から１つ以上のユーザ計算環境を選択することができる。ユーザ計算環境により、ユーザ計算環境に通信的に結合されるデータ記憶装置を通して、データ（コンピュータファイルのような）を受信することができる。一実施形態によれば、制御計算環境は、ユーザ情報を含むことのできる第１データ記憶装置と、これもユーザ情報を含むことのできる保護データ記憶装置と通信的に結合されてもよい。制御計算環境は、保護データ記憶装置と第１データ記憶装置との間のコピー情報をサポートするように構成される。制御計算環境が第１データ記憶装置を初期化した後に、第１データ記憶装置は、制御計算環境から通信的に取り付け解除され、次いで、他の計算環境とは独立して使用するためにユーザ計算環境に取り付けられる。ユーザ計算環境がアクティビティ（例えば、ファイルの編集、ｅメールの受信、等）を完了した後に、第１データ記憶装置は、ユーザ計算環境から通信的に取り付け解除されて、制御計算環境に取り付けられてもよい。この場合も、制御計算環境は、保護データ記憶装置と第１データ記憶装置との間の情報のコピーをサポートするように構成される。その結果、ユーザ計算環境の処理アクティビティとは独立してデータをセーブしてもよい。従って、ユーザ計算環境内で処理されるマリシャスコードが、保護データ記憶装置に記憶された他のファイル及び／又はデータを崩壊することはない。
【００２１】
一実施形態において、マリシャスコンピュータプログラムコード又はソフトウェアを実行する能力を与えることのできる処理能力のような精巧な処理能力は、コピーオペレーションのときだけ選択的に且つ間欠的に除去される。この精巧な処理又はプロセスそれ自体は、コピーオペレーションの間にアクセス可能状態から切り換えられ又は制御エンティティからの信号に応答してディスエイブルされ、次いで、そのオペレーションが完了したときに再イネーブルされる。このオペレーションは、例えば、ファイルセーブオペレーションに使用されてもよいし、或いはデータ又はマスターテンプレートを計算環境へコピーするときに使用されてもよい。
【００２２】
他の特徴の説明に戻ると、一実施形態において、記憶の特殊目的サブシステム又は計算環境（又は保護記憶装置の計算環境）は、記憶データへの制限アクセスを許しながら、データを記憶しそしてデータを検索するように設計することができる。ワーキング特殊目的サブシステム（分離された処理ユニットの計算環境とも称される）は、種々のアプリケーションで汎用コンピュータの場合と同じ結果を達成するように情報を処理するが、同時に、システムを全体的に且つユーザデータをロス又は崩壊から保護するように設計することもできる。通信の特殊目的サブシステム（又は制御及びスイッチング計算環境）は、他の特殊目的のサブシステム又は計算環境の間の通信を容易にするように設計することができる。
【００２３】
各々の特殊目的サブシステム又は計算環境は、通常、遂行すべき処理に基づいて、処理能力、メモリ、ロジック、及び特殊目的サブシステム又は計算環境を別の（内部又は外部）要素と通信するための結合用インターフェイス、の１つ、ある組合せ、又はその全部を含んでもよい。処理能力は、ある形式のコンピュータ処理ユニット（ＣＰＵ）又はＡＳＩＣでよい。処理能力は、コンピュータシステムのＣＰＵでもよいし、又は多数の特殊目的サブシステムにより共有されたＣＰＵでもよい。従って、特殊目的サブシステムに関連した処理能力は、コンピュータシステム又は他の特殊目的サブシステムにより使用されてもよい。
【００２４】
本発明の例示的特徴及び態様は、先ず、本発明のアーキテクチャー、特徴及び効果に対する少なくとも部分的な方向性を与えるように説明する。この説明に続いて、多数の例示的アーキテクチャー及び構造的なトポロジーを更に詳細に説明し、本発明の広い範囲、並びに特定の構造的及び方法論的実施の両方が容易に理解されるようにする。
【００２５】
本発明の種々の実施形態は、処理又は計算環境、データ記憶及びプロセス、並びに通信についての同時及び／又は間欠的、並びに順次の又は時間的な（時間）分離、及び／又は制約を与える。少なくとも幾つかの実施形態において、この分離及び／又は制約は、その計算又は処理環境をその後のオペレーションに使用する前に、例えば、オペレーションに対して別のファイル又はデータセットをオープンする前に、以前に使用された処理又はコンピュータ環境の消去、再フォーマット、リセット又は他の殺菌と結合される。
【００２６】
一実施形態において、コンピュータシステム、或いは計算システム又は能力を組み込んだ他の装置には、新たなファイルをオープンするたびにその前にマスターテンプレートの全部又は一部分を順次に且つ自動的に消去／リセット及びコピーすることでコンピュータを修理し又は第１インスタンスにおける欠陥を防止できることに基づく新規な形式の自己修理特徴を設けることができる。
【００２７】
１つの実施形態において、ユーザデータは、１つ以上の同時又は間欠的に順次に分離及び／又は制限されたデータ記憶装置、及び／又は間欠的に分離及び／又は制限された保護計算環境に記憶される。ここでは、保護データ記憶装置（１つ又は複数）或いは保護計算環境（１つ又は複数）は、保護データ記憶装置（ＰＤＳ）と称することができる。保護データ記憶装置は、ユーザデータ及びファイル、アプリケーションプログラムのコードプログラム又はアプレット、オペレーティングシステム又はその一部分、装置ドライバ、ステータス又は状態情報、或いは何らかの形式の他の情報のような任意の種類のデータも記憶できる。
【００２８】
保護データ記憶装置又はより一般的な保護記憶装置の構造、編成及び記憶コンテンツは、システムごとに変化し得るが、与えることのできる幾つかの特徴（幾つかの任意の特徴を含む）を、１つの実施形態を参照して以下に説明する。保護データ記憶装置とは、データ（ユーザデータ、コンピュータプログラムコード、ｅメール、ウェブページ、命令、オペレーティングシステムコード、又はそのデータ記憶装置における２進ビットの他のセット又は集合を含む（それらに限定されない）データ）が実行されるのを防止する仕方で情報を記憶するのに使用されるデータ記憶装置を表わす。それ故、データは、通常、記憶情報のコンテンツに基づいて記憶データ又は情報に対する処理又はオペレーションを実行する処理環境には露出されない。露出からのこの同じ分離をデータ及びソフトウェアのコピーオペレーション中にも適用して、そこに含まれたマリシャスコードを、それが分離された計算環境に入るまで実行できないようにし、そこでは、実行能力へ露出しても、せいぜい、その特定の計算環境を汚染するだけで、分離状態に収容することができる。
【００２９】
本発明の一実施状態によれば、ユーザファイル（例えば、ユーザのワード処理ドキュメント、ｅメール、スプレッドシート、マイクロソフトアウトルック又は他のコンタクトファイル、パスワード、セルラー電話の電話番号リスト、ＰＤＡの記憶データ、或いは他のユーザデータ又はプログラム）を保護データ記憶装置に記憶することができる。一実施形態では、保護は、データを保護記憶装置に記憶して、ウイルス、ロボット、ハッカーコードに存在し得るようなマリシャスコード又は２進シーケンス、或いは他のマリシャスコードの実行を生じさせる構造体又はプロセスによりアクセスできないようにすることで、達成される。理想的には、対応するワーク処理ドキュメントを編集したり、ｅメールメッセージ（及びその添付物）をオープンして再検討したりするユーザオペレーションは、保護データ記憶装置及びコンピュータ内の位置（或いは他の電子装置、例えば、ＰＤＡ、セルラー電話、アナログ又はデジタルカメラ、又は他の情報機器）に記憶されるドキュメントのオリジナルバージョンとは独立して、オリジナルデータのコピーにおいて実行される。オリジナルファイル又はデータセットの保護記憶の分離と、ファイル又はデータセットのコピーに対する記憶及びオペレーションは、どこかで詳細に説明する。この点について、ウイルス又は他のマリシャスコードを実行できるプロセッサから離れると、このようなコードは、「０」及び「１」ビットの単なる集合で、データ記憶装置に記憶されても、或いはあるデータ記憶装置から別のデータ記憶装置へ移動又はコピーされても、問題にはならないことが明らかであろう。
【００３０】
本発明のデータ記憶装置を１つ以上使用して、保護データ記憶装置を定義することができる。多数の保護データ記憶装置が任意に定義されてもよいが、通常は、必要とされない。本発明の一実施形態によれば、保護データ記憶装置は、ユーザファイルを変更できる処理環境とは独立して、ユーザデータ又は他のファイル（おそらく、コンピュータアプリケーションプログラム、オペレーティングシステム、及び他の非ユーザコード又はデータを含む）を記憶するのに使用できる。マスターテンプレートは、一種の保護記憶装置に記憶される非ユーザデータの一形式でよいことに注意されたい。或いは又、これは、保護マスターテンプレート記憶装置と称されてもよい。
【００３１】
本発明の１つの構成によれば、ドキュメントを編集するユーザの判断は、ドキュメントのオリジナルバージョンを、保護データ記憶装置から第２のデータ記憶装置へコピーさせる。オリジナルドキュメントを編集するために第２のデータ記憶装置に結合できるユーザ計算環境を使用して、ドキュメントの第２バージョンを生成することができる。例えば、ドキュメントの第２バージョンをセーブする等のユーザによるアクションは、ドキュメントの第２バージョンを第２のデータ記憶装置から保護データ記憶装置へコピーして戻す一連の命令を発生する。ドキュメントの第２バージョンを保護データ記憶装置へコピーして戻すことは、ドキュメントのオリジナルバージョンに上書きすることができる。
【００３２】
保護データ記憶装置及び／又は保護マスターテンプレート記憶装置に２進データを記憶しそしてそこから検索するための構造及び手順と、同じ記憶装置又は同じコンピュータシステム内に記憶されたマリシャスコード又はデータを含むことのあるデータを受けずに計算システムで処理されるこの保護情報に対していかに動作するかは、本明細書のどこかで詳細に説明する。
【００３３】
システムの説明に戻ると、未知のコード及び潜在的なマリシャスコードで生じ得るコードの処理又は実行から保護データ記憶装置を保護するために、制御計算環境が、必要に応じて保護データ記憶装置との通信を同時に又は間欠的に分離し及び／又は制限することは、スイッチング通信により行われる。保護データ記憶装置におけるデータのディレクトリーは、例えば、制御計算環境又は保護記憶計算環境により生成することができ（本明細書のどこかでなされた特定の計算環境コンフィギュレーションの更なる説明を参照されたい）、そしてこのディレクトリーは、例えば、デスクトップ計算環境のような（同時に又は間欠的に）分離及び／又は制限された計算環境へ通信することができる。これら制御計算環境、保護記憶計算環境及びデスクトップ計算環境、並びに他の計算環境の実施形態は、添付図面を参照して、本明細書のどこかで詳細に説明する。一実施形態において、ディレクトリーは、制限された処理能力を含み得る保護記憶計算環境により形成されることに注意されたい。例えば、これは、ＡＳＣＩＩ及び拡張ＡＳＣＩＩファイルネーム及びディレクトリーを読み取り及び書き込むための機能を含んでもよく、そしてデータをコピー及び移動する能力を含んでもよく、又、ファイルディレクトリーを生成する能力を含んでもよいが、システム、プログラム又はデータの完全性に有害となり得るコードの確認又は実行或いは他の機能の遂行に必要となる多数の他の機能又は能力は一般的に含まない。この情報は、制御計算環境により収集されてもよいし、或いは保護記憶計算環境により制御計算環境へ送信されてもよい。
【００３４】
本発明の少なくとも１つの実施形態では、次の構造及び／又は手順の１つ、２つ以上、又は任意の組合せを、１つの計算環境コンフィギュレーション及び／又はプロセスへと結合できると共に、それらを予め決定してもよいし、又は動的に決定して構成してもよいことに注意されたい。即ち、（ａ）制御環境、（ｂ）保護記憶装置、（ｃ）デスクトップ環境、（ｄ）スイッチ、（ｅ）スイッチコンフィギュレーション、（ｆ）再フォーマット／消去環境、（ｇ）ビデオ制御環境、（ｈ）ビデオ処理、及びそれらの組合せ又はサブセット。それに加えて又はそれとは別に、他の任意の構造及び／又は手順要素も、本明細書のどこかに述べるように実施されてもよい。従って、例えば、一実施形態において、本発明は、２つの計算環境で構成することができ、その一方は、全ての環境並びにスイッチ及びスイッチコンフィギュレーションを含むが、ユーザ計算環境は除外し、そして第２の環境は、ユーザ環境しか含まない。
【００３５】
ユーザデータをオープンするために、ユーザは、デスクトップ計算環境に位置され又はそれにより識別されるファイルネーム、或いは「ショートカット」又は「エイリアス」のようなデータの表示を選択することができる。実際のファイルは、デスクトップ計算環境ではオープンも実行もされず、そして本発明の実施形態では、そのデスクトップ計算環境に実際に存在しない。むしろ、このファイルネーム及び位置情報（ファイル又はデータセットに対するポインタ又はレファレンス）は、デスクトップ計算環境から分離されなくてよい制御計算環境へ送信することができる。この実施形態では、制御計算環境は、次いで、ユーザ（又は他の指定エンティティ）により選択されたファイルネームに対応するファイルを、保護データ記憶装置から、複数の同時に又は間欠的に分離され及び／又は通信的に制限された計算環境の１つ（例えば、ユーザ計算環境＃１）へコピーすることができる。この例では、ファイルをオープンするためにユーザ計算環境＃１へコマンドが送信されると共に、ユーザ計算環境＃１との非制限通信を終了するためにスイッチ（１つ又は複数）へコマンドが送信される。このようなオペレーションに関連したアーキテクチャー、システム及び方法は、本明細書のどこかで詳細に説明する。
【００３６】
少なくとも一部分はこの理由で、ユーザデータがマリシャスコードに「感染」して実行される場合には、マリシャスコードの実行から保護された記憶装置にある他のユーザデータ又は情報にダメージを及ぼしたり破壊したりすることはないが、最初に感染したデータファイルにはダメージが及ぶ。又、アプリケーションプログラムコンピュータコード又はオペレーティングシステムプログラムコードが汚染又は妥協されるか、或いはそのようにされているかもしれない場合にも、このような汚染又は妥協は、システム又は装置の連続オペレーションに影響を及ぼさないといえる。というのは、せいぜい、そのコピーが汚染又は妥協されそして再使用されないからである。
【００３７】
この実施形態では、任意の制限通信経路でユーザ計算環境＃１を制御計算環境に接続することができ、この通信経路は、多数の仕方の１つ以上で制限されてもよい。例えば、通信経路は、ＡＳＣＩＩキャラクタの所定セットのみの通過を許す等の著しく制限された通信能力しかもたないＡＳＩＣリミッタ又はフィルタにより制限されてもよく、このようなセット及びその順序は、実行可能な命令を確実に又は所定の高い確率でサポートしないことが知られたものである。リミッタは、例えば、通信が試みられるビット又はキャラクタを、ビット又はキャラクタの許容セットと比較してもよい。この特定の実施形態では、例えば、「ファイルをセーブ(save file)」及び「この計算環境を消去／リセット(erase/reset this computing environment)」のような概念を表わす非常に限定された数及び／又は組合せ又はシーケンスの２進「０」又は「１」ビットを制御環境へ通信するのに必要な機能しか包含又は所有しなくてもよく、又、例えば、ある時間周期内に或いはある事象（１つ又は複数）に応答して通信できる情報の量に対する限界を含んでもよい。
【００３８】
それとは別に又はそれに加えて、例えば、電気的パルス又は光学的光パルス或いは他の信号を、制御環境に接続された受信器へ通信し、例えば、１つのパルスは、「ファイルをセーブ」を意味し、そして２つのタイミングを合わせた連続するパルスは、「この計算環境を消去／リセット」を意味するようにすることができる。これらは、一例に過ぎず、本書の説明に鑑み通常の知識をもつ者であれば、情報の量又は性質を制限するが、必要な動作を与える他のシグナリング機構を実施できることが明らかであろう。
【００３９】
データ記憶装置及びその計算環境がユーザドキュメントに「露出」され、従って、ウイルス、スパイソフト、等の意図的又は偶発的なマリシャスプログラムコードに潜在的に露出された後に、データ記憶装置は、完全に再フォーマットされ、及び／又は任意の組合せでクリア、消去及びリセットされて、例えば、隠れたパーティション、ドライバ、ブートセクタ、隠れたコード、等の全てのデータを排除することができる。又、計算環境は、次の使用の前に残留する汚染がないよう確保する仕方で「再セット(re-set)」（例えば、電力循環、さもなければ、クリア又は再ロード）されてもよい。
【００４０】
上述した（及び本明細書のどこかに述べる種々の別の実施形態における）スイッチング及びコピープロセスは、分離された計算環境及びデータ記憶装置又は記憶サブシステムへ及びそこからデータを安全に移動するのに使用でき、このプロセスは、制御計算環境、並びにそれに関連したソフトウェア及び接続されたスイッチにより制御及び編成することができる。マスターテンプレート（本明細書のどこかの種々の実施形態において詳細に述べるが、簡単に述べると、クリーンで、汚染されていない実行可能なコードを収容し又は包含する）を、必要に応じて、データ記憶装置間でコピーすることができる。
【００４１】
多数のスイッチ及びスイッチングシステム及び手段は、多数の実施形態を参照して説明する。この場合も、本発明のアーキテクチャー、システム及び方法を多数の異なる物理的な実施及び装置形式に広く適用できることから、若干一般的に説明する。一実施形態では、一般的なスイッチシステムを使用して、１つ以上のソースと、１つ以上の行先とを結合し、ソースと行先との間、例えば、命名できる多数の例の中の２つだけを命名すれば、第１記憶装置と第２記憶装置との間、又はネットワークインターフェイスカード（ＮＩＣ）と計算環境との間に通信をサポートすることができる。この通信は、ソースと行先との間に両方向性の通信をサポートしてもよいし、一方向性の通信のみをサポートしてもよい。一般的なスイッチシステムは、どのソースをどの行先に結合すべきか決定するのに使用されるスイッチコンフィギュレーションで結合されてもよい。このスイッチコンフィギュレーションは、例えば、１つ以上のロジック回路、データファイル、ルックアップテーブル、及び／又はソース（１つ又は複数）と行先（１つ又は複数）との間の接続又は有効なイネーブルされた通信経路を識別又は指定するための他の手段を含むことができる。一実施形態では、スイッチコンフィギュレーションは、無効の又は非イネーブルの通信経路を識別することができるし、更に別の実施形態では、スイッチコンフィギュレーションは、考えられるソースと行先との間に無効（非イネーブル）及び有効（イネーブル）の両通信経路を識別することができる。一般的なスイッチシステムは、ハードウェア、ソフトウェア、及び／又はハードウェア及びソフトウェアの組合せで実施することができる。
【００４２】
本発明の一実施形態によれば、一般的なスイッチシステムは、物理的スイッチとしてハードウェアで実施することができる。ソースは、ＩＤＥドライブとして表わすことができ、そして行先は、計算環境として表わすことができる。各ソースは、ＩＤＥケーブルを使用して一般的スイッチシステムに結合することができる。各行先も、ＩＤＥケーブルを使用して一般的スイッチシステムに結合することができる。本発明の一実施形態によれば、スイッチコンフィギュレーションは、スイッチの物理的能力に基づいて表わすことができ、そしてＩＤＥケーブルは、スイッチに物理的に結合される。従って、物理的スイッチの物理的操作及び／又はねじれは、ソースに対応する所与のＩＤＥケーブルを、行先に対応する所与の第２ＩＤＥケーブルに接続して、ソースと行先との間の通信をサポートすることができる。ソースと行先との間の通信は、両方向通信をサポートしてもよい。本発明の一実施形態によれば、スイッチは、手動でも操作できるし、及び／又は１つ以上の計算環境の方向及び／又は制御のもとでも操作できる。
【００４３】
本発明の一実施形態によれば、一般的なスイッチシステムは、例えば、一般的なスイッチシステムに結合されたコンピュータシステムの使用により、ハードウェアとソフトウェアの組合せで実施することができる。コンピュータシステムは、１つ以上のコンピュータ命令を実行できると共に、一般的なスイッチシステムを構成するのに使用されてもよい。多数の命令は、例えば、構成命令、通信命令、及びアクセス命令を含んでもよい。構成命令は、所与のソースと行先との間のイネーブル通信又はディスエイブル通信をサポートするための通信を構成するのに使用できる。通信命令は、１つ以上のコンフィギュレーションに関する情報を受信、送信、及び／又は検証するのに使用できる。例えば、通信命令は、構成命令により後で使用される情報を受信するのに使用できる。アクセス命令は、スイッチコンフィギュレーションに関する情報を読み取り及び／又は書き込むのに使用できる。しかしながら、他の命令及び／又は命令のセットを使用してもよいことが明らかであろう。
【００４４】
データ記憶装置スイッチシステムは、一般的なスイッチシステムの機能を含むことができ、ここで、ソースはデータ記憶装置を表わし、そして行先は計算環境を表わすことができる。一般的コンフィギュレーションは、どのデータ記憶装置がどの計算環境に結合されるか識別するのに使用できる。上述したように、ＩＤＥ装置は、１つ以上の計算環境との通信をサポートするように構成できるデータ記憶装置の一実施形態を表わすことができる。
【００４５】
本発明の一実施形態によれば、データ記憶装置スイッチシステムは、一般的コンフィギュレーションに対応する特色の数及び／又は形式を拡張できるデータ記憶装置スイッチシステムコンフィギュレーションで結合することができる。データ記憶装置スイッチシステムの特色は、ソースと行先との間の構成通信を更にサポートすることができる。
【００４６】
Ｉ／Ｏ及び／又は他の周辺機器或いは装置スイッチシステムは、一般的なスイッチシステムの機能を含むことができ、ここで、ソースは周辺機器を表わし、そして行先は、計算環境を表わすことができる。一般的コンフィギュレーションは、どのデータ記憶装置がどの計算環境に結合されるか識別するのに使用できる。キーボード装置は、１つ以上の計算環境との通信をサポートするように構成できる周辺機器の一実施形態を表わすことができる。
【００４７】
本発明の一実施形態によれば、Ｉ／Ｏシステムは、一般的コンフィギュレーションに対応する特色の数及び／又は形式を拡張できるＩ／Ｏシステムコンフィギュレーションで結合することができる。Ｉ／Ｏスイッチシステムの特色は、ソースと行先との間の構成通信を更にサポートする。このようなスイッチ及び通信経路の状況において、一実施形態では、データ記憶装置スイッチ通信経路は、計算環境をデータ記憶装置スイッチに結合するのに使用される。データ記憶装置スイッチ通信経路は、上述したように、データ記憶装置スイッチコンフィギュレーションに基づき、少なくとも１つのデータ記憶装置との通信をサポートするのに使用される。一実施形態によれば、計算環境に結合されるデータ記憶装置の１つは、計算環境によりコンピュータブート装置として使用できるオペレーティングシステムを備えている。
【００４８】
同様に、Ｉ／Ｏスイッチ通信経路は、計算環境をＩ／Ｏスイッチシステムに結合するのに使用される。Ｉ／Ｏスイッチ通信経路は、１つ以上の周辺機器を１つ以上の計算環境に結合するのに使用できる。Ｉ／Ｏスイッチシステムコンフィギュレーションは、１つ以上の計算環境からの出力を単一の出力装置へ向けるのに使用できる。同様に、Ｉ／Ｏスイッチシステムコンフィギュレーションは、単一の周辺計算装置からの入力を１つ以上の計算環境へ向けるのに使用できる。
【００４９】
Ｉ／Ｏスイッチシステムコンフィギュレーションは、受信した入力（又は出力）を、対応する特色に基づいて、少なくとも１つの計算環境へ向けるように構成できる。又、Ｉ／Ｏスイッチシステムコンフィギュレーションは、１つ以上の計算環境により発生された出力を、対応する特色（本明細書のどこかに述べた特色の説明を参照）に基づいて、入力／出力装置、周辺機器、又はシステム内の他の要素へ向け、或いはそれらから向けるように構成できる。
【００５０】
別の形式の信号に注意を向けると、一実施形態において、各々の分離された計算環境からのビデオ信号出力は、マリシャスコードをもはや実行できないとき（例えば、出力がグラフィック「原始及び属性」へと変換されたとき、及び／又はビデオ信号がアナログ信号である場合に）これらビデオ信号の処理中のポイントにおいて合成又は混合できることに注意されたい。これは、分離された計算環境において行われるプロセスを表わすウインドウ付きビデオ信号が、異なる計算環境を交配汚染する媒体として使用されるのを防止する。（全ての計算環境がビデオ出力信号を必要とし又は発生するのではないことに注意されたい。というのは、特に特殊な装置におけるある処理は、計算環境においてデータを処理できるが、ビデオ表示や、ユーザが見える信号を発生しないからである。）
【００５１】
一実施形態において、いわゆる「分離されたグローバルなツールバー」は、所定の又は動的な（例えば、コンテクストに敏感な）コマンド及び／又は他のオペレーション又は機能にも使用することができる。この分離されたグローバルなツールバーは、それ自身の分離されたビデオレイヤに現われるか、又はデスクトップ計算環境に現われて、それをマリシャスコードから保護することができる。好都合なことに、分離されたグローバルなツールバーは、常に最上部にあるか、又は何らかのユーザコマンド又はアクションに応答して表示され、ユーザ又は他の信頼のある制御エンティティが計算環境の１つにおいてアクションを直接制御することができる。例えば、ユーザがディスプレイスクリーンのウインドウ付きビデオ部分に表わされた疑わしい出力を見た場合には、ユーザは、その分離されたグローバルなツールバーにアクセスして、その計算環境で行われる処理であって、ファイルをセーブしたりセーブしなかったりするような種々のオプションを任意に行うことを含む処理を終了させることができる。一実施形態では、これは、ユーザ又は人間のオペレータに、全システムのオペレーション並びに計算環境内で行われるオペレーションに対する管理制御権を与える。原理的に、グローバルなツールバーは、任意のオペレーション又は機能を許すことができるが、ある実施形態では、グローバルなツールバーは、管理機能又はオペレーションについてのより制限されたセットを有する。ある実施形態では、グローバルなツールバーを経てアクセスできる機能及びオペレーションは、システムデフォールト、管理者の好み、ユーザの好み、或いは他のルール又はポリシーに基づいて設定することができる。
【００５２】
一実施形態において、これらの機能及びオペレーションは、それに加えて又はそれとは別に、コンピュータプログラムのソフトウェア命令で実行されてもよい。他の実施形態では、ハードウェア要素があってもよく、又、更に別の実施形態では、ハードウェア及びソフトウェアの組合せがあってもよい。従って、各環境は、ソフトウェアで分離されてもよく、スイッチング及びコピー動作は、ソフトウェアで実行されてもよく、等々である。
【００５３】
任意の手順ステップは、削減又は排除することができ、又、ここに述べる計算環境の機能は、必要に応じて混合及びマッチングできることに注意されたい。幾つかの例において、任意のステップ又は手順を含むべきか除外すべきかの判断は、脅威の環境、データ及び／又はオペレーションの敏感さ、スピードの必要性、記憶装置の属性（例えば、磁気記憶装置対電子ＲＡＭ）、及び他のファクタに関して行われる。例えば、制御計算環境の機能は、デスクトップ計算環境及び／又はスイッチコンフィギュレーション、及び／又はスイッチ、及び／又は保護記憶装置と結合することができる。
【００５４】
本発明の原理は、特定のコンピュータオペレーティングシステム、アプリケーションプログラム、ユーザインターフェイス、或いは装置形式又は特性を越えるものである。本質的に、本発明のアーキテクチャー、システム、方法、及び手順は、情報（例えば、２進ビットの形態）を使用して、意図された論理オペレーション又は演算オペレーションを遂行することのできるロジック回路を有する電気的、電子的又は光学的装置に適用することができ、それ故、意図されたオペレーションが遂行されず又は付加的なオペレーションが遂行されるように異なる又は付加的な情報を導入することにより変更又は崩壊を受け易い。コンピュータ、情報機器、セルラー又は他の移動電話、自動車電子装置、家庭用機器、ＧＰＳ受信器、ＰＤＡ等の現代の装置では、ロジックが、コントローラ、プロセッサ、マイクロプロセッサ、或いは他のプログラム可能なロジック回路又はロジック手段等であり、そして使用する情報は、コンピュータプログラム命令及び任意のデータである。将来は、現在開発中の光学的計算システムが更に商品化され、それ故、本発明は、光学的計算及び情報処理システム及び光学的プロセッサにも適用可能になると予想される。
【００５５】
ここでの説明は、コンピュータ及計算環境に注意を集中させたが、本発明は、命令及び／又はデータを解釈するためのロジックを有し、それ故、ウイルス、ハッカー、スパイウェア、サイバーテロ又は他の外部エージェントによる偶発的又は意図的な悪意のある攻撃を受け易いあらゆる種類の装置及びシステムに適用できることが明らかである。
【００５６】
以下、従来の計算システムの幾つかの特徴と、本発明の種々の実施形態の比較し得る態様とに注意を向ける。本発明は、多数の異なる物理的形態で実施できるので、典型的なシステムをいかに実施できるかの例として多数の実施形態について説明する。当業者であれば、これらは、これら特徴の幾つか又は全部を実施する本発明の付加的な実施形態に過ぎないことを理解されたい。
【００５７】
図１は、従来技術による典型的なラップトップ（又は他の）コンピュータシステム１９００を示す図である。このコンピュータシステムは、良く知られたように、ＣＰＵ１５０８−１、データ記憶装置１５０２−１（通常、回転する磁気ハードディスクドライブの形態）、及び１つ以上の周辺機器１５４１−１、１５４１−２、・・・１５４１−Ｎのような電子装置及び機械的要素が配置されるケース又はハウジングを備えている。このハウジング又はケース１９０２は、通常、ディスプレイスクリーン１９０４、キーボード、及びマウスのようなポインティング装置も取り付け又は支持している。このようなコンピュータシステム１９００には、通常設けられる種々のコネクタポートを経て、付加的な外部周辺装置を取り付け又は接続することができる。このような従来の計算システムでは、データ記憶装置１５０２−１及び周辺機器１５１４−Ｎは、良く知られたように、システム及び周辺機器バスを通して、固定のトポロジーでＣＰＵ１５０８−１に結合される。例えば、データ記憶装置１５０２−１、通常、ハードディスクドライブ又はソリッドステートメモリ（ＲＡＭ）は、システム１９００から物理的に除去されない限り、ＣＰＵに常に結合される。同様に、ＣＰＵ結合メモリは、通常、除去されない限り、常に、ＣＰＵに結合され、そしてほとんどの従来の計算システムでは、このようなメモリのある部分（例えば、オンチップキャッシュの形態）が常に且つ永久的にＣＰＵに結合される。同様に、周辺機器、例えば、ＣＤＲＯＭ、ＤＶＤリーダー／ライター、ネットワークインターフェイスカード（ＮＩＣ）、モデム、フロッピー（登録商標）ディスクドライブ（ＦＤＤ）、ワイヤレスインターフェイスカード、及び他の周辺機器は、システムに結合されると共に、ＣＰＵへ直接的に、又は固定のバス及び相互接続部を経て間接的に結合される。これらの接続部は常に存在するので、ウイルス又は他のマリシャスコードがＣＰＵ、ＣＰＵ関連メモリ、ＢＩＯＳ、又はデータ記憶装置へ導入する機会を与え得る。このようなマリシャスコードは、直ちに作用することもあるし、ある将来の時間又は事象まで休眠したままでのこともある。このような無防備さ、及びこのような無防備さから逃れられるレベルを達成するための手段を、本発明の実施形態について詳細に述べる。
【００５８】
図２は、デスクトップコンピュータシステム、ラップトップコンピュータシステム、ノートブックコンピュータシステム、パーソナルデータアシスタント（ＰＤＡ）、固定又は移動のワイヤード又はワイヤレス通信装置（移動電話、セルラー電話、衛星電話、高周波送信器及び／又は受信器、等）のような情報機器を例示している。一般に、本発明の構造、方法、コンピュータプログラム及びコンピュータプログラム製品は、少なくとも１つの処理要素、例えば、コントローラ又はマイクロコントローラ、ＣＰＵ、ＡＳＩＣ、マイクロプロセッサ、ロジック回路、又は他の処理要素を含むか又は含むように適応できる電子装置又はシステムに適用でき且つそれと共に使用できる。（本発明の他の実施形態も説明するが、これは、ここに取り上げる処理要素形式の組合せを含む２つ又は他の複数の処理要素を使用することができる。）このようなシステムは、種々のオペレーション、例えば、ある所定の、動的に決定された又は他のロジック、計算、ワード処理、ｅメール、ネットワーク計算、音楽処理、ビデオ処理、インターネットブラウジング、音声処理又はコード化又はデコード、デジタルカメラを組み込んだ移動電話のデジタルカメラにおけるピクチャー又はイメージ取得又は処理、ＧＰＳ信号受信及び処理、位置ナビゲーション、娯楽を遂行するように実施することができる。当業者であれば、ここでの説明に鑑み、多数の電子装置及びシステムが適用可能なアプリケーション部門に入ることが明らかであろう。本発明は、ウイルス防止及びハッカー防止の保護が望まれる場合、及び多数のアプリケーションを同時に処理することが望まれる場合に特に効果を発揮するが、これら２つの効果は別々に達成されてもよい。
【００５９】
ここに示す実施形態では、単一の計算環境が、又はより好都合なことに、本発明のシステム及び方法のほとんどの実施形態では、複数の多数の独立した計算環境１５０８−１、１５０８−２、・・・１５０８−Ｎが生成される。これらの計算環境１５０８は、図７及び図８の実施形態における特殊目的のサブシステム１１２０に類似した特徴を有し、その類似性は、本発明の多数の実施形態を詳細に説明した後に更に明らかになろう。独立した計算環境は、例えば、ハードワイヤード又はプログラム可能な演算又はロジック回路、プログラム可能なマイクロコントローラ、プロセッサ、マイクロプロセッサ、ＣＰＵ、ＡＳＩＣを任意の組合せで使用すると共に、おそらく、良く知られたように、マイクロプロセッサメモリ、電力等のサポート要素でサポートされて、物理的に実施することができる。少なくともある実施形態は、中央処理ユニット（ＣＰＵ）、マイクロプロセッサ、マイクロコントローラ、ＡＳＩＣ、又はある組合せを使用して、計算（処理）環境１５０８を生成するための物理的構造を与える。ある場合には、処理又は計算タスクの複雑さで、希望の計算環境をサポートする物理的要素が指令される。一実施形態では、計算環境を生成する要素は、動的に選択可能で且つ構成可能である。このような選択及び構成は、ユーザの制御のもとにあってもよいし、或いはより一般的には、計算システム２００の自動制御のもとにあって、ある所定の又は動的に決定されたルール又はポリシーに基づき、又、任意であるが、ある測定された計算システムの物理的又は論理的状態、環境条件、処理要求及び複雑さ、アプリケーションプログラムサイズ、及びデータセットサイズに基づくのが望ましい。スペア要素を設けることもでき、このようなスペア要素（例えば、ＣＰＵ、メモリ、記憶装置、ビデオプロセッサ、コプロセッサ、モデム、ネットワーク又はイーサネット（登録商標）プロセッサ等）は、故障した要素に置き換わるように切り換えることができる。又、動的に割り当てて構成できることは、多数の計算環境が存在すべき場合に効率を与える。というのは、環境ごとに全ての処理能力を与える必要がないからである。
【００６０】
計算環境１５０８は、スイッチングコマンドに基づいて任意のＩ／Ｏスイッチシステム１５１０を経て周辺機器１５１４−１、・・・１５１４−Ｎへ又はＩ／Ｏスイッチコンフィギュレーションデータ又はロジック１５１２へ結合され、又は結合されてもよく、或いは選択的に結合可能である。本発明の特定の実施形態において任意のＩ／Ｏスイッチシステム１５１０についての要求は、特定の周辺機器の特性並びにセキュリティ又は分離の必要程度又は希望程度のようなファクタに依存し得る。ある実施形態では、ある周辺機器は、１つの又は選択された計算環境に直接接続されてもよいし、永久的に接続されてもよいし、永久的に切断されてもよいし、又はスイッチ可能に接続されてもよい。図２のコンピュータシステム２０００は、例えば、ケース又はフレーム１９０２に取り付けられて保持されるディスプレイ装置１９０４を備えてもよい。又、一般的に、キーボード及びポインティング装置のような入力装置も含むが、これは、入力及び出力について多数の別の態様、例えば、音声入力、タッチスクリーン、音声又は口頭のコンピュータ発生スピーチ、等が与えられる場合には、必要とされない。又、他の装置の中でも、セルラー電話、ＰＤＡ及びデジタルカメラのような装置においてＬＣＤディスプレイがコンピュータスクリーンの場所をとってもよい。
【００６１】
ここに述べる他のスイッチ及びスイッチシステムと同様に、スイッチングは、希望のスイッチングを達成し且つ希望の又は必要な電圧、電流、分離、インピーダンス、終端、及び／又は電気的特性を維持する機械的、電気的、電子的、トランジスタ、ダイオード、マイクロプロセッサ、デジタル又はアナログのいずれか１つ、複数、又は多数でよい。例えば、ハードディスクドライブをＣＰＵに接続したり切断したりするスイッチは、ＣＰＵにもハードディスクドライブにもダメージを及ぼさずに、それを行う。ある装置を伴うある状況において、スイッチングは、装置又は装置の部分をオフにするか、さもなければ、動作電圧又は電流を制限することにより、又は装置へのクロックを停止することにより、又はデータライン又は通信経路を遮断するが電力ラインは遮断しないことにより、或いはこの技術で良く知られたようにオペレーションを停止する他のやり方により、達成することができる。本明細書のどこかに説明するように、ある例では、これらのスイッチングオペレーションは、計算システムの要素と、異なる計算環境１５０８−１、・・・１５０８−Ｎとの間に保証された分離レベルを与えるように意図される。
【００６２】
又、複数の計算環境（図７及び図８の実施形態では、特殊目的のサブシステム１１２０とも称される）は、スイッチングコマンドに基づきデータ記憶装置スイッチシステム１５０４を通して１つ又は複数のデータ記憶装置１５０２へ又はデータ記憶装置スイッチコンフィギュレーションデータ又はロジック１５０６へ選択的に結合され又は結合可能である。データ記憶装置は、この技術で知られた又は開発中の記憶装置の任意の組み合せでよく、例えば、回転型磁気ハードディスクドライブ、回転又は非回転型光学記憶媒体、ＣＤ、ＤＶＤ、ホログラフ記録、ナノテクノロジーベースの記憶装置、ソリッドステートメモリ（ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＭＯＳ等）、分子及び原子記憶装置、化学的メモリ、並びに他の記憶装置又はシステムを含むが、これらに限定されない。個別の論理的記憶要素１５０２−１、１５０２−２、・・・１５０２−Ｎは、単一の物理的装置に、或いは物理的装置の組合せ又はその中に構成され又は分割され、且つ単一の論理的記憶装置１５０２−２（例えば）についても、多数の異なる物理的装置を使用して、希望の又は必要な記憶容量、装置へデータをコピーする速度、記憶装置からデータを書き込む速度、クリア及び／又は消去又はオーバーライト速度及び性能、或いは他の動作特性を入手できることが明らかであろう。例えば、ノートブックコンピュータに対する一実施形態では、幾つかのデータ記憶装置１５０２が、単一の物理的ハードディスクドライブの論理的パーティションとして実施される。別の実施形態では、高速の読み取り、書き込み及び消去速度性能を与えるために、全てのデータ記憶装置１５０２がソリッドステートメモリデバイスで実施される。色々な種類の多ポートメモリ形式及びアーキテクチャーを入手して、使用することができる。例えば、Ｒａｍｂｕｓメモリを、従来のメモリチップと共に使用してもよい。更に別の実施形態では、多数のデータ記憶装置１５０２がマルチディスクのハード磁気ディスクドライブ上で個別のプラッター又はディスクとして実施される。このようなドライブは、単一のコントローラと、読み取り／書き込みヘッドの制御セットとを有するか、或いは個別のコントローラと、任意に独立して動作できるアクチュエータアーム及び読み取り／書き込みヘッドとを有して、データ経路の分離を確保し、これにより、マリシャスコード（例えば、ウイルス、ロボット、又はコンピュータハッカーからの）が１つの計算環境から別の計算環境へと移動して多数の計算環境の意図された分離性及び独立性を崩壊することができないようにする。
【００６３】
物理的に小さな装置（例えば、ＰＤＡ、移動電話、又は他の通信装置）については、機械的可動部を有するメモリに比してソリッドステートメモリのみを使用するのが好ましいと予想される。というのは、エネルギー消費が低く、サイズが小さく、発熱量が低く、アクセス速度が速く、読み取り／書き込み速度が速く、且つ消去速度が速くて消去容易だからである。このようなソリッドステートメモリは、装置（例えば、移動電話）に一体的でもよいし、外部であるが機械的及び電気的コネクタ又はカプリングを経て差し込み可能であってもよい（例えば、マイクロソフトウインドウズオペレーティングシステム（ＯＳ）及びＰａｌｍＰｉｌｏｔ  ＯＳベースのＰＤＡ；ＰＤＡとセルラー電話の組合せ；ＰＤＡ、セルラー電話及びデジタルカメラの組合せ装置；デジタルカメラ；セルラー電話；デジタルオーディオ及び／又はビデオレコーダ及びプレーヤ；ＭＰ３プレーヤ；及びこの技術で知られている他の装置及びメモリシステムに対する基本的又は付加的メモリとして利用できるコンパクトメモリカード又はモジュール、ソニーＳｍａｒｔＭｅｄｉａ（登録商標）を使用することにより）。又、ソリッドステートではないが、小型で安価な記憶装置及びサブシステムも使用できる。
【００６４】
図１の従来のコンピュータシステム１９００と、図２の本発明の実施形態２０００とを比較すると、多数の相違が明らかになる。従来のシステムでは、データ記憶装置１５０２−１は、ＣＰＵ１５０８−１に直接接続されるか、或いは若干固定で且つ永久的な接続部、例えば、１つ以上のバス又は相互接続部を経て接続される。（ある場合には、ある装置形式に対し、コンピュータの動作中に、プログラム制御のもとではなく、処理オペレーションに基づく時間に、特定の記憶装置、周辺装置、又は他のシステム要素についての必要性又は要望に基づき、機械的及び手動の切断が考えられる。）従来のシステム１９００と比較すると、コンピュータシステム２０００の多数のデータ記憶装置１５０２−１、・・・１５０２−Ｎは、あったとしても（データ記憶装置スイッチシステム１５０４の状態に基づいて）データ記憶装置スイッチシステムを通して計算環境（例えば、ＣＰＵ（これに限定されないが）のようなある処理又は計算能力を含む計算環境）に結合される。一般に、データ記憶装置１５０２のいずれか１つが計算環境のいずれか１つに結合されるか、又はどれにも結合されない。より一般的には、所与のデータ記憶装置は、結合又は接続の必要性があるときに計算環境に間欠的に結合又は接続され、そして計算環境の存在中に特定のデータ記憶装置１５０２が切り換ることがある。有力なデフォールトは、アクセスがコントローラ又は制御側計算環境により特に希望され、必要とされそして許されない限り、このようなデータ記憶装置及び他の装置が結合も接続もされないというものである。
【００６５】
更に、本発明の実施形態では、特定のＣＰＵ及び特定のデータ記憶装置（例えば、ハードディスクドライブ又はソリッドステートメモリチップ）のような物理的要素間のペアリング又はスイッチング接続は、異なる処理オペレーションに対して動的に変化し得る（これは必要とされない）。同様に、任意のＩ／Ｏスイッチシステム１５１０及び任意のＩ／Ｏスイッチコンフィギュレーション１５１２を含む少なくとも幾つかの実施形態では、計算環境１５０８は、Ｉ／Ｏスイッチシステム１５１０のみを経て周辺機器１５１４へ結合される。スイッチ可能な接続又は結合は、様々なスイッチング機構、例えば、１つ以上の電気的接続を変更し、インターフェイス又は周辺装置から電力を除去し、周辺機器の動作に必要なクロック信号を停止することを含む機構、及び周辺機器をそれが存在せず又は計算環境にアクセスできないように見えるようにするための良く知られた他の機構、構造及び方法のうちのいずれかを含むことができる。
【００６６】
データ記憶装置１５０２及び／又は周辺機器１５１４をイネーブル又はディスエイブル（或いは接続及び切断）するオペレーションは、人間のユーザの介在なしにプログラム制御のもとで自動的に行うことができ（るが、コンピュータシステムのユーザによるコマンド又は他のアクションでイネーブル又はディスエイブルが行われてもよい）、且つ本発明のコンピュータシステム２０００のオペレーションに対して必要に応じてイネーブル及びディスエイブルが毎秒何回行われてもよいことが明らかであろう。例えば、コンピュータが１００ＭＨｚで動作するインターフェイス又はバスを有する場合には、データ記憶装置及び周辺機器は、インターフェイス又はバスのオペレーションが開始され、実行され及び完了されるときに、必要に応じて、スイッチ可能に結合及び分離されてもよい。例えば、スイッチングは、少なくとも、１Ｈｚ、１０Ｈｚ、１００Ｈｚ、１ＫＨｚ、１ＭＨｚ、及び１０ＫＨｚのレート、並びにそれより高い及び低いレート、及びその中間のレートで行うことができる。又、この説明に鑑み、データ記憶装置スイッチシステム１５０４及びＩ／Ｏスイッチシステム１５１０（存在するとき）は、同時にスイッチして、異なるＣＰＵをデータ記憶装置及び／又は周辺機器へイネーブル即ち接続したり、又はディスエイブル即ち切断したりできることが明らかであろう。
【００６７】
典型的な従来のコンピュータシステム１９００では、周辺機器１５１４は、ＣＰＵ１５０８に直接的に接続され、そしてコンピュータシステムのオペレーション中にはスイッチ可能に接続及び切断（即ちイネーブル及びディスエイブル）されない。データ記憶装置及び周辺機器の切断は、それらを他の計算環境に使用できるようにもすることが明らかである。従来のシステムでは、ある周辺機器がホット指し込み可能であっても、周辺機器の差し込みは、人間のユーザの相互作用を必要とする手動操作である。従来のコンピュータシステム及び方法と、本発明のシステム及び方法との間の他の相違は、ここに述べる本発明の他の実施形態の説明に関してより明らかとなろう。
【００６８】
図３は、多数の独立した計算環境１５０８−１、・・・１５０８−Ｎをサポートするためのアーキテクチャー及びシステム１５００であって、多数の独立した計算環境をサポートすることができ、ある処理オペレーションを分離及び隔離して、悪意のあるウイルス、ロボット又はハッカーによりユーザデータにダメージを及ぼす汚染又は攻撃を防止するように効果的に使用できるコンピュータシステムを備えたアーキテクチャー及びシステムを示す概略図である。このようなコンピュータシステム１５００は、複数のデータ記憶装置１５０２と、データ記憶装置スイッチシステム１５０４（及び任意のデータ記憶装置スイッチコンフィギュレーションユニット１５０６）と、任意のＩ／Ｏスイッチシステム及びＩ／Ｏスイッチコンフィギュレーションユニットを経て計算環境１５０８に結合された１つ又は複数の周辺機器１５１４を含むもののようなＩ／Ｏシステムと、１つ以上の計算環境１５０８とを含むことができる。
【００６９】
１つ以上のデータ記憶装置１５０２は、コンピュータシステムに結合することができる。データ記憶装置１５０２は、メモリエリアを表わしている。データ記憶装置は、任意の形式の記憶媒体、例えば、磁気ハードディスクドライブ、光学記憶媒体、ソリッドステートメモリ、他の形式のデータ記憶装置、或いはこれらデータ記憶媒体形式の組合せにより実施されてもよい。又、データ記憶装置は、ディスクドライブ、及び／又は１つ以上のディスクドライブの一部分、及び／又は物理的なディスクドライブの組合せに対応するメモリエリアを表わしてもよい。本発明の一実施形態によれば、データ記憶装置１５０２は、マスターテンプレートのコピーを含んでもよい。本発明のシステムに関連して使用できる方法の実施形態を、図４を参照して以下に説明する。
【００７０】
多数の独立した計算環境をサポートできるコンピュータシステムを使用するための方法の実施形態
図４、図５及び図６を参照し、本発明によるコンピュータシステムの実施形態の設定、初期化及びオペレーションに対する方法及び操作の態様を説明する。ここに例示する方法及び手順は、少なくとも、図２及び図３の実施形態に示されたアーキテクチャー及びシステムに適用することができ、そして本発明の他の実施形態、例えば、図９−１７に示して説明する実施形態（これに限定されない）には、若干の構造上の相違のために適宜変更がなされることが明らかであろう。この章及び明細書全体にわたり設けられる見出し及び小見出しは、本発明の特定の態様及び本発明の実施形態が説明された場所に対する読者の便宜上の参照として働くものであるが、本発明の態様及び本発明の実施形態は、明細書、図面及び特許請求の範囲の全体に説明されるもので、明細書、図面及び特許請求の範囲の全体で本発明を理解すべきであると考えられる。
【００７１】
本発明の一実施形態では、計算環境（１つ又は複数）を生成又は確立し、初期化し、スイッチを構成し、処理を制御し、１つ以上の計算環境を動作し、計算環境内のユーザ及び／又は制御オペレーションを遂行し、ユーザ処理を完了し、ファイルをセーブし、そして計算環境において処理を終了させるための本発明の方法及び要素手順は、コンピュータプログラムとして実施されるか、或いは有形の媒体に記憶され且つ本発明の方法及びシステムの方法論的ステップを遂行するためのコンピュータプログラム命令を含むコンピュータプログラム製品として実施されるのが効果的である。他の実施形態は、ハードウェアロジック、ファームウェア及び／又はソフトウェアの組合せを使用して、これら手順の幾つか又は全部を遂行することができる。
【００７２】
本発明の方法の態様について以下に説明する。実施形態特有の任意の手順及びステップを含む本発明の方法及び手順のこれら及び他の態様は、本明細書全体にわたり特定の実施形態に関して説明する。
【００７３】
初期システム設定及び計算環境の確立
図４を参照すれば、多数の独立した計算環境（１５０８−Ｎ）を使用する本発明の方法の一実施形態は、システムスタートアップ（１６０２）を開始し、１６０４においてＩ／Ｏスイッチシステムコンフィギュレーション（１５１２）を、そして１６０４においてデータ記憶装置スイッチコンフィギュレーション１５０６を構成し、通信をサポートするためにＩ／Ｏスイッチシステム１５１０を構成し、通信をサポートするためにデータ記憶装置スイッチシステム１５０４を構成し、１６２３において制御処理を遂行し、そして１６３１においてユーザ処理を遂行することを含む。通常、制御処理は、１６１５における設定処理の制御、及び１６２１におけるセーブ処理の制御も含む。
【００７４】
１６０２においてシステムスタートアップを開始することは、コンピュータシステムの既知のブートシーケンスと同様の初期ブートシーケンスを含むことができる。ブートシーケンスは、更に、１６０４において１つ以上のスイッチコンフィギュレーション、例えば、データ記憶装置スイッチコンフィギュレーション及び／又はＩ／Ｏスイッチコンフィギュレーションの定義及び／又は変更をサポートすることも含む。各スイッチングシステムの初期コンフィギュレーションを開始して、それに対応するスイッチコンフィギュレーション１６０４に基づき１つ以上のソースと１つ以上の行先との間に１つ以上の通信経路を確立することができる。スイッチのコンフィギュレーション１８００は、図６に示された計算環境を開始するための手順と共に、データ記憶装置スイッチを構成し（１８０４）そしてＩ／Ｏシステムスイッチを構成する（１８０６）ための手順を含むことができる。（本発明の他の実施形態は、計算環境を最初に構成するとき又はそれを再構成するときにデータ記憶装置及びＩ／Ｏスイッチを構成するための合成手順を与える。）
【００７５】
計算環境を開始するための手順の実施形態を示す図５を更に参照すれば、本発明の一実施形態により、物理的スイッチ１７０４を経て電力をターンオンして、スタート動作１７０２の間にシステムスタートアップを開始することができる。システムスタートアップ時に、ＣＭＯＳメモリ１７０８を使用して、初期化プロセス及び／又はブートシーケンスの１つ以上のステップを定義することができる。ブートシーケンス１７０６或いは他の初期化シーケンス又は手順は、ＣＭＯＳ１７０８又は他のメモリ記憶装置に結合された情報を使用して、スイッチシステムコンフィギュレーションを確立し、そしてその後、それに対応するスイッチシステムを初期化して、そのコンフィギュレーションを適用及び／又は変更し、ソースと行先とを通信結合する。又、１つ以上の計算環境が、１６０２においてシステムスタートアップにより開始されてもよい。
【００７６】
更に、図４を参照すれば、１６０８及び１６２２において計算環境を確立することは、Ｉ／Ｏスイッチシステムコンフィギュレーション及びデータ記憶装置スイッチコンフィギュレーションを構成し、Ｉ／Ｏスイッチシステムを構成して、通信をサポートし、そしてデータ記憶装置スイッチシステムを構成して通信をサポートすることを含むことができる。
【００７７】
一実施形態によれば、２つのデータ記憶装置（例えば、データ記憶装置１５０２−１、１５０２−Ｎ）が計算環境に結合されてもよい。第１のデータ記憶装置は、計算環境の処理アクティビティをサポートするためのオペレーティングシステムを含むことができる。第２のデータ記憶装置は、計算環境により使用され又は作用され得る種々の情報を含むことができる。種々の情報は、例えば、特定のユーザ情報及び／又はコンフィギュレーション情報を含むことができる。特定のユーザ情報は、ユーザにより編集されるべきドキュメントを含むことができる。コンフィギュレーション情報は、データ記憶装置スイッチコンフィギュレーション及び／又はＩ／Ｏスイッチコンフィギュレーションを構成するために制御計算環境により使用することができる。
【００７８】
通常、制御計算環境は、ユーザ計算環境が確立される前に、１６０８において確立される。ある実施形態では、初期化の際に、制御計算環境又はそれと同等のものを確立することができる。第１の制御計算環境は、上述したように、ブートシーケンスにより確立することができる。第１のデータ記憶装置は、コンピュータオペレーティングシステムをサポートすることができる。第２のデータ記憶装置は、保護データ記憶装置を表わすことができる。データ記憶装置が計算環境に結合された後に、計算環境は、ユーザが計算環境と対話するのを許すようにブートすることができる。ユーザ入力は、制御計算環境の特色（例えば、領域の特色及び計算環境識別特色）に対応する入力を制御計算環境に通信するように構成されたＩ／Ｏスイッチシステム１５１０を経て受信することができる。同様に、制御計算環境からの出力は、制御計算環境に対応する特色に基づいて周辺機器（例えば、周辺機器１５１４−１、・・・１５１４−Ｎ）へ送信することができる。従って、制御計算環境は、第１のデータ記憶装置からブートし、そして保護データ記憶装置へアクセスすることができる。その結果、ユーザは、制御計算環境と対話することができる。
【００７９】
本発明のアーキテクチャー、システム及び方法の実施形態内に任意の「特色(trait)」を使用するためのオプションについて以下に説明する。特色を言及することは、本明細書の他の部分で行うが、効果的に使用されることは、任意の特徴である。一実施形態において、少なくとも１つの特性、属性、記述子、又は特色を使用して、各ソース及び行先を表わす（及びシステムの他の要素の特性を表わす）ことができる。特色は、物理的な識別子及び／又は論理的な識別子を表わしてもよい。上述したＩＤＥディスクドライブ記憶装置によれば、各ＩＤＥケーブルは、物理的スイッチとの物理的結合により識別することができる。ＩＤＥドライブ情報（例えば、マスター及び／又はスレーブの指定、ドライブサイズ、等）を使用して、ドライブ及び／又はドライブに結合されたデータを識別することができる。
【００８０】
同様に、少なくとも１つの特色を使用して、各行先、例えば、計算環境又はＣＥが表わされる。計算環境が個別の物理的計算環境を表わす場合には、それを、個別の物理的計算特性、例えば、一般的スイッチに結合された独特のインターフェイスにより識別することができる。本発明の一実施形態によれば、計算環境は、別の計算環境に対応する物理的計算特性の幾つか又は全部を共有できる論理的計算環境として表わすことができる。論理的計算環境は、種々の仕方で識別することができ、例えば、独特のプロセス識別子により識別することができる。
【００８１】
１つ以上の特色が、出力装置、例えば、コンピュータモニタ及び／又はコンピュータグラフィックカードに対応してもよい。一実施形態によれば、特色は、コンピュータモニタの潜在的なビューエリアに関連した表示領域に対応してもよい。ソースからの表示出力は、表示領域特色に基づいて位置することができ、１つの計算環境からの出力が、領域特色に関連した領域内の表示に向けられるようにする。領域特色は、コンピュータモニタの潜在的なビューエリアに関連した長方形の表示領域を画成する一対のｘ、ｙ座標を含むことができる。従って、特定の計算環境からの表示出力は、１つ以上の特色に基づいて、別の領域ではなく、それに対応する領域内に表わすことができる。
【００８２】
１つ以上の特色が入力装置に対応してもよい。上述したように、潜在的なビューエリアに関連した領域特色は、いつ入力が特定の計算環境に通信されるか識別するように更に拡張することができる。又、マウス移動及びマウスコマンドは、長方形の表示領域に相関し、長方形の表示領域に対応する入力がそれに対応する計算環境に向けられるようにする。その結果、領域内のマウス移動は、同じ領域に対応する計算環境と共に通信することができる。特色の使用は、一般に、システムと共に使用されるか、システムに関連付けられるか、或いは必要に応じて又は間欠的ベースでシステムと共に潜在的に使用可能にされる装置、サブシステム、又は周辺機器まで拡張することができ、そして本発明のシステムとの通信状態に入れることのできる外部装置又はシステムを含んでもよい。
【００８３】
計算環境特色は、１つ以上の出力を計算環境から発生したものとして識別するのに使用できる。又、計算環境特色は、１つ以上の入力、及び入力の指定受信者である対応する計算環境を識別するのにも使用できる。１つ以上の計算環境特色を使用して計算環境を識別することができる。又、計算環境特色を使用して、計算環境を独特に識別することができる。この特色は、対応する物理的属性、論理的属性、又はそれら属性の組合せにより計算環境を識別することができる。例えば、ある特色は、１つ以上の計算システム要素の物理的アドレスを識別することができる。或いは又、ある特色は、論理的計算環境に対応する論理的アドレスを識別することができる。更に、ある特色は、所与の計算環境の多数の特性を識別することができ、そして対応する特色の数及び形式は、本発明により変化し得ることも明らかであろう。
【００８４】
特色は、例えば、本発明システムの要素を編成及び構成して、１つ又は１組の処理タスクを達成する上で役立つように使用できる。このような構成は、記憶装置、Ｉ／Ｏ装置、及び／又は他の周辺機器への希望の接続を与えるように種々のスイッチ、スイッチングシステム及びスイッチング手段を構成することを含むことができる。
【００８５】
スイッチの構成及び制御環境内のユーザ処理の最小化
スイッチシステムを構成することのできる計算環境の１つの形式は、制御計算環境である。（本発明の他の実施形態は、異なる計算環境を合成して、本書のどこかで述べるように、それに対して他の変更を行えるようにする。）制御計算環境は、データ記憶装置スイッチコンフィギュレーション及びＩ／Ｏスイッチコンフィギュレーションのようなスイッチシステムコンフィギュレーションを再構成することができる。対応するスイッチシステムの構成は、種々の仕方で行うことができ、例えば、サポートするスイッチコンフィギュレーションへの変更がなされ及び／又は決定されたときにスイッチを経て通信を構成し及び／又は再構成することで行われる。更に、制御計算環境と、スイッチシステム及び／又はスイッチシステムコンフィギュレーションとの間の通信は、制御計算環境しかスイッチシステムを構成できないよう確保する上で助けとなるように暗号化することができる。
【００８６】
一実施形態では、例えば、保護データ又はマスターテンプレートが記憶される保護データ記憶装置に対応するデータ又は他の情報が崩壊（例えば、その制御計算環境に存在するか又は常駐するユーザデータファイル又はコンピュータプログラムコードが崩壊）するおそれを排除するために、制御計算環境内でユーザデータ或いは未知の又は信頼性のないデータを処理することは、ディスエイブルされ即ち許されない。本発明の一実施形態によれば、ユーザが、ユーザオペレーション、例えば、ユーザにより通常遂行できるアクティビティ（例えば、ｅメール、ワード処理、等）を開始する場合には、ユーザオペレーションを個別の計算環境において処理することができる。ユーザインターフェイス、制御オペレーション、及び／又は保護記憶装置を単一の計算環境又はサブシステムへと合成する本発明の実施形態では、この環境のコンフィギュレーションは、このような環境がユーザデータの処理をサポートせず、このようなユーザデータをその制御環境で実行して、それ又はシステムを崩壊するのを許すというものである。コピーオペレーションのような処理動作は、サポートできるが、このようなコピーオペレーションは、マリシャスコードによる他のシステムファイルの実行又は感染を許さないように実施される。
【００８７】
制御計算環境は、ユーザオペレーションを開始するためのユーザ入力を受け取ることができる。コンピュータマウス入力がＩ／Ｏスイッチシステムにより受け取られ、そしてＩ／Ｏスイッチシステムコンフィギュレーションに基づいて制御計算環境に向けられる。他の周辺機器からの他の入力も、Ｉ／Ｏスイッチシステムを経て制御計算環境により受け取られる。
【００８８】
ユーザ計算環境内でのユーザオペレーションの開始及び遂行
制御計算環境のユーザは、ユーザオペレーションを開始することができる。一例において、ユーザは、モニタの領域内に表示された特定のアイコンをダブルクリックすることができる。マウスアクションは、制御計算環境により受け取ることができ、１６１２において、個別計算環境の初期化を生じ、１６３１において、ユーザ処理、例えば、ワード処理を行うことができる。制御計算環境は、既存の及び／又は新規のドキュメントに対応するワード処理を遂行するために個別の処理環境の生成を初期化することができる。これが既存のドキュメントである場合には、制御計算セッションは、ドキュメントのコピーを、ユーザ計算環境により後で使用するために第３のデータ記憶装置へコピーする必要がある。制御計算環境は、ユーザ環境をサポートするようにスイッチシステムを構成することができる。データ記憶装置スイッチシステムは、第３のデータ記憶装置及び第４のデータ記憶装置をユーザ計算環境に結合するように構成できる。Ｉ／Ｏスイッチシステムは、周辺機器をユーザ計算環境に結合するように構成でき、例えば、ディスプレイの領域をユーザ計算環境に結合することができる。又、ユーザ計算環境は、１つ以上のスイッチコンフィギュレーションに対する変化によりトリガーされる信号又は事象により開始されてもよい。又、種々の別の解決策を使用して、ユーザ計算環境を初期化することもできる。
【００８９】
１６０６におけるユーザ計算環境の初期化の一部分として、編集されるべきファイルは、ユーザ計算環境がブートされた後に起動される。別の実施形態によれば、既存のユーザ計算環境をそれに対応するデータ記憶装置と結合して、ファイルをユーザ計算環境内で処理できるようにする。本発明の一実施形態によれば、編集されるべきファイル（１つ又は複数）を規定の位置に常駐させて、それに対応するアプリケーションを起動し、それに対応するファイルをオープンし、及び／又はユーザアクティビティをサポートすることができる。制御処理は、制御計算環境により実行されてもよく、これは、１つ以上のスイッチコンフィギュレーションを構成し、１つ以上のスイッチシステムの再コンフィギュレーションを初期化し、１つのデータ記憶装置と他のデータ記憶装置との間で情報をコピーし、保護データ記憶装置と他のデータ記憶装置との間で情報をコピーすることを含んでもよい。
【００９０】
ユーザ処理は、制御計算環境及びユーザ計算環境との対話を含むことができる。ユーザにより遂行できる機能に通常関連した処理は、独立したユーザ計算環境において処理するように構成できる。従って、ユーザ処理アクティビティは、制御計算環境の処理アクティビティ及び／又は他のユーザ計算環境の処理アクティビティに直接干渉することはない。情報は、特定のユーザ処理アクティビティをサポートするのに必要なコンピュータ情報に基づいて１つのデータ記憶装置から別のデータ記憶装置へコンピュータ情報をコピーすることによりユーザ計算環境へアクセスすることができ、例えば、ワード処理アクティビティは、編集されるべきユーザファイルへのアクセスを必要とする。
【００９１】
通常、制御計算プロセスは、１６１５における制御設定処理と、１６２８における制御セーブ処理とを含むことができる。制御設定は、少なくとも１つの処理アクティビティ、例えば、ワード処理アクティビティを実行するために使用されるべきユーザ計算環境の確立をサポートするのに使用できる。制御セーブ処理は、ユーザ情報を保護データ記憶装置へセーブすることを含む。ユーザ処理アクティビティが完了すると、ユーザ処理アクティビティに関連した情報が、１６１８において、保護データ記憶装置にセーブされ、ユーザ計算環境が保護データ記憶装置へのセーブ機能を直接実行することは許されない。
【００９２】
本発明の一実施形態によれば、制御計算環境は、１つ以上のファイルを一時的データ記憶装置にコピーすることができる。制御計算環境は、１６１６において、データ記憶装置スイッチコンフィギュレーションを更新して、ユーザ計算環境が一時的データ記憶装置へアクセスするのを許すようにする。一実施形態によれば、制御計算環境は、ユーザ計算環境が一時的データ記憶装置に通信結合したことを検証できる。その後、制御計算環境は、１６１４において、１つ以上のユーザ計算環境に対応する処理が完了するのを待機することができる。ユーザ計算環境が完了を待機する間に、制御計算環境は、一般的なデスクトップ機能に対応し得る機能を遂行する。このデスクトップ機能は、例えば、１つ以上のデータ記憶装置からコンピュータウイルスを駆除するために、データ記憶装置の管理、データ記憶装置の構成、及びデータ記憶装置間の計算情報のコピーに対応する。通常、デスクトップ機能に対応する機能は、保護データ記憶装置に記憶された計算情報を崩壊するおそれを減少することに限定される。
【００９３】
ユーザ処理の完了
ユーザ処理アクティビティの完了時に、制御計算環境は、種々の異なる通知解決策に基づいて通知を受けることができる。１つのこのような解決策によれば、ユーザ計算環境が終了となり、その終了がそれに対応するスイッチシステムにより感知される。このスイッチシステムは、保護データ記憶装置に入れるべきユーザ情報をデータが含むことを制御計算環境に能動的に通知することができる。
【００９４】
ユーザアクティビティの完了に応答して、制御計算環境は、ユーザデータ記憶装置を制御計算環境に結合して、ユーザ計算環境により実行されたプロセスとは独立してユーザ情報及び／又はファイルを保護データ記憶装置にコピーすることができる。従って、保護データ記憶装置に記憶された他のファイルが、独立したユーザ計算環境のオペレーションにより崩壊されることはない。
【００９５】
本発明の一実施形態によれば、ファイルセーブコマンドをトリガー事象として使用して、制御計算環境が、ユーザ計算環境の状況の中で実行できる他のオペレーションとは独立して、保護データ記憶装置へユーザファイルを記憶するようにさせる。本発明の一実施形態によれば、一時的データ記憶装置は、ユーザ計算環境及び制御計算環境の両方に結合され、ユーザ計算環境が、制御計算環境に結合される他のファイルを崩壊することがないようにする。ユーザ計算環境は、ファイルを一時的データ記憶装置にセーブすることができ、ここで、制御計算環境は、保護データ記憶装置及び／又は中間データ記憶装置にファイルをコピーする能力をもつことができる。中間データ記憶装置は、例えば、ユーザアプリケーションがクローズされたときに、それに対応するファイルを保護データ記憶装置にセーブするように後で使用することができる。ユーザ計算環境との間の通信は、ユーザ計算環境が保護データ記憶装置に記憶されたファイルを崩壊することがないよう確保する上で助けとなるように、受動的に実施できる。
【００９６】
ユーザファイルは、ファイルセーブコマンドの結果として一時的データ記憶装置にセーブすることができる。セーブコマンドの開始に続いて、データ記憶装置スイッチシステムは、データ記憶装置がセーブされたファイルに結合されることを検証できる。ファイルが存在した場合には、一連の命令を実行して、一時的データ記憶装置からのファイルを保護データ記憶装置にコピーすることができる。
【００９７】
本発明の一実施形態によれば、制御計算環境は、それに対応するユーザ計算環境がユーザアクティビティ、例えば、ファイルのセーブを完了するのを待機することができる。その後、データ記憶装置スイッチは、一時的データ記憶装置をユーザ計算環境から切断するように構成できる。一時的データ記憶装置は、次いで、制御計算環境に結合することができる。保護データも制御計算環境に結合される。ファイルは、ユーザ計算環境とは独立して、一時的データ記憶装置から保護データ記憶装置へコピーすることができる。一時的データ記憶装置は、次いで、制御計算環境から切断されて、ユーザ計算環境に再結合される。
【００９８】
本発明の別の実施形態によれば、セーブプロセスは、制御計算環境に通信されるスイッチングシステムに対応するフラグをトリップし及び／又はセットすることができる。１つ以上のファイルの存在を検証することができる。ファイルの検証によりファイルの存在が示される場合には、一連のコンピュータ命令を実行して、一時的データ記憶装置から保護データ記憶装置へ１つ以上のファイルをコピーすることができる。
【００９９】
本発明の別の実施形態によれば、キーボードコマンド（例えば、コントロール−Ｓ）を使用して、ファイルをセーブすることができる。Ｉ／Ｏスイッチシステムは、ユーザ計算環境及び制御計算環境の両方にコマンドシーケンスを通信するように構成できる。従って、制御計算環境は、ユーザ計算環境にセーブされたファイルを保護データ記憶装置へコピーするのをサポートするように、データ記憶装置スイッチ及び／又はＩ／Ｏスイッチシステムを再構成することができる。
【０１００】
本発明の別の実施形態によれば、ユーザ計算環境がクローズされ及び／又は遮断されるときにファイルを保護データ記憶装置に転送することができる。本発明の一実施形態によれば、クローズされたユーザ計算環境は、データ記憶装置スイッチシステムにより、ユーザ計算環境により供給されたデータ記憶装置に対応する変更電力状態で検証することができる。
【０１０１】
本発明の別の実施形態によれば、コンピュータディスプレイモニタに対応するグラフィック領域は、特定の計算環境に対応するユーザ入力がいつ受信されたか識別するのに使用できる。ユーザ入力は、特定の実施に基づき、Ｉ／Ｏスイッチシステム内及び／又は制御計算環境内で分析することができる。一実施形態によれば、ユーザ計算環境に対応するセーブコマンド及び／又はクローズコマンドは、ユーザ情報を保護データ記憶装置にセーブする必要があることを識別し、及び／又は保護データ記憶装置へのコンピュータ情報のセーブをトリガーするように使用できる。
【０１０２】
ユーザ計算環境をクローズすることは、パワースイッチをターンオフすることを含んでもよい。スイッチングシステムは、電力消費の変化及び／又は停電を感知することができる。ユーザがアプリケーション及びそれに対応するユーザ計算環境をクローズした場合には、制御計算環境がその遷移を感知し、そしてそれに対応するユーザデータを保護データ記憶装置にセーブすることができる。データ記憶装置を再構成する前に、それに対応するスイッチシステムは、ユーザデータを含むデータ記憶装置への電力がディスエイブルされ及び／又はオフ状態にあることを検証できる。制御計算環境は、次いで、ユーザ情報を含むデータ記憶装置をユーザ計算環境から切断し、そしてユーザ情報を、上述したように、保護データ記憶装置へコピーすることができる。
【０１０３】
本発明の一実施形態によれば、データ記憶装置は、ユーザ計算環境に結合された後に清掃することができる。制御計算環境は、ユーザ計算環境がデータソースを使用した後に１つ以上のデータ記憶装置を再フォーマット及び／又は清掃することができる。又、データ記憶装置をユーザ計算環境に結合する前に、マスターテンプレートデータ記憶装置を使用して、データ記憶装置を初期化することができる。別の実施形態によれば、制御計算環境は、１つ以上のデータ記憶装置を再フォーマット及び清掃するのをサポートするために定義された別のユーザ計算プロセスを開始することができる。
【０１０４】
図２及び３の実施形態に対するアーキテクチャートポロジー及びシステム構造、並びに図４、図５及び図６の方法及び手順に対する初期化及び動作態様について説明したが、このような計算装置、情報機器、及び処理マシンの付加的なアーキテクチャー、構造、及び方法論的態様について以下に説明する。
【０１０５】
図７は、特殊目的のサブシステム又は計算環境１１２０（例えば、１１２０−１及び１１２０−２）及び共通のコントローラ１１３０をコンピュータシステム１１１０内に備え、このコンピュータシステムが、ディスプレイ１１４０、キーボード１１５０及びマウス１１６０を含む多数の周辺機器１１０８に結合された本発明の実施形態１１０５を示している。
【０１０６】
２つの特殊目的のサブシステムしか図示されていないが、このシステムは、単一のサブシステム又は計算環境或いは複数のこのようなサブシステムを含んでもよいし、単一の特殊目的のサブシステムを複数回能動的に使用することを含んでもよいし、或いは異なる構造及び／又は動作特性を有する複数の特殊目的サブシステムを含んでもよいことが明らかであろう。例えば、複数は、２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５、１６、１７、１８、１９、２０、２１、２２、２３、２４、３２、５０、６４、１００、又はそれ以上の特殊目的の処理システム、或いはその中間の数であり、これは、この技術で良く知られたように、物理的空間、回路密度、発熱、並びに他のパッケージング及び接続設計の問題を受ける。
【０１０７】
更に、少なくとも１つの実施形態では、本発明の構造及び方法は、単一即ち１つのサブシステム又は計算環境しかもたないハードウェアで実施でき、この場合には、計算環境又はサブシステムが異なるプロセスに対して順次に使用される。この単一計算環境システムの一実施形態では、個別のロジックを使用して、計算環境状態の記憶及び再記憶を実行し、これにより、計算環境を使用して、意図された処理オペレーションを遂行すると共に、第２又は制御プロセスの初期状態又は中間状態を回復する能力を維持することができる。
【０１０８】
構造及び／又は処理特性は、異なる処理能力（例えば、毎秒異なるオペレーション数、異なる量のプロセッサ関連メモリ、異なるプロセッサアーキテクチャー又は命令セット、或いは異なるオペレーティングシステム）、或いは物理的又は論理的割り当て形態の異なる量の大量記憶装置、又はハードディスクドライブ、光学記憶媒体、又はソリッドステートメモリ記憶装置を有する特殊目的サブシステムを備えることができるが、これに限定されない。
【０１０９】
コントローラ１１７５、及びそれに関連され且つ結合されたメモリ記憶装置１１７６は、複数の特殊目的サブシステムの選択されたサブシステム又はその全部に両方向結合される（例えば、特殊目的サブシステム１１２０−１及び１１２０−２に結合される）。いずれかの特殊目的サブシステムへの又はそこからの両方向結合の各方向は、間欠的でもよいし、及び／又はスイッチ可能にイネーブル及びディスエイブルされてもよい。更に、コントローラ１１７５とメモリ記憶装置１１７６との間の接続は、スイッチ可能にイネーブル及びディスエイブルされてもよい。
【０１１０】
図示されたように、任意の個別論理制御装置１１８０を第１及び第２の特殊目的サブシステム１１２０間に結合することができる。共通コントローラ１１３０がインターフェイス１１７０を経て特殊目的サブシステム１１２０−１及び特殊目的サブシステム１１２０−２に結合される。本発明の実施形態では、それらが同じインターフェイスであるか個別のインターフェイスである。特殊目的サブシステム１１２０−１と１１２０−２との間に任意のインターフェイス１１７０が結合されてもよく、そしてこのような結合は、間欠的でもよいし、或いは必要でないとき又は希望されないときにイネーブル又はディスエイブルを受けてもよい。この実施形態において、インターフェイスは、両方向性として示されているが、単一方向性のインターフェイスが個別の使用され、独立して又はセットとしてイネーブル又はディスエイブルされてもよい。更に、明瞭化のために、単一の線が図示されているが、インターフェイスは、例えば、インターフェイス多線バスインターフェイス（これに限定されない）のような複数の接続又は通信経路として実施されてもよいことが明らかであろう。又、ディスプレイ又はディスプレイサブシステム（例えば、ビデオプロセッサカード又はチップセット、ドライバ、及びディスプレイスクリーンを含む従来のディスプレイサブシステム）は、共通コントローラ１１３０から電気信号の形態のデータを受信し、そして共通コントローラ１１３０は、次いで、特殊目的サブシステム１１２０−１及び／又は１１２０−２の一方又は両方で実行されるプロセスから且つそのプロセスの結果としてその入力を受信することが明らかであろう。ディスプレイサブシステム１１４０、共通コントローラ１１３０、及び／又は特殊目的サブシステム１１２０−１及び１１２０−２における演算及び論理回路のようなハードウェア、ソフトウェア及びファームウェア、又はその組合せは、例えば、ユーザの計算環境デスクトップ、並びに現在アクティブな及び現在インアクティブなウインドウを反映する希望のグラフィック表示を発生する。
【０１１１】
又、キーボード１１５０及びマウス入力１１６０は、通常、電子信号、或いは音声、機械的又は触覚フィードバックの形態で何らかのフィードバックが与えられない限り、キーボード又はマウスから共通コントローラへの単一方向性である。ディスプレイスクリーン、キーボード、及びマウスデバイスのこの単一方向性は、それらが、通常、ローカル計算環境の外部からのマリシャスコンピュータ攻撃から逃れられ、そして少なくとも幾つかの例において、それらが生じたときに信頼性のある入力又はセキュア（安全）な入力として処理されることを意味する。
【０１１２】
図８は、図７に示して説明した実施形態と同様の本発明の別の実施形態１１０６を示す。この別の実施形態は、特殊目的サブシステム１１２０及び共通コントローラ１１３０をコンピュータシステム１１１０内に備え、このコンピュータシステムは、ディスプレイ１１４０、キーボード１１５０及びマウス１１６０を含む多数の周辺機器１１０８に結合される。図示されたように、コントローラシステムが第１及び第２の特殊目的サブシステム１１２０−１と１１２０−２との間に接続されてもよく、又、図７の実施形態と同様に、複数のこのような特殊目的サブシステムの間に結合されてもよい。この実施形態では、コントローラ１１７５及びそれに関連し結合されたメモリ記憶装置１１７６は、コントローラシステム１１７７として動作される特殊目的サブシステム１１２０−３の１つを使用して実施される。コントローラシステム１１７７（１１２０−３）は、他の特殊目的サブシステム１１２０の１つ、２つ以上又は全部へ、及びインターフェイス１１７０を経て共通コントローラ１１３０へ選択的に結合される。ここに例示する特殊目的サブシステムの構造、及びそれらがアプリケーション実行及び処理ユニットとして動作し、或いはコントローラシステム１１７０として動作するような種々のマスター制御及び／又は監視機能をとり行うように構成される仕方は、本明細書のどこかで他の図面について説明する。
【０１１３】
情報機器、コンピュータ、又はデータ処理装置に対する本発明のアーキテクチャー、システム及び方法の更に別の実施形態について以下に説明する。少なくとも１つの保護データ記憶装置を含む複数のデータ記憶装置と；少なくとも１つのソースを複数の行先に通信結合（及び分離）するための複数のスイッチングシステムであって、ソースがデータ記憶ソースであるデータ記憶装置スイッチシステムと、ソースが周辺ソースであるＩ／Ｏスイッチシステムとを含むようなスイッチングシステムと；データ記憶装置スイッチシステムとＩ／Ｏスイッチシステムとの間に結合されて、別の計算環境とは独立して処理アクティビティを遂行するための複数の計算環境（時には、シェルとも称される）であって、行先が計算環境であり、且つスイッチングシステムがソース及び行先を通信結合するような計算環境と；保護データ記憶装置に通信結合されて、処理アクティビティに基づいてスイッチコンフィギュレーションを構成するために複数の計算環境から選択された少なくとも１つの制御計算環境と；複数の計算環境から選択された少なくとも１つのユーザ計算環境であって、保護データ記憶装置において処理アクティビティが遂行されないようなユーザ計算環境と；を備えた本発明の情報機器又はコンピュータシステムの他の実施形態が説明されたことを想起されたい。
【０１１４】
この情報機器及び計算システムの一実施形態では、計算環境の各々は、複数の特色から選択された少なくとも１つの特色により識別されるように更に定義され、スイッチングシステムは、ソース及び行先を特色に基づいて通信結合し、少なくとも１つの制御計算環境が、処理アクティビティ及び特色に基づいてスイッチコンフィギュレーションを構成するために複数の計算環境から選択される。
【０１１５】
図９の実施形態は、本発明を使用する装置及びシステムに組み込むことのできる付加的な態様及び特徴を明らかにする付加的な実施及び構造詳細を示す。このシステムアーキテクチャー及び構造との間の類似性は、図２及び図３について上述したものから明らかとなろう。
【０１１６】
この実施形態では、５つの計算環境２１０８−１乃至２１０８−５が特に示されているが、いかなる数（Ｍ）の計算環境が静的に又は動的に設けられてもよい。これら計算環境２１０８−１、・・・２１０８−５の少なくとも幾つかは、見掛け上、若干異なる要素又は内部構造を有することが明らかとなろう。実際に、本発明のある実施形態では、計算環境の構造及びオペレーションが異なってもよく（及びおそらく著しく異なり）、一方、他の実施形態では、それらが同じでよく、更に別の実施形態では、ハードウェアが同じでよいが、異なるオペレーティングシステム又はアプリケーションプログラムを実行し、或いは何らかの他のソフトウェアコンフィギュレーションが相違する。これら計算システムの幾つかにおいて、複数の計算環境のコンフィギュレーションは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組合せに関して動的に構成される。
【０１１７】
図９のシステム２１００において、２つの計算環境２１０８−４及び２１０８−５は、見掛け上、同じ構造コンフィギュレーションを有し（それらは、異なるソフトウェア及びデータを有するが）、そして他の３つの計算環境２１０８−１、２１０８−２及び２１０８−３は、見掛け上、異なる構造を有する。これらの異なる計算環境の構造及びオペレーションを以下に説明し、そしてこれらの異なる構造及びオペレーションを、希望の有効な構造及びオペレーションを与えるように動的にカスタマイズできる共通構造の計算環境モジュールを使用して、どのように任意にしかも効果的に実施できるかを図１０について後で示す。
【０１１８】
ユーザインターフェイス計算環境
先ず、ユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１に注目する。これは、ユーザインターフェイスオペレーションを与えるが、従来のユーザインターフェイスではなく、プロセッサ及びプロセッサ結合メモリを一般に含む中央処理ユニット（ＣＰＵ）２１２０を備えている。又、ＣＰＵは、良く知られたように、プロセッサチップセットと一般に称される他のチップ又は回路も含むことができる。ＣＥ２１０８−１は、ＣＰＵ２１２０にスイッチ可能に結合できる記憶装置２１２１も備えている。
【０１１９】
一実施形態において、ユーザは、コンピュータシステム及び計算環境の実際の動作とは若干透過的に独立したファイル又はデータセットを操作できることに注意されたい。例えば、一実施形態では、ユーザの視点から、アイコン又はファイルネーム或いは他の説明参照を、ある位置（例えば、デスクトップ、ハードディスクドライブアイコン、又は他の位置）から別の位置へ単にドラグする。実際に、デスクトップの例では、制御計算環境又はユーザ計算環境は、デスクトップの座標に対応するエリアへ／からドラグされたアイテム（例えば、ファイル）を計算し、そしてデスクトップ環境又は他の行先にアイテムのアイコンを生成し、しかも、実際のファイルは、保護記憶装置に配置することができる。
【０１２０】
ここに示す実施形態では、記憶装置２１２１は、２つの記憶部分、即ちマスターテンプレート（本明細書のどこかに述べたマスターテンプレートの説明を参照）の全部又は選択された部分を記憶する二次テンプレート部分（ＳＴＰ）２１２２と、ユーザデータファイルを記憶するが、この環境において記憶を与える必要性がほとんどの実施形態で最小であるときには排除できる任意の一時的データ記憶部分（ＴＤＰ）２１２３とを有するものとして示されている。この計算環境２１０８−１の好ましい実施形態では、この環境にアプリケーションプログラムも実際のファイルもなく、このようなプログラム又は実際のファイルに対するレファレンス、リンク又はポインタしかないことを想起されたい。（他の計算環境は、最小処理要件の結果として最小時間的記憶要件も有することに注意されたい。）計算環境２１０８−１は、ユーザインターフェイス計算環境（ＵＩＣＥ）として識別され、そして人間のユーザ又はオペレータ２１２９とコンピュータシステム２１００との間にインターフェイスを与える。
【０１２１】
通常、ユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１は、識別された計算又はデータ処理又は制御能力を計算環境に与えるために必要なオペレーティングシステム要素及びアプリケーションプログラム（もしあれば）のみを含む二次テンプレート部分を有する。例えば、ＵＩＣＥが主として人間のユーザ２１２９から要求及びコマンドを受け取り、そしてそれらを処理して、信号を制御及びスイッチング計算環境へ送信するときには、ＵＩＣＥは、ワード処理、写真編集、ｅメール、ネットワーク又はインターネットブラウジング、或いは他の共通又は非共通のアプリケーションプログラムをその記憶された二次テンプレート２１２２に有する必要はない。又、それは、他の計算環境とは異なるオペレーティングシステムを有してもよいし、或いはその責任をサポートするためのオペレーティングシステムのコード、コード部分、ライブラリー又は他の特徴しか含まないオペレーティングシステムを有してもよい。又、オペレーティングシステム要素及びアプリケーションプログラム又はアプリケーションプログラム要素しか与えないというこの同じ原理が、他の計算環境二次テンプレートにも適用され、又、好ましい解決策とは考えられないが、あらゆる状況において、マスターテンプレートの完全なコピー又は最低限必要な以上のオペレーティングシステム及びアプリケーションプログラムが設けられてもよい。
【０１２２】
イメージ処理オペレーションを遂行するために発生され又は構成される計算環境の実施形態のような他の実施形態では、ＳＴＰ２１２２は、マイクロソフトウインドウズ２０００オペレーティングシステムコード及びアドビフォトショップアプリケーションソフトウェアを記憶することができ、そしてＴＤＰ２１２３は、１つ以上の入力デジタルイメージファイル、イメージを処理する間にアドビフォトショップアプリケーションソフトウェアの実行中に生成された中間ファイル、及び発生された出力ファイルを記憶することができる。又、ＴＤＰ２１２３は、他のユーザ又は時間的システムデータ、例えば、以前の編集、又はクリップボードにコピーされたデータをアンドゥするためのファイルを記憶することもできる。
【０１２３】
実際の実施において、ＳＴＰ及びＴＤＰは、同じ物理的記憶装置、例えば、ソリッドステートメモリ、磁気ディスクドライブ、又は他の記憶媒体の一部分でもよく、或いは異なる物理的装置、又は異なる形式の装置でもよい。更に、ここに述べる動的なスイッチング構成方法の幾つかを使用して、ＳＴＰ及び／又はＴＤＰは、各々、複数の同様の又は異なるデータ記憶形式、例えば、ハードディスクドライブ記憶装置及びソリッドステートＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、等の組合せで構成されてもよい。
【０１２４】
記憶装置２１２１は、ＣＰＵ２１２０に選択的に且つスイッチ可能に結合できる。図９の実施形態では、個別の第１スイッチ２１２４及び第２スイッチ２１２５は、ＣＰＵ２１２０をＳＴＰ２１２２及びＴＤＰ２１２３に接続したり切断したりするように示されている。スイッチのための簡単なアイコンが示されているが、ここでの説明に鑑み、スイッチは、通常はそうでないが、接続したり切断したりする単純なワイヤでよく、より一般的には、インターフェイスバス、及びそのインターフェイスバスにおける信号のための信号コンディショニング回路のような１組の導体であることが明らかであろう。ＣＰＵを記憶装置に接続するためのスイッチングは、ＣＰＵと記憶装置との間の通信をイネーブルする手段により達成することができ、そしてＣＰＵを記憶装置から切断するためのスイッチングは、本明細書のどこかに述べるように、ＣＰＵと記憶装置との間の通信をディスエイブルする手段により達成できる。他の構造及び手順と協働してコンピュータシステム２１００の完全性を保護するためのこれらＳＴＰ−ＣＰＵ及びＴＤＰ−ＣＰＵスイッチ２２４、２２５（又はより一般的な記憶装置２２２１対ＣＰＵスイッチ（個別に示さず））の動作は、システム２１００の他の要素を詳細に説明した後に説明する。
【０１２５】
周辺装置、入力装置、出力装置等の１つ又は組合せを結合及び分離（又はイネーブル及びディスエイブル）するために周辺スイッチ２１５７が設けられる。例えば、キーボード、マウス、ネットワークインターフェイス又はＮＩＣ、マイクロホン、スピーカ、ヘッドセット、フロッピーディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＰＣカード、メモリカード、ＣＤ、ＤＶＤ、シリアル又はパラレルインターフェイス装置、ＧＰＳ装置、ＵＳＢ装置、スキャナ、生物測定読取装置、ワイヤレスインターフェイス、又は他の周辺装置を特定の計算環境に割り当てることができる。スイッチ２５１５７は、デスクトップ及びユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１の一部分として示されているが、これは、ＣＳＣＥ又は他の制御計算環境により制御される個別のスタンドアローンスイッチ又はスイッチサブシステムと考え且つそのように実施されてもよい。別の実施形態では、これは、必要に応じて及び許可ベースで周辺機器を他の計算環境に直接結合するように制御される。他の実施形態では、計算環境からのビデオ出力をスイッチし、及び／又は周辺機器又は入力／出力スイッチングシステムを経て処理することができる。又、本書のどこかで述べるように、これらの周辺機器スイッチング及び接続能力を、記憶装置のための他のスイッチングシステム２１５０と結合し、そしてＣＳＣＥ２１０８−２により制御することもできる。又、コンピュータ環境２１０８−１は、そのときの計算環境の特定機能及びオペレーションにとって必要でないか又はアクチベートされない付加的な要素を含んでもよい。このような付加的な要素は、例えば、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、及び／又は付加的な回路及びロジック素子を含んでもよい。
【０１２６】
保護記憶及び読み取り／書き込み制御計算環境
保護記憶コンピュータ環境（ＰＳＣＥ）２１０８−３は、オリジナル又は一次マスターテンプレートＰＭＴ２１４８をマスターテンプレート保護記憶装置２１４２に記憶すると共に、一次ユーザデータ２１４９をユーザデータ保護記憶装置２１４３に記憶するように構成される。一実施形態において、保護記憶コンピュータ環境（ＰＳＣＥ）２１０８−３により遂行される機能及びオペレーションは、制御及びスイッチング計算環境２１０８−２により遂行される機能及びオペレーションと合成することができ、そしてその逆も可能である。
【０１２７】
マスターテンプレートは、種々の形態又はコンテンツをとり、そして例えば、コンピュータシステムの理想的な状態又はコンピュータシステムの要素を表わすデータ（コマンド、命令、データエレメント、等）のコピーでよい。マスターテンプレートは、例えば、動作するコンピュータシステム又はコンピュータシステムの要素からデータをコピーすることにより生成されるか、又は他の方法で生成される。コンピュータシステムは、マスターテンプレートを生成する前に理想的な状態にあってもよい。コンピュータシステムの理想的な状態は、コンピュータシステムにアクセスできるデータにより表わすことができる。異なる二次テンプレートを異なる計算環境に使用すべき場合には、異なるマスターテンプレート部分又は単一のマスターテンプレートの部分を他の計算環境２１０８に別々に通信することができる。データは、この状況においては、オペレーティングシステム（例えば、Ｌｉｎｕｘ、Ｕｎｉｘ（登録商標）、Ｗｉｎｄｏｗｓ９８、Ｗｉｎｄｏｗｓ２０００、並びにこれらオペレーティングシステムに対する改善及び拡張）、アプリケーション（例えば、ＷｏｒｄＰｅｒｆｅｃｔ、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ）、ユーザデータ（例えば、オペレーティングシステムの好み、バックグランドイメージ、生成したドキュメント）、及びコンポーネントデータ（例えば、ＢＩＯＳ、ＰＲＡＭ、ＥＰＲＯＭ）を含むことができる。ある実施形態では、それに加えて又はそれとは別に、データは、ローカル及びリモートデータ記憶装置を含むコンピュータシステムにアクセスし得る情報、及び他のデータベースにおけるデータを含む。但し、本発明の保護手段及び手順が、これら他のデータエレメントの分離を維持することが観察される場合に限る。一例として、あるコンピュータシステムのマスターテンプレートは、そのコンピュータシステムにインストールされた全ての情報、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ９８又は２０００オペレーティングシステム、ＷｏｒｄＰｅｒｆｅｃｔアプリケーション、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄアプリケーション、及びユーザにより生成されたドキュメントを含むことができる。この情報は、ここに述べるように、コンピュータシステムにアクセスできる１つ又は多数の記憶要素にわたってインストールされてもよい。更に、マスターテンプレートは、ＢＩＯＳ設定のコピー又は理想的状態バージョンを含むこともできるし、或いは特定の計算環境に適応された多数のＢＩＯＳを与えることもできる。
【０１２８】
ある実施形態では、マスターテンプレートは、新規に購入されるコンピュータシステムのスナップショットを表わしてもよい。このようなシステムは、通常、オペレーティングシステム及び種々のアプリケーションが予めインストールされた理想的な状態にあり、従って、ユーザがコンピュータシステムの使用を開始するのを許す。特定のユーザにとって、マスターテンプレートは、例えば、オペレーティングシステム、アプリケーション及びユーザカスタマイゼーションを含むコンピュータシステムの理想的な状態を表わしてもよい。例えば、ユーザカスタマイゼーションは、デスクトップのバックグラウンドとして、ユーザのペットのピクチャーのような、ピクチャー又は「．ｊｐｇ」イメージの以前のユーザ選択を含んでもよい。
【０１２９】
任意であるが、マスターテンプレートは、第１のコンピュータシステムから生成することができ、その後、異なるコンピュータシステムに対してマスターテンプレートとして使用することができる。第１のコンピュータシステムは、製造者のコンピュータシステムでよい。従って、第１のコンピュータの理想的な状態は、第２のコンピュータシステム又は多数のコンピュータシステムへ移送される。ある実施形態では、マスターテンプレートが１つの計算環境において生成され、次いで、適当な安全装置と共に移動されて、マスターテンプレートとして保管される。本発明の実施形態は、マスターテンプレートのエレメントの更新、パッチ、再インストール及び交換を効果的にサポートし、これらオペレーションを実質的に同じ又は同じユーザ対話で及び実質的に同じ又は同じ動作結果で遂行できるようにする。或いは又、マスターテンプレートは、選択的コピーのプロセスにより生成されてもよい。例えば、使用中の特定のＯＳに基づいて、プログラムが、登録装置に質問し、どんなエントリーが特定のプログラム又はアプリケーションに関連しているか決定し、次いで、その特定のプログラム又はアプリケーションに関連したファイル及びエントリーのみをマスターテンプレートに選択的にコピーするよう選択することができる。
【０１３０】
図９の保護記憶装置及び読み取り／書き込み計算環境のここに示す実施形態では、マスターテンプレート保護記憶装置２１４２又はユーザデータ保護記憶装置２１４３に記憶された２進情報の実行を許すプロセッサへの接続はない。この分離は、ＣＰＵのような処理能力を物理的に与えないことにより、或いは保護記憶装置からこのようなＣＰＵをディスエイブル即ち切断することにより、達成することができる。このディスエイブル即ち切断は、本明細書のどこかに説明するスイッチを使用することにより達成されてもよいし、又はコンピュータプログラムコード命令であるかデータであるかに関わらず、保護記憶装置における２進データを防止するための他の既知の手段により達成されてもよい。
【０１３１】
この実施形態では、マスターテンプレート保護記憶装置２１４２又はユーザデータ保護記憶装置２１４３に記憶された２進データに対して許される唯一の処理オペレーションは、読み取りオペレーションであり、そしてある場合には（本書のどこかで述べる）、書き込みオペレーションである。これらは、便宜上、コピーオペレーションと称することができる。
【０１３２】
本発明のアーキテクチャー、システム、方法、手順、及びコンピュータプログラム製品は、コンピュータ、計算装置、情報機器、ＰＤＡ、セルラー電話、及び他のプロセッサ合体装置を、悪意をもって又は偶発的に導入又は露呈されたものであるかどうかに関わらず、ハッカー、ウイルス、サイバーテロから保護すると共に、スパイソフトウェア、キーストロークレコーダーのような潜在的なダメージ又は侵入、並びにハッカー、ウイルス、ワーム、トロイの木馬、同様の脅威及び弱点によるダメージから保護する。
【０１３３】
一実施形態において、マスターテンプレート保護記憶装置２１４２は、他の計算環境へ通信できる１セット以上のコンピュータプログラムコード命令であって、その計算環境の指定オペレーションに対する動作能力を与えるに充分なコンピュータプログラムコード命令を記憶する。ある実施形態では、ユーザにより又は遂行されるべきシステム自体により要求され得るオペレーションを許す１セットのコンピュータプログラムコードがあり、そして各計算環境は、以下に述べるように、一度に、この完全なマスターテンプレートのコピーを受け取る。他の実施形態では、マスターテンプレート保護記憶装置２１４２は、多数の異なるセットを記憶し、そして特定の計算環境に要求されるオペレーションを与えるセットのみがそこに送られる。その結果、一般に、コピーオペレーションがより小さく且つより速くなると共に、個々の及び全体的な記憶要求がより低いものとなる。消去が要求される場合には、より小さなテンプレートサイズに対して付加的な時間節約が実現される。異なる二次テンプレートを、必要に応じて、保管し又は作成できるが、二次テンプレートを、コピー準備ができた形態で保管すると、低いセキュリティリスク及び高い動作速度が露呈される。
【０１３４】
一実施形態では、ユーザデータ保護記憶装置２１４３は、保護ユーザデータ２１４９と称されるユーザデータ又はファイルのオリジナルバージョン（又はコピー）を記憶する。例えば、このようなユーザデータは、ｅメール、任意の形式のｅメールアタッチメント、ワード処理ドキュメント、ＴＩＦＦイメージファイル、ＪＰＥＧイメージファイル、ＭＰ３ファイル、コンピュータプログラム、オペレーティングシステム又はオペレーティングシステムファイルの記憶バージョン、コンピュータプログラムアプリケーションプログラムの記憶バージョン、装置ドライバ、及び他の形式のコンピュータデータ、ファイル、或いは「０」及び／又は「１」ビットの集合のようなデータ又はファイルのセットを含んでもよいし、或いはそれから選択されてもよい。おもしろいことに、ユーザデータ保護記憶装置は、知りながら又は知らずに、コンピュータウイルスを記憶し、或いはコンピュータウイルス、コンピュータロボット又はボット、スパイウェア、或いは他のマリシャスコンピュータプログラムコードを含むファイルを記憶することすらある。このようなウイルス、ボット、スパイウェア、又は他のマリシャスコンピュータプログラムコードが保護記憶装置２１４２、２１４３に単独で存在し及び記憶されても、脅威は生じず、又、それが記憶装置に存在することで、有害さも生じない。一実施形態では、プロセッサは、保護記憶装置に記憶されたデータ又はコンピュータプログラムに対してアクセスが要求されないときに保護記憶装置から分離されるが、他の実施形態では、プロセッサが、保護記憶装置のデータ又はコンピュータプログラムファイルを実行できるように構成されず、保護記憶装置にも、プロセッサにも、保護記憶装置計算環境２１０８−３にもダメージを生じることがないので、プロセッサを保護記憶装置に結合したままとすることができる。ある実施形態では、保護記憶装置と、保護記憶装置計算環境２１０８−３内のプロセッサとの間に連続的な通信経路を維持する判断は、その保護記憶装置計算環境にサポートされる機能又はオペレーションのセットに基づいて行われる。これらの同じ事柄が、保護記憶装置計算環境を、他の計算環境、例えば、ユーザインターフェイス計算環境並びに制御及びスイッチング計算環境と合成する（が、ユーザデータ分離計算環境とは合成しない）本発明の実施形態にも適用できる。
【０１３５】
示唆されるように、一実施形態では、保護記憶装置計算環境２１０８−３は、マスターテンプレート又はユーザデータの初期ロード又は再ロード、コンパイル、ウイルス走査又は検出、テスト、或いは他の特殊なオペレーションのために、スイッチ２１４４、２１４５を経て保護記憶装置へ結合するようにスイッチングできるＣＰＵ２１４０のような分離又はディスエイブルされたプロセッサを備えてもよい。ＣＰＵと保護記憶装置との接続をイネーブルすることは、通常、ウイルス又は他のマリシャスコンピュータプログラムコードが存在して実行された場合に保護記憶装置内の他のデータが崩壊するのを防止するための予防策がとられた場合にのみ許される。保護記憶装置との間に「ダムコピー」オペレーションしかサポートされない実施形態では、ＣＰＵ又は他のプロセッサは、保護記憶装置と結合又は接続されたままでよい。ダムコピーとは、汚染又は感染を生じることのあるコンピュータプログラムコードへコピーされるべきファイルをオープンも露出もしないコピーである。ダムコピーは、ビットごと、バイトごと、又は他のコピーでもよいし、或いは、例えば、固定ハードウェアロジック回路又はＡＳＩＣにより実施されるか、又は予防手段がソフトウェア又はファームウェアの使用により取られるか、又はハードウェア及びソフトウェア／ファームウェアの組合せの使用により取られるようなビット複写オペレーションでもよい。
【０１３６】
保護記憶装置計算環境２１０８−３は、複数のスイッチ２２５０、例えば、コピー・フロム(copy from)ＭＴＰＳイネーブルスイッチ２２５１、コピー・フロムＵＤＰＳイネーブルスイッチ２２５２、及びライト・ツー(write to)ＵＤＰＳ２２５３を経て、他方の計算環境２２０８−１、２２０８−２、２２０８−４及び２２０８−５（或いはＭ個の計算環境のいずれか）と結合することができる。
【０１３７】
一実施形態では、ＭＴＰＳイネーブルスイッチ（ＳＷ１）２２５１からのコマンドは、計算環境の二次テンプレート部分、例えば、計算環境２１０８−１のＳＴＰ２１２２へアクセス（又はアクセス拒絶）されそして読み取り又はコピーされるべき適当なマスターテンプレート部分をイネーブル（又はディスエイブル）する。コピー・フロムＵＤＰＳイネーブルスイッチ（ＳＷ２）２２５２は、計算環境のユーザデータ記憶装置部分、例えば、計算環境２１０８−１のＴＤＰ２１２３へアクセス（又はアクセス拒絶）されそして読み取り又はコピーされるべき適当なユーザデータ又はファイルをイネーブル（又はディスエイブル）する。通常、オペレーションを実行するのに必要な１つのファイル又はファイルのセットのみがコピーされるのであって、保護記憶装置２１４３におけるユーザデータの全セットではない。他の実施形態は、全ユーザデータセットをコピーできるが、これは、非効率的であり、通常、メンテナンス、診断、及び／又は修理オペレーション中の幾つかの場合を除いて、明らかに有益な目的を果たすものではない。
【０１３８】
ライト・ツーＵＤＰＳ（ＳＷ３）２２５３は、生成又は変更されて計算環境２１０８−３のＵＤＰＳ２１４３へ書き戻される他の計算環境の１つからアクセス（又はアクセス拒絶）されそして読み取り又はコピーされるべき適当なユーザデータ又はファイルをイネーブル（又はディスエイブル）する。ある実施形態では、単一のスイッチが、ユーザデータ保護記憶装置２１４３から読み取りそしてそこへ書き込む両方向性能力を与え、従って、１つのスイッチ（又はスイッチのセット）しか要求されない。ＭＴＰＳ２１４２からコピーされて送られた二次テンプレートは、通常、変更されないので、通常、それをＭＴＰＳ２１４２へ書き戻す必要はないことが明らかである。それ故、ＭＴＰＳからＳＴＰへのコピーは、単一方向性である。個別の両方向性ハンドシェーク及び制御信号又はレベルを、コピー要求、コピー準備完了、コピー完了、データ受信、等の事象に対するシグナリングプロトコルとして使用することができる。パリティ又は他のエラー検出及びエラー修正は、良く知られたように実施することができ、転送がエラーなしに行われたことを検証するための本発明の態様及び特徴と一貫しているが、これは、任意である。
【０１３９】
一実施形態において、マスターテンプレート（又はシステムに使用できる他のテンプレート）の変更は、（ｉ）ユーザ分離計算環境の１つにそれをコピーするか又はロードし、（ii）この技術で良く知られた必要なオペレーティングシステム、アプリケーションプログラム、コンパイラー、デバッグ、リンク、又は他のプログラム手順を使用してそれを更新し、そして（iii）それをコピーして戻して、新たなマスターテンプレートとして保護記憶装置にセーブすることを含む。マスターテンプレートのコピー及びセーブされたバージョンは、オリジナルに置き換わってもよいし、又は新たなファイル又は更新されたバージョンとしてセーブされてもよい。
【０１４０】
これらのスイッチ又はスイッチのセットは、計算環境２１０８−３の要素又は要素のセット、計算環境２１０８−３の外部の個別の要素又は要素のセット、或いはそれらの組合せでよい。一実施形態では、スイッチは、ハードウェアロジック回路で設けられ、別の実施形態では、非常に限定されたセット処理能力を有するマイクロコントローラにより実施され、従って、精巧な多要素及び多信号スイッチング機構を実施できるが、マリシャスコードが実行されることはない。更に別の実施形態では、スイッチングが特定用途向け集積回路（ＡＳＩＣ）として実施される。スイッチングは、二次テンプレート部分（ＳＴＰ）としてインストールされた非常に限定された命令セットを有するマイクロプロセッサの制御のもとで実行され、従って、それがマリシャスコードを実行し又はその実行を許すことはできない。
【０１４１】
本書のどこかで説明するように、保護記憶装置は、任意の形式又は形式の組み合せの記憶装置又はメモリ上又はその中で実施することもできる。一実施形態において、外部及びポータブル保護記憶装置に対する構成がなされ、例えば、ユーザがクレジットカードサイズの記憶装置（例えば、フラッシュメモリカード、ＵＳＢメモリ装置、ソニーＭｅｍｏｒｙＳｔｉｃｋ、ＰＣカードベースのメモリ、又は他の形式の記憶装置）にそれらの保護記憶装置を有して、そのサポートコンピュータ又は装置の１つにそれを差し込むことができる。一実施形態では、アーキテクチャー、システム及び方法は、任意の隠れたそして保護されたバックアップ記憶システムを提供する。
【０１４２】
制御及びスイッチング計算環境
次に、システム２１００の他の計算環境のオペレーションを制御及び整合する役割を果たす（ユーザインターフェイス計算環境２１０８−１からの貢献で）制御及びスイッチング計算環境（ＣＳＣＥ）２１０８−２について説明する。若干簡単に言えば、スイッチがソースを行先に接続する。システム２１００のある実施形態では、データ記憶装置スイッチシステムの特色がサポートされ、このような特色は、選択されたソースと行先との間の通信経路の構成を更にサポートすることができる。少なくともある実施形態において、ＣＳＣＥ又は他の制御計算環境は、任意の周辺機器を任意の計算環境へスイッチして結合する能力を有することに注意されたい。
【０１４３】
計算環境２１０８−２は、ユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１から入力を受け取り、そして保護記憶装置計算環境（ＰＳＣＥ）２１０８−３のスイッチ２２５０（例えば、スイッチセットＳＷ１  ２２５１、ＳＷ２  ２２５２、及びＳＷ３  ２２５３）を動作すると共に、他の各計算環境２１０８と対話して、スイッチを作動し、計算環境のプロセッサ（例えば、ＣＰＵ）と記憶装置（例えば、ＳＴＰ及びＴＤＰ）との間の接続又は通信を結合又は分離（イネーブル又はディスエイブル）する。スイッチ制御は、例えば、電気的接続及び信号又は電圧レベル、或いは電気的信号又はレベルのセットにより若干直接的であってもよいし、制御及びスイッチング計算環境２１０８−２から信号を受信する計算環境内のプロセッサ、ＣＰＵ、ＡＳＩＣ、又は他の回路又はロジック素子により間接的であってもよいし、或いはこれら直接的及び間接的アーキテクチャー及び方法の組合せでもよい。
【０１４４】
制御及びスイッチング計算環境２１０８−２の実施形態に示すように、これは、システムスイッチングコントローラユニット２１３８を備え、該ユニットは、利用可能なコンピュータリソースを含む計算システム２１００の現在状態及びコンフィギュレーションを考慮に入れて、ユーザ入力及びコマンド又はシステムアクティビティ及び事象に応答してＵＩＣＥ２１０８−１からコマンドを受け取る。ある実施形態では、スケジューリング及び要素優先順位決め並びに利用裁定もこのシステムスイッチコントローラ２１３８により与えられる。スイッチコンフィギュレーション及び状態、並びに他の情報及びデータは、スイッチコンフィギュレーション情報記憶装置２１３９に記憶することができ、この記憶装置は、１つ以上のバス、インターフェイス、又は通信回路を経て、システムスイッチコントローラ２１３８に作動的に結合される。
【０１４５】
この実施形態では、ＣＳＣＥ２１０８−２は、１つの、そしてより一般的には、１セットの信号２１８０をＵＩＣＥ２１０８−１から受信する。これらの信号は、一般に、ユーザ要求入力をＵＩＣＥ２１０８−１へ通信して、その要求を実行するようコンピュータシステム２１００の他の要素を構成できるに充分なものである。例えば、ユーザは、起動を予想するＵＩＣＥデスクトップのＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄアイコン、又はＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄワード処理プログラムのインスタンスをマウスクリックすることができる。ＵＩＣＥ２１０８−１は、外部の人間のユーザ２１２９に、ＵＩＣＥ２１０８−１及びその要素（例えば、ＣＰＵ２１２０及び記憶装置２１２１）が、Ｗｉｎｄｏｗｓ２０００オペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ２０００、及びユーザが編集を希望するドキュメントをインストールしたことを提示するよう構成されるが、実際には、それらをもたなくてもよく、そして他のコンピュータシステム要素の中でも、オペレーティングシステム、アプリケーションプログラム、及びユーザデータファイルに対するポインタ、リンク、エイリアス又は他のレファレンスを単に与えるだけでよい。
【０１４６】
特に、Ｍｉｃｒｏｓｏｆｔオペレーティングシステム、及びＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄアプリケーションプログラムは、ＭＴ２１４８として存在し、そしてＰＳＣＥ２１０８−３の保護記憶装置ＭＴＰＳ２１４２内に記憶される。ユーザのワード処理ドキュメントは、もし存在して、新たに生成されない場合には、保護記憶装置ＵＤＰＳ２１４９に記憶されてそこから検索することができる。
【０１４７】
システム「ブレーン(brain)」とも称される制御及びスイッチング計算環境（ＣＳＣＥ）の構造及びオペレーション特性の幾つかを説明したが、ＣＳＣＥのある特定の実施形態に関与する幾つかの機能及びオペレーションの部分リストを示す。これら機能の全部をＣＳＣＥ（又は以下に述べる実施形態ではＣＣＥ）により実行する必要があるのではない。特定の機能及びオペレーションは、コンピュータシステム全体、ＣＳＣＥ（又はＣＣＥ）、及び他の計算環境の実施に依存することが明らかであろう。
【０１４８】
本発明のある実施形態では、ＣＳＣＥは、スタートアップ（又はリセット）時にそれ自身のオペレーティングシステム（ＯＳ）をロードし、そのロード後に、システムの残り部分によりイネーブル又はサポートされるオペレーション又は機能（の幾つか又は全部）が編成される。本発明のアーキテクチャー、システム及び方法は、オペレーティングシステム中立であり、既知のオペレーティングシステムのいずれを本発明に使用してもよく、又、使用するように適応してもよい。異なるオペレーティングシステムをシステムの異なる計算環境に使用して、希望があれば、コンピュータシステムが異なるオペレーティングシステム及びそのオペレーティングシステムに適したアプリケーションプログラムの組を動作できるようにしてもよい。本発明のある実施形態では、例えば、ユーザ分離計算環境が特定の処理機能又はオペレーションを遂行するように指定されたときに、コンピュータシステムハードウェアがオペレーティングシステム及び意図されたオペレーションをサポートできる限り、オペレーティングシステムがロードされたと動的に決定されてもよい。
【０１４９】
本発明のある実施形態は、異なる計算環境に対して異なるオペレーティングシステムを使用し、そしてこのようなオペレーティングシステムは、システムのニーズ、ユーザ選択された処理タスク、データの性質、又は他のファクタに基づいて、タスク又は時間の関数として予め決定されてもよいし又は動的に決定されてもよい。例えば、既知の又は発表されているＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ９８、ＷｉｎｄｏｗｓＮＴ、Ｗｉｎｄｏｗｓ２０００、ＷｉｎｄｏｗｓＸＰ、並びにその改良、改善及び拡張）、Ｌｉｎｕｘ、Ｕｎｉｘ、Ａｐｐｌｅオペレーティングシステム、種々のディスクオペレーティングシステム（ＤＯＳ）、或いは他の特殊な又は所有権のあるオペレーティングシステム又は制御プログラムを、それらが意図されたオペレーション及びそのオペレーションに対する装置をサポートする限り、種々の計算環境に使用することができる。
【０１５０】
本発明の、必ずしも全部ではないが幾つかの実施形態では、ＣＳＣＥオペレーティングシステム又はアプリケーションプログラム（又はこれら２つの組合せ）は、例示のための部分的なリストに過ぎない以下の機能（の幾つか又は全部）を制御し又は編成するという役割を果たすことができる。即ち、（ｉ）データ記憶装置（ＤＳＤ）接続スイッチングを行い；（ii）コマンドの受信及び／又は指令されたオペレーションの完了を任意に検証しながらコンピュータプログラムアプリケーション（又は適用できるときにはハードワイヤードオペレーション）を起動するためのコマンドを計算環境に送信し；（iii）クリック可能なウインドウ及び／又はカーソルの座標を追跡し；（iv）ウイルス又は他のマリシャスコードの修理及び検出、清掃、及び／又は駆除を実行し；（ｖ）テンプレート及び／又はマスターテンプレートのスイッチング、再フォーマット、消去、コピー、ここに述べるようなリセット、再ブート、及び他のオペレーションを実行しそして制御し；（vi）「分離されたグローバルなタスクバー」又はそれと同等のユーザアクセス可能なユーザ対話ツールを発生しそして表示する（或いは又、このタスクバー又はツールをデスクトップ及びインターフェイス計算環境により発生してもよい）。又、これら及び他の実施形態は、任意であるが、次の１つ以上を行うこともできる。即ち、（vii）「オープン」ダイアログスクリーンを設け；（viii）「セーブ」ダイアログスクリーンを設け；（ix）ネットワーク通信のスイッチングを行い（例えば、「ｎｅｔｌｏｃｋ」オペレーションの説明を参照されたい）；（ｘ）通信環境からセキュア信号を受信し；（xi）通信環境が生成された順序、及び／又は現在通信環境の順序又は優先順位を追跡し；（xii）異なる計算環境への及びそれらの中でのマウス及びキーボードのスイッチングを行い；（xiii）異なる計算環境への及びそれらの中での他の入力／出力又は周辺装置のスイッチングを行い、（xiv）ｅメールアクセス及び処理を整合させ；及び／又はこれら機能の他の組合せを実行する。
【０１５１】
一実施形態において、ＣＳＣＥは、種々の計算環境における処理アクティビティ（ＣＳＣＥ自体における処理アクティビティを含む）に関連したビデオ信号を制御し、整合し、及び／又は処理するという役割も果たすことができ、或いはこの目的のために個別の計算環境又はビデオ処理ユニット又はロジック回路又は他の手段を使用することができる。個別のビデオプロセッサ又はコントローラが使用されるときには、ＣＳＣＥは、一般に、他のシステム要素とのそのオペレーションを整合しそして編成するという役割を果たし得るが、ある実施形態では、ビデオプロセッサ又はコントローラがシステムのＣＳＣＥ又は他の制御に参加してもよい。
【０１５２】
ここでの説明に鑑み、ユーザ計算環境（潜在的に汚染されたファイルがオープンされて実行されることがある）が制御計算環境から分離されるが、既知のクリーンなデータ又はコンピュータプログラムに対して個別の計算環境として動作するユーザインターフェイス、制御及びスイッチング、保護記憶装置、ビデオプロセッサ、並びに他のオペレーション及び機能の説明は、若干人為的であり、主として例示のためのものであることが明らかであろう。本発明の実施形態は、種々の非ユーザデータ制御又は処理環境、並びにこれら制御機能が合成される実施形態の分離を与えることに注意されたい。幾つかの組み合せを一例として詳細に説明するが、異なる制御又は管理機能及びオペレーションの他の組合せも本発明の他の原理と一貫してサポートされることを理解されたい。
【０１５３】
又、異なる計算又は処理環境、或いは特定の又は１組の処理又は計算環境内の異なる時間に対して、異なるレベル又は程度の分離が要求され又は許されることも明らかであろう。例えば、ウイルス又はハッカーコードが、このようなコードを実行し得るプロセッサ及びコードに露出されることのある計算環境において、未知のファイル又はデータセットをオープンして処理すべき状況では、そのファイル又はデータセットと「外界」との観の分離が絶対的なもので、ユーザ分離された計算環境内に含まれる。この絶対的分離は、特定のユーザ計算環境及び他のユーザ計算環境と、制御環境との間である。
【０１５４】
他の状況においては、分離の程度又はレベルは、コンピュータ又はユーザにとって全く有害でないか或いは許可された程度の有害さしか許容できないように、制限されてもよい。これは、一種のユーザ又は管理者のオーバーライドを表わすもので、システムのより寛大な使用を許す幾つかのポリシー及びルールを設定することができる。例えば、コンピュータシステムが、現在のウイルス防止ソフトウェア、ファイアウオール、及び会社の情報テクノロジー（ＩＴ）部門により設けられる他の保護を伴うイントラネットの社内計算環境の中で通常に使用される場合には、フィルタ作用が既に設けられているので、ｅメールの特殊な処理をディスエイブルすることが許されてもよい。他の実施形態は、ネットワーク又は計算環境が一般的に信頼し得るときには全ての分離をオーバーライドすることができる。この寛大なオーバーライドは、全ての実施形態において参照されないが、本発明のアーキテクチャー、システム及び方法により与えられる融通性を示す。それ故、異なるレベル又は程度の分離を与えることができ、本発明は、ある程度の非分離もオーバーライドも許されないアーキテクチャー、システム、方法又は手順に限定されるものではないと解釈されるべきであることが明らかであろう。
【０１５５】
異なる計算環境からのビデオ（デジタル又はアナログ）の処理に対して遂行されるオペレーションは、例えば、モニタ又はディスプレイ装置に表示するために多数の計算環境からの出力（例えば、信号２１８７−１、・・・２１８７−５、・・・２１８７−Ｎ）を合体し、さもなければ、合成し、又はフォーマットすることを含むが、これに限定されない。種々の初期又はデフォールト条件のいずれも実施できるが、一実施形態では、ブーティングの際のデフォールト設定は、計算環境のビデオ信号をディスエイブル即ちターンオフすることである。というのは、いずれの非割り当て計算環境でも、何らかのシステム又はユーザ開始アクティビティが指令されるまで、アクティビティがあってはならないからである。或いは又、ＣＳＣＥ（又は他のエンティティ）がビデオ信号をターンオン／オフ又はイネーブル／ディスエイブルしてもよい。
【０１５６】
ある実施形態では、計算環境からのビデオ出力の「処理」は、例えば、単一のモニタに「積層（layering）」作用を与えるように達成される。例えば、最も最近のアクティブな計算環境は、常に、「最上位」（又は「前部」）層へ移動することができ、さもなければ、所定のルール又はポリシーに基づいて処理される。ＣＳＣＥは、それ自身がこのプロセスに対して直接責任を負うものでない場合には、このプロセスを制御し及び編成することに貢献してもよい。例えば、ＣＳＣＥは、どの「層」を「前部」に置くか、及び種々の計算環境からのビデオ出力をいかに合体するかを決定する上で助けとなるようにビデオコントローラに１つ以上のコマンドを送信することができる。ＣＳＣＥがこの情報を有する理由は、それが、層、アクティブな計算環境、非割り当て又はインアクティブな計算環境、ウインドウの位置、マウスクリックを決定するような他の目的に対するマウス又はポインティング装置のカーソル座標及び位置並びに切り換えに関する情報のデータベースを維持するからである。
【０１５７】
ビデオグラフィックカード又はビデオサブシステムが信号を連続的に送信する（「黒」又は空のスクリーンに対しても）実施形態のようなある実施形態では、ビデオ信号をビデオコントローラにおいてターン「オン／オフ」又は「イネーブル／ディスエイブル」することができる。或いは又、ＣＳＣＥ又はビデオコントローラは、計算環境が非割り当て又はインアクティブであるときにその特定の計算環境からのこの信号を「無視」するように単に指令される。換言すれば、計算環境のビデオカード（個別のカード又はチップであるか、プロセッサ又は他のロジック回路に一体化されるかに関わらず）は、任意であるが、ビデオ信号を常に「ポンピングアウト」することができ、或いはＣＳＣＥ又は他のビデオコントローラは、アクティブな処理環境をとなったときにそのようなビデオ信号を出力させることしかできない。これは、有利にも、電力消費及び発熱を減少し、そしてシステム及びその要素の寿命を延長するという効果を奏する。又、ＣＳＣＥは、計算環境からのどんなビデオ入力を処理すべきか、又、各ビデオ入力に対してどんな情報を使用すべきか、及びどんな情報を無視してもよいか知らせるための信号をビデオコントローラ又はプロセッサ（存在するとき）へ送出することができる。例えば、各計算環境に対するデスクトップの部分は、それが二重のものであるか又は計算環境における実際のアクティビティを表わしていないときには、抑制されてもよい。
【０１５８】
分離された処理ユニット計算環境
又、システム２１００は、１つ又は複数の他の非割り当ての分離された処理ユニット（ＩＰＵ）計算環境（ＩＰＵＣＥ）又はシェル、例えば、ＣＥ２１０８−４及びＣＥ２１０８−５も備え、これは、図９の実施形態では、ＣＰＵ（２１６０、２１７０）と、ＳＴＰ（２１６２、２１７２）及びＴＤＰ（２１６３、２１７３）を含む記憶装置（２１６１、２１７１）と、インターフェイス（２１６９、２１７９）と、記憶装置とＣＰＵとの間を結合又は分離（通信をイネーブル又はディスエイブル）するためのスイッチ（２１６４、２１６５、２１７４、２１７５）と、を各々備えている。
【０１５９】
オペレーティングシステム、アプリケーションプログラム、ユーザデータファイルのこの組合せと、ＣＳＣＥ２１０８−２の制御のもとでＵＩＣＥ２１０８−１を経てそれらオペレーティングシステム、アプリケーションプログラム及びユーザデータファイルをサポートし且つ相互作用する計算ハードウェアは、ユーザデータを伴う選択されたＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄプログラムの保護及び分離された処理を可能にする。
【０１６０】
動作上、ＵＩＣＥは、必要なデータを含むコマンドを、信号２１８０を経て、ＣＳＣＥ２１０８−２へ送信する。ＣＳＣＥは、システム２１００のリソースの現在の指定、及びシステムコンフィギュレーションに対する他のルール又はポリシーを考慮して、これらの信号を受信し、適当な計算環境、例えば、計算環境２１０８−４を選択する。本発明の他の実施形態は、コンピュータの製造時に物理的に接続されなくても、且つコンピュータシステム２１００のハードウェア内に隣接配置されなくても、コンピュータ要素としてアッセンブルすることのできる個別要素（例えば、ＣＰＵ及び記憶装置）の動的な割り当てを与える。
【０１６１】
計算環境２１０８−４が、ＣＳＣＥ２１０８−２により選択され、より詳細には、システムスイッチコントローラ（ＳＳＣ）２１３８内のルールポリシー又はアルゴリズムにより選択されると、ＳＳＣは、１つ以上の信号２１８６−４をＣＥ２１０８−４に送信して、識別されたユーザドキュメントファイルと共に、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ２０００オペレーティングシステムのもとでＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ処理プログラムを遂行するためにそれが割り当てられたことを通信する。ＣＥ２１０８−４は、任意であるが、あるハンドシェーク又は他の通信プロトコル、即ち単一の論理電圧レベルと同程度の単純な通信プロトコルのもとで、通信を受け取ったことを確認する。それ故、信号２１８６−４（１つ又は複数）は、単一方向性でも、両方向性でもよい。又、ＳＳＣ２１３８は、１つ以上のスイッチ制御信号２１８１をスイッチ２２５０へ通信する。例えば、スイッチ制御信号２１８１−１、２１８１−２及び２１８１−３は、希望の記憶装置アクセスを許すように１つ以上のスイッチＳＷ１、ＳＷ２及びＳＷ３を構成する。これらの同じスイッチは、任意であるが、ＳＳＣからの通信を効果的に確認し、そしてスイッチが意図された協働に対して適切なコンフィギュレーション（例えば、オープン又はクローズ、或いはイネーブル／ディスエイブル）にあることを指示するために状態を返送することができる。同様に、スイッチ２２５０は、データ形式送信準備完了通信を、記憶装置２１６１のＳＴＰ２１６２及び／又はＴＤＰ２１６２のようなターゲット行先へ送信することができ、これらは、任意であるが、データ形式受信準備完了状態信号をスイッチ２２５０へ望ましい仕方で指示することができる。
【０１６２】
より詳細には、このワード処理の例において、ＳＷ１  ２２５１は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ２０００オペレーティングシステム及び少なくともＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄアプリケーションプログラムを含むマスターテンプレートの全部又は選択された部分の通信を可能にする。或いは又、ある実施形態では、オペレーティングシステム及びアプリケーションプログラムが個別のソースから別々に与えられてもよいことに注意されたい。更に別の実施形態では、オペレーティングシステムを計算環境内に設けて、そのたびに通信する必要がないようにするか、ＳＴＰ２１６２に記憶して、そのたびに通信する必要がないようにするか、或いは結合されたＲＯＭ内に設けるか、又は他の仕方で設けてもよい。しかしながら、ＳＴＰが使用後にクリアされない場合には、ＳＴＰにマリシャスコードが書き込まれた場合に汚染の可能性が生じるが、読み取り専用メモリ即ちＲＯＭから検索される場合には問題とならないことに注意されたい。
【０１６３】
パラレル（設けられた通信経路が多数のアクセス経路をサポートするのに充分である場合）又はシリアル（通信経路２１８７が多数のアクセス経路をサポートするのに充分でない場合）のいずれかで、ＳＷ１  ２２５１は、ＭＴＰＳ２１４２をＳＴＰ２１６２に接続するように構成され、その際に、ＳＴＰ２１６２は、要求されたコンピュータプログラムコードを受け取る。同様に、ＳＷ２  ２２５２は、ＵＤＰＳ２１４３からの識別されたユーザドキュメントファイルをＴＤＰ２１６３にコピーできるような通信経路を与えるように構成される。コピーオペレーション中にアクセスできるハードウェア／ファームウェア／ソフトウェアは、マリシャスコードの実行を許すに充分なものでないことを想起されたい。例えば、ソースから行先へビットをコピーするように適応されるハードウェアのみのコピー回路は、ウイルス、ハッカー又は他のマリシャスコードにより崩壊されることがなく、ソースからビットを捕え（又は読み取り）そしてビットを行先へ複写（又は書き込み）するだけであるようにされる。ソースと行先との間のバッファは、フィルタ又はリミッタのように、任意に使用されてもよい。又、コピーオペレーションに対して、ソフトウェア及び／又はプログラム可能なハードウェアを使用してもよいが、このようなコピー手段の能力は、システム又は計算環境の免疫性を妥協させる意図されない変更の汚染から効果的に保護される。望ましくは、コピーオペレーションは、他の解釈を伴わない２進ビット又はビットのセットのコピーのみであるが、本発明は、この条件により制限される必要はなく、他の保護手段を使用して、マリシャスコードの考えられる実行を防止できるのが望ましい。
【０１６４】
一実施形態において、データをコピーするプロセスは、「ダム」であり、即ちコピーされるデータを実行できないように制限され、従って、そのデータ記憶装置のデータがマリシャスコードによりダメージを受けることはない。例えば、データを移動又はコピーするために、それをエンコードすることができ、或いは限定された機能をもつＡＳＩＣを使用するか、或いは直接メモリ転送、又はデータを移動又はコピーする他の方法を使用することができ、これは、ビットシーケンスの幾つかの実行可能なコードを含むデータの実行を許さないものである。任意であるが、分離されたワーキングシステム（１つ又は複数）及び分離され又は保護された記憶システム（１つ又は複数）にアドレスできるか又はそこへアクセスできる制御システムによりコピー動作を編成することもできる。
【０１６５】
記憶システムにおいてオープンすべきファイルを選択すると、記憶システム又はソース（ＵＤＰＳのような）からワーキングコンピュータ環境（ＩＰＵＣＥ２１０８−４のＳＴＰ２１６６のような）へファイルをコピーするプロセスを開始することができ、スイッチ２２５０を経てのＵＤＰＳ２１４３との接続を終了した後に、データ又はファイルをオープンし、ＣＰＵ２１６０への露出を許すことができる。ワーキング計算環境にファイルをセーブすると、記憶システムへファイルをコピーするプロセスを開始することができる。ワーキング計算環境においてファイルを断念すると、新たな又は更新されたファイル或いはデータセットを行先記憶システム（例えば、ＵＤＰＳ２１４３）へコピーするか又は書き込み、そしてソース記憶システム（例えば、ＴＤＰ２１６１）において削除する（望ましくは物理的に消去する）プロセスを開始することができる。「コピー(copy)」又は「複数のコピー(copies)」又は「コピーする(copying)」という用語は、広い意味で使用することができ、アルゴリズム、スナップショット、圧縮データ、ビットごと、暗号化、エンコード等を含むが、それらに限定されない。
【０１６６】
又、分離された計算環境は、分離された計算環境（又はＩＣＥ内のある要素）のステータス即ち状態を識別するフラグ又は他の情報又は指示子２１９１を制御及びスイッチング計算環境２１０８−２へ送信し、さもなければ、通信することができる。このようなステータス又は状態は、オペレーション準備完了状態、処理完了状態、ファイルコピー又はセーブ準備完了状態、リセット状態、及び／又は制御環境が必要とするか又は使用できる他のデータ又は情報、の１つ又はその組合せを含んでもよい。
【０１６７】
又、分離された計算環境は、異なる計算環境ウインドウを単一のディスプレイ装置（このような単一のディスプレイが望まれる場合）に合成又は合体するために、制御環境２１０８−２及び／又はデスクトップ及びユーザインターフェイス計算環境２１０８−１により（又はＣＳＣＥで制御される個別のビデオグラフィックプロセッサ又はビデオディスプレイユニットにより）使用するためのウインドウｘ−ｙ座標、及び任意であるが、ウインドウ寸法２１９２を送信するか、さもなければ、通信することができる。又、通信ライン又はリンク２１９１、２１９２は、単一ライン又はリンクにわたって共有されてもよい。更に、本明細書のどこかに述べた種々の特色を、通信ライン又はリンクを経て通信することができる。
【０１６８】
これら及び他の通信経路、通信リンク、又は信号ラインは、情報、データ、２進ビット等の形式、シーケンス、数又は量を制限して、１つの計算環境と別の計算環境との間の感染のおそれを更に減少するために、本明細書のどこかで述べたフィルタ又はリミッタを取り付けることができる。これらのフィルタ及びリミッタは、本発明の他の実施形態について詳細に説明する。
【０１６９】
オペレーティングシステム、アプリケーションプログラム及びユーザデータの適当な組合せがＣＥ２１０８−４に存在すると、ワード処理オペレーションを開始することができる。ファイルは、ワード処理プログラムを出るまでＴＤＰ２１６３内にセーブすることもできるし、又は適当に構成されたスイッチＳＷ３  ２２５３を経てＵＤＰＳ２１４３への書き込みオペレーションと共に中間セーブを使用することによりセーブすることもできる。
【０１７０】
好都合なことに、ＭＴＤＳ２１４２又はＵＤＰＳ２１４３と記憶装置（例えば、ＳＴＰ２１６４又はＴＤＰ２１６３）との間で読み取り又は書き込みオペレーションが行われるときに、ＣＰＵ２１６０が記憶装置から分離されるか又はディスエイブルされ、従って、ＭＴＤＳ２１４２又はＵＤＰＳ２１４３は、マリシャスコードの実行を許して保護記憶装置ＭＴＤＳ２１４２又はＵＤＰＳ２１４３を汚染するような仕方でＣＰＵ２１６０に露出されることは決してない。
【０１７１】
ワード処理が完了しそして新たな又は編集されたファイルが保護記憶装置へ書き戻されると、信号又は状態変化或いは「フラグ」又は他の指示、及びそれに続くＣＳＣＥからの命令、ＳＴＰ２１６２及びＴＤＰ２１６３のコンテンツがクリアされそして消去される。このクリア又は消去は、例えば、記憶媒体にオーバーライトするか、又はマスターブートレコード又はパーティションテーブルを再フォーマットすることによる実際の消去でなければならず、従って、そこに記憶された最後のデータセットに存在したかもしれないマリシャスコードが他のファイル又はデータセットへと広がることはない。これは、実際の消去ではなく削除されるファイルへの参照を除去するようにディレクトリーを単に更新するだけのほとんどの従来のシステムとは相違する。使用する記憶空間、好ましくは、アクセス可能な記憶空間全体を消去する要望から、ハードディスクドライブ記憶装置のような低速の電気機械的記憶装置よりも、高速ソリッドステートメモリが望ましいものとなる。又、これは、計算環境内でアクセスできる記憶空間の量を著しく減少させる。ある実施形態において、異なるサイズの記憶空間を動的に割り当て、プロセスがより多くのメモリを必要とするにつれてアクセス可能なメモリを追加し、そしてソリッドステートメモリと、大きくて低廉なハードディスクドライブ記憶装置の両方を構成する能力が得られる。
【０１７２】
この点までの説明を熟考すると、ウイルスで汚染された保護記憶装置ＵＤＰＳ２１４３に存在したユーザデータがウイルスと共にＣＥ２１０８−４へと移動し、次いで、計算環境内のウイルスコードの実行をサポートし得るオペレーティングシステム及びＣＰＵ２１６０へ露出される状況が明らかとなる。
【０１７３】
例えば、ウイルスがＣＰＵ及びオペレーティングシステムに露出されたがその実行日付条件が満足されないといった何らかの理由でウイルスが実行されない場合には、ウイルスが、それを含むファイルと共に、又は新たなそして独立したファイルとして、保護記憶装置ＵＤＰＳ２１４３へ返送される。この場合に、特定の計算環境２１０８−４も、システム２１００全体としても、ウイルス（又は他のマリシャスコード）に露出されたことにより被害を受けることはない。
【０１７４】
他方、ウイルス（又は他のマリシャスコード）が計算環境２１０８−４内にある間に実行されて、爆発するか、さもなければ、ＣＰＵ、ＣＰＵ関連ＲＡＭ、又は他のメモリ、及び／又はＳＴＰ２１６２又はＴＤＰ２１６３記憶装置を汚染する場合にも、その有害な作用は、分離された計算環境２１０８−４に限定される。このアーキテクチャー及び処理システム並びに方法には、ウイルス又は他のマリシャスコードがシステム２１００の他部分へ脱出してシステム２１００或いは保護記憶装置ＭＴＰＳ２１４２又はＵＤＰＳ２１４３内のデータを汚染させる経路は設けられていない。たとえウイルス汚染されたファイルが保護記憶装置ＭＴＰＳ２１４２又はＵＤＰＳ２１４３へ返送されても、他のオペレーティングシステム、アプリケーションプログラム又は他のデータファイルが汚染されることはない。というのは、ＰＳＣＥ２１０８−３が、データに含まれたビットパターンを実行できるプロセッサを備えておらず、それらは、単に「０」及び「１」ビットであり、その計算環境内でプログラム的な意味をもたないからである。この場合も、ビットが露出される唯一のオペレーションは、コピーしか実行できないハードウェア、ソフトウェア、及び／又はファームウェアによるダムコピーオペレーションであり、それ以上あっても僅かであることを想起されたい。ウイルスがＰＳＣＥ以外の計算環境２１０８にある間に実行される場合には、ファイルのコピーにダメージを及ぼしたり破壊したりすることがあるが、ＰＳＣＥにおけるオリジナルデータ又はファイルは、依然として完全なものである。明らかに、ウイルス又は他のマリシャスコードの存在が発見されると、ウイルスを清掃又は駆除して、ウイルス汚染されたバージョンを、清掃されたバージョンに置き換えるステップを取ることが望ましい。このようなウイルス又はマリシャスコード検出及び／又は清掃オペレーションは、実際には、分離された計算環境において、ファイルの清掃されたコピーが保護記憶装置に返送される前に、ファイルのコピーに対して実行されるプロセスの１つである。オーバーライト以外のバージョンとしてファイルをセーブすることは、別の記憶オプションである。
【０１７５】
マリシャス感染ファイルでも安全に処理することのできる構造的及び動作的特徴を説明したが、以下、本筋から離れて、人間ユーザ２１２９に対するグラフィック表示又はディスプレイスクリーン表示について説明する。説明上、コンピュータシステム２１００がウインドウ付きシステムであって、ディスプレイサブシステムの個別のウインドウに各プロセスを表示できると仮定する。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、Ｕｎｉｘ、Ｌｉｎｕｘ、Ａｐｐｌｅ  Ｍａｃｌｎｔｏｓｈ  ＯＳ及び他の通常のオペレーティングシステムのようなオペレーティングシステムは、このようなウインドウ及び構造と、共通のディスプレイの個別のウインドウに各プロセスの表示を与える技術とをサポートする。それ故、各計算環境は、従来のマルチタスクウインドウ付きシステムに良く似たウインドウ付きマルチタスク処理システムを与えるようにビデオディスプレイサブシステム２１９２により処理されるディスプレイスクリーン又はグラフィック出力２１８７を備えている。キーボードボタンの押圧及びマウスをアクティブなプロセス又はウインドウに割り当てることにより、キーボード２１９０及びマウス２１９１又は他のポインティング装置を経て入力／出力が同様に与えられる。ユーザ２１２９、又はある状況では、システムそれ自体が、選択されたウインドウ又はアクティブなウインドウを識別し、そしてキーボード及びマウスアクションが追跡されて、その選択されたプロセスに識別される。本質的に、キーボード、マウス又はポインティング装置、並びに表示プロセスは、ＵＩＣＥ２１０８−１及びＣＳＣＥ２１０８−２によりアクティブなウインドウ又は他の識別されたアクティブなプロセスに割り当てられる。
【０１７６】
同様に、コンピュータシステム内の他の各々の装置又は周辺機器は、フロッピーディスクドライブ、ＵＳＢポート及びこれらポートを経てアタッチされたＵＳＢ周辺装置、モデム、ネットワークインターフェイス回路又はカード（ＮＩＣ）、モデム、ＣＳＣＩインターフェイス及び装置、ＰＣカードスロット及びインターフェイス、並びにこれらインターフェイスを経て接続された装置、ＣＤリーダー／ライター、ＤＶＤリーダー／ライター、スキャナ、プリンタ、オーディオシステム、マイクロホン、スピーカ、シリアル又はパラレルインターフェイス、及びこれらインターフェイスに結合された装置、カメラ、レコーダー、並びにコンピュータ又は情報機器に結合できる他のＩ／Ｏ又は周辺装置又はシステムの１つ以上を含むが、これらに限定されない。
【０１７７】
本発明のアーキテクチャー、システム及び方法は、コンピュータ（これに限定されない）のようなプロセッサ、ＰＤＡ、移動通信装置及び電話、セルラー電話、デジタルカメラ、ビデオレコーディング装置、ナビゲーション及びマッピングシステム、自動車エンジン管理システム、航空機ナビゲーション及び誘導システム、ネットワークサーバー及びルーター、デジタル及びＨＤＴＶテレビ受像機及びプロセッサ、セキュリティシステム、並びにあらゆる他の電子装置及びシステムであって、プロセッサを組み込んでいて、ウイルス、スパイウェア、ボット、コンピュータハッカー、及び他のマリシャスコードを受け易いものを有する装置及び機器のセットに適用できることを想起されたい。又、完全にデバッグされていないコンピュータコードの実行に関連した偶発的な問題も、システムをテストし、デバッグし、さもなければ、分離されたコンピュータ環境の１つにおいて利用した場合に、コードの欠陥がシステムの他部分に有害な影響を及ぼすのを防止する仕方で取り扱いできることも想起されたい。それ故、考えられる入力装置、出力装置、入力／出力装置、及び周辺機器のセットは、広範囲な様々なセットであり、従来のデスクトップ又は移動ノートブックコンピュータに通常関連した装置に限定されない。周辺装置は、例えば、本発明の原理により形成される情報システムにより制御又は監視される自動車又は航空機である。
【０１７８】
又、ここでの説明に鑑み、これらの種々の周辺機器がＵＩＣＥ２１０８−１のデスクトップ環境に見られるが、これらの周辺機器に実際にアクセスする（キーボード及びマウスを越えて）プロセスは、周辺機器へのアクセスを要求する他の分離された処理環境の１つから派生し、或いは更に好ましくは、周辺機器と対話する新たなプロセスを生み出し又は開始し、そしてＵＤＰＳを経て記憶され共有されたデータを介して、周辺装置又はサブシステムにデータを与えるか、さもなければ、それと対話することが明らかであろう。
【０１７９】
ユーザインターフェイス、制御＆スイッチングの機能を合成する別の実施形態及び保護記憶装置計算環境
制御及びユーザインターフェイス計算環境２１０８−１、スイッチング計算環境２１０８−２、並びに保護記憶装置及び読み取り／書き込み計算環境２１０８−３により遂行されるオペレーション及び構造について説明したが、この説明に鑑み、これらのオペレーションは、分離されたユーザ計算環境、例えば、図１０の実施形態では分離された計算環境２１０８−４又は２１０８−５とは個別の単一の計算環境において結合して実行できることが明らかであろう。特に、このようなアーキテクチャー及びシステムコンフィギュレーションは、結合されたブロックが、ユーザデータ及び／又は信頼性のないコードを実行する能力をもたず、且つ分離された計算環境へデータ又はプログラムを実行のために移動又はコピーする等のオペレーションしか行えず、それらをオープンも実行もできない限り、本発明のシステム及び方法の効果の少なくとも幾つかを与えることができる。ある実施形態では、制御エンティティへの信頼性のあるアクセスしか許されない（複数の計算環境の間で分配されるか又は結合されるかに関わらず）。例えば、実施できるルール及びポリシーに基づいて、キーボード及びマウス入力は、信頼性のある入力又は対話媒体として処理できる。コンピュータ又は装置をターンオン又はパワーオンし、それにログインするための標準的なセキュリティ手順、例えば、パスワードや生物測定は、システムにアクセスし、ひいては、キーボード及びマウス入力をおそらく入力するユーザが許可され且つ信頼される付加的な保証を与えるために実施することができる。
【０１８０】
動的に構成可能なシステム要素を伴う別の実施形態
動作、制御、インターフェイス及び保護特徴の幾つかを示す１つの特定の多計算環境実施形態について説明したが、共通の１組の計算環境を使用して、ワード処理、ｅメール、インターネットブラウジング又は他のオペレーションを遂行するように構成できる特定の１組のユーザインターフェイス計算環境（ＵＩＣＥ）、制御及びスイッチング計算環境（ＣＳＣＥ）、保護記憶装置計算環境（ＰＳＣＥ）、及び他の計算環境（ＣＥ）を実施するような別の実施形態について説明する。
【０１８１】
図１０には、データ又は他の情報を処理するための別の実施形態のシステム２２００が示されている。図９について上述した実施形態２１００と同様に、このシステム及びアーキテクチャー２２００は、システムを構成しそしてシステムを操作するための方法及び手順と共に、１つ以上のプロセッサ、コントローラ、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）、ＡＳＩＣ、ロジック回路、又は電子データを処理する他の手段を従来から含む広範囲な種々の電子装置セットに適用することができる。
【０１８２】
説明の便宜上、種々の計算環境、周辺機器、スイッチ、制御ライン、及び他の信号のような幾つかの要素が、同じ又は同様のトポロジーで描かれ、そして同じ参照番号で示されている。本発明の原理を実施する仕方は多数あると共に、これらの説明及び図面（例えば、図９及び図１０の実施形態及びシステムコンフィギュレーション）の各々は、本発明によるシステムを実施しそして操作する仕方の一例に過ぎないことが明らかであろう。
【０１８３】
システム２２００は、デスクトップ及びユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１の処理ユニットと、制御及びスイッチング計算環境（２１０８−２）の処理ユニットと、保護記憶装置計算環境２１０８−３の処理ユニットと、２つの分離処理ユニット計算環境ＩＰＵＣＥ＃１  ２１０８−４及びＩＰＵＣＥ＃２  ２１０８−５とを備えている。図９の実施形態では、典型的な処理ユニット要素は、特定の処理ユニット２１０８−１、・・・２１０８−５、・・・２１０８−Ｎの希望のオペレーションを遂行するように図示して説明した。図１０の実施形態には、システム２２００の初期化、コンフィギュレーション及びオペレーションに必要とされる機能及びオペレーションを遂行するように複数のモジュラーユニットを動的に構成するのを許す共通の要素コンフィギュレーションが示されている。同一又は共通の要素は必要とされないが、意図されたオペレーション及び処理機能に基づいてソフトウェア、ファームウェア、及びユーザ又はシステムデータでカスタマイズされ又はされてもよい共通セットの要素を使用するのが効果的である。
【０１８４】
計算環境２１０８−１乃至２１０８−５間にこの一般的対応関係が与えられると、この説明は、実施の相違（もしあれば）及び／又は細部を強調する。
【０１８５】
デスクトップ及びユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１の処理ユニットを参照すれば、ＣＰＵ２１２０は、ここでは、この技術で良く知られたように、プロセッサ（ＰＲ）と、ＲＡＭの形態のプロセッサ結合メモリと、任意のプロセッサチップセット及びＢＩＯＳとを含むように示されていることに注意されたい。制御及びスイッチング計算環境（２１０８−２）のタスクを遂行できるプロセッサ、マイクロプロセッサ、中央処理ユニット、ＡＳＩＣ又は他のロジック回路の任意の形態が使用されてもよいことが明らかであろう。精巧で且つ複雑なデータ処理を遂行するために必要とされそして複雑なコンピュータプログラム命令を実行できるＣＰＵを必要とする全システム２２００に対しても、デスクトップ及びユーザインターフェイス計算環境（ＵＩＣＥ）２１０８−１の処理ユニットの「プロセッサ」は、非常に簡単な要素でよいことに注意されたい。
【０１８６】
制御及びスイッチング計算環境（２１０８−２）の処理ユニット及び保護記憶装置計算環境２１０８−３の処理ユニットについても、同じことが言える。実際に、ある実施形態では、制御及びスイッチング計算環境（２１０８−２）の処理ユニット及び保護記憶装置計算環境２１０８−３の処理ユニットの機能は、単一のユニット２１５５により遂行することができ、そして他の実施形態でも、マスターテンプレートコピースイッチ２１５１及び保護記憶装置コピースイッチ２１５２の機能及びオペレーションを単一ユニット２１５６に結合することができる。
【０１８７】
又、ＵＩＣＥ２１０８−１は、ＣＳＣＥ（２１８４Ａ−１）から制御信号２１８４Ａを、保護マスターテンプレート（２１８４Ａ−２）からオペレーティングシステム（ＯＳ）及び／又はアプリケーションプログラムを、そして保護記憶装置（２１８４Ａ−３）からデータを受信するものとして示されている。又、これは、データを保護記憶装置（２１８４Ａ−４）に返送することもできる。これら４セットの信号は、各々の計算環境に存在するものとして示されているが、明瞭さを保つために、全部の接続線が示されていない。ある処理オペレーションに対しては、全ての信号線が要求又は使用されるのではない。
【０１８８】
又、この実施形態は、ＵＩＣＥ、ＣＳＣＥ及びＰＳＣＥと協働して、異なる周辺機器を、それらを必要とする処理オペレーションに結合しそして利用可能とする割り当て機能も示している。少なくとも１つの実施形態では、キーボード及びマウス（或いは他のポインティング又は選択装置、例えば、タッチスクリーン）が他の計算環境に利用できると共に、デスクトップ及びユーザインターフェイス計算環境の処理ユニットに直接利用できることに注意されたい。
【０１８９】
任意のＡＳＩＣ２１２６も示されている。少なくとも幾つかの実施形態では、ＣＰＵ又はＡＳＩＣ（又は他のロジック回路）は、必要なインターフェイス処理能力を与えるのに充分であるが、モジュール性及び一般性のためのここではその両方を示す。
【０１９０】
制御及びスイッチング計算環境（２１０８−２）の処理ユニットを参照すれば、制御及びスイッチング計算環境の処理ユニット（ＣＳＣＥ）は、要素の同様のセットとして示されているが、プログラム及びデータに対する記憶装置のコンテンツは、通常、計算環境により与えられる機能及びオペレーションに基づいて異なることが明らかであろう。ＣＳＣＥ２１０８−２の場合には、一時的記憶装置２１４９は、Ｉ／Ｏスイッチコンフィギュレーションデータ２１５８、及びデータ転送又は読み取り／書き込みスイッチコンフィギュレーションデータ２１５９を含むものとして示されている。
【０１９１】
保護記憶装置計算環境２１０８−３の処理ユニットを参照すれば、この場合も、要素の同様のセットが示されている。マスターテンプレート及びユーザデータに対する保護記憶装置は、このユニットの一部分として示されている。オペレーティングシステム及びアプリケーションプログラム要素を含むマスターテンプレートの完全なコピー、又はある実施形態では、ユーザにより要求されることのある異なる処理オペレーションに適した多数のテンプレートのコピーは、この保護記憶装置２１４１に記憶されていた。ユーザファイル及びおそらくシステムファイルは、保護記憶装置ＵＤＰＳ２１４３に記憶される。保護記憶装置は、存在し得るユーザデータ（又はコード命令）を実行できるプロセッサ又はＣＰＵに露出されるべきではなく、従って、プロセッサ又はＣＰＵが設けられる場合には、それが保護メモリからディスエイブル又は切断されることを想起されたい。従って、スイッチ２１４４及び２１４５がオープンされるか、又はプロセッサをディスエイブルするための他のステップ、例えば、動作電圧を除去するか或いは動作に必要な動作クロック信号を差し控えるステップがとられる。これは、一般に、ソフトウェア及び／又はファームウェアとおそらく協働するＡＳＩＣ或いは他のロジック又は処理回路２１４６のような回路が、保護メモリに対して読み取り及び書き込みを行うと共にそれらの分離を維持するための処理能力を備えることを意味する。マスターテンプレートコピースイッチ及び保護記憶装置コピースイッチ（１つ又は複数）は、ＰＳＣＥの一部分でもよいし、又はそれとは個別であるが通信するものでもよいことに注意されたい。コピー（読み取り及び／又は書き込み）は、例えば、ＡＳＩＣ或いは他のロジック又は処理回路２１４６により実行することができる。
【０１９２】
２つの分離処理ユニット計算環境を参照すれば、ＩＰＵＣＥ＃１  ２１０８−４及びＩＰＵＣＥ＃２  ２１０８−５も、このモジュラー計算環境構造を維持する。これらの処理ユニットは、ワード処理、インターネットとの接続及び対話、セルラー電話コール受信、並びに音声コード化及びデコード動作、等を遂行するために求められる処理オペレーションの全スペクトルをサポートするＣＰＵを備えるのが好都合である。
【０１９３】
結合された制御及びユーザ分離計算環境を伴う実施形態
図１１には、ユーザ処理のための結合された制御計算環境及び１つ（又は２つ以上）の分離計算環境を有する本発明の実施形態２３００が示されている。結合された制御計算環境は、上述した実施形態の上述した制御及びユーザインターフェイス計算環境２１０８−１、スイッチング計算環境２１０８−２、及び保護記憶装置及び読み取り／書き込み計算環境２１０８−３の必要なオペレーションを与えるように、コンピュータシステム２３００のオペレーションを編成する。分離計算環境２３０４−１は、前記実施形態で述べた形態をとることができ、ここでは詳細に説明しないが、このようなＩＣＥは、通常、ＩＣＥに意図された命令のセットを実行するための処理ロジック２３８１と、この処理ロジックにスイッチ可能に結合及び分離可能な記憶装置２３８０とを備える。
【０１９４】
いかなる所与の実施形態においても、幾つかの特徴及び手順ステップは、任意なもので、実施することが望まれる能力、及び／又は希望のセキュリティ又は免疫性の程度に基づいて必要とされないことが明らかであろう。幾つかの特徴及び手順は、他のファクタの中でも、システムの現在状態及び意図された計算環境オペレーションに基づいて動的に実施することができる。いずれにせよ、ここでの説明に鑑み、これら制御オペレーションは、分離されたユーザ計算環境から個別の（物理的又は時間的に）計算環境において遂行されることが明らかであろう。
【０１９５】
この実施形態では、制御処理又は計算環境（ＣＣＥ）２３０２が確立されて、１つ以上の分離計算環境２３０４−Ｎを生成し、制御し、そして終了するように動作する。この実施形態では、図示簡単化のために１つの分離計算環境２３０４−１しか示されていないが、ユーザ処理のための多数のこのような分離計算環境（ＩＣＥ）又はサブシステムを固定的に又は動的に構成して動作することができる。
【０１９６】
ＣＣＥ２３０２は、幾つかのロジック回路又は他のロジック手段２３２０（例えば、コントローラ、マイクロコントローラ、プロセッサ、マイクロプロセッサ、中央処理ユニット即ちＣＰＵ、ＡＳＩＣ、プログラム可能なロジック、等）と、１つ以上の通信リンク２３２８を経、１つ以上のスイッチ又はスイッチング手段２３２５を通してこのロジック手段２３２０にスイッチ可能に結合及び分離できる記憶装置２３２１とを備えている。スイッチ又はスイッチング手段２３２５は、一般に、記憶装置２３２１とロジック手段２３２０との間に当該信号及びデータを結合又は分離するのに適した複数のスイッチ又はスイッチング素子を備え、例えば、記憶装置を、例えば、ＣＰＵのようなロジック回路に結合及び分離するための良く知られた信号コンディショニング回路を備えてもよい。
【０１９７】
ロジック回路又はロジック手段２３２０の形式に基づき、ＲＯＭ、ＲＡＭ、レジスタ等の形態の個別のメモリを設けて、１つ以上のメモリスイッチ２３２６を経てスイッチ可能に接続又は切断（イネーブル又はディスエイブル）することもできる。スイッチングは、メモリ又は記憶装置への／からのいずれかの方向（例えば、読み取り又は書き込みに対する）又は両方向の通信又はシグナリングを選択的にイネーブルすることができる。この実施形態及び本発明の他の実施形態の状況において、スイッチ、複数のスイッチ、スイッチング手段、等の用語には、考えられる最も広い解釈が与えられるべきであり、そして１つの位置から別の位置へ信号を物理的又は論理的に結合又は分離するか、或いは電気的接続又は光学的接続に関わらずそのような位置間に信号を通信する能力をイネーブル又はディスエイブルする装置、ロジック、ハードウェア又はソフトウェアが存在し又は存在してもよい。
【０１９８】
ロジック回路又はロジック手段２３２０の形式及び能力は、一般に、ＣＣＥ２３０２により遂行されるべきロジック又は他の処理オペレーションに依存し得る。例えば、汎用のノートブックコンピュータに対する制御として遂行されるべき処理オペレーションは、セルラー電話又は電子カメラに対して実行されるべき制御オペレーションとは少なくとも一部分相違してもよい。というのは、これらの異なる装置により遂行されるべきオペレーションが一般的に異なるかもしれないからである。
【０１９９】
ある実施形態では、分離計算環境２３０４において、記憶装置２３２１、メモリ２３２２、Ｉ／Ｏ又は周辺機器（例えば、キーボード２３９０、マウス２３９１、又はネットワークＮＩＣ２３９２）、及び／又は記憶装置（１つ又は複数）２３８０との通信又は信号を結合又は分離するための種々のスイッチ（例えば、スイッチ２３５０、２３６０、２３２５、２３２６）及びスイッチング能力は、ロジック回路２３２０により与えられてもよく、或いは他の実施形態では、ロジック回路又はロジック手段２３２０により完全に又は部分的に制御される個別のスイッチング手段が設けられてもよい。この実施形態又は他の実施形態では、単一のスイッチ、１組のスイッチ、多数の個別のスイッチ、又は多数組のスイッチを使用して、希望のスイッチング動作を遂行することができる。
【０２００】
少なくとも幾つかのスイッチは、ＣＣＥ２３２０により少なくとも部分的に制御できるが、通信リンク、信号ライン、バス、又は他の接続は、ＣＣＥ２３２０を通過しなくてもよいし又はその要素によりアクセスできなくてもよいことが明らかであろう。例えば、少なくとも１つの実施形態では、ネットワークＮＩＣ２３９２は、分離計算環境２３０４−１とスイッチ可能に接続又は切断されるが、ＮＩＣから受信されるデータ又はビットは、ＣＣＥ２３２０には通されず、マリシャスエージェントへの露出を防止するためにＩＣＥ２３０４−１のみに通される。少なくとも幾つかの実施形態では、外部環境からデータを受信すると共に、外部環境へデータを送信するための個別のモデム及び／又はネットワークＮＩＣ装置及び通信経路が設けられ、免疫性及びシステム保護の付加的な尺度を与える。受信データが送信データから分離されるときには、これは、システム２３００に対して外部の他のコンピュータ又は装置に対する保護の尺度も与える。というのは、汚染データを送信し又はマリシャスエージェントを含む機会が減少され又は排除されるからである。記憶装置２３２１は、単一の物理的装置として実施されてもよいし、２つ以上の物理的装置の組合せとして実施されてもよいし、又は１つ以上の物理的装置の１つ又は一部分として実施されてもよい。例えば、これは、この技術で良く知られた磁気、光学、ソリッドステート又は他のメモリ形式のうちのいずれの形式でもよいし、或いは開発されてもよい。
【０２０１】
ここに示す実施形態では、記憶装置２３２１は、マスターテンプレート保護記憶装置（ＭＴＰＳ）２３２２と、ユーザデータ保護記憶装置（ＵＤＰＳ）２３２３と、記憶装置及び／又はＩ／Ｏ装置のためのスイッチコンフィギュレーション情報又はデータ２３２４と、ユーザとの装置インターフェイス及び制御をサポートするために必要とされるオペレーティングシステムエレメント及びアプリケーションプログラム２３２５の動作部分を備えている。又、任意であるが、一時的ワーキング記憶装置２３２６が設けられてもよい。ある実施形態では、これらの異なる記憶要素に対する記憶装置の形式は、高速読み取り及び／又は書き込みアクセス、及び／又は記憶装置からの要素の消去を容易にするように選択されるのが効果的である。特に、ソリッドステート又は半導体メモリは、ユーザ計算環境のセッションが完了しそして終了又はクローズされた後にユーザ計算環境の高速なアクセス並びに迅速且つ信頼性のある消去を容易にし得る。
【０２０２】
１つ以上の分離計算環境２３０４−１、・・・２３０４−Ｎは、固定的に構成されてもよいし、動的に構成されてもよい。プロセッサ又は他のハードウェアの数が物理的な（例えば、ハードウェアの）個別のセッションの数を制限する傾向があるときには、時間的分離を使用するが、本明細書のどこかに述べるようにハードウェアに間欠的にアクセスして、付加的な分離計算環境を任意に実施することができる。
【０２０３】
各ＩＣＥ２３０４は、保護記憶装置（例えば、ＭＴＰＳ２３２２及び／又はＵＤＰＳ２３２３）又は記憶装置２３２１の他の部分との読み取り及び／又は書き込みのためのアクセスが要求されたときに、ＣＣＥ制御スイッチ２３５０を経て記憶装置２３２１（又は記憶装置の一部分）にスイッチ可能に結合できるのが効果的である。図１１に示す実施形態では、データ・イン２３５１、データ・アウト２３５２、及びＯＳ−Ａｐｐｓ（オペレーティングシステム及びアプリケーションプログラム）２３５２の通信又は信号経路が示されている。異なる実施形態では、単一の通信又は信号経路（例えば、ワイヤ、マルチワイヤバス又は光学的リンク）を経路割り当て及び裁定回路又は他のロジック手段と共に使用して、このような単一のリンクを経ての通信を割り当て及び制御することができる。更に、ＩＣＥ２３０４内にオペレーティングシステム及び／又はアプリケーションプログラムを設ける実施形態では、ＩＣＥ２３０４の記憶装置２３８０とＣＣＥ内の記憶装置２３２１との間に経路を設ける必要がない。
【０２０４】
又、この又はこれらの同じ通信リンク２３５１、２３５２、２３５３を使用して、何らかのフラグ２３５５、ウインドウｘ−ｙ座標２３５６、ＩＣＥビデオ出力２３５７を通信し、及び／又は専用の又は時間的共有の間欠的ベースで周辺機器を結合することもできる。或いは又、個別の専用の又は共有の通信リンクをこれらの信号又はデータに使用することもできる。
【０２０５】
フラグ２３５５は、ＣＣＥ２３２０とＩＣＥ２３０４との間の状態及び／又はコマンド及び制御を与え、例えば、次のようなフラグ又は状態を与えるが、これらに限定されない。即ち、「ＩＣＥマスターテンプレート読み取り準備完了」、「ＩＣＥユーザ保護データ読み取り準備完了」、「ＩＣＥ処理完了」、「ＩＣＥ処理エラー遭遇」、「ファイルを保護記憶装置にセーブする要求」、「ファイルセーブオペレーション完了」、「ＩＣＥをリセット及び消去するＣＣＥコマンド」、並びに希望のオペレーションをサポートするための他の状態及びコマンド。本発明のある実施形態では、状態又はコマンド及び制御フラグがＩＣＥとＣＣＥとの間にウイルス又はマリシャスコードを偶発的に通信又は送信するおそれを減少又は排除するために、フラグの性質及び複雑さは、簡単で短く（例えば、数ビット又はバイト）に故意に保持される。
【０２０６】
他の実施形態について既に述べたように、ビデオ又はグラフィック関係出力信号又はデータ２３５７が各ＩＣＥから与えられ、ＩＣＥユーザ環境（例えば、ワード処理スクリーン）の表現又は表示を捕獲して、ディスプレイスクリーン又は他の装置２３９３に表示することができる。ほとんどの実施形態では、単一のディスプレイ装置が使用されるが、本発明は、多数のディスプレイ装置又は実際に多数のビデオ又はグラフィックプロセッサを排除するものではない。ウインドウ環境で動作するときには、ウインドウのｘ−ｙ又はラインサンプル座標及びウインドウサイズ、又はＩＣＥウインドウに対する他の記述子が、ＣＣＥ（又はＣＣＥにより制御されるビデオプロセッサ２３９２）に通信され、従って、異なるＩＣＥからの多数のウインドウを互いに結合できると共に、任意であるが、ＣＣＥ２３０２により発生されるデスクトップ（例えば、Ｍｉｃｒｏｓｏｆｔ２０００デスクトップ）表示又はビデオ表示２３９３と結合するのが望ましい。
【０２０７】
通信経路を経て通信されるデータの形式及び／又は量を制限するフィルタ又はリミッタは、ＣＣＥの記憶装置２３２１とＩＣＥ２３０４との間、及び／又はＩＣＥ２３０４とビデオディスプレイ制御ユニット２３９２との間、及び／又はＩＣＥ２３０４とＣＣＥとの間に、フラグ、ウインドウ座標及び寸法、又は他の状態又はコマンド及び制御信号に対して任意に設けられるが、そのようにするのが効果的である。
【０２０８】
例えば、記憶装置２３２１とＩＣＥ記憶装置２３８０との間に、記憶装置アクセスリミッタ２３７０を設けることができる。同様に、各ＩＣＥとＣＣＥ又はビデオディスプレイ制御ユニット２３９２との間のビデオ信号経路にリミッタ２３７１を配置することができる。
【０２０９】
一実施形態では、リミッタがスイッチ（例えば、スイッチ２３５０、２３６０）と結合されるが、他の実施形態では、それらが個別である。このようなフィルタ又はリミッタ機能は、ＣＣＥロジックの一部分として実施されてもよいし、ＩＣＥロジックの一部分として実施されてもよいし、又はその両方の一部分として実施されてもよい。ＩＣＥ要素とＣＣＥ要素との間の何らかの確認を伴う冗長性を与えることも任意である。一般に、この実施形態では、これらのフィルタリング又はリミッタオペレーションのいずれかは、試みられた通信と、通信の許可セットとの間の比較を伴う。試みられた通信が許される場合には、それをパスすることが許され、それが許されない場合には、パスすることが許されない。種々のエラーメッセージ及び／又は通知は、ルール又はポリシーに基づいて任意に実施できるが、そのようにするのが望ましい。
【０２１０】
制御及び分離ユーザ処理のための単一の時間的に分離された計算環境を有する実施形態
図１２には、単一の物理的な計算環境しか与えないが、間欠的アクセス及び時間的又は時間分離されたアクセスを使用して複数の論理的又は仮想計算環境をサポートすることのできる実施形態が示されている。この単一の物理的計算環境は、前記実施形態で述べたＣＣＥの制御と、１つ以上のユーザ処理セッションについての分離された処理計算環境とをサポートすることができる。時間的な分離を伴うこの形式の間欠的アクセスは、多数の物理的計算環境を有するか又はそれをサポートできる本発明の他の実施形態にも利用できる。
【０２１１】
ここに示す実施形態では、単一の処理ロジック要素２４０４（例えば、プロセッサ、マイクロプロセッサ、ＡＳＩＣ、コントローラ、マイクロコントローラ、或いは他のロジック又は処理回路手段）は、スイッチ又はスイッチング手段２４１２を経て記憶装置２４０６に通信結合することができる。
【０２１２】
一実施形態では、記憶装置２４０６は、分離計算環境記憶装置２４１０と制御計算環境２４０８との間に分離を与えるように物理的又は論理的に分割又は仕切ることができ、ここには、例えば、マスターテンプレート及び保護ユーザデータ並びにオペレーティングシステム及びアプリケーションプログラム要素を、汚染のおそれなく、記憶することができる。分離計算環境記憶装置は、ユーザデータのワーキングコピー、オペレーティングシステム及びアプリケーションプログラム要素、一時的記憶等をＩＣＥの実行中に記憶するために設けられる。共通の物理的記憶装置の共有は、ＩＣＥモードで動作する間にマリシャスコードが実行されても、保護データ記憶装置に到達し又はそれを汚染し又はそれに感染することがなく、例えば、マスターテンプレートやオリジナルの保護ユーザデータファイル等にダメージを及ぼすことがないよう保証する制御ルーチン又は手順により達成されるのが好都合である。
【０２１３】
本発明の他の実施形態は、個別の物理的記憶装置又はメモリを使用し、そして割り当てられたメモリアドレス範囲をオーバーフローするハッカーの試みにより生じ得るアクセスのような偶発的なアクセスが生じることがないようにメモリアドレス又はアクセス制御を与える。計算環境のワーキング記憶装置を分離することに対して制御及び保護記憶装置のための個別の物理的記憶装置を設けることは、付加的な分離レベルが与えられる。というのは、通信ライン又はバスが２つを相互接続せず（即ち、物理的又は論理的にそれらのスイッチを切ってディスエイブルし）、汚染が生じることのないような完全な物理的分離の可能性を与えるからである。又、異なる物理的記憶装置を使用することは任意であるが、好都合なことに、制御環境記憶装置の部分に対してＲＯＭ又はＥＥＰＲＯＭ、ＩＣＥに対してＲＡＭ、そして大きなデータ又はプログラム記憶装置に対してハードディスクドライブのような磁気記憶装置、といった異なる記憶装置を使用する効果を与える。又、記憶装置に対するＩＣＥ又はＣＣＥの各々の要求で、複数の異なる物理的メモリ及び／又はメモリ形式が使用されてもよい。
【０２１４】
スイッチ又はスイッチ手段２４１２は、入力／出力又は他の周辺装置（例えば、これに限定されないが、キーボード２４１６及びマウス２４１８）を計算環境の選択された１つに結合しそして分離するという役割も果たすことができる。同じ処理ハードウェアが異なる計算環境に一時的に割り当てられる実施形態では、入力、出力又は他の周辺装置の使用をイネーブル又はディスエイブルして希望の分離程度を維持するのに、依然、スイッチングが望ましい。例えば、キーボード及びマウスは、ワード処理アプリケーションを実行する両制御及び分離計算環境に結合できるが、ネットワークＮＩＣカードは、インターネットネットワークブラウジングセッションを実行する分離計算環境にしか結合もイネーブルもできず、制御環境には結合もイネーブルもできない。
【０２１５】
一実施形態では、ブートを開始するか又は既知の初期状態へ再スタートするためにリセットモードが設けられる。この開始状態に対するオペレーティングシステム及びアプリケーションプログラムは、リセット及び再ロードを容易に行える形態で、制御環境記憶装置２４０８の不揮発性メモリに記憶される。一実施形態では、それが高速ＲＯＭに記憶される。このモードは、分離計算環境が、１つ以上の新たなファイル又はデータセットの発生、又はこのようなファイル又はデータセットの改訂された又は新規のバージョン（１つ又は複数）の発生を通常導く処理オペレーションを実行するのを許す。一実施形態では、リセットモード手順は、このような新たな又は改訂されたファイル又はデータセットに対して記憶装置の特定の領域を探索し、そして保護記憶装置へコピーを行って、規定のルール又はポリシーに従い保護記憶装置にファイルを追加するか又は交換する。リセットモード手順は、単にファイル又はデータセットをコピーするが、それをオープンしたり実行したりしないので、上述した他の実施形態と同様に保護が維持される。
【０２１６】
別の実施形態では、共有ハードウェアリソースとの時間的な分離が、中間ロジック又はプロセッサ２４０２の状態を記憶及び再記憶することにより達成される。プロセッサ２４０４及び他の必要な状態情報又はデータを記憶することにより、制御プロセスのような１つのプロセスに割り込みことができ、割り込み及び再開時にプロセッサ状態を記憶及び再記憶するようにして新たな分離計算プロセスを行うことができ（完全に又は部分的に）、等々である。このように、最小の物理的なハードウェアセットを使用して多数の処理セッションを行うことができる。規定の時間周期中に多数のプロセスを取り扱いできるようにプロセッサ状態を記憶及び再記憶する構造及び方法を、時々、同時処理又はマルチタスクと称する。これらの既知の構造及び方法は、ここでは、詳細に説明しない。しかしながら、本発明に関連して、複数の計算環境に対してプロセッサ２４０４の状態を個別に記憶して分離を維持すると共にマリシャスコードが分離を回避できないようにするためにレジスタ又は他のメモリ記憶装置を設けてもよいことに注意されたい。従って、プロセッサの各個々の時間的に割り当てられるセグメント（例えば、チップ、ＲＡＭ、記憶装置、又はそれらのある組合せ、或いは他の要素又はセグメント）は、個々に、又はあるグループとして、或いは集合的に、リセット又は修理することができる。
【０２１７】
一実施形態では、個別のリセットロジック２４５０がハードウェア又はソフトウェアリセットボタン又はスイッチ２４５１に結合され、これは、異なる計算環境間を遷移すると共に、１つのプロセスが割り込まれたときに状態を記憶し、そしてプロセスが再開したときにその状態を復帰させるための必要な分離制御を与える。リセットロジックは、ハードワイヤードロジックでもよいしプログラム可能でもよく、状態の記憶及び復帰、並びに他の装置２４００のパラメータ及び条件の設定を行うための信号をプロセッサ２４０４へ発生する。装置要素への制御ラインは、状態記憶レジスタ２４５３と、記憶装置２４０６と、プロセッサ２４０４と、スイッチ２４１２との間に必要に応じて設けられる。ある実施形態では、分離計算環境におけるプロセスは、一般に、制御プロセスのみが保留され、次いで、再開されるように、完了に向かって実行することができる。他の実施形態では、いかなるプロセスも保留されそして再開される。
【０２１８】
この形式のある実施形態は、いわゆるシン(thin)計算装置、例えば、セルラー電話等に特に適用できることが明らかである。このような装置では、装置の一回の使用中に、電話の会話に関連した音声処理、電子的イメージ又はピクチャーの受信、カレンダーアイテム又は電話番号のロックアップを取り扱う必要がある。最小限のハードウェアを使用してこの形式の多数のプロセスを容易にすることにより、装置のコストを削減し、小さなサイズを維持し、そして消費電力及び発熱の減少を達成することができる。
【０２１９】
制御及び分離ユーザ処理に対する単一の時間的共有計算環境を有する別の実施形態
図１３の実施形態を参照すれば、本発明の態様によるアーキテクチャー及びシステム２５００の一般的コンフィギュレーションが示されている。この実施形態では、第１の計算環境２５０１は、デスクトップ環境及び制御環境の機能、これら機能及び／又は環境の消去／再フォーマット、スイッチ（１つ又は複数）、スイッチコンフィギュレーション（１つ又は複数）、保護記憶装置（１つ又は複数）、ネットワークインターフェイス及び接続又はカード、ある分離レベルを与え又は保存するための能力限定通信機能との所定の又は動的に決定された通信を有するＡＳＩＣ、ビデオ処理及び／又はビデオ制御、マウス及びキーボード入力、入力／出力接続、周辺装置接続及び制御、並びに必要に応じたそれらの組合せを含むか、又は含んでサポートするように構成することができる。この第１計算環境２５０１は、スイッチ２５０３（それ自体、第１の計算環境内で任意に構成又は実施されてもよい）を経て第２の即ちユーザ計算環境２５０２へ結合される。この第２のユーザ計算環境は、本発明の先の実施形態で説明されたものと同じ分離を有し、それ故、ウイルス、ハッカー、サイバーテロ、及びマリシャスコンピュータプログラムコードによる他の偶発的又は意図的な攻撃又は汚染に対して同じ免疫性を与える。
【０２２０】
通常、ユーザ計算環境２５０２は、ビデオ出力信号を発生し、これは、ユーザ計算環境によるか又は第１の制御計算環境２５０１を経て処理されてディスプレイ装置に表示することができる。しかしながら、本発明のある実施形態では、全ての計算環境がビデオ出力信号を必要とするのではないし、又、個別の計算環境が生成されたことにユーザが気付くのを必要とするのでもないことが明らかであろう。例えば、あるセルラー電話では、音声信号を処理又はコード化及びデコードするために生成された計算環境は、ビデオ出力を必要とせず、必要な信号を単に発生するだけである。これは、出力がデータセットである状況の一例に過ぎず、この例でも、データセットが発生されて、リアルタイム又はほぼリアルタイムで使用され、記憶はされない。本書の説明から、計算環境の入力及び出力は処理タスクに基づいて異なることが明らかであろう。
【０２２１】
スイッチ又はスイッチング手段２５０３は、ユーザ計算環境２５０２と第１の計算環境２５０１との間でデータ２５０６（例えば、ユーザファイル又はドキュメントのコピー）を結合又は分離することができ、第１の計算環境は、システム２５００のオペレーションに対して制御、インターフェイス、保護記憶装置、スイッチング及び他の機能を取り扱う。通信ライン及び任意のＡＳＩＣ又は他のロジック回路又はロジック手段を含む付加的な任意の限定通信リンク２５０８を設けて、本明細書のどこかに述べるように、ファイルをセーブし、計算環境を消去し、メモリを消去し、記憶装置を消去し、ウインドウ及び／又はオブジェクト座標及び認識を通信し、マウス座標を通信し、等々のオペレーションをサポートすることができる。これらのスイッチングは任意であり、通信経路は直接的でよく、そして信号（コマンド、データ等）の組合せを合成してマルチプレクスするか、さもなければ、通信リンクの規定のセットを経て通信できることが明らかであろう。このような通信リンクは、この技術で知られたように、ワイヤ、バス、光学リンク、又は他の接続手段でよい。
【０２２２】
ここに述べる他の実施形態については、通信経路を経て送られるビット又はデータの形式、パターン、数又は量をフィルタし又は制限するために、フィルタ又はリミッタ２５１０を通信経路に設けることができる。他の任意の特殊な専用の通信経路又はリンク２５２６を、他の一般的な共有可能な通信経路又はリンクと同様に設けることができる。
【０２２３】
ＰＣカードバス又はインターフェイスカード実施形態及び従来のコンピュータ
本発明のシステム、アーキテクチャー及び方法の多数の実施形態について説明したが、望ましい性能レベルに適した帯域巾を与えるＩＳＡバス、ＰＣＩバス、ＵＳＢバス、ＳＣＳＩバス、ＰＣカードバス、又は他のバス又はインターフェイスを経てアタッチされるカード又は他の回路に適した本発明のシステム、アーキテクチャー、及び方法の実施について以下に説明する。同様に、本発明は、システム又は周辺バス、例えば、ＩＳＡ、ＰＣＩ、ＳＣＳＩ、ファイアウオール、ＵＳＢ又は他のバス又は接続に改造可能に差し込むことのできるカード、チップ、又はチップセットに関連して使用することができる。
【０２２４】
ＰＣカード実施は、特に有用である。というのは、ＰＣカードスロット又はケーブルを有するノートブックコンピュータ及び他の情報機器を改造して、ノートブックコンピュータを完全に交換せずにセキュリティのレベル、並びにウイルス防止及びハッカー防止性能を与えることができるからである。
【０２２５】
図１４を参照し、ホストコンピュータプロセッサ及びメインプロセッサメモリに結合されるＰＣカードの要素について説明する。典型的なＰＣカードインターフェイスでは、ＰＣカードは、この技術で良く知られたＰＣＩ対カードバスブリッジを経てコンピュータのＰＣＩローカルバスに接続される。ＰＣＩローカルバスは、次いで、ホスト対ＰＣＩブリッジを経てホストコンピュータバスに結合される。このホストバスは、ホストコンピュータプロセッサ又はＣＰＵに結合される同じバスである。ホストプロセッサ及びホストコンピュータの全ての周辺機器へのアクセスは、本発明のシステム、アーキテクチャー及び方法の効果を有するＰＣカードベースの補助処理システムを改造する機会を与える。
【０２２６】
図１４には、本発明のＰＣカードバージョンが概略図で示されている。ＰＣカードは好都合に使用されるが、本発明は、他の異なる装置で実施されて、現存の又は開発される他のインターフェイスによりノートブックコンピュータ又は他の情報機器に接続又は結合されてもよいことが明らかであろう。
【０２２７】
ＰＣカードバスは、本発明システムの回路をノートブックコンピュータに結合するのに必要な全ての信号を供給する。一実施形態において、ホストコンピュータの回路は、ユーザインターフェイス計算環境を与えるのに使用されるが、他の実施形態では、ＰＣカードのプロセッサのみが処理に使用される。一実施形態では、ホストコンピュータのハードディスクドライブが使用されるが、他の実施形態では、ＰＣカード上の、又はケーブルによりＰＣカードに結合されたソリッドステートメモリが使用される。好都合にも、コンピュータが多数のＰＣカードスロット又はコネクタを有する場合には、１つのスロットが、本発明のプロセッサシステムを支持するＰＣカードを取り付けて接続することができ、そして第２のカードが、ハードディスクドライブ、光学的、ソリッドステート又は他のメモリ記憶装置、或いはそれらの組合せを有するメモリ記憶装置を支持することができる。又、プロセッサＰＣカード及びＰＣカードベースの記憶装置の両方に記憶装置を設けることもできる。
【０２２８】
図１５は、ＰＣカード２６０２をＰＣＩ対カードバスブリッジ２６０４に結合し、そして該ブリッジ回路によりＰＣＩローカルバス２６０５に結合するための一般化されたアーキテクチャー２６００を示す図である。このＰＣＩローカルバスは、次いで、ホスト−ＰＣＩブリッジ２６１０に結合され、これは、ホストバス２６１２及びホストプロセッサ２６１４へのアクセスを与える。又、ＤＲＡＭのようなメインメモリ２６１６が、ホスト−ＰＣＩブリッジ２６１０を経てホストバス２６１２及びＰＣＩローカルバス２５０５に結合される。この実施形態におけるＰＣカードは、本発明のコンピュータシステムを含み、一方、ホストプロセッサ２６１４は、従来のノートブック又はデスクトップコンピュータにインストールされたプロセッサである。ＩＳＡ又はＰＣＩカードについては、この技術で良く知られたように、それらをＩＳＡローカルバス又はＩＳＡバスに直接結合できることが明らかであろう。ＰＣカード２６０２は、記憶装置、ネットワーク相互接続カード（ＮＩＣ）、モデム、グラフィックプロセッサ、ワイヤレス通信、及び他の装置、並びに全コンピュータシステムの周辺動作特徴を含むのが好都合である。
【０２２９】
それとは別に又はそれに加えて、ＰＣカード２６０２は、このような装置をカードに結合するためのコネクタを含んでもよい。他の実施形態では、記憶、通信、ビデオ処理、又は他の特徴を増強し、そして本発明の処理及び計算環境を含むＰＣカード（又はデスクトップ型コンピュータにおける他のプラグインカード）２６０２と協働するために、第２のＰＣカードが設けられてもよい。改造可能又は差し込み可能なパッケージに本発明の計算及び処理環境を設けるための能力を、種々のハンドヘルド及びポータブル装置、例えば、セルラー電話、オーガナイザー、パーソナルデータアシスタント、衛星電話、機器、娯楽システム、或いはプラグインカード又は外部インターフェイス能力を有する他の装置又はシステムへと拡張することができる。
【０２３０】
図１６は、個別の動的に構成可能なシステム要素、例えば、これに限定されないが、メモリ要素（例えば、ＲＡＭ又はＲＯＭ）２７０２、任意の形態のデータ記憶装置（例えば、磁気ハードディスクドライブ又は他の記憶装置サブシステム又は装置２７０６、ソリッドステートメモリ２７０８、光学記憶装置２７０９、等）、ビデオ処理要素２７０４、信号処理要素２７１１、イーサネットインターフェイス２７１２、ネットワークインターフェイスカード２７１３又は能力、モデム２７１４、ワイヤレスインターフェイス２７１５、プロセッサ２７０５、スイッチ又はスイッチング要素２７３０、通信経路、ワイヤ及び／又はバス２７２０、ＡＳＩＣＳ２７１７、並びに本発明に関して述べる他の要素を備えた本発明の実施形態２７００を示している。この図には相互接続能力しか示されておらず、これは、付加的なアーキテクチャー、トポロジー、システム及び方法の細部を与える本発明の上述した実施形態のいずれに適用することもできる。初期化の際、オペレーション中（他の処理オペレーションが進行中であるときにも）、又はシステムリセットの際に、動的な構成又は再構成を行うことができる。ある実施形態では、異なる要素及び素子の、異なる計算環境への割り当てを識別する割り当てテーブル又はデータ構造２７２５が記憶される。
【０２３１】
これら要素の幾つか又は全部の動的な構成は、本発明のアーキテクチャー、システム及び方法の他の実施形態について既に説明した。例えば、先に述べたように、計算環境、及びこのような計算環境の要素は、モジュラーであり、計算環境を構成する欠陥要素又は要素のセットがワーキング部分に対してスワップされるか又は修理されるまで、ＣＳＣＥ又はＣＣＥ計算環境のような制御エンティティにより特定の結果要素及び／又は計算環境を使用停止にできるように動的に構成することができる。又、上述したように、本発明のある実施形態は、動的に割り当て可能で且つ構成可能な中央処理ユニット（ＣＰＵ）、マイクロプロセッサ、マイクロコントローラ、ＡＳＩＣ、又はある組合せを使用して、上述した形式の計算環境又は処理環境を生成するための物理的構造を与えることができる。この動的な構成は、異なる特徴をもつ要素又は素子をシステム内で物理的に使用できるときに特定の処理タスクに適するように要素又は素子の特性を選択する上で融通性も与える。ある場合には、処理又は計算タスクの複雑さが、非常に高速なプロセッサ又は大きなメモリの必要性のような希望の計算環境をサポートする物理的素子を指令し、或いは他の場合には、ほんの僅かな処理パワー又は速度及び最小量のメモリしか必要としない控え目な監視タスクに対して電力消費を最小にする要望をサポートする物理的素子を指令する。このような選択及び構成は、ユーザ制御のもとで行われるか、より一般的には、コンピュータシステムの自動制御のもとで、ある所定の又は動的に決定されたルール又はポリシーに基づいて行われ、そして任意であるが望ましくは、ある測定されたコンピュータシステムの物理的又は論理的状態、環境条件、処理要求及び複雑さ、アプリケーションプログラムサイズ及びデータセットサイズに基づいて行われることを想起されたい。本発明の他の実施形態は、コンピュータの製造時に物理的に接続されない場合でも、又、コンピュータシステムハードウェア内に隣接配置されなくても、コンピュータ素子としてアッセンブルできる個別素子（例えば、ＣＰＵ及び記憶装置）の動的な割り当てを与える。ある実施形態では、動的な割り当て及び構成は、先に述べたスイッチングシステムを経て外部ポートを通って構成できるような外部要素又は素子を含みそして使用することができる。ある実施形態では、制御計算環境（例えば、ＣＳＣＥ、ＣＣＥ、又はここに述べる他の制御計算環境）は、周辺装置、入力／出力装置、及び／又は記憶装置に対して述べたスイッチ又はスイッチングシステムを組み込み及び／又は制御して、通信経路をイネーブルし、計算システム素子を一緒にスイッチし、そしてリンク及び接続を構築して、意図されたオペレーションを行うことができる。
【０２３２】
図１６は、単一の概略的な「ライン」に接続されたものとして異なる形式の要素を示しているが、各要素は、適切な電気的（又は光学的）特性を有するワイヤ、ワイヤのセット、バス、又は他の通信リンクと、意図された通信をサポートするためのシグナリングプロトコルとにより、他の要素へ結合されることが明らかである。このような適切な特性は、従来のもので、この技術で良く知られており、従って、ここでは詳細に説明しない。本発明のある実施形態は、全ての上述した要素及び素子（並びに特に取り上げなかった他のもの）の動的な構成を与えるが、他の実施形態は、更に限定された動的な構成、例えば、動的に又は固定的に構成された計算環境に対して異なるデータ記憶装置を動的に構成する能力を与えることも明らかであろう。
【０２３３】
図１７は、スイッチ「Ｘ」を経て異なる信号ライン又はバスへ計算環境要素を接続する要素及びワイヤ、バス又は他のインターフェイスのセットを各々有する複数の計算環境の実施形態を示している。複数のデータ記憶サブシステムも示されており（おそらく、異なる論理的パーティションと共に、又はそれ自体、複数の物理的装置で構成されて）、これは、異なる計算環境により使用するために全コンピュータシステムに動的に割り当てることができる。ある実施形態では、各々の計算環境は、幾つかのデータ記憶要素を含むことができ、そして動的に割り当て可能又はスイッチ可能なデータ記憶装置は、記憶又は処理タスク（例えば、一時的記憶を含む）に対する必要な記憶容量が、定義された計算環境内で利用可能な記憶量を越えるときに付加的な記憶容量を表わす。
【０２３４】
図１８は、本発明の計算環境２８０１が、多数のキーボード２８０３及びマウス２８０４（或いは他の入力又はポインティング装置）を、キーボード通信ライン又はリンク２８０７（例えば、電気的ケーブル又はワイヤレスリンク）及びマウス通信ライン又はリンク２８０８を経て、本発明のコンピュータシステム又は全計算環境２８０１内の分離計算環境（ｉｃｅ）の分離「セット」にどのように結合し、そしてビデオ通信信号リンク２８０６を経て積層ビデオの多数の個別「セット」に結合できるかを示している。出力が単一モニタ又は個別モニタ２８０５に送信されて、独立した「ノード」２８０２−１、・・・２８０２−Ｎを生成し、これらは、互いに独立し且つ分離して、しかも全てが単一のコントローラ又は制御環境の制御のもとで動作を遂行することができる。
【０２３５】
複数の動的に構成された仮想計算環境又は処理環境を有する実施形態
本発明の種々の実施形態について述べたが、これらは、（ｉ）ユーザインターフェイス、制御及びスイッチングの機能と、保護記憶装置計算環境とを結合する実施形態（例えば、図９及び図１０並びにそれに伴う説明を参照されたい）；（ii）システム要素が動的に構成可能である実施形態（例えば、図１０及びそれに伴う説明を参照されたい）；（iii）制御及び分離ユーザ処理のために単一の時間的に分離された計算環境が存在する実施形態（例えば、図１２及びそれに伴う説明を参照されたい）；（iv）制御及び分離ユーザ処理のために単一の時間的に共有された計算環境が存在する実施形態（例えば、図１３及びそれに伴う説明を参照されたい）；（ｖ）ＰＣカードバス又は他のインターフェイスカード及び従来のコンピュータが存在する実施形態（例えば、図１４及び図１５並びにそれに伴う説明を参照されたい）；（vi）計算タスク又はその他に基づいて計算環境を定義するための個別の動的に構成可能なシステム要素をシステムが有する実施形態（例えば、図１６及びそれに伴う説明を参照されたい）；及び（vii）複数の計算環境が定義又は構成され、その各々は、要素のあるセットと、計算環境要素を、スイッチ又はマルチプレクサ（即ち、スイッチの整合されたセット）を経て、異なる信号ライン又はバスへ接続するワイヤ、バス又は他のインターフェイスとを有するような実施形態（例えば、図１７及びそれに伴う説明を参照されたい）を含むものである。又、本発明の他の実施形態についても説明され、このリストは、全ての実施形態を識別することを試みるものではなく、ここで、仮想処理空間及び仮想処理環境と称される別の実施形態を表示するための基礎を確立するものである。
【０２３６】
以下に述べるように、この実施形態は、物理的システム要素（選択、割り当て及びスイッチングの態様を含む）の動的なコンフィギュレーションを、時間的マルチプレクシング（時間又は時間的次元）の拡張と共に、多次元仮想処理空間における次元の任意のセットに合体させる。又、これら実施形態は、動的構成の観念、及びＰＣカードバス又は他のインターフェイスカード延長の概念を、他のプラグインカード又はモジュール、例えば、ＰＣＩカードスロットドーターボード、マザーボードチップセット交換又は追加、並びに従来の要素間に介在できるインターフェイス、例えば、従来のマイクロプロセッサ（例えば、インテル、アドバンスト・マイクロデバイシス、モトローラ及びその他により製造された形式）及び従来のコンピュータのマザーボード及びプロセッサに差し込むことのできる（さもなければ、嵌合できる）本発明のインターフェイスを備えた実施形態へと拡張することができる。更に、プラグインカード及びインターフェイスの概念を結合することもできる。仮想処理又は計算空間、及び仮想処理又は計算環境の実施形態を以下に詳細に説明する。
【０２３７】
複数のマルチプレクス可能な仮想処理環境（ＶＰＥ）を有する多次元仮想処理空間（ＶＰＳ）の実施形態
この実施形態及び上述した実施形態は、各プロセスが仮想処理空間に常駐するか又は常駐するかもしれない他の各プロセスと分離状態で維持されるようなウイルス、ハッカー及び他のマリシャスコード免疫環境を提供する。外部及び潜在的に汚染されたソースからのプロセス入力は、入力アイソレータを経て、仮想処理空間内の分離処理環境へと処理され、この環境は、新たなプロセスを受け容れる前に清掃され、クリアされ、さもなければ、既知の信頼性のある状態へとリセットされ、以前のプロセスにより導入されたかもしれない汚染が排除されるようにする。次いで、この処理環境は、受け取った外部プロセスを処理又は実行し、そして完了の際に、プロセス出力又は結果を、出力アイソレータを経て、外界、例えば、要求を発しているプロセス、又は結果を受け入れるように構成された別のプロセスに向ける。入力及び出力アイソレータは、同じ物理的アイソレータでもよいし、異なるものでもよく、異なるアイソレータを使用する利点は、到来するプロセスを、出て行くプロセスと、時間的に一部重畳して取り扱いできることである。処理環境が、処理中に、ウイルス或いは他のマリシャスコード又はダメージコード（データに見せかけたコードでも）を実行するか又は実行を試みるような問題を検出した場合には、プロセスは、外部プロセス結果をフラッシュし、それを外界へ通信することができない。しかしながら、ウイルス又は他のマリシャスコードが実行された場合にも、処理環境は、清掃され、クリアされ、リセットされ、さもなければ、既知の信頼性のある状態へ戻される。一実施形態では、既知の信頼性のある状態は、任意であるが、処理タスク中に処理環境から分離状態に維持された信頼性のあるテンプレート又は他の保護記憶装置から回復される。（埋設されたテンプレートを含む本発明の実施形態は、このクリア及び回復を必要としない。）信頼性のあるテンプレートは、オペレーティングシステム、アプリケーションプログラム、システムパラメータ等を再ロードするためのソースである。一実施形態では、信頼性のあるテンプレートを読み取り専用メモリに設けることにより分離が与えられる。一実施形態では、入力からプロセッサへの及びプロセッサから出力への分離は、ビット又はビットストリームのコピー或いは転送オペレーションを実行するだけのハードウェア回路であって、ウイルス又は他のマリシャスコードを実行することができず或いは他のオペレーションを実行するように変更されることのないハードウェア回路により与えられる。２つの処理環境及び２つの外部プロセスに対して処理環境をいかに分離するかの実施形態が図１９に示されている。
【０２３８】
多処理環境分離の態様について以上に説明したが、単一の処理又は計算環境、多数の計算環境、及び時間的にマルチプレクスされる計算環境のための他の実施形態は、既に詳細に説明されたことが明らかであろう。分離をいかに維持するかの詳細は、本実施形態にも適用でき、これら特徴の少なくとも幾つかを組み込んだ多次元処理空間に注意を向けることにする。
【０２３９】
図２０を参照すれば、少なくとも１つの、通常は、複数の、又は多数のプロセスを処理又は実行するための多次元仮想処理空間の実施形態が示されている。それ故、仮想処理空間は、一次元、二次元、三次元、四次元、又はＮ次元でよく、但し、Ｎは、正の整数である。原理的に、Ｎは、任意の正の整数で、何ら制限を伴わないが、実際には、１つ又は複数の物理的ハードウェア素子（例えば、論理回路、マイクロプロセッサ、マイクロコントローラ、メモリ素子、等の処理又は計算ハードウェア）において規定の時間周期（又は他の動作上の制限）内で非常に多数の仮想処理環境を構成し、割り当て、制御し、及び／又は動作するという実現性のために、仮想処理環境の数は、例えば、１０００未満のある数、例えば、１と１０００との間の特定の整数、或いは１００未満、又は１０未満、又は２、３、４、５、６、７、８、９、１０未満又はそれに等しい数に制限されてもよい。
【０２４０】
三次元より大きな次元を有する仮想処理空間の構造及びオペレーションを図式化することに関連した困難さのために、ここでの説明は、三次元の処理空間の実施例に焦点を合わせる。「仮想」という語は、ここでは、少なくとも一部分は次の理由で使用する。即ち、個人の視点に基づいておそらく一次元又は三次元のいずれかである多次元処理空間を単一の物理的プロセッサ内に生成することができる。時間ベースの又は時間的シーケンスのプロセッサ事象を考えるときでも、次元は、二次元（プロセッサの空間的次元＋時間）又は四次元（３つのプロセッサ空間的次元＋時間）とみなすことができる。複数のプロセッサが構成される場合には、次元が更に拡張され又は増倍される。実際に、本発明の構造、装置及び方法は、より大きな次元を与え、Ｎより小さい数の物理的プロセッサ及び時間にわたってＮ次元の仮想処理空間が生成されるようにする。
【０２４１】
図２０の実施形態は、「プロセッサ番号」（又はプロセッサの数）の次元、「処理時間セグメント」（プロセッサクロックサイクル又は他の時間インターバルの１つ又は集合と解釈されてもよい）、及び「プロセス形式」（一実施形態では、１つの物理的プロセッサ内のリソース又はリソースのセットに関係すると解釈されてもよい）を有している。図２０に識別されたプロセッサ形式は、例えば、これに限定されないが、フローティングポイントオペレーションと、グラフィックレンダリングオペレーションと、通信オペレーションと、異なるオペレーション形式の他のマイヤード(mired)であって、計算、情報処理、信号処理、通信、ゲーム、アニメーション、スピーチ処理、デジタル信号処理、及び計算又は情報処理分野で知られた他の命令、コード、又はオペレーション形式に関連したものを含む。
【０２４２】
本発明によれば、一体化される従来のプロセッサの素子を分離する特殊なプロセッサを設けるか、或いはプロセッサ素子を別々にアクセス可能又はアドレス可能にする特殊なプロセッサを設けて、ある形式の処理オペレーションに使用されない素子を共通の又は部分的に重畳する時間周期中に他のオペレーションに使用できるようにすることが明らかであろう。又、本発明では、プロセッサ内に全ての構造を複写せずにプロセッサ素子の多数のインスタンス生成又はコピーを単一のプロセッサ内に与えることができる。図２０の実施形態では、仮想処理環境及びマルチプレクスされた隔離又は分離パラメータを例示する以下のテーブルＩに示すように、仮想製品空間内に５つの仮想処理環境が定義される。
【０２４３】
この仮想処理空間により与えられるパラダイムは、ロジック回路（例えば、１つ以上のスイッチ又はスイッチング素子）を使用して、例えば、入力信号を選択するときに、マルチプレクサの複数の入力の１つをマルチプレクサの単一の出力として選択し、電気的システムの後続回路に与えるマルチプレクシングオペレーションに類似させることができる。
【０２４４】
テーブル１．仮想処理環境及びマルチプレクスされる隔離又は分離パラメータの例
2007524161.tif 000003
【０２４５】
本発明のシステム、装置及び方法において、外部プロセス（又はその定義コマンド、命令、及びデータ）は、仮想プロセッサ空間内のリソースの特定セット（仮想処理環境と称される）へ選択的にルーティングされ又はマルチプレクスされる。仮想処理環境は、同様に、物理的又は論理的スイッチのセット、スイッチング素子、或いはスイッチ又はスイッチング素子のセット（例えば、マルチプレクサ、又はマルチプレクサのセット）により定義されてもよい。
【０２４６】
図２０は、Ｎ次元の仮想処理空間２９５０が、ＶＰＥ１  ２９５１、ＶＰＥ２  ２９５２、ＶＰＥ３  ２９５３、及びＶＰＥ４  ２９５４を含む複数の仮想処理又は計算環境を定義する実施形態を示す。又、これら仮想処理又は計算環境の幾つかは、物理的処理又は計算環境にも対応し得る。仮想処理空間（ＶＰＳ）及び仮想プロセッサ環境（ＶＰＥ）のコンフィギュレーション、割り当て、及び制御ユニット（ＣＡＣＵ）２９６０は、物理的処理リソース、例えば、プロセッサ（１つ又は複数）、メモリ、キャッシュ、Ｉ／Ｏ装置、キーボード、ディスプレイ、ＣＤ  ＲＯＭ、及び必要とされる他の処理要素又は周辺機器を構成する役割を果たす。この実施形態では、ＶＰＳ２９５０は、物理的プロセッサ認識次元軸２９５５、処理時間セグメント次元軸２９５６、及び命令又は処理形式次元軸２９５７に沿って定義される。この実施形態では、定義される命令又はプロセス形式は、フローティングポイント形式、グラフィックレンダリング形式、及び通信形式である。他の形式が定義されてもよいことは明らかであろう。一実施形態では、命令又はプロセス形式が識別され、これは、処理システムリソースの異なる態様を使用することができる。更に、図１６及び図１７のシステムの動的に構成可能で且つスイッチ可能な要素に対して述べたように、処理システムには、要望される１組の構成可能なリソースを設けることができ、そしてこれらの物理的素子は、特定のプロセスに割り当てることができる。特定の仮想処理実施形態を定義するための能力は、物理的処理リソースに基づいて制限され、それ故、希望の仮想（又は物理的）処理又は計算環境をサポートするように仮想処理空間を定義する能力は、存在する物理的リソースに依存することが明らかであろう。物理的リソースを拡張するような変更は、ＶＰＳの次元の拡張を許す。特定のコンフィギュレーションのために冗長なリソースが設けられる場合には、ＶＰＳ２９５０は、特定のＶＰＥの多数のインスタンス生成又はコピーを与えることができる。
【０２４７】
又、ＣＡＣＵ２９６０は、信頼性のあるテンプレートソース２９５８とも通信してこれを制御し、このテンプレートは、既知のきれいなそして機能的なバージョンと、オペレーティングシステム、プログラムアプリケーション、ドライバソフトウェア、システム又はプログラムパラメータ及びデータ、或いは他のソフトウェアエレメントであって、特定の処理オペレーションを取り扱うために要求され又は要求されるかもしれないソフトウェアエレメントとを記憶し又はそれらを発生する。テンプレートが変更又は汚染から保護され、そして信頼性のある処理コード及び命令のソースとして使用される仕方は、本明細書のどこかに説明すると共に、ここに援用した関連特許出願の明細書にも説明されており、それ故、ここでは、説明を繰り返さない。
【０２４８】
分離記憶割り当てコントローラロジック２９６２は、プロセス入力２９４１（例えば、プロセッサ入力Ｐ1２９４２−１、Ｐ2２９４２−２、・・・ＰK２９４２−Ｋ）を特定の分離記憶装置ロック（ＩＳＬ）２９４３（例えば、ＩＳＬ1２９４４−１、ＩＳＬ2２９４４−２、・・・ＩＳＬM２９４４−Ｍ）に接続するという役割を果たす。分離記憶割り当てコントローラ２９６２は、考えられる接続のウェブ又はファブリックの接続をスイッチするように動作して、特定のプロセスが、使用可能なＩＳＬ２９４３に排他的にルーティングされそして接続されるようにする。これらのＩＳＬは、次いで、適切な仮想処理環境へ接続され、そこで、接続が実際に物理的リソースとでなされる。プロセス入力を、入力分離（又は入力ＩＳＬ）を経てプロセッサ（例えば、ＶＰＥの物理的表示）に接続すると共に、プロセッサ出力を、出力分離（又は出力ＩＳＬ）を経て接続することに関連したオペレーションを、図２１の方法について説明する。要素を動的にスイッチして構成するためのオペレーションは、既に説明したので、ここでは、説明を繰り返さない。入力プロセスの中のＩＳＬの動的な割り当ては、必要とされず、固定でよいが、このような動的な構成及び割り当ては、このような動的な構成及び割り当てにより付加的な融通性が与えられるので、効果的である。
【０２４９】
三次元仮想処理空間は、図２０の実施形態においてプロセッサ番号、時間セグメント及びプロセス形式に対して説明したが、次元は、これらの次元のみに限定されるものではない。例えば、物理的構造、命令セット及びフォーマット、データセット及びフォーマットが適切に構成された状態では、次元を、他の処理パラメータ、変数、条件、等へ拡張することができる。更に、以上の説明は、パーソナルコンピュータ、ノートブックコンピュータ、サーバー、ルーター、パーソナル情報装置、パーソナルデータアシスタント、情報機器、セルラー電話、テレビジョン、家庭用機器、自動車電子装置、工業用制御及びオートメーション、ロボット、航空機制御及び他の計算及び情報処理システム及び装置に現在一般的に使用されるデジタル計算を示唆したが、本発明は、これらに限定されない。例えば、本発明は、アナログ計算及び信号処理や、デジタル計算及びデータ処理や、ハイブリッドのデジタル−アナログ装置及びシステムも適用できる。又、本発明は、周波数、波長、伝播モード、及び他の光学装置及びシステムパラメータのような付加的な次元を選択してマルチプレクスできるような光学的計算にも適用できる。光学、デジタル、及び／又はアナログ素子を任意の組合せで設けて、ここに定義された仮想処理空間及び複数の仮想処理環境の構成、割り当て及び制御を行うことができる。構成、割り当て及び制御は、製造時に固定されてもよいし、プログラミングオペレーションにより確立されてもよいし、或いはオペレーションポリシーに基づいてオペレーション中に制御素子により動的にセットされてもよい。
【０２５０】
本発明のシステム、装置及び方法の実施形態は、種々の形式のスイッチング、相互接続、マルチプレクシング、選択、構成、及び／又はマルチプレクシングのいずれかを使用して、処理されるべきタスクに対して希望の構造を達成することができると共に、それら構造及び手順にとって適当であるように単一の処理システム内で異なる形態を同時に使用することができる。種々のスイッチ及びスイッチング並びに制御機構及び方法を他の実施形態について説明したが、これらの機構及び方法は、これらの実施形態にも使用できる。
【０２５１】
この技術では多数の形態又は形式のマルチプレクシングが知られており、他の形態及び形式が将来開発され、そしてそれらのいずれか又は全部を本発明のシステム、装置及び方法に関連して使用できることが明らかであろう。以下のリストは、一例として与えられるもので、これに限定されない。アドレスマルチプレクシング、バースト時分割マルチプレクシング、コード分割マルチプレクシング、デマルチプレクシング、差動マルチプレクシング、分離マルチプレクシング、マルチユーザマルチプレクシング、マルチユーザ空間的マルチプレクシング、直交周波数分割マルチプレクシング、偏光分割マルチプレクシング、空間分割マルチプレクシング、空間マルチプレクシング、サブキャリアマルチプレクシング、統計学的マルチプレクシング、時分割マルチプレクシング、波長分割マルチプレクシング、セキュアな仮想化、個別又はセキュアな処理又は計算環境を生成する方法、及び／又は情報、データのマルチプレクシング又は分割或いはコンピュータ処理のための他の技術、手順又は方法。又、これらのマルチプレクシング機構、仮想化機構、又は分割機構の１つ又は組合せを使用できることが明らかである。
【０２５２】
仮想処理空間（ＶＰＳ）及び複数の仮想処理又は計算環境の実施形態について述べたが、仮想処理空間内で各々の仮想処理環境を動作するプロセス及び方法について以下に説明する。ステップの順序は、一例に過ぎず、異なる順序を使用して同等又は同様の結果を得ることもできるし、リソースに対して競合が生じないところでは幾つかのステップを並列に実行できることを理解されたい。プロセス２９７０における各々のメインステップには番号が付けられ、そして各メインステップ内のサブステップが文字で示されている。又、図２１のフローチャートには、方法の実施形態が図式化されている。
【０２５３】
１．外部プロセスを識別し、そして信頼性のある仮想処理又は計算環境（及び任意の分離された記憶装置ロック）を生成し、構成し又は割り当てて、識別された外部プロセスを実行する（ステップ２９７１）
（ａ）正の数値の範囲内の整数をＫとすれば、考えられる複数の外部プロセス入力（ＥＰ１ｉｎ、ＥＰ２ｉｎ、・・・ＥＰＫｉｎ）の中から実行されるべき第１の外部プロセス入力（ＥＰ１ｉｎ）を識別する（ステップ２９７１ａ）。説明及び用語の簡単化のために、外部プロセス入力（ＥＰ１ｉｎ）及び外部プロセス出力（ＥＰ１ｏｕｔ）という語は、入力及び出力プロセスを各々指すと共に、このようなプロセスの実行の結果として発生するプロセスを実行するのに必要なコンテンツ（例えば、オペレーティングシステム要件及び／又はパラメータ、アプリケーションプログラム及び／又はパラメータ、コマンド、命令、データ、或いはプロセスを定義又は実行するのに必要な他のエレメント）を指す。
【０２５４】
（ｂ）正の数値の範囲内の整数をＮとすれば、Ｎ次元仮想処理空間（ＶＳＰ）内の考えられる複数の仮想処理環境（ＶＰＥ１、ＶＰＥ２、ＶＰＥ３、・・・ＶＰＥＭ）の中から第１の既知の信頼性のある仮想処理環境（ＶＰＥ１）を確立する（ステップ２９７１ｂ）。実行されるべきプロセスが計算プロセスであるか、又は更に簡単なことに、計算環境であるときには、仮想処理環境は、仮想計算環境とみなされてもよい。これらの処理又は計算環境は互いに且つ外部プロセスから分離されると共に、仮想又は物理的サブシステム又はユニットのいずれかであるから、それらは、ユーザアプリケーション処理であるか、システム制御であるか、或いは他のオペレーション又は処理タスクであるかに関わらず、いかなる目的についても使用できる分離処理ユニット計算環境とも称される。例えば、これらの仮想処理環境は、制御及びスイッチング計算環境、保護記憶装置計算環境、読み取り／書き込み制御計算環境、ユーザインターフェイス計算環境、ユーザ計算環境、制御計算環境、分離処理ユニット計算環境、ユーザインターフェイス計算環境、或いは他の計算又は処理環境として動作するように構成できる。これらの仮想計算又は処理環境は、静的に決定されてもよいが、動的に定義されて既存のシステム要素から構成できるのが効果的である。このようなシステム要素は、ローカルでもよいし、又は地理的に分布されてもよい。
【０２５５】
（ｃ）任意であるが、分離記憶装置ロック（ＩＳＬ１ｉｎ及びＩＳＬ１ｏｕｔについては以下を参照）は、以下に述べるように、必要に応じて利用できるように、この段階で識別され、構成され、及び／又は割り当てられる（ステップ２９７１ｃ）。分離記憶装置ロックは、コマンド、データ、或いは他の情報又はコンテンツを記憶できるが、ウイルス又は他のマリシャスコードかもしれないビットの集合は実行できないことに注意されたい。分離記憶装置ロックという句の中の「ロック」という語は、宇宙船や他の圧力又は汚染防止チャンバー又は環境内の「エアロック」に使用されるロックという語と同様に使用され、エアロックの片側の環境からエアロックの他側の環境への直接的な接続又は影響を防止するものである。
【０２５６】
２．外部プロセス入力を信頼性のある仮想処理環境へとセキュアにロードする（ステップ２９７２）
（ａ）ＥＰ１ｉｎを実行するのに必要な入力要素を記憶するための第１の既知の信頼性のある（クリアされた）分離記憶装置ロック（ＩＳＬ１ｉｎ）を確立する（ステップ２９７２ａ）。
（ｂ）ＥＰ１ｉｎをＩＳＬ１ｉｎに分離解除（結合）する（ステップ２９７２ｂ）。（結合及び分離は、固定されても又は動的に決定されてもよく、又、物理的でも、論理的でも、仮想でもよい。）
【０２５７】
（ｃ）ＥＰ１ｉｎをＩＳＬ１ｉｎにロードする。（ソースと行先との間のロード又は転送は、コピーされたときに（例えば、ＥＰ１ｉｎ又はＥＰ１ｏｕｔの）コピーされたコンテンツの複数のビットを実行できないコピーオペレーション及びコピー装置又はハードウェアを使用して実行されるのが好都合である）（ステップ２９７２ｃ）。更に、分離記憶装置ロック（ＩＳＬ１ｉｎ及びＩＳＬ１ｏｕｔ）は、それらの中に記憶されたコンテンツの複数のビットを実行できないのが好都合である。又、外部プロセスと仮想処理環境との間には決して結合がないのが好都合であり、そして（ｉ）外部プロセス入力のコピーは、入力分離記憶装置ロックを経て仮想処理環境へ通信され、更に、（ii）外部プロセス出力のコピーは、仮想処理環境から出力分離記憶装置ロックを経て外部プロセス（又は別の指定のプロセス）へ通信されることが明らかである。
【０２５８】
（ｄ）ＩＳＬ１ｉｎをＥＰ１ｉｎから分離する（論理的又は物理的に切断する）（ステップ２９７２ｄ）。
（ｅ）ＩＳＬ１ｉｎをＶＰＥ１に分離解除する（結合する）（ステップ２９７２ｅ）。
（ｆ）ＥＰ１ｉｎをＩＳＬ１ｉｎからＶＰＥ１へ転送／ロード／コピーする（ステップ２９７２ｆ）。
（ｇ）ＩＳＬ１ｉｎをＶＰＥ１から分離する（切断する）（ステップ２９７２ｇ）。
【０２５９】
３．分離仮想計算環境内で外部プロセスを実行する（ステップ２９７３）
（ａ）ＶＰＥ１を使用してＥＰ１ｉｎを処理して、ＥＰ１ｏｕｔ出力結果を発生する（ステップ２９７３ａ）。
【０２６０】
４．外部プロセス結果を出発外部プロセスへセキュアにアンロードする（ステップ２９７４）
（ａ）ＶＰＥ１によるＥＰ１ｉｎの実行から生じた出力要素を記憶するために第１の既知の信頼性のある（クリアされた）分離記憶装置ロック（ＩＳＬ１ｏｕｔ）を確立する（ある実施形態では、ＩＳＬ１ｉｎは、ＩＳＬ１ｏｕｔと同じであるが、他の実施形態では、それが異なる）（ステップ２９７４ａ）。
（ｂ）ＶＰＥ１をＩＳＬ１ｏｕｔに分離解除する（結合する）（ステップ２９７４ｂ）。
（ｃ）ＥＰ１ｏｕｔをＩＳＬ１ｏｕｔへ転送／ロード／コピーする（ステップ２９７４ｃ）。
（ｄ）ＶＰＥ１をＩＳＬ１ｏｕｔから分離する（切断する）（ステップ２９７４ｄ）。
（ｅ）ＩＳＬ１ｏｕｔをＥＰ１ｏｕｔへ分離解除する（結合する）（ここで、出力結果ＥＰ１ｏｕｔは、入力プロセスＥＰ１ｉｎと同じプロセスとみなされてもよいし異なるプロセスとみなされてもよい）（ステップ２９７４ｅ）。
（ｆ）ＥＰ１ｏｕｔをＥＰ１へ転送／ロード／コピーする（ステップ２９７４ｆ）。
（ｇ）ＶＰＥ１をＩＳＬ１ｏｕｔから分離する（切断する）（ステップ２９７４ｇ）。
【０２６１】
５．信頼性のある仮想処理環境を割り当て解除し、そして割り当てられた仮想処理空間リソースを解放する（ステップ２９７５）
（ａ）ＶＰＥ１ｉｎ又はＶＰＥ１ｏｕｔに割り当てられていた仮想処理環境又は仮想処理空間リソースを解除及び割り当て解除する（ステップ２９７５）。或いは又、リソースは、プロセスに対してそれらの利用がもはや要求されなくなった後にいつでも解除され及び割り当て解除されてもよいことに注意されたい（ステップ２９７５ａ）。例えば、リソースは、それらがプロセスに対して識別された後にプロセスにより使用するためのスケジュールが立てられてもよいが、必要になるまで他の外部又は内部プロセスのための利用可能なリソースのプールから除外される必要はない。
【０２６２】
ここに述べるプロセスは、希望の又は必要な分離程度を達成するための一実施形態に過ぎないことが明らかであろう。分離を達成するための他の方法及び手順が使用されてもよく、又、ここに述べる実施形態におけるステップの順序は、同じ結果を達成しながら変更されてもよい。
【０２６３】
単一のコンピュータ内で分離を伴い多数のプロセスストリームを時間的にマルチプレクシングする実施形態
本発明の一実施形態では、個別のプロセス又は処理ストリームが他の制御ロジックの制御回路により個別に保たれそして分離される。処理ストリームは、複雑な又は多部分プロセスを完了するのに２つ以上のプロセス実行が必要とされる場合に使用することができる。この点について、分離とは、コンピュータオペレーティングシステム及び／又はアプリケーションプログラム命令の実行のようなプロセスの実行を処理ロジック内の他のプロセスとは分離して実行する（それが望まれる場合に）ことを意味する。処理ロジックは、マイクロプロセッサ、プロセッサ、コントローラ、マイクロコントローラ、特殊目的のコプロセッサ、デジタル信号プロセッサ、光学的コンピュータ、アナログコンピュータ、又は処理オペレーションを遂行する他の装置又はシステムでよい。この説明は、単一のプロセッサコアを有する単一のプロセッサに注意を集中するが、そのアーキテクチャー及び方法は、マルチプロセッサシステムの各々又は選択された１つに或いは単一プロセッサの多数のコアに適用することもできる。又、本発明は、単一ボードに多数のプロセッサを有するコンピュータに、及び／又は異なるボード又は異なるマシン間に分布されるが互いに又は他のマスター制御ロジックとの通信のために結合された多数のプロセッサにも適用することができる。
【０２６４】
多数のプロセスは、物理的処理空間変数のいずれか１つ又は組合せに基づくか、或いは本書のどこかに述べる多次元仮想処理空間に基づいて、区別し又は分離することができる。幾つかの特に有用な変形は、処理リソースの少なくとも部分的共有セット内で処理タスクを時間的又は時間ベーススイッチング又はマルチプレクシング或いは時分割することを含む。このような処理状況は、例えば、多数のプロセスが、単一プロセッサを有するコンピュータ内で１つ以上のキャッシュ又は他の非常に高速な中間メモリをプロセッサロジックとメモリサブシステムとの間にもつ状態で時間的にマルチプレクスされる仕方のプロセスのときである。幾つかの現代のコンピュータでは、高速の中間メモリは、１つ以上のいわゆるレベル１（Ｌ１）及び／又はレベル２（Ｌ２）キャッシュメモリであり、そしてメモリサブシステムは、ランダムアクセスメモリ（ＲＡＭ）であるが、本発明は、これらのコンフィギュレーションのみに限定されず、又、キャッシュメモリのような中間メモリを必要としない。又、このようなコンピュータは、通常、オペレーティングシステム、アプリケーションプログラム、並びにオペレーティングシステム、アプリケーションプログラム及びユーザデータを記憶するためのハードディスクドライブのような１つ（又は２つ以上）の大量記憶装置を含んでもよい。将来、他の大量記憶不揮発性記憶システムが増加し、又はこれらハードディスクドライブの幾つかに置き換わることが予想される。
【０２６５】
あるプロセスを別のプロセスから分離することは、通常、例えば、あるプロセス又はプロセスストリームに生じた問題が、別のプロセス又は処理ストリームに衝撃を与え、或いはオペレーティングシステム、アプリケーションプログラム、システム又はプログラムデータを崩壊するのを防止し、或いはユーザデータが別のプロセスにより崩壊されるのを防止するために望まれる。これらの問題は、従来、コンピュータウイルス、コンピュータハッカーコード、コンピュータスパイウェア又はロボット（いわゆる「スパイボット」）、又は他のマリシャスコードにより引き起こされた。又、それらは、コンピュータオペレーティングシステム又はアプリケーションプログラムのバグ又はコードエラーや、何らかの一貫性のないコンピュータマシン設定、装置エラー、又は装置ドライバ問題から生じることもある。メモリ又はメモリサブシステム、例えば、キャッシュ又は他の中間メモリ（例えば、レベル１及び／又はレベル２キャッシュメモリ）、或いはメモリサブシステム（例えば、プロセッサ関連のＲＡＭメモリ等）において１つのプログラムプロセスと別のプログラムプロセスとの間に生じるメモリオーバーフローは、プログラムの欠陥又は汚染を頻繁に生じさせることがある。
【０２６６】
ユーザデータ及び／又はプログラム又はオペレーティングシステム要素の分離は、種々の仕方で達成することができ、例えば、これに限定されないが、論理的分離、メモリアドレスマネージメントに基づく分離、物理的分離、例えば、装置又はサブシステムのオペレーションをイネーブルする通信又は電源経路の全部又は一部分をスイッチ可能に切断してそれをディスエイブルすること、或いは特定の装置、システム又はサブシステムを１つ以上のプロセスに見えなくするオペレーションにより達成することができる。分離のためのこれらの方法及び手段は、短い時間周期中又は長い時間周期中の過渡的なものでよい。あるプロセスは、装置又はサブシステムを決して見ることがなく、又、アクセスすることもない。
【０２６７】
メモリマネージメントは、共有処理リソース、例えば、１つの物理的プロセッサ及び共有の物理的メモリしかもたない単一のコンピュータにおいて多数のプロセス又はプロセスストリームを処理するときに特に重要である。又、プロセッサの実行及び大量記憶装置のマネージメントは、計算又は処理システムにおいてマリシャスアクティビティを防止するための貴重なツールでもある。例えば、他のプログラムアイテム、データアイテム、ファイル、ユーザデータ等が存在しても、それを他のプロセスから隠し得る場合には、１つのプロセスが、コンピュータ或いは計算又は処理環境内を出る他のプロセス又はデータに関する情報をスパイしたり又はそれを取得したりする見込みが低くなり、ある実施形態では、そのような能力が排除される。
【０２６８】
他方、ある状況においては、信頼のあるユーザ（例えば、充分な許可及び防衛手段を有する管理者）が、信頼性のあるプログラムを実行して、処理システムの運営上の健全さを決定し、システムのアクティビティを監視し、及び／又は修正アクションをとるか、さもなければ、システムオペレーションを維持管理することができるようにするのが望ましい。それ故、本発明の実施形態は、プロセスごとに分離又は非分離の選択を与える。
【０２６９】
幾つかの問題に対処するためにソフトウェアベースの分離の程度を与える幾つかの試みがなされているが、希望するときに分離を保証することができず、それ故、知識があって洗練されたハッカーやウイルスが利用するための入力ポイント、急所(Achilles-Heal)、又は他の機会を許すことになる。マイクロソフトウインドウズの種々のバージョン（Ｗｉｎｄｏｗｓ９８、９８ＳＥ、ＮＴ、２０００、ＸＰ、等）のオペレーティングシステムは、このオペレーティングシステムに対するアプリケーションプログラムをもつものとして特にターゲットとなっている。又、例えば、アップルコンピュータ製品、種々のパーソナルデータアシスタント、セルラー電話、及び他の情報機器のための他のオペレーティングシステムもターゲットとなっており、攻撃を受け易い。
【０２７０】
ここに述べる本発明の時間的マルチプレクシングは、単一の物理的計算マシン、多プロセッサ計算マシン、いわゆる二重コア又は多コアのプロセッサを有する単一プロセッサ、或いは仮想計算マシン（例えば、これに限定されないが、ここに述べる仮想計算マシン及び仮想計算空間）に使用することができ、これらコンフィギュレーションのいずれにおいても、時間に加えて、付加的なマルチプレクシング又は処理次元があり、及び／又はプロセスに関連した実際の時間又は時間的シーケンスがあってもよいし、なくてもよい。又、本発明のシステム、装置、アーキテクチャー及び方法は、それらの基礎的なテクノロジーとは独立して計算マシンに適用することもでき、これら計算マシンは、例えば、光学的計算マシン、デジタル計算マシン、アナログ計算マシン、生物学又は神経学に基づく計算マシン又はシステム、及び／又はハイブリッド型の計算マシンを含み、又、上述した計算テクノロジーの組合せを含むが、それらに限定されない。又、本発明は、計算要素を含む種々の非計算マシン、例えば、テレビジョン、娯楽システム及び装置、ビデオプロセッサ、自動車及び航空機シミュレーション及び／又は制御システム、及び／又はプロセッサ又は処理ロジックを有する他の装置又はシステムにも適用することができる。
【０２７１】
個別のプロセスが個別に保持される仕方を不明瞭にしないために、以下の説明は、単一のプロセッサを有する計算マシンに限定する。この場合、Ａ、Ｂ及びＣと称される３つの入力処理ストリームは、各々、メンバーＡ1、・・・Ａi、Ｂ1、・・・Ｂj、及びＣ1、・・・ＣKを有し、但し、Ｉ、Ｊ及びＫは、正の整数である。本発明は、この実施形態について述べるように、形式又はアプリケーションとは独立して、他の物理的及び仮想計算及び処理システムへと容易に拡張することができる。
【０２７２】
物理的又は論理的又は仮想の計算マシン、例えば、仮想処理又は計算環境の１つにおいて、処理リソース又は装置又は回路の時間的共有を許すのに加えて、本発明のシステム及び方法は、計算環境に存在する異なるプロセスが汚染から保護されるように分離を維持する。これは、各プロセスによりメモリを見及び／又はメモリにアクセスするのを個別に制御して、見たりアクセスしたりする権利を有する処理環境のメモリ及び他の要素の部分しか見えず且つそこにしかアクセスできないようにすることで、少なくとも一部分達成することができる。更に、許されたときだけ見ることができ及び／又はアクセスできることは、読み取り専用のアクセスでもよいし、或いは部分的又は完全な読み取り及び／又は部分的又は完全な書き込みオペレーションの両方を許すこともできる。最後に、装置又は回路が見えるようにされるときでも、装置、装置特徴、又は装置の他の能力の一部分しか観察できないように、見えるものを制限することができる。一実施例では、メモリ装置の異なる排他的部分が見えるようにされ、そして２つの異なるプロセスへの読み取り／書き込みアクセスを行える一方、監視プロセスは、メモリ全体の読み取りしか行うことができない。
【０２７３】
従来技術では、コンピュータハッカー又はウイルスがコンピュータのオペレーションを破壊してメモリやバッファをオーバーフローさせることが知られている。これらマシンにおけるメモリの制御は、主としてソフトウェア制御のもとにあり、このソフトウェアは、ＢＩＯＳ、オペレーティングシステム、アプリケーションプログラム、又はそれらのある組み合せに存在する。これらは、全て、通常は、ハッカーやウイルスや又は他のマリシャスコードにアクセスし得るので、ユーザの知らないうちに又はユーザの許可なしに、それらにアクセスして変更することができる。
【０２７４】
本発明は、メモリの構成及び制御を含む処理環境の構成及び制御を真新しい環境（ひいては、信頼性のある環境）に維持し、従って、意図されないエラーやマリシャスハッカー又はウイルスコードがこの構成又は制御にアクセスしてそれを変更し、コンピュータシステムやコンピュータシステム内のデータ又は他の情報に障害を及ぼすことがないようにする。それ故、他のプロセス、又はそれらプロセスに属するデータの汚染も、防護される。一般に、コンピュータシステムにマリシャスコードが存在する場合でも、それが汚染を生じさせるには、実行エージェント（例えば、中央処理ユニット又はＣＰＵのようなプロセッサ内の回路の全部又は一部分、或いは他のロジック処理装置又は回路）及び別のプログラム及び／又はデータの両方にアクセスしなければならないことに注意されたい。実行エージェントしか存在しない場合には、マリシャスコードを実行できるが、別のデータ又はプログラムエレメントを汚染することはできない。マリシャスコードが分離を伴わずに別のプログラム又はデータと共に（例えば、共通のハードディスクドライブに）記憶されるだけであって、同時にプログラム実行エージェントへアクセスできない場合には、マリシャスコードが他のプログラム又はデータアイテムを汚染することはない。又、データが実行可能なコードのようなプログラム情報であったり又はそれを随伴したりすることもあり、このため、ファイル形式の拡張から単に実行不能なコードに見えるファイルも疑わねばならないことに注意されたい。分離は、物理的でもよいし、論理的でもよいし、仮想でもよいし、或いは他の手段又は手段の組合せでもよいことを想起されたい。
【０２７５】
本発明の実施形態は、これら特徴の両方を与える。１つの特定の実施形態では、実行プログラムにより書き込むことも、さもなければ、変更することもできない信頼性のあるリードオンリメモリ（ＲＯＭ）に、メモリ構成及び制御が維持される。信頼できるセキュアな仕方で必要な変更を行うことができるように、信頼性のある特殊な手順が設けられている。別の実施形態では、ハードウェアＡＳＩＣを使用してメモリ構成及び制御が維持される。又、別の実施形態では、変更可能であるが、コンピュータのプロセッサで実行されるプロセスのような信頼性のないソースから発生するプロセスでは変更できないファームウェアを有するハードウェアＡＳＩＣを使用してメモリ構成及び制御が維持される。メモリ構成及び制御は、特定のプロセスに割り当てられる固定サイズの単一の物理的メモリで設定されてもよいし、或いは統計学的な監視を使用するか、又は同時処理環境の数と、実行が予想されるプロセスのメモリ又は他のリソース要求とを示唆するユーザプロフィールを経て動的に決定されてもよい。
【０２７６】
本発明の実施形態は、例えば、真新しい、信頼性のある、そして安定した埋設マスターテンプレートを使用することにより処理又は計算タスクを（成功で又は不成功で）完了した後に計算環境の修理プロセスを排除又は簡単化する。このような場合には、処理環境をフラッシュ又はクリアし、次いで、回復させる必要がない。例えば、本発明の実施形態は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＸＰオペレーティングシステム（又は他のオペレーティングシステムソフトウェア）と、その処理環境に必要とされる他のアプリケーションプログラムとを記憶するリードオンリメモリを備えてもよい。異なる処理環境が、埋設又は記憶された異なるオペレーティングシステム及び／又はアプリケーションプログラムを備えてもよい。更に、ある解決策では、ある要素を埋設し、そして必要に応じて他の要素をロードして、融通性を許すと共に、速度及びスループットを高めることができる。例えば、一実施形態では、オペレーティングシステムを埋設し、そしてアプリケーションプログラムを書き込みアクセス可能なメモリにロードすることができる。このような実施形態では、埋設されたオペレーティングシステムは、フラッシュさせそして復帰させる必要はないが、汚染のおそれがあるアプリケーションプログラムを記憶しているメモリは、その処理タスクが完了した後に、フラッシュさせ、次いで、既知の真新しい状態に復帰させる。
【０２７７】
図２２を参照し、３つのプロセスＡ、Ｂ及びＣの時間的にマルチプレクスされるオペレーションに対する１つのアーキテクチャー及びオペレーションシナリオを、単一のプロセッサ及びメモリについて以下に説明する。説明の便宜上、３つのプロセス（「Ａ」、「Ｂ」及び「Ｃ」）は、プロセッサが利用できるのを待機しており、且つ同時にスタートするものと説明上仮定する。当業者が知っているコンピュータシステム、プロセッサ、メモリ等の従来の要素は、本発明を不明瞭にしないために示されていない。
【０２７８】
コンピュータシステム３００２は、レベル１（Ｌ１）キャッシュ３００６を有するプロセッサ３００４と、入力ソース３０１０から１つ以上の入力ストリームを受け取るための１つ以上の入力バスポート３００８と、受信器３０１４へ１つ以上の出力ストリームを通信するための１つ以上の出力バスポート３０１２と、状態３０１６及び制御３０１８を通信するためのポート又はピンを備えている。又、プロセッサは、オンチップ、オンボード、又は他のメモリ、例えば、レベル２（Ｌ２）キャッシュ３０２０及びランダムアクセスメモリ（ＲＡＭ）３０２２と通信するためのバス又は他の手段も備えている。このプロセッサは、従来のプロセッサ又はマイクロプロセッサでもよいし、或いは特殊設計のものでもよい。又、本発明のアーキテクチャーは、タイミング、アドレス制御、及びスイッチング（ＴＡＣＳ）ロジック３０３０も備え、これは、入力又は入力のセット３０３６を受け取るための入力バスポート３０３２と、出力又は出力のセット３０３８を通信するための出力バスポート３０３４とを備えている。この実施形態では、ＴＡＣＳロジック３０３０は、入力３０４０としてプロセッサ３００４に意図された入力３０３６を受け取ると共に、プロセッサ出力３０４２を受け取ってそれを更に処理して出力３０３８を発生するように接続される。
【０２７９】
ＴＡＣＳロジックは、入力ストリーム３０３６のシリアライザロジック、又は他の入力プロセスストリームシリアル化手段３０４４を備え、これは、入力プロセスストリーム３０３６（この例では、３つの入力プロセスＡ、Ｂ及びＣ）を受け取り、そして任意であるが、それらをパーズするか、さもなければ、それらの中の処理される要素を識別する。シリアライザという語は、考えられる最も広い意味をもつように意図され、入力ストリームをビットごとに、バイトごとに、ワードごとに、又は他の特定の仕方で処理することに限定されず、むしろ、入力ストリーム特性を１つ又はある組合せで有する入力ストリームを１つ又はある組合せで受け容れて、その各々のストリームを規定の１組のポリシー又はロジックに基づいて処理して、その出力を発生できるものである。（デシリアライザも、同様に、入力を１つ又はある組合せで受け取ってデシリアライズし、その出力を発生することができる。）又、これは任意であるが、特定の処理サイクル中に各プロセスにより使用されるべきプロセッサの要素も識別できるが、これは、主として、プロセッサの他の要素を１つのプロセス又は別のプロセスに別々に割り当てるべきときに効果がある。これらの要素は、例えば、単一の命令でもよいし、単一の命令にそのデータを伴うものでもよいし、多数の命令でもよいし、或いは典型的な計算マシン及び方法に存在するようにコマンド、命令、データ等の他のセットでもよい。この例では、シリアライザ３０４４は、Ａの１つの要素（例えば、Ａ1）と、その後にＢの１つの要素（例えば、Ｂ1）と、その後にＣの１つの要素（例えば、Ｃ1）とを取り上げ、次いで、各々終りとなるまでＡ（例えば、Ａ2）、Ｂ（例えば、Ｂ2）及びＣ（例えば、Ｃ2）について繰り返し、そして付加的なプロセスストリームを取り扱う。他の例では、所定の又は動的に決定されたポリシーに基づいて入力３０３２において待機中の処理ストリームから選択を行うことができる。入力ストリームの数に制限はなく、そして一実施形態では、ＴＡＣＳロジック３０３０及びプロセッサ３００４が処理のためにそれらを受け容れる準備ができるまで待ち行列に入れられる。通常、Ａ、Ｂ又はＣの１つは、長さが異なり、最初に終了するが、次のプロセスストリームＤをパーズしてシリアル化するまで他のものが終了するのを待機する理由はない。実際に、プロセスは、互いに完全に独立して実行される。他の構成を実施することもでき、例えば、プロセッサストリームＢの方がプライオリティが高い場合には、Ｂの多数の要素がＡとＣの単一要素間に散在され、例えば、シリアル化されたストリーム「・・・Ａ1Ｂ1Ｂ2Ｂ3Ｃ1・・・」となる。
【０２８０】
プロセッサチップ３００４上のＬ１  ３００６又はＬ２  ３０２０キャッシュメモリ又は他のバッファメモリのようなプロセッサメモリや、ＲＡＭ３０２２のような外部メモリがプロセスの絶対的分離を維持するように制御されるプロセスの実施形態について以下に説明する。メモリ内分離を与える別のやり方は、個別の物理的メモリチップ、キャッシュ又は他の高速中間メモリ、又は他のメモリサブシステム、例えば、ＲＡＭメモリを設けることであるが、これは、コスト、相互接続、及び他の事柄から好ましくない。多数のプロセッサ又は多数のプロセッサコアが実施される場合には、個別の物理的メモリデバイス又はチップをもたせることが、より実現可能である。更に、ある実施形態では、多数のプロセッサコア、及び各コアに関連した高速メモリを設け、個別のメモリサブシステム（例えば、外部ＲＡＭ）が必要とされないようにする。
【０２８１】
しかしながら、全ての実施形態が、プロセスの絶対的分離又は隔離を必要とし又はそれから利益を得るのではなく、ある実施形態では、許可された信頼のある管理者がコンピュータのオペレーションをモニタすることを許す信頼性のある監視プロセスが設けられてもよい。プロセス間に規定の信頼性レベルがある場合には絶対的な分離を伴わずに動作する他のプロセスも許される。更に、複数の入力及び出力が一緒にグループ編成されて、ここに述べる分離レベルで処理される限り、信頼性がなくても複数のプロセスを一緒に処理することができる。例えば、２つの異なるアプリケーションプログラムを使用してワード処理オペレーション及び写真編集プロセスを遂行するように処理環境を生成してもよい。この処理環境の入力及び出力がテキストドキュメント及びピクチャーファイルであっても、本発明は動作する。というのは、本発明は、処理又は計算環境からの入力又は出力の特性又はコンテンツが何であるか心配しなくてよいからである。
【０２８２】
この実施形態では、シリアル化ストリーム３０５０は、信頼性のあるＴＡＣＳロジック３０３０により発生され、又、ＴＡＣＳロジックは、見掛け上のプロセス環境コンフィギュレーション（簡単に言えば、コンピュータの物理的又は論理的コンフィギュレーション）を、取り扱われているプロセス要素に基づいて変更する。ストリームＡ、Ｂ及びＣの要素が上述したようにシリアル化される一実施形態では、タイミング制御回路が、各要素に対する異なるコンフィギュレーションをそれが受信されるときに読み取って適用するように動作する。ＴＡＣＳロジックは、異なるコンフィギュレーションレコード（例えば、信頼性のあるＲＯＭからのＢＩＯＳコンフィギュレーション）を各々の瞬間に効果的に読み取り、プロセスＡに専用の各時間スライスごとに、プロセスＡに対して識別されるメモリ又は他のコンピュータ環境素子しか見ないようにし、これは、Ａに割り当てられたメモリしか見ないことを含み、プロセス「Ａ」に指定されたメモリ（アドレス）範囲以外の他のメモリに偶発的にアクセスすることがないようにする。
【０２８３】
一実施形態では、このメモリ管理及び制御は、プロセッサ３００４がＬ１及びＬ２キャッシュのあるアドレス範囲（又は他の識別された部分）及びＲＡＭに対して書き込み及び読み取りを行うようにさせることで達成される。これは、例えば、各メモリの１つの領域しかプロセッサに見えないようなアドレス再マッピング機構を使用して達成することができ、これらの領域は、各メモリ（例えば、Ｌ１、Ｌ２、ＲＡＭ、及び大量記憶装置ディスクドライブ）の異なるアドレス範囲へマップされ、さもなければ、それで識別される。換言すれば、プロセッサは、第１のＬ１キャッシュアドレス範囲ＡＤＤＲ１  ３０６１を見るが、それは、処理プロセス「Ａ」が、実際に、プロセス「Ａ」に関連したアドレス範囲ＡＤＤＲ２  ３０６２に対して読み取り又は書き込みを行うとき、又、処理プロセス「Ｂ」が、実際に、プロセス「Ｂ」に関連したアドレス範囲ＡＤＤＲ３  ３０６３に対して読み取り又は書き込みを行うとき、そして処理プロセス「Ｃ」が、実際に、プロセス「Ｃ」に関連したアドレス範囲ＡＤＤＲ４  ３０６４に対して読み取り又は書き込みを行うときである。他の記憶装置、例えば、ハードディスクドライブ記憶装置、レベル２キャッシュ、及びＲＡＭにも、同様のマッピング又は識別が行われる。同様に、他の装置は、分離を維持するために特定のプロセスへとマップされ、又はそれで排他的に識別されてもよい。この場合も、本発明の実施形態では、マッピング又は排他的識別或いは指定は、単にオペレーティングシステムやソフトウェアの再指定ではなく、あるプロセスが他のプロセスを見ず、それに気付かないように、コンピュータシステムのコンフィギュレーション又は要素を再定義する信頼性のある制御を含む。
【０２８４】
ここに示す実施形態では、ＴＡＣＳ３０３０は、Ｌ１キャッシュ３０６５への制御（及び任意の状態）信号、Ｌ２キャッシュ３０６６への信号、ＲＡＭ３０６６への信号、及び大量記憶装置又は他の装置３０６８への任意の信号を介して、メモリアドレスを制御するという役割を果たす。
【０２８５】
プロセスＡ、Ｂ又はＣの１つがウイルス又は他のマリシャスコードを含みそしてそれを実行することは、問題ではない。汚染されることのあるいかなる共通のプロセス環境素子も、別のプロセスで使用される前にクリアされ、リセットされ、又は修理され、そして保持される必要のあるプロセス環境のいかなる素子も共有されない。それ故、プロセスＢがウイルスを実行する場合には、このような実行の影響が、プロセスＢに割り当てられたメモリにしか現われない。Ｂプロセスが完了又はエラーにより終了すると、Ｂ割り当てメモリがリセットされ、汚染が他のプロセスに伝播することはない。しかしながら、通常、プロセッサの内部要素（例えば、キャッシュメモリに記憶されたコンテンツを除く）は、別のプロセスの残留素子を保有しない。というのは、次のプロセス（例えば、命令、又は関連データを伴う命令）や、そのような残留素子それ自体が、障害を引き起こしたり汚染を招いたりするようにそれ自体が動作しないからである。コードがプロセッサ素子（例えばレジスタ等）をトランシットさせる場合には、そのようなコードは、そこに保有されないので無関係であり、そして次のコードは、その残留素子を有効にパージするが、記憶装置がある場合には、その素子をフラッシュするか、さもなければ、リセットするか、又は既知の信頼性のある状態へと真新しくしなければならない。本発明の特徴に関連して使用でき且つ有害な残留特徴を含むことのある従来のプロセッサアーキテクチャー及び装置の場合には、このような素子をクリアし又はリセットすることができる。これは、タイミングアドレス制御及びスイッチングロジックにより考慮に入れることができる。例えば、命令又はコードをクリアすることは、潜在的に有害な命令又はプロセスの後に導入されてもよく、或いはこのような有害なものが事前に予想できない場合には、プロセスをクリアしたりリセットしたりすることは、別のプロセスにより所有される各プロセス間に導入してもよい。将来開発されるプロセッサアーキテクチャーについては、クリア又はリセットプロセスを入力ストリームに挿入する必要なくプロセッサのスループットを改善するためにクリア又はリセット特徴をプロセッサアーキテクチャーに組み込んでもよい。
【０２８６】
プロセッサ３００４がその出力３０５２を発生すると、それらは、プロセッサ側の入力ポート３０７０により受信されそしてＴＡＣＳロジックにより処理されて、結合出力ストリーム３０５２をデシリアライズすると共に、適切な出力順序を与える。出力ストリーム３０３８は、入力ストリーム３０３６の順序に一致する順序で示されているが、この一致する順序付けは、タグ又は他のプロセス識別子を使用して特定の出力がどのプロセスに関与するか識別するときには、必要とされない。
【０２８７】
特定のタイミング、アドレス制御及びスイッチングロジック（ＴＡＣＳロジック）３０３０をいかに使用するかの特定の実施形態について説明したが、当業者であれば、別の構造及び方法を使用して本発明の別の実施形態を達成できることが明らかであろう。このような実施形態が図２３に示されており、この図は、アドレス範囲の制御を使用するコンピュータにおいて複数の処理間に制御された分離程度を維持するためのシステムの別の実施形態を示す。コンピュータプログラム命令又は他の命令を処理するためのロジック、例えば、プロセッサ、コントローラ、又は中央処理ユニットであるプロセッサロジック３０８０は、ある内部アドレス制御ロジック３０８１を備えている。種々の形態のプロセッサアドレス制御ロジックがこの技術で知られており、ここでは、詳細に説明しない。個別のアドレス制御及び分離ロジック３０８２が設けられるか、或いは本発明のアドレス分離及び制御ロジックの特徴がプロセッサのアドレス制御ロジックに組み込まれるか、さもなければ、プロセッサ３０８０内に設けられる。アドレス分離及び制御ロジック（ＡＩＣＬ）３０８２は、制御及び状態信号をプロセッサ内のアドレス制御ロジック３０８１に通すと共に、必要に応じて、アドレス可能なメモリ／キャッシュ／記憶装置サブシステム（１つ又は複数）に通す。アドレス可能なメモリ／キャッシュ／記憶装置３０８５は、例えば、ＲＡＭ、ＲＯＭ、キャッシュメモリ、ハードディスクドライブ、或いは他の記憶装置又はメモリマップ入力／出力装置でよいが、これらに限定されない。入力は、ＡＩＣＬ３０８２により受け取られて、ある制御信号３０８３を発生するように処理され、この信号は、アドレス制御ロジック３０８１及びアドレス可能なメモリ３０８５へ通信することができる。或いは又、ＡＩＣＬ３０８２が、ある制御信号３０８３を発生し、これがアドレス制御ロジック３０８１に通信され、次いで、アドレス制御ロジックが、付加的な制御信号３０８９（及び任意であるが、受信状態信号）をアドレス可能なメモリ３０８５に通信することができる。ＡＩＣＬ３０８２の構造は、一般に、処理されるべき入力３０８６の性質に依存し、これは、静的に定義されてもよいし、又は入力に基づいて動的に決定されてもよい。出力３０８７は、通常、従来のプロセッサの対応入力に対して発生された同じ出力であるが、ウイルス又は他のマリシャスコードの実行のような異常な処理状態を任意に抑制することができると共に、発生することのあったエラーや例外的状態（又はシステム欠陥）が発生することはない。
【０２８８】
図２２の実施形態では、時間的マルチプレクシングに適用できることが強調され、個別のプロセス又は処理ストリームは、他の制御ロジックの制御回路により個別に保たれ且つ分離されることを想起されたい。又、多数のプロセスは、物理的処理空間変数の１つ又は組合せに基づくか、又は本書のどこかに説明された多次元仮想処理空間に基づいて、多数のプロセスを区別又は分離できることを想起されたい。完全な分離又は制御された分離程度の理由及び利益は、本書のどこかに説明されており、１組の分離変数又はパラメータに対して定義できる多次元処理空間であるので、ここでは説明を繰り返さない。
【０２８９】
一実施形態において、１つのタイムスライス又は周期中に実行される制御環境は、それ以前のタイムスライス又は周期中に非制御プロセスによりファイルされるか又は去られたオペレーションに対する要求を受け取る。この要求は、別のプロセスと共有されるが、そのプロセスを汚染することがないように行われるか又はファイルされる。例えば、実行可能なコードを搬送できない単一ビット又は少数のビットがプロセッサ又は他のロジック内の１つ又は多数のレジスタに記憶される。制御環境は、これらのレジスタを見るか又は問合せをし、そして別のプロセスにより要求がなされたことを確認すると、フラグ又は他の指示子（この場合も、例えば、レジスタにおけるビット又は少数のビット）によりアクセス又は許可を承諾するか或いはオペレーション又は能力に対してアクセス又は許可を拒絶することができ、従って、要求を発しているプロセスが次に計算環境を使用できるときに、オペレーション又は能力を利用できる。オペレーション又は能力は、一般に、他のプロセス又はデータを汚染に露出することのあるオペレーションや状態を制御環境が許さないような構成を計算環境が与えることのできるオペレーション又は能力でよい。許されるオペレーション又は能力は、例えば、１組のルール、ポリシー、テーブル、ロジック、又は他のやり方で定義することができる。ある実施形態では、許可又はアクセスの承諾は、見かけ上の計算環境のコンフィギュレーションを変更し、記憶装置、例えば、ハードディスクドライブ又は他の大量記憶装置、プロセッサ関連メモリサブシステム、例えば、ランダムアクセスメモリの全部又は一部分、１つ以上のプロセッサ関連高速中間メモリ、例えば、キャッシュメモリの全部又は一部分を見えるようにすると共にアクセス可能にし、入力又は出力ポートを使用可能にするか又は隠し、ネットワークインターフェイスカードを使用可能にするか又は隠し、及び／又はより一般的には、１組のデバイス、回路、ロジック、オペレーション、ハードウェア又はソフトウェアのエレメントを隠し、制限し、オープンし、クローズし、さもなければ、要求を発しているプロセスに対して使用可能又は使用不能にする。１つのエレメント又は能力に対して許可又はアクセスを承諾することは、当然、制御プロセスが他のものへの許可又はアクセスを制限又は拒絶し、従って、適切な分離程度が維持されるようにする。許可又はアクセスの承諾又は拒絶は、例えば、スイッチ又は１組のスイッチが閉じて物理的経路を生成したり或いは装置又は回路を始動したりする物理的な変化や、計算環境内の物理的ハードウェアロジック又はソフトウェア又はファームウェアを変更する論理的な変化や、異なる仮想、論理的又は物理的処理又は計算環境を変更又は生成する他のやり方で生じ得る。これらの組合せは、ルール、ポリシー、テーブル、ロジック、又は他の仕方で確立されるが、この確立は、非制御プロセスにより変更されないよう保護され、そして実際に、ある実施形態では、特殊な管理者特権を必要とする。本明細書のどこかに述べたように、計算環境に対するこれら変更の幾つかは、本明細書のどこかに述べる動的スイッチング及びコンフィギュレーション構造及び方法の態様を使用するか、又は他の構造及び方法を使用して確立することができる。
【０２９０】
必然的に共有される装置の中には、メモリサブシステム（通常、ＲＡＭ）と、このメモリサブシステムとプロセッサとの間の中間の高速メモリ（通常、プロセッサチップ又はチップセット上の１つ以上のキャッシュメモリ）がある。これらメモリの異なる部分は、上述したアドレス制御ロジック及び手順と、アドレス割り当て、マスター、データ、及び命令バスの利用性、記述テーブル等を構成しそして制御するために他の良く知られた技術を使用して、異なるプロセスに見えるようにされる。本発明の一実施形態では、メモリ又はレジスタにデータ構造で記憶できるような記述子テーブルを、通常、他のプロセスから隠して、あったとしても制御プロセスだけに見えるようにする。別の実施形態では、記述子テーブルの選択された部分が隠れた状態に維持され、一方、他の部分は、１つ以上のプロセスに選択的に見えるようにされ、そして他の実施形態では、個別の記述子テーブルが維持され、それらの１つ以上をプロセスに選択的に使用可能にするように制御が実行され、それらが見えるようにされたときでも、その見えることは、過渡的であるに過ぎず、又はプロセスの特定の命令又は一部分に対するものに過ぎない。従来、このような記述子テーブルは、全てのプロセスに見えるもので且つ全てのプロセスにアクセスでき、このように見えること及びアクセスできることは、マリシャスコードがこのような記述子テーブルのコンテンツを変更する機会を与え、従って、計算環境を変更しダメージを及ぼす能力を与え得る。制御プロセスへのものを除き、計算環境のメモリアドレス又は他の要素に関連したこのような記述子テーブルへのアクセスを分離し、隠し又は拒絶することは、計算又は処理環境を保護できる別の仕方である。少なくとも１つの環境において、コンフィギュレーション情報がリードオンリメモリに維持され、そして非制御プロセス（及びある実施形態では制御プロセス）に与えられるオペレーティングシステムもアプリケーションプログラムも、このように記憶されたコンフィギュレーション情報を操作することができない。
【０２９１】
それに加えて又はそれとは別に、本発明のこれら及び／又は他の実施形態は、処理環境内の種々のバス、入力／出力ポート又は装置、環境にロードされるアプリケーションプログラムソフトウェア、処理環境内のオペレーティングシステム又はオペレーティングシステムエレメント、或いはこれら又は他のものの組合せに対して見えること及び／又はそれらへのアクセスを制御することができる。少なくとも幾つかの実施形態では、選択されたハードウェア又はソフトウェア要素の存在（ひいては、そこへのアクセスの拒絶）が、オペレーティングシステムに対して検出不能であることが保証される。ある実施形態では、これは、好都合にも、オペレーティングシステムを変更し（オペレーティングシステムの信頼性のあるリードオンリバージョンを埋設することも含む）、及び／又はハードウェア及び／又はファームウェアレベルでコンフィギュレーションを制御することにより保証される。ある実施形態では、各々の処理環境を動的なベースで構成又は再構成する物理的又は論理的に個別のＢＩＯＳが設けられる。他の実施形態では、基線ＢＩＯＳコンフィギュレーションが確立され、そして特定の能力を追加するためのコンフィギュレーションの変更が動的に確立される。
【０２９２】
一例として、１つの特定の実施形態では、アドレス位置又は範囲が、オペレーティングシステムレイヤより１レベル又は１レイヤ下に、静的又は動的に定義されて、オペレーティングシステム（Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、Ｌｉｎｕｘ、Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ、又は他のオペレーティングシステム）がそれら定義を変更し、さもなければ、それに影響を及ぼすことができないようにすると共に、見ることが許された定義しかオペレーティングシステムが見ないようにする。低レベルプログラム又はプロセスは、例えば、オペレーティングシステム、アプリケーションプログラムのような他のものによりアクセスされることがなく、且つ当然、潜在的にマリシャスコードを含むことのあるデータにアクセスすることもないプログラム又はプロセスでよい。ある実施形態では、この低レベル定義は、保護されたＢＩＯＳを使用して、アドレス制御ロジック（隠されるべきエレメントがメモリアドレス位置であるとき）により、ＴＡＣＳ制御により、メインプロセッサそれ自体により、或いはプロセッサに組み込まれるか又は個別のロジック素子として動作されそしてプロセッサと通信する他のロジックにより、達成することができる。ＴＡＣＳ制御が含まれるときには、それが、例えば、時間分離されるマルチプレクス事象に対して排他的に利用できるようにされる特定のアドレス範囲を定義するグローバルな記述を生成することができる。別のコントローラは、Ｎ次元の仮想処理空間に利用できる他方の非時間的定義分離に基づいてアドレス分離を定義してもよい。
【０２９３】
一実施形態では、テーブルが各プロセスに対するメモリアドレス範囲の利用性を差別的に定義し、このような定義は、論理的でも物理的でもよい。一実施形態では、ＢＩＯＳがマッピングをテーブルの形態で保有する。例えば、計算又は処理システムのハードウェアに使用可能な全ＲＡＭメモリが１ギガバイトである場合には、低レベル制御プロセスは、オペレーティングシステムが、所定の又は動的に決定された量のメモリ、例えば、２５６メガバイトのみを見るのを許す。低レベルプログラム又は制御は、第１プロセスに関連した第１のＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステム及び第２プロセスに関連した第２のＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓオペレーティングシステムのようなオペレーティングシステムの異なるインスタンス生成に対して異なる量及び異なるメモリアドレス範囲を利用できるようにする。
【０２９４】
従来のシステム及び方法は、通常、全てのプロセスが相互作用し得るが、プログラムコードが適切に設計されたときにはそのようにならず、しかも、マリシャス、ハッカー又はウイルスコードが導入されたときに異なるプロセス及びデータを崩壊へと露出させるような単一の「砂箱(sand box)」又は「スープ鉢(bowl of soup)」を使用する。本発明のシステム及び方法の効果の１つは、各プロセスがそれ自身の砂箱又はきれいな空の鉢を使用し、それ故、処理又は計算環境において実行し又は実行を試みるようなマリシャス、ハッカー又はウイルスコードがある場合でも、汚染が生じることはない。
【０２９５】
制御プロセスと別のプロセスとの間の制限されたメッセージ通過に関する上述した技術を使用して、制御プロセスは、他のプロセスの実行中にそれがプロセッサから欠けていても（条件、状態、フラグ、又はそれがプロセッサに残した他の指示子を除いて）、他のプロセスを有効に制御できることが明らかである。又、制御プロセスは、アクセスが許された処理リソースを他のプロセスが使用した後に、クリアし、フラッシュし、リセットし、さもなければ、真新しい処理環境を再確立することができる。
【０２９６】
ここに述べるようにメモリアドレス範囲を制御することによりメモリの部分を選択的に隠す能力は、計算又は処理環境内の、又はその外部のメモリマップ装置又はサブシステムに適用することができる。本発明のシステム及び方法は、他の利益においても、他の装置、回路、ソフトウェア等の結果を同様に選択的に隠すことができる。例えば、本発明の実施形態では、ユーザデータを処理素子へ露出し、これがデータ（又はプログラム）に隠された何らかのマリシャスコードを実行させ、且つ計算又は処理環境の汚染を引き起こす前に、ユーザデータを第１の記憶位置（例えば、ハードディスクドライブの不揮発性記憶装置）から別の分離された記憶位置（時々、爆発室とも称される）へ移動させる必要性又は要望について説明した。しかしながら、メモリ、記憶装置又はロジックの部分の保証された制御分離を与える本発明の実施形態では、分離された記憶装置へのデータのコピー又は移動が必要とされず、従って、時間のかかるステップが排除される。本質的に、本発明のこのような実施形態は、データアイテム自体の位置が分離されるように処理環境を構成し、そして任意であるが、ある付加的なメモリ又は他の記憶装置を、一時的に機能する記憶装置、或いは特定のプロセスに対して必要な又は望ましい他の目的で定義することができる。それ故、処理の前にセキュアな記憶装置へコピーしそしてセキュアな記憶装置からコピーして戻すステップは、排除することができる。データのコピーは、依然として、実行の前に行われ、従って、プロセスに問題がある場合でも、オリジナルデータアイテムが保有され、更に汚染されなかったことが保証される。このようなコピーを維持することは、例えば、アイテムを検査することができ、及び／又は清掃が可能である場合には汚染又はウイルスを清掃することができる。
【０２９７】
本発明の他の実施形態は、計算環境へ／から又は計算環境の特定のインスタンス生成へ／から動的にスイッチングできるメモリ又は記憶装置を提供することができる。これは、コピーの必要性を排除し、及び／又は多数の清掃されたメモリの１つをスワップインする一方、以前のプロセスへの露出から汚染されたかもしれない他のメモリをスワップアウトして個別のプロセスにより清掃又はフラッシュするような別のメカニズムを提供する。本発明の別の実施形態は、メモリを異なる部分に論理的に切断又はセグメント化し、各部分はおそらく異なるマスターテンプレートを有し、従って、異なるメモリアドレス範囲は、処理又は計算環境において処理タスクに対して準備のできた完全に新規な且つ真新しいマスターテンプレートを記憶することができる。
【０２９８】
別の実施形態では、同じ又は異なる物理的装置においてあるアドレス範囲にテンプレート又はオペレーティングシステムを、そして別のアドレス範囲にユーザデータを発生又は生成することにより、計算環境を生成することができる。実際に、マスター又は他のテンプレート及びデータを有する多数の計算環境をこのようにして生成することができる。その各々は、完全で且つ論理的に分離された環境である。というのは、低レベルコンフィギュレーション又は他の制御は、定義されたメモリアドレス範囲の外部には相互作用がないことを保証するからである。ハードウェア、ファームウェア、ソフトウェア、又はこれらの組合せで定義されるスーパーバイザー制御は、各処理環境を制御し、出力要素をスイッチし、そして汚染が生じないように複数の処理環境をマネージするためのハイパーバイザーを与えることができる。一実施形態では、このスーパーバイザー制御又はハイパーバイザーでも、汚染を防止する低レベルコンフィギュレーションをオーバーライドも変更もできない。ソフトウェア又はファームウェア要素を必要に応じてロード、更新又はパージできるように外部管理プロセスを設けることができる。
【０２９９】
ここでの説明に鑑み、種々の方法を使用して、ソフトウェア又はコードの信頼性のある部分をメモリ、記憶装置又はプロセッサへ発生又はコピーできることが明らかである。本発明のある実施形態では、これらは、テンプレート及びマスターテンプレートと称される。本書のどこかに述べるように、種々の保護コピー機構を使用することができる。システム状態をプロセッサ及び／又は揮発性ＲＡＭメモリから不揮発性メモリ（例えば、ハードディスクドライブ）へ記憶するエネルギー節約の保留、ハイバーネーション、回復及ウェイクアップ特徴の幾つかをサポートするオペレーティングシステム及びプロセッサについては、これらの特徴を使用して、テンプレートを発生するか、又はテンプレートが予め記憶されている場合には、信頼性のあるテンプレートを記憶装置からメモリ又はプロセッサへ書き込むことができる。このように、テンプレートは、これらの特徴をサポートする既存のオペレーティングシステム及びハードウェアに適合し得る形態である。
【０３００】
システムコンフィギュレーション及び操作シナリオの種々の実施形態が本明細書に説明されている。例えば、指定の計算又は処理環境を各々有する多数の物理的プロセッサが存在する実施形態について説明した。図９を参照して述べた実施形態は、ユーザインターフェイス計算環境、制御及びスイッチング計算環境、保護記憶装置計算環境、及び少なくとも１つの計算環境を示すものであった。図１０の実施形態では、システムは、デスクトップ及びユーザインターフェイス計算環境処理ユニット、制御及びスイッチング計算環境処理ユニット、分離処理ユニット計算環境、保護記憶装置計算環境処理ユニット、及び分離処理ユニット計算環境を備えている。これら実施形態では、単一の（又は小さな１組の）プロセッサがマルチプレクス式に使用され、小さな１組の物理的ハードウェア及び／又はソフトウェア要素を使用して大きな１組のプロセスを実行することができる。この説明では、プロセスに対する本発明のシステム及び方法の融通性及び適用性を強調し、そしてプロセスは、一例として説明したが、幾つかの特に命名され又は識別されたプロセスの機能及びオペレーションをグループ編成して、それらが、必要に応じて分離を維持しながら同じプロセス内で実行されることは、強調するに値する。プロセスの組合せ又はグループ編成は、例えば、デスクトップ及びユーザインターフェイス処理環境、ビデオ処理環境、並びに制御及びスイッチング環境をスーパー制御環境へと定義するが、このスーパー又はグループ編成された処理環境を１つ以上のユーザデータ処理環境とは個別に維持するといった幾つかの信頼性のある制御又はスーパーバイザーオペレーションに対して特に有用である。
【０３０１】
このプロセス又はグループ編成の利益は、本発明のマルチプレクス型の実施形態、特に、時間的マルチプレクシングの実施形態においてある程度の効率を与えるが、これに限定されない。個別プロセスの数が減少するにつれて、異なるプロセス間をスイッチングする複雑さが減少され、状態を記憶及び再ロードし及び／又はテンプレートをロードし及び／又は処理環境をクリアすることで費やされる時間も短縮できる。一実施形態では、全ての非ユーザデータプロセスが単一制御処理環境内に定義されて実施され、そしてユーザデータ関連処理環境が制御環境とは別々に実行され維持される。
【０３０２】
この実施形態、並びに他の全てのマルチプレクス型の処理シナリオについては、実行のためのプライオリティを異なるプロセスに指定して、特定の処理リソース（例えば、特定のポート、デジタル信号プロセッサ（ＤＳＰ）、又は他のリソース）、或いはプロセスに割り当てられる時間量（プロセッサクロックサイクル又は命令サイクル）へのアクセスのためのプライオリティを調整できることが明らかでなければならない。この調整は、静的にセットすることも、動的にセットすることもできる。デフォールトをセットし、次いで、高いプライオリティのプロセスを実行すべきときに変更してもよい。高いプライオリティのプロセスは、例えば、リアルタイム、又は擬似リアルタイム処理アプリケーション、例えば、ビデオイメージの捕獲、コンピュータゲーム、及び検出可能な遅延がユーザにとって不快であるような他のプロセスを含む。通常の又は低いプライオリティの処理アプリケーションは、ユーザがテキストをタイプ入力するのについていくのに非常に僅かな処理能力しか必要としないワード処理アプリケーションを含む。明らかに、ユーザの目標と、コンピュータシステムが配備される環境とに基づいて、異なるシステムを異なる処理プライオリティでセットすることができる。
【０３０３】
今述べた解決策は、多数のプロセスをグループ分けし、結合し、或いは大きな又はより複雑なプロセスへと一体化する仕方を強調している。他の解決策は、単一プロセスとみなされるものを取り上げ、その実行のために多数のシステムリソースを使用してもよい。例えば、多数の物理的プロセッサ、これらプロセッサに結合できる多数のメモリ、及び／又は使用可能なリソースの他の多数のコピーを備えたシステムコンフィギュレーションでは、単一プロセスの処理要求がそれらの間に分布され、プロセスをより迅速に又は希望のスループットで実行できるようにされる。通常、多数のプロセッサが使用されるプロセスは、異なるプロセッサ間に分布させることができ、それらの結果をある仕方で結合して最終的な結果を発生できる容易に定義可能なサブタスクを有する比較的複雑な処理タスク、或いは多量のデータ又は大きな並列性を有し、多数のプロセッサの使用で全タスクの迅速な完了を許すような簡単な処理タスクである。基礎的な従来の処理は、ここに述べる処理とは異なるが、ＳＥＴＩ処理タスクは、多数のプロセッサ間で分割される単一の大きな処理タスクの１つの顕著な例である。
【０３０４】
いかなる処理タスクも、このように分割され、再定義され、及び／又は分布される。図１６の実施形態について及び本明細書のどこかに説明した柔軟性のあるスイッチング及びシステムコンフィギュレーション特徴、及び／又は上述した仮想処理空間及び時間的又は他の非時間的マルチプレクシング実施形態に鑑み、本発明は、複数のシステムリソースを静的又は動的に構成及び構成解除して、単一プロセッサコンフィギュレーションを越えて拡張するようなシステム及び方法を提供することが明白である。例えば、時間的にマルチプレクスされる実施形態では、異なるプロセスは、プロセッサの一部分のみをもつように（プロセッサをある仕方で共有する）、１つのプロセッサを専用に使用するように、多数のプロセッサを専用に使用するように、或いは多数のプロセッサへ部分的にアクセスするように、構成されてもよい。共有プロセッサアクセスが実施される場合には、このような共有は、本発明について既に述べたセキュリティ及び保護特徴と一貫する状態でのみ許される。プロセスに対するプロセッサ、ＣＰＵ、或いは他の処理又は計算ロジックのこのスイッチ可能な割り当ては、他のシステムリソースに適用することもできる。
【０３０５】
本発明のこの態様は、グリッド計算、クラスタリング、パラレル処理、大量のパラレル処理、対称的な処理、及び／又はある程度のパラレル、分散又は協働処理が有益である他の処理シナリオに適用したときに特に有益で且つ有効である。
【０３０６】
少なくとも一部分は、マルチプレクス型の又はパラレルな計算コンフィギュレーションにおいて多数のシステムリソースが論理的又は物理的に結合され又は使用されるために、複数の又は多数の処理リソース、例えば、多数のプロセッサ又はＣＰＵ、多数のメモリ、或いは多数のチップ上システム(system-on-a-chip)（ＳＯＣ）を有する物理的計算システムであって、定義ルール、ポリシー又はロジックに基づきある最適な仕方で１つ又は１組の処理タスクを遂行するために現在の１組のニーズに基づき自動的に（又は手動で）且つ動的に構成することのできるシステムを構築することができる。最適化パラメータは、例えば、最大のスループット、最高速の実行、最低の電力消費、最大のエラー減少、最小の発熱、或いは他のデータ又はオペレーションの好み又は要求を含んでもよい。この特徴を組み込む本発明の実施形態は、任意であるが、これらリソースを動的に結合する能力により、性能に影響せずに、ハードウェアコストを最小にするために、比較的性能の低いプロセッサ又はＣＰＵ或いは他のシステム要素を使用することができる。
【０３０７】
ここでの説明に鑑み、本発明の実施形態は、利用可能ないかなるリソースも含む（又は除去する）ように物理的又は仮想計算システム又は環境を静的又は動的に（例えば、既に述べたマルチプレクシング機構の１つを使用することにより）スイッチ可能に構成できることが明らかであろう。例えば、プロセッサ、メモリ素子、ハードディスクドライブ、又は他の記憶サブシステムに加えて、本発明の実施形態は、モデム、ネットワークインターフェイスカード（ＮＩＣ）又は他のネットワークインターフェイス、スニファー又はリードオンリＮＩＣ、ビデオディスプレイ又は処理カード又はロジック回路、グラフィックカード又はロジック回路、ユニバーサルシリアルバス（ＵＳＢ）ポート及びインターフェイス、ファイアウオール又はＩＥＥＥ１３９４インターフェイス及びポート、シリアルポート、パラレルポート、ＰＣカードポート及びインターフェイス、ＰＣＩインターフェイス、メモリインターフェイス、マイクロホン及びスピーカ入力及び出力ポート、デジタル信号プロセッサ及びロジック、プリンタポート、ＣＤ及びＤＶＤインターフェイス、オーディオ及びビデオ処理ロジック、ワイヤレスインターフェイス、並びに他のハードウェア単独、ハードウェア実行ソフトウェア又はファームウェアをスイッチ又はマルチプレクスすることができると共に、外部装置にインターフェイスするポートをイネーブル又はディスエイブルできる程度までは、外部装置及びシステムをスイッチ又はマルチプレクスすることができる。
【０３０８】
一実施形態では、実行されるプロセスの１つは、ネットワークインターフェイスカード（ＮＩＣ）型プロセスのようなネットワークインターフェイスである。ＮＩＣは、外部ソース又はプロセスから受信したデータを記憶するためのバッファ又は他の記憶手段を有する。受信されて記憶されると、マルチプレクス型処理シナリオは、バッファを読み取り、そして受信したデータを、他の保護処理機構と同様に取り扱うことができる。換言すれば、外部ソースは、汚染（例えば、ｅメール、スパム、ウイルス、スパイボット、又はスパイウェアを載せたウェブサイト、等）に関して内部データセットよりも大きな問題を引き起こすと思われるが、本発明のシステム及び方法により提供される保護手段は、他のユーザデータセットと同じ高レベル保護を与える。外部接続が、モデム、フロッピーディスク、ＵＳＢメモリデバイス、入力／出力ポート、ワイヤレス接続、又は他のインターフェイスを経たものであるかどうかに関わりなく、これらの同じ利益が与えられる。この入力データを分離して、それが他のユーザデータや、アプリケーションプログラム及びオペレーティングシステムの記憶された信頼性のあるバージョンを汚染することがないようにする手段が設けられる。
【０３０９】
本発明のスイッチング及び制御特徴の使用は、埋設されたオペレーティングシステム、アプリケーションプログラムソフトウェアコード、又は埋設されたデータを含む（これに限定されないが）処理又は計算システム内に存在し得るバッファ、キャッシュ、データ記憶装置、及び／又はメモリシステム及びサブシステムのいずれに適用することもできる。ハードディスクドライブ記憶装置について説明したように、スイッチ又はスイッチングロジックを使用して、識別されたバッファ、キャッシュ、データ記憶装置、及び／又はメモリシステム又はサブシステムを、コンピュータシステムから、静的、動的又は時間的にマルチプレクスされる仕方で、物理的又は論理的に追加し及び／又は除去することができる。更に、本発明のスイッチング及び制御特徴は、データ記憶機能に通常関連しないシステムリソース、例えば、ビデオ又はグラフィックコントローラ又はプロセッサ、プリンタ、サウンドカード、或いは他のシステム又はコンピュータリソースにも適用することができる。メモリアドレス範囲マッピング、電源オン／オフ、ＢＩＯＳベースのコンフィギュレーション及びデコンフィギュレーション、並びにこのようなシステムリソースを隠したり見えるようにしたりする他の手段は、本明細書全体を通して説明され、ここでは詳細を繰り返さない。
【０３１０】
埋め込み型のオペレーティングシステム（１つ又は複数）、アプリケーションプログラム（１つ又は複数）、及び／又は他の実行可能な又は実行不能なコード又はデータが記憶された記憶装置又はメモリを有するシステムを特に参照すれば、これらの埋め込み型のエレメントは、処理環境へとスイッチが入れられ（例えば、追加され）、又は処理環境からスイッチが切られ（例えば、除去され）、処理タスクを遂行するのに必要な希望の又は必要なオペレーティングシステム（１つ又は複数）、アプリケーションプログラム（１つ又は複数）、或いは他のコード又はデータを与えることができる。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＸＰ（又は他のオペレーティングシステム）、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ、Ａｄｏｂｅ  Ｐｈｏｔｏｓｈｏｐ、及び／又は埋め込み式スクリーンイメージグラフィックのようなデータの埋め込み記憶バージョンを、物理的又は論理的に個別の異なるメモリ又は記憶手段に埋め込むことができる。これらは、例えば、異なるメモリチップでもよいし、上述したアドレスマッピング及び制御によるか又は他の手段を介して分離された共通の物理的装置の論理的に分離された部分でもよい。これらは、次いで、必要性が示されたときには処理環境に追加され、そして必要性がもはや存在しないときには処理環境から除去され、別のプロセスのためにリソースを解放する。システム内の制御環境又は他の制御素子は、特定の埋め込み型（及び非埋め込み型）コード又はデータの必要性を予想又は検出し、そして本発明の上述したスイッチング及びコンフィギュレーション特徴を使用してその埋め込み型エレメントを処理環境へと構成する。検出は、要求又は他の検出手段、例えば、プログラムコールでもよい。又、制御環境又は他の制御素子は、その埋め込み型エレメントの必要性が時間切れとなるときを予想又は検出し、そしてそのエレメントを処理環境のコンフィギュレーションから除去して、他の処理要求に使用できるようにするという役割を果たす。
【０３１１】
制御環境及び／又はハードウェアスイッチング環境（あるソフトウェア及び／又はファームウェアを任意に含む）は、アドレス可能なメモリ、埋め込み型記憶装置等のいずれかをリードオンリ、ライトオンリ、又はリード−ライトメモリとしてアクセスできるようにし、従って、アクセスの性質を制御又は限定することができる。このアクセス形式の制御（リードオンリ、ライトオンリ、リード−ライト）は、一般に、手近な処理タスクに基づいて有用となる。又、これは、テンプレートを保持する特定のメモリ又は記憶装置を通常のアクセスに対してリードオンリモードに維持し、テンプレートを書き込みオペレーションにより汚染したり妥協させたりせず、しかも、充分なアクセス特権を有するユーザ又はプロセスによりそのテンプレートを更新する（例えば、新たなバージョンへ）のを許すための手順も提供する。
【０３１２】
記憶装置の物理的又は論理的分離を維持することに関して、多数のプラッター又は表面を有するハードディスクドライブ又は他の回転記憶媒体は、読み取り／書き込みヘッドを各プラッター表面に対して別々に動作することにより分離されてもよい。従来、２つのプラッター及び４つの表面を有するハードディスクドライブは、単一のディスクドライブコントローラと、多数の読み取り／書き込みヘッドを協調して移動するアクチュエータとによって動作される。本発明の実施形態は、１つのコントローラがその単一（又は１組）の表面及び読み取り／書き込みヘッドしか気付かず、同じハードディスクドライブ内の他の表面又はヘッドには気付かないように、少なくとも読み取り／書き込みヘッドへのアクセスを独立した仕方で制御する個別のコントローラを提供する。別の実施形態では、個別のアクチュエータも設けられ、アクチュエータアーム及び読み取り／書き込みヘッドが各表面又は１組の表面に対して独立して動作するようにしてもよい。又、本発明の動的なコンフィギュレーション特徴をハードディスクドライブに適用して、より多数又は少数の表面を使用できるようにすると共に、それらをリードオンリ、ライトオンリ、又はリード−ライドイネーブルにすることもできる。
【０３１３】
本発明の一実施形態では、ハードディスクドライブ内又はそれに取り付けられた或いはディスクドライブコントローラ内のロジックボードに本発明の特徴が与えられる。次いで、論理的又は物理的に分離されたハードディスクドライブプラッター表面を分離記憶装置に使用することができる。一実施形態では、これらのエレメント及び特徴を結合して、制御特徴を伴うハードディスクドライブが、個別のコンピュータ又は外部プロセッサを必要とせずに、本発明の保護及びセキュリティ特徴を有するネットワーク機器をなすようにする。それ故、本発明は、本発明の保護及びセキュリティ特徴を有するネットワーク又はネットワーク構成の機器も提供する。
【０３１４】
本発明の実施形態で使用できる他の任意の特徴
コンピュータ及び情報機器アーキテクチャー、システムコンフィギュレーション、並びにコンピュータ、情報機器及び他の装置を形成して操作するための方法及び手順の多数の異なる実施形態を説明したが、以下、本筋を離れて、幾つかの実施形態と共に与えることのできる幾つかの特徴（幾つかの任意の特徴を含む）について説明する。又、これらの説明は、種々のコンピュータ環境で取り扱われるアプリケーションの形式の幾つかの指示も示すと共に、ウイルス、ハッカーコード、トロイの木馬、及び他のマリシャスコードに特に感染し易いことがセキュリティ又は免疫性の問題をいかに引き起こすか、そして本発明のアーキテクチャー、システム、方法、及び手順を使用してこのような問題をいかに解決するかも示す。この説明において、ＣＥの計算環境という語の使用は、本明細書に述べた種々の計算環境、分離計算環境、或いは計算又は分離サブシステムのいずれか、並びにここに取り上げた関連出願に述べられた計算環境及びサブシステムを包含することが意図される。
【０３１５】
ＡＳＩＣ又は論理制御装置のような個別の論理制御装置を使用する特殊目的サブシステム又は計算環境間で直接メモリアクセスを使用してデータを移動することができる。データを移動するプロセスは、おそらくハッカーやウイルスや他のマリシャスコード等をイネーブルし又は解き放すことのあるデータの実行を許さないのが効果的である。更に、データは、その実行を防止するために、暗号化、圧縮又はエンコードされてもよい。
【０３１６】
計算環境の修理又は回復は、必要に応じて実施することができる。計算環境（ＣＥ）は、自動修理プロセスを使用して修理され又は理想的な状態へ戻すことができる。このような修理は、「オンザフライ」で行われてもよいし、或いは各トランザクションの後、又は再ブートせずに行われてもよい。マスターテンプレートは、通常、特殊目的サブシステムの理想的な状態を表わすもので、記憶システムに記憶されてもよい。トランザクションは、ｅメールを読むことを含んでもよく、各個々のｅメールメッセージを開くことは、個別のトランザクションを表わす。任意であるが、修理プロセス中に１つ以上のアイテムを無視することができる。例えば、ｅメールがオープンされた場合には、修理プロセスは、オープンｅメールを無視して動作し、問題を検出して修理し、次いで、ユーザは、ｅメールを断念せずにそれに応答してもよい。別の実施形態では、全てのダウンロード及びｅメールを直ちに記憶システムへセーブし、その後、ダウンロード又はｅメールをワークサブシステムにおいてオープンすることができる。
【０３１７】
一実施形態では、ＣＥのロジックが修理プロセスに関連した事象をトリガーすることができる。修理プロセスは、ワーキングシステムのマスターテンプレートと、現在ワーキングシステムの状態との間の比較を行うことができる。それらの間の相違で、その後の修理プロセスをトリガーすることができ、相違する幾つかの又は全部のデータがワーキングシステムから削除される。更に、マスターテンプレートから修理プロセスにより必要に応じてデータをコピーすることができる。一実施形態では、修理プロセスは、ワーキングシステムをマスターテンプレートと同一にしてもよい。
【０３１８】
一実施形態では、修理プロセスは、１つ以上のｅコマーストランザクションの後、又は１つ以上のウェブページをサーフィンした後、等に行うことができる。従って、全ての既知の及び未知のウイルス及びトロイの木馬を、次のトランザクションの前に、無力化することができる。このプロセスは、ウイルス、ワーム及びトロイの木馬をコンピュータから排除するものではないが（それらは記憶システムに記憶されることがある）、それらを不作動状態に保持する。修理プロセスは、揮発性及び不揮発性メモリを修理することができ、或いは揮発性メモリをクリアし、又は揮発性メモリを理想的な状態にセットすることができる。
【０３１９】
一実施形態では、ユーザがオープンすべき２つ以上のｅメールを選択する場合に、２つ以上のｅメールをワーキングシステムにコピーし、そして同時にオープンすることができる。任意であるが、各ｅメールは、別々に、それ自身の個別の分離されたワーキングシステムへコピーし、オープンし、見て、操作することができる。ユーザが、１つの分離されたｅメールから別の分離されたｅメールへデータをコピーする必要がある場合には、コードの実行を許さないコピープロセスを使用することができる。
【０３２０】
一実施形態において、ウェブコマースソフトウェア、又はｅメールソフトウェア、又は任意のソフトウェアを変更して、トランザクションに特に必要とされる個々のレコード又はレコードのコピーのみを記憶システムへコピーし、使用し、次いで、記憶システムのデータベースへコピーして戻し、このような各トランザクションの後に修理を行うようにすることができる。任意であるが、データが、例えば、１つ以上のデータベース又はＣＧＩと対話するトランザクションでは、トランザクションを個別のセグメントに分断し、データを必要に応じて分離記憶システム（１つ又は複数）又はワーキングシステムへ及びそこからコピーし、そしてトランザクションの各セグメント間、又はトランザクションの幾つかのセグメント間で修理を実行することができる。任意であるが、ソフトウェアは、どんな形式のデータがトランザクションを構成するか定義し、コピープロセスを、ある基準を満足するデータしかコピーしないよう制限する命令を含むことができる。
【０３２１】
一実施形態では、修理プロセスを更にスピードアップするために、ワーキングシステムのマスターテンプレート及びワーキングシステムのソフトウェアは、それら自身の個別の分離された揮発性メモリエリア又はシェルに各々ロードされ、修理プロセスの速度を上げることができる。従って、ワーキングシステムのデータが揮発性メモリにあり、そしてマスターテンプレートが揮発性メモリにある場合には、より高い速度で修理を行うことができる。或いは又、新たなワーキングシステムシェルを使用して、修理の必要性を排除することもできる。例えば、ユーザは、ｅメールをオープンし、そして１つのシェルを使用してｅメールを読み取ることができ、そしてｅメールに応答することを希望する場合には、応答のために第２のシェルを使用しなければならない。任意であるが、第１のシェル又は計算環境をウイルスに対してチェックできる一方、ユーザは、第２のシェルを使用してｅメールへの応答を書き込み、そして付加的なシェル又は計算環境を、使用準備ができた状態にすることができる。
【０３２２】
別の実施形態では、データの実行を防止する暗号化又は圧縮又は他のコピー方法を使用して記憶システムにデータを直接ダウンロードすることができる。任意であるが、分離された隠れたバックアップ又はアーカイブシステムを本発明に使用することができ、これは、必要に応じて記憶システム又はワーキングシステムの揮発性又は不揮発性メモリ（１つ又は複数）又はデータの隠れたバックアップ又はアーカイブのアレーを形成することができ、又、タイムスタンプを付すことができる。又、このようなバックアップ又はアーカイブシステムにデータをコピーするときには、ここに述べる技術を使用して、ファイルの実行及びバックアップシステムのデータへのダメージを防止することができる。
【０３２３】
ファイルセーブオペレーションについては、一実施形態において、ワーキングシステムにセーブがなされるたびに、記憶システムへコピーを行うことができる。任意であるが、ウイルス又はトロイの木馬が、記憶システムへセーブされる数百万のセーブを遂行することにより大混乱を生じるのを防止するために、任意であるが、ファイルをセーブできる頻度に限界を課すこともできるし、又はワーキングシステムにデータをセーブするプロセスに他の限界を与えることもできる。任意であるが、これは、ＲＯＭ、或いはコピー、記憶、セーブ又は他のプログラムの一部分でもよい。
【０３２４】
限定された機能を有する個別のプロセッサを使用して、分離されたワーキングシステムでデータを処理することもできるし、或いは限定された機能をメインプロセッサに与えることもできる。これは、多数のデータ記憶装置、或いは分離された仕切りを有する１つのデータ記憶装置で行うことができる。
【０３２５】
本発明のシステム及び方法の一実施形態では、データが、マリシャスコードの転送のおそれを排除する仕方で、１つ以上の計算環境へ／から、１つ以上の第２の計算環境へ／から、直接転送される。一実施形態では、この方法手順は、例えば、第１の計算環境に、ＡＳＣＩＩ又は拡張ＡＳＣＩＩを送信及び／又は受信する能力を有するＡＳＩＣ或いは他のロジック回路又はロジック手段を使用して、第２の計算環境に通じるデータラインに接続することを含んでもよい。ある実施形態では、ＡＳＩＣ又はロジック手段の能力は、付加的な処理が生じることがないように特に制限される。任意であるが、第２の計算環境がＡＳＣＩＩデータを直接受信してもよいし、或いはそのデータが、ＡＳＣＩＩ又は拡張ＡＳＣＩＩデータを受信及び／又は送信する能力をもつ第２のＡＳＩＣにより受け取られてもよい。これらのＡＳＩＣは、例えば、バッファのオーバーランを防止するために、データ、ＡＳＣＩＩキャラクタ、及び／又は行われる要求（例えば、ある時間周期内に）の量を制限してもよい。
【０３２６】
一実施形態では、ＡＳＣＩＩフィルタ又は剥離されたファイル又はコンテンツに対する任意の取り扱いを与えることができる。例えば、ファイル、データセット、又はインターネット、或いはワールドワイドウェブコンテンツがＡＳＣＩＩ剥離又はフィルタされない場合には、外界からのファイル及びそこから導出された（或いはその子孫又は子から導出された）ファイルが「非セキュア」及び潜在的に感染しているとマークされるか又は識別される一方、幾つかの許されたＡＳＣＩＩキャラクタしか含まないように剥離され又はフィルタされたファイル又はコンテンツは、「セキュア（安全）」と識別できる。この形式のマーキングは、ＡＳＣＩＩ以外の他の所定のファイル又はコンテンツにも使用できる。それ故、一般に、ファイルは、任意であるが、問題となり得る感染、マリシャス又は単なる未知のコードに露出されなかったことが分かる場合にはセキュアとして処理されてもよく、そしてこのように露出されていないことが分かる場合にはセキュアとマークされてもよい。
【０３２７】
一実施形態では、例えば、次の１つ以上で構成されるか又はそれを含む修理プロセスを行うことができる。（ａ）ＣＥのソフトウェアをマスターテンプレートの全部又は一部分と同一にし及び／又は部分的に同一にし、（ｂ）計算環境又はその一部分、例えば、計算環境の記憶装置（「爆発室」）を削除及び／又は修理し、及び／又は二次ＣＥへスイッチングし、（ｃ）１つ以上のデータ記憶装置、マスターブートレコード、パーティションテーブル等を再フォーマット及び／又は修理し、（ｄ）１つ及び／又はそれ以上の修理プロセスを実行し、或いは（ｅ）これらの組合せ。修理プロセスは、例えば、ユーザがドキュメントを断念するたびに（及び／又は他の基準を使用してそれを実行するときに）実行することができる。従って、各々の新たなドキュメントは、ウイルス及び／又はハッカーソフトウェア又は他のマリシャスコードを含まないクリーンな環境においてオープンすることができる。
【０３２８】
一実施形態では、マスターテンプレートは、任意に隠すことができ及び／又は通常ユーザには見えないデータ記憶装置に記憶され、そして保護マスターテンプレート及び／又はマスターテンプレートと称される。任意であるが、これは、「リードオンリ」でよく、及び／又はロックされ、及び／又はターンオフされ、及び／又は必要になるまでディスエイブルされ、及び／又は切断され、及び／又はインアクチベートされてもよく、及び／又はそれとの通信を終了及び／又はインアクチベートすることができる。これらの（及び他の）技術を使用して、保護マスターテンプレートをマリシャスコードから保護することができる。
【０３２９】
一実施形態では、データ記憶装置（１つ又は複数）及び／又はパーティション（１つ又は複数）を使用して、ユーザのパーソナルデータ（ユーザにより作成されたドキュメント、ｅメール、アドレス帳、ブックマーク、お気に入り、データベース要素、等）を一時的に記憶することができる。このデータ記憶エリアは、一時的データ記憶装置と称することができる。例えば、ユーザがドキュメントをセーブするときには、それが一時的記憶装置にセーブされる。ユーザが例えばデータベースをセーブするときには、それ（及びおそらくその関連要素）が一時的記憶装置にセーブされる。ユーザがｅメールをダウンロードするときには、それが一時的記憶装置にセーブされる。ブックマーク及びお気に入りのようなアイテムが生成されるときには、それらが生成されたとき、及び／又はアプリケーションが断念(quit)するときに、それらが一時的記憶装置にセーブされる。ドキュメントが保護記憶装置（本書のどこかに述べた）から要求されるときには、それが最初に一時的記憶装置にコピーされる。例えば、ユーザがインターネットブラウザをオープンすることを希望する場合には、お気に入り／ブックマーク及び他のユーザ情報が保護記憶装置から一時的記憶装置へコピーされる。これは、このプロセスにとって本質的でない任意のステップであるが、ある実施形態では、望ましいものであることに注意されたい。
【０３３０】
修理プロセスは、一時的記憶装置を修理することもできるし、或いはそれを、前もって準備された新たなコピーに置き換えることもできる。例えば、一実施形態では、多数の一時的記憶エリアが分離状態で準備されてもよい。従って、必要に応じて、古い一時的記憶装置（１つ又は複数）を削除し、そして例えば、ＲＡＭ、ＲＡＭディスク、シェル等を使用して生成された１つ以上の新たなものに置き換えることができる。
【０３３１】
一実施形態では、例えば、保護記憶装置は、修理の後、又は爆発プロセスが保留された場合を除いて、ユーザのパーソナルデータが爆発室から分離されるような記憶エリアでよい。一時的記憶装置は、データが保護記憶装置から一時的記憶装置へと「シャトル」され、そしてドキュメントに処理がなされた後に、再び、一時的記憶装置から保護記憶装置へ戻されるときに（任意に）使用できるデータ記憶エリアでよい。又、一時的記憶装置は、一実施形態では、常に、計算環境（本明細書及び先に述べた関連出願では爆発室とも称される）にアクセスできるものでよい。この例では、ユーザは、作業しながら一時的記憶装置にデータをセーブしてもよく、そして断念する際には、ドキュメント（或いは他のファイル又はデータセット）が一時的記憶装置から保護記憶装置へコピーされる。
【０３３２】
ファイル及びバックアップを参照すれば、任意であるが、一実施形態において、バックアップシステム（１つ又は複数）又はアーカイブは、全てのユーザパーソナルデータ、例えば、ドキュメント、ｅメール、お気に入り、等の次々のバックアップを保持するのに使用できる。任意であるが、ファイルがウイルス又は崩壊によりダメージを受けた場合には、ユーザが過去のバージョンをバックアップシステムからコピーすることができる。次々のバックアップ及び／又はアーカイブは、タイム／日付スタンプが押され、ユーザは、バックアップがいつ作られたか容易に決定することができる。バックアップの頻度は、製造者からデフォールトとして予め決定されてもよいが、ユーザにより変更することもできる。任意であるが、バックアップシステム（１つ又は複数）は、通常、ユーザから隠すことができる。一実施形態では、バックアップシステムがユーザに利用できるようにされたときには、それが「リードオンリ」モードに保持され、ユーザにより偶発的に変更されないようにする。任意であるが、バックアップは、個別のデータ記憶装置（及びある実施形態では、パーティション）上にあってもよいし、及び／又は例えば、ネットワーク上のどこに位置されてもよい。これは、このプロセスにとって本質的でない任意のステップであるが、ある実施形態では、望ましいものであることに注意されたい。
【０３３３】
計算環境において問題又はエラーが発生したという指示に対して、回復又は修理のための種々のステップをとることができる。一実施形態では、プロセッサが処理を完了することが許され及び／又はそれを「クリア」又はリセットすることができ、ＲＡＭをクリア又はリセットすることができ（任意に利用不可及び／又はデアクチベートできる第２の分離されたＲＡＭを利用できるようにして、例えば、第１のＲＡＭがクリアされたが、第２のＲＡＭの使用が要求されない間に、第２のＲＡＭとの通信を確立し、及び／又はアクチベートして利用できるようにするのも任意である）、そしてプロセッサ及び／又はＲＡＭをここで修理プロセスに利用することができる。爆発室又は分離された処理環境に対する修理プロセスの一実施形態について以下に説明するが、多数の別のプロセス及び／又は異なるプロセッサ及び／又はＲＡＭ或いは他のメモリ又は記憶装置を使用してもよい。一実施形態では、ＣＥの修理は、ＣＥを別のＣＥに置き換えることとして定義されてもよい。これを達成する１つの方法は、第１のＣＥを削除し、そして第２のＣＥとの通信をアクチベートすることである。或いは又、第２のＣＥが使用されている間に、第１の爆発室を修理することもできる。
【０３３４】
電子メール即ちｅメールのインボックス及びアウトボックスは、通常、多数の個々のメッセージを含む大きなファイルとして記憶される。例えば、１つの「インボックス」は、ユーザに送信された全てのメッセージを含んでもよい。従って、１つのｅメールが読み取られ又は送信されると、ｅメールファイル全体がウイルス又はハッカーからの危険に曝される。本発明の一実施形態によれば、使用のためにオープンすべきｅメールを一度に１つしか一時的記憶装置又は分離計算環境にコピーできないようにｅメールソフトウェアを変更することができる。これは、他のｅメールが汚染されるのを保護する。次のｅメールをオープンする前に修理を行うことができる。一実施形態では、アドレス帳及び／又は他のｅメール要素を保護記憶装置に記憶することができ、そしてユーザが選択する特定のアドレス（１つ又は複数）だけが保護記憶装置から使用すべきワークエリアへコピーされる。従って、ウイルスは、ユーザの全アドレス帳へアクセスしない。任意であるが、修理プロセスを最初に行わねばならないようにアドレス帳の更新を制限し、アドレス帳を汚染から保護することもできる。
【０３３５】
任意であるが、ほとんどのｅメールプログラムが個々のｅメールを１つのファイルとして処理するのと同様に、データベース及び他のソフトウェアは、多数のファイルを１つの大きなファイル又はデータベースとして記憶してもよい。このようなソフトウェアは、個々のファイル及び／又は個々のレコードを一時的記憶装置へコピーしてユーザにより一度に１つづつ作用させ、データベース全体を危険に曝すことがないように変更される。次いで、次のファイル又はレコードをオープンする前に修理を実行することができる。例えば、ｅメールのインボックスの各ｅメールを個別のファイルとして記憶することができる。或いは又、データの位置をディレクトリー及び／又はデータベースに入力することができ、そしてそのデータのみを、保護記憶装置のファイルをオープンせずに、一時的記憶装置及び／又はＣＥへコピーすることができる。一実施形態では、コンピュータプログラムコードは、ユーザデータが保護記憶装置においてオープンされるのを防止できる。一実施形態において、ｅメール及び／又はデータベースを保護記憶エリアからＣＥ及び／又は他のデータ記憶装置へコピーすることができ、そして１つ（又はある場合には１つ以上）のｅメール又はファイルをオープンして操作することができる。そのｅメール（又はデータベースファイル）しかオープンして操作することができず、ｅメール及び／又はデータベースの残りは削除することができる（保護記憶装置に依然存在するので）。一実施形態では、ユーザ及びウェブサイトが、所有権のある本発明の技術及び方法を利用する。例えば、一実施形態では、システム又は装置ユーザは、ウェブサイトにおいてｅコマーストランザクションを行うように判断する。従来の仕方でウェブサイトにデータを入力するのではなく、ユーザは、ｅコマーストランザクションの実行を希望することを指示し、これにより、ウェブサイトソフトウェアがユーザのパブリック暗号キーをピックアップする（又はユーザのソフトウェアがそれを自動的に与える）。ウェブサイトは、ユーザキーを分離計算環境へ移動し、そしてトランザクション又はデータベース情報を入力するためにユーザが使用できるスタンドアローンアプリケーションプログラム又は手順を使用して暗号化を行う。次いで、暗号化されたファイルは、接続される分離計算環境へ移動されてもよいし、インターネットのようなネットワークに接続又は結合することもできるし、或いはスタンドアローンアプリケーションが暗号化された分離計算環境にネットワークを接続することもできる。暗号化されたアプリケーションは、次いで、ユーザへ送信される。ユーザのコンピュータは、アプリケーションを受信し、それを分離計算環境へ移動し、そして分離計算環境においてアプリケーションを暗号解読する。次いで、ユーザは、それらのユーザデータをアプリケーションへ入力する。アプリケーションは、ユーザが何を入力したかのデータベースを生成することができ、次いで、そのデータベースを暗号化し、分離計算環境とのネットワーク接続を確立し、或いは暗号化されたデータベースを新たな分離計算環境へ移動し、そして暗号化されたデータをｅコマースサイトへ返送し、新たな分離計算環境へ移動し、そして暗号解読することができる。このようにして、暗号解読されたデータベース及びｅコマースは、ネットワークに決して露出されない。
【０３３６】
一実施形態では、イーサネットケーブル（又は他のネットワーク接続通信リンク）は、両方向ではなく一方向にのみ通信し、そして受信及び送信ケーブルは、計算環境と別々に通信するように各々スイッチされる。これらの実施形態では、イーサネット（又は他のネットワーク接続通信リンク）の各ライン又は方向は、各通信リンクが個別の分離計算環境に結合されるように別々にスイッチされる。１つの計算環境は送信を行い、別の計算環境は受信を行い、そしてそれらのアクティビティは、ＣＳＣＥ又はＣＣＥのような制御計算環境により整合される。別の実施形態では、一対のネットワークインターフェイスカード又は能力（ＮＩＣ）あるいはモデムが、送信／受信能力を与える対で送信のみ又は受信のみを行うように構成される。１つの計算環境には受信のみの能力を、そして別の分離計算環境には送信のみの能力を与えることにより、たとえハッカーやウイルスが受信計算環境にアクセスしても、ハッカーやウイルスは、脱出することができず、即ち送信のみの計算環境からどこかへ通信されることがない。
【０３３７】
一実施形態では、内部ＤＨＣＰルーター又は他のルーターが任意に設けられ、計算環境は、多数のネットワークトランザクション、多数のＮＩＣカード、又は多数のＩ／Ｏ装置をもつことができる。一実施形態では、多数の周辺機器が、分離された仕方で、多数の計算環境に排他的に結合される。これらの装置は、例えば、ＵＳＢ装置、ファイアウオール装置、ＳＣＳＩ装置、シリアル装置、或いはこの技術で良く知られた他の装置形式である。
【０３３８】
一実施形態では、以前にセーブされたファイルのバージョンに置き換えるのではなく、古いファイルを保有することができる。例えば、更新されたネットスケープ(Netscape)ブックマーク及びユーザデータが保護記憶装置へコピーして戻されるときに、それらは、ネットスケープブックマーク及び経歴の以前のバージョンに置き換わらない。従って、データが次に使用されるときに、それが崩壊して適切に動作しない場合には、制御方法及び／又はユーザが修理を実行し、データの以前のバージョンを使用するようにスイッチバックさせる。
【０３３９】
一実施形態では、任意であるが、２つ以上のＣＥを生成することができ、一方は、例えば、完全なマスターテンプレートを有し、そして他方は、例えば、頻繁に使用されるアプリケーション及びオペレーティングシステムの短縮セットのみを含む。任意であるが、ソフトウェアが必要とされるときに、ＣＥがソフトウェアを含まない場合には、必要なソフトウェアは、例えば、ユーザソフトウェアの全セットを含むと共に、オペレーティングシステムを任意に含むマスターテンプレートからコピーすることで、ＣＥに追加することができる。
【０３４０】
一実施形態において、任意であるが、ネットワーク通信をアクチベートする前に、送信されるべき幾つかの又は全てのｅメールは、送信前に分離計算環境において暗号化を行うことによりｅメールを防護する方法を使用して暗号化し、次いで、ｅメールを第２の分離計算環境へコピーし、そこで送信する（及び潜在的なハッカーへ露出する）ことができる。暗号化されたｅメールは、受信の後、分離計算環境へ移動され、その後に、暗号解読される。従って、ｅメールは、非暗号化形態でインターネットに決して露出されない。本発明のソフトウェアは、ユーザの介在なく、暗号化及び／又は暗号解読プロセスを自動的にトリガーする。任意であるが、ユーザのパブリックキーを各ｅメールと共に自動的に与えることができる。
【０３４１】
任意であるが、一実施形態において、保護記憶装置は、ＣＳＣＥ又はＣＣＥ又は他の制御環境がデータをＣＥへ移動するコマンドを受け取るまで、リードオンリであって及び／又はロックすることができる。従って、この例では、ユーザがオープンすべきドキュメントを保護記憶装置において選択する場合に、コード（例えば、ＲＯＭの命令及び／又はオペレーティングシステム）が、修理を行うようにＣＳＣＥに命令することができる。次いで、修理に続いて、ＣＳＣＥは、保護記憶装置をリード−ライト及び／又はアンロックへスイッチする。保護記憶装置から一時的記憶装置及び／又は爆発室へデータをコピーすることができる。これらの事象は、他の順序で生じてもよいし、付加的な及び／又は他のステップを含んでもよいし、及び／又はこれらステップの幾つかを含まなくてもよい。
【０３４２】
任意であるが、多数のＣＥが同時に動作して、１つが「クラッシュ」し及び／又は断念し及び／又はクローズされ及び／又はもはや必要とされない場合に、別のＣＥが、使用中のＣＥに取って代わる準備ができる。例えば、二次ＣＥへスイッチすることができ、及び／又は二次ＣＥとの通信をアクチベートすることができる。
【０３４３】
一実施形態では、保護記憶装置に関連したコードは、データの実行を許さないことがあり、及び／又は保護記憶装置におけるデータの実行をサポートしないことがある。従って、この実施形態では、保護記憶装置において実行できるユーザデータはない。任意であるが、保護記憶装置との通信は、修理の前にＣＥでは決して確立されず、そしてそのＣＥとの新たなネットワーク接続の前、及び／又はユーザドキュメントをオープンする前にも決して確立されない。従って、保護記憶装置は、ハッカー及びウイルスの実行には影響されない。
【０３４４】
一実施形態では、計算環境（ｘ室又は爆発室とも称される）は、互いに同一でもよく、及び／又は互いに相違点を有してもよく、及び／又は「時間遅延」ミラーとして働いてもよい。一実施形態では、二次ＣＥが同一でよいが、キーストローク及び／又は入力が遅延状態で多数のＣＥへ送信される。従って、あるＣＥは、時間遅延され、ＣＥがクラッシュした場合に、制御システムは、時間遅延したＣＥへスイッチすることができる。一実施形態では、制御方法は、プロセスウオッチャー及び／又はクラッシュ検出システムを使用して、二次システムＣＥへスイッチすべきかどうか決定することができ、そして任意であるが、問題を診断し、次々に古いＣＥへスイッチするときに問題を回避することができる。
【０３４５】
一実施形態では、揮発性メモリのデータは、コマンドを実行する前に、別のメモリエリア及び／又はロジック装置へコピーし、及び／又はセーブし、及び／又はバックアップすることができる。コマンドを実行する前のデータの次々のバックアップを記憶することができる。次いで、コマンドが実行されたとき、及びフリーズのような問題が発生した場合に、新たな二次システム及び／又は二次自己修理ユーザワークエリアを使用することができ、及び／又は揮発性メモリの任意のバックアップを揮発性メモリにロードすることができる。これは、使用のための揮発性メモリの良好なコピーを与える。問題又はフリーズが再び生じた場合は、セーブされた揮発性メモリの古いバージョンを使用することができる。任意であるが、ユーザ（１人又は複数）には問題が通知され、そして何を入力するか、及び／又はどのようにデータを入力するか、及び／又は他の振舞いを変更するよう求められる。任意であるが、プロセスウオッチャー及び／又はエラー検出システムを使用して、問題を識別することができる。任意であるが、二次ＣＥが使用されるときには、制御方法は、揮発性メモリの初期のバックアップを使用するように選択し、及び／又はクラッシュを回避するためにデータを差別的に処理するよう二次システムに指令することができる。
【０３４６】
修理を遂行する別の方法は、例えば、多数のＣＥを分離状態で準備することである。これらのＣＥは、ＲＡＭディスク、ＲＡＭ、シェル、揮発性メモリ、又は他のデータ記憶装置の形態でよく、関連するＲＡＭ、及び／又は処理、及び／又は計算環境を有してもよく、そして１つ以上のマスターテンプレートの全部又は一部分のコピーを含んでもよい。分離は、例えば、ＣＥを分離バックアップから現在ＣＥへスイッチするように通信をアクチベート及び／又はデアクチベートすることにより生成することができる。
【０３４７】
任意であるが、一実施形態において、１つ以上の予想されない及び／又は識別されないファイルが一時的記憶エリアに現われた場合には（例えば、一時的記憶エリアにどんなデータがあるべきかに関する情報の保護データベースには現われない１つ以上のファイル）、例えば、制御方法及び／又はオペレーティングシステム、及び／又はＲＯＭにおけるコードが、このようなファイルにユーザの注を引き付けさせる。ユーザには、ファイル（１つ又は複数）を破壊及び／又はセーブし、及び／又はファイル（１つ又は複数）に何らかの疑義があることを示すようにファイルをマークするオプションが与えられ、及び／又は更に別の検査及び／又は有効性確認を必要とすることがある。更に別の実施形態では、識別されないファイルが削除され及び／又はデータ記憶装置へセーブされ、及び／又は更なる検査のためにマークされ、及び／又は更なる試験のために自動的に及び／又は手動でどこかに送信され、例えば、ネットワークアドミニストレータ及び／又はウイルス検査エンティティへ送信される。
【０３４８】
一実施形態では、１つ以上のデータ記憶装置は、リードオンリ及びリード−ライトモード間、及び／又はロック及び／又はアンロックモード間、及び／又はアクセス可能及び／又はアクセス不能モード間でスイッチされるハードウェア及び／又はソフトウェアでよい。一例において、ユーザは、リードオンリデータ記憶装置からファイルをオープンし、ファイルを操作し、そしてファイルをセーブするときに、一時的記憶エリアにセーブする。任意であるが、幾つかの又は全部のファイルをクローズするときに、ロジック及び制御方法は、次のステップの１つ以上を実行することができる。即ち、ＲＡＭをクリア及び／又はリセットし、プロセッサをクリア／リセットし、及び／又は１つ以上のデータ記憶装置をアンロック及び／又はロックし、及び／又は読み取り／書き込み及び／又はリードオンリを行い、一時的記憶装置からデータ記憶装置へデータを移動し、１つ以上のデータ記憶装置をクローズ／ロック／リードオンリし、一時的記憶エリアを任意にクリア／リセットし、（修理プロセスを任意に実行し）、そして次のユーザコマンドを待機する。一実施形態において、一時的記憶装置は、揮発性及び／又は不揮発性メモリで構成される。一例において、ランダムアクセスメモリ及び／又はフラッシュＲＯＭ、及び／又は他のデータ記憶装置が使用されてもよい。一実施形態では、ドキュメント間でデータをコピーするために、コピーすべきデータをＲＡＭ及び／又は揮発性メモリの１つ以上の特有のアドレス（１つ又は複数）にロードすることができる。ペーストコマンドを受信すると、データの実行を許さないコピープロセスの使用によりデータを通信することができる。例えば、実行できないＡＳＣＩＩテキストしか送信しないようにデータを簡単化することができる。
【０３４９】
一実施形態では、保護記憶装置においてファイルをオープンできないが、それらは、例えば、コピーされ、移動され、削除され、フラグが立てられ、バックアップされ、アーカイブされ、そしてその他の機能を受ける（これらに限定されないが）。但し、これらの機能が制御環境のような「セキュア」なインターフェイスから実行される場合に限る。
【０３５０】
一実施形態では、好みを変え、マスターテンプレートを変更し、バックアップを削除し、或いは他の管理事象を制御環境等へ与えるコマンドを実行するために、セキュアな環境、例えば、それ自身のユーザインターフェイスソフトウェアを有する制御環境から管理を行わねばならない。ここで、分離という語は、あるときにはそこに述べたものが分離されるが、そこに述べた他の特定の時間にはそれが分離されなくてよいという概念を伝えるために使用される。例えば、ＣＥは、ユーザデータが実行されているときには、修理プロセスが実行するまで、分離され得る。次いで、修理プロセスを実行するために、例えば、リードオンリマスターテンプレートとの通信が確立され、修理が行われ、次いで、ＣＥとの他の通信、例えば、ネットワークとの通信を確立することができる。分離は、必要に応じて、及びハッキングやウイルスの広がりを防止する必要があるときに、使用される。
【０３５１】
マスターテンプレートを参照すれば、ＣＥに使用されるマスターテンプレートの「使い捨てコピー」は、種々の基準を使用して多数のやり方で生成することができる。一実施形態では、ＣＥの種々のマスターテンプレートを生成することができる。マスターテンプレートを生成するための基準を確立することができる。例えば、１つの基準は、コンピュータ／計算装置に通常使用されるプログラムを選択することをベースとする。例えば、コンピュータユーザは、最も一般的に、次のものを使用すると仮定する。（１）ワード処理プログラム、（２）ｅメールプログラム、（３）２つのインターネットブラウザ、及びポップアップを防止するユーティリティ、並びにオンラインオークションを追跡し、そして種々の他のアプリケーション、ゲーム、ユーティリティ及び／又は他のプログラムを僅かな程度に使用するプログラム。この例を使用すると、マスターテンプレート（１つ又は複数）は、これらニーズの各々を基準として使用して生成することができる。従って、１つのマスターテンプレートは、オペレーティングシステム及びワード処理プログラムを含むことができ、別のマスターテンプレートは、オペレーティングシステム及びｅメールプログラムを含むことができる。別のマスターテンプレートは、オペレーティングシステム、２つのインターネットブラウザ、及びポップアップを防止するユーティリティ、並びにオンラインオークションを追跡するプログラムを含むことができ、更に別のマスターテンプレートは、全てのユーザソフトウェアを含むことができる。
【０３５２】
別の実施形態では、１つ（以上）のマスターテンプレートを生成することができ、基準を満足するに必要なマスターテンプレートの一部分のみをコピーして、１つ以上のＣＥを生成することができる。例えば、１つのマスターテンプレートがあってもよいが、これを使用して、１つ以上のＣＥにおけるマスターテンプレートの部分を生成することができる。例えば、上述した基準を使用し、１つのマスターテンプレートを使用して、ユーザによりおそらく使用するための準備のできたＣＥを生成することができる。
【０３５３】
一実施形態では、ユーザは、どのＣＥ（１つ又は複数）を使用し／オープンすべきを選択することができると共に、データをＣＥ（１つ又は複数）にコピーすることができる。任意であるが、使用すべきＣＥ及び／又はマスターテンプレートのコピーの選択は、自動的に行われてもよいし、コードにより編成されてもよい。例えば、ユーザがオープンすべきワード処理ドキュメントを選択する場合には、ドキュメントが選択されたときに、コードが、適当なワード処理ソフトウェアを含むＣＥのサーチを実行することができ、及び／又はデータベース及び／又はディレクトリーをチェックして、適当なソフトウェアの位置を識別し、及び／又は他の手段を使用して、正しいソフトウェア及び／又は使用すべきＣＥを識別することができる。
【０３５４】
本発明のある実施形態では、１つ、多数、又は全ての計算環境からのデータを単一のディスプレイ装置（或いは動作計算環境より少数の１組のディスプレイ装置）に表示することができ、従って、このようなディスプレイ装置及びサブシステムを汚染せずに共有することが要望されることになる。
【０３５５】
一実施形態では、制御環境は、多数の動作モードを使用することができる。例えば、第１の動作モードでは、制御環境は、ＡＳＣＩＩ及び拡張ＡＳＣＩＩを除いてユーザ計算環境間でのコピーを許さず、及び／又はネットワーク上のファイル共有を許さない。第２の動作モードでは、制御環境は、未知の実行可能なコードのコピーを許し、及び／又はネットワーク上のファイル共有を許す。第１モードは、「ハッカー及びウイルスに対して免疫性がある」と分類されてもよく、一方、第２動作モードは、「ハッカー及びウイルスに耐える」又は「非セキュア」として分類されてもよい。第２動作モードで生成されるドキュメントは、例えば、「非セキュア」なドキュメントと表示されてもよい。付加的な動作モードを使用することができる。スイッチングモードは、例えば、制御環境により、及び／又はユーザにより、及び／又はアドミニストレータにより行うことができる。スイッチングは、自動的でもよいし、及び／又は手動のスイッチングプロセスによりトリガーされてもよいし、又は検出されるある条件によりトリガーされてもよい。
【０３５６】
本発明の実施形態で実施できる多数の他の考えられるモードが存在する。例えば、種々の管理モードが存在し得る。管理モードの一例では、ユーザは、保護記憶装置又は制御環境のような１つ以上の計算環境に対して修理及び／又は保守を実行するために、キー、パスワード、或いは身元又は許可を確認する手段を使用しなければならない。管理モード及び／又は修理モードの第２の例では、保護記憶装置（１つ又は複数）、制御環境（１つ又は複数）を１つ以上のデータ記憶装置へ自動的にセーブし、再フォーマット／リセット／消去し、そして必要に応じて再ロードして、それらの状態を真新しい状態で再生成することができる。制御環境のような種々の環境のマスターテンプレートを使用することができ、そして適切な許可及びスイッチングで別の環境が保守プロセス中に制御環境に対して修理を行うことができる。一実施形態では、このスイッチングは、あるスケジュールで行い、及び／又はユーザによりトリガーすることができる。
【０３５７】
別の実施形態では、制御環境は、保護記憶装置へセーブされた各ファイルを表示することができる。ファイルが未知のものか又は信頼性のないものである場合には、例えば、「信頼性がない」と表示され、一方、真新しい環境内からファイルが生成された場合には、制御環境がファイルを「信頼性がある」と表示できる。一例において、「ハッカー及びウイルスに対して免疫性がある」モードでは、制御環境は、信頼性のあるデータを第１のユーザ計算環境から第２のユーザ計算環境へコピーするのを許すが、「信頼性のない」データを第２のユーザ計算環境へコピーすることは許さない。「あまりセキュアでない」モードへのスイッチングは、制御環境が、信頼性のないコードを、第１のユーザ計算環境から第２のユーザ計算環境へコピーするのを許すことができ、それにより生じるファイルは、ここで、「信頼性がない」と表示される。
【０３５８】
別の実施形態では、１つのモードにおいて、２つ以上の計算環境におけるリンクされたデータは、これらの環境間で直接コピーすることができる。別の実施形態では、信頼性のあるリンクされたデータのグループは、ユーザ環境へコピー又は移動することができ、そして全てのデータに信頼性がある場合には、データがそれらの間でコピーされ及び／又はクロスリンクされる。従って、全データベース及びリンクされたデータのセットは、ユーザ計算環境へ移動又はコピーされ、そして種々のドキュメント及び／又はデータベース間でデータがクロスコピー及びリンクされながら操作される。全てのデータに信頼性がある場合には、１つのユーザ計算環境において全てのデータを一緒に操作することができる。（或いは、１つより多く、例えば、第２、第３、等。）全てのコードに信頼性があるので、ユーザ計算環境は、第１計算環境と直接通信することができる。信頼性のない異なる動作モードでは、信頼性のないデータを、信頼性のあるデータ又は信頼性のないデータと合体して、信頼性のないデータを形成し、そのように表示することができる。このように、リンクされたデータ及びデータベースの全データベースを維持し、そして信頼性のある環境において共有することができる。
【０３５９】
別の実施形態では、この新たな技術を使用してコンピュータで構成されたネットワークは、信頼性のある／セキュアな通信ラインを経て通信される信頼性のあるデータ、データベース、及びリンクされたデータドキュメントを共有し、そして混合することができる。
【０３６０】
一実施形態では、制御計算環境は、例えば、信頼性がないと示されたファイルと、信頼性があると示されたファイルとの混合を決して許さない。この方法は、好都合にも、信頼性のある／セキュアなネットワーク接続によりアタッチされたコンピュータの全ネットワークが、信頼性のあるファイル、データベース及びリンクされたデータを共有しそして一緒に混合できるようにすると同時に、信頼性のないファイルをそれらのコンピュータにもたせそして信頼性のあるファイルを危険に曝すことなくそれらの信頼性のないファイルを使用する能力を有することができる。
【０３６１】
一実施形態において、サーバーは、ここに述べる技術のものでよく、クライアントノードは、セキュアな／信頼性のあるネットワーク接続を経て接続することができ、そしてクライアントノードは、従来のコンピュータで構成されてもよい。この例では、サーバーは、次のステップを実行することができる。（１）クライアントコンピュータのハードドライブを再フォーマットしそしてメモリをクリアし、（２）デスクトップ環境においてユーザがファイルを選択した後にデスクトップ環境へのアクセスをユーザコンピュータに与え、（３）要求されたファイルをユーザ環境に与えると共に、デスクトップ環境との通信を、例えば、「セーブ」ファイルを意味する１ビットに制限し、又、２ビット以上、即ちセーブファイル及び消去計算環境、に制限する。又、ステップ（４）では、制御環境を危険な状態に入れることのないようにファイルをセーブするために、ユーザファイルをクライアントコンピュータからサーバー上のユーザ計算環境によりコピーし、次いで、ユーザ計算環境に位置するデータをセーブする通常の仕方でセーブすることができる。次いで、ステップ（５）では、クライアントが終了したときに、クライアントコンピュータをサーバーにより再フォーマットしそしてリセットすることができる。任意であるが、クライアントは、「シン(thin)クライアント」として動作し、従って、クライアントコンピュータにコピーして戻す必要のあるデータは、ほとんど又は全くない。
【０３６２】
一実施形態では、信頼性がないとマークされたファイルは、例えば、ワード処理ドキュメントから潜在的に実行可能なコードを除去する「剥離(stripping)」プロセスにより信頼性があるものにされる。例えば、信頼性のないファイルデータは、ＡＳＣＩＩキャラクタとしてセキュアな環境にコピーされて、信頼性あるものとして分類される。一実施形態では、保護記憶装置は、外部及び／又はポータブル、及び／又はホットスワップ可能、及び／又はポータブル媒体でよい。一実施形態では、ソフトウェア及び／又は物理的ボタン及び／又はスイッチ及び／又は組合せを使用して、計算環境をリセット／修理するような事象をトリガーすることができる。
【０３６３】
隠されても隠されなくてもよい内部又は外部のバックアップシステムは、保護記憶装置、マスターテンプレート、制御環境のコピー、等をバックアップするために、例えば、制御環境によりスイッチすることができる。
【０３６４】
次いで、選択された１つ又は１組の計算環境からのデータをいかに表示しそして使用するかについて説明する。このようなデータは、これに限定されないが、計算環境において及び実際の入力、出力に対して生じるビデオ出力、或いはデータ又はアクティビティの表示と、処理事象の間に計算環境により又はその中で使用され又は発生される中間データセット又はファイルを含む。
【０３６５】
ウインドウベースのユーザインターフェイスを含む一実施形態では、全ての（又は選択された）ウインドウ、アイコン（及びこのようなアイコンが表わすアプリケーションプログラム又はデータの名前）、並びに他の当該データ及び／又は識別手段に対する全ての（又は選択された）サイズ、形状及び位置座標が、計算環境（ある実施形態では、コードの爆発を含むが外部には有害でないので「爆発室」又は「ｘ室」とも称される）から、システム内の制御エンティティ、通常、制御計算環境（ある実施形態では「ブレーン」とも称される）、例えば、既に述べたＣＳＣＥ又はＣＣＥ計算環境へと送信される。この情報は、例えば、１つ以上の種々の計算環境で実行されるか、又は単一の同時計算環境オペレーションがサポートされるときには時間的に分離された仕方で実行されるコンピュータプログラムソフトウェア命令を使用して、本発明の手順を使用する制御計算環境へと与えることができる。或いは又、その全部又は一部分を、制御計算環境により又はその中で生成することもできる。
【０３６６】
制御計算環境により記憶されそして追跡されるこのデータは、ここでは、「計算環境データ」又は「ｘ室データ」と称される。
【０３６７】
更に、それに加えて又はそれとは別に、制御計算環境は、制御データ又は「ブレーンデータ」と称される他のデータ、例えば、各「レイヤ」又は「プロセス」が生成された順序、及び各ウインドウが生成された順序を表わすデータを追跡することができる。又、これは、選択的又はアクティブなウインドウ又はプロセスに関する情報も維持できる。
【０３６８】
ある実施形態で説明され、そして他の実施形態に対してシステム「ブレーン」とも称されるＣＳＣＥ又はＣＣＥのような制御計算環境は、マウスカーソル又は他のポインティング装置の位置及び／又はキーボード又は他のユーザ入力アクティビティを追跡することもできる。従って、制御計算環境は、各計算環境により発生されたオープンウインドウ、アイコン、等の位置に対するマウスカーソルの位置（マウス又はポインティング装置のクリックが生じたときの）を決定することができる。本明細書では、主として、キーボード及びマウスコマンドを使用した人間ユーザの相互作用について説明するが、実際に、本発明のシステム及び方法は、種々のユーザ相互作用、例えば、これに限定されないが、タッチスクリーン相互作用及びコマンド、音声相互作用及びコマンド、ドロップダウンメニュー、ホットスポット選択相互作用及びコマンド、ファンクションボタン押圧、ペンスタイラス相互作用及びコマンド、並びにこの技術で知られた又は開発が予想される種々の他のユーザ入力及び相互作用方法及び装置にも適用できることが明らかであろう。
【０３６９】
従って、マウス位置「クリック」（又は他の「選択」）を計算し、そしてそれを割り当てられた計算環境のウインドウ位置と比較する（及びどちらのウインドウが「前方」又は「アクティブ」であるか）ことにより、ＣＳＣＥが、どのウインドウ（又はアイコン又はアイテム又は計算環境プロセス）が選択されるよう意図されたか特に決定しそしてその「クリック」位置を受信できるようにする。
【０３７０】
従って、マウスボタンがクロックされると、制御計算環境は、例えば、どのレイヤを従来のウインドウ用語で「アクティブで且つ前方」とするか、又はどのアプリケーションを起動するか、又はマウス及びキーボード信号をどこに向け直すかを、制御計算環境により収集された情報に基づいて決定することができる。
【０３７１】
計算環境（ＣＥ）からＣＳＣＥへの直接接続は、例えば、これに限定されないが、計算環境からの第１の（おそらく専用の）ＡＳＩＣをＣＳＣＥ（又はフィルタ）における第２の（おそらく専用の）ＡＳＩＣに対して使用して、意図されないアクティビティ又は結果を防止することができる。このような意図されない結果は、例えば、マリシャスコードを持ち出すか又は広げるように意図されたバッファ又はメモリオーバーランを引き起こすあるコード実行である。ＡＳＩＣは、所定の許された処理しか生じないようにフィルタリング又は制限動作を与えるロジック回路の単なる一例である。例えば、このようなロジックは、ＡＳＩＣの形態であるか、それ以外で実施されるかに関わらず、「受信器」として動作して、受け取った通信を「ｘ、ｙ」又は「ライン、サンプル」座標として理解し又は解釈することしかできず、その他の理解も解釈もできない。ある実施形態では、計算環境とＣＳＣＥとの間の通信経路に位置された単一のＡＳＩＣ又は他のロジックが、意図された通信において希望の制限又はフィルタリング動作を与えるのに充分なものであることに注意されたい。このようなＡＳＩＣ又はロジック回路（ソフトウェア又はファームウェアを任意に使用する）は、使用可能な１組の考えられる許可された機能又は動作から１つの機能をセキュアに且つ安全に選択するように制御可能であるか、或いはこのような選択を遂行するように動的にプログラム可能である（例えば、保護記憶装置又は他のセキュアな記憶装置からコードをダウンロードするか、又は制御信号（１つ又は複数）を送信することにより）。
【０３７２】
制御計算環境に与えられるデータに含むことのできる「ｘ室データ」又はユーザ計算環境データは、例えば、これに限定されないが、次のものを含まなくてもよいし、１つ以上含んでもよい。即ち、ウインドウの位置及びサイズ（ワイヤフレームのような）；アイコンの名前及びそれらが何を表わすか；ファイルのサイズ、ファイルの位置、及び同様のファイル又はデータセットの参照又は識別子。更に別の例として、これらは、Ｂツリー、マスターディレクトリー、デスクトップデータベース、等を含んでもよい。それに加えて又はそれとは別に、これは、どのアプリケーションプログラム、ドライバ又はオペレーティングシステム要素が、どのファイル又はファイル形式或いは装置又は装置形式と「関連」され、又は協働するように意図され、オープンし、或いは処理能力を有するかのリスト又は他のデータ構造又はインデックスを含んでもよい。
【０３７３】
制御データ又は「ブレーンデータ」は、例えば、次のものを含まなくてもよいし、１つ以上含んでもよい。即ち、レイヤ、ウインドウ及び／又はプロセッサが生成された順序を識別するデータ、このようなレイヤ、ウインドウ及び／又はプロセッサの現在の順序又はプライオリティ、マウス又はポインティング装置の絶対的、スクリーン相対的、ウインドウ相対的なカーソル位置、及び／又はこれら又は他のデータの組合せ。ある実施形態では、複数の計算環境が同様の又は同一の属性を有し、このデータ又は情報のあるものは、一度生成されるだけでよく、従って、その計算環境に対して相対的な変化が生じた場合及びそのときに、その後の更新のために各計算環境に対して変更又は適応されるだけでよいことが明らかであろう。
【０３７４】
多数の任意の特徴を含む本発明の多数の実施形態を説明したが、本発明の異なる態様及び特徴を結合して一緒に使用したり別々に使用したりできることが明らかであろう。ここでは、これら特徴をある組合せで有する特定の実施形態について説明する。この説明は、単なる例示に過ぎず、本発明の範囲又は精神を何ら限定するものではない。本明細書のどこかで述べた本発明の多数の態様及び特徴は、以下に記載しない。
【０３７５】
１つの態様において、本発明は、情報機器を提供する。この情報機器の一実施形態において、情報機器は、プログラム及びデータのための第１記憶装置と、プロセッサロジックとを有し、そしてユーザデータを含むタスクを遂行するためのコンピュータプログラム命令を実行する形式のものであり、この情報機器は、個別の制御処理環境及びユーザ処理環境が生成され及び維持されて、（１）未知の又は信頼性のないコンテンツを有するユーザデータは、制御処理ロジック環境において、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに対して露出されず、そして（２）未知の又は信頼性のないコンテンツを有するユーザデータは、ユーザ処理ロジック環境において、第１記憶装置から分離されたときに、第１記憶装置とは異なる一時的記憶装置のみに露出されるようにしたことを特徴とする。情報機器の別の実施形態では、情報機器は、パーソナルデータアシスタントであるか又はそれを含む。情報機器の別の実施形態では、情報機器は、コンピュータであるか又はそれを含む。
【０３７６】
別の態様において、本発明は、少なくとも１つの命令を実行するための少なくとも１つの処理ロジック装置と、第１データ、及び少なくとも１つの命令を含むと共にユーザデータを含む第１プログラムコードを記憶するための第１記憶装置と、第２データを記憶するための第２記憶装置と、自動制御のもとで処理ロジック装置を第１記憶装置及び／又は第２記憶装置に選択的に独立して結合及び分離するためのスイッチングシステムであって、処理ロジック装置から少なくとも１つの制御信号を受信してスイッチングシステムの状態を選択するためのスイッチングシステムとを備え、処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、（ｉ）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムは実行できないプログラム命令が処理ロジックにロードされたときには、第１記憶装置と結合されてもよく、（ii）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第１記憶装置と結合されないか又は既知の情報を通信するように限定的に結合されるだけでよく、（iii）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第２記憶装置と結合されてもよく、そして（iv）処理ロジック装置は、第１記憶装置から第２記憶装置へ又は第２記憶装置から第１記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、第１記憶装置及び第２記憶装置に結合されてもよい、というように動作する情報機器を提供する。
【０３７７】
上述した情報機器の一実施形態では、スイッチングシステムは、処理ロジック装置を第１記憶装置及び第２記憶装置に少なくとも次の仕方で結合し又は分離することができ、即ち（ｉ）処理ロジック装置を第１記憶装置のみに結合し、（ii）処理ロジック装置を第２記憶装置のみに結合し、（iii）処理ロジック装置を第１及び第２記憶装置に同時に結合し、（iv）処理ロジック装置を第１記憶装置にも第２記憶装置にも結合しない。前記情報機器の別の実施形態では、処理ロジック装置は、マイクロプロセッサを含む。前記情報機器の別の実施形態では、処理ロジック装置は、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）、コントローラ、マイクロコントローラ、ＡＳＩＣ、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せよりなる処理ロジック回路のセットから選択される。前記情報機器の別の実施形態では、情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、ＧＰＳ受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御装置、電子計器、医療監視装置、セキュリティ装置、環境制御装置、電子装置、及びそれらの組合せより成る情報機器のセットから選択される。前記情報機器の別の実施形態では、第１データ記憶装置及び第２データ記憶装置は、独立して選択可能であり、そして回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、ＣＤ、ＤＶＤ、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュ（登録商標）カードメモリ、ＲＡＭメモリ、ＲＯＭメモリ、及びそれらの組合せより成る記憶装置のセットから選択される。
【０３７８】
前記情報機器の別の実施形態では、少なくとも１つの処理ロジック装置は、複数の処理ロジック装置を含む。前記情報機器の別の実施形態では、前記複数の処理ロジック装置の少なくとも１つは、少なくとも１つのマイクロプロセッサを含み、そして前記少なくとも１つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、マイクロプロセッサを第１及び第２の記憶装置に選択的に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るためにマイクロプロセッサに結合可能である。前記情報機器の別の実施形態では、複数の処理ロジック装置は、処理ロジック装置の１つを実行する自動制御システムにより、間欠的順次に分離されそして通信的に制約される。前記情報機器の別の実施形態では、第２記憶装置は、それが処理ロジック装置に結合されたときには処理オペレーション中に一時的記憶装置として働き、そして各処理が行われた後に、処理がエラー状態で完了する場合又はエラー状態を伴わずに完了する場合で独立して自動的に消去されるように構成され、更に、エラー状態は、ウイルス又は他のマリシャスコード実行の検出を含む。情報機器の別の実施形態では、複数の処理ロジック装置及び少なくとも第１及び第２記憶装置は、決定された特性を有する計算環境を生成するように動的に構成可能である。情報機器の別の実施形態では、第１記憶装置は、オペレーティングシステム及びアプリケーションプログラム要素と、ユーザデータの保護されたコピーとを有するマスターテンプレートファイルを記憶する。
【０３７９】
別の態様において、本発明は、少なくとも１つの命令を実行するための少なくとも１つの処理ロジック装置と、第１データ、及び少なくとも１つの命令を含むと共にユーザデータを含む第１プログラムコードを記憶するための第１記憶装置と、第２データを記憶するための第２記憶装置とを有する形式の情報機器を操作する方法であって、スイッチングシステムの条件を選択するために処理ロジック装置から少なくとも１つの制御信号を受信した際に、処理ロジック装置を自動制御のもとで第１記憶装置及び／又は第２記憶装置と結合し及び分離するように選択的に及び独立してスイッチングするステップと、次の条件に基づいて制御コンフィギュレーション及びユーザデータコンフィギュレーションで処理ロジック装置を操作するステップであって、（ｉ）信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムは実行できないプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第１記憶装置との結合を許し、（ii）信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第１記憶装置との結合を許さないか又は処理ロジック装置と第１記憶装置との結合を限定的に許して既知の情報を通信するのみとし、（iii）信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第２記憶装置との結合を許し、そして（iv）第１記憶装置から第２記憶装置へ又は第２記憶装置から第１記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第１記憶装置及び第２記憶装置との結合を許す、というようにしたステップと、を備えた方法を提供する。
【０３８０】
情報機器を操作する方法の別の実施形態では、前記方法は、処理ロジック装置が第２記憶装置を使用してユーザデータを処理した後に第２記憶装置を消去するステップを更に備えている。
【０３８１】
情報機器を操作する方法の別の実施形態では、情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、ＧＰＳ受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御システム、電子計器、医療監視装置、セキュリティ装置、環境制御装置、電子装置、及びそれらの組合せより成る情報機器のセットから選択される。
【０３８２】
情報機器を操作する方法の別の実施形態では、少なくとも１つの処理ロジック装置は、複数の処理ロジック装置を含む。情報機器を操作する方法の別の実施形態では、複数の処理ロジック装置の少なくとも１つは、少なくとも１つのマイクロプロセッサを含み、そして少なくとも１つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、マイクロプロセッサを第１及び第２の記憶装置に選択的に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るためにマイクロプロセッサに結合可能である。
【０３８３】
別の態様において、本発明は、あるフォームファクタのコンピュータＰＣカード及び複数のＰＣＣａｒｄＢｕｓインターフェイス接続を有するハウジングと；このハウジング内に配置された複数のプロセッサと；このハウジング内に配置されるか又はそれに結合された複数のデータ記憶装置と；少なくともユーザデータを記憶するために複数のデータ記憶装置から選択された保護データ記憶装置部分と；複数のデータ記憶装置に結合されたデータ記憶装置スイッチシステムであって、ハウジング内に配置された１つ以上のデータ記憶装置との通信を構成するためにデータ記憶装置スイッチコンフィギュレーションで結合されたスイッチシステムと；少なくとも１つの周辺機器に結合されたＩ／Ｏスイッチシステムであって、ハウジング内に配置された周辺機器との通信を構成するために複数の特色を含むＩ／Ｏシステムコンフィギュレーションで結合されたＩ／Ｏシステムと；複数の計算環境であって、その各々の計算環境は、少なくとも１つのプロセッサを備えそして複数の特色から選択された少なくとも１つの特色で識別され、更に、データ記憶装置スイッチに結合されたデータ記憶装置スイッチ通信経路であって、少なくとも１つのデータ記憶装置を、データ記憶装置スイッチコンフィギュレーションに基づいて計算環境に結合するようなデータ記憶装置スイッチ通信経路と、Ｉ／Ｏスイッチシステムに結合されたＩ／Ｏスイッチ計算経路であって、周辺機器を、Ｉ／Ｏスイッチシステムコンフィギュレーションに基づいて計算環境に結合するためのＩ／Ｏスイッチ通信経路とを含み、更に、計算環境は、Ｉ／Ｏスイッチシステムから入力を受信しそしてＩ／Ｏスイッチシステムへ出力を送信することを含む処理アクティビティを実行することができ、この処理アクティビティは、別の計算環境の処理アクティビティとは独立して実行されるような計算環境と；データ記憶装置スイッチコンフィギュレーションを構成し、Ｉ／Ｏスイッチシステムコンフィギュレーションを構成するために複数の計算環境から選択された制御計算環境であって、データ記憶装置スイッチコンフィギュレーションがこの制御計算環境と保護データ記憶装置との間の通信をサポートするような制御計算環境と；複数の計算環境から選択された少なくとも１つのユーザ分離計算環境と；を備え、Ｉ／Ｏスイッチシステムコンフィギュレーションは、受信した入力を計算環境の少なくとも１つへ向けるように構成され、更に、Ｉ／Ｏスイッチシステムコンフィギュレーションは、複数の計算環境の１つ以上により発生された出力を周辺機器へ向けるように構成された情報処理装置を提供する。
【０３８４】
情報処理装置の別の実施形態では、複数のプロセッサは、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）、コントローラ、マイクロコントローラ、ＡＳＩＣ、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せよりなる処理ロジック回路のセットから独立して選択され、そして複数のデータ記憶装置は、独立して選択可能であって、回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、ＣＤ、ＤＶＤ、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュカードメモリ、ＲＡＭメモリ、ＲＯＭメモリ、及びそれらの組合せより成る記憶装置のセットから選択される。
【０３８５】
別の態様において、本発明は、プログラム及びデータのための第１記憶装置と、プロセッサロジックとを有し、そしてユーザデータを含むタスクを遂行するためのコンピュータプログラム命令を実行する形式のコンピュータにおいて、個別の制御処理環境及びユーザ処理環境が生成され及び維持されて、（１）未知の又は信頼性のないコンテンツを有するユーザデータは、制御プロセッサロジック環境において、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに対して露出されず、そして（２）未知の又は信頼性のないコンテンツを有するユーザデータは、ユーザプロセッサロジック環境において、第１記憶装置から分離されたときに、第１記憶装置とは異なる一時的記憶装置のみに露出されることを特徴とするコンピュータを提供する。
【０３８６】
別の態様において、本発明は、少なくとも１つの命令を実行するための少なくとも１つの処理ロジック装置と、第１データ、及び少なくとも１つの命令を含むと共にユーザデータを含む第１プログラムコードを記憶するための第１記憶装置と、第２データを記憶するための第２記憶装置と、自動制御のもとで処理ロジック装置を第１記憶装置及び／又は第２記憶装置に選択可能に独立して結合及び分離するためのスイッチングシステムであって、処理ロジック装置から少なくとも１つの制御信号を受信してスイッチングシステムの状態を選択するためのスイッチングシステムとを備え、処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、（ｉ）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が処理ロジックにロードされたときには、第１記憶装置と結合されてもよく、（ii）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第１記憶装置と結合されないか又は既知の情報を通信するように制限的に結合されるだけであり、（iii）処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第２記憶装置と結合されてもよく、そして（iv）処理ロジック装置は、第１記憶装置から第２記憶装置へ又は第２記憶装置から第１記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、第１記憶装置及び第２記憶装置に結合されてもよい、というように動作するコンピュータシステムを提供する。
【０３８７】
別の態様において、本発明は、第１記憶装置及び少なくとも１つのプロセッサを有する形式のコンピュータシステムであって、個別の制御処理環境及びユーザ処理環境が記憶装置及びプロセッサの少なくとも１つの中に生成され及び維持されて、（１）識別されたデータが、データに埋め込まれたプロセッサ実行可能な命令に露出されないようにし、更に（２）識別されたデータが、第１記憶装置から分離されたときに第１記憶装置とは異なる第２記憶装置においてプロセッサに露出されるだけであるようにしたことを特徴とする。
【０３８８】
本発明の特定の実施形態及び最良のモードの前記説明は、本発明を例示するものに過ぎない。本発明は、ここに述べた厳密な形態に限定されるものではなく、前記教示に鑑み多数の変更や修正がなされ得ることが明らかである。これら実施形態は、本発明の原理及びその実際の応用を最良に説明するために選択されたものであり、当業者であれば、意図された特定の用途に適するように種々の変更を加えて本発明及び種々の実施形態を最良に利用することができよう。本発明の範囲は、特許請求の範囲及びその等効物により定義されるものとする。
【図面の簡単な説明】
【０３８９】
【図１】従来技術によるラップトップコンピュータ又は他の計算システムを示す図である。
【図２】本発明の一実施形態によるラップトップコンピュータシステム又は他の情報機器を示す図である。
【図３】本発明の一実施形態により多数の独立した計算環境をサポートするためのアーキテクチャー及びシステムの概略図である。
【図４】本発明の実施形態を使用するための方法の実施形態を示すフローチャートである。
【図５】計算環境を開始するための方法の実施形態を示すフローチャートである。
【図６】計算環境の１つ以上のスイッチシステムを構成するための方法の実施形態を示すフローチャートである。
【図７】特殊目的のサブシステム又は計算環境、及び共通のコントローラを備えた本発明の別の実施形態を示す図である。
【図８】本発明の更に別の実施形態を示す図である。
【図９】本発明のアーキテクチャー及びシステムの更に別の実施形態を示す図である。
【図１０】本発明のアーキテクチャー及びシステムの更に別の実施形態を示す図である。
【図１１】ユーザ処理のために制御計算環境及び少なくとも１つの分離された計算環境を結合して有する本発明の付加的な実施形態を示す図である。
【図１２】単一の物理的な計算環境を与えるが、コンポーネントの間欠的アクセス及び時間的分離割り当て及びアクセスを使用して複数の論理的又は仮想計算環境をサポートできる本発明のアーキテクチャー及びシステムの実施形態を示す図である。
【図１３】本発明の態様によるアーキテクチャー及びシステム構成の別の実施形態を示す図である。
【図１４】ＰＣカード実施形態のような本発明のインターフェイスカード実施形態を示す図である。
【図１５】ＰＣカードと、周辺バス、ホストバス、及びホストプロセッサとの間の接続を示す図１４のＰＣカード実施形態を示す図である。
【図１６】本発明の実施形態内の動的な構成及びコンポーネントスイッチング及び接続の態様を示す図である。
【図１７】本発明の実施形態内の動的な構成及びコンポーネントスイッチング及び接続の別の態様を示す図である。
【図１８】本発明の計算環境が多数のキーボード及びマウスをいかに結合するか及び積層ビデオの多数の個別セットをいかに与えるかを含む本発明の実施形態の更に別の特徴を示す図である。
【図１９】処理又は計算環境をプロセッサ入力及びプロセッサ出力から分離状態に維持する処理システム環境の実施形態を示す図である。
【図２０】複数の仮想及び物理的処理又は計算環境を有するＮ次元仮想処理空間の実施形態を示す図である。
【図２１】入力とプロセッサとの間の分離を維持するための方法の実施形態を示す図である。
【図２２】１つのプロセッサしかもたない物理的又は仮想処理環境において複数のプロセスの時間的マルチプレクスを遂行するためのシステム、装置及びアーキテクチャーの特定の実施形態を示す図である。
【図２３】コンピュータにおける複数の処理と処理との間に制御された分離の程度を維持するための別のシステムの実施形態を示す図である。
【図１】
2007524161.tif 000004
【図２】
2007524161.tif 000005
【図３】
2007524161.tif 000006
【図４】
2007524161.tif 000007
【図５】
2007524161.tif 000008
【図６】
2007524161.tif 000009
【図７】
2007524161.tif 000010
【図８】
2007524161.tif 000011
【図９Ａ】
2007524161.tif 000012
【図９Ｂ】
2007524161.tif 000013
【図９Ｃ】
2007524161.tif 000014
【図９Ｄ】
2007524161.tif 000015
【図１０Ａ】
2007524161.tif 000016
【図１０Ｂ】
2007524161.tif 000017
【図１０Ｃ】
2007524161.tif 000018
【図１１】
2007524161.tif 000019
【図１２】
2007524161.tif 000020
【図１３】
2007524161.tif 000021
【図１４】
2007524161.tif 000022
【図１５】
2007524161.tif 000023
【図１６】
2007524161.tif 000024
【図１７】
2007524161.tif 000025
【図１８】
2007524161.tif 000026
【図１９】
2007524161.tif 000027
【図２０】
2007524161.tif 000028
【図２１】
2007524161.tif 000029
【図２２】
2007524161.tif 000030
【図２３】
2007524161.tif 000031
【国際調査報告】
2007524161.tif 000032