JP2007524161A - Separation multiplexed multidimensional processing in virtual processing space with virus, spyware and hacker protection features - Google Patents

Separation multiplexed multidimensional processing in virtual processing space with virus, spyware and hacker protection features Download PDF

Info

Publication number
JP2007524161A
JP2007524161A JP2006549677A JP2006549677A JP2007524161A JP 2007524161 A JP2007524161 A JP 2007524161A JP 2006549677 A JP2006549677 A JP 2006549677A JP 2006549677 A JP2006549677 A JP 2006549677A JP 2007524161 A JP2007524161 A JP 2007524161A
Authority
JP
Japan
Prior art keywords
storage device
data
computing environment
processing
processing logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006549677A
Other languages
Japanese (ja)
Inventor
ケニス ラーグマン
アンソニー ビー モア
ジェフリー ブレア
Original Assignee
ヴァー2アス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/760,131 external-priority patent/US7392541B2/en
Priority claimed from US11/022,290 external-priority patent/US20100005531A1/en
Application filed by ヴァー2アス インコーポレイテッド filed Critical ヴァー2アス インコーポレイテッド
Publication of JP2007524161A publication Critical patent/JP2007524161A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

情報機器、計算装置、或いは他のプロセッサ又はマイクロプロセッサベースの装置又はシステムは、セキュリティ、並びにウイルス防止、ハッカー防止、及びサイバーテロ防止特徴を提供し、多数の順次又は同時のそして間欠的に分離及び/又は制限された計算環境を自動的に生成して、それら計算環境を、データを移動及びコピーする制限及び制御された方法に関連して、それら計算環境及びデータ記憶装置に位置するマリシャスコードを破壊するプロセスに結合して使用することにより、ウイルス、マリシャス又は他のコンピュータハッカー、コンピュータ又は装置の崩壊及び故障を防止することができる。単一の物理的プロセッサで実行される多数のプロセスの分離を維持するためのシステム、装置、アーキテクチャー及び方法でストリームを時間マルチプレクス処理する。仮想多次元処理空間及び仮想処理環境。単一CPUにおける時間的マルチプレクス処理。アドレス制御及びマッピングを使用するプロセス分離。物理的及び/又は仮想処理又は計算空間において多数のプロセスを選択し、構成し、スイッチングし、及び/又はマルチプレクシングして、物理的及び/又は仮想処理又は計算環境を生成する。
【選択図】図20
Information equipment, computing devices, or other processor- or microprocessor-based devices or systems provide security and anti-virus, anti-hacker, and anti-terrorism features, with multiple sequential or simultaneous and intermittent separation and Automatically generate restricted computing environments and, in connection with the restricted and controlled methods of moving and copying data, malicious code located in those computing environments and data storage devices; By being used in conjunction with a destructive process, the collapse and failure of viruses, malicious or other computer hackers, computers or devices can be prevented. Streams are time multiplexed with systems, devices, architectures and methods for maintaining the isolation of multiple processes running on a single physical processor. Virtual multidimensional processing space and virtual processing environment. Temporal multiplex processing in a single CPU. Process isolation using address control and mapping. Multiple processes are selected, configured, switched, and / or multiplexed in physical and / or virtual processing or computing space to create a physical and / or virtual processing or computing environment.
[Selection] Figure 20

Description

本発明は、一般に、コンピュータ、情報機器、移動通信装置、及び他の電子装置に対するセキュリティ、並びにウイルス防止、ハッカー防止及びサイバーテロ防止特徴に係り、より詳細には、装置内に存在し得るマリシャスコード(malicious code)がシステム或いは他のユーザ又はプログラムデータに影響を及ぼすのを防止する多数の同時又は順次の時間的処理環境並びに手順及びプログラムを発生するセキュリティ、並びにウイルス防止、ハッカー防止及びサイバーテロ防止特徴をサポートするコンピュータ、情報機器、移動通信装置、並びに他の電子及び計算装置に係る。   The present invention relates generally to security for computers, information equipment, mobile communication devices, and other electronic devices, and anti-virus, anti-hacker and cyber-terrorism features, and more particularly to malicious code that may be present in the device. Numerous simultaneous or sequential temporal processing environments to prevent malicious code from affecting the system or other user or program data, as well as security to generate procedures and programs, and anti-virus, anti-hacker and anti-terrorism It relates to computers, information equipment, mobile communication devices, and other electronic and computing devices that support features.

関連出願:本出願は、参考としてここに各々援用するケンネス・ラーグマン、アンソニーB.モア、及びジェフリーブレア氏を発明者とする次の両米国特許出願に対して35U.S.C.120のもとでの優先権の利益を請求する。2004年12月23日に出願された「Isolated Multiplexed Multi-Dimensional Processing In A Virtual Processing Space Having Virus, Spyware, and Hacker Protection Features」と題する米国ユーティリティ特許出願第11/022,290号;並びに両方とも「Computer System Architecture And Method Providing Operating-System Independent Virus-, Hacker-, and Cyber-Terror-Immune Processing Environments」と題する2004年1月15日出願の米国ユーティリティ特許出願第10/760,131号及び2004年10月13日出願のPCT/US2004/33955号。   Related Applications: This application is incorporated by reference for Kennes Largman and Anthony B. More and 35 U.S. for both the following US patent applications invented by Jeffrey Blair. S. C. Claim the benefit of priority under 120. US Utility Patent Application No. 11 / 022,290 filed December 23, 2004 entitled “Isolated Multiplexed Multi-Dimensional Processing In A Virtual Processing Space Having Virus, Spyware, and Hacker Protection Features”; US Utility Patent Application Nos. 10 / 760,131 and 2004-10 entitled "Computer System Architecture And Method Providing Operating-System Independent Virus-, Hacker-, and Cyber-Terror-Immune Processing Environments" filed January 15, 2004. PCT / US2004 / 33955 filed on 13th of March.

従来技術をベースとするときには、コンピュータや、セルラー電話や、コンピュータ又はプロセッサ技術を使用する広範囲な装置は、コンピュータハッカー、ウイルス、サイバーテロ、スパイウェア、及び/又は他の悪意のある又は有害なコンピュータプログラムコードの影響を受け易い。ウイルス防止ソフトウェアが知られているが、このようなウイルス防止ソフトウェアは、各々の新たなウイルスが書き込まれ又は公開されると、しばしば、時代遅れとなる。更に、このような公開の初期段階中に、通常、幾つかのコンピュータに少なくともある程度のダメージが及ぶことになる。ファイアウォール及び他の保護手段の使用も知られているが、ファイアウォールは、一般に、ポータブルコンピュータや、会社の情報技術(IT)環境以外の公衆ネットワークを経て動作するポータブルコンピュータには組み込まれず、このようなファイアウォールをいつでも打ち負かす多数のハッカー技術が存在する。コンピュータウイルス、スパイウェア、及びハッカーによるダメージについての世界的コストは、毎年、数百億ドルに達すると推定されている。より重要なことに、航空交通、輸送システム、ビルの環境制御、株式市場、電話システム、原子力発電所、並びに他の公共及び私設インフラストラクチャーの運営を制御及び維持するためにコンピュータへの依存度が益々増大するにつれて、このようなマリシャスコード(malicious code)による潜在的な被害は、金銭的推定値を越えている。   When based on prior art, computers, cellular phones, and a wide range of devices that use computer or processor technology include computer hackers, viruses, cyber terrorism, spyware, and / or other malicious or harmful computer programs. Susceptible to code. Although antivirus software is known, such antivirus software often becomes obsolete as each new virus is written or published. In addition, during the initial stages of such publication, some computers will typically suffer at least some damage. Although the use of firewalls and other safeguards is also known, firewalls are generally not incorporated into portable computers or portable computers that operate over public networks other than corporate information technology (IT) environments. There are a number of hacker technologies that always defeat the firewall. The global cost of damage from computer viruses, spyware, and hackers is estimated to reach tens of billions of dollars each year. More importantly, there is a dependency on computers to control and maintain the operation of air traffic, transportation systems, building environmental controls, stock markets, telephone systems, nuclear power plants, and other public and private infrastructure. As it grows more and more, the potential damage from such malicious code exceeds monetary estimates.

コンピュータハッカー、ウイルス、スパイウェア、サイバーテロの攻撃等のマリシャスアクティビティからの免疫性を与えるアーキテクチャー、システム、及びオペレーション方法が要望される。ある意味で、このようなマリシャスエージェントに対抗する万能のワクチンが要望され続けている。又、ユーザがオペレーティングシステム及びアプリケーションプログラムソフトウェア及び/又はデータの既知のクリーンなインストール状態に復帰することにより必要に応じて「修理」を開始することのできる従来のコンピュータとは異なり、ファイル又はデータセットをオープンする前にメモリ及びデータ記憶装置をリセット又は消去して既知のクリーンな又は無菌の記憶環境を生成するコンピュータも要望され続けている。   There is a need for architectures, systems, and methods of operation that provide immunity from malicious activities such as computer hackers, viruses, spyware, cyber terror attacks, and the like. In a sense, there is a continuing need for a universal vaccine that counters such malicious agents. Also, unlike conventional computers where a user can initiate a “repair” on demand by returning to a known clean installation of operating system and application program software and / or data, files or data sets There continues to be a need for computers that reset or erase memory and data storage prior to opening the memory to create a known clean or sterile storage environment.

本発明は、セキュリティ、並びにウイルス防止、ハッカー防止、及びサイバーテロ防止特徴を提供すると共に、多数の順次又は同時のそして間欠的に分離及び/又は制限された計算環境を自動的に生成して、それら計算環境を、データを移動及びコピーする制限及び制御された方法に関連して、それら計算環境及びデータ記憶装置に位置するマリシャスコードを破壊するプロセスに結合して使用することにより、ウイルス、マリシャス又は他のコンピュータハッカー、コンピュータ又は装置の崩壊及び故障を防止することができる。   The present invention provides security and anti-virus, anti-hacker and anti-terrorism features, and automatically generates a number of sequential or simultaneous and intermittently separated and / or restricted computing environments, By using these computing environments in conjunction with the process of destroying malicious code located in the computing environments and data storage in connection with the restrictions and controlled methods of moving and copying data, viruses, malicious Or, the collapse and failure of other computer hackers, computers or devices can be prevented.

一実施形態において、本発明は、情報機器アーキテクチャー、システム、装置、並びに構成及び操作のための方法を提供する。情報機器は、プログラム及びデータのための第1記憶装置と、プロセッサロジックとを有し、そしてコンピュータプログラム命令を実行して、ユーザデータを伴うタスクを遂行する形式のものであり、更に、情報機器は、個別の制御処理環境及びユーザ処理環境を生成して維持するように動作し、(1)未知の又は信頼性のないコンテンツを有するユーザデータが、制御プロセッサロジック環境では、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに露出されないようにし、そして(2)未知の又は信頼性のないコンテンツを有するユーザデータが、ユーザプロセッサロジック環境では、第1記憶装置から分離されたときにその第1記憶装置とは異なる一時的記憶装置のみに露出されるようにする。   In one embodiment, the present invention provides an information equipment architecture, system, apparatus, and method for configuration and operation. The information device has a first storage device for programs and data, and processor logic, and is of a type that executes computer program instructions to perform a task with user data. Operates to create and maintain separate control processing environments and user processing environments. (1) User data having unknown or unreliable content is embedded in the user data in the control processor logic environment. And (2) when user data having unknown or unreliable content is separated from the first storage device in the user processor logic environment. Only exposed to a temporary storage device different from the first storage device. It is so.

別の実施形態において、本発明は、少なくとも1つの命令を実行するための少なくとも1つの処理ロジック装置と、少なくとも1つの命令を含むと共にユーザデータを含む第1データ及び第1プログラムコードを記憶するための第1記憶装置と、第2データを記憶するための第2記憶装置と、自動制御のもとで処理ロジック装置を第1記憶装置及び/又は第2記憶装置に選択的に独立して結合及び分離するためのスイッチングシステムであって、処理ロジック装置から少なくとも1つの制御信号を受信してスイッチングシステムの状態を選択するためのスイッチングシステムを備え、処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、(i)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が処理ロジックにロードされたときには、第1記憶装置と結合されてもよく、(ii)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第1記憶装置と結合されなくてもよく、(iii)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第2記憶装置と結合されてもよく、そして(iv)処理ロジック装置は、第1記憶装置から第2記憶装置へ又は第2記憶装置から第1記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、第1記憶装置及び第2記憶装置に結合されてもよい、というように動作する情報機器を提供する。この情報機器を構成しそして操作する方法も提供される。   In another embodiment, the present invention stores at least one processing logic device for executing at least one instruction and first data and first program code including at least one instruction and including user data. A first storage device, a second storage device for storing second data, and a processing logic device selectively and independently coupled to the first storage device and / or the second storage device under automatic control And a switching system for isolating, comprising a switching system for receiving at least one control signal from the processing logic device and selecting a state of the switching system, the processing logic device comprising a control configuration and a user data configuration Operation on the basis of the following conditions: (i) processing logic The device may be coupled to the first storage device when program instructions are loaded into the processing logic that have unreliable content or cannot execute data items that did not occur in a known control environment, ii) The processing logic device is not coupled to the first storage device when program instructions are loaded into the processing logic that can execute data items that have unreliable content or did not occur in a known control environment. (Iii) the processing logic device may store the second storage when program instructions are loaded into the processing logic that can execute data items that have unreliable content or did not occur in a known control environment. And (iv) the processing logic device may be from the first storage device to the second storage device or Information that operates such that when a program instruction that can only copy a data item from two storage devices to a first storage device is loaded into processing logic, it may be coupled to the first and second storage devices Provide equipment. A method for configuring and operating the information appliance is also provided.

本発明の実施形態は、物理及び/又は仮想処理又は計算空間において多数のプロセスを選択、構成、スイッチング及び/又はマルチプレクシングして、物理及び/又は仮想処理又は計算環境を生成する。1つの特定の実施形態では、複数のプロセスの時間的なマルチプレクシングが、プロセスとプロセスとの間に分離を維持する仕方で行われ、あるプロセスにおける問題(プログラムウイルスの実行のような)が別のプロセス或いは記憶されたプログラム又はデータに影響を及ぼすことがないようにする。又、分離は、信頼のあるアーキテクチャーエレメント及びプログラムエレメントを使用して信頼のあるアドミニストレータにより選択的にオーバーライドされてもよい。   Embodiments of the present invention select, configure, switch and / or multiplex multiple processes in physical and / or virtual processing or computing space to create a physical and / or virtual processing or computing environment. In one specific embodiment, temporal multiplexing of multiple processes is performed in a manner that maintains separation between processes, and problems in one process (such as running a program virus) are separated. The process or stored program or data is not affected. Separation may also be selectively overridden by a trusted administrator using trusted architectural elements and program elements.

本発明の実施形態は、処理又は計算ロジックを組み込んだ装置、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、GPS受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、スキャナ装置、カメラ、デジタルカメラ、テレビジョン受像機、放送制御システム、電子計器、医療用監視装置、セキュリティ装置、環境制御システム、プロセス監視又は制御システム、及びこれらの組合せを含む(それらに限定されないが)セットから選択されたもののような種々の電子装置及び情報機器に適用することができる。   Embodiments of the present invention include devices, computers, notebook computers, personal data assistants, personal data organizers, cellular phones, mobile phones, wireless receivers, wireless transmitters, GPS receivers, satellite phones incorporating processing or computational logic. Computers mounted on automobiles, computers mounted on aircrafts, navigation devices, household devices, printing devices, scanner devices, cameras, digital cameras, television receivers, broadcast control systems, electronic instruments, medical monitoring devices, security devices, environmental control systems It can be applied to a variety of electronic devices and information appliances such as those selected from a set including, but not limited to, process monitoring or control systems, and combinations thereof.

本発明は、一般に、コンピュータ、情報機器、移動通信装置、セルラー及び移動電話、パーソナルデータアシスタント(PDA)、音楽記憶装置及び再生装置、データオーガナイザ、これら機能的エレメントを組み込んだハイブリッド装置、並びに他の電子システム及び装置に係る。より詳細には、本発明は、セキュリティ特徴、並びにウイルス防止、ハッカー防止及びサイバーテロ防止特徴を与えるシステム及び装置に係ると共に、更に詳細には、多数の順次又は同時のそして間欠的に分離及び/又は制限された計算環境を自動的に生成して、それら計算環境を、データを移動及びコピーする制限及び制御された方法に関連して、それら計算環境及びデータ記憶装置に位置するマリシャスコードを破壊するプロセスに結合して使用することにより、ウイルス、マリシャス又は他のコンピュータハッカー、コンピュータ又は装置の崩壊及び故障を防止することができる装置にも係る。   The present invention generally relates to computers, information equipment, mobile communication devices, cellular and mobile telephones, personal data assistants (PDAs), music storage and playback devices, data organizers, hybrid devices incorporating these functional elements, and other The present invention relates to electronic systems and devices. More particularly, the present invention relates to systems and devices that provide security features and anti-virus, anti-hacker and anti-terrorism features, and more particularly, multiple sequential or simultaneous and intermittent separation and / or Or automatically create limited computing environments and destroy malicious code located in those computing environments and data storage in connection with the restricted and controlled methods of moving and copying the data It also relates to a device that can be used in conjunction with a process to prevent the collapse and failure of viruses, malicious or other computer hackers, computers or devices.

本発明において、これらの要望は、計算装置及び他の情報機器のためのアーキテクチャー、システム、解決策、及び方法を提供することにより満足される。この新規な解決策は、ハッカー及びウイルス、並びに他のマリシャスエージェント及びコードを本来逃れられるコンピュータ及び情報機器を生み出す。更に、ユーザがソフトウェアの以前のバックアップに復帰することにより要求に応じて「修理」を開始することのできるコンピュータとは異なり、本発明のアーキテクチャー、システム及び方法の実施形態は、各ファイルをオープンする前に、メモリ及びデータ記憶装置をリセット又は消去し、既知のクリーンな又は無菌の記憶及び処理環境を維持する。例えば、この新規な技術を使用することにより、データ記憶装置は、自動的に再フォーマット又は消去することができ、そしてメモリは、計算環境が信頼性のない又は未知のコードに露出されるか又は露出されたかもしれない後及びそのたびに、その計算環境において新たなファイルを移動し又はオープンする前に、クリア又はリセットすることができる。   In the present invention, these needs are satisfied by providing architectures, systems, solutions, and methods for computing devices and other information equipment. This new solution creates computers and information devices that are inherently able to escape hackers and viruses and other malicious agents and code. Further, unlike computers that allow a user to initiate a “repair” on demand by reverting to a previous backup of the software, the architecture, system and method embodiments of the present invention open each file. Before doing so, the memory and data storage are reset or erased to maintain a known clean or sterile storage and processing environment. For example, by using this new technique, the data storage device can be automatically reformatted or erased and the memory is exposed to unreliable or unknown code in the computing environment or After and each time it may have been exposed, it can be cleared or reset before moving or opening a new file in the computing environment.

このアーキテクチャー、システム及び方法に関して、本発明の実施形態は、間欠的に順次に分離され及び/又は通信的に制約される計算環境を与え、これら環境は、自動制御システムにより生成され、操作されそして終了されることを理解されたい。計算環境の必要性、及び/又は計算環境を組み込み又はそれを使用する装置の必要性に基づいて、異なる分離レベル、及び/又はセキュリティのレベル又はマリシャスコードから逃れられるレベルを実施することができる。   With respect to this architecture, system and method, embodiments of the present invention provide a computing environment that is intermittently separated and / or communicationally constrained, which are generated and operated by an automated control system. And understand that it will end. Different isolation levels and / or levels of security or escape from malicious code can be implemented based on the needs of the computing environment and / or the need for devices that incorporate or use the computing environment.

ここでは、コンピュータ及び計算装置を、ハッカー、ウイルス、サイバーテロから保護すると共に、スパイソフトウェア(スパイウェア)、キーストロークレコーダーのような潜在的なダメージ又は侵入、並びにハッカー、ウイルス、ワーム、トロイの木馬、同様の脅威及び弱点によるダメージから保護するためのアーキテクチャー、システム、装置、方法、コンピュータプログラム、及びコンピュータプログラム製品について説明する。サイバーテロとは、例えば、ユーザのプライベートデータへの無断アクセスを試みることにより開始する攻撃のように、コンピュータシステムを無能化又は弱体化する試みである。本発明は、潜在的なサイバーテロに対する解決策を提供する。   It protects computers and computing devices from hackers, viruses and cyber terrorism, as well as potential damage or intrusion such as spy software (spyware), keystroke recorders, and hackers, viruses, worms, Trojan horses, An architecture, system, apparatus, method, computer program, and computer program product for protecting against damage from similar threats and weaknesses are described. Cyber terrorism is an attempt to disable or weaken a computer system, for example, an attack initiated by attempting unauthorized access to a user's private data. The present invention provides a solution to potential cyber terrorism.

従来のコンピュータシステムは、通常、プロセッサ、メモリ、ディスプレイ、ディスプレイコントローラ、及び入力/出力コントローラを備えている。本発明は、コンピュータシステム(又は他の装置)ハウジング又はケース内に収容された複数の特殊目的のサブシステム(物理的に又は時間的に分離される)を提供する。これら特殊目的のサブシステムは、通常、限定された機能を遂行し、そして他の特殊目的のサブシステムとの限定された対話を行う。   Conventional computer systems typically include a processor, memory, display, display controller, and input / output controller. The present invention provides a plurality of special purpose subsystems (physically or temporally separated) housed within a computer system (or other device) housing or case. These special purpose subsystems typically perform limited functions and have limited interaction with other special purpose subsystems.

汎用又は特殊目的のサブシステム(ある実施形態では、「分離された処理ユニット」、「分離されたコンピュータ環境」或いはもっと簡単に「計算環境」とも称され、時には、機能的説明の形容詞で更に特徴付けられる)を、情報の記憶、仕事の遂行、及び通信の取り扱いをサポートすることを含む多数の目的で設計することができる。   General purpose or special purpose subsystem (also called “separated processing unit”, “separated computing environment” or more simply “computing environment” in some embodiments, sometimes further characterized by adjectives in functional description Can be designed for a number of purposes, including supporting information storage, performance of work, and handling of communications.

また、計算環境及びこのような計算環境の要素は、モジュール式のもので、計算環境を構成する欠陥要素又は要素のセットがワーキング部分と交換されるか又は修理されるまで、CSCE又はCCE計算環境のような制御エンティティにより、特定の欠陥要素及び/又は計算環境を使用停止とすることができるように、動的に構成できることにも注意されたい。要素を取り付け(例えば、1つ以上のスイッチ等を経て)、そして要素をテストして除去する任意の診断プロセスを遂行して、問題を識別し分離することができる。   Also, the computing environment and the elements of such a computing environment are modular, and the CSCE or CCE computing environment until a defective element or set of elements that make up the computing environment is replaced or repaired with a working part. It should also be noted that a control entity such as can be dynamically configured so that certain defective elements and / or computing environments can be decommissioned. Any diagnostic process that attaches the element (eg, via one or more switches) and tests and removes the element can be performed to identify and isolate the problem.

計算環境の態様について以下に説明する。この説明は、実現することのできる特定の実施形態及び物理的な実施の範囲が広いために、やや一般的なものである。計算環境は、1つ以上のコンピュータプログラム命令を実行することができる。1つ以上の計算環境をコンピュータシステムに結合することができる。この計算環境は、物理的表示、論理的表示、及び/又は物理的及び論理的表示の組合せにより表わすことができる。物理的表示では、計算環境は、多数の物理的コンピュータ要素、例えば、中央処理ユニット(CPU)、1つ以上のメモリ、及び1つ以上の周辺機器を組み込むことができる。論理的計算環境表示では、第1の計算環境が、1つ以上の共通の計算要素を使用することにより他の計算環境と共存し得る。第1の計算環境と、ウイルス、ハッカー、或いは他の意図的な又は偶発的なマリシャスコード又はデータを通信し得る他の計算環境との間に通信がサポートされるように、第1の計算環境が他の計算環境から分離される。例えば、一実施形態では、情報の限定セットの間接的な通信のみが行われる。別の実施形態では、直接的な通信を行えるが、このような通信は、例えば、更に詳細に述べるように、ウインドウスクリーン座標、マウス位置座標、又は他のデータ形式及び量のような許可されたデータ形式及び量しか許さないように、特定の仕方に制限されてもよい。フィルタ又はリミッタを使用して、通信を第1の計算環境と、第2又は他の計算環境との間に制限してもよい。ある実施形態では、これらのフィルタ及び/又はリミッタは、マリシャスコードでは崩壊できないハードウェア回路であり、他の実施形態では、このようなフィルタ又はリミッタに対してソフトウェア及び/又はファームウェアを使用してもよく、そして他の実施形態では、ハイブリッドのハードウェア−ソフトウェア/ファームウェアフィルタ及び/又はリミッタを使用してもよい。各計算環境は、通常、1つ以上の周辺機器からI/Oスイッチシステムを経て入力を受信し、そしてI/Oスイッチシステムを経て1つ以上の周辺機器へ出力を送信することを含む処理アクティビティを実行することができる。1つの計算環境により実行される処理アクティビティは、通常、別の計算環境の処理アクティビティとは独立している。本発明の一実施形態によれば、1つの計算環境の潜在的なマリシャス処理アクティビティは、別の計算環境の処理アクティビティに直接干渉することはない。   The aspect of the computing environment will be described below. This description is somewhat general due to the wide range of specific embodiments and physical implementations that can be implemented. A computing environment may execute one or more computer program instructions. One or more computing environments can be coupled to the computer system. This computing environment can be represented by physical representations, logical representations, and / or a combination of physical and logical representations. In physical representation, the computing environment may incorporate a number of physical computer elements, such as a central processing unit (CPU), one or more memories, and one or more peripherals. In a logical computing environment display, a first computing environment can coexist with other computing environments by using one or more common computing elements. The first computing environment is such that communication is supported between the first computing environment and other computing environments that may communicate viruses, hackers, or other intentional or accidental malicious code or data. Are separated from other computing environments. For example, in one embodiment, only indirect communication of a limited set of information is performed. In another embodiment, direct communication is possible, but such communication is permitted, such as, for example, window screen coordinates, mouse position coordinates, or other data types and quantities, as described in further detail. It may be limited to a specific way to allow only data format and quantity. A filter or limiter may be used to restrict communication between the first computing environment and the second or other computing environment. In some embodiments, these filters and / or limiters are hardware circuits that cannot be corrupted by malicious code, and in other embodiments, software and / or firmware may be used for such filters or limiters. Well, in other embodiments, hybrid hardware-software / firmware filters and / or limiters may be used. Each computing environment typically includes processing activity that includes receiving input from one or more peripheral devices via an I / O switch system and sending output to one or more peripheral devices via the I / O switch system. Can be executed. A processing activity executed by one computing environment is usually independent of a processing activity of another computing environment. According to one embodiment of the present invention, the potential malicious processing activity of one computing environment does not directly interfere with the processing activity of another computing environment.

一実施形態によれば、分離された計算環境及び他の物理的又は論理的計算環境は、コンピュータシステムに対応する異なるアドレス空間に存在してもよい。その結果、各物理的又は論理的計算環境は、他の各々の論理的計算環境のオペレーションから分離される。更に、多数の倫理的計算環境の生成及びオペレーションを管理するために種々の構成が使用されてもよいことが明らかである。更に、オペレーティングシステム(例えば、Linux、Macintosh、Microsoft Windows(R)、及び/又は他のオペレーティングシステム)が、論理的計算環境、物理的計算環境、及び/又は論理的及び物理的計算環境の組合せに対応してもよいことを理解されたい。   According to one embodiment, the isolated computing environment and other physical or logical computing environments may reside in different address spaces corresponding to the computer system. As a result, each physical or logical computing environment is isolated from the operation of each other logical computing environment. Further, it will be apparent that various configurations may be used to manage the generation and operation of multiple ethical computing environments. In addition, operating systems (eg, Linux, Macintosh, Microsoft Windows®, and / or other operating systems) can be combined into a logical computing environment, a physical computing environment, and / or a combination of logical and physical computing environments. It should be understood that this can be accommodated.

データ記憶スイッチシステムコンフィギュレーション及び/又はI/Oスイッチシステムコンフィギュレーションを構成し及び/又は再構成するために計算環境から制御計算環境が選択されてもよい。データ記憶スイッチシステムコンフィギュレーションは、上述したように、制御計算環境と、保護されたデータ記憶装置との間の通信をサポートすることができる。本発明の一実施形態によれば、初期ブートシーケンスは、コンピュータCMOSデータ内の初期コンフィギュレーション情報を識別して、制御計算環境、保護されたデータ記憶装置を識別し、そしてデータ記憶スイッチシステムコンフィギュレーション及び/又はI/Oスイッチシステムコンフィギュレーションの構成を開始することができる。   A control computing environment may be selected from the computing environment to configure and / or reconfigure the data storage switch system configuration and / or the I / O switch system configuration. The data storage switch system configuration can support communication between the control computing environment and the protected data storage device, as described above. According to one embodiment of the present invention, the initial boot sequence identifies initial configuration information in computer CMOS data to identify a control computing environment, a protected data storage device, and a data storage switch system configuration. And / or configuration of the I / O switch system configuration can be initiated.

制御計算環境及び他のユーザ計算環境から分離してコンピュータ処理を実行するために計算環境から1つ以上のユーザ計算環境を選択することができる。ユーザ計算環境により、ユーザ計算環境に通信的に結合されるデータ記憶装置を通して、データ(コンピュータファイルのような)を受信することができる。一実施形態によれば、制御計算環境は、ユーザ情報を含むことのできる第1データ記憶装置と、これもユーザ情報を含むことのできる保護データ記憶装置と通信的に結合されてもよい。制御計算環境は、保護データ記憶装置と第1データ記憶装置との間のコピー情報をサポートするように構成される。制御計算環境が第1データ記憶装置を初期化した後に、第1データ記憶装置は、制御計算環境から通信的に取り付け解除され、次いで、他の計算環境とは独立して使用するためにユーザ計算環境に取り付けられる。ユーザ計算環境がアクティビティ(例えば、ファイルの編集、eメールの受信、等)を完了した後に、第1データ記憶装置は、ユーザ計算環境から通信的に取り付け解除されて、制御計算環境に取り付けられてもよい。この場合も、制御計算環境は、保護データ記憶装置と第1データ記憶装置との間の情報のコピーをサポートするように構成される。その結果、ユーザ計算環境の処理アクティビティとは独立してデータをセーブしてもよい。従って、ユーザ計算環境内で処理されるマリシャスコードが、保護データ記憶装置に記憶された他のファイル及び/又はデータを崩壊することはない。   One or more user computing environments can be selected from the computing environment to perform computer processing separately from the control computing environment and other user computing environments. The user computing environment allows data (such as computer files) to be received through a data storage device that is communicatively coupled to the user computing environment. According to one embodiment, the control computing environment may be communicatively coupled to a first data storage device that may contain user information and a protected data storage device that may also contain user information. The control computing environment is configured to support copy information between the protected data storage device and the first data storage device. After the control computing environment initializes the first data storage device, the first data storage device is communicatively detached from the control computing environment and then user computed for use independently of the other computing environments. Installed in the environment. After the user computing environment completes an activity (eg, editing a file, receiving an email, etc.), the first data storage device is detachably attached from the user computing environment and attached to the control computing environment. Also good. Again, the control computing environment is configured to support copying information between the protected data storage device and the first data storage device. As a result, data may be saved independently of processing activity in the user computing environment. Accordingly, malicious code processed within the user computing environment will not corrupt other files and / or data stored in the protected data storage device.

一実施形態において、マリシャスコンピュータプログラムコード又はソフトウェアを実行する能力を与えることのできる処理能力のような精巧な処理能力は、コピーオペレーションのときだけ選択的に且つ間欠的に除去される。この精巧な処理又はプロセスそれ自体は、コピーオペレーションの間にアクセス可能状態から切り換えられ又は制御エンティティからの信号に応答してディスエイブルされ、次いで、そのオペレーションが完了したときに再イネーブルされる。このオペレーションは、例えば、ファイルセーブオペレーションに使用されてもよいし、或いはデータ又はマスターテンプレートを計算環境へコピーするときに使用されてもよい。   In one embodiment, sophisticated processing power, such as processing power that can provide the ability to execute malicious computer program code or software, is selectively and intermittently removed only during a copy operation. This sophisticated process or process itself is switched from an accessible state during a copy operation or disabled in response to a signal from the control entity and then re-enabled when the operation is complete. This operation may be used, for example, for a file save operation or may be used when copying data or a master template to a computing environment.

他の特徴の説明に戻ると、一実施形態において、記憶の特殊目的サブシステム又は計算環境(又は保護記憶装置の計算環境)は、記憶データへの制限アクセスを許しながら、データを記憶しそしてデータを検索するように設計することができる。ワーキング特殊目的サブシステム(分離された処理ユニットの計算環境とも称される)は、種々のアプリケーションで汎用コンピュータの場合と同じ結果を達成するように情報を処理するが、同時に、システムを全体的に且つユーザデータをロス又は崩壊から保護するように設計することもできる。通信の特殊目的サブシステム(又は制御及びスイッチング計算環境)は、他の特殊目的のサブシステム又は計算環境の間の通信を容易にするように設計することができる。   Returning to the description of other features, in one embodiment, the storage special purpose subsystem or computing environment (or computing environment of the protected storage device) stores the data and allows the data to be accessed while allowing limited access to the stored data. Can be designed to search. A working special purpose subsystem (also called a separate processing unit computing environment) processes information to achieve the same results as a general purpose computer in various applications, but at the same time It can also be designed to protect user data from loss or corruption. A communication special purpose subsystem (or control and switching computing environment) can be designed to facilitate communication between other special purpose subsystems or computing environments.

各々の特殊目的サブシステム又は計算環境は、通常、遂行すべき処理に基づいて、処理能力、メモリ、ロジック、及び特殊目的サブシステム又は計算環境を別の(内部又は外部)要素と通信するための結合用インターフェイス、の1つ、ある組合せ、又はその全部を含んでもよい。処理能力は、ある形式のコンピュータ処理ユニット(CPU)又はASICでよい。処理能力は、コンピュータシステムのCPUでもよいし、又は多数の特殊目的サブシステムにより共有されたCPUでもよい。従って、特殊目的サブシステムに関連した処理能力は、コンピュータシステム又は他の特殊目的サブシステムにより使用されてもよい。   Each special purpose subsystem or computing environment typically communicates processing power, memory, logic, and the special purpose subsystem or computing environment with another (internal or external) element based on the processing to be performed. One, some combination, or all of the coupling interfaces may be included. The processing capability may be some form of computer processing unit (CPU) or ASIC. The processing capability may be a CPU of a computer system or a CPU shared by a number of special purpose subsystems. Accordingly, processing power associated with a special purpose subsystem may be used by a computer system or other special purpose subsystem.

本発明の例示的特徴及び態様は、先ず、本発明のアーキテクチャー、特徴及び効果に対する少なくとも部分的な方向性を与えるように説明する。この説明に続いて、多数の例示的アーキテクチャー及び構造的なトポロジーを更に詳細に説明し、本発明の広い範囲、並びに特定の構造的及び方法論的実施の両方が容易に理解されるようにする。   Exemplary features and aspects of the present invention will first be described to provide at least partial orientation to the architecture, features and advantages of the present invention. Following this description, a number of exemplary architectures and structural topologies are described in further detail to facilitate an understanding of both the broad scope of the present invention and the particular structural and methodological implementation. .

本発明の種々の実施形態は、処理又は計算環境、データ記憶及びプロセス、並びに通信についての同時及び/又は間欠的、並びに順次の又は時間的な(時間)分離、及び/又は制約を与える。少なくとも幾つかの実施形態において、この分離及び/又は制約は、その計算又は処理環境をその後のオペレーションに使用する前に、例えば、オペレーションに対して別のファイル又はデータセットをオープンする前に、以前に使用された処理又はコンピュータ環境の消去、再フォーマット、リセット又は他の殺菌と結合される。   Various embodiments of the present invention provide simultaneous and / or intermittent and sequential or temporal (time) separation and / or constraints on processing or computing environments, data storage and processes, and communications. In at least some embodiments, this separation and / or constraint may be prior to using the computing or processing environment for subsequent operations, e.g., before opening another file or data set for the operation. Combined with erasing, reformatting, resetting or other sterilization of the processing or computer environment used.

一実施形態において、コンピュータシステム、或いは計算システム又は能力を組み込んだ他の装置には、新たなファイルをオープンするたびにその前にマスターテンプレートの全部又は一部分を順次に且つ自動的に消去/リセット及びコピーすることでコンピュータを修理し又は第1インスタンスにおける欠陥を防止できることに基づく新規な形式の自己修理特徴を設けることができる。   In one embodiment, a computer system, or other device incorporating a computing system or capability, may erase / reset and copy all or part of the master template sequentially and automatically before each new file is opened. In doing so, a new type of self-repair feature can be provided based on repairing the computer or preventing defects in the first instance.

1つの実施形態において、ユーザデータは、1つ以上の同時又は間欠的に順次に分離及び/又は制限されたデータ記憶装置、及び/又は間欠的に分離及び/又は制限された保護計算環境に記憶される。ここでは、保護データ記憶装置(1つ又は複数)或いは保護計算環境(1つ又は複数)は、保護データ記憶装置(PDS)と称することができる。保護データ記憶装置は、ユーザデータ及びファイル、アプリケーションプログラムのコードプログラム又はアプレット、オペレーティングシステム又はその一部分、装置ドライバ、ステータス又は状態情報、或いは何らかの形式の他の情報のような任意の種類のデータも記憶できる。   In one embodiment, user data is stored in one or more simultaneously or intermittently sequentially separated and / or restricted data storage devices and / or intermittently separated and / or restricted protected computing environments. Is done. Here, the protected data storage device (s) or protected computing environment (s) can be referred to as a protected data storage device (PDS). The protected data storage device also stores any type of data such as user data and files, application program code programs or applets, operating systems or parts thereof, device drivers, status or status information, or some other type of information. it can.

保護データ記憶装置又はより一般的な保護記憶装置の構造、編成及び記憶コンテンツは、システムごとに変化し得るが、与えることのできる幾つかの特徴(幾つかの任意の特徴を含む)を、1つの実施形態を参照して以下に説明する。保護データ記憶装置とは、データ(ユーザデータ、コンピュータプログラムコード、eメール、ウェブページ、命令、オペレーティングシステムコード、又はそのデータ記憶装置における2進ビットの他のセット又は集合を含む(それらに限定されない)データ)が実行されるのを防止する仕方で情報を記憶するのに使用されるデータ記憶装置を表わす。それ故、データは、通常、記憶情報のコンテンツに基づいて記憶データ又は情報に対する処理又はオペレーションを実行する処理環境には露出されない。露出からのこの同じ分離をデータ及びソフトウェアのコピーオペレーション中にも適用して、そこに含まれたマリシャスコードを、それが分離された計算環境に入るまで実行できないようにし、そこでは、実行能力へ露出しても、せいぜい、その特定の計算環境を汚染するだけで、分離状態に収容することができる。   The structure, organization, and stored content of a protected data storage device or more general protected storage device can vary from system to system, but includes several features (including some optional features) that can be given: This is described below with reference to one embodiment. A protected data storage device includes, but is not limited to, data (user data, computer program code, email, web pages, instructions, operating system code, or other sets or collections of binary bits in the data storage device. ) Represents a data storage device used to store information in a manner that prevents data) from being executed. Therefore, the data is typically not exposed to a processing environment that performs processing or operations on the stored data or information based on the contents of the stored information. This same separation from exposure is also applied during data and software copy operations so that the malicious code contained therein cannot be executed until it enters a separate computing environment, where Even if it is exposed, it can be housed in a separate state at best by polluting its particular computing environment.

本発明の一実施状態によれば、ユーザファイル(例えば、ユーザのワード処理ドキュメント、eメール、スプレッドシート、マイクロソフトアウトルック又は他のコンタクトファイル、パスワード、セルラー電話の電話番号リスト、PDAの記憶データ、或いは他のユーザデータ又はプログラム)を保護データ記憶装置に記憶することができる。一実施形態では、保護は、データを保護記憶装置に記憶して、ウイルス、ロボット、ハッカーコードに存在し得るようなマリシャスコード又は2進シーケンス、或いは他のマリシャスコードの実行を生じさせる構造体又はプロセスによりアクセスできないようにすることで、達成される。理想的には、対応するワーク処理ドキュメントを編集したり、eメールメッセージ(及びその添付物)をオープンして再検討したりするユーザオペレーションは、保護データ記憶装置及びコンピュータ内の位置(或いは他の電子装置、例えば、PDA、セルラー電話、アナログ又はデジタルカメラ、又は他の情報機器)に記憶されるドキュメントのオリジナルバージョンとは独立して、オリジナルデータのコピーにおいて実行される。オリジナルファイル又はデータセットの保護記憶の分離と、ファイル又はデータセットのコピーに対する記憶及びオペレーションは、どこかで詳細に説明する。この点について、ウイルス又は他のマリシャスコードを実行できるプロセッサから離れると、このようなコードは、「0」及び「1」ビットの単なる集合で、データ記憶装置に記憶されても、或いはあるデータ記憶装置から別のデータ記憶装置へ移動又はコピーされても、問題にはならないことが明らかであろう。   According to one implementation of the present invention, a user file (e.g., a user word processing document, email, spreadsheet, Microsoft Outlook or other contact file, password, cellular phone number list, PDA stored data, or Other user data or programs) can be stored in the protected data storage device. In one embodiment, protection is a structure or data that stores data in a protected storage device, resulting in the execution of malicious code or binary sequences, such as may be present in a virus, robot, hacker code, or other malicious code. This is achieved by making the process inaccessible. Ideally, user operations such as editing the corresponding work processing document or opening and reviewing email messages (and their attachments) can be performed at a location (or other location) within the protected data storage and computer. It is performed in a copy of the original data independently of the original version of the document stored on an electronic device (eg PDA, cellular phone, analog or digital camera, or other information device). The separation of the protected storage of the original file or data set and the storage and operation for the copy of the file or data set will be described in detail elsewhere. In this regard, apart from a processor capable of executing a virus or other malicious code, such code is simply a collection of “0” and “1” bits, either stored in a data storage device or some data storage. It will be apparent that it does not matter if it is moved or copied from one device to another.

本発明のデータ記憶装置を1つ以上使用して、保護データ記憶装置を定義することができる。多数の保護データ記憶装置が任意に定義されてもよいが、通常は、必要とされない。本発明の一実施形態によれば、保護データ記憶装置は、ユーザファイルを変更できる処理環境とは独立して、ユーザデータ又は他のファイル(おそらく、コンピュータアプリケーションプログラム、オペレーティングシステム、及び他の非ユーザコード又はデータを含む)を記憶するのに使用できる。マスターテンプレートは、一種の保護記憶装置に記憶される非ユーザデータの一形式でよいことに注意されたい。或いは又、これは、保護マスターテンプレート記憶装置と称されてもよい。   One or more data storage devices of the present invention can be used to define a protected data storage device. A number of protected data storage devices may be arbitrarily defined but are usually not required. According to one embodiment of the present invention, the protected data storage device is independent of the processing environment in which user files can be modified, and user data or other files (possibly computer application programs, operating systems, and other non-users). (Including code or data). Note that the master template may be a form of non-user data stored in a type of protected storage. Alternatively, this may be referred to as a protected master template storage device.

本発明の1つの構成によれば、ドキュメントを編集するユーザの判断は、ドキュメントのオリジナルバージョンを、保護データ記憶装置から第2のデータ記憶装置へコピーさせる。オリジナルドキュメントを編集するために第2のデータ記憶装置に結合できるユーザ計算環境を使用して、ドキュメントの第2バージョンを生成することができる。例えば、ドキュメントの第2バージョンをセーブする等のユーザによるアクションは、ドキュメントの第2バージョンを第2のデータ記憶装置から保護データ記憶装置へコピーして戻す一連の命令を発生する。ドキュメントの第2バージョンを保護データ記憶装置へコピーして戻すことは、ドキュメントのオリジナルバージョンに上書きすることができる。   According to one configuration of the invention, the user's decision to edit a document causes the original version of the document to be copied from the protected data storage device to the second data storage device. A second version of the document can be generated using a user computing environment that can be coupled to a second data storage device for editing the original document. For example, an action by the user, such as saving a second version of a document, generates a series of instructions that copy the second version of the document back from the second data storage device to the protected data storage device. Copying the second version of the document back to the protected data store can overwrite the original version of the document.

保護データ記憶装置及び/又は保護マスターテンプレート記憶装置に2進データを記憶しそしてそこから検索するための構造及び手順と、同じ記憶装置又は同じコンピュータシステム内に記憶されたマリシャスコード又はデータを含むことのあるデータを受けずに計算システムで処理されるこの保護情報に対していかに動作するかは、本明細書のどこかで詳細に説明する。   Including structures and procedures for storing and retrieving binary data in and from a protected data storage device and / or protected master template storage device, and malicious code or data stored in the same storage device or the same computer system How to operate on this protected information that is processed by the computing system without receiving certain data will be described in detail elsewhere in this specification.

システムの説明に戻ると、未知のコード及び潜在的なマリシャスコードで生じ得るコードの処理又は実行から保護データ記憶装置を保護するために、制御計算環境が、必要に応じて保護データ記憶装置との通信を同時に又は間欠的に分離し及び/又は制限することは、スイッチング通信により行われる。保護データ記憶装置におけるデータのディレクトリーは、例えば、制御計算環境又は保護記憶計算環境により生成することができ(本明細書のどこかでなされた特定の計算環境コンフィギュレーションの更なる説明を参照されたい)、そしてこのディレクトリーは、例えば、デスクトップ計算環境のような(同時に又は間欠的に)分離及び/又は制限された計算環境へ通信することができる。これら制御計算環境、保護記憶計算環境及びデスクトップ計算環境、並びに他の計算環境の実施形態は、添付図面を参照して、本明細書のどこかで詳細に説明する。一実施形態において、ディレクトリーは、制限された処理能力を含み得る保護記憶計算環境により形成されることに注意されたい。例えば、これは、ASCII及び拡張ASCIIファイルネーム及びディレクトリーを読み取り及び書き込むための機能を含んでもよく、そしてデータをコピー及び移動する能力を含んでもよく、又、ファイルディレクトリーを生成する能力を含んでもよいが、システム、プログラム又はデータの完全性に有害となり得るコードの確認又は実行或いは他の機能の遂行に必要となる多数の他の機能又は能力は一般的に含まない。この情報は、制御計算環境により収集されてもよいし、或いは保護記憶計算環境により制御計算環境へ送信されてもよい。   Returning to the description of the system, in order to protect the protected data storage device from the processing or execution of code that may occur with unknown code and potentially malicious code, the control computing environment may contact the protected data storage device as necessary. Separating and / or limiting communication simultaneously or intermittently is performed by switching communication. A directory of data in a protected data storage device can be created, for example, by a control computing environment or a protected storage computing environment (see further description of specific computing environment configurations made elsewhere herein). ), And this directory can communicate to a separate and / or restricted computing environment (for example, simultaneously or intermittently) such as a desktop computing environment. Embodiments of these control computing environments, protected storage computing environments and desktop computing environments, and other computing environments are described in detail elsewhere herein with reference to the accompanying drawings. Note that in one embodiment, the directory is formed by a protected storage computing environment that may include limited processing power. For example, this may include functions for reading and writing ASCII and extended ASCII file names and directories, and may include the ability to copy and move data, and may include the ability to create file directories. However, it generally does not include many other functions or capabilities required to verify or execute code or perform other functions that can be detrimental to the integrity of the system, program or data. This information may be collected by the control computing environment or transmitted to the control computing environment by the protected storage computing environment.

本発明の少なくとも1つの実施形態では、次の構造及び/又は手順の1つ、2つ以上、又は任意の組合せを、1つの計算環境コンフィギュレーション及び/又はプロセスへと結合できると共に、それらを予め決定してもよいし、又は動的に決定して構成してもよいことに注意されたい。即ち、(a)制御環境、(b)保護記憶装置、(c)デスクトップ環境、(d)スイッチ、(e)スイッチコンフィギュレーション、(f)再フォーマット/消去環境、(g)ビデオ制御環境、(h)ビデオ処理、及びそれらの組合せ又はサブセット。それに加えて又はそれとは別に、他の任意の構造及び/又は手順要素も、本明細書のどこかに述べるように実施されてもよい。従って、例えば、一実施形態において、本発明は、2つの計算環境で構成することができ、その一方は、全ての環境並びにスイッチ及びスイッチコンフィギュレーションを含むが、ユーザ計算環境は除外し、そして第2の環境は、ユーザ環境しか含まない。   In at least one embodiment of the present invention, one, more than one, or any combination of the following structures and / or procedures can be combined into a single computing environment configuration and / or process, and Note that it may be determined or may be dynamically determined and configured. That is, (a) control environment, (b) protected storage device, (c) desktop environment, (d) switch, (e) switch configuration, (f) reformat / erase environment, (g) video control environment, ( h) Video processing and combinations or subsets thereof. In addition or alternatively, any other structure and / or procedural element may be implemented as described elsewhere herein. Thus, for example, in one embodiment, the present invention can be configured with two computing environments, one of which includes all environments and switches and switch configurations, but excludes user computing environments and The second environment includes only the user environment.

ユーザデータをオープンするために、ユーザは、デスクトップ計算環境に位置され又はそれにより識別されるファイルネーム、或いは「ショートカット」又は「エイリアス」のようなデータの表示を選択することができる。実際のファイルは、デスクトップ計算環境ではオープンも実行もされず、そして本発明の実施形態では、そのデスクトップ計算環境に実際に存在しない。むしろ、このファイルネーム及び位置情報(ファイル又はデータセットに対するポインタ又はレファレンス)は、デスクトップ計算環境から分離されなくてよい制御計算環境へ送信することができる。この実施形態では、制御計算環境は、次いで、ユーザ(又は他の指定エンティティ)により選択されたファイルネームに対応するファイルを、保護データ記憶装置から、複数の同時に又は間欠的に分離され及び/又は通信的に制限された計算環境の1つ(例えば、ユーザ計算環境#1)へコピーすることができる。この例では、ファイルをオープンするためにユーザ計算環境#1へコマンドが送信されると共に、ユーザ計算環境#1との非制限通信を終了するためにスイッチ(1つ又は複数)へコマンドが送信される。このようなオペレーションに関連したアーキテクチャー、システム及び方法は、本明細書のどこかで詳細に説明する。   To open the user data, the user can select a file name located in or identified by the desktop computing environment, or display of data such as “shortcut” or “alias”. The actual file is not opened or executed in the desktop computing environment, and in the embodiment of the present invention, it does not actually exist in the desktop computing environment. Rather, this file name and location information (a pointer or reference to a file or data set) can be sent to a control computing environment that may not be separated from the desktop computing environment. In this embodiment, the control computing environment then separates the file corresponding to the file name selected by the user (or other designated entity) from the protected data storage device at a plurality of simultaneously or intermittently and / or It can be copied to one of the communication environments (for example, user computing environment # 1) limited in communication. In this example, a command is sent to user computing environment # 1 to open the file, and a command is sent to the switch (s) to end unrestricted communication with user computing environment # 1. The The architecture, systems, and methods associated with such operations are described in detail elsewhere herein.

少なくとも一部分はこの理由で、ユーザデータがマリシャスコードに「感染」して実行される場合には、マリシャスコードの実行から保護された記憶装置にある他のユーザデータ又は情報にダメージを及ぼしたり破壊したりすることはないが、最初に感染したデータファイルにはダメージが及ぶ。又、アプリケーションプログラムコンピュータコード又はオペレーティングシステムプログラムコードが汚染又は妥協されるか、或いはそのようにされているかもしれない場合にも、このような汚染又は妥協は、システム又は装置の連続オペレーションに影響を及ぼさないといえる。というのは、せいぜい、そのコピーが汚染又は妥協されそして再使用されないからである。   At least in part, for this reason, if user data is "infected" with malicious code and executed, it will damage or destroy other user data or information in storage devices protected from malicious code execution. But the first infected data file will be damaged. Also, if application program computer code or operating system program code is contaminated or compromised or may have been so, such contamination or compromise will affect the continuous operation of the system or device. It can be said that it does not reach. This is because, at best, the copy is contaminated or compromised and is not reused.

この実施形態では、任意の制限通信経路でユーザ計算環境#1を制御計算環境に接続することができ、この通信経路は、多数の仕方の1つ以上で制限されてもよい。例えば、通信経路は、ASCIIキャラクタの所定セットのみの通過を許す等の著しく制限された通信能力しかもたないASICリミッタ又はフィルタにより制限されてもよく、このようなセット及びその順序は、実行可能な命令を確実に又は所定の高い確率でサポートしないことが知られたものである。リミッタは、例えば、通信が試みられるビット又はキャラクタを、ビット又はキャラクタの許容セットと比較してもよい。この特定の実施形態では、例えば、「ファイルをセーブ(save file)」及び「この計算環境を消去/リセット(erase/reset this computing environment)」のような概念を表わす非常に限定された数及び/又は組合せ又はシーケンスの2進「0」又は「1」ビットを制御環境へ通信するのに必要な機能しか包含又は所有しなくてもよく、又、例えば、ある時間周期内に或いはある事象(1つ又は複数)に応答して通信できる情報の量に対する限界を含んでもよい。   In this embodiment, user computing environment # 1 can be connected to the control computing environment via any restricted communication path, which may be restricted in one or more of a number of ways. For example, the communication path may be limited by an ASIC limiter or filter that has a significantly limited communication capability, such as allowing only a predetermined set of ASCII characters to pass, and such a set and its order is feasible. It is known not to support instructions reliably or with a predetermined high probability. The limiter may, for example, compare the bit or character for which communication is attempted with a permitted set of bits or characters. In this particular embodiment, for example, a very limited number representing concepts such as “save file” and “erase / reset this computing environment” and / or Alternatively, it may contain or possess only the functions necessary to communicate the binary “0” or “1” bits of the combination or sequence to the control environment, eg, within a certain time period or certain events (1 One or more) may include a limit on the amount of information that can be communicated.

それとは別に又はそれに加えて、例えば、電気的パルス又は光学的光パルス或いは他の信号を、制御環境に接続された受信器へ通信し、例えば、1つのパルスは、「ファイルをセーブ」を意味し、そして2つのタイミングを合わせた連続するパルスは、「この計算環境を消去/リセット」を意味するようにすることができる。これらは、一例に過ぎず、本書の説明に鑑み通常の知識をもつ者であれば、情報の量又は性質を制限するが、必要な動作を与える他のシグナリング機構を実施できることが明らかであろう。   Alternatively or additionally, for example, an electrical or optical light pulse or other signal is communicated to a receiver connected to the control environment, for example, one pulse means “save file” And a continuous pulse of two timings together can mean "Erase / Reset this computing environment". These are only examples, and it will be apparent to those skilled in the art in view of this document that other signaling mechanisms can be implemented that limit the amount or nature of the information, but provide the required behavior. .

データ記憶装置及びその計算環境がユーザドキュメントに「露出」され、従って、ウイルス、スパイソフト、等の意図的又は偶発的なマリシャスプログラムコードに潜在的に露出された後に、データ記憶装置は、完全に再フォーマットされ、及び/又は任意の組合せでクリア、消去及びリセットされて、例えば、隠れたパーティション、ドライバ、ブートセクタ、隠れたコード、等の全てのデータを排除することができる。又、計算環境は、次の使用の前に残留する汚染がないよう確保する仕方で「再セット(re-set)」(例えば、電力循環、さもなければ、クリア又は再ロード)されてもよい。   After the data storage device and its computing environment are “exposed” to the user document and thus potentially exposed to intentional or accidental malicious program code such as viruses, spy software, etc., the data storage device is fully It can be reformatted and / or cleared, erased and reset in any combination to eliminate all data such as hidden partitions, drivers, boot sectors, hidden codes, etc. The computing environment may also be “re-set” (eg, power cycling, otherwise cleared or reloaded) in a manner that ensures there is no residual contamination before the next use. .

上述した(及び本明細書のどこかに述べる種々の別の実施形態における)スイッチング及びコピープロセスは、分離された計算環境及びデータ記憶装置又は記憶サブシステムへ及びそこからデータを安全に移動するのに使用でき、このプロセスは、制御計算環境、並びにそれに関連したソフトウェア及び接続されたスイッチにより制御及び編成することができる。マスターテンプレート(本明細書のどこかの種々の実施形態において詳細に述べるが、簡単に述べると、クリーンで、汚染されていない実行可能なコードを収容し又は包含する)を、必要に応じて、データ記憶装置間でコピーすることができる。   The switching and copying processes described above (and in various other embodiments described elsewhere herein) securely move data to and from the isolated computing environment and data storage device or storage subsystem. This process can be controlled and organized by the control computing environment and its associated software and connected switches. A master template (which will be described in detail in various embodiments elsewhere herein, but briefly contains or contains clean, uncontaminated executable code), as needed, Can be copied between data storage devices.

多数のスイッチ及びスイッチングシステム及び手段は、多数の実施形態を参照して説明する。この場合も、本発明のアーキテクチャー、システム及び方法を多数の異なる物理的な実施及び装置形式に広く適用できることから、若干一般的に説明する。一実施形態では、一般的なスイッチシステムを使用して、1つ以上のソースと、1つ以上の行先とを結合し、ソースと行先との間、例えば、命名できる多数の例の中の2つだけを命名すれば、第1記憶装置と第2記憶装置との間、又はネットワークインターフェイスカード(NIC)と計算環境との間に通信をサポートすることができる。この通信は、ソースと行先との間に両方向性の通信をサポートしてもよいし、一方向性の通信のみをサポートしてもよい。一般的なスイッチシステムは、どのソースをどの行先に結合すべきか決定するのに使用されるスイッチコンフィギュレーションで結合されてもよい。このスイッチコンフィギュレーションは、例えば、1つ以上のロジック回路、データファイル、ルックアップテーブル、及び/又はソース(1つ又は複数)と行先(1つ又は複数)との間の接続又は有効なイネーブルされた通信経路を識別又は指定するための他の手段を含むことができる。一実施形態では、スイッチコンフィギュレーションは、無効の又は非イネーブルの通信経路を識別することができるし、更に別の実施形態では、スイッチコンフィギュレーションは、考えられるソースと行先との間に無効(非イネーブル)及び有効(イネーブル)の両通信経路を識別することができる。一般的なスイッチシステムは、ハードウェア、ソフトウェア、及び/又はハードウェア及びソフトウェアの組合せで実施することができる。   A number of switches and switching systems and means are described with reference to a number of embodiments. Again, since the architecture, system and method of the present invention can be widely applied to a number of different physical implementations and device types, it will be described in a somewhat general manner. In one embodiment, a generic switch system is used to combine one or more sources and one or more destinations, between the source and destination, eg, 2 of many examples that can be named. If only one is named, communication can be supported between the first storage device and the second storage device or between the network interface card (NIC) and the computing environment. This communication may support bidirectional communication between the source and the destination, or may support only unidirectional communication. A typical switch system may be combined with a switch configuration that is used to determine which source should be combined with which destination. This switch configuration can be, for example, one or more logic circuits, data files, lookup tables, and / or connections or valid enabled between source (s) and destination (s). Other means for identifying or designating a particular communication path may be included. In one embodiment, the switch configuration can identify invalid or non-enabled communication paths, and in yet another embodiment, the switch configuration is invalid (non-null) between possible sources and destinations. Both enabled and enabled communication paths can be identified. A typical switch system can be implemented in hardware, software, and / or a combination of hardware and software.

本発明の一実施形態によれば、一般的なスイッチシステムは、物理的スイッチとしてハードウェアで実施することができる。ソースは、IDEドライブとして表わすことができ、そして行先は、計算環境として表わすことができる。各ソースは、IDEケーブルを使用して一般的スイッチシステムに結合することができる。各行先も、IDEケーブルを使用して一般的スイッチシステムに結合することができる。本発明の一実施形態によれば、スイッチコンフィギュレーションは、スイッチの物理的能力に基づいて表わすことができ、そしてIDEケーブルは、スイッチに物理的に結合される。従って、物理的スイッチの物理的操作及び/又はねじれは、ソースに対応する所与のIDEケーブルを、行先に対応する所与の第2IDEケーブルに接続して、ソースと行先との間の通信をサポートすることができる。ソースと行先との間の通信は、両方向通信をサポートしてもよい。本発明の一実施形態によれば、スイッチは、手動でも操作できるし、及び/又は1つ以上の計算環境の方向及び/又は制御のもとでも操作できる。   According to an embodiment of the present invention, a general switch system can be implemented in hardware as a physical switch. The source can be represented as an IDE drive and the destination can be represented as a computing environment. Each source can be coupled to a common switch system using IDE cables. Each destination can also be coupled to a generic switch system using IDE cables. According to one embodiment of the present invention, the switch configuration can be expressed based on the physical capabilities of the switch, and the IDE cable is physically coupled to the switch. Thus, the physical operation and / or twisting of the physical switch connects a given IDE cable corresponding to the source to a given second IDE cable corresponding to the destination to allow communication between the source and destination. Can be supported. Communication between the source and destination may support two-way communication. According to one embodiment of the invention, the switch can be operated manually and / or under the direction and / or control of one or more computing environments.

本発明の一実施形態によれば、一般的なスイッチシステムは、例えば、一般的なスイッチシステムに結合されたコンピュータシステムの使用により、ハードウェアとソフトウェアの組合せで実施することができる。コンピュータシステムは、1つ以上のコンピュータ命令を実行できると共に、一般的なスイッチシステムを構成するのに使用されてもよい。多数の命令は、例えば、構成命令、通信命令、及びアクセス命令を含んでもよい。構成命令は、所与のソースと行先との間のイネーブル通信又はディスエイブル通信をサポートするための通信を構成するのに使用できる。通信命令は、1つ以上のコンフィギュレーションに関する情報を受信、送信、及び/又は検証するのに使用できる。例えば、通信命令は、構成命令により後で使用される情報を受信するのに使用できる。アクセス命令は、スイッチコンフィギュレーションに関する情報を読み取り及び/又は書き込むのに使用できる。しかしながら、他の命令及び/又は命令のセットを使用してもよいことが明らかであろう。   According to one embodiment of the present invention, a typical switch system can be implemented in a combination of hardware and software, for example, through the use of a computer system coupled to the generic switch system. The computer system can execute one or more computer instructions and may be used to construct a general switch system. The multiple instructions may include, for example, configuration instructions, communication instructions, and access instructions. The configuration instructions can be used to configure communications to support enable or disable communications between a given source and destination. The communication instructions can be used to receive, transmit, and / or verify information regarding one or more configurations. For example, the communication command can be used to receive information for later use by the configuration command. Access instructions can be used to read and / or write information about the switch configuration. However, it will be apparent that other instructions and / or sets of instructions may be used.

データ記憶装置スイッチシステムは、一般的なスイッチシステムの機能を含むことができ、ここで、ソースはデータ記憶装置を表わし、そして行先は計算環境を表わすことができる。一般的コンフィギュレーションは、どのデータ記憶装置がどの計算環境に結合されるか識別するのに使用できる。上述したように、IDE装置は、1つ以上の計算環境との通信をサポートするように構成できるデータ記憶装置の一実施形態を表わすことができる。   The data storage device switch system can include the functions of a general switch system, where the source represents the data storage device and the destination can represent the computing environment. The general configuration can be used to identify which data storage device is coupled to which computing environment. As described above, an IDE device can represent one embodiment of a data storage device that can be configured to support communication with one or more computing environments.

本発明の一実施形態によれば、データ記憶装置スイッチシステムは、一般的コンフィギュレーションに対応する特色の数及び/又は形式を拡張できるデータ記憶装置スイッチシステムコンフィギュレーションで結合することができる。データ記憶装置スイッチシステムの特色は、ソースと行先との間の構成通信を更にサポートすることができる。   In accordance with one embodiment of the present invention, data storage device switch systems can be combined in a data storage device switch system configuration that can expand the number and / or type of features corresponding to the general configuration. A feature of the data storage device switch system can further support configuration communication between the source and destination.

I/O及び/又は他の周辺機器或いは装置スイッチシステムは、一般的なスイッチシステムの機能を含むことができ、ここで、ソースは周辺機器を表わし、そして行先は、計算環境を表わすことができる。一般的コンフィギュレーションは、どのデータ記憶装置がどの計算環境に結合されるか識別するのに使用できる。キーボード装置は、1つ以上の計算環境との通信をサポートするように構成できる周辺機器の一実施形態を表わすことができる。   I / O and / or other peripheral or device switch systems can include the functionality of a general switch system, where the source represents the peripheral and the destination can represent the computing environment. . The general configuration can be used to identify which data storage device is coupled to which computing environment. A keyboard device can represent one embodiment of a peripheral device that can be configured to support communication with one or more computing environments.

本発明の一実施形態によれば、I/Oシステムは、一般的コンフィギュレーションに対応する特色の数及び/又は形式を拡張できるI/Oシステムコンフィギュレーションで結合することができる。I/Oスイッチシステムの特色は、ソースと行先との間の構成通信を更にサポートする。このようなスイッチ及び通信経路の状況において、一実施形態では、データ記憶装置スイッチ通信経路は、計算環境をデータ記憶装置スイッチに結合するのに使用される。データ記憶装置スイッチ通信経路は、上述したように、データ記憶装置スイッチコンフィギュレーションに基づき、少なくとも1つのデータ記憶装置との通信をサポートするのに使用される。一実施形態によれば、計算環境に結合されるデータ記憶装置の1つは、計算環境によりコンピュータブート装置として使用できるオペレーティングシステムを備えている。   In accordance with one embodiment of the present invention, I / O systems can be combined in an I / O system configuration that can expand the number and / or type of features corresponding to the general configuration. The features of the I / O switch system further support configuration communication between the source and destination. In such switch and communication path situations, in one embodiment, the data storage device switch communication path is used to couple the computing environment to the data storage device switch. The data storage device switch communication path is used to support communication with at least one data storage device based on the data storage device switch configuration, as described above. According to one embodiment, one of the data storage devices coupled to the computing environment includes an operating system that can be used as a computer boot device by the computing environment.

同様に、I/Oスイッチ通信経路は、計算環境をI/Oスイッチシステムに結合するのに使用される。I/Oスイッチ通信経路は、1つ以上の周辺機器を1つ以上の計算環境に結合するのに使用できる。I/Oスイッチシステムコンフィギュレーションは、1つ以上の計算環境からの出力を単一の出力装置へ向けるのに使用できる。同様に、I/Oスイッチシステムコンフィギュレーションは、単一の周辺計算装置からの入力を1つ以上の計算環境へ向けるのに使用できる。   Similarly, I / O switch communication paths are used to couple the computing environment to the I / O switch system. An I / O switch communication path can be used to couple one or more peripherals to one or more computing environments. An I / O switch system configuration can be used to direct output from one or more computing environments to a single output device. Similarly, an I / O switch system configuration can be used to direct input from a single peripheral computing device to one or more computing environments.

I/Oスイッチシステムコンフィギュレーションは、受信した入力(又は出力)を、対応する特色に基づいて、少なくとも1つの計算環境へ向けるように構成できる。又、I/Oスイッチシステムコンフィギュレーションは、1つ以上の計算環境により発生された出力を、対応する特色(本明細書のどこかに述べた特色の説明を参照)に基づいて、入力/出力装置、周辺機器、又はシステム内の他の要素へ向け、或いはそれらから向けるように構成できる。   The I / O switch system configuration can be configured to direct the received input (or output) to at least one computing environment based on the corresponding feature. The I / O switch system configuration also allows the output generated by one or more computing environments to be input / output based on the corresponding feature (see the feature description elsewhere in this document). It can be configured to point to or from a device, peripheral device, or other element in the system.

別の形式の信号に注意を向けると、一実施形態において、各々の分離された計算環境からのビデオ信号出力は、マリシャスコードをもはや実行できないとき(例えば、出力がグラフィック「原始及び属性」へと変換されたとき、及び/又はビデオ信号がアナログ信号である場合に)これらビデオ信号の処理中のポイントにおいて合成又は混合できることに注意されたい。これは、分離された計算環境において行われるプロセスを表わすウインドウ付きビデオ信号が、異なる計算環境を交配汚染する媒体として使用されるのを防止する。(全ての計算環境がビデオ出力信号を必要とし又は発生するのではないことに注意されたい。というのは、特に特殊な装置におけるある処理は、計算環境においてデータを処理できるが、ビデオ表示や、ユーザが見える信号を発生しないからである。)   Directing attention to another type of signal, in one embodiment, the video signal output from each separate computing environment is no longer able to execute malicious code (eg, the output goes to the graphic “Primitive and Attributes”). Note that they can be combined or mixed at a point during processing of these video signals (when converted and / or when the video signals are analog signals). This prevents windowed video signals representing processes performed in separate computing environments from being used as a medium that cross-contaminates different computing environments. (Note that not all computing environments require or generate a video output signal, because some processing, especially in specialized devices, can process data in the computing environment, (This is because it does not generate a signal that the user can see.)

一実施形態において、いわゆる「分離されたグローバルなツールバー」は、所定の又は動的な(例えば、コンテクストに敏感な)コマンド及び/又は他のオペレーション又は機能にも使用することができる。この分離されたグローバルなツールバーは、それ自身の分離されたビデオレイヤに現われるか、又はデスクトップ計算環境に現われて、それをマリシャスコードから保護することができる。好都合なことに、分離されたグローバルなツールバーは、常に最上部にあるか、又は何らかのユーザコマンド又はアクションに応答して表示され、ユーザ又は他の信頼のある制御エンティティが計算環境の1つにおいてアクションを直接制御することができる。例えば、ユーザがディスプレイスクリーンのウインドウ付きビデオ部分に表わされた疑わしい出力を見た場合には、ユーザは、その分離されたグローバルなツールバーにアクセスして、その計算環境で行われる処理であって、ファイルをセーブしたりセーブしなかったりするような種々のオプションを任意に行うことを含む処理を終了させることができる。一実施形態では、これは、ユーザ又は人間のオペレータに、全システムのオペレーション並びに計算環境内で行われるオペレーションに対する管理制御権を与える。原理的に、グローバルなツールバーは、任意のオペレーション又は機能を許すことができるが、ある実施形態では、グローバルなツールバーは、管理機能又はオペレーションについてのより制限されたセットを有する。ある実施形態では、グローバルなツールバーを経てアクセスできる機能及びオペレーションは、システムデフォールト、管理者の好み、ユーザの好み、或いは他のルール又はポリシーに基づいて設定することができる。   In one embodiment, the so-called “separated global toolbar” can also be used for certain or dynamic (eg, context sensitive) commands and / or other operations or functions. This separate global toolbar can appear in its own separate video layer or in the desktop computing environment to protect it from malicious code. Conveniently, the isolated global toolbar is always at the top or displayed in response to some user command or action so that the user or other trusted control entity can take action in one of the computing environments. Can be controlled directly. For example, if the user sees suspicious output represented in the windowed video portion of the display screen, the user can access the isolated global toolbar to perform the processing performed in the computing environment. The process including arbitrarily performing various options such as saving or not saving the file can be terminated. In one embodiment, this gives the user or human operator administrative control over the operation of the entire system as well as the operations performed within the computing environment. In principle, a global toolbar can allow any operation or function, but in some embodiments, a global toolbar has a more limited set of administrative functions or operations. In certain embodiments, the functions and operations accessible via the global toolbar can be set based on system defaults, administrator preferences, user preferences, or other rules or policies.

一実施形態において、これらの機能及びオペレーションは、それに加えて又はそれとは別に、コンピュータプログラムのソフトウェア命令で実行されてもよい。他の実施形態では、ハードウェア要素があってもよく、又、更に別の実施形態では、ハードウェア及びソフトウェアの組合せがあってもよい。従って、各環境は、ソフトウェアで分離されてもよく、スイッチング及びコピー動作は、ソフトウェアで実行されてもよく、等々である。   In one embodiment, these functions and operations may be performed by computer program software instructions in addition to or separately from the functions. In other embodiments, there may be hardware elements, and in yet other embodiments, there may be a combination of hardware and software. Thus, each environment may be separated by software, switching and copying operations may be performed by software, and so on.

任意の手順ステップは、削減又は排除することができ、又、ここに述べる計算環境の機能は、必要に応じて混合及びマッチングできることに注意されたい。幾つかの例において、任意のステップ又は手順を含むべきか除外すべきかの判断は、脅威の環境、データ及び/又はオペレーションの敏感さ、スピードの必要性、記憶装置の属性(例えば、磁気記憶装置対電子RAM)、及び他のファクタに関して行われる。例えば、制御計算環境の機能は、デスクトップ計算環境及び/又はスイッチコンフィギュレーション、及び/又はスイッチ、及び/又は保護記憶装置と結合することができる。   Note that any procedural steps can be reduced or eliminated, and the functions of the computing environment described herein can be mixed and matched as needed. In some examples, the determination of whether to include or exclude any step or procedure is based on the threat environment, data and / or operational sensitivity, speed requirements, storage attributes (eg, magnetic storage To electronic RAM), and other factors. For example, the functionality of the control computing environment can be combined with a desktop computing environment and / or switch configuration, and / or a switch and / or protected storage.

本発明の原理は、特定のコンピュータオペレーティングシステム、アプリケーションプログラム、ユーザインターフェイス、或いは装置形式又は特性を越えるものである。本質的に、本発明のアーキテクチャー、システム、方法、及び手順は、情報(例えば、2進ビットの形態)を使用して、意図された論理オペレーション又は演算オペレーションを遂行することのできるロジック回路を有する電気的、電子的又は光学的装置に適用することができ、それ故、意図されたオペレーションが遂行されず又は付加的なオペレーションが遂行されるように異なる又は付加的な情報を導入することにより変更又は崩壊を受け易い。コンピュータ、情報機器、セルラー又は他の移動電話、自動車電子装置、家庭用機器、GPS受信器、PDA等の現代の装置では、ロジックが、コントローラ、プロセッサ、マイクロプロセッサ、或いは他のプログラム可能なロジック回路又はロジック手段等であり、そして使用する情報は、コンピュータプログラム命令及び任意のデータである。将来は、現在開発中の光学的計算システムが更に商品化され、それ故、本発明は、光学的計算及び情報処理システム及び光学的プロセッサにも適用可能になると予想される。   The principles of the present invention go beyond specific computer operating systems, application programs, user interfaces, or device types or characteristics. In essence, the architecture, system, method, and procedure of the present invention provide a logic circuit that can perform the intended logical or arithmetic operation using information (eg, in the form of binary bits). By applying different or additional information so that the intended operation is not performed or additional operations are performed. Susceptible to change or collapse. In modern devices such as computers, information equipment, cellular or other mobile phones, automotive electronics, home appliances, GPS receivers, PDAs, the logic is a controller, processor, microprocessor, or other programmable logic circuit. Or the logic means or the like, and the information used is computer program instructions and arbitrary data. In the future, optical computing systems currently under development will be further commercialized, and therefore the present invention is expected to be applicable to optical computing and information processing systems and optical processors.

ここでの説明は、コンピュータ及計算環境に注意を集中させたが、本発明は、命令及び/又はデータを解釈するためのロジックを有し、それ故、ウイルス、ハッカー、スパイウェア、サイバーテロ又は他の外部エージェントによる偶発的又は意図的な悪意のある攻撃を受け易いあらゆる種類の装置及びシステムに適用できることが明らかである。   Although the description herein has focused attention on computer and computing environments, the present invention has logic for interpreting instructions and / or data, and thus is virus, hacker, spyware, cyber terrorism or others. It is clear that the present invention can be applied to all kinds of devices and systems that are susceptible to accidental or intentional malicious attacks by foreign agents.

以下、従来の計算システムの幾つかの特徴と、本発明の種々の実施形態の比較し得る態様とに注意を向ける。本発明は、多数の異なる物理的形態で実施できるので、典型的なシステムをいかに実施できるかの例として多数の実施形態について説明する。当業者であれば、これらは、これら特徴の幾つか又は全部を実施する本発明の付加的な実施形態に過ぎないことを理解されたい。   In the following, attention is directed to some features of conventional computing systems and to comparable aspects of various embodiments of the present invention. Since the present invention can be implemented in many different physical forms, a number of embodiments will be described as an example of how a typical system can be implemented. Those skilled in the art will appreciate that these are merely additional embodiments of the invention that implement some or all of these features.

図1は、従来技術による典型的なラップトップ(又は他の)コンピュータシステム1900を示す図である。このコンピュータシステムは、良く知られたように、CPU1508−1、データ記憶装置1502−1(通常、回転する磁気ハードディスクドライブの形態)、及び1つ以上の周辺機器1541−1、1541−2、・・・1541−Nのような電子装置及び機械的要素が配置されるケース又はハウジングを備えている。このハウジング又はケース1902は、通常、ディスプレイスクリーン1904、キーボード、及びマウスのようなポインティング装置も取り付け又は支持している。このようなコンピュータシステム1900には、通常設けられる種々のコネクタポートを経て、付加的な外部周辺装置を取り付け又は接続することができる。このような従来の計算システムでは、データ記憶装置1502−1及び周辺機器1514−Nは、良く知られたように、システム及び周辺機器バスを通して、固定のトポロジーでCPU1508−1に結合される。例えば、データ記憶装置1502−1、通常、ハードディスクドライブ又はソリッドステートメモリ(RAM)は、システム1900から物理的に除去されない限り、CPUに常に結合される。同様に、CPU結合メモリは、通常、除去されない限り、常に、CPUに結合され、そしてほとんどの従来の計算システムでは、このようなメモリのある部分(例えば、オンチップキャッシュの形態)が常に且つ永久的にCPUに結合される。同様に、周辺機器、例えば、CDROM、DVDリーダー/ライター、ネットワークインターフェイスカード(NIC)、モデム、フロッピー(登録商標)ディスクドライブ(FDD)、ワイヤレスインターフェイスカード、及び他の周辺機器は、システムに結合されると共に、CPUへ直接的に、又は固定のバス及び相互接続部を経て間接的に結合される。これらの接続部は常に存在するので、ウイルス又は他のマリシャスコードがCPU、CPU関連メモリ、BIOS、又はデータ記憶装置へ導入する機会を与え得る。このようなマリシャスコードは、直ちに作用することもあるし、ある将来の時間又は事象まで休眠したままでのこともある。このような無防備さ、及びこのような無防備さから逃れられるレベルを達成するための手段を、本発明の実施形態について詳細に述べる。   FIG. 1 is a diagram illustrating a typical laptop (or other) computer system 1900 according to the prior art. As is well known, this computer system includes a CPU 1508-1, a data storage device 1502-1 (usually in the form of a rotating magnetic hard disk drive), and one or more peripherals 1541-1, 1541-2,. ..Equipped with a case or housing in which electronic devices such as 1541-N and mechanical elements are placed. The housing or case 1902 typically also attaches or supports a pointing device such as a display screen 1904, a keyboard, and a mouse. In such a computer system 1900, additional external peripheral devices can be attached or connected via various connector ports that are usually provided. In such a conventional computing system, data storage device 1502-1 and peripheral device 1514-N are coupled to CPU 1508-1 in a fixed topology through the system and peripheral device bus, as is well known. For example, data storage device 1502-1, typically a hard disk drive or solid state memory (RAM), is always coupled to the CPU unless physically removed from system 1900. Similarly, CPU coupled memory is usually always coupled to the CPU unless removed, and in most conventional computing systems, some portion of such memory (eg, in the form of an on-chip cache) is always and permanent. Is coupled to the CPU. Similarly, peripheral devices such as CDROM, DVD reader / writer, network interface card (NIC), modem, floppy disk drive (FDD), wireless interface card, and other peripheral devices are coupled to the system. And coupled directly to the CPU or indirectly via fixed buses and interconnects. Since these connections are always present, it may provide an opportunity for viruses or other malicious code to be introduced into the CPU, CPU related memory, BIOS, or data storage. Such malicious codes may act immediately or remain dormant until some future time or event. Means for achieving such defenses and a level to escape such defenses will be described in detail with respect to embodiments of the present invention.

図2は、デスクトップコンピュータシステム、ラップトップコンピュータシステム、ノートブックコンピュータシステム、パーソナルデータアシスタント(PDA)、固定又は移動のワイヤード又はワイヤレス通信装置(移動電話、セルラー電話、衛星電話、高周波送信器及び/又は受信器、等)のような情報機器を例示している。一般に、本発明の構造、方法、コンピュータプログラム及びコンピュータプログラム製品は、少なくとも1つの処理要素、例えば、コントローラ又はマイクロコントローラ、CPU、ASIC、マイクロプロセッサ、ロジック回路、又は他の処理要素を含むか又は含むように適応できる電子装置又はシステムに適用でき且つそれと共に使用できる。(本発明の他の実施形態も説明するが、これは、ここに取り上げる処理要素形式の組合せを含む2つ又は他の複数の処理要素を使用することができる。)このようなシステムは、種々のオペレーション、例えば、ある所定の、動的に決定された又は他のロジック、計算、ワード処理、eメール、ネットワーク計算、音楽処理、ビデオ処理、インターネットブラウジング、音声処理又はコード化又はデコード、デジタルカメラを組み込んだ移動電話のデジタルカメラにおけるピクチャー又はイメージ取得又は処理、GPS信号受信及び処理、位置ナビゲーション、娯楽を遂行するように実施することができる。当業者であれば、ここでの説明に鑑み、多数の電子装置及びシステムが適用可能なアプリケーション部門に入ることが明らかであろう。本発明は、ウイルス防止及びハッカー防止の保護が望まれる場合、及び多数のアプリケーションを同時に処理することが望まれる場合に特に効果を発揮するが、これら2つの効果は別々に達成されてもよい。   FIG. 2 illustrates a desktop computer system, laptop computer system, notebook computer system, personal data assistant (PDA), fixed or mobile wired or wireless communication device (mobile phone, cellular phone, satellite phone, radio frequency transmitter and / or An information device such as a receiver is illustrated. In general, the structures, methods, computer programs, and computer program products of the present invention include or include at least one processing element, such as a controller or microcontroller, CPU, ASIC, microprocessor, logic circuit, or other processing element. It can be applied to and used with electronic devices or systems that can be adapted as such. (Other embodiments of the invention are also described, which may use two or more processing elements, including combinations of processing element types discussed herein.) Such systems may vary. Operations such as certain predetermined, dynamically determined or other logic, computation, word processing, email, network computation, music processing, video processing, internet browsing, voice processing or coding or decoding, digital cameras Can be implemented to perform picture or image acquisition or processing, GPS signal reception and processing, location navigation, entertainment in mobile phone digital cameras. It will be apparent to those skilled in the art that, in view of the description herein, a large number of electronic devices and systems fall within the applicable application sector. Although the present invention is particularly effective when virus protection and anti-hacker protection is desired, and when it is desired to process a large number of applications simultaneously, these two effects may be achieved separately.

ここに示す実施形態では、単一の計算環境が、又はより好都合なことに、本発明のシステム及び方法のほとんどの実施形態では、複数の多数の独立した計算環境1508−1、1508−2、・・・1508−Nが生成される。これらの計算環境1508は、図7及び図8の実施形態における特殊目的のサブシステム1120に類似した特徴を有し、その類似性は、本発明の多数の実施形態を詳細に説明した後に更に明らかになろう。独立した計算環境は、例えば、ハードワイヤード又はプログラム可能な演算又はロジック回路、プログラム可能なマイクロコントローラ、プロセッサ、マイクロプロセッサ、CPU、ASICを任意の組合せで使用すると共に、おそらく、良く知られたように、マイクロプロセッサメモリ、電力等のサポート要素でサポートされて、物理的に実施することができる。少なくともある実施形態は、中央処理ユニット(CPU)、マイクロプロセッサ、マイクロコントローラ、ASIC、又はある組合せを使用して、計算(処理)環境1508を生成するための物理的構造を与える。ある場合には、処理又は計算タスクの複雑さで、希望の計算環境をサポートする物理的要素が指令される。一実施形態では、計算環境を生成する要素は、動的に選択可能で且つ構成可能である。このような選択及び構成は、ユーザの制御のもとにあってもよいし、或いはより一般的には、計算システム200の自動制御のもとにあって、ある所定の又は動的に決定されたルール又はポリシーに基づき、又、任意であるが、ある測定された計算システムの物理的又は論理的状態、環境条件、処理要求及び複雑さ、アプリケーションプログラムサイズ、及びデータセットサイズに基づくのが望ましい。スペア要素を設けることもでき、このようなスペア要素(例えば、CPU、メモリ、記憶装置、ビデオプロセッサ、コプロセッサ、モデム、ネットワーク又はイーサネット(登録商標)プロセッサ等)は、故障した要素に置き換わるように切り換えることができる。又、動的に割り当てて構成できることは、多数の計算環境が存在すべき場合に効率を与える。というのは、環境ごとに全ての処理能力を与える必要がないからである。   In the illustrated embodiment, a single computing environment, or more conveniently, in most embodiments of the systems and methods of the present invention, multiple multiple independent computing environments 1508-1, 1508-2, ... 1508-N is generated. These computing environments 1508 have features similar to the special purpose subsystem 1120 in the embodiments of FIGS. 7 and 8, and the similarities become more apparent after a number of embodiments of the present invention have been described in detail. Would. An independent computing environment may be used, for example, in any combination of hardwired or programmable arithmetic or logic circuits, programmable microcontrollers, processors, microprocessors, CPUs, ASICs, and perhaps as well known Supported by support elements such as microprocessor memory, power, etc., can be physically implemented. At least some embodiments provide a physical structure for generating a computing (processing) environment 1508 using a central processing unit (CPU), microprocessor, microcontroller, ASIC, or some combination. In some cases, the physical elements that support the desired computing environment are commanded with the complexity of the processing or computing task. In one embodiment, the elements that generate the computing environment are dynamically selectable and configurable. Such selection and configuration may be under the control of the user or, more generally, under the automatic control of the computing system 200 and determined at some predetermined or dynamic. Preferably based on measured physical or logical state, environmental conditions, processing requirements and complexity, application program size, and dataset size. . Spare elements can also be provided, and such spare elements (eg, CPU, memory, storage device, video processor, coprocessor, modem, network or Ethernet processor, etc.) can be replaced with a failed element. Can be switched. Also, the ability to dynamically allocate and configure provides efficiency when there should be a large number of computing environments. This is because it is not necessary to provide all processing capabilities for each environment.

計算環境1508は、スイッチングコマンドに基づいて任意のI/Oスイッチシステム1510を経て周辺機器1514−1、・・・1514−Nへ又はI/Oスイッチコンフィギュレーションデータ又はロジック1512へ結合され、又は結合されてもよく、或いは選択的に結合可能である。本発明の特定の実施形態において任意のI/Oスイッチシステム1510についての要求は、特定の周辺機器の特性並びにセキュリティ又は分離の必要程度又は希望程度のようなファクタに依存し得る。ある実施形態では、ある周辺機器は、1つの又は選択された計算環境に直接接続されてもよいし、永久的に接続されてもよいし、永久的に切断されてもよいし、又はスイッチ可能に接続されてもよい。図2のコンピュータシステム2000は、例えば、ケース又はフレーム1902に取り付けられて保持されるディスプレイ装置1904を備えてもよい。又、一般的に、キーボード及びポインティング装置のような入力装置も含むが、これは、入力及び出力について多数の別の態様、例えば、音声入力、タッチスクリーン、音声又は口頭のコンピュータ発生スピーチ、等が与えられる場合には、必要とされない。又、他の装置の中でも、セルラー電話、PDA及びデジタルカメラのような装置においてLCDディスプレイがコンピュータスクリーンの場所をとってもよい。   Computing environment 1508 is coupled to or coupled to peripherals 1514-1,... 1514-N or to I / O switch configuration data or logic 1512 via any I / O switch system 1510 based on switching commands. Or may be selectively combined. The requirements for any I / O switch system 1510 in a particular embodiment of the present invention may depend on factors such as the characteristics of the particular peripheral device and the degree of security or isolation required or desired. In certain embodiments, a peripheral device may be directly connected to one or selected computing environment, may be permanently connected, may be permanently disconnected, or switchable May be connected. The computer system 2000 of FIG. 2 may include, for example, a display device 1904 that is attached to and held by a case or frame 1902. It also generally includes input devices such as keyboards and pointing devices, which include many other aspects of input and output, such as voice input, touch screen, voice or verbal computer-generated speech, etc. If given, it is not required. Also, the LCD display may take the place of the computer screen in devices such as cellular phones, PDAs and digital cameras, among other devices.

ここに述べる他のスイッチ及びスイッチシステムと同様に、スイッチングは、希望のスイッチングを達成し且つ希望の又は必要な電圧、電流、分離、インピーダンス、終端、及び/又は電気的特性を維持する機械的、電気的、電子的、トランジスタ、ダイオード、マイクロプロセッサ、デジタル又はアナログのいずれか1つ、複数、又は多数でよい。例えば、ハードディスクドライブをCPUに接続したり切断したりするスイッチは、CPUにもハードディスクドライブにもダメージを及ぼさずに、それを行う。ある装置を伴うある状況において、スイッチングは、装置又は装置の部分をオフにするか、さもなければ、動作電圧又は電流を制限することにより、又は装置へのクロックを停止することにより、又はデータライン又は通信経路を遮断するが電力ラインは遮断しないことにより、或いはこの技術で良く知られたようにオペレーションを停止する他のやり方により、達成することができる。本明細書のどこかに説明するように、ある例では、これらのスイッチングオペレーションは、計算システムの要素と、異なる計算環境1508−1、・・・1508−Nとの間に保証された分離レベルを与えるように意図される。   As with the other switches and switch systems described herein, switching is a mechanical that achieves the desired switching and maintains the desired or necessary voltage, current, isolation, impedance, termination, and / or electrical characteristics. It can be any one, multiple, or many of electrical, electronic, transistor, diode, microprocessor, digital or analog. For example, a switch that connects or disconnects a hard disk drive to the CPU does so without damaging the CPU or the hard disk drive. In certain situations involving certain devices, switching may turn off the device or parts of the device, or otherwise limit the operating voltage or current, or stop the clock to the device, or the data line Alternatively, it can be accomplished by interrupting the communication path but not the power line, or by other ways of stopping operation as is well known in the art. As described elsewhere herein, in some examples, these switching operations are guaranteed isolation levels between the elements of the computing system and the different computing environments 1508-1, ... 1508-N. Is intended to give

又、複数の計算環境(図7及び図8の実施形態では、特殊目的のサブシステム1120とも称される)は、スイッチングコマンドに基づきデータ記憶装置スイッチシステム1504を通して1つ又は複数のデータ記憶装置1502へ又はデータ記憶装置スイッチコンフィギュレーションデータ又はロジック1506へ選択的に結合され又は結合可能である。データ記憶装置は、この技術で知られた又は開発中の記憶装置の任意の組み合せでよく、例えば、回転型磁気ハードディスクドライブ、回転又は非回転型光学記憶媒体、CD、DVD、ホログラフ記録、ナノテクノロジーベースの記憶装置、ソリッドステートメモリ(RAM、ROM、EEPROM、CMOS等)、分子及び原子記憶装置、化学的メモリ、並びに他の記憶装置又はシステムを含むが、これらに限定されない。個別の論理的記憶要素1502−1、1502−2、・・・1502−Nは、単一の物理的装置に、或いは物理的装置の組合せ又はその中に構成され又は分割され、且つ単一の論理的記憶装置1502−2(例えば)についても、多数の異なる物理的装置を使用して、希望の又は必要な記憶容量、装置へデータをコピーする速度、記憶装置からデータを書き込む速度、クリア及び/又は消去又はオーバーライト速度及び性能、或いは他の動作特性を入手できることが明らかであろう。例えば、ノートブックコンピュータに対する一実施形態では、幾つかのデータ記憶装置1502が、単一の物理的ハードディスクドライブの論理的パーティションとして実施される。別の実施形態では、高速の読み取り、書き込み及び消去速度性能を与えるために、全てのデータ記憶装置1502がソリッドステートメモリデバイスで実施される。色々な種類の多ポートメモリ形式及びアーキテクチャーを入手して、使用することができる。例えば、Rambusメモリを、従来のメモリチップと共に使用してもよい。更に別の実施形態では、多数のデータ記憶装置1502がマルチディスクのハード磁気ディスクドライブ上で個別のプラッター又はディスクとして実施される。このようなドライブは、単一のコントローラと、読み取り/書き込みヘッドの制御セットとを有するか、或いは個別のコントローラと、任意に独立して動作できるアクチュエータアーム及び読み取り/書き込みヘッドとを有して、データ経路の分離を確保し、これにより、マリシャスコード(例えば、ウイルス、ロボット、又はコンピュータハッカーからの)が1つの計算環境から別の計算環境へと移動して多数の計算環境の意図された分離性及び独立性を崩壊することができないようにする。   Also, multiple computing environments (also referred to as special purpose subsystems 1120 in the embodiments of FIGS. 7 and 8) may be connected to one or more data storage devices 1502 through the data storage device switch system 1504 based on switching commands. Or can be selectively coupled to or coupled to data storage device switch configuration data or logic 1506. The data storage device may be any combination of storage devices known or under development in the art, such as rotating magnetic hard disk drives, rotating or non-rotating optical storage media, CD, DVD, holographic recording, nanotechnology Including, but not limited to, base storage devices, solid state memory (RAM, ROM, EEPROM, CMOS, etc.), molecular and atomic storage devices, chemical memory, and other storage devices or systems. The individual logical storage elements 1502-1, 1502-2,... 1502-N are configured or divided into a single physical device, or a combination of physical devices, or a single For logical storage device 1502-2 (for example), a number of different physical devices may be used to provide the desired or required storage capacity, the speed at which data is copied to the device, the speed at which data is written from the storage device, the clear and It will be apparent that / or erase or overwrite speed and performance, or other operating characteristics are available. For example, in one embodiment for a notebook computer, several data storage devices 1502 are implemented as logical partitions of a single physical hard disk drive. In another embodiment, all data storage devices 1502 are implemented with solid state memory devices to provide fast read, write and erase speed performance. Various types of multi-port memory formats and architectures are available and can be used. For example, a Rambus memory may be used with a conventional memory chip. In yet another embodiment, multiple data storage devices 1502 are implemented as individual platters or disks on a multi-disk hard magnetic disk drive. Such a drive can have a single controller and a control set of read / write heads, or can have separate controllers and actuator arms and read / write heads that can optionally operate independently, Ensures separation of data paths, which allows malicious code (eg, from viruses, robots, or computer hackers) to move from one computing environment to another and intended separation of multiple computing environments Ensure that sex and independence cannot be destroyed.

物理的に小さな装置(例えば、PDA、移動電話、又は他の通信装置)については、機械的可動部を有するメモリに比してソリッドステートメモリのみを使用するのが好ましいと予想される。というのは、エネルギー消費が低く、サイズが小さく、発熱量が低く、アクセス速度が速く、読み取り/書き込み速度が速く、且つ消去速度が速くて消去容易だからである。このようなソリッドステートメモリは、装置(例えば、移動電話)に一体的でもよいし、外部であるが機械的及び電気的コネクタ又はカプリングを経て差し込み可能であってもよい(例えば、マイクロソフトウインドウズオペレーティングシステム(OS)及びPalmPilot OSベースのPDA;PDAとセルラー電話の組合せ;PDA、セルラー電話及びデジタルカメラの組合せ装置;デジタルカメラ;セルラー電話;デジタルオーディオ及び/又はビデオレコーダ及びプレーヤ;MP3プレーヤ;及びこの技術で知られている他の装置及びメモリシステムに対する基本的又は付加的メモリとして利用できるコンパクトメモリカード又はモジュール、ソニーSmartMedia(登録商標)を使用することにより)。又、ソリッドステートではないが、小型で安価な記憶装置及びサブシステムも使用できる。   For physically small devices (eg, PDAs, mobile phones, or other communication devices), it is expected that it is preferable to use only solid state memory compared to memory with mechanical moving parts. This is because energy consumption is low, size is small, calorific value is low, access speed is fast, read / write speed is fast, and erase speed is fast and easy to erase. Such solid state memory may be integral to the device (eg, mobile phone) or may be external but pluggable through mechanical and electrical connectors or coupling (eg, Microsoft Windows operating system). (OS) and PalmPilot OS-based PDA; PDA and cellular phone combination; PDA, cellular phone and digital camera combination device; digital camera; cellular phone; digital audio and / or video recorder and player; MP3 player; By using a Sony SmartMedia®, a compact memory card or module that can be used as a basic or additional memory for other devices and memory systems known in the art. In addition, although it is not solid state, a small and inexpensive storage device and subsystem can be used.

図1の従来のコンピュータシステム1900と、図2の本発明の実施形態2000とを比較すると、多数の相違が明らかになる。従来のシステムでは、データ記憶装置1502−1は、CPU1508−1に直接接続されるか、或いは若干固定で且つ永久的な接続部、例えば、1つ以上のバス又は相互接続部を経て接続される。(ある場合には、ある装置形式に対し、コンピュータの動作中に、プログラム制御のもとではなく、処理オペレーションに基づく時間に、特定の記憶装置、周辺装置、又は他のシステム要素についての必要性又は要望に基づき、機械的及び手動の切断が考えられる。)従来のシステム1900と比較すると、コンピュータシステム2000の多数のデータ記憶装置1502−1、・・・1502−Nは、あったとしても(データ記憶装置スイッチシステム1504の状態に基づいて)データ記憶装置スイッチシステムを通して計算環境(例えば、CPU(これに限定されないが)のようなある処理又は計算能力を含む計算環境)に結合される。一般に、データ記憶装置1502のいずれか1つが計算環境のいずれか1つに結合されるか、又はどれにも結合されない。より一般的には、所与のデータ記憶装置は、結合又は接続の必要性があるときに計算環境に間欠的に結合又は接続され、そして計算環境の存在中に特定のデータ記憶装置1502が切り換ることがある。有力なデフォールトは、アクセスがコントローラ又は制御側計算環境により特に希望され、必要とされそして許されない限り、このようなデータ記憶装置及び他の装置が結合も接続もされないというものである。   Comparing the conventional computer system 1900 of FIG. 1 with the embodiment 2000 of the present invention of FIG. 2 reveals a number of differences. In conventional systems, the data storage device 1502-1 is connected directly to the CPU 1508-1 or connected via a slightly fixed and permanent connection, eg, one or more buses or interconnects. . (In some cases, for certain device types, the need for specific storage devices, peripheral devices, or other system elements during computer operation, not under program control, but at times based on processing operations. Or, mechanical and manual disconnection is possible, as desired.) Compared to the conventional system 1900, the number of data storage devices 1502-1,. Based on the state of the data storage device switch system 1504, it is coupled through the data storage device switch system to a computing environment (eg, a computing environment that includes some processing or computing power, such as but not limited to a CPU). In general, any one of the data storage devices 1502 is coupled to any one of the computing environments or none. More generally, a given data storage device is intermittently coupled or connected to a computing environment when there is a need for coupling or connection, and a particular data storage device 1502 is disconnected during the presence of the computing environment. May change. A prevailing default is that such data storage and other devices are not coupled or connected unless access is specifically desired, required, and allowed by the controller or controlling computing environment.

更に、本発明の実施形態では、特定のCPU及び特定のデータ記憶装置(例えば、ハードディスクドライブ又はソリッドステートメモリチップ)のような物理的要素間のペアリング又はスイッチング接続は、異なる処理オペレーションに対して動的に変化し得る(これは必要とされない)。同様に、任意のI/Oスイッチシステム1510及び任意のI/Oスイッチコンフィギュレーション1512を含む少なくとも幾つかの実施形態では、計算環境1508は、I/Oスイッチシステム1510のみを経て周辺機器1514へ結合される。スイッチ可能な接続又は結合は、様々なスイッチング機構、例えば、1つ以上の電気的接続を変更し、インターフェイス又は周辺装置から電力を除去し、周辺機器の動作に必要なクロック信号を停止することを含む機構、及び周辺機器をそれが存在せず又は計算環境にアクセスできないように見えるようにするための良く知られた他の機構、構造及び方法のうちのいずれかを含むことができる。   Further, in embodiments of the present invention, pairing or switching connections between physical elements such as a particular CPU and a particular data storage device (eg, hard disk drive or solid state memory chip) can be used for different processing operations. It can change dynamically (this is not required). Similarly, in at least some embodiments including optional I / O switch system 1510 and optional I / O switch configuration 1512, computing environment 1508 is coupled to peripheral device 1514 via I / O switch system 1510 only. Is done. Switchable connections or couplings can change various switching mechanisms, eg, one or more electrical connections, remove power from an interface or peripheral device, and stop clock signals required for peripheral operation. And any of the other well-known mechanisms, structures, and methods for making a peripheral appear to be absent or inaccessible to a computing environment.

データ記憶装置1502及び/又は周辺機器1514をイネーブル又はディスエイブル(或いは接続及び切断)するオペレーションは、人間のユーザの介在なしにプログラム制御のもとで自動的に行うことができ(るが、コンピュータシステムのユーザによるコマンド又は他のアクションでイネーブル又はディスエイブルが行われてもよい)、且つ本発明のコンピュータシステム2000のオペレーションに対して必要に応じてイネーブル及びディスエイブルが毎秒何回行われてもよいことが明らかであろう。例えば、コンピュータが100MHzで動作するインターフェイス又はバスを有する場合には、データ記憶装置及び周辺機器は、インターフェイス又はバスのオペレーションが開始され、実行され及び完了されるときに、必要に応じて、スイッチ可能に結合及び分離されてもよい。例えば、スイッチングは、少なくとも、1Hz、10Hz、100Hz、1KHz、1MHz、及び10KHzのレート、並びにそれより高い及び低いレート、及びその中間のレートで行うことができる。又、この説明に鑑み、データ記憶装置スイッチシステム1504及びI/Oスイッチシステム1510(存在するとき)は、同時にスイッチして、異なるCPUをデータ記憶装置及び/又は周辺機器へイネーブル即ち接続したり、又はディスエイブル即ち切断したりできることが明らかであろう。   The operation of enabling or disabling (or connecting and disconnecting) the data storage device 1502 and / or the peripheral device 1514 can be performed automatically under program control without human user intervention (although the computer Enabled or disabled by commands or other actions by the user of the system), and as many times as necessary to enable and disable the operation of the computer system 2000 of the present invention. It will be clear that it is good. For example, if the computer has an interface or bus that operates at 100 MHz, the data storage device and peripherals can be switched as needed when the interface or bus operation is initiated, executed, and completed. May be combined and separated. For example, switching can occur at least at rates of 1 Hz, 10 Hz, 100 Hz, 1 KHz, 1 MHz, and 10 KHz, and higher and lower rates, and intermediate rates. Also, in view of this description, the data storage device switch system 1504 and the I / O switch system 1510 (when present) switch simultaneously to enable different CPUs to data storage devices and / or peripheral devices, Or it will be apparent that it can be disabled.

典型的な従来のコンピュータシステム1900では、周辺機器1514は、CPU1508に直接的に接続され、そしてコンピュータシステムのオペレーション中にはスイッチ可能に接続及び切断(即ちイネーブル及びディスエイブル)されない。データ記憶装置及び周辺機器の切断は、それらを他の計算環境に使用できるようにもすることが明らかである。従来のシステムでは、ある周辺機器がホット指し込み可能であっても、周辺機器の差し込みは、人間のユーザの相互作用を必要とする手動操作である。従来のコンピュータシステム及び方法と、本発明のシステム及び方法との間の他の相違は、ここに述べる本発明の他の実施形態の説明に関してより明らかとなろう。   In a typical conventional computer system 1900, peripheral device 1514 is connected directly to CPU 1508 and is not switchably connected and disconnected (ie, enabled and disabled) during operation of the computer system. Clearly, disconnecting data storage devices and peripherals also makes them available for other computing environments. In a conventional system, even if a peripheral device can be hot-plugged in, the insertion of the peripheral device is a manual operation that requires human user interaction. Other differences between conventional computer systems and methods and the systems and methods of the present invention will become more apparent with respect to the description of other embodiments of the present invention described herein.

図3は、多数の独立した計算環境1508−1、・・・1508−Nをサポートするためのアーキテクチャー及びシステム1500であって、多数の独立した計算環境をサポートすることができ、ある処理オペレーションを分離及び隔離して、悪意のあるウイルス、ロボット又はハッカーによりユーザデータにダメージを及ぼす汚染又は攻撃を防止するように効果的に使用できるコンピュータシステムを備えたアーキテクチャー及びシステムを示す概略図である。このようなコンピュータシステム1500は、複数のデータ記憶装置1502と、データ記憶装置スイッチシステム1504(及び任意のデータ記憶装置スイッチコンフィギュレーションユニット1506)と、任意のI/Oスイッチシステム及びI/Oスイッチコンフィギュレーションユニットを経て計算環境1508に結合された1つ又は複数の周辺機器1514を含むもののようなI/Oシステムと、1つ以上の計算環境1508とを含むことができる。   FIG. 3 is an architecture and system 1500 for supporting multiple independent computing environments 1508-1,... 1508-N, which can support multiple independent computing environments, and certain processing operations. FIG. 1 is a schematic diagram illustrating an architecture and system with a computer system that can be effectively used to isolate and isolate a computer to prevent contamination or attacks that damage user data by malicious viruses, robots or hackers. . Such a computer system 1500 includes a plurality of data storage devices 1502, a data storage device switch system 1504 (and an optional data storage device switch configuration unit 1506), an optional I / O switch system, and an I / O switch configuration. An I / O system, such as one that includes one or more peripherals 1514 coupled to the computing environment 1508 via a computing unit, and one or more computing environments 1508.

1つ以上のデータ記憶装置1502は、コンピュータシステムに結合することができる。データ記憶装置1502は、メモリエリアを表わしている。データ記憶装置は、任意の形式の記憶媒体、例えば、磁気ハードディスクドライブ、光学記憶媒体、ソリッドステートメモリ、他の形式のデータ記憶装置、或いはこれらデータ記憶媒体形式の組合せにより実施されてもよい。又、データ記憶装置は、ディスクドライブ、及び/又は1つ以上のディスクドライブの一部分、及び/又は物理的なディスクドライブの組合せに対応するメモリエリアを表わしてもよい。本発明の一実施形態によれば、データ記憶装置1502は、マスターテンプレートのコピーを含んでもよい。本発明のシステムに関連して使用できる方法の実施形態を、図4を参照して以下に説明する。   One or more data storage devices 1502 can be coupled to a computer system. Data storage device 1502 represents a memory area. The data storage device may be implemented by any type of storage medium, such as a magnetic hard disk drive, optical storage medium, solid state memory, other types of data storage devices, or a combination of these data storage medium types. A data storage device may also represent a memory area corresponding to a disk drive, and / or a portion of one or more disk drives, and / or a combination of physical disk drives. According to one embodiment of the present invention, the data storage device 1502 may include a copy of the master template. An embodiment of a method that can be used in connection with the system of the present invention is described below with reference to FIG.

多数の独立した計算環境をサポートできるコンピュータシステムを使用するための方法の実施形態
図4、図5及び図6を参照し、本発明によるコンピュータシステムの実施形態の設定、初期化及びオペレーションに対する方法及び操作の態様を説明する。ここに例示する方法及び手順は、少なくとも、図2及び図3の実施形態に示されたアーキテクチャー及びシステムに適用することができ、そして本発明の他の実施形態、例えば、図9−17に示して説明する実施形態(これに限定されない)には、若干の構造上の相違のために適宜変更がなされることが明らかであろう。この章及び明細書全体にわたり設けられる見出し及び小見出しは、本発明の特定の態様及び本発明の実施形態が説明された場所に対する読者の便宜上の参照として働くものであるが、本発明の態様及び本発明の実施形態は、明細書、図面及び特許請求の範囲の全体に説明されるもので、明細書、図面及び特許請求の範囲の全体で本発明を理解すべきであると考えられる。
Embodiments of a Method for Using a Computer System that can Support Multiple Independent Computing Environments Referring to FIGS. 4, 5 and 6, a method for setting, initializing and operating an embodiment of a computer system according to the present invention and A mode of operation will be described. The methods and procedures illustrated here can be applied at least to the architecture and system shown in the embodiments of FIGS. 2 and 3, and in other embodiments of the invention, such as FIGS. 9-17. It will be apparent that the embodiments shown and described (but not limited thereto) may be modified accordingly due to slight structural differences. The headings and subheadings provided throughout this chapter and specification serve as a convenient reference for the reader to the specific aspects of the invention and where the embodiments of the invention are described. Embodiments of the invention are described throughout the specification, drawings and claims, and it is believed that the invention should be understood throughout the specification, drawings and claims.

本発明の一実施形態では、計算環境(1つ又は複数)を生成又は確立し、初期化し、スイッチを構成し、処理を制御し、1つ以上の計算環境を動作し、計算環境内のユーザ及び/又は制御オペレーションを遂行し、ユーザ処理を完了し、ファイルをセーブし、そして計算環境において処理を終了させるための本発明の方法及び要素手順は、コンピュータプログラムとして実施されるか、或いは有形の媒体に記憶され且つ本発明の方法及びシステムの方法論的ステップを遂行するためのコンピュータプログラム命令を含むコンピュータプログラム製品として実施されるのが効果的である。他の実施形態は、ハードウェアロジック、ファームウェア及び/又はソフトウェアの組合せを使用して、これら手順の幾つか又は全部を遂行することができる。   In one embodiment of the invention, computing environment (s) are created or established, initialized, configured with switches, controlled, operated on one or more computing environments, and users within the computing environment. And / or the method and component procedures of the present invention for performing control operations, completing user processing, saving files, and terminating processing in a computing environment may be implemented as a computer program or tangible It is advantageous to be implemented as a computer program product that includes computer program instructions that are stored on a medium and that perform the methodological steps of the method and system of the present invention. Other embodiments may perform some or all of these procedures using a combination of hardware logic, firmware and / or software.

本発明の方法の態様について以下に説明する。実施形態特有の任意の手順及びステップを含む本発明の方法及び手順のこれら及び他の態様は、本明細書全体にわたり特定の実施形態に関して説明する。   Embodiments of the method of the present invention are described below. These and other aspects of the methods and procedures of the present invention, including any procedures and steps specific to the embodiments, will be described with respect to particular embodiments throughout the specification.

初期システム設定及び計算環境の確立
図4を参照すれば、多数の独立した計算環境(1508−N)を使用する本発明の方法の一実施形態は、システムスタートアップ(1602)を開始し、1604においてI/Oスイッチシステムコンフィギュレーション(1512)を、そして1604においてデータ記憶装置スイッチコンフィギュレーション1506を構成し、通信をサポートするためにI/Oスイッチシステム1510を構成し、通信をサポートするためにデータ記憶装置スイッチシステム1504を構成し、1623において制御処理を遂行し、そして1631においてユーザ処理を遂行することを含む。通常、制御処理は、1615における設定処理の制御、及び1621におけるセーブ処理の制御も含む。
Initial System Setup and Establishing Computing Environment Referring to FIG. 4, one embodiment of the method of the present invention using multiple independent computing environments (1508-N) initiates system startup (1602) at 1604. Configure I / O switch system configuration (1512) and data storage device switch configuration 1506 at 1604, configure I / O switch system 1510 to support communication, and store data to support communication This includes configuring device switch system 1504 to perform control processing at 1623 and to perform user processing at 1631. Normally, the control process also includes a setting process control in 1615 and a save process control in 1621.

1602においてシステムスタートアップを開始することは、コンピュータシステムの既知のブートシーケンスと同様の初期ブートシーケンスを含むことができる。ブートシーケンスは、更に、1604において1つ以上のスイッチコンフィギュレーション、例えば、データ記憶装置スイッチコンフィギュレーション及び/又はI/Oスイッチコンフィギュレーションの定義及び/又は変更をサポートすることも含む。各スイッチングシステムの初期コンフィギュレーションを開始して、それに対応するスイッチコンフィギュレーション1604に基づき1つ以上のソースと1つ以上の行先との間に1つ以上の通信経路を確立することができる。スイッチのコンフィギュレーション1800は、図6に示された計算環境を開始するための手順と共に、データ記憶装置スイッチを構成し(1804)そしてI/Oシステムスイッチを構成する(1806)ための手順を含むことができる。(本発明の他の実施形態は、計算環境を最初に構成するとき又はそれを再構成するときにデータ記憶装置及びI/Oスイッチを構成するための合成手順を与える。)   Initiating system startup at 1602 may include an initial boot sequence similar to the known boot sequence of the computer system. The boot sequence further includes supporting at 1604 the definition and / or modification of one or more switch configurations, eg, data storage device switch configuration and / or I / O switch configuration. An initial configuration of each switching system can be initiated and one or more communication paths can be established between one or more sources and one or more destinations based on the corresponding switch configuration 1604. Switch configuration 1800 includes procedures for configuring a data storage device switch (1804) and configuring an I / O system switch (1806) along with procedures for initiating the computing environment shown in FIG. be able to. (Other embodiments of the present invention provide a synthesis procedure for configuring data storage and I / O switches when initially configuring or reconfiguring a computing environment.)

計算環境を開始するための手順の実施形態を示す図5を更に参照すれば、本発明の一実施形態により、物理的スイッチ1704を経て電力をターンオンして、スタート動作1702の間にシステムスタートアップを開始することができる。システムスタートアップ時に、CMOSメモリ1708を使用して、初期化プロセス及び/又はブートシーケンスの1つ以上のステップを定義することができる。ブートシーケンス1706或いは他の初期化シーケンス又は手順は、CMOS1708又は他のメモリ記憶装置に結合された情報を使用して、スイッチシステムコンフィギュレーションを確立し、そしてその後、それに対応するスイッチシステムを初期化して、そのコンフィギュレーションを適用及び/又は変更し、ソースと行先とを通信結合する。又、1つ以上の計算環境が、1602においてシステムスタートアップにより開始されてもよい。   Still referring to FIG. 5, which illustrates an embodiment of a procedure for starting a computing environment, according to one embodiment of the present invention, power is turned on via a physical switch 1704 to provide system startup during a start operation 1702. Can start. At system startup, the CMOS memory 1708 can be used to define one or more steps of the initialization process and / or boot sequence. The boot sequence 1706 or other initialization sequence or procedure uses information coupled to the CMOS 1708 or other memory storage device to establish the switch system configuration and then initialize the corresponding switch system. Apply and / or change the configuration and communicatively couple the source and destination. One or more computing environments may also be initiated at 1602 by system startup.

更に、図4を参照すれば、1608及び1622において計算環境を確立することは、I/Oスイッチシステムコンフィギュレーション及びデータ記憶装置スイッチコンフィギュレーションを構成し、I/Oスイッチシステムを構成して、通信をサポートし、そしてデータ記憶装置スイッチシステムを構成して通信をサポートすることを含むことができる。   Further, referring to FIG. 4, establishing a computing environment at 1608 and 1622 configures the I / O switch system configuration and data storage device switch configuration, configures the I / O switch system, and communicates. And configuring a data storage device switch system to support communication.

一実施形態によれば、2つのデータ記憶装置(例えば、データ記憶装置1502−1、1502−N)が計算環境に結合されてもよい。第1のデータ記憶装置は、計算環境の処理アクティビティをサポートするためのオペレーティングシステムを含むことができる。第2のデータ記憶装置は、計算環境により使用され又は作用され得る種々の情報を含むことができる。種々の情報は、例えば、特定のユーザ情報及び/又はコンフィギュレーション情報を含むことができる。特定のユーザ情報は、ユーザにより編集されるべきドキュメントを含むことができる。コンフィギュレーション情報は、データ記憶装置スイッチコンフィギュレーション及び/又はI/Oスイッチコンフィギュレーションを構成するために制御計算環境により使用することができる。   According to one embodiment, two data storage devices (eg, data storage devices 1502-1, 1502-N) may be coupled to the computing environment. The first data storage device may include an operating system to support processing activities of the computing environment. The second data storage device may contain various information that can be used or acted upon by the computing environment. The various information can include, for example, specific user information and / or configuration information. The specific user information can include a document to be edited by the user. The configuration information can be used by the control computing environment to configure the data storage device switch configuration and / or the I / O switch configuration.

通常、制御計算環境は、ユーザ計算環境が確立される前に、1608において確立される。ある実施形態では、初期化の際に、制御計算環境又はそれと同等のものを確立することができる。第1の制御計算環境は、上述したように、ブートシーケンスにより確立することができる。第1のデータ記憶装置は、コンピュータオペレーティングシステムをサポートすることができる。第2のデータ記憶装置は、保護データ記憶装置を表わすことができる。データ記憶装置が計算環境に結合された後に、計算環境は、ユーザが計算環境と対話するのを許すようにブートすることができる。ユーザ入力は、制御計算環境の特色(例えば、領域の特色及び計算環境識別特色)に対応する入力を制御計算環境に通信するように構成されたI/Oスイッチシステム1510を経て受信することができる。同様に、制御計算環境からの出力は、制御計算環境に対応する特色に基づいて周辺機器(例えば、周辺機器1514−1、・・・1514−N)へ送信することができる。従って、制御計算環境は、第1のデータ記憶装置からブートし、そして保護データ記憶装置へアクセスすることができる。その結果、ユーザは、制御計算環境と対話することができる。   Typically, the control computing environment is established at 1608 before the user computing environment is established. In some embodiments, a control computing environment or the like can be established during initialization. As described above, the first control computing environment can be established by the boot sequence. The first data storage device can support a computer operating system. The second data storage device can represent a protected data storage device. After the data storage device is coupled to the computing environment, the computing environment can be booted to allow the user to interact with the computing environment. User input may be received via an I / O switch system 1510 that is configured to communicate to the control computing environment inputs corresponding to the control computing environment traits (eg, region traits and computing environment identifying traits). . Similarly, the output from the control calculation environment can be transmitted to peripheral devices (eg, peripheral devices 1514-1,... 1514-N) based on the features corresponding to the control calculation environment. Thus, the control computing environment can boot from the first data storage device and access the protected data storage device. As a result, the user can interact with the control computing environment.

本発明のアーキテクチャー、システム及び方法の実施形態内に任意の「特色(trait)」を使用するためのオプションについて以下に説明する。特色を言及することは、本明細書の他の部分で行うが、効果的に使用されることは、任意の特徴である。一実施形態において、少なくとも1つの特性、属性、記述子、又は特色を使用して、各ソース及び行先を表わす(及びシステムの他の要素の特性を表わす)ことができる。特色は、物理的な識別子及び/又は論理的な識別子を表わしてもよい。上述したIDEディスクドライブ記憶装置によれば、各IDEケーブルは、物理的スイッチとの物理的結合により識別することができる。IDEドライブ情報(例えば、マスター及び/又はスレーブの指定、ドライブサイズ、等)を使用して、ドライブ及び/又はドライブに結合されたデータを識別することができる。   Options for using optional “traits” within embodiments of the architecture, system and method of the present invention are described below. Reference to a feature is done elsewhere in this specification, but being used effectively is an optional feature. In one embodiment, at least one characteristic, attribute, descriptor, or feature may be used to represent each source and destination (and represent characteristics of other elements of the system). The feature may represent a physical identifier and / or a logical identifier. According to the IDE disk drive storage device described above, each IDE cable can be identified by physical coupling with a physical switch. IDE drive information (eg, master and / or slave designation, drive size, etc.) can be used to identify the drive and / or data coupled to the drive.

同様に、少なくとも1つの特色を使用して、各行先、例えば、計算環境又はCEが表わされる。計算環境が個別の物理的計算環境を表わす場合には、それを、個別の物理的計算特性、例えば、一般的スイッチに結合された独特のインターフェイスにより識別することができる。本発明の一実施形態によれば、計算環境は、別の計算環境に対応する物理的計算特性の幾つか又は全部を共有できる論理的計算環境として表わすことができる。論理的計算環境は、種々の仕方で識別することができ、例えば、独特のプロセス識別子により識別することができる。   Similarly, at least one feature is used to represent each destination, eg, a computing environment or CE. If the computing environment represents a separate physical computing environment, it can be identified by a distinct physical computing characteristic, eg, a unique interface coupled to a generic switch. According to one embodiment of the invention, a computing environment can be represented as a logical computing environment that can share some or all of the physical computing characteristics corresponding to another computing environment. The logical computing environment can be identified in various ways, for example, by a unique process identifier.

1つ以上の特色が、出力装置、例えば、コンピュータモニタ及び/又はコンピュータグラフィックカードに対応してもよい。一実施形態によれば、特色は、コンピュータモニタの潜在的なビューエリアに関連した表示領域に対応してもよい。ソースからの表示出力は、表示領域特色に基づいて位置することができ、1つの計算環境からの出力が、領域特色に関連した領域内の表示に向けられるようにする。領域特色は、コンピュータモニタの潜在的なビューエリアに関連した長方形の表示領域を画成する一対のx、y座標を含むことができる。従って、特定の計算環境からの表示出力は、1つ以上の特色に基づいて、別の領域ではなく、それに対応する領域内に表わすことができる。   One or more features may correspond to an output device, such as a computer monitor and / or a computer graphics card. According to one embodiment, the spot color may correspond to a display area associated with a potential view area of the computer monitor. The display output from the source can be located based on the display area spot color, so that the output from one computing environment is directed to the display in the area associated with the area spot color. A region feature can include a pair of x, y coordinates that define a rectangular display region associated with a potential view area of a computer monitor. Accordingly, display output from a particular computing environment can be represented in a corresponding region rather than another region based on one or more features.

1つ以上の特色が入力装置に対応してもよい。上述したように、潜在的なビューエリアに関連した領域特色は、いつ入力が特定の計算環境に通信されるか識別するように更に拡張することができる。又、マウス移動及びマウスコマンドは、長方形の表示領域に相関し、長方形の表示領域に対応する入力がそれに対応する計算環境に向けられるようにする。その結果、領域内のマウス移動は、同じ領域に対応する計算環境と共に通信することができる。特色の使用は、一般に、システムと共に使用されるか、システムに関連付けられるか、或いは必要に応じて又は間欠的ベースでシステムと共に潜在的に使用可能にされる装置、サブシステム、又は周辺機器まで拡張することができ、そして本発明のシステムとの通信状態に入れることのできる外部装置又はシステムを含んでもよい。   One or more spot colors may correspond to the input device. As described above, the region features associated with potential view areas can be further extended to identify when input is communicated to a particular computing environment. Also, mouse movements and mouse commands correlate with the rectangular display area so that the input corresponding to the rectangular display area is directed to the corresponding computing environment. As a result, mouse movements within a region can be communicated with a computing environment corresponding to the same region. The use of a feature generally extends to devices, subsystems, or peripherals that are used with, associated with, or potentially enabled with the system as needed or on an intermittent basis. And may include an external device or system that can enter into communication with the system of the present invention.

計算環境特色は、1つ以上の出力を計算環境から発生したものとして識別するのに使用できる。又、計算環境特色は、1つ以上の入力、及び入力の指定受信者である対応する計算環境を識別するのにも使用できる。1つ以上の計算環境特色を使用して計算環境を識別することができる。又、計算環境特色を使用して、計算環境を独特に識別することができる。この特色は、対応する物理的属性、論理的属性、又はそれら属性の組合せにより計算環境を識別することができる。例えば、ある特色は、1つ以上の計算システム要素の物理的アドレスを識別することができる。或いは又、ある特色は、論理的計算環境に対応する論理的アドレスを識別することができる。更に、ある特色は、所与の計算環境の多数の特性を識別することができ、そして対応する特色の数及び形式は、本発明により変化し得ることも明らかであろう。   A computing environment feature can be used to identify one or more outputs as originating from the computing environment. A computing environment feature can also be used to identify one or more inputs and the corresponding computing environment that is the designated recipient of the input. One or more computing environment features may be used to identify the computing environment. A computing environment feature can also be used to uniquely identify a computing environment. This feature can identify the computing environment by corresponding physical attributes, logical attributes, or a combination of these attributes. For example, a feature can identify the physical address of one or more computing system elements. Alternatively, a feature can identify a logical address corresponding to a logical computing environment. Further, it will be apparent that a particular feature can identify a number of characteristics of a given computing environment, and the number and format of the corresponding features can be varied according to the present invention.

特色は、例えば、本発明システムの要素を編成及び構成して、1つ又は1組の処理タスクを達成する上で役立つように使用できる。このような構成は、記憶装置、I/O装置、及び/又は他の周辺機器への希望の接続を与えるように種々のスイッチ、スイッチングシステム及びスイッチング手段を構成することを含むことができる。   Features can be used, for example, to help organize and configure elements of the system of the present invention to accomplish one or a set of processing tasks. Such a configuration may include configuring various switches, switching systems, and switching means to provide the desired connections to storage devices, I / O devices, and / or other peripheral devices.

スイッチの構成及び制御環境内のユーザ処理の最小化
スイッチシステムを構成することのできる計算環境の1つの形式は、制御計算環境である。(本発明の他の実施形態は、異なる計算環境を合成して、本書のどこかで述べるように、それに対して他の変更を行えるようにする。)制御計算環境は、データ記憶装置スイッチコンフィギュレーション及びI/Oスイッチコンフィギュレーションのようなスイッチシステムコンフィギュレーションを再構成することができる。対応するスイッチシステムの構成は、種々の仕方で行うことができ、例えば、サポートするスイッチコンフィギュレーションへの変更がなされ及び/又は決定されたときにスイッチを経て通信を構成し及び/又は再構成することで行われる。更に、制御計算環境と、スイッチシステム及び/又はスイッチシステムコンフィギュレーションとの間の通信は、制御計算環境しかスイッチシステムを構成できないよう確保する上で助けとなるように暗号化することができる。
Minimizing User Configuration in Switch Configuration and Control Environment One type of computing environment that can constitute a switch system is a control computing environment. (Other embodiments of the present invention combine different computing environments so that other changes can be made thereto as described elsewhere in this document.) The control computing environment is a data storage device switch configuration. Switch system configuration such as configuration and I / O switch configuration can be reconfigured. The configuration of the corresponding switch system can be done in various ways, for example configuring and / or reconfiguring communication via the switch when changes to the supporting switch configuration are made and / or determined. Is done. Further, communications between the control computing environment and the switch system and / or switch system configuration can be encrypted to help ensure that only the control computing environment can configure the switch system.

一実施形態では、例えば、保護データ又はマスターテンプレートが記憶される保護データ記憶装置に対応するデータ又は他の情報が崩壊(例えば、その制御計算環境に存在するか又は常駐するユーザデータファイル又はコンピュータプログラムコードが崩壊)するおそれを排除するために、制御計算環境内でユーザデータ或いは未知の又は信頼性のないデータを処理することは、ディスエイブルされ即ち許されない。本発明の一実施形態によれば、ユーザが、ユーザオペレーション、例えば、ユーザにより通常遂行できるアクティビティ(例えば、eメール、ワード処理、等)を開始する場合には、ユーザオペレーションを個別の計算環境において処理することができる。ユーザインターフェイス、制御オペレーション、及び/又は保護記憶装置を単一の計算環境又はサブシステムへと合成する本発明の実施形態では、この環境のコンフィギュレーションは、このような環境がユーザデータの処理をサポートせず、このようなユーザデータをその制御環境で実行して、それ又はシステムを崩壊するのを許すというものである。コピーオペレーションのような処理動作は、サポートできるが、このようなコピーオペレーションは、マリシャスコードによる他のシステムファイルの実行又は感染を許さないように実施される。   In one embodiment, for example, data or other information corresponding to a protected data storage device in which protected data or a master template is stored is corrupted (eg, a user data file or computer program residing or residing in the control computing environment). Processing user data or unknown or unreliable data within the control computing environment is disabled or not allowed to eliminate the possibility of code corruption. According to one embodiment of the present invention, when a user initiates a user operation, eg, an activity that can normally be performed by the user (eg, email, word processing, etc.), the user operation is performed in a separate computing environment. Can be processed. In embodiments of the present invention that combine user interfaces, control operations, and / or protected storage into a single computing environment or subsystem, the configuration of the environment allows such environments to support the processing of user data. Without running such user data in its controlled environment, allowing it to collapse. Processing operations such as copy operations can be supported, but such copy operations are performed so as not to allow execution or infection of other system files by malicious code.

制御計算環境は、ユーザオペレーションを開始するためのユーザ入力を受け取ることができる。コンピュータマウス入力がI/Oスイッチシステムにより受け取られ、そしてI/Oスイッチシステムコンフィギュレーションに基づいて制御計算環境に向けられる。他の周辺機器からの他の入力も、I/Oスイッチシステムを経て制御計算環境により受け取られる。   The control computing environment can receive user input to initiate user operations. Computer mouse input is received by the I / O switch system and directed to the control computing environment based on the I / O switch system configuration. Other inputs from other peripherals are also received by the control computing environment via the I / O switch system.

ユーザ計算環境内でのユーザオペレーションの開始及び遂行
制御計算環境のユーザは、ユーザオペレーションを開始することができる。一例において、ユーザは、モニタの領域内に表示された特定のアイコンをダブルクリックすることができる。マウスアクションは、制御計算環境により受け取ることができ、1612において、個別計算環境の初期化を生じ、1631において、ユーザ処理、例えば、ワード処理を行うことができる。制御計算環境は、既存の及び/又は新規のドキュメントに対応するワード処理を遂行するために個別の処理環境の生成を初期化することができる。これが既存のドキュメントである場合には、制御計算セッションは、ドキュメントのコピーを、ユーザ計算環境により後で使用するために第3のデータ記憶装置へコピーする必要がある。制御計算環境は、ユーザ環境をサポートするようにスイッチシステムを構成することができる。データ記憶装置スイッチシステムは、第3のデータ記憶装置及び第4のデータ記憶装置をユーザ計算環境に結合するように構成できる。I/Oスイッチシステムは、周辺機器をユーザ計算環境に結合するように構成でき、例えば、ディスプレイの領域をユーザ計算環境に結合することができる。又、ユーザ計算環境は、1つ以上のスイッチコンフィギュレーションに対する変化によりトリガーされる信号又は事象により開始されてもよい。又、種々の別の解決策を使用して、ユーザ計算環境を初期化することもできる。
Initiating and performing user operations within a user computing environment A user in a computing environment can initiate a user operation. In one example, the user can double click on a particular icon displayed in the area of the monitor. Mouse actions can be received by the control computing environment, causing an initialization of the individual computing environment at 1612 and user processing, eg, word processing, at 1631. The control computing environment can initiate the creation of a separate processing environment to perform word processing corresponding to existing and / or new documents. If this is an existing document, the control computing session needs to copy a copy of the document to a third data storage device for later use by the user computing environment. The control computing environment can configure the switch system to support the user environment. The data storage device switch system can be configured to couple the third data storage device and the fourth data storage device to a user computing environment. The I / O switch system can be configured to couple peripheral devices to the user computing environment, for example, a display area can be coupled to the user computing environment. A user computing environment may also be initiated by a signal or event triggered by a change to one or more switch configurations. Various other solutions can also be used to initialize the user computing environment.

1606におけるユーザ計算環境の初期化の一部分として、編集されるべきファイルは、ユーザ計算環境がブートされた後に起動される。別の実施形態によれば、既存のユーザ計算環境をそれに対応するデータ記憶装置と結合して、ファイルをユーザ計算環境内で処理できるようにする。本発明の一実施形態によれば、編集されるべきファイル(1つ又は複数)を規定の位置に常駐させて、それに対応するアプリケーションを起動し、それに対応するファイルをオープンし、及び/又はユーザアクティビティをサポートすることができる。制御処理は、制御計算環境により実行されてもよく、これは、1つ以上のスイッチコンフィギュレーションを構成し、1つ以上のスイッチシステムの再コンフィギュレーションを初期化し、1つのデータ記憶装置と他のデータ記憶装置との間で情報をコピーし、保護データ記憶装置と他のデータ記憶装置との間で情報をコピーすることを含んでもよい。   As part of initializing the user computing environment at 1606, the file to be edited is launched after the user computing environment is booted. According to another embodiment, an existing user computing environment is coupled with a corresponding data storage device so that the file can be processed within the user computing environment. According to one embodiment of the present invention, the file (s) to be edited are resident at a specified location, the corresponding application is launched, the corresponding file is opened, and / or the user. Can support activities. The control process may be performed by a control computing environment, which configures one or more switch configurations, initializes one or more switch system reconfigurations, one data storage device and other It may include copying information between the data storage device and copying information between the protected data storage device and another data storage device.

ユーザ処理は、制御計算環境及びユーザ計算環境との対話を含むことができる。ユーザにより遂行できる機能に通常関連した処理は、独立したユーザ計算環境において処理するように構成できる。従って、ユーザ処理アクティビティは、制御計算環境の処理アクティビティ及び/又は他のユーザ計算環境の処理アクティビティに直接干渉することはない。情報は、特定のユーザ処理アクティビティをサポートするのに必要なコンピュータ情報に基づいて1つのデータ記憶装置から別のデータ記憶装置へコンピュータ情報をコピーすることによりユーザ計算環境へアクセスすることができ、例えば、ワード処理アクティビティは、編集されるべきユーザファイルへのアクセスを必要とする。   User processing can include interaction with the control computing environment and the user computing environment. Processing normally associated with functions that can be performed by a user can be configured to be processed in an independent user computing environment. Accordingly, user processing activities do not directly interfere with processing activities in the control computing environment and / or processing activities in other user computing environments. Information can be accessed into a user computing environment by copying computer information from one data storage device to another based on computer information necessary to support a particular user processing activity, for example The word processing activity requires access to the user file to be edited.

通常、制御計算プロセスは、1615における制御設定処理と、1628における制御セーブ処理とを含むことができる。制御設定は、少なくとも1つの処理アクティビティ、例えば、ワード処理アクティビティを実行するために使用されるべきユーザ計算環境の確立をサポートするのに使用できる。制御セーブ処理は、ユーザ情報を保護データ記憶装置へセーブすることを含む。ユーザ処理アクティビティが完了すると、ユーザ処理アクティビティに関連した情報が、1618において、保護データ記憶装置にセーブされ、ユーザ計算環境が保護データ記憶装置へのセーブ機能を直接実行することは許されない。   Typically, the control calculation process can include a control setting process at 1615 and a control save process at 1628. The control settings can be used to support the establishment of a user computing environment to be used to perform at least one processing activity, eg, a word processing activity. The control save process includes saving user information to the protected data storage device. When the user processing activity is complete, information related to the user processing activity is saved at 1618 to the protected data storage device and the user computing environment is not allowed to directly perform the save function to the protected data storage device.

本発明の一実施形態によれば、制御計算環境は、1つ以上のファイルを一時的データ記憶装置にコピーすることができる。制御計算環境は、1616において、データ記憶装置スイッチコンフィギュレーションを更新して、ユーザ計算環境が一時的データ記憶装置へアクセスするのを許すようにする。一実施形態によれば、制御計算環境は、ユーザ計算環境が一時的データ記憶装置に通信結合したことを検証できる。その後、制御計算環境は、1614において、1つ以上のユーザ計算環境に対応する処理が完了するのを待機することができる。ユーザ計算環境が完了を待機する間に、制御計算環境は、一般的なデスクトップ機能に対応し得る機能を遂行する。このデスクトップ機能は、例えば、1つ以上のデータ記憶装置からコンピュータウイルスを駆除するために、データ記憶装置の管理、データ記憶装置の構成、及びデータ記憶装置間の計算情報のコピーに対応する。通常、デスクトップ機能に対応する機能は、保護データ記憶装置に記憶された計算情報を崩壊するおそれを減少することに限定される。   According to one embodiment of the present invention, the control computing environment can copy one or more files to a temporary data storage device. The control computing environment updates the data storage device switch configuration at 1616 to allow the user computing environment to access the temporary data storage device. According to one embodiment, the control computing environment can verify that the user computing environment is communicatively coupled to the temporary data storage device. Thereafter, at 1614, the control computing environment can wait for processing corresponding to one or more user computing environments to complete. While the user computing environment waits for completion, the control computing environment performs functions that can correspond to general desktop functions. This desktop function corresponds to, for example, management of data storage devices, configuration of data storage devices, and copying of calculation information between data storage devices to remove computer viruses from one or more data storage devices. Usually, the function corresponding to the desktop function is limited to reducing the possibility of corrupting the calculation information stored in the protected data storage device.

ユーザ処理の完了
ユーザ処理アクティビティの完了時に、制御計算環境は、種々の異なる通知解決策に基づいて通知を受けることができる。1つのこのような解決策によれば、ユーザ計算環境が終了となり、その終了がそれに対応するスイッチシステムにより感知される。このスイッチシステムは、保護データ記憶装置に入れるべきユーザ情報をデータが含むことを制御計算環境に能動的に通知することができる。
Completing User Processing Upon completion of user processing activity, the control computing environment can be notified based on a variety of different notification solutions. According to one such solution, the user computing environment is terminated and the termination is sensed by the corresponding switch system. The switch system can actively notify the control computing environment that the data contains user information to be entered into the protected data storage device.

ユーザアクティビティの完了に応答して、制御計算環境は、ユーザデータ記憶装置を制御計算環境に結合して、ユーザ計算環境により実行されたプロセスとは独立してユーザ情報及び/又はファイルを保護データ記憶装置にコピーすることができる。従って、保護データ記憶装置に記憶された他のファイルが、独立したユーザ計算環境のオペレーションにより崩壊されることはない。   In response to the completion of the user activity, the control computing environment couples the user data storage device to the control computing environment and protects user information and / or files in a protected data store independent of processes performed by the user computing environment. Can be copied to the device. Thus, other files stored in the protected data storage device are not corrupted by the operation of the independent user computing environment.

本発明の一実施形態によれば、ファイルセーブコマンドをトリガー事象として使用して、制御計算環境が、ユーザ計算環境の状況の中で実行できる他のオペレーションとは独立して、保護データ記憶装置へユーザファイルを記憶するようにさせる。本発明の一実施形態によれば、一時的データ記憶装置は、ユーザ計算環境及び制御計算環境の両方に結合され、ユーザ計算環境が、制御計算環境に結合される他のファイルを崩壊することがないようにする。ユーザ計算環境は、ファイルを一時的データ記憶装置にセーブすることができ、ここで、制御計算環境は、保護データ記憶装置及び/又は中間データ記憶装置にファイルをコピーする能力をもつことができる。中間データ記憶装置は、例えば、ユーザアプリケーションがクローズされたときに、それに対応するファイルを保護データ記憶装置にセーブするように後で使用することができる。ユーザ計算環境との間の通信は、ユーザ計算環境が保護データ記憶装置に記憶されたファイルを崩壊することがないよう確保する上で助けとなるように、受動的に実施できる。   In accordance with one embodiment of the present invention, using the file save command as a trigger event, the control computing environment is directed to the protected data storage device independently of other operations that can be performed in the context of the user computing environment. Have user files stored. According to one embodiment of the present invention, the temporary data storage device is coupled to both the user computing environment and the control computing environment, and the user computing environment may collapse other files that are coupled to the control computing environment. Do not. The user computing environment can save the file to a temporary data storage device, where the control computing environment can have the ability to copy the file to the protected data storage device and / or the intermediate data storage device. The intermediate data store can be used later, for example, to save the corresponding file in the protected data store when the user application is closed. Communication with the user computing environment can be performed passively to help ensure that the user computing environment does not corrupt files stored in the protected data storage device.

ユーザファイルは、ファイルセーブコマンドの結果として一時的データ記憶装置にセーブすることができる。セーブコマンドの開始に続いて、データ記憶装置スイッチシステムは、データ記憶装置がセーブされたファイルに結合されることを検証できる。ファイルが存在した場合には、一連の命令を実行して、一時的データ記憶装置からのファイルを保護データ記憶装置にコピーすることができる。   User files can be saved to temporary data storage as a result of a file save command. Following the start of the save command, the data storage device switch system can verify that the data storage device is coupled to the saved file. If the file exists, a series of instructions can be executed to copy the file from the temporary data storage device to the protected data storage device.

本発明の一実施形態によれば、制御計算環境は、それに対応するユーザ計算環境がユーザアクティビティ、例えば、ファイルのセーブを完了するのを待機することができる。その後、データ記憶装置スイッチは、一時的データ記憶装置をユーザ計算環境から切断するように構成できる。一時的データ記憶装置は、次いで、制御計算環境に結合することができる。保護データも制御計算環境に結合される。ファイルは、ユーザ計算環境とは独立して、一時的データ記憶装置から保護データ記憶装置へコピーすることができる。一時的データ記憶装置は、次いで、制御計算環境から切断されて、ユーザ計算環境に再結合される。   According to one embodiment of the present invention, the control computing environment can wait for the corresponding user computing environment to complete user activity, eg, saving a file. Thereafter, the data storage device switch can be configured to disconnect the temporary data storage device from the user computing environment. The temporary data storage device can then be coupled to a control computing environment. Protected data is also coupled to the control computing environment. Files can be copied from temporary data storage to protected data storage independent of the user computing environment. The temporary data storage device is then disconnected from the control computing environment and recoupled to the user computing environment.

本発明の別の実施形態によれば、セーブプロセスは、制御計算環境に通信されるスイッチングシステムに対応するフラグをトリップし及び/又はセットすることができる。1つ以上のファイルの存在を検証することができる。ファイルの検証によりファイルの存在が示される場合には、一連のコンピュータ命令を実行して、一時的データ記憶装置から保護データ記憶装置へ1つ以上のファイルをコピーすることができる。   According to another embodiment of the present invention, the save process can trip and / or set a flag corresponding to a switching system communicated to the control computing environment. The existence of one or more files can be verified. If file verification indicates the presence of a file, a series of computer instructions can be executed to copy one or more files from the temporary data storage device to the protected data storage device.

本発明の別の実施形態によれば、キーボードコマンド(例えば、コントロール−S)を使用して、ファイルをセーブすることができる。I/Oスイッチシステムは、ユーザ計算環境及び制御計算環境の両方にコマンドシーケンスを通信するように構成できる。従って、制御計算環境は、ユーザ計算環境にセーブされたファイルを保護データ記憶装置へコピーするのをサポートするように、データ記憶装置スイッチ及び/又はI/Oスイッチシステムを再構成することができる。   According to another embodiment of the present invention, a keyboard command (eg, Control-S) can be used to save a file. The I / O switch system can be configured to communicate command sequences to both the user computing environment and the control computing environment. Thus, the control computing environment can reconfigure the data storage device switch and / or the I / O switch system to support copying files saved in the user computing environment to the protected data storage device.

本発明の別の実施形態によれば、ユーザ計算環境がクローズされ及び/又は遮断されるときにファイルを保護データ記憶装置に転送することができる。本発明の一実施形態によれば、クローズされたユーザ計算環境は、データ記憶装置スイッチシステムにより、ユーザ計算環境により供給されたデータ記憶装置に対応する変更電力状態で検証することができる。   According to another embodiment of the present invention, a file can be transferred to a protected data storage device when the user computing environment is closed and / or blocked. According to one embodiment of the present invention, a closed user computing environment can be verified by the data storage device switch system with a changed power state corresponding to the data storage device supplied by the user computing environment.

本発明の別の実施形態によれば、コンピュータディスプレイモニタに対応するグラフィック領域は、特定の計算環境に対応するユーザ入力がいつ受信されたか識別するのに使用できる。ユーザ入力は、特定の実施に基づき、I/Oスイッチシステム内及び/又は制御計算環境内で分析することができる。一実施形態によれば、ユーザ計算環境に対応するセーブコマンド及び/又はクローズコマンドは、ユーザ情報を保護データ記憶装置にセーブする必要があることを識別し、及び/又は保護データ記憶装置へのコンピュータ情報のセーブをトリガーするように使用できる。   According to another embodiment of the present invention, a graphics area corresponding to a computer display monitor can be used to identify when user input corresponding to a particular computing environment has been received. User input can be analyzed within the I / O switch system and / or within the control computing environment based on the particular implementation. According to one embodiment, a save command and / or a close command corresponding to a user computing environment identifies that user information needs to be saved to the protected data storage device and / or a computer to the protected data storage device Can be used to trigger saving of information.

ユーザ計算環境をクローズすることは、パワースイッチをターンオフすることを含んでもよい。スイッチングシステムは、電力消費の変化及び/又は停電を感知することができる。ユーザがアプリケーション及びそれに対応するユーザ計算環境をクローズした場合には、制御計算環境がその遷移を感知し、そしてそれに対応するユーザデータを保護データ記憶装置にセーブすることができる。データ記憶装置を再構成する前に、それに対応するスイッチシステムは、ユーザデータを含むデータ記憶装置への電力がディスエイブルされ及び/又はオフ状態にあることを検証できる。制御計算環境は、次いで、ユーザ情報を含むデータ記憶装置をユーザ計算環境から切断し、そしてユーザ情報を、上述したように、保護データ記憶装置へコピーすることができる。   Closing the user computing environment may include turning off the power switch. The switching system can sense changes in power consumption and / or power outages. If the user closes the application and its corresponding user computing environment, the control computing environment can sense the transition and save the corresponding user data in the protected data store. Prior to reconfiguring the data storage device, the corresponding switch system can verify that power to the data storage device containing user data is disabled and / or in an off state. The control computing environment can then disconnect the data storage device containing the user information from the user computing environment and copy the user information to the protected data storage device as described above.

本発明の一実施形態によれば、データ記憶装置は、ユーザ計算環境に結合された後に清掃することができる。制御計算環境は、ユーザ計算環境がデータソースを使用した後に1つ以上のデータ記憶装置を再フォーマット及び/又は清掃することができる。又、データ記憶装置をユーザ計算環境に結合する前に、マスターテンプレートデータ記憶装置を使用して、データ記憶装置を初期化することができる。別の実施形態によれば、制御計算環境は、1つ以上のデータ記憶装置を再フォーマット及び清掃するのをサポートするために定義された別のユーザ計算プロセスを開始することができる。   According to one embodiment of the present invention, the data storage device can be cleaned after being coupled to the user computing environment. The control computing environment can reformat and / or clean one or more data storage devices after the user computing environment has used the data source. Also, the master template data storage device can be used to initialize the data storage device prior to coupling the data storage device to the user computing environment. According to another embodiment, the control computing environment can initiate another user computing process defined to support reformatting and cleaning one or more data storage devices.

図2及び3の実施形態に対するアーキテクチャートポロジー及びシステム構造、並びに図4、図5及び図6の方法及び手順に対する初期化及び動作態様について説明したが、このような計算装置、情報機器、及び処理マシンの付加的なアーキテクチャー、構造、及び方法論的態様について以下に説明する。   Having described the architecture topology and system structure for the embodiment of FIGS. 2 and 3 and the initialization and operation aspects for the methods and procedures of FIGS. 4, 5 and 6, such computing devices, information equipment and processing Additional machine architecture, structure, and methodological aspects are described below.

図7は、特殊目的のサブシステム又は計算環境1120(例えば、1120−1及び1120−2)及び共通のコントローラ1130をコンピュータシステム1110内に備え、このコンピュータシステムが、ディスプレイ1140、キーボード1150及びマウス1160を含む多数の周辺機器1108に結合された本発明の実施形態1105を示している。   FIG. 7 includes a special purpose subsystem or computing environment 1120 (eg, 1120-1 and 1120-2) and a common controller 1130 within a computer system 1110 that includes a display 1140, a keyboard 1150, and a mouse 1160. 1A illustrates an embodiment 1105 of the present invention coupled to a number of peripheral devices 1108 including:

2つの特殊目的のサブシステムしか図示されていないが、このシステムは、単一のサブシステム又は計算環境或いは複数のこのようなサブシステムを含んでもよいし、単一の特殊目的のサブシステムを複数回能動的に使用することを含んでもよいし、或いは異なる構造及び/又は動作特性を有する複数の特殊目的サブシステムを含んでもよいことが明らかであろう。例えば、複数は、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、32、50、64、100、又はそれ以上の特殊目的の処理システム、或いはその中間の数であり、これは、この技術で良く知られたように、物理的空間、回路密度、発熱、並びに他のパッケージング及び接続設計の問題を受ける。   Although only two special purpose subsystems are shown, the system may include a single subsystem or computing environment or multiple such subsystems, or multiple single special purpose subsystems. It will be apparent that it may include active use of multiple times or may include multiple special purpose subsystems having different structures and / or operational characteristics. For example, a plurality is 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24. 32, 50, 64, 100, or more special purpose processing systems, or intermediate numbers thereof, as is well known in the art, physical space, circuit density, heat generation, and Subject to other packaging and connection design issues.

更に、少なくとも1つの実施形態では、本発明の構造及び方法は、単一即ち1つのサブシステム又は計算環境しかもたないハードウェアで実施でき、この場合には、計算環境又はサブシステムが異なるプロセスに対して順次に使用される。この単一計算環境システムの一実施形態では、個別のロジックを使用して、計算環境状態の記憶及び再記憶を実行し、これにより、計算環境を使用して、意図された処理オペレーションを遂行すると共に、第2又は制御プロセスの初期状態又は中間状態を回復する能力を維持することができる。   Furthermore, in at least one embodiment, the structure and method of the present invention can be implemented in hardware having only a single subsystem or computing environment, in which case the computing environment or subsystem is in a different process. Used sequentially. In one embodiment of this single computing environment system, separate logic is used to store and restore computing environment states, thereby using the computing environment to perform the intended processing operations. At the same time, the ability to restore the initial or intermediate state of the second or control process can be maintained.

構造及び/又は処理特性は、異なる処理能力(例えば、毎秒異なるオペレーション数、異なる量のプロセッサ関連メモリ、異なるプロセッサアーキテクチャー又は命令セット、或いは異なるオペレーティングシステム)、或いは物理的又は論理的割り当て形態の異なる量の大量記憶装置、又はハードディスクドライブ、光学記憶媒体、又はソリッドステートメモリ記憶装置を有する特殊目的サブシステムを備えることができるが、これに限定されない。   Structure and / or processing characteristics may vary in different processing capabilities (eg, different number of operations per second, different amounts of processor-related memory, different processor architectures or instruction sets, or different operating systems), or different physical or logical allocation forms A mass storage device or a special purpose subsystem having a hard disk drive, an optical storage medium, or a solid state memory storage device can be included, but is not limited to.

コントローラ1175、及びそれに関連され且つ結合されたメモリ記憶装置1176は、複数の特殊目的サブシステムの選択されたサブシステム又はその全部に両方向結合される(例えば、特殊目的サブシステム1120−1及び1120−2に結合される)。いずれかの特殊目的サブシステムへの又はそこからの両方向結合の各方向は、間欠的でもよいし、及び/又はスイッチ可能にイネーブル及びディスエイブルされてもよい。更に、コントローラ1175とメモリ記憶装置1176との間の接続は、スイッチ可能にイネーブル及びディスエイブルされてもよい。   Controller 1175 and its associated and coupled memory storage device 1176 are bi-directionally coupled to selected subsystems or all of a plurality of special purpose subsystems (eg, special purpose subsystems 1120-1 and 1120- 2). Each direction of bidirectional coupling to or from any special purpose subsystem may be intermittent and / or switchably enabled and disabled. Further, the connection between the controller 1175 and the memory storage device 1176 may be switchably enabled and disabled.

図示されたように、任意の個別論理制御装置1180を第1及び第2の特殊目的サブシステム1120間に結合することができる。共通コントローラ1130がインターフェイス1170を経て特殊目的サブシステム1120−1及び特殊目的サブシステム1120−2に結合される。本発明の実施形態では、それらが同じインターフェイスであるか個別のインターフェイスである。特殊目的サブシステム1120−1と1120−2との間に任意のインターフェイス1170が結合されてもよく、そしてこのような結合は、間欠的でもよいし、或いは必要でないとき又は希望されないときにイネーブル又はディスエイブルを受けてもよい。この実施形態において、インターフェイスは、両方向性として示されているが、単一方向性のインターフェイスが個別の使用され、独立して又はセットとしてイネーブル又はディスエイブルされてもよい。更に、明瞭化のために、単一の線が図示されているが、インターフェイスは、例えば、インターフェイス多線バスインターフェイス(これに限定されない)のような複数の接続又は通信経路として実施されてもよいことが明らかであろう。又、ディスプレイ又はディスプレイサブシステム(例えば、ビデオプロセッサカード又はチップセット、ドライバ、及びディスプレイスクリーンを含む従来のディスプレイサブシステム)は、共通コントローラ1130から電気信号の形態のデータを受信し、そして共通コントローラ1130は、次いで、特殊目的サブシステム1120−1及び/又は1120−2の一方又は両方で実行されるプロセスから且つそのプロセスの結果としてその入力を受信することが明らかであろう。ディスプレイサブシステム1140、共通コントローラ1130、及び/又は特殊目的サブシステム1120−1及び1120−2における演算及び論理回路のようなハードウェア、ソフトウェア及びファームウェア、又はその組合せは、例えば、ユーザの計算環境デスクトップ、並びに現在アクティブな及び現在インアクティブなウインドウを反映する希望のグラフィック表示を発生する。   As shown, any individual logic controller 1180 can be coupled between the first and second special purpose subsystems 1120. A common controller 1130 is coupled to the special purpose subsystem 1120-1 and the special purpose subsystem 1120-2 via an interface 1170. In embodiments of the present invention, they are the same interface or separate interfaces. An optional interface 1170 may be coupled between the special purpose subsystems 1120-1 and 1120-2, and such coupling may be intermittent or enabled or disabled when not needed or desired. You may be disabled. In this embodiment, the interfaces are shown as bi-directional, but unidirectional interfaces may be used separately and enabled or disabled independently or as a set. Further, although a single line is shown for clarity, the interface may be implemented as multiple connections or communication paths, such as, but not limited to, an interface multi-wire bus interface. It will be clear. A display or display subsystem (eg, a conventional display subsystem including a video processor card or chipset, a driver, and a display screen) also receives data in the form of electrical signals from the common controller 1130 and the common controller 1130. It will then be apparent that the input is received from and as a result of a process executing on one or both of the special purpose subsystems 1120-1 and / or 1120-2. Hardware, software and firmware, or combinations thereof, such as arithmetic and logic circuits in display subsystem 1140, common controller 1130, and / or special purpose subsystems 1120-1 and 1120-2, for example, a user computing environment desktop , And the desired graphical display reflecting the currently active and currently inactive windows.

又、キーボード1150及びマウス入力1160は、通常、電子信号、或いは音声、機械的又は触覚フィードバックの形態で何らかのフィードバックが与えられない限り、キーボード又はマウスから共通コントローラへの単一方向性である。ディスプレイスクリーン、キーボード、及びマウスデバイスのこの単一方向性は、それらが、通常、ローカル計算環境の外部からのマリシャスコンピュータ攻撃から逃れられ、そして少なくとも幾つかの例において、それらが生じたときに信頼性のある入力又はセキュア(安全)な入力として処理されることを意味する。   Also, keyboard 1150 and mouse input 1160 are typically unidirectional from the keyboard or mouse to a common controller unless some feedback is provided in the form of electronic signals or audio, mechanical or tactile feedback. This unidirectionality of display screens, keyboards, and mouse devices makes them normally escaped from malicious computer attacks from outside the local computing environment, and in at least some instances they are trusted when they occur. It is treated as a sexual input or a secure (safe) input.

図8は、図7に示して説明した実施形態と同様の本発明の別の実施形態1106を示す。この別の実施形態は、特殊目的サブシステム1120及び共通コントローラ1130をコンピュータシステム1110内に備え、このコンピュータシステムは、ディスプレイ1140、キーボード1150及びマウス1160を含む多数の周辺機器1108に結合される。図示されたように、コントローラシステムが第1及び第2の特殊目的サブシステム1120−1と1120−2との間に接続されてもよく、又、図7の実施形態と同様に、複数のこのような特殊目的サブシステムの間に結合されてもよい。この実施形態では、コントローラ1175及びそれに関連し結合されたメモリ記憶装置1176は、コントローラシステム1177として動作される特殊目的サブシステム1120−3の1つを使用して実施される。コントローラシステム1177(1120−3)は、他の特殊目的サブシステム1120の1つ、2つ以上又は全部へ、及びインターフェイス1170を経て共通コントローラ1130へ選択的に結合される。ここに例示する特殊目的サブシステムの構造、及びそれらがアプリケーション実行及び処理ユニットとして動作し、或いはコントローラシステム1170として動作するような種々のマスター制御及び/又は監視機能をとり行うように構成される仕方は、本明細書のどこかで他の図面について説明する。   FIG. 8 shows another embodiment 1106 of the present invention similar to the embodiment shown and described in FIG. This alternative embodiment includes a special purpose subsystem 1120 and a common controller 1130 within a computer system 1110 that is coupled to a number of peripherals 1108 including a display 1140, a keyboard 1150 and a mouse 1160. As shown, a controller system may be connected between the first and second special purpose subsystems 1120-1 and 1120-2, and, similar to the embodiment of FIG. May be coupled between such special purpose subsystems. In this embodiment, controller 1175 and associated memory storage device 1176 are implemented using one of special purpose subsystems 1120-3 operating as controller system 1177. The controller system 1177 (1120-3) is selectively coupled to one, two or more or all of the other special purpose subsystems 1120 and to the common controller 1130 via the interface 1170. The structure of the special purpose subsystems illustrated herein and how they are configured to perform various master control and / or monitoring functions such as operating as an application execution and processing unit or operating as a controller system 1170. Will be described with reference to other drawings elsewhere in this specification.

情報機器、コンピュータ、又はデータ処理装置に対する本発明のアーキテクチャー、システム及び方法の更に別の実施形態について以下に説明する。少なくとも1つの保護データ記憶装置を含む複数のデータ記憶装置と;少なくとも1つのソースを複数の行先に通信結合(及び分離)するための複数のスイッチングシステムであって、ソースがデータ記憶ソースであるデータ記憶装置スイッチシステムと、ソースが周辺ソースであるI/Oスイッチシステムとを含むようなスイッチングシステムと;データ記憶装置スイッチシステムとI/Oスイッチシステムとの間に結合されて、別の計算環境とは独立して処理アクティビティを遂行するための複数の計算環境(時には、シェルとも称される)であって、行先が計算環境であり、且つスイッチングシステムがソース及び行先を通信結合するような計算環境と;保護データ記憶装置に通信結合されて、処理アクティビティに基づいてスイッチコンフィギュレーションを構成するために複数の計算環境から選択された少なくとも1つの制御計算環境と;複数の計算環境から選択された少なくとも1つのユーザ計算環境であって、保護データ記憶装置において処理アクティビティが遂行されないようなユーザ計算環境と;を備えた本発明の情報機器又はコンピュータシステムの他の実施形態が説明されたことを想起されたい。   Further embodiments of the architecture, system and method of the present invention for information equipment, computers or data processing devices are described below. A plurality of data storage devices including at least one protected data storage; and a plurality of switching systems for communicatively coupling (and separating) at least one source to a plurality of destinations, wherein the source is a data storage source A switching system including a storage device switch system and an I / O switch system, the source of which is a peripheral source; coupled between the data storage device switch system and the I / O switch system, and a separate computing environment; Is a plurality of computing environments (sometimes referred to as shells) for performing processing activities independently, where the destination is the computing environment, and the switching system communicatively couples the source and destination And communicatively coupled to the protected data storage device and switch based on processing activity At least one control computing environment selected from a plurality of computing environments to constitute a configuration; at least one user computing environment selected from the plurality of computing environments, wherein processing activity is in the protected data storage device Recall that another embodiment of the information appliance or computer system of the present invention comprising a user computing environment that is not performed is described.

この情報機器及び計算システムの一実施形態では、計算環境の各々は、複数の特色から選択された少なくとも1つの特色により識別されるように更に定義され、スイッチングシステムは、ソース及び行先を特色に基づいて通信結合し、少なくとも1つの制御計算環境が、処理アクティビティ及び特色に基づいてスイッチコンフィギュレーションを構成するために複数の計算環境から選択される。   In one embodiment of this information appliance and computing system, each of the computing environments is further defined to be identified by at least one feature selected from a plurality of features, and the switching system is based on the features of the source and destination. And at least one control computing environment is selected from the plurality of computing environments to configure a switch configuration based on processing activity and characteristics.

図9の実施形態は、本発明を使用する装置及びシステムに組み込むことのできる付加的な態様及び特徴を明らかにする付加的な実施及び構造詳細を示す。このシステムアーキテクチャー及び構造との間の類似性は、図2及び図3について上述したものから明らかとなろう。   The embodiment of FIG. 9 shows additional implementation and structural details that reveal additional aspects and features that can be incorporated into devices and systems using the present invention. Similarities between this system architecture and structure will become apparent from what has been described above with respect to FIGS.

この実施形態では、5つの計算環境2108−1乃至2108−5が特に示されているが、いかなる数(M)の計算環境が静的に又は動的に設けられてもよい。これら計算環境2108−1、・・・2108−5の少なくとも幾つかは、見掛け上、若干異なる要素又は内部構造を有することが明らかとなろう。実際に、本発明のある実施形態では、計算環境の構造及びオペレーションが異なってもよく(及びおそらく著しく異なり)、一方、他の実施形態では、それらが同じでよく、更に別の実施形態では、ハードウェアが同じでよいが、異なるオペレーティングシステム又はアプリケーションプログラムを実行し、或いは何らかの他のソフトウェアコンフィギュレーションが相違する。これら計算システムの幾つかにおいて、複数の計算環境のコンフィギュレーションは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組合せに関して動的に構成される。   In this embodiment, five computing environments 2108-1 to 2108-5 are specifically shown, but any number (M) of computing environments may be provided statically or dynamically. It will be apparent that at least some of these computing environments 2108-1, ... 2108-5 have apparently slightly different elements or internal structures. Indeed, in some embodiments of the invention, the structure and operation of the computing environment may be different (and perhaps significantly different), while in other embodiments they may be the same, and in yet other embodiments, The hardware may be the same, but running different operating systems or application programs, or some other software configuration is different. In some of these computing systems, the configuration of multiple computing environments is dynamically configured with respect to hardware, firmware, software, or a combination thereof.

図9のシステム2100において、2つの計算環境2108−4及び2108−5は、見掛け上、同じ構造コンフィギュレーションを有し(それらは、異なるソフトウェア及びデータを有するが)、そして他の3つの計算環境2108−1、2108−2及び2108−3は、見掛け上、異なる構造を有する。これらの異なる計算環境の構造及びオペレーションを以下に説明し、そしてこれらの異なる構造及びオペレーションを、希望の有効な構造及びオペレーションを与えるように動的にカスタマイズできる共通構造の計算環境モジュールを使用して、どのように任意にしかも効果的に実施できるかを図10について後で示す。   In the system 2100 of FIG. 9, the two computing environments 2108-4 and 2108-5 apparently have the same structural configuration (though they have different software and data), and the other three computing environments 2108-1, 2108-2, and 2108-3 have apparently different structures. The structure and operation of these different computing environments are described below, and using these common structure computing environment modules that can be dynamically customized to provide the desired effective structure and operations. How it can be implemented arbitrarily and effectively will be shown later with respect to FIG.

ユーザインターフェイス計算環境
先ず、ユーザインターフェイス計算環境(UICE)2108−1に注目する。これは、ユーザインターフェイスオペレーションを与えるが、従来のユーザインターフェイスではなく、プロセッサ及びプロセッサ結合メモリを一般に含む中央処理ユニット(CPU)2120を備えている。又、CPUは、良く知られたように、プロセッサチップセットと一般に称される他のチップ又は回路も含むことができる。CE2108−1は、CPU2120にスイッチ可能に結合できる記憶装置2121も備えている。
User Interface Computing Environment First, focus on the User Interface Computing Environment (UICE) 2108-1. It provides user interface operations but includes a central processing unit (CPU) 2120 that typically includes a processor and processor coupled memory rather than a conventional user interface. The CPU may also include other chips or circuits commonly referred to as processor chip sets, as is well known. The CE 2108-1 also includes a storage device 2121 that can be switchably coupled to the CPU 2120.

一実施形態において、ユーザは、コンピュータシステム及び計算環境の実際の動作とは若干透過的に独立したファイル又はデータセットを操作できることに注意されたい。例えば、一実施形態では、ユーザの視点から、アイコン又はファイルネーム或いは他の説明参照を、ある位置(例えば、デスクトップ、ハードディスクドライブアイコン、又は他の位置)から別の位置へ単にドラグする。実際に、デスクトップの例では、制御計算環境又はユーザ計算環境は、デスクトップの座標に対応するエリアへ/からドラグされたアイテム(例えば、ファイル)を計算し、そしてデスクトップ環境又は他の行先にアイテムのアイコンを生成し、しかも、実際のファイルは、保護記憶装置に配置することができる。   It should be noted that in one embodiment, a user can manipulate files or data sets that are somewhat transparent to the actual operation of the computer system and computing environment. For example, in one embodiment, from the user's point of view, an icon or filename or other description reference is simply dragged from one location (eg, desktop, hard disk drive icon, or other location) to another location. In fact, in the desktop example, the control computing environment or user computing environment computes an item (eg, a file) that is dragged into / out of the area corresponding to the desktop coordinates, and the item in the desktop environment or other destination. An icon can be generated and the actual file can be placed in a protected storage device.

ここに示す実施形態では、記憶装置2121は、2つの記憶部分、即ちマスターテンプレート(本明細書のどこかに述べたマスターテンプレートの説明を参照)の全部又は選択された部分を記憶する二次テンプレート部分(STP)2122と、ユーザデータファイルを記憶するが、この環境において記憶を与える必要性がほとんどの実施形態で最小であるときには排除できる任意の一時的データ記憶部分(TDP)2123とを有するものとして示されている。この計算環境2108−1の好ましい実施形態では、この環境にアプリケーションプログラムも実際のファイルもなく、このようなプログラム又は実際のファイルに対するレファレンス、リンク又はポインタしかないことを想起されたい。(他の計算環境は、最小処理要件の結果として最小時間的記憶要件も有することに注意されたい。)計算環境2108−1は、ユーザインターフェイス計算環境(UICE)として識別され、そして人間のユーザ又はオペレータ2129とコンピュータシステム2100との間にインターフェイスを与える。   In the illustrated embodiment, the storage device 2121 is a secondary template that stores two storage portions, ie, all or a selected portion of a master template (see the description of the master template described elsewhere herein). With a portion (STP) 2122 and an optional temporary data storage portion (TDP) 2123 that stores user data files but can be eliminated when the need to provide storage in this environment is minimal in most embodiments Is shown as Recall that in the preferred embodiment of this computing environment 2108-1 there are no application programs or actual files in this environment, only references, links or pointers to such programs or actual files. (Note that other computing environments also have a minimum temporal storage requirement as a result of minimum processing requirements.) Computing environment 2108-1 is identified as a user interface computing environment (UIC) and can be a human user or An interface is provided between operator 2129 and computer system 2100.

通常、ユーザインターフェイス計算環境(UICE)2108−1は、識別された計算又はデータ処理又は制御能力を計算環境に与えるために必要なオペレーティングシステム要素及びアプリケーションプログラム(もしあれば)のみを含む二次テンプレート部分を有する。例えば、UICEが主として人間のユーザ2129から要求及びコマンドを受け取り、そしてそれらを処理して、信号を制御及びスイッチング計算環境へ送信するときには、UICEは、ワード処理、写真編集、eメール、ネットワーク又はインターネットブラウジング、或いは他の共通又は非共通のアプリケーションプログラムをその記憶された二次テンプレート2122に有する必要はない。又、それは、他の計算環境とは異なるオペレーティングシステムを有してもよいし、或いはその責任をサポートするためのオペレーティングシステムのコード、コード部分、ライブラリー又は他の特徴しか含まないオペレーティングシステムを有してもよい。又、オペレーティングシステム要素及びアプリケーションプログラム又はアプリケーションプログラム要素しか与えないというこの同じ原理が、他の計算環境二次テンプレートにも適用され、又、好ましい解決策とは考えられないが、あらゆる状況において、マスターテンプレートの完全なコピー又は最低限必要な以上のオペレーティングシステム及びアプリケーションプログラムが設けられてもよい。   Typically, a user interface computing environment (UICE) 2108-1 is a secondary template that contains only the operating system elements and application programs (if any) necessary to provide the computing environment with the identified computing or data processing or control capabilities. Has a part. For example, when UICE primarily receives requests and commands from human user 2129 and processes them to send signals to the control and switching computing environment, UICE may use word processing, photo editing, email, network or Internet. There is no need to have browsing or other common or non-common application programs in the stored secondary template 2122. It may also have an operating system that is different from other computing environments, or has an operating system that contains only operating system code, code parts, libraries or other features to support its responsibilities. May be. This same principle of providing only operating system elements and application programs or application program elements also applies to other computing environment secondary templates and is not considered a preferred solution, but in all situations the master A complete copy of the template or more than the minimum required operating system and application programs may be provided.

イメージ処理オペレーションを遂行するために発生され又は構成される計算環境の実施形態のような他の実施形態では、STP2122は、マイクロソフトウインドウズ2000オペレーティングシステムコード及びアドビフォトショップアプリケーションソフトウェアを記憶することができ、そしてTDP2123は、1つ以上の入力デジタルイメージファイル、イメージを処理する間にアドビフォトショップアプリケーションソフトウェアの実行中に生成された中間ファイル、及び発生された出力ファイルを記憶することができる。又、TDP2123は、他のユーザ又は時間的システムデータ、例えば、以前の編集、又はクリップボードにコピーされたデータをアンドゥするためのファイルを記憶することもできる。   In other embodiments, such as embodiments of computing environments generated or configured to perform image processing operations, the STP 2122 can store Microsoft Windows 2000 operating system code and Adobe Photoshop application software; The TDP 2123 can then store one or more input digital image files, intermediate files generated during execution of Adobe Photoshop application software while processing the images, and output files generated. The TDP 2123 may also store files for undoing other user or temporal system data, eg, previous edits or data copied to the clipboard.

実際の実施において、STP及びTDPは、同じ物理的記憶装置、例えば、ソリッドステートメモリ、磁気ディスクドライブ、又は他の記憶媒体の一部分でもよく、或いは異なる物理的装置、又は異なる形式の装置でもよい。更に、ここに述べる動的なスイッチング構成方法の幾つかを使用して、STP及び/又はTDPは、各々、複数の同様の又は異なるデータ記憶形式、例えば、ハードディスクドライブ記憶装置及びソリッドステートRAM、ROM、EEPROM、等の組合せで構成されてもよい。   In actual implementation, the STP and TDP may be part of the same physical storage device, eg, solid state memory, magnetic disk drive, or other storage medium, or may be different physical devices, or different types of devices. Further, using some of the dynamic switching configuration methods described herein, STP and / or TDP can each be a plurality of similar or different data storage formats, such as hard disk drive storage and solid state RAM, ROM. , EEPROM, or the like.

記憶装置2121は、CPU2120に選択的に且つスイッチ可能に結合できる。図9の実施形態では、個別の第1スイッチ2124及び第2スイッチ2125は、CPU2120をSTP2122及びTDP2123に接続したり切断したりするように示されている。スイッチのための簡単なアイコンが示されているが、ここでの説明に鑑み、スイッチは、通常はそうでないが、接続したり切断したりする単純なワイヤでよく、より一般的には、インターフェイスバス、及びそのインターフェイスバスにおける信号のための信号コンディショニング回路のような1組の導体であることが明らかであろう。CPUを記憶装置に接続するためのスイッチングは、CPUと記憶装置との間の通信をイネーブルする手段により達成することができ、そしてCPUを記憶装置から切断するためのスイッチングは、本明細書のどこかに述べるように、CPUと記憶装置との間の通信をディスエイブルする手段により達成できる。他の構造及び手順と協働してコンピュータシステム2100の完全性を保護するためのこれらSTP−CPU及びTDP−CPUスイッチ224、225(又はより一般的な記憶装置2221対CPUスイッチ(個別に示さず))の動作は、システム2100の他の要素を詳細に説明した後に説明する。   Storage device 2121 can be selectively and switchably coupled to CPU 2120. In the embodiment of FIG. 9, separate first switch 2124 and second switch 2125 are shown connecting and disconnecting CPU 2120 to and from STP 2122 and TDP 2123. Although a simple icon for a switch is shown, in view of the description herein, a switch may be a simple wire that is usually not connected, but connected and disconnected, and more generally an interface It will be apparent that a set of conductors such as a signal conditioning circuit for signals on the bus and its interface bus. Switching to connect the CPU to the storage device can be accomplished by means of enabling communication between the CPU and the storage device, and switching to disconnect the CPU from the storage device is described elsewhere herein. As described above, this can be achieved by means for disabling communication between the CPU and the storage device. These STP-CPU and TDP-CPU switches 224, 225 (or more general storage 2221 vs. CPU switches (not shown separately) to protect the integrity of the computer system 2100 in cooperation with other structures and procedures. The operation of)) will be described after the other elements of the system 2100 are described in detail.

周辺装置、入力装置、出力装置等の1つ又は組合せを結合及び分離(又はイネーブル及びディスエイブル)するために周辺スイッチ2157が設けられる。例えば、キーボード、マウス、ネットワークインターフェイス又はNIC、マイクロホン、スピーカ、ヘッドセット、フロッピーディスクドライブ(FDD)、ハードディスクドライブ(HDD)、PCカード、メモリカード、CD、DVD、シリアル又はパラレルインターフェイス装置、GPS装置、USB装置、スキャナ、生物測定読取装置、ワイヤレスインターフェイス、又は他の周辺装置を特定の計算環境に割り当てることができる。スイッチ25157は、デスクトップ及びユーザインターフェイス計算環境(UICE)2108−1の一部分として示されているが、これは、CSCE又は他の制御計算環境により制御される個別のスタンドアローンスイッチ又はスイッチサブシステムと考え且つそのように実施されてもよい。別の実施形態では、これは、必要に応じて及び許可ベースで周辺機器を他の計算環境に直接結合するように制御される。他の実施形態では、計算環境からのビデオ出力をスイッチし、及び/又は周辺機器又は入力/出力スイッチングシステムを経て処理することができる。又、本書のどこかで述べるように、これらの周辺機器スイッチング及び接続能力を、記憶装置のための他のスイッチングシステム2150と結合し、そしてCSCE2108−2により制御することもできる。又、コンピュータ環境2108−1は、そのときの計算環境の特定機能及びオペレーションにとって必要でないか又はアクチベートされない付加的な要素を含んでもよい。このような付加的な要素は、例えば、ROM、RAM、ASIC、及び/又は付加的な回路及びロジック素子を含んでもよい。   A peripheral switch 2157 is provided to couple and disconnect (or enable and disable) one or a combination of peripheral devices, input devices, output devices, etc. For example, keyboard, mouse, network interface or NIC, microphone, speaker, headset, floppy disk drive (FDD), hard disk drive (HDD), PC card, memory card, CD, DVD, serial or parallel interface device, GPS device, USB devices, scanners, biometric readers, wireless interfaces, or other peripheral devices can be assigned to a particular computing environment. Although switch 25157 is shown as part of a desktop and user interface computing environment (UICE) 2108-1, it is considered a separate stand-alone switch or switch subsystem controlled by a CSCE or other control computing environment. And it may be implemented as such. In another embodiment, this is controlled to couple peripherals directly to other computing environments as needed and on a permission basis. In other embodiments, video output from the computing environment can be switched and / or processed via peripherals or input / output switching systems. These peripheral switching and connection capabilities can also be combined with other switching systems 2150 for storage devices and controlled by the CSCE 2108-2 as described elsewhere in this document. The computer environment 2108-1 may also include additional elements that are not necessary or activated for the particular functions and operations of the current computing environment. Such additional elements may include, for example, ROM, RAM, ASIC, and / or additional circuitry and logic elements.

保護記憶及び読み取り/書き込み制御計算環境
保護記憶コンピュータ環境(PSCE)2108−3は、オリジナル又は一次マスターテンプレートPMT2148をマスターテンプレート保護記憶装置2142に記憶すると共に、一次ユーザデータ2149をユーザデータ保護記憶装置2143に記憶するように構成される。一実施形態において、保護記憶コンピュータ環境(PSCE)2108−3により遂行される機能及びオペレーションは、制御及びスイッチング計算環境2108−2により遂行される機能及びオペレーションと合成することができ、そしてその逆も可能である。
Protected Storage and Read / Write Control Computing Environment Protected Storage Computer Environment (PSCE) 2108-3 stores original or primary master template PMT 2148 in master template protected storage 2142 and primary user data 2149 in user data protection storage 2143. Configured to memorize. In one embodiment, functions and operations performed by protected storage computing environment (PSCE) 2108-3 can be combined with functions and operations performed by control and switching computing environment 2108-2, and vice versa. Is possible.

マスターテンプレートは、種々の形態又はコンテンツをとり、そして例えば、コンピュータシステムの理想的な状態又はコンピュータシステムの要素を表わすデータ(コマンド、命令、データエレメント、等)のコピーでよい。マスターテンプレートは、例えば、動作するコンピュータシステム又はコンピュータシステムの要素からデータをコピーすることにより生成されるか、又は他の方法で生成される。コンピュータシステムは、マスターテンプレートを生成する前に理想的な状態にあってもよい。コンピュータシステムの理想的な状態は、コンピュータシステムにアクセスできるデータにより表わすことができる。異なる二次テンプレートを異なる計算環境に使用すべき場合には、異なるマスターテンプレート部分又は単一のマスターテンプレートの部分を他の計算環境2108に別々に通信することができる。データは、この状況においては、オペレーティングシステム(例えば、Linux、Unix(登録商標)、Windows98、Windows2000、並びにこれらオペレーティングシステムに対する改善及び拡張)、アプリケーション(例えば、WordPerfect、Microsoft Office)、ユーザデータ(例えば、オペレーティングシステムの好み、バックグランドイメージ、生成したドキュメント)、及びコンポーネントデータ(例えば、BIOS、PRAM、EPROM)を含むことができる。ある実施形態では、それに加えて又はそれとは別に、データは、ローカル及びリモートデータ記憶装置を含むコンピュータシステムにアクセスし得る情報、及び他のデータベースにおけるデータを含む。但し、本発明の保護手段及び手順が、これら他のデータエレメントの分離を維持することが観察される場合に限る。一例として、あるコンピュータシステムのマスターテンプレートは、そのコンピュータシステムにインストールされた全ての情報、例えば、Microsoft Windows98又は2000オペレーティングシステム、WordPerfectアプリケーション、Microsoft Wordアプリケーション、及びユーザにより生成されたドキュメントを含むことができる。この情報は、ここに述べるように、コンピュータシステムにアクセスできる1つ又は多数の記憶要素にわたってインストールされてもよい。更に、マスターテンプレートは、BIOS設定のコピー又は理想的状態バージョンを含むこともできるし、或いは特定の計算環境に適応された多数のBIOSを与えることもできる。   The master template takes various forms or contents and may be, for example, a copy of data (commands, instructions, data elements, etc.) representing the ideal state of the computer system or elements of the computer system. The master template may be generated, for example, by copying data from an operating computer system or computer system element, or otherwise generated. The computer system may be in an ideal state before generating the master template. The ideal state of a computer system can be represented by data accessible to the computer system. If different secondary templates are to be used for different computing environments, different master template portions or portions of a single master template can be communicated separately to other computing environments 2108. Data in this situation is operating system (e.g., Linux, Unix (R), Windows 98, Windows 2000, and improvements and extensions to these operating systems), applications (e.g., WordPerfect, Microsoft Office), user data (e.g., Operating system preferences, background images, generated documents), and component data (eg, BIOS, PRAM, EPROM). In certain embodiments, in addition or alternatively, the data includes information that can access computer systems, including local and remote data storage devices, and data in other databases. However, only when the protection measures and procedures of the present invention are observed to maintain the separation of these other data elements. As an example, a master template for a computer system can include all information installed on that computer system, such as the Microsoft Windows 98 or 2000 operating system, WordPerfect application, Microsoft Word application, and user-generated documents. . This information may be installed across one or many storage elements accessible to the computer system, as described herein. In addition, the master template can include a copy or ideal state version of the BIOS settings, or it can provide multiple BIOSes adapted to a particular computing environment.

ある実施形態では、マスターテンプレートは、新規に購入されるコンピュータシステムのスナップショットを表わしてもよい。このようなシステムは、通常、オペレーティングシステム及び種々のアプリケーションが予めインストールされた理想的な状態にあり、従って、ユーザがコンピュータシステムの使用を開始するのを許す。特定のユーザにとって、マスターテンプレートは、例えば、オペレーティングシステム、アプリケーション及びユーザカスタマイゼーションを含むコンピュータシステムの理想的な状態を表わしてもよい。例えば、ユーザカスタマイゼーションは、デスクトップのバックグラウンドとして、ユーザのペットのピクチャーのような、ピクチャー又は「.jpg」イメージの以前のユーザ選択を含んでもよい。   In some embodiments, the master template may represent a snapshot of a newly purchased computer system. Such systems are typically in an ideal state with an operating system and various applications pre-installed, thus allowing the user to begin using the computer system. For a particular user, a master template may represent an ideal state of a computer system including, for example, an operating system, applications, and user customization. For example, user customization may include a previous user selection of a picture or “.jpg” image, such as a user's pet picture, as a desktop background.

任意であるが、マスターテンプレートは、第1のコンピュータシステムから生成することができ、その後、異なるコンピュータシステムに対してマスターテンプレートとして使用することができる。第1のコンピュータシステムは、製造者のコンピュータシステムでよい。従って、第1のコンピュータの理想的な状態は、第2のコンピュータシステム又は多数のコンピュータシステムへ移送される。ある実施形態では、マスターテンプレートが1つの計算環境において生成され、次いで、適当な安全装置と共に移動されて、マスターテンプレートとして保管される。本発明の実施形態は、マスターテンプレートのエレメントの更新、パッチ、再インストール及び交換を効果的にサポートし、これらオペレーションを実質的に同じ又は同じユーザ対話で及び実質的に同じ又は同じ動作結果で遂行できるようにする。或いは又、マスターテンプレートは、選択的コピーのプロセスにより生成されてもよい。例えば、使用中の特定のOSに基づいて、プログラムが、登録装置に質問し、どんなエントリーが特定のプログラム又はアプリケーションに関連しているか決定し、次いで、その特定のプログラム又はアプリケーションに関連したファイル及びエントリーのみをマスターテンプレートに選択的にコピーするよう選択することができる。   Optionally, the master template can be generated from the first computer system and then used as a master template for a different computer system. The first computer system may be a manufacturer's computer system. Thus, the ideal state of the first computer is transferred to a second computer system or multiple computer systems. In one embodiment, a master template is generated in one computing environment and then moved with an appropriate safety device and stored as a master template. Embodiments of the present invention effectively support the updating, patching, reinstallation and replacement of elements of the master template and perform these operations with substantially the same or the same user interaction and with substantially the same or the same operational results. It can be so. Alternatively, the master template may be generated by a selective copy process. For example, based on the particular OS in use, the program queries the registration device to determine what entries are associated with a particular program or application, and then the files and files associated with that particular program or application You can choose to selectively copy only entries to the master template.

図9の保護記憶装置及び読み取り/書き込み計算環境のここに示す実施形態では、マスターテンプレート保護記憶装置2142又はユーザデータ保護記憶装置2143に記憶された2進情報の実行を許すプロセッサへの接続はない。この分離は、CPUのような処理能力を物理的に与えないことにより、或いは保護記憶装置からこのようなCPUをディスエイブル即ち切断することにより、達成することができる。このディスエイブル即ち切断は、本明細書のどこかに説明するスイッチを使用することにより達成されてもよいし、又はコンピュータプログラムコード命令であるかデータであるかに関わらず、保護記憶装置における2進データを防止するための他の既知の手段により達成されてもよい。   In the illustrated embodiment of the protected storage device and read / write computing environment of FIG. 9, there is no connection to a processor that allows execution of binary information stored in the master template protected storage device 2142 or the user data protection storage device 2143. . This separation can be achieved by not physically providing processing power, such as a CPU, or by disabling such a CPU from a protected storage device. This disabling may be accomplished by using a switch described elsewhere in this specification, or whether it is a computer program code instruction or data. It may be achieved by other known means for preventing binary data.

この実施形態では、マスターテンプレート保護記憶装置2142又はユーザデータ保護記憶装置2143に記憶された2進データに対して許される唯一の処理オペレーションは、読み取りオペレーションであり、そしてある場合には(本書のどこかで述べる)、書き込みオペレーションである。これらは、便宜上、コピーオペレーションと称することができる。   In this embodiment, the only processing operation allowed for binary data stored in the master template protected storage device 2142 or the user data protected storage device 2143 is a read operation, and in some cases (wherever in this document) Write operations). These can be referred to as copy operations for convenience.

本発明のアーキテクチャー、システム、方法、手順、及びコンピュータプログラム製品は、コンピュータ、計算装置、情報機器、PDA、セルラー電話、及び他のプロセッサ合体装置を、悪意をもって又は偶発的に導入又は露呈されたものであるかどうかに関わらず、ハッカー、ウイルス、サイバーテロから保護すると共に、スパイソフトウェア、キーストロークレコーダーのような潜在的なダメージ又は侵入、並びにハッカー、ウイルス、ワーム、トロイの木馬、同様の脅威及び弱点によるダメージから保護する。   The architecture, system, method, procedure, and computer program product of the present invention have been maliciously or accidentally introduced or exposed to computers, computing devices, information equipment, PDAs, cellular phones, and other processor coalescing devices. Protects against hackers, viruses and cyber terrorism, whether or not they are, as well as potential damage or intrusion such as spy software, keystroke recorders, and hackers, viruses, worms, Trojan horses, and similar threats And protect against damage from weaknesses.

一実施形態において、マスターテンプレート保護記憶装置2142は、他の計算環境へ通信できる1セット以上のコンピュータプログラムコード命令であって、その計算環境の指定オペレーションに対する動作能力を与えるに充分なコンピュータプログラムコード命令を記憶する。ある実施形態では、ユーザにより又は遂行されるべきシステム自体により要求され得るオペレーションを許す1セットのコンピュータプログラムコードがあり、そして各計算環境は、以下に述べるように、一度に、この完全なマスターテンプレートのコピーを受け取る。他の実施形態では、マスターテンプレート保護記憶装置2142は、多数の異なるセットを記憶し、そして特定の計算環境に要求されるオペレーションを与えるセットのみがそこに送られる。その結果、一般に、コピーオペレーションがより小さく且つより速くなると共に、個々の及び全体的な記憶要求がより低いものとなる。消去が要求される場合には、より小さなテンプレートサイズに対して付加的な時間節約が実現される。異なる二次テンプレートを、必要に応じて、保管し又は作成できるが、二次テンプレートを、コピー準備ができた形態で保管すると、低いセキュリティリスク及び高い動作速度が露呈される。   In one embodiment, the master template protected storage device 2142 is one or more sets of computer program code instructions that can communicate to other computing environments, and sufficient computer program code instructions to provide operational capabilities for specified operations of the computing environment. Remember. In one embodiment, there is a set of computer program code that allows operations that may be required by the user or by the system itself to be performed, and each computing environment is responsible for this complete master template at a time, as described below. Receive a copy of In other embodiments, the master template protected storage device 2142 stores many different sets and only those sets that provide the operations required for a particular computing environment are sent there. As a result, copy operations are generally smaller and faster, with lower individual and overall storage requirements. If erasure is required, additional time savings are realized for smaller template sizes. Different secondary templates can be stored or created as needed, but storing the secondary templates in a copy ready form exposes low security risks and high operating speeds.

一実施形態では、ユーザデータ保護記憶装置2143は、保護ユーザデータ2149と称されるユーザデータ又はファイルのオリジナルバージョン(又はコピー)を記憶する。例えば、このようなユーザデータは、eメール、任意の形式のeメールアタッチメント、ワード処理ドキュメント、TIFFイメージファイル、JPEGイメージファイル、MP3ファイル、コンピュータプログラム、オペレーティングシステム又はオペレーティングシステムファイルの記憶バージョン、コンピュータプログラムアプリケーションプログラムの記憶バージョン、装置ドライバ、及び他の形式のコンピュータデータ、ファイル、或いは「0」及び/又は「1」ビットの集合のようなデータ又はファイルのセットを含んでもよいし、或いはそれから選択されてもよい。おもしろいことに、ユーザデータ保護記憶装置は、知りながら又は知らずに、コンピュータウイルスを記憶し、或いはコンピュータウイルス、コンピュータロボット又はボット、スパイウェア、或いは他のマリシャスコンピュータプログラムコードを含むファイルを記憶することすらある。このようなウイルス、ボット、スパイウェア、又は他のマリシャスコンピュータプログラムコードが保護記憶装置2142、2143に単独で存在し及び記憶されても、脅威は生じず、又、それが記憶装置に存在することで、有害さも生じない。一実施形態では、プロセッサは、保護記憶装置に記憶されたデータ又はコンピュータプログラムに対してアクセスが要求されないときに保護記憶装置から分離されるが、他の実施形態では、プロセッサが、保護記憶装置のデータ又はコンピュータプログラムファイルを実行できるように構成されず、保護記憶装置にも、プロセッサにも、保護記憶装置計算環境2108−3にもダメージを生じることがないので、プロセッサを保護記憶装置に結合したままとすることができる。ある実施形態では、保護記憶装置と、保護記憶装置計算環境2108−3内のプロセッサとの間に連続的な通信経路を維持する判断は、その保護記憶装置計算環境にサポートされる機能又はオペレーションのセットに基づいて行われる。これらの同じ事柄が、保護記憶装置計算環境を、他の計算環境、例えば、ユーザインターフェイス計算環境並びに制御及びスイッチング計算環境と合成する(が、ユーザデータ分離計算環境とは合成しない)本発明の実施形態にも適用できる。   In one embodiment, the user data protection storage device 2143 stores an original version (or copy) of user data or files referred to as protected user data 2149. For example, such user data can be email, any form of email attachment, word processing document, TIFF image file, JPEG image file, MP3 file, computer program, operating system or storage version of an operating system file, computer program It may include or be selected from a stored version of an application program, a device driver, and other types of computer data, files, or a set of data or files such as a collection of “0” and / or “1” bits. May be. Interestingly, user data protection storage may store computer viruses, with or without knowledge, or even files containing computer viruses, computer robots or bots, spyware, or other malicious computer program code. . If such a virus, bot, spyware, or other malicious computer program code is present and stored alone in the protected storage device 1422, 2143, no threat is posed and it is present in the storage device. No harm is caused. In one embodiment, the processor is separated from the protected storage device when access to the data or computer program stored in the protected storage device is not required, while in other embodiments the processor is stored in the protected storage device. The processor is coupled to the protected storage device because it is not configured to execute data or computer program files and does not cause damage to the protected storage device, the processor, or the protected storage device computing environment 2108-3. Can be left. In one embodiment, the decision to maintain a continuous communication path between a protected storage device and a processor in the protected storage device computing environment 2108-3 is the function or operation supported by the protected storage device computing environment. This is done based on the set. These same things combine the protected storage computing environment with other computing environments, eg, the user interface computing environment and the control and switching computing environment (but not the user data separation computing environment). Applicable to form.

示唆されるように、一実施形態では、保護記憶装置計算環境2108−3は、マスターテンプレート又はユーザデータの初期ロード又は再ロード、コンパイル、ウイルス走査又は検出、テスト、或いは他の特殊なオペレーションのために、スイッチ2144、2145を経て保護記憶装置へ結合するようにスイッチングできるCPU2140のような分離又はディスエイブルされたプロセッサを備えてもよい。CPUと保護記憶装置との接続をイネーブルすることは、通常、ウイルス又は他のマリシャスコンピュータプログラムコードが存在して実行された場合に保護記憶装置内の他のデータが崩壊するのを防止するための予防策がとられた場合にのみ許される。保護記憶装置との間に「ダムコピー」オペレーションしかサポートされない実施形態では、CPU又は他のプロセッサは、保護記憶装置と結合又は接続されたままでよい。ダムコピーとは、汚染又は感染を生じることのあるコンピュータプログラムコードへコピーされるべきファイルをオープンも露出もしないコピーである。ダムコピーは、ビットごと、バイトごと、又は他のコピーでもよいし、或いは、例えば、固定ハードウェアロジック回路又はASICにより実施されるか、又は予防手段がソフトウェア又はファームウェアの使用により取られるか、又はハードウェア及びソフトウェア/ファームウェアの組合せの使用により取られるようなビット複写オペレーションでもよい。   As suggested, in one embodiment, the protected storage computing environment 2108-3 is for initial loading or reloading of master templates or user data, compilation, virus scanning or detection, testing, or other special operations. In addition, a separate or disabled processor, such as a CPU 2140, that can be switched to couple to a protected storage device via switches 2144, 2145 may be provided. Enabling the connection between the CPU and the protected storage device is usually to prevent other data in the protected storage device from being corrupted if a virus or other malicious computer program code is present and executed. Only allowed if precautions are taken. In embodiments where only “dumb copy” operations are supported between protected storage devices, the CPU or other processor may remain coupled or connected to the protected storage device. A dumb copy is a copy that does not open or expose a file to be copied to computer program code that may cause contamination or infection. The dumb copy may be bit-by-bit, byte-by-byte, or other copies, or may be implemented, for example, by a fixed hardware logic circuit or ASIC, or preventive measures may be taken through the use of software or firmware, or It may be a bit copy operation, such as taken by using hardware and software / firmware combinations.

保護記憶装置計算環境2108−3は、複数のスイッチ2250、例えば、コピー・フロム(copy from)MTPSイネーブルスイッチ2251、コピー・フロムUDPSイネーブルスイッチ2252、及びライト・ツー(write to)UDPS2253を経て、他方の計算環境2208−1、2208−2、2208−4及び2208−5(或いはM個の計算環境のいずれか)と結合することができる。   The protected storage computing environment 2108-3 is passed through a plurality of switches 2250, eg, a copy from MTPS enable switch 2251, a copy from UDPS enable switch 2252, and a write to UDPS 2253, and the other Can be combined with any of the computing environments 2208-1, 2208-2, 2208-4, and 2208-5 (or any of the M computing environments).

一実施形態では、MTPSイネーブルスイッチ(SW1)2251からのコマンドは、計算環境の二次テンプレート部分、例えば、計算環境2108−1のSTP2122へアクセス(又はアクセス拒絶)されそして読み取り又はコピーされるべき適当なマスターテンプレート部分をイネーブル(又はディスエイブル)する。コピー・フロムUDPSイネーブルスイッチ(SW2)2252は、計算環境のユーザデータ記憶装置部分、例えば、計算環境2108−1のTDP2123へアクセス(又はアクセス拒絶)されそして読み取り又はコピーされるべき適当なユーザデータ又はファイルをイネーブル(又はディスエイブル)する。通常、オペレーションを実行するのに必要な1つのファイル又はファイルのセットのみがコピーされるのであって、保護記憶装置2143におけるユーザデータの全セットではない。他の実施形態は、全ユーザデータセットをコピーできるが、これは、非効率的であり、通常、メンテナンス、診断、及び/又は修理オペレーション中の幾つかの場合を除いて、明らかに有益な目的を果たすものではない。   In one embodiment, a command from the MTPS enable switch (SW1) 2251 is accessed (or denied access) to a secondary template portion of the computing environment, eg, STP 2122 of computing environment 2108-1, and is appropriate to be read or copied. Enable (or disable) the correct master template portion. The copy-from-UDPS enable switch (SW2) 2252 accesses (or denies access) the user data storage portion of the computing environment, eg, the TDP 2123 of the computing environment 2108-1, and the appropriate user data to be read or copied Enable (or disable) the file. Usually, only one file or set of files required to perform the operation is copied, not the entire set of user data in the protected storage device 2143. Other embodiments can copy the entire user data set, but this is inefficient and clearly has a beneficial purpose except in some cases during maintenance, diagnostics, and / or repair operations. It does not fulfill.

ライト・ツーUDPS(SW3)2253は、生成又は変更されて計算環境2108−3のUDPS2143へ書き戻される他の計算環境の1つからアクセス(又はアクセス拒絶)されそして読み取り又はコピーされるべき適当なユーザデータ又はファイルをイネーブル(又はディスエイブル)する。ある実施形態では、単一のスイッチが、ユーザデータ保護記憶装置2143から読み取りそしてそこへ書き込む両方向性能力を与え、従って、1つのスイッチ(又はスイッチのセット)しか要求されない。MTPS2142からコピーされて送られた二次テンプレートは、通常、変更されないので、通常、それをMTPS2142へ書き戻す必要はないことが明らかである。それ故、MTPSからSTPへのコピーは、単一方向性である。個別の両方向性ハンドシェーク及び制御信号又はレベルを、コピー要求、コピー準備完了、コピー完了、データ受信、等の事象に対するシグナリングプロトコルとして使用することができる。パリティ又は他のエラー検出及びエラー修正は、良く知られたように実施することができ、転送がエラーなしに行われたことを検証するための本発明の態様及び特徴と一貫しているが、これは、任意である。   Write-to-UDPS (SW3) 2253 is accessed (or denied access) from one of the other computing environments that are created or modified and written back to UDPS 2143 of computing environment 2108-3 and is appropriate to be read or copied Enable (or disable) user data or files. In some embodiments, a single switch provides a bidirectional capability to read from and write to user data protection storage device 2143, and thus only one switch (or set of switches) is required. It is clear that secondary templates copied and sent from MTPS 2142 are usually not modified, so it usually does not need to be written back to MTPS 2142. Therefore, copying from MTPS to STP is unidirectional. Separate bidirectional handshakes and control signals or levels can be used as signaling protocols for events such as copy requests, copy ready, copy complete, data received, etc. Parity or other error detection and error correction can be performed as is well known and consistent with aspects and features of the present invention for verifying that the transfer was done without errors, This is optional.

一実施形態において、マスターテンプレート(又はシステムに使用できる他のテンプレート)の変更は、(i)ユーザ分離計算環境の1つにそれをコピーするか又はロードし、(ii)この技術で良く知られた必要なオペレーティングシステム、アプリケーションプログラム、コンパイラー、デバッグ、リンク、又は他のプログラム手順を使用してそれを更新し、そして(iii)それをコピーして戻して、新たなマスターテンプレートとして保護記憶装置にセーブすることを含む。マスターテンプレートのコピー及びセーブされたバージョンは、オリジナルに置き換わってもよいし、又は新たなファイル又は更新されたバージョンとしてセーブされてもよい。   In one embodiment, changes to the master template (or other templates that can be used in the system) are (i) copied or loaded into one of the user-separated computing environments, and Update it using the required operating system, application program, compiler, debug, link, or other program procedure, and (iii) copy it back to the protected storage as a new master template Includes saving. A copy and saved version of the master template may be replaced with the original or saved as a new file or an updated version.

これらのスイッチ又はスイッチのセットは、計算環境2108−3の要素又は要素のセット、計算環境2108−3の外部の個別の要素又は要素のセット、或いはそれらの組合せでよい。一実施形態では、スイッチは、ハードウェアロジック回路で設けられ、別の実施形態では、非常に限定されたセット処理能力を有するマイクロコントローラにより実施され、従って、精巧な多要素及び多信号スイッチング機構を実施できるが、マリシャスコードが実行されることはない。更に別の実施形態では、スイッチングが特定用途向け集積回路(ASIC)として実施される。スイッチングは、二次テンプレート部分(STP)としてインストールされた非常に限定された命令セットを有するマイクロプロセッサの制御のもとで実行され、従って、それがマリシャスコードを実行し又はその実行を許すことはできない。   These switches or sets of switches may be elements or sets of elements of computing environment 2108-3, individual elements or sets of elements external to computing environment 2108-3, or combinations thereof. In one embodiment, the switch is provided with hardware logic circuitry, and in another embodiment is implemented by a microcontroller with very limited set processing capabilities, thus enabling sophisticated multi-element and multi-signal switching mechanisms. Yes, but no malicious code is executed. In yet another embodiment, the switching is implemented as an application specific integrated circuit (ASIC). Switching is performed under the control of a microprocessor with a very limited instruction set installed as a secondary template part (STP), so that it will execute or allow execution of malicious code. Can not.

本書のどこかで説明するように、保護記憶装置は、任意の形式又は形式の組み合せの記憶装置又はメモリ上又はその中で実施することもできる。一実施形態において、外部及びポータブル保護記憶装置に対する構成がなされ、例えば、ユーザがクレジットカードサイズの記憶装置(例えば、フラッシュメモリカード、USBメモリ装置、ソニーMemoryStick、PCカードベースのメモリ、又は他の形式の記憶装置)にそれらの保護記憶装置を有して、そのサポートコンピュータ又は装置の1つにそれを差し込むことができる。一実施形態では、アーキテクチャー、システム及び方法は、任意の隠れたそして保護されたバックアップ記憶システムを提供する。   As described elsewhere in this document, a protected storage device may be implemented on or in any type or combination of storage devices or memories. In one embodiment, configured for external and portable protected storage devices, for example, a user can use a credit card size storage device (e.g., flash memory card, USB memory device, Sony Memory Stick, PC card based memory, or other format). Storage device) with their protective storage device and plug it into one of its supporting computers or devices. In one embodiment, the architecture, system and method provide an optional hidden and protected backup storage system.

制御及びスイッチング計算環境
次に、システム2100の他の計算環境のオペレーションを制御及び整合する役割を果たす(ユーザインターフェイス計算環境2108−1からの貢献で)制御及びスイッチング計算環境(CSCE)2108−2について説明する。若干簡単に言えば、スイッチがソースを行先に接続する。システム2100のある実施形態では、データ記憶装置スイッチシステムの特色がサポートされ、このような特色は、選択されたソースと行先との間の通信経路の構成を更にサポートすることができる。少なくともある実施形態において、CSCE又は他の制御計算環境は、任意の周辺機器を任意の計算環境へスイッチして結合する能力を有することに注意されたい。
Control and Switching Computing Environment Next, the Control and Switching Computing Environment (CSCE) 2108-2 is responsible for controlling and coordinating the operation of other computing environments of the system 2100 (with contributions from the user interface computing environment 2108-1). explain. In short, a switch connects a source to a destination. In some embodiments of the system 2100, features of the data storage device switch system are supported, and such features can further support the configuration of the communication path between the selected source and destination. Note that in at least some embodiments, the CSCE or other control computing environment has the ability to switch and couple any peripheral to any computing environment.

計算環境2108−2は、ユーザインターフェイス計算環境(UICE)2108−1から入力を受け取り、そして保護記憶装置計算環境(PSCE)2108−3のスイッチ2250(例えば、スイッチセットSW1 2251、SW2 2252、及びSW3 2253)を動作すると共に、他の各計算環境2108と対話して、スイッチを作動し、計算環境のプロセッサ(例えば、CPU)と記憶装置(例えば、STP及びTDP)との間の接続又は通信を結合又は分離(イネーブル又はディスエイブル)する。スイッチ制御は、例えば、電気的接続及び信号又は電圧レベル、或いは電気的信号又はレベルのセットにより若干直接的であってもよいし、制御及びスイッチング計算環境2108−2から信号を受信する計算環境内のプロセッサ、CPU、ASIC、又は他の回路又はロジック素子により間接的であってもよいし、或いはこれら直接的及び間接的アーキテクチャー及び方法の組合せでもよい。   The computing environment 2108-2 receives input from the user interface computing environment (UICE) 2108-1 and switches 2250 (eg, switch sets SW1 2251, SW2 2252, and SW3) of the protected storage computing environment (PSCE) 2108-3. 2253) and interact with each other computing environment 2108 to actuate the switch and establish a connection or communication between the computing environment's processor (eg, CPU) and storage (eg, STP and TDP). Combine or decouple (enable or disable). Switch control may be somewhat straightforward, for example, by electrical connections and signal or voltage levels, or a set of electrical signals or levels, or within a computing environment that receives signals from the control and switching computing environment 2108-2. May be indirect by any other processor, CPU, ASIC, or other circuit or logic element, or a combination of these direct and indirect architectures and methods.

制御及びスイッチング計算環境2108−2の実施形態に示すように、これは、システムスイッチングコントローラユニット2138を備え、該ユニットは、利用可能なコンピュータリソースを含む計算システム2100の現在状態及びコンフィギュレーションを考慮に入れて、ユーザ入力及びコマンド又はシステムアクティビティ及び事象に応答してUICE2108−1からコマンドを受け取る。ある実施形態では、スケジューリング及び要素優先順位決め並びに利用裁定もこのシステムスイッチコントローラ2138により与えられる。スイッチコンフィギュレーション及び状態、並びに他の情報及びデータは、スイッチコンフィギュレーション情報記憶装置2139に記憶することができ、この記憶装置は、1つ以上のバス、インターフェイス、又は通信回路を経て、システムスイッチコントローラ2138に作動的に結合される。   As shown in the embodiment of the control and switching computing environment 2108-2, this comprises a system switching controller unit 2138, which takes into account the current state and configuration of the computing system 2100 including available computer resources. And receive commands from UICE 2108-1 in response to user input and commands or system activities and events. In some embodiments, scheduling and element prioritization and usage arbitration are also provided by the system switch controller 2138. The switch configuration and status, as well as other information and data, can be stored in the switch configuration information storage 2139, which can be routed through one or more buses, interfaces, or communication circuits to the system switch controller. 2138 is operably coupled.

この実施形態では、CSCE2108−2は、1つの、そしてより一般的には、1セットの信号2180をUICE2108−1から受信する。これらの信号は、一般に、ユーザ要求入力をUICE2108−1へ通信して、その要求を実行するようコンピュータシステム2100の他の要素を構成できるに充分なものである。例えば、ユーザは、起動を予想するUICEデスクトップのMicrosoft Wordアイコン、又はMicrosoft Wordワード処理プログラムのインスタンスをマウスクリックすることができる。UICE2108−1は、外部の人間のユーザ2129に、UICE2108−1及びその要素(例えば、CPU2120及び記憶装置2121)が、Windows2000オペレーティングシステム、Microsoft Word2000、及びユーザが編集を希望するドキュメントをインストールしたことを提示するよう構成されるが、実際には、それらをもたなくてもよく、そして他のコンピュータシステム要素の中でも、オペレーティングシステム、アプリケーションプログラム、及びユーザデータファイルに対するポインタ、リンク、エイリアス又は他のレファレンスを単に与えるだけでよい。   In this embodiment, the CSCE 2108-2 receives one, and more generally, a set of signals 2180 from the UICE 2108-1. These signals are generally sufficient to communicate the user request input to UICE 2108-1 and configure other elements of computer system 2100 to perform the request. For example, the user can mouse click on a Microsoft Word icon on the UICE desktop that is expected to launch or an instance of a Microsoft Word word processing program. UICE 2108-1 indicates that UICE 2108-1 and its elements (eg, CPU 2120 and storage device 2121) have installed a Windows 2000 operating system, Microsoft Word 2000, and a document that the user wishes to edit to an external human user 2129. Configured to present, but in practice may not have them, and pointers, links, aliases or other references to operating systems, application programs, and user data files, among other computer system elements Just give it.

特に、Microsoftオペレーティングシステム、及びMicrosoft Wordアプリケーションプログラムは、MT2148として存在し、そしてPSCE2108−3の保護記憶装置MTPS2142内に記憶される。ユーザのワード処理ドキュメントは、もし存在して、新たに生成されない場合には、保護記憶装置UDPS2149に記憶されてそこから検索することができる。   In particular, the Microsoft operating system and the Microsoft Word application program exist as MT2148 and are stored in the protected storage device MTPS2142 of PSCE2108-3. If the user's word processing document exists and is not newly created, it is stored in the protected storage device UDPS 2149 and can be retrieved therefrom.

システム「ブレーン(brain)」とも称される制御及びスイッチング計算環境(CSCE)の構造及びオペレーション特性の幾つかを説明したが、CSCEのある特定の実施形態に関与する幾つかの機能及びオペレーションの部分リストを示す。これら機能の全部をCSCE(又は以下に述べる実施形態ではCCE)により実行する必要があるのではない。特定の機能及びオペレーションは、コンピュータシステム全体、CSCE(又はCCE)、及び他の計算環境の実施に依存することが明らかであろう。   Having described some of the structure and operational characteristics of the control and switching computing environment (CSCE), also referred to as the system “brain”, some of the functions and operations involved in certain embodiments of CSCE A list is shown. Not all of these functions need to be performed by CSCE (or CCE in the embodiments described below). It will be apparent that the specific functions and operations depend on the implementation of the entire computer system, the CSCE (or CCE), and other computing environments.

本発明のある実施形態では、CSCEは、スタートアップ(又はリセット)時にそれ自身のオペレーティングシステム(OS)をロードし、そのロード後に、システムの残り部分によりイネーブル又はサポートされるオペレーション又は機能(の幾つか又は全部)が編成される。本発明のアーキテクチャー、システム及び方法は、オペレーティングシステム中立であり、既知のオペレーティングシステムのいずれを本発明に使用してもよく、又、使用するように適応してもよい。異なるオペレーティングシステムをシステムの異なる計算環境に使用して、希望があれば、コンピュータシステムが異なるオペレーティングシステム及びそのオペレーティングシステムに適したアプリケーションプログラムの組を動作できるようにしてもよい。本発明のある実施形態では、例えば、ユーザ分離計算環境が特定の処理機能又はオペレーションを遂行するように指定されたときに、コンピュータシステムハードウェアがオペレーティングシステム及び意図されたオペレーションをサポートできる限り、オペレーティングシステムがロードされたと動的に決定されてもよい。   In some embodiments of the invention, the CSCE loads its own operating system (OS) at startup (or reset) and, after that load, some of the operations or functions enabled or supported by the rest of the system. Or all) are organized. The architecture, system and method of the present invention are operating system neutral, and any known operating system may be used in the present invention and may be adapted for use. Different operating systems may be used for the different computing environments of the system to allow the computer system to run different operating systems and sets of application programs suitable for the operating systems, if desired. In some embodiments of the present invention, for example, when a user segregated computing environment is designated to perform a particular processing function or operation, as long as the computer system hardware can support the operating system and the intended operation, the operating system It may be determined dynamically that the system has been loaded.

本発明のある実施形態は、異なる計算環境に対して異なるオペレーティングシステムを使用し、そしてこのようなオペレーティングシステムは、システムのニーズ、ユーザ選択された処理タスク、データの性質、又は他のファクタに基づいて、タスク又は時間の関数として予め決定されてもよいし又は動的に決定されてもよい。例えば、既知の又は発表されているMicrosoft Windowsオペレーティングシステム(例えば、Windows98、WindowsNT、Windows2000、WindowsXP、並びにその改良、改善及び拡張)、Linux、Unix、Appleオペレーティングシステム、種々のディスクオペレーティングシステム(DOS)、或いは他の特殊な又は所有権のあるオペレーティングシステム又は制御プログラムを、それらが意図されたオペレーション及びそのオペレーションに対する装置をサポートする限り、種々の計算環境に使用することができる。   Certain embodiments of the present invention use different operating systems for different computing environments, and such operating systems are based on system needs, user-selected processing tasks, data properties, or other factors. Thus, it may be predetermined as a function of task or time, or may be determined dynamically. For example, known or announced Microsoft Windows operating systems (eg, Windows 98, Windows NT, Windows 2000, Windows XP, and improvements, improvements and extensions thereof), Linux, Unix, Apple operating systems, various disk operating systems (DOS), Alternatively, other special or proprietary operating systems or control programs can be used in various computing environments as long as they support the intended operation and the device for that operation.

本発明の、必ずしも全部ではないが幾つかの実施形態では、CSCEオペレーティングシステム又はアプリケーションプログラム(又はこれら2つの組合せ)は、例示のための部分的なリストに過ぎない以下の機能(の幾つか又は全部)を制御し又は編成するという役割を果たすことができる。即ち、(i)データ記憶装置(DSD)接続スイッチングを行い;(ii)コマンドの受信及び/又は指令されたオペレーションの完了を任意に検証しながらコンピュータプログラムアプリケーション(又は適用できるときにはハードワイヤードオペレーション)を起動するためのコマンドを計算環境に送信し;(iii)クリック可能なウインドウ及び/又はカーソルの座標を追跡し;(iv)ウイルス又は他のマリシャスコードの修理及び検出、清掃、及び/又は駆除を実行し;(v)テンプレート及び/又はマスターテンプレートのスイッチング、再フォーマット、消去、コピー、ここに述べるようなリセット、再ブート、及び他のオペレーションを実行しそして制御し;(vi)「分離されたグローバルなタスクバー」又はそれと同等のユーザアクセス可能なユーザ対話ツールを発生しそして表示する(或いは又、このタスクバー又はツールをデスクトップ及びインターフェイス計算環境により発生してもよい)。又、これら及び他の実施形態は、任意であるが、次の1つ以上を行うこともできる。即ち、(vii)「オープン」ダイアログスクリーンを設け;(viii)「セーブ」ダイアログスクリーンを設け;(ix)ネットワーク通信のスイッチングを行い(例えば、「netlock」オペレーションの説明を参照されたい);(x)通信環境からセキュア信号を受信し;(xi)通信環境が生成された順序、及び/又は現在通信環境の順序又は優先順位を追跡し;(xii)異なる計算環境への及びそれらの中でのマウス及びキーボードのスイッチングを行い;(xiii)異なる計算環境への及びそれらの中での他の入力/出力又は周辺装置のスイッチングを行い、(xiv)eメールアクセス及び処理を整合させ;及び/又はこれら機能の他の組合せを実行する。   In some, but not necessarily all, embodiments of the present invention, the CSCE operating system or application program (or a combination of the two) is only a partial list for purposes of illustration (some or All) can be controlled or organized. (Ii) perform data storage device (DSD) connection switching; (ii) execute computer program applications (or hardwired operations when applicable) while optionally verifying command reception and / or completion of commanded operations; Send commands to the computing environment to activate; (iii) track clickable windows and / or cursor coordinates; (iv) repair and detect, clean, and / or remove viruses or other malicious code (V) perform and control template and / or master template switching, reformatting, erasing, copying, resetting, rebooting, and other operations as described herein; (vi) “isolated” A global taskbar or equivalent user account Generating a Seth possible user interaction tool and displayed (alternatively, may be generated by desktop and interface computing environment this task bar or tool). Also, these and other embodiments are optional, but one or more of the following may also be performed. (Vii) provide an “open” dialog screen; (viii) provide a “save” dialog screen; (ix) perform network communication switching (see, for example, the description of the “netlock” operation); (x ) Receive secure signals from the communication environment; (xi) track the order in which the communication environment was created and / or the order or priority of the current communication environment; (xii) to and within different computing environments Switch mouse and keyboard; (xiii) switch other inputs / outputs or peripherals to and within different computing environments; (xiv) coordinate email access and processing; and / or Perform other combinations of these functions.

一実施形態において、CSCEは、種々の計算環境における処理アクティビティ(CSCE自体における処理アクティビティを含む)に関連したビデオ信号を制御し、整合し、及び/又は処理するという役割も果たすことができ、或いはこの目的のために個別の計算環境又はビデオ処理ユニット又はロジック回路又は他の手段を使用することができる。個別のビデオプロセッサ又はコントローラが使用されるときには、CSCEは、一般に、他のシステム要素とのそのオペレーションを整合しそして編成するという役割を果たし得るが、ある実施形態では、ビデオプロセッサ又はコントローラがシステムのCSCE又は他の制御に参加してもよい。   In one embodiment, the CSCE may also serve to control, align, and / or process video signals associated with processing activity in various computing environments (including processing activity in the CSCE itself), or A separate computing environment or video processing unit or logic circuit or other means can be used for this purpose. When a separate video processor or controller is used, the CSCE may generally serve to coordinate and organize its operations with other system elements, but in certain embodiments, the video processor or controller may be responsible for the system. Participate in CSCE or other controls.

ここでの説明に鑑み、ユーザ計算環境(潜在的に汚染されたファイルがオープンされて実行されることがある)が制御計算環境から分離されるが、既知のクリーンなデータ又はコンピュータプログラムに対して個別の計算環境として動作するユーザインターフェイス、制御及びスイッチング、保護記憶装置、ビデオプロセッサ、並びに他のオペレーション及び機能の説明は、若干人為的であり、主として例示のためのものであることが明らかであろう。本発明の実施形態は、種々の非ユーザデータ制御又は処理環境、並びにこれら制御機能が合成される実施形態の分離を与えることに注意されたい。幾つかの組み合せを一例として詳細に説明するが、異なる制御又は管理機能及びオペレーションの他の組合せも本発明の他の原理と一貫してサポートされることを理解されたい。   In view of the description herein, the user computing environment (potentially tainted files may be opened and executed) is separated from the control computing environment, but for known clean data or computer programs It is clear that the description of the user interface, control and switching, protected storage, video processor, and other operations and functions that operate as a separate computing environment is somewhat artificial and primarily for illustration purposes. Let's go. Note that embodiments of the present invention provide a separation of various non-user data control or processing environments, as well as embodiments in which these control functions are combined. Although some combinations are described in detail by way of example, it should be understood that other combinations of different control or management functions and operations are consistently supported with other principles of the present invention.

又、異なる計算又は処理環境、或いは特定の又は1組の処理又は計算環境内の異なる時間に対して、異なるレベル又は程度の分離が要求され又は許されることも明らかであろう。例えば、ウイルス又はハッカーコードが、このようなコードを実行し得るプロセッサ及びコードに露出されることのある計算環境において、未知のファイル又はデータセットをオープンして処理すべき状況では、そのファイル又はデータセットと「外界」との観の分離が絶対的なもので、ユーザ分離された計算環境内に含まれる。この絶対的分離は、特定のユーザ計算環境及び他のユーザ計算環境と、制御環境との間である。   It will also be apparent that different levels or degrees of separation are required or allowed for different computing or processing environments, or for different times within a particular or set of processing or computing environments. For example, in situations where a virus or hacker code should open and process an unknown file or data set in a computing environment that may be exposed to a processor and code capable of executing such code, the file or data The separation of the view from the set and the “outside world” is absolute and is contained within a user-separated computing environment. This absolute separation is between the specific user computing environment and other user computing environments and the control environment.

他の状況においては、分離の程度又はレベルは、コンピュータ又はユーザにとって全く有害でないか或いは許可された程度の有害さしか許容できないように、制限されてもよい。これは、一種のユーザ又は管理者のオーバーライドを表わすもので、システムのより寛大な使用を許す幾つかのポリシー及びルールを設定することができる。例えば、コンピュータシステムが、現在のウイルス防止ソフトウェア、ファイアウオール、及び会社の情報テクノロジー(IT)部門により設けられる他の保護を伴うイントラネットの社内計算環境の中で通常に使用される場合には、フィルタ作用が既に設けられているので、eメールの特殊な処理をディスエイブルすることが許されてもよい。他の実施形態は、ネットワーク又は計算環境が一般的に信頼し得るときには全ての分離をオーバーライドすることができる。この寛大なオーバーライドは、全ての実施形態において参照されないが、本発明のアーキテクチャー、システム及び方法により与えられる融通性を示す。それ故、異なるレベル又は程度の分離を与えることができ、本発明は、ある程度の非分離もオーバーライドも許されないアーキテクチャー、システム、方法又は手順に限定されるものではないと解釈されるべきであることが明らかであろう。   In other situations, the degree or level of isolation may be limited so that it is not harmful at all to the computer or user, or can only tolerate the permitted degree of harm. This represents a type of user or administrator override, and several policies and rules can be set that allow a more generous use of the system. For example, if the computer system is normally used in an intranet in-house computing environment with current protection software, firewalls, and other protections provided by the company's Information Technology (IT) department, filtering Is already provided, it may be allowed to disable special processing of emails. Other embodiments can override all isolation when the network or computing environment is generally reliable. This generous override is not referenced in all embodiments, but demonstrates the flexibility afforded by the architecture, system and method of the present invention. Therefore, different levels or degrees of isolation can be provided and the present invention should not be construed as limited to architectures, systems, methods or procedures that do not allow any degree of non-isolation or override. It will be clear.

異なる計算環境からのビデオ(デジタル又はアナログ)の処理に対して遂行されるオペレーションは、例えば、モニタ又はディスプレイ装置に表示するために多数の計算環境からの出力(例えば、信号2187−1、・・・2187−5、・・・2187−N)を合体し、さもなければ、合成し、又はフォーマットすることを含むが、これに限定されない。種々の初期又はデフォールト条件のいずれも実施できるが、一実施形態では、ブーティングの際のデフォールト設定は、計算環境のビデオ信号をディスエイブル即ちターンオフすることである。というのは、いずれの非割り当て計算環境でも、何らかのシステム又はユーザ開始アクティビティが指令されるまで、アクティビティがあってはならないからである。或いは又、CSCE(又は他のエンティティ)がビデオ信号をターンオン/オフ又はイネーブル/ディスエイブルしてもよい。   Operations performed on processing video (digital or analog) from different computing environments may be output from a number of computing environments (eg, signals 2187-1,...) For display on a monitor or display device, for example. 2187-5, ... 2187-N), including, but not limited to, combining or otherwise formatting. While any of a variety of initial or default conditions can be implemented, in one embodiment, the default setting during booting is to disable or turn off the video signal of the computing environment. This is because in any unassigned computing environment, there must be no activity until some system or user initiated activity is commanded. Alternatively, the CSCE (or other entity) may turn on / off or enable / disable the video signal.

ある実施形態では、計算環境からのビデオ出力の「処理」は、例えば、単一のモニタに「積層(layering)」作用を与えるように達成される。例えば、最も最近のアクティブな計算環境は、常に、「最上位」(又は「前部」)層へ移動することができ、さもなければ、所定のルール又はポリシーに基づいて処理される。CSCEは、それ自身がこのプロセスに対して直接責任を負うものでない場合には、このプロセスを制御し及び編成することに貢献してもよい。例えば、CSCEは、どの「層」を「前部」に置くか、及び種々の計算環境からのビデオ出力をいかに合体するかを決定する上で助けとなるようにビデオコントローラに1つ以上のコマンドを送信することができる。CSCEがこの情報を有する理由は、それが、層、アクティブな計算環境、非割り当て又はインアクティブな計算環境、ウインドウの位置、マウスクリックを決定するような他の目的に対するマウス又はポインティング装置のカーソル座標及び位置並びに切り換えに関する情報のデータベースを維持するからである。   In some embodiments, “processing” the video output from the computing environment is accomplished, for example, to provide a “layering” effect on a single monitor. For example, the most recent active computing environment can always move to the “top” (or “front”) layer, otherwise it is processed based on predetermined rules or policies. The CSCE may contribute to controlling and organizing the process if it is not directly responsible for the process. For example, the CSCE uses one or more commands to the video controller to help determine which “layers” should be “front” and how to merge video output from various computing environments. Can be sent. The reason why CSCE has this information is that it is the cursor coordinates of the mouse or pointing device for other purposes such as determining layer, active computing environment, unassigned or inactive computing environment, window position, mouse click And maintain a database of information regarding position and switching.

ビデオグラフィックカード又はビデオサブシステムが信号を連続的に送信する(「黒」又は空のスクリーンに対しても)実施形態のようなある実施形態では、ビデオ信号をビデオコントローラにおいてターン「オン/オフ」又は「イネーブル/ディスエイブル」することができる。或いは又、CSCE又はビデオコントローラは、計算環境が非割り当て又はインアクティブであるときにその特定の計算環境からのこの信号を「無視」するように単に指令される。換言すれば、計算環境のビデオカード(個別のカード又はチップであるか、プロセッサ又は他のロジック回路に一体化されるかに関わらず)は、任意であるが、ビデオ信号を常に「ポンピングアウト」することができ、或いはCSCE又は他のビデオコントローラは、アクティブな処理環境をとなったときにそのようなビデオ信号を出力させることしかできない。これは、有利にも、電力消費及び発熱を減少し、そしてシステム及びその要素の寿命を延長するという効果を奏する。又、CSCEは、計算環境からのどんなビデオ入力を処理すべきか、又、各ビデオ入力に対してどんな情報を使用すべきか、及びどんな情報を無視してもよいか知らせるための信号をビデオコントローラ又はプロセッサ(存在するとき)へ送出することができる。例えば、各計算環境に対するデスクトップの部分は、それが二重のものであるか又は計算環境における実際のアクティビティを表わしていないときには、抑制されてもよい。   In certain embodiments, such as those in which the video graphics card or video subsystem continuously transmits signals (even for “black” or empty screens), the video signal is turned “on / off” in the video controller. Or it can be “enabled / disabled”. Alternatively, the CSCE or video controller is simply instructed to “ignore” this signal from that particular computing environment when the computing environment is unassigned or inactive. In other words, the video card of the computing environment (whether it is a separate card or chip or integrated into a processor or other logic circuit) is optional, but always “pumps out” the video signal. Or a CSCE or other video controller can only output such a video signal when it enters an active processing environment. This advantageously has the effect of reducing power consumption and heat generation and extending the life of the system and its components. The CSCE also sends signals to the video controller or to inform what video input from the computing environment should be processed, what information should be used for each video input, and what information can be ignored. Can be sent to the processor (when present). For example, the portion of the desktop for each computing environment may be suppressed when it is duplicated or does not represent actual activity in the computing environment.

分離された処理ユニット計算環境
又、システム2100は、1つ又は複数の他の非割り当ての分離された処理ユニット(IPU)計算環境(IPUCE)又はシェル、例えば、CE2108−4及びCE2108−5も備え、これは、図9の実施形態では、CPU(2160、2170)と、STP(2162、2172)及びTDP(2163、2173)を含む記憶装置(2161、2171)と、インターフェイス(2169、2179)と、記憶装置とCPUとの間を結合又は分離(通信をイネーブル又はディスエイブル)するためのスイッチ(2164、2165、2174、2175)と、を各々備えている。
Isolated processing unit computing environment The system 2100 also includes one or more other unassigned isolated processing unit (IPU) computing environments (IPUCE) or shells, eg, CE2108-4 and CE2108-5. In the embodiment of FIG. 9, the CPU (2160, 2170), the storage devices (2161, 2171) including the STP (2162, 2172) and the TDP (2163, 2173), and the interfaces (2169, 2179) And switches (2164, 2165, 2174, 2175) for coupling or separating (enabling or disabling communication) between the storage device and the CPU.

オペレーティングシステム、アプリケーションプログラム、ユーザデータファイルのこの組合せと、CSCE2108−2の制御のもとでUICE2108−1を経てそれらオペレーティングシステム、アプリケーションプログラム及びユーザデータファイルをサポートし且つ相互作用する計算ハードウェアは、ユーザデータを伴う選択されたMicrosoft Wordプログラムの保護及び分離された処理を可能にする。   Computing hardware that supports and interacts with this combination of operating system, application program, user data file and UICE 2108-1 under control of CSCE 2108-2 Allows protection and separate processing of selected Microsoft Word programs with user data.

動作上、UICEは、必要なデータを含むコマンドを、信号2180を経て、CSCE2108−2へ送信する。CSCEは、システム2100のリソースの現在の指定、及びシステムコンフィギュレーションに対する他のルール又はポリシーを考慮して、これらの信号を受信し、適当な計算環境、例えば、計算環境2108−4を選択する。本発明の他の実施形態は、コンピュータの製造時に物理的に接続されなくても、且つコンピュータシステム2100のハードウェア内に隣接配置されなくても、コンピュータ要素としてアッセンブルすることのできる個別要素(例えば、CPU及び記憶装置)の動的な割り当てを与える。   In operation, the UICE sends a command containing the necessary data to the CSCE 2108-2 via the signal 2180. The CSCE receives these signals in view of the current designation of the resources of the system 2100 and other rules or policies for the system configuration and selects an appropriate computing environment, eg, computing environment 2108-4. Other embodiments of the invention may be implemented as individual elements (e.g., those that may be assembled as computer elements, even though they are not physically connected at the time of manufacture of the computer and are not located adjacent to the hardware of computer system 2100). , CPU and storage).

計算環境2108−4が、CSCE2108−2により選択され、より詳細には、システムスイッチコントローラ(SSC)2138内のルールポリシー又はアルゴリズムにより選択されると、SSCは、1つ以上の信号2186−4をCE2108−4に送信して、識別されたユーザドキュメントファイルと共に、Microsoft Windows2000オペレーティングシステムのもとでMicrosoft Word処理プログラムを遂行するためにそれが割り当てられたことを通信する。CE2108−4は、任意であるが、あるハンドシェーク又は他の通信プロトコル、即ち単一の論理電圧レベルと同程度の単純な通信プロトコルのもとで、通信を受け取ったことを確認する。それ故、信号2186−4(1つ又は複数)は、単一方向性でも、両方向性でもよい。又、SSC2138は、1つ以上のスイッチ制御信号2181をスイッチ2250へ通信する。例えば、スイッチ制御信号2181−1、2181−2及び2181−3は、希望の記憶装置アクセスを許すように1つ以上のスイッチSW1、SW2及びSW3を構成する。これらの同じスイッチは、任意であるが、SSCからの通信を効果的に確認し、そしてスイッチが意図された協働に対して適切なコンフィギュレーション(例えば、オープン又はクローズ、或いはイネーブル/ディスエイブル)にあることを指示するために状態を返送することができる。同様に、スイッチ2250は、データ形式送信準備完了通信を、記憶装置2161のSTP2162及び/又はTDP2162のようなターゲット行先へ送信することができ、これらは、任意であるが、データ形式受信準備完了状態信号をスイッチ2250へ望ましい仕方で指示することができる。   When the computing environment 2108-4 is selected by the CSCE 2108-2, and more specifically selected by a rule policy or algorithm in the system switch controller (SSC) 2138, the SSC receives one or more signals 2186-4. Sent to CE 2108-4 to communicate with the identified user document file that it has been assigned to perform the Microsoft Word processing program under the Microsoft Windows 2000 operating system. CE 2108-4 optionally confirms that it has received communication under some handshake or other communication protocol, i.e., a simple communication protocol comparable to a single logic voltage level. Thus, signal 2186-4 (s) may be unidirectional or bidirectional. The SSC 2138 also communicates one or more switch control signals 2181 to the switch 2250. For example, switch control signals 2181-1, 2181-2, and 2181-3 configure one or more switches SW1, SW2, and SW3 to allow the desired storage device access. These same switches are optional, but effectively validate the communication from the SSC and are configured appropriately for the intended cooperation (eg open or closed, or enabled / disabled). Status can be returned to indicate that Similarly, the switch 2250 can send a data format transmission ready communication to a target destination such as STP 2162 and / or TDP 2162 of the storage device 2161, which are optional but ready for data format reception. Signals can be directed to switch 2250 in any desired manner.

より詳細には、このワード処理の例において、SW1 2251は、Microsoft Windows2000オペレーティングシステム及び少なくともMicrosoft Wordアプリケーションプログラムを含むマスターテンプレートの全部又は選択された部分の通信を可能にする。或いは又、ある実施形態では、オペレーティングシステム及びアプリケーションプログラムが個別のソースから別々に与えられてもよいことに注意されたい。更に別の実施形態では、オペレーティングシステムを計算環境内に設けて、そのたびに通信する必要がないようにするか、STP2162に記憶して、そのたびに通信する必要がないようにするか、或いは結合されたROM内に設けるか、又は他の仕方で設けてもよい。しかしながら、STPが使用後にクリアされない場合には、STPにマリシャスコードが書き込まれた場合に汚染の可能性が生じるが、読み取り専用メモリ即ちROMから検索される場合には問題とならないことに注意されたい。   More particularly, in this example of word processing, SW1 2251 enables communication of all or selected portions of a master template including the Microsoft Windows 2000 operating system and at least the Microsoft Word application program. Alternatively, it should be noted that in some embodiments, the operating system and application programs may be provided separately from separate sources. In yet another embodiment, an operating system may be provided in the computing environment so that it does not need to communicate each time, stored in STP 2162 so that it does not need to communicate each time, or It may be provided in a combined ROM or otherwise provided. However, it should be noted that if the STP is not cleared after use, there is a potential for contamination when a malicious code is written to the STP, but this is not a problem when retrieved from read-only memory or ROM. .

パラレル(設けられた通信経路が多数のアクセス経路をサポートするのに充分である場合)又はシリアル(通信経路2187が多数のアクセス経路をサポートするのに充分でない場合)のいずれかで、SW1 2251は、MTPS2142をSTP2162に接続するように構成され、その際に、STP2162は、要求されたコンピュータプログラムコードを受け取る。同様に、SW2 2252は、UDPS2143からの識別されたユーザドキュメントファイルをTDP2163にコピーできるような通信経路を与えるように構成される。コピーオペレーション中にアクセスできるハードウェア/ファームウェア/ソフトウェアは、マリシャスコードの実行を許すに充分なものでないことを想起されたい。例えば、ソースから行先へビットをコピーするように適応されるハードウェアのみのコピー回路は、ウイルス、ハッカー又は他のマリシャスコードにより崩壊されることがなく、ソースからビットを捕え(又は読み取り)そしてビットを行先へ複写(又は書き込み)するだけであるようにされる。ソースと行先との間のバッファは、フィルタ又はリミッタのように、任意に使用されてもよい。又、コピーオペレーションに対して、ソフトウェア及び/又はプログラム可能なハードウェアを使用してもよいが、このようなコピー手段の能力は、システム又は計算環境の免疫性を妥協させる意図されない変更の汚染から効果的に保護される。望ましくは、コピーオペレーションは、他の解釈を伴わない2進ビット又はビットのセットのコピーのみであるが、本発明は、この条件により制限される必要はなく、他の保護手段を使用して、マリシャスコードの考えられる実行を防止できるのが望ましい。   SW1 2251 is either parallel (if the provided communication path is sufficient to support multiple access paths) or serial (if communication path 2187 is not sufficient to support multiple access paths). , Configured to connect the MTPS 2142 to the STP 2162, where the STP 2162 receives the requested computer program code. Similarly, SW2 2252 is configured to provide a communication path through which identified user document files from UDPS 2143 can be copied to TDP 2163. Recall that the hardware / firmware / software that can be accessed during the copy operation is not sufficient to allow the execution of malicious code. For example, a hardware-only copy circuit that is adapted to copy bits from source to destination can capture (or read) and bit from source without being corrupted by a virus, hacker or other malicious code Is only copied (or written) to the destination. A buffer between the source and destination may optionally be used, such as a filter or limiter. Software and / or programmable hardware may also be used for the copy operation, but the ability of such a copy means is from unintended changes that compromise the immunity of the system or computing environment. Effectively protected. Preferably, the copy operation is only a copy of a binary bit or set of bits without any other interpretation, but the present invention need not be limited by this condition, using other protection measures, It would be desirable to be able to prevent possible execution of malicious code.

一実施形態において、データをコピーするプロセスは、「ダム」であり、即ちコピーされるデータを実行できないように制限され、従って、そのデータ記憶装置のデータがマリシャスコードによりダメージを受けることはない。例えば、データを移動又はコピーするために、それをエンコードすることができ、或いは限定された機能をもつASICを使用するか、或いは直接メモリ転送、又はデータを移動又はコピーする他の方法を使用することができ、これは、ビットシーケンスの幾つかの実行可能なコードを含むデータの実行を許さないものである。任意であるが、分離されたワーキングシステム(1つ又は複数)及び分離され又は保護された記憶システム(1つ又は複数)にアドレスできるか又はそこへアクセスできる制御システムによりコピー動作を編成することもできる。   In one embodiment, the process of copying data is "dumb", i.e., restricted so that the copied data cannot be executed, so that the data storage device data is not damaged by the malicious code. For example, to move or copy data, it can be encoded, or use an ASIC with limited functionality, or use a direct memory transfer, or other method of moving or copying data This is one that does not allow execution of data containing some executable code of the bit sequence. Optionally, the copy operation may be organized by a control system that can address or access the isolated working system (s) and the isolated or protected storage system (s). it can.

記憶システムにおいてオープンすべきファイルを選択すると、記憶システム又はソース(UDPSのような)からワーキングコンピュータ環境(IPUCE2108−4のSTP2166のような)へファイルをコピーするプロセスを開始することができ、スイッチ2250を経てのUDPS2143との接続を終了した後に、データ又はファイルをオープンし、CPU2160への露出を許すことができる。ワーキング計算環境にファイルをセーブすると、記憶システムへファイルをコピーするプロセスを開始することができる。ワーキング計算環境においてファイルを断念すると、新たな又は更新されたファイル或いはデータセットを行先記憶システム(例えば、UDPS2143)へコピーするか又は書き込み、そしてソース記憶システム(例えば、TDP2161)において削除する(望ましくは物理的に消去する)プロセスを開始することができる。「コピー(copy)」又は「複数のコピー(copies)」又は「コピーする(copying)」という用語は、広い意味で使用することができ、アルゴリズム、スナップショット、圧縮データ、ビットごと、暗号化、エンコード等を含むが、それらに限定されない。   Selecting a file to open in the storage system can initiate the process of copying the file from the storage system or source (such as UDPS) to a working computing environment (such as STP2166 in IPUCE2108-4) and switch 2250 After the connection with the UDPS 2143 via the network is completed, the data or file can be opened to allow exposure to the CPU 2160. Saving the file to the working computing environment can begin the process of copying the file to the storage system. If the file is abandoned in the working computing environment, a new or updated file or data set is copied or written to the destination storage system (eg, UDPS 2143) and deleted in the source storage system (eg, TDP 2161) (preferably (Physically erased) process can be started. The terms “copy” or “copies” or “copying” can be used in a broad sense: algorithm, snapshot, compressed data, bit by bit, encryption, Including, but not limited to, encoding.

又、分離された計算環境は、分離された計算環境(又はICE内のある要素)のステータス即ち状態を識別するフラグ又は他の情報又は指示子2191を制御及びスイッチング計算環境2108−2へ送信し、さもなければ、通信することができる。このようなステータス又は状態は、オペレーション準備完了状態、処理完了状態、ファイルコピー又はセーブ準備完了状態、リセット状態、及び/又は制御環境が必要とするか又は使用できる他のデータ又は情報、の1つ又はその組合せを含んでもよい。   The isolated computing environment also sends a flag or other information or indicator 2191 identifying the status of the isolated computing environment (or some element in the ICE) to the control and switching computing environment 2108-2. , Otherwise you can communicate. Such a status or state is one of an operation ready state, a process complete state, a file copy or save ready state, a reset state, and / or other data or information that the control environment requires or can use. Or a combination thereof may be included.

又、分離された計算環境は、異なる計算環境ウインドウを単一のディスプレイ装置(このような単一のディスプレイが望まれる場合)に合成又は合体するために、制御環境2108−2及び/又はデスクトップ及びユーザインターフェイス計算環境2108−1により(又はCSCEで制御される個別のビデオグラフィックプロセッサ又はビデオディスプレイユニットにより)使用するためのウインドウx−y座標、及び任意であるが、ウインドウ寸法2192を送信するか、さもなければ、通信することができる。又、通信ライン又はリンク2191、2192は、単一ライン又はリンクにわたって共有されてもよい。更に、本明細書のどこかに述べた種々の特色を、通信ライン又はリンクを経て通信することができる。   A separate computing environment may also be used to combine or merge different computing environment windows into a single display device (if such a single display is desired) and control environment 2108-2 and / or desktop and Window xy coordinates for use by the user interface computing environment 2108-1 (or by a separate video graphics processor or video display unit controlled by the CSCE), and optionally the window size 2192, or Otherwise, they can communicate. Also, communication lines or links 2191, 2192 may be shared across a single line or link. In addition, various features described elsewhere in this specification can be communicated via a communication line or link.

これら及び他の通信経路、通信リンク、又は信号ラインは、情報、データ、2進ビット等の形式、シーケンス、数又は量を制限して、1つの計算環境と別の計算環境との間の感染のおそれを更に減少するために、本明細書のどこかで述べたフィルタ又はリミッタを取り付けることができる。これらのフィルタ及びリミッタは、本発明の他の実施形態について詳細に説明する。   These and other communication paths, communication links, or signal lines limit information, data, binary bits, etc. format, sequence, number or quantity, and infect between one computing environment and another. To further reduce this risk, a filter or limiter as described elsewhere in this specification can be installed. These filters and limiters will be described in detail with respect to other embodiments of the present invention.

オペレーティングシステム、アプリケーションプログラム及びユーザデータの適当な組合せがCE2108−4に存在すると、ワード処理オペレーションを開始することができる。ファイルは、ワード処理プログラムを出るまでTDP2163内にセーブすることもできるし、又は適当に構成されたスイッチSW3 2253を経てUDPS2143への書き込みオペレーションと共に中間セーブを使用することによりセーブすることもできる。   If the proper combination of operating system, application program and user data is present in CE 2108-4, the word processing operation can begin. The file can be saved in TDP 2163 until it exits the word processing program, or it can be saved by using an intermediate save with a write operation to UDPS 2143 via a suitably configured switch SW3 2253.

好都合なことに、MTDS2142又はUDPS2143と記憶装置(例えば、STP2164又はTDP2163)との間で読み取り又は書き込みオペレーションが行われるときに、CPU2160が記憶装置から分離されるか又はディスエイブルされ、従って、MTDS2142又はUDPS2143は、マリシャスコードの実行を許して保護記憶装置MTDS2142又はUDPS2143を汚染するような仕方でCPU2160に露出されることは決してない。   Conveniently, the CPU 2160 is disconnected or disabled from the storage device when a read or write operation is performed between the MTDS 2142 or UDPS 2143 and the storage device (eg, STP 2164 or TDP 2163), thus the MTDS 2142 or UDPS 2143 is never exposed to CPU 2160 in such a way as to allow execution of malicious code and contaminate protected storage device MTDS 2142 or UDPS 2143.

ワード処理が完了しそして新たな又は編集されたファイルが保護記憶装置へ書き戻されると、信号又は状態変化或いは「フラグ」又は他の指示、及びそれに続くCSCEからの命令、STP2162及びTDP2163のコンテンツがクリアされそして消去される。このクリア又は消去は、例えば、記憶媒体にオーバーライトするか、又はマスターブートレコード又はパーティションテーブルを再フォーマットすることによる実際の消去でなければならず、従って、そこに記憶された最後のデータセットに存在したかもしれないマリシャスコードが他のファイル又はデータセットへと広がることはない。これは、実際の消去ではなく削除されるファイルへの参照を除去するようにディレクトリーを単に更新するだけのほとんどの従来のシステムとは相違する。使用する記憶空間、好ましくは、アクセス可能な記憶空間全体を消去する要望から、ハードディスクドライブ記憶装置のような低速の電気機械的記憶装置よりも、高速ソリッドステートメモリが望ましいものとなる。又、これは、計算環境内でアクセスできる記憶空間の量を著しく減少させる。ある実施形態において、異なるサイズの記憶空間を動的に割り当て、プロセスがより多くのメモリを必要とするにつれてアクセス可能なメモリを追加し、そしてソリッドステートメモリと、大きくて低廉なハードディスクドライブ記憶装置の両方を構成する能力が得られる。   When word processing is complete and a new or edited file is written back to protected storage, the signal or state change or “flag” or other indication, followed by instructions from the CSCE, the contents of STP 2162 and TDP 2163 Cleared and erased. This clearing or erasure must be an actual erasure, for example by overwriting the storage medium or reformatting the master boot record or partition table, so the last data set stored there Malicious code that may have been present does not spread to other files or datasets. This is different from most conventional systems that simply update the directory to remove references to files that are deleted rather than actual deletions. The desire to erase the storage space used, preferably the entire accessible storage space, makes high speed solid state memory more desirable than low speed electromechanical storage devices such as hard disk drive storage devices. This also significantly reduces the amount of storage space accessible within the computing environment. In some embodiments, dynamically allocating storage space of different sizes, adding memory that is accessible as the process requires more memory, and solid state memory and large and inexpensive hard disk drive storage The ability to configure both is obtained.

この点までの説明を熟考すると、ウイルスで汚染された保護記憶装置UDPS2143に存在したユーザデータがウイルスと共にCE2108−4へと移動し、次いで、計算環境内のウイルスコードの実行をサポートし得るオペレーティングシステム及びCPU2160へ露出される状況が明らかとなる。   Considering the description up to this point, an operating system that can support the execution of virus code in a computing environment after user data residing in a protected storage device UDPS 2143 contaminated with a virus is moved along with the virus to CE2108-4 And the situation exposed to the CPU 2160 becomes clear.

例えば、ウイルスがCPU及びオペレーティングシステムに露出されたがその実行日付条件が満足されないといった何らかの理由でウイルスが実行されない場合には、ウイルスが、それを含むファイルと共に、又は新たなそして独立したファイルとして、保護記憶装置UDPS2143へ返送される。この場合に、特定の計算環境2108−4も、システム2100全体としても、ウイルス(又は他のマリシャスコード)に露出されたことにより被害を受けることはない。   For example, if the virus is not executed for some reason, such as when the virus is exposed to the CPU and operating system but its execution date condition is not met, Returned to the protected storage device UDPS 2143. In this case, neither the specific computing environment 2108-4 nor the entire system 2100 is damaged by being exposed to a virus (or other malicious code).

他方、ウイルス(又は他のマリシャスコード)が計算環境2108−4内にある間に実行されて、爆発するか、さもなければ、CPU、CPU関連RAM、又は他のメモリ、及び/又はSTP2162又はTDP2163記憶装置を汚染する場合にも、その有害な作用は、分離された計算環境2108−4に限定される。このアーキテクチャー及び処理システム並びに方法には、ウイルス又は他のマリシャスコードがシステム2100の他部分へ脱出してシステム2100或いは保護記憶装置MTPS2142又はUDPS2143内のデータを汚染させる経路は設けられていない。たとえウイルス汚染されたファイルが保護記憶装置MTPS2142又はUDPS2143へ返送されても、他のオペレーティングシステム、アプリケーションプログラム又は他のデータファイルが汚染されることはない。というのは、PSCE2108−3が、データに含まれたビットパターンを実行できるプロセッサを備えておらず、それらは、単に「0」及び「1」ビットであり、その計算環境内でプログラム的な意味をもたないからである。この場合も、ビットが露出される唯一のオペレーションは、コピーしか実行できないハードウェア、ソフトウェア、及び/又はファームウェアによるダムコピーオペレーションであり、それ以上あっても僅かであることを想起されたい。ウイルスがPSCE以外の計算環境2108にある間に実行される場合には、ファイルのコピーにダメージを及ぼしたり破壊したりすることがあるが、PSCEにおけるオリジナルデータ又はファイルは、依然として完全なものである。明らかに、ウイルス又は他のマリシャスコードの存在が発見されると、ウイルスを清掃又は駆除して、ウイルス汚染されたバージョンを、清掃されたバージョンに置き換えるステップを取ることが望ましい。このようなウイルス又はマリシャスコード検出及び/又は清掃オペレーションは、実際には、分離された計算環境において、ファイルの清掃されたコピーが保護記憶装置に返送される前に、ファイルのコピーに対して実行されるプロセスの1つである。オーバーライト以外のバージョンとしてファイルをセーブすることは、別の記憶オプションである。   On the other hand, a virus (or other malicious code) is executed while in the computing environment 2108-4 to explode or otherwise CPU, CPU-related RAM, or other memory, and / or STP 2162 or TDP 2163 Even when the storage device is contaminated, its harmful effects are limited to the isolated computing environment 2108-4. This architecture and processing system and method does not provide a path for viruses or other malicious code to escape to other parts of the system 2100 and contaminate data in the system 2100 or protected storage device MTPS2142 or UDPS 2143. Even if a virus-contaminated file is returned to the protected storage device MTPS2142 or UDPS 2143, other operating systems, application programs or other data files will not be contaminated. This is because PSCE 2108-3 does not have a processor that can execute the bit pattern contained in the data, they are simply “0” and “1” bits, and have programmatic meaning within their computing environment. Because it does not have. Again, recall that the only operation where the bits are exposed is a dumb copy operation by hardware, software and / or firmware that can only perform a copy, and there are few more. If the virus is executed while in a non-PSCE computing environment 2108, it may damage or destroy the copy of the file, but the original data or file in PSCE is still complete. . Obviously, if the presence of a virus or other malicious code is found, it is desirable to take steps to clean or remove the virus and replace the virus-contaminated version with a cleaned version. Such virus or malicious code detection and / or cleaning operations are actually performed on a copy of a file in a separate computing environment before the cleaned copy of the file is sent back to protected storage. One of the processes to be performed. Saving the file as a non-overwrite version is another storage option.

マリシャス感染ファイルでも安全に処理することのできる構造的及び動作的特徴を説明したが、以下、本筋から離れて、人間ユーザ2129に対するグラフィック表示又はディスプレイスクリーン表示について説明する。説明上、コンピュータシステム2100がウインドウ付きシステムであって、ディスプレイサブシステムの個別のウインドウに各プロセスを表示できると仮定する。Microsoft Windows、Unix、Linux、Apple Maclntosh OS及び他の通常のオペレーティングシステムのようなオペレーティングシステムは、このようなウインドウ及び構造と、共通のディスプレイの個別のウインドウに各プロセスの表示を与える技術とをサポートする。それ故、各計算環境は、従来のマルチタスクウインドウ付きシステムに良く似たウインドウ付きマルチタスク処理システムを与えるようにビデオディスプレイサブシステム2192により処理されるディスプレイスクリーン又はグラフィック出力2187を備えている。キーボードボタンの押圧及びマウスをアクティブなプロセス又はウインドウに割り当てることにより、キーボード2190及びマウス2191又は他のポインティング装置を経て入力/出力が同様に与えられる。ユーザ2129、又はある状況では、システムそれ自体が、選択されたウインドウ又はアクティブなウインドウを識別し、そしてキーボード及びマウスアクションが追跡されて、その選択されたプロセスに識別される。本質的に、キーボード、マウス又はポインティング装置、並びに表示プロセスは、UICE2108−1及びCSCE2108−2によりアクティブなウインドウ又は他の識別されたアクティブなプロセスに割り当てられる。   Having described the structural and operational features that can be safely processed with maliciously infected files, the graphic or display screen display for human user 2129 will now be described, apart from the main points. For purposes of explanation, assume that computer system 2100 is a windowed system and can display each process in a separate window of the display subsystem. Operating systems such as Microsoft Windows, Unix, Linux, Apple Macintosh OS and other normal operating systems support such windows and structures, and technologies that provide a display of each process in a separate window on a common display. To do. Therefore, each computing environment includes a display screen or graphic output 2187 that is processed by the video display subsystem 2192 to provide a windowed multitasking processing system that is very similar to a conventional multitasking windowed system. By pressing a keyboard button and assigning the mouse to an active process or window, input / output is similarly provided via the keyboard 2190 and mouse 2191 or other pointing device. User 2129, or in some situations, the system itself identifies the selected or active window, and keyboard and mouse actions are tracked and identified to the selected process. In essence, the keyboard, mouse or pointing device, and display process are assigned to the active window or other identified active process by UICE 2108-1 and CSCE 2108-2.

同様に、コンピュータシステム内の他の各々の装置又は周辺機器は、フロッピーディスクドライブ、USBポート及びこれらポートを経てアタッチされたUSB周辺装置、モデム、ネットワークインターフェイス回路又はカード(NIC)、モデム、CSCIインターフェイス及び装置、PCカードスロット及びインターフェイス、並びにこれらインターフェイスを経て接続された装置、CDリーダー/ライター、DVDリーダー/ライター、スキャナ、プリンタ、オーディオシステム、マイクロホン、スピーカ、シリアル又はパラレルインターフェイス、及びこれらインターフェイスに結合された装置、カメラ、レコーダー、並びにコンピュータ又は情報機器に結合できる他のI/O又は周辺装置又はシステムの1つ以上を含むが、これらに限定されない。   Similarly, each other device or peripheral device in the computer system includes a floppy disk drive, a USB port and a USB peripheral device attached via these ports, a modem, a network interface circuit or card (NIC), a modem, a CSCI interface. And devices, PC card slots and interfaces, and devices connected via these interfaces, CD reader / writer, DVD reader / writer, scanner, printer, audio system, microphone, speaker, serial or parallel interface, and coupling to these interfaces Including one or more of connected devices, cameras, recorders, and other I / O or peripheral devices or systems that can be coupled to a computer or information device. But it is not limited.

本発明のアーキテクチャー、システム及び方法は、コンピュータ(これに限定されない)のようなプロセッサ、PDA、移動通信装置及び電話、セルラー電話、デジタルカメラ、ビデオレコーディング装置、ナビゲーション及びマッピングシステム、自動車エンジン管理システム、航空機ナビゲーション及び誘導システム、ネットワークサーバー及びルーター、デジタル及びHDTVテレビ受像機及びプロセッサ、セキュリティシステム、並びにあらゆる他の電子装置及びシステムであって、プロセッサを組み込んでいて、ウイルス、スパイウェア、ボット、コンピュータハッカー、及び他のマリシャスコードを受け易いものを有する装置及び機器のセットに適用できることを想起されたい。又、完全にデバッグされていないコンピュータコードの実行に関連した偶発的な問題も、システムをテストし、デバッグし、さもなければ、分離されたコンピュータ環境の1つにおいて利用した場合に、コードの欠陥がシステムの他部分に有害な影響を及ぼすのを防止する仕方で取り扱いできることも想起されたい。それ故、考えられる入力装置、出力装置、入力/出力装置、及び周辺機器のセットは、広範囲な様々なセットであり、従来のデスクトップ又は移動ノートブックコンピュータに通常関連した装置に限定されない。周辺装置は、例えば、本発明の原理により形成される情報システムにより制御又は監視される自動車又は航空機である。   The architecture, system and method of the present invention include a processor, such as, but not limited to, a computer, a PDA, a mobile communication device and telephone, a cellular phone, a digital camera, a video recording device, a navigation and mapping system, and an automobile engine management system. Aircraft navigation and guidance systems, network servers and routers, digital and HDTV television receivers and processors, security systems, and any other electronic devices and systems, incorporating processors, viruses, spyware, bots, computer hackers Recall that it can be applied to a set of devices and equipment having, and others susceptible to malicious codes. Also, accidental problems associated with the execution of computer code that has not been fully debugged can cause code defects when the system is tested and debugged, or otherwise used in one of the isolated computer environments. Recall that can be handled in a way that prevents harmful effects on other parts of the system. Thus, the set of possible input devices, output devices, input / output devices, and peripherals are a wide variety of sets and are not limited to devices typically associated with a conventional desktop or mobile notebook computer. A peripheral device is, for example, an automobile or aircraft that is controlled or monitored by an information system formed in accordance with the principles of the present invention.

又、ここでの説明に鑑み、これらの種々の周辺機器がUICE2108−1のデスクトップ環境に見られるが、これらの周辺機器に実際にアクセスする(キーボード及びマウスを越えて)プロセスは、周辺機器へのアクセスを要求する他の分離された処理環境の1つから派生し、或いは更に好ましくは、周辺機器と対話する新たなプロセスを生み出し又は開始し、そしてUDPSを経て記憶され共有されたデータを介して、周辺装置又はサブシステムにデータを与えるか、さもなければ、それと対話することが明らかであろう。   Also, in view of the description herein, these various peripherals are found in the UICE 2108-1 desktop environment, but the process of actually accessing these peripherals (beyond the keyboard and mouse) is to the peripherals. Derived from one of the other isolated processing environments that require access to, or more preferably, creates or initiates a new process that interacts with the peripheral device, and via stored and shared data via UDPS It will be apparent that the peripheral device or subsystem is provided with data or otherwise interacts with it.

ユーザインターフェイス、制御&スイッチングの機能を合成する別の実施形態及び保護記憶装置計算環境
制御及びユーザインターフェイス計算環境2108−1、スイッチング計算環境2108−2、並びに保護記憶装置及び読み取り/書き込み計算環境2108−3により遂行されるオペレーション及び構造について説明したが、この説明に鑑み、これらのオペレーションは、分離されたユーザ計算環境、例えば、図10の実施形態では分離された計算環境2108−4又は2108−5とは個別の単一の計算環境において結合して実行できることが明らかであろう。特に、このようなアーキテクチャー及びシステムコンフィギュレーションは、結合されたブロックが、ユーザデータ及び/又は信頼性のないコードを実行する能力をもたず、且つ分離された計算環境へデータ又はプログラムを実行のために移動又はコピーする等のオペレーションしか行えず、それらをオープンも実行もできない限り、本発明のシステム及び方法の効果の少なくとも幾つかを与えることができる。ある実施形態では、制御エンティティへの信頼性のあるアクセスしか許されない(複数の計算環境の間で分配されるか又は結合されるかに関わらず)。例えば、実施できるルール及びポリシーに基づいて、キーボード及びマウス入力は、信頼性のある入力又は対話媒体として処理できる。コンピュータ又は装置をターンオン又はパワーオンし、それにログインするための標準的なセキュリティ手順、例えば、パスワードや生物測定は、システムにアクセスし、ひいては、キーボード及びマウス入力をおそらく入力するユーザが許可され且つ信頼される付加的な保証を与えるために実施することができる。
Another embodiment of combining user interface, control & switching functions and protected storage computing environment control and user interface computing environment 2108-1, switching computing environment 2108-2, and protected storage and read / write computing environment 2108- 3 have been described, in view of this description, these operations may be performed in a separate user computing environment, for example, the separated computing environment 2108-4 or 2108-5 in the embodiment of FIG. It will be apparent that can be combined and executed in separate single computing environments. In particular, such an architecture and system configuration does not allow the combined blocks to execute user data and / or unreliable code and execute data or programs to a separate computing environment. As long as operations such as move or copy can only be performed and cannot be opened or executed, at least some of the advantages of the system and method of the present invention can be provided. In some embodiments, only reliable access to the control entity is allowed (regardless of whether it is distributed or combined among multiple computing environments). For example, based on rules and policies that can be enforced, keyboard and mouse input can be treated as a reliable input or interactive medium. Standard security procedures for turning on or powering on and logging into a computer or device, such as passwords and biometrics, allow the user to access the system and thus possibly enter keyboard and mouse input and be trusted. Can be implemented to give additional guarantees.

動的に構成可能なシステム要素を伴う別の実施形態
動作、制御、インターフェイス及び保護特徴の幾つかを示す1つの特定の多計算環境実施形態について説明したが、共通の1組の計算環境を使用して、ワード処理、eメール、インターネットブラウジング又は他のオペレーションを遂行するように構成できる特定の1組のユーザインターフェイス計算環境(UICE)、制御及びスイッチング計算環境(CSCE)、保護記憶装置計算環境(PSCE)、及び他の計算環境(CE)を実施するような別の実施形態について説明する。
Another embodiment with dynamically configurable system elements Although described with respect to one particular multi-computing environment embodiment showing some of the operation, control, interface and protection features, a common set of computing environments is used A specific set of user interface computing environments (UICE), control and switching computing environments (CSCE), protected storage computing environments (which can be configured to perform word processing, e-mail, internet browsing or other operations ( PSCE), and other embodiments implementing other computing environments (CE) are described.

図10には、データ又は他の情報を処理するための別の実施形態のシステム2200が示されている。図9について上述した実施形態2100と同様に、このシステム及びアーキテクチャー2200は、システムを構成しそしてシステムを操作するための方法及び手順と共に、1つ以上のプロセッサ、コントローラ、マイクロプロセッサ、中央処理ユニット(CPU)、ASIC、ロジック回路、又は電子データを処理する他の手段を従来から含む広範囲な種々の電子装置セットに適用することができる。   FIG. 10 illustrates another embodiment system 2200 for processing data or other information. Similar to the embodiment 2100 described above with respect to FIG. 9, the system and architecture 2200 includes one or more processors, controllers, microprocessors, central processing units, along with methods and procedures for configuring and operating the system. (CPU), ASIC, logic circuit, or other means for processing electronic data can be applied to a wide variety of different electronic device sets, including those conventionally.

説明の便宜上、種々の計算環境、周辺機器、スイッチ、制御ライン、及び他の信号のような幾つかの要素が、同じ又は同様のトポロジーで描かれ、そして同じ参照番号で示されている。本発明の原理を実施する仕方は多数あると共に、これらの説明及び図面(例えば、図9及び図10の実施形態及びシステムコンフィギュレーション)の各々は、本発明によるシステムを実施しそして操作する仕方の一例に過ぎないことが明らかであろう。   For convenience of explanation, several elements such as various computing environments, peripherals, switches, control lines, and other signals are depicted with the same or similar topologies and denoted with the same reference numerals. There are many ways to implement the principles of the present invention, and each of these descriptions and drawings (eg, the embodiment and system configuration of FIGS. 9 and 10) is a description of how to implement and operate the system according to the present invention. It will be clear that this is only an example.

システム2200は、デスクトップ及びユーザインターフェイス計算環境(UICE)2108−1の処理ユニットと、制御及びスイッチング計算環境(2108−2)の処理ユニットと、保護記憶装置計算環境2108−3の処理ユニットと、2つの分離処理ユニット計算環境IPUCE#1 2108−4及びIPUCE#2 2108−5とを備えている。図9の実施形態では、典型的な処理ユニット要素は、特定の処理ユニット2108−1、・・・2108−5、・・・2108−Nの希望のオペレーションを遂行するように図示して説明した。図10の実施形態には、システム2200の初期化、コンフィギュレーション及びオペレーションに必要とされる機能及びオペレーションを遂行するように複数のモジュラーユニットを動的に構成するのを許す共通の要素コンフィギュレーションが示されている。同一又は共通の要素は必要とされないが、意図されたオペレーション及び処理機能に基づいてソフトウェア、ファームウェア、及びユーザ又はシステムデータでカスタマイズされ又はされてもよい共通セットの要素を使用するのが効果的である。   System 2200 includes a processing unit for desktop and user interface computing environment (UICE) 2108-1, a processing unit for control and switching computing environment (2108-2), a processing unit for protected storage computing environment 2108-3, 2 Two separate processing unit computing environments IPUCE # 1 2108-4 and IPUCE # 2 2108-5. In the embodiment of FIG. 9, exemplary processing unit elements are shown and described to perform the desired operation of a particular processing unit 2108-1, ... 2108-5, ... 2108-N. . The embodiment of FIG. 10 has a common element configuration that allows multiple modular units to be dynamically configured to perform the functions and operations required for initialization, configuration and operation of the system 2200. It is shown. Although the same or common elements are not required, it is advantageous to use a common set of elements that may be customized or customized with software, firmware, and user or system data based on the intended operations and processing capabilities. is there.

計算環境2108−1乃至2108−5間にこの一般的対応関係が与えられると、この説明は、実施の相違(もしあれば)及び/又は細部を強調する。   Given this general correspondence between computing environments 2108-1 to 2108-5, this description highlights implementation differences (if any) and / or details.

デスクトップ及びユーザインターフェイス計算環境(UICE)2108−1の処理ユニットを参照すれば、CPU2120は、ここでは、この技術で良く知られたように、プロセッサ(PR)と、RAMの形態のプロセッサ結合メモリと、任意のプロセッサチップセット及びBIOSとを含むように示されていることに注意されたい。制御及びスイッチング計算環境(2108−2)のタスクを遂行できるプロセッサ、マイクロプロセッサ、中央処理ユニット、ASIC又は他のロジック回路の任意の形態が使用されてもよいことが明らかであろう。精巧で且つ複雑なデータ処理を遂行するために必要とされそして複雑なコンピュータプログラム命令を実行できるCPUを必要とする全システム2200に対しても、デスクトップ及びユーザインターフェイス計算環境(UICE)2108−1の処理ユニットの「プロセッサ」は、非常に簡単な要素でよいことに注意されたい。   Referring to the processing unit of the desktop and user interface computing environment (UICE) 2108-1, the CPU 2120, here, as is well known in the art, is a processor (PR), processor coupled memory in the form of RAM, and Note that it is shown to include any processor chipset and BIOS. It will be apparent that any form of processor, microprocessor, central processing unit, ASIC or other logic circuit capable of performing the tasks of the control and switching computing environment (2108-2) may be used. Even for the entire system 2200, which is required to perform sophisticated and complex data processing and requires a CPU capable of executing complex computer program instructions, the desktop and user interface computing environment (UICE) 2108-1 Note that the “processor” of the processing unit may be a very simple element.

制御及びスイッチング計算環境(2108−2)の処理ユニット及び保護記憶装置計算環境2108−3の処理ユニットについても、同じことが言える。実際に、ある実施形態では、制御及びスイッチング計算環境(2108−2)の処理ユニット及び保護記憶装置計算環境2108−3の処理ユニットの機能は、単一のユニット2155により遂行することができ、そして他の実施形態でも、マスターテンプレートコピースイッチ2151及び保護記憶装置コピースイッチ2152の機能及びオペレーションを単一ユニット2156に結合することができる。   The same is true for the processing unit of the control and switching computing environment (2108-2) and the processing unit of the protected storage device computing environment 2108-3. Indeed, in one embodiment, the functions of the processing unit of the control and switching computing environment (2108-2) and the processing unit of the protected storage computing environment 2108-3 can be performed by a single unit 2155, and In other embodiments, the functions and operations of the master template copy switch 2151 and the protected storage device copy switch 2152 can be combined into a single unit 2156.

又、UICE2108−1は、CSCE(2184A−1)から制御信号2184Aを、保護マスターテンプレート(2184A−2)からオペレーティングシステム(OS)及び/又はアプリケーションプログラムを、そして保護記憶装置(2184A−3)からデータを受信するものとして示されている。又、これは、データを保護記憶装置(2184A−4)に返送することもできる。これら4セットの信号は、各々の計算環境に存在するものとして示されているが、明瞭さを保つために、全部の接続線が示されていない。ある処理オペレーションに対しては、全ての信号線が要求又は使用されるのではない。   The UICE 2108-1 also receives a control signal 2184A from the CSCE (2184A-1), an operating system (OS) and / or an application program from the protection master template (2184A-2), and a protection storage device (2184A-3). Shown as receiving data. It can also send data back to the protected storage device (2184A-4). These four sets of signals are shown as being present in each computing environment, but not all connection lines are shown for clarity. Not all signal lines are required or used for certain processing operations.

又、この実施形態は、UICE、CSCE及びPSCEと協働して、異なる周辺機器を、それらを必要とする処理オペレーションに結合しそして利用可能とする割り当て機能も示している。少なくとも1つの実施形態では、キーボード及びマウス(或いは他のポインティング又は選択装置、例えば、タッチスクリーン)が他の計算環境に利用できると共に、デスクトップ及びユーザインターフェイス計算環境の処理ユニットに直接利用できることに注意されたい。   This embodiment also shows an allocation function that works with UICE, CSCE and PSCE to combine and make available different peripherals to the processing operations that require them. It is noted that in at least one embodiment, a keyboard and mouse (or other pointing or selection device, eg, a touch screen) can be used for other computing environments as well as directly for processing units in desktop and user interface computing environments. I want.

任意のASIC2126も示されている。少なくとも幾つかの実施形態では、CPU又はASIC(又は他のロジック回路)は、必要なインターフェイス処理能力を与えるのに充分であるが、モジュール性及び一般性のためのここではその両方を示す。   An optional ASIC 2126 is also shown. In at least some embodiments, a CPU or ASIC (or other logic circuit) is sufficient to provide the necessary interface processing capabilities, but both are shown here for modularity and generality.

制御及びスイッチング計算環境(2108−2)の処理ユニットを参照すれば、制御及びスイッチング計算環境の処理ユニット(CSCE)は、要素の同様のセットとして示されているが、プログラム及びデータに対する記憶装置のコンテンツは、通常、計算環境により与えられる機能及びオペレーションに基づいて異なることが明らかであろう。CSCE2108−2の場合には、一時的記憶装置2149は、I/Oスイッチコンフィギュレーションデータ2158、及びデータ転送又は読み取り/書き込みスイッチコンフィギュレーションデータ2159を含むものとして示されている。   Referring to the processing unit of the control and switching computing environment (2108-2), the processing unit of the control and switching computing environment (CSCE) is shown as a similar set of elements, but of storage for programs and data. It will be apparent that content typically varies based on the functions and operations provided by the computing environment. In the case of CSCE 2108-2, temporary storage device 2149 is shown as including I / O switch configuration data 2158 and data transfer or read / write switch configuration data 2159.

保護記憶装置計算環境2108−3の処理ユニットを参照すれば、この場合も、要素の同様のセットが示されている。マスターテンプレート及びユーザデータに対する保護記憶装置は、このユニットの一部分として示されている。オペレーティングシステム及びアプリケーションプログラム要素を含むマスターテンプレートの完全なコピー、又はある実施形態では、ユーザにより要求されることのある異なる処理オペレーションに適した多数のテンプレートのコピーは、この保護記憶装置2141に記憶されていた。ユーザファイル及びおそらくシステムファイルは、保護記憶装置UDPS2143に記憶される。保護記憶装置は、存在し得るユーザデータ(又はコード命令)を実行できるプロセッサ又はCPUに露出されるべきではなく、従って、プロセッサ又はCPUが設けられる場合には、それが保護メモリからディスエイブル又は切断されることを想起されたい。従って、スイッチ2144及び2145がオープンされるか、又はプロセッサをディスエイブルするための他のステップ、例えば、動作電圧を除去するか或いは動作に必要な動作クロック信号を差し控えるステップがとられる。これは、一般に、ソフトウェア及び/又はファームウェアとおそらく協働するASIC或いは他のロジック又は処理回路2146のような回路が、保護メモリに対して読み取り及び書き込みを行うと共にそれらの分離を維持するための処理能力を備えることを意味する。マスターテンプレートコピースイッチ及び保護記憶装置コピースイッチ(1つ又は複数)は、PSCEの一部分でもよいし、又はそれとは個別であるが通信するものでもよいことに注意されたい。コピー(読み取り及び/又は書き込み)は、例えば、ASIC或いは他のロジック又は処理回路2146により実行することができる。   Referring again to the processing unit of the protected storage device computing environment 2108-3, a similar set of elements is shown again. The protected storage for the master template and user data is shown as part of this unit. A complete copy of the master template including the operating system and application program elements, or in one embodiment, multiple template copies suitable for different processing operations that may be required by the user, is stored in this protected storage device 2141. It was. User files and possibly system files are stored in protected storage device UDPS 2143. The protected storage device should not be exposed to a processor or CPU that can execute user data (or code instructions) that may be present, so if a processor or CPU is provided, it is disabled or disconnected from the protected memory. I want to recall that Accordingly, switches 2144 and 2145 are opened, or other steps are taken to disable the processor, such as removing operating voltages or withholding operating clock signals necessary for operation. This is generally the process by which a circuit such as an ASIC or other logic or processing circuit 2146, possibly cooperating with software and / or firmware, reads and writes to protected memory and maintains their separation. It means having the ability. Note that the master template copy switch and the protected storage device copy switch (s) may be part of the PSCE or may be separate but in communication with it. Copying (reading and / or writing) can be performed, for example, by an ASIC or other logic or processing circuit 2146.

2つの分離処理ユニット計算環境を参照すれば、IPUCE#1 2108−4及びIPUCE#2 2108−5も、このモジュラー計算環境構造を維持する。これらの処理ユニットは、ワード処理、インターネットとの接続及び対話、セルラー電話コール受信、並びに音声コード化及びデコード動作、等を遂行するために求められる処理オペレーションの全スペクトルをサポートするCPUを備えるのが好都合である。   Referring to the two separate processing unit computing environments, IPUCE # 1 2108-4 and IPUCE # 2 2108-5 also maintain this modular computing environment structure. These processing units comprise a CPU that supports the full spectrum of processing operations required to perform word processing, internet connection and interaction, cellular telephone call reception, voice encoding and decoding operations, and the like. Convenient.

結合された制御及びユーザ分離計算環境を伴う実施形態
図11には、ユーザ処理のための結合された制御計算環境及び1つ(又は2つ以上)の分離計算環境を有する本発明の実施形態2300が示されている。結合された制御計算環境は、上述した実施形態の上述した制御及びユーザインターフェイス計算環境2108−1、スイッチング計算環境2108−2、及び保護記憶装置及び読み取り/書き込み計算環境2108−3の必要なオペレーションを与えるように、コンピュータシステム2300のオペレーションを編成する。分離計算環境2304−1は、前記実施形態で述べた形態をとることができ、ここでは詳細に説明しないが、このようなICEは、通常、ICEに意図された命令のセットを実行するための処理ロジック2381と、この処理ロジックにスイッチ可能に結合及び分離可能な記憶装置2380とを備える。
Embodiment with Combined Control and User Separation Computing Environment FIG. 11 illustrates an embodiment 2300 of the present invention having a combined control computation environment for user processing and one (or more) separate computation environments. It is shown. The combined control computing environment performs the necessary operations of the control and user interface computing environment 2108-1, switching computing environment 2108-2, and protected storage and read / write computing environment 2108-3 of the above-described embodiments. The operations of computer system 2300 are organized as given. The separate computing environment 2304-1 can take the form described in the previous embodiment, and although not described in detail here, such an ICE typically is for executing a set of instructions intended for the ICE. Processing logic 2381 and a storage device 2380 that can be coupled to and separated from the processing logic in a switchable manner are provided.

いかなる所与の実施形態においても、幾つかの特徴及び手順ステップは、任意なもので、実施することが望まれる能力、及び/又は希望のセキュリティ又は免疫性の程度に基づいて必要とされないことが明らかであろう。幾つかの特徴及び手順は、他のファクタの中でも、システムの現在状態及び意図された計算環境オペレーションに基づいて動的に実施することができる。いずれにせよ、ここでの説明に鑑み、これら制御オペレーションは、分離されたユーザ計算環境から個別の(物理的又は時間的に)計算環境において遂行されることが明らかであろう。   In any given embodiment, some features and procedural steps are optional and may not be required based on the ability to be performed and / or the degree of security or immunity desired. It will be clear. Some features and procedures can be implemented dynamically based on the current state of the system and the intended computing environment operation, among other factors. In any case, in view of the description herein, it will be apparent that these control operations are performed in a separate (physical or temporal) computing environment from a separate user computing environment.

この実施形態では、制御処理又は計算環境(CCE)2302が確立されて、1つ以上の分離計算環境2304−Nを生成し、制御し、そして終了するように動作する。この実施形態では、図示簡単化のために1つの分離計算環境2304−1しか示されていないが、ユーザ処理のための多数のこのような分離計算環境(ICE)又はサブシステムを固定的に又は動的に構成して動作することができる。   In this embodiment, a control processing or computing environment (CCE) 2302 is established and operates to create, control, and exit one or more separate computing environments 2304-N. In this embodiment, only one separate computing environment 2304-1 is shown for simplicity of illustration, but a number of such separate computing environments (ICE) or subsystems for user processing can be fixed or It can be configured and operated dynamically.

CCE2302は、幾つかのロジック回路又は他のロジック手段2320(例えば、コントローラ、マイクロコントローラ、プロセッサ、マイクロプロセッサ、中央処理ユニット即ちCPU、ASIC、プログラム可能なロジック、等)と、1つ以上の通信リンク2328を経、1つ以上のスイッチ又はスイッチング手段2325を通してこのロジック手段2320にスイッチ可能に結合及び分離できる記憶装置2321とを備えている。スイッチ又はスイッチング手段2325は、一般に、記憶装置2321とロジック手段2320との間に当該信号及びデータを結合又は分離するのに適した複数のスイッチ又はスイッチング素子を備え、例えば、記憶装置を、例えば、CPUのようなロジック回路に結合及び分離するための良く知られた信号コンディショニング回路を備えてもよい。   The CCE 2302 includes several logic circuits or other logic means 2320 (eg, a controller, microcontroller, processor, microprocessor, central processing unit or CPU, ASIC, programmable logic, etc.) and one or more communication links. 2328 and a storage device 2321 that can be switchably coupled to and disconnected from this logic means 2320 through one or more switches or switching means 2325. The switch or switching means 2325 generally comprises a plurality of switches or switching elements suitable for coupling or separating the signals and data between the storage device 2321 and the logic means 2320, for example, a storage device, for example, A well-known signal conditioning circuit for coupling and decoupling to a logic circuit such as a CPU may be provided.

ロジック回路又はロジック手段2320の形式に基づき、ROM、RAM、レジスタ等の形態の個別のメモリを設けて、1つ以上のメモリスイッチ2326を経てスイッチ可能に接続又は切断(イネーブル又はディスエイブル)することもできる。スイッチングは、メモリ又は記憶装置への/からのいずれかの方向(例えば、読み取り又は書き込みに対する)又は両方向の通信又はシグナリングを選択的にイネーブルすることができる。この実施形態及び本発明の他の実施形態の状況において、スイッチ、複数のスイッチ、スイッチング手段、等の用語には、考えられる最も広い解釈が与えられるべきであり、そして1つの位置から別の位置へ信号を物理的又は論理的に結合又は分離するか、或いは電気的接続又は光学的接続に関わらずそのような位置間に信号を通信する能力をイネーブル又はディスエイブルする装置、ロジック、ハードウェア又はソフトウェアが存在し又は存在してもよい。   Provide separate memories in the form of ROM, RAM, registers, etc. based on the format of the logic circuit or logic means 2320 and connect or disconnect (enable or disable) via one or more memory switches 2326 in a switchable manner. You can also. Switching can selectively enable communication or signaling in either direction to / from memory or storage (eg, for read or write) or in both directions. In the context of this embodiment and other embodiments of the present invention, the terms switch, multiple switches, switching means, etc. should be given the broadest possible interpretation and from one position to another. A device, logic, hardware or device that enables or disables the ability to physically or logically couple or separate signals, or to communicate signals between such locations regardless of electrical or optical connections Software exists or may exist.

ロジック回路又はロジック手段2320の形式及び能力は、一般に、CCE2302により遂行されるべきロジック又は他の処理オペレーションに依存し得る。例えば、汎用のノートブックコンピュータに対する制御として遂行されるべき処理オペレーションは、セルラー電話又は電子カメラに対して実行されるべき制御オペレーションとは少なくとも一部分相違してもよい。というのは、これらの異なる装置により遂行されるべきオペレーションが一般的に異なるかもしれないからである。   The type and capability of the logic circuit or logic means 2320 may generally depend on the logic or other processing operations to be performed by the CCE 2302. For example, the processing operations to be performed as control for a general purpose notebook computer may differ at least in part from the control operations to be performed for a cellular phone or electronic camera. This is because the operations to be performed by these different devices may generally be different.

ある実施形態では、分離計算環境2304において、記憶装置2321、メモリ2322、I/O又は周辺機器(例えば、キーボード2390、マウス2391、又はネットワークNIC2392)、及び/又は記憶装置(1つ又は複数)2380との通信又は信号を結合又は分離するための種々のスイッチ(例えば、スイッチ2350、2360、2325、2326)及びスイッチング能力は、ロジック回路2320により与えられてもよく、或いは他の実施形態では、ロジック回路又はロジック手段2320により完全に又は部分的に制御される個別のスイッチング手段が設けられてもよい。この実施形態又は他の実施形態では、単一のスイッチ、1組のスイッチ、多数の個別のスイッチ、又は多数組のスイッチを使用して、希望のスイッチング動作を遂行することができる。   In certain embodiments, in a separate computing environment 2304, storage device 2321, memory 2322, I / O or peripheral device (eg, keyboard 2390, mouse 2391, or network NIC 2392), and / or storage device (s) 2380. Various switches (eg, switches 2350, 2360, 2325, 2326) and switching capabilities for coupling or disconnecting signals or signals to and from the logic circuit 2320 may be provided, or in other embodiments, logic Separate switching means may be provided that are fully or partially controlled by circuit or logic means 2320. In this or other embodiments, a single switch, a set of switches, a number of individual switches, or a number of sets of switches can be used to accomplish the desired switching operation.

少なくとも幾つかのスイッチは、CCE2320により少なくとも部分的に制御できるが、通信リンク、信号ライン、バス、又は他の接続は、CCE2320を通過しなくてもよいし又はその要素によりアクセスできなくてもよいことが明らかであろう。例えば、少なくとも1つの実施形態では、ネットワークNIC2392は、分離計算環境2304−1とスイッチ可能に接続又は切断されるが、NICから受信されるデータ又はビットは、CCE2320には通されず、マリシャスエージェントへの露出を防止するためにICE2304−1のみに通される。少なくとも幾つかの実施形態では、外部環境からデータを受信すると共に、外部環境へデータを送信するための個別のモデム及び/又はネットワークNIC装置及び通信経路が設けられ、免疫性及びシステム保護の付加的な尺度を与える。受信データが送信データから分離されるときには、これは、システム2300に対して外部の他のコンピュータ又は装置に対する保護の尺度も与える。というのは、汚染データを送信し又はマリシャスエージェントを含む機会が減少され又は排除されるからである。記憶装置2321は、単一の物理的装置として実施されてもよいし、2つ以上の物理的装置の組合せとして実施されてもよいし、又は1つ以上の物理的装置の1つ又は一部分として実施されてもよい。例えば、これは、この技術で良く知られた磁気、光学、ソリッドステート又は他のメモリ形式のうちのいずれの形式でもよいし、或いは開発されてもよい。   At least some switches can be at least partially controlled by CCE 2320, but communication links, signal lines, buses, or other connections may not pass through CCE 2320 or be accessible by its elements. It will be clear. For example, in at least one embodiment, the network NIC 2392 is switchably connected or disconnected from the isolated computing environment 2304-1, but data or bits received from the NIC are not passed through the CCE 2320 and are sent to the malicious agent. Is passed only through ICE 2304-1. In at least some embodiments, separate modem and / or network NIC devices and communication paths are provided for receiving data from and transmitting data to the external environment, providing additional immunity and system protection. Give a good measure. When the received data is separated from the transmitted data, this also provides a measure of protection for other computers or devices external to the system 2300. This is because the opportunity to send tainted data or include malicious agents is reduced or eliminated. Storage device 2321 may be implemented as a single physical device, may be implemented as a combination of two or more physical devices, or as one or part of one or more physical devices. May be implemented. For example, it may be in any form of magnetic, optical, solid state or other memory formats well known in the art or may be developed.

ここに示す実施形態では、記憶装置2321は、マスターテンプレート保護記憶装置(MTPS)2322と、ユーザデータ保護記憶装置(UDPS)2323と、記憶装置及び/又はI/O装置のためのスイッチコンフィギュレーション情報又はデータ2324と、ユーザとの装置インターフェイス及び制御をサポートするために必要とされるオペレーティングシステムエレメント及びアプリケーションプログラム2325の動作部分を備えている。又、任意であるが、一時的ワーキング記憶装置2326が設けられてもよい。ある実施形態では、これらの異なる記憶要素に対する記憶装置の形式は、高速読み取り及び/又は書き込みアクセス、及び/又は記憶装置からの要素の消去を容易にするように選択されるのが効果的である。特に、ソリッドステート又は半導体メモリは、ユーザ計算環境のセッションが完了しそして終了又はクローズされた後にユーザ計算環境の高速なアクセス並びに迅速且つ信頼性のある消去を容易にし得る。   In the illustrated embodiment, the storage device 2321 is a master template protection storage device (MTPS) 2322, a user data protection storage device (UDPS) 2323, and switch configuration information for the storage device and / or I / O device. Or data 2324 and operating portions of operating system elements and application programs 2325 required to support device interface and control with the user. Optionally, a temporary working storage device 2326 may be provided. In some embodiments, the type of storage device for these different storage elements is advantageously selected to facilitate fast read and / or write access and / or erasure of elements from the storage device. . In particular, solid state or semiconductor memory may facilitate fast access and quick and reliable erasure of the user computing environment after the user computing environment session is completed and terminated or closed.

1つ以上の分離計算環境2304−1、・・・2304−Nは、固定的に構成されてもよいし、動的に構成されてもよい。プロセッサ又は他のハードウェアの数が物理的な(例えば、ハードウェアの)個別のセッションの数を制限する傾向があるときには、時間的分離を使用するが、本明細書のどこかに述べるようにハードウェアに間欠的にアクセスして、付加的な分離計算環境を任意に実施することができる。   One or more separated computing environments 2304-1,... 2304-N may be configured in a fixed manner or dynamically. Temporal separation is used when the number of processors or other hardware tends to limit the number of physical (eg, hardware) individual sessions, as described elsewhere in this document. Additional separate computing environments can optionally be implemented with intermittent access to the hardware.

各ICE2304は、保護記憶装置(例えば、MTPS2322及び/又はUDPS2323)又は記憶装置2321の他の部分との読み取り及び/又は書き込みのためのアクセスが要求されたときに、CCE制御スイッチ2350を経て記憶装置2321(又は記憶装置の一部分)にスイッチ可能に結合できるのが効果的である。図11に示す実施形態では、データ・イン2351、データ・アウト2352、及びOS−Apps(オペレーティングシステム及びアプリケーションプログラム)2352の通信又は信号経路が示されている。異なる実施形態では、単一の通信又は信号経路(例えば、ワイヤ、マルチワイヤバス又は光学的リンク)を経路割り当て及び裁定回路又は他のロジック手段と共に使用して、このような単一のリンクを経ての通信を割り当て及び制御することができる。更に、ICE2304内にオペレーティングシステム及び/又はアプリケーションプログラムを設ける実施形態では、ICE2304の記憶装置2380とCCE内の記憶装置2321との間に経路を設ける必要がない。   Each ICE 2304 passes through a CCE control switch 2350 when access for reading and / or writing to a protected storage device (eg, MTPS 2322 and / or UDPS 2323) or other portion of the storage device 2321 is requested. It would be advantageous to be able to switchably couple to 2321 (or a portion of the storage device). In the embodiment shown in FIG. 11, data in 2351, data out 2352, and OS-Apps (operating system and application program) 2352 communications or signal paths are shown. In different embodiments, a single communication or signal path (eg, wire, multi-wire bus or optical link) is used with path assignment and arbitration circuitry or other logic means, via such a single link. Communication can be assigned and controlled. Further, in an embodiment in which an operating system and / or application program is provided in the ICE 2304, there is no need to provide a path between the storage device 2380 of the ICE 2304 and the storage device 2321 in the CCE.

又、この又はこれらの同じ通信リンク2351、2352、2353を使用して、何らかのフラグ2355、ウインドウx−y座標2356、ICEビデオ出力2357を通信し、及び/又は専用の又は時間的共有の間欠的ベースで周辺機器を結合することもできる。或いは又、個別の専用の又は共有の通信リンクをこれらの信号又はデータに使用することもできる。   This or these same communication links 2351, 2352, 2353 may also be used to communicate any flags 2355, window xy coordinates 2356, ICE video output 2357, and / or dedicated or time sharing intermittent. Peripheral devices can be combined on the base. Alternatively, separate dedicated or shared communication links can be used for these signals or data.

フラグ2355は、CCE2320とICE2304との間の状態及び/又はコマンド及び制御を与え、例えば、次のようなフラグ又は状態を与えるが、これらに限定されない。即ち、「ICEマスターテンプレート読み取り準備完了」、「ICEユーザ保護データ読み取り準備完了」、「ICE処理完了」、「ICE処理エラー遭遇」、「ファイルを保護記憶装置にセーブする要求」、「ファイルセーブオペレーション完了」、「ICEをリセット及び消去するCCEコマンド」、並びに希望のオペレーションをサポートするための他の状態及びコマンド。本発明のある実施形態では、状態又はコマンド及び制御フラグがICEとCCEとの間にウイルス又はマリシャスコードを偶発的に通信又は送信するおそれを減少又は排除するために、フラグの性質及び複雑さは、簡単で短く(例えば、数ビット又はバイト)に故意に保持される。   Flag 2355 provides status and / or command and control between CCE 2320 and ICE 2304, for example, but not limited to, the following flags or status. In other words, “reading ready for reading ICE master template”, “reading for reading ICE user protection data”, “reading for ICE processing”, “encountered ICE processing error”, “request to save file to protected storage device”, “file save operation "Complete", "CCE command to reset and erase ICE", and other states and commands to support the desired operation. In some embodiments of the present invention, the nature and complexity of the flag is reduced in order to reduce or eliminate the possibility that a status or command and control flag will accidentally communicate or transmit a virus or malicious code between the ICE and the CCE. Simple and short (eg several bits or bytes) deliberately kept.

他の実施形態について既に述べたように、ビデオ又はグラフィック関係出力信号又はデータ2357が各ICEから与えられ、ICEユーザ環境(例えば、ワード処理スクリーン)の表現又は表示を捕獲して、ディスプレイスクリーン又は他の装置2393に表示することができる。ほとんどの実施形態では、単一のディスプレイ装置が使用されるが、本発明は、多数のディスプレイ装置又は実際に多数のビデオ又はグラフィックプロセッサを排除するものではない。ウインドウ環境で動作するときには、ウインドウのx−y又はラインサンプル座標及びウインドウサイズ、又はICEウインドウに対する他の記述子が、CCE(又はCCEにより制御されるビデオプロセッサ2392)に通信され、従って、異なるICEからの多数のウインドウを互いに結合できると共に、任意であるが、CCE2302により発生されるデスクトップ(例えば、Microsoft2000デスクトップ)表示又はビデオ表示2393と結合するのが望ましい。   As already described for other embodiments, video or graphic-related output signals or data 2357 are provided from each ICE to capture a representation or display of an ICE user environment (eg, a word processing screen) and display screen or other Can be displayed on the device 2393. In most embodiments, a single display device is used, but the present invention does not exclude multiple display devices or indeed multiple video or graphics processors. When operating in a window environment, the window's xy or line sample coordinates and window size, or other descriptors for the ICE window, are communicated to the CCE (or video processor 2392 controlled by the CCE) and thus a different ICE. Multiple windows from can be combined with each other and optionally combined with a desktop (eg, Microsoft 2000 desktop) display or video display 2393 generated by CCE 2302.

通信経路を経て通信されるデータの形式及び/又は量を制限するフィルタ又はリミッタは、CCEの記憶装置2321とICE2304との間、及び/又はICE2304とビデオディスプレイ制御ユニット2392との間、及び/又はICE2304とCCEとの間に、フラグ、ウインドウ座標及び寸法、又は他の状態又はコマンド及び制御信号に対して任意に設けられるが、そのようにするのが効果的である。   Filters or limiters that limit the type and / or amount of data communicated over the communication path may be between the CCE storage device 2321 and the ICE 2304, and / or between the ICE 2304 and the video display control unit 2392, and / or Arbitrarily provided between ICE 2304 and CCE for flags, window coordinates and dimensions, or other states or commands and control signals, it is advantageous to do so.

例えば、記憶装置2321とICE記憶装置2380との間に、記憶装置アクセスリミッタ2370を設けることができる。同様に、各ICEとCCE又はビデオディスプレイ制御ユニット2392との間のビデオ信号経路にリミッタ2371を配置することができる。   For example, a storage device access limiter 2370 can be provided between the storage device 2321 and the ICE storage device 2380. Similarly, a limiter 2371 can be placed in the video signal path between each ICE and the CCE or video display control unit 2392.

一実施形態では、リミッタがスイッチ(例えば、スイッチ2350、2360)と結合されるが、他の実施形態では、それらが個別である。このようなフィルタ又はリミッタ機能は、CCEロジックの一部分として実施されてもよいし、ICEロジックの一部分として実施されてもよいし、又はその両方の一部分として実施されてもよい。ICE要素とCCE要素との間の何らかの確認を伴う冗長性を与えることも任意である。一般に、この実施形態では、これらのフィルタリング又はリミッタオペレーションのいずれかは、試みられた通信と、通信の許可セットとの間の比較を伴う。試みられた通信が許される場合には、それをパスすることが許され、それが許されない場合には、パスすることが許されない。種々のエラーメッセージ及び/又は通知は、ルール又はポリシーに基づいて任意に実施できるが、そのようにするのが望ましい。   In one embodiment, limiters are coupled with switches (eg, switches 2350, 2360), while in other embodiments they are separate. Such a filter or limiter function may be implemented as part of the CCE logic, may be implemented as part of the ICE logic, or may be implemented as part of both. It is also optional to provide redundancy with some confirmation between the ICE element and the CCE element. In general, in this embodiment, either of these filtering or limiter operations involves a comparison between the attempted communication and a permitted set of communications. If the attempted communication is allowed, it is allowed to pass; if it is not allowed, it is not allowed to pass. While various error messages and / or notifications can be implemented arbitrarily based on rules or policies, it is desirable to do so.

制御及び分離ユーザ処理のための単一の時間的に分離された計算環境を有する実施形態
図12には、単一の物理的な計算環境しか与えないが、間欠的アクセス及び時間的又は時間分離されたアクセスを使用して複数の論理的又は仮想計算環境をサポートすることのできる実施形態が示されている。この単一の物理的計算環境は、前記実施形態で述べたCCEの制御と、1つ以上のユーザ処理セッションについての分離された処理計算環境とをサポートすることができる。時間的な分離を伴うこの形式の間欠的アクセスは、多数の物理的計算環境を有するか又はそれをサポートできる本発明の他の実施形態にも利用できる。
Embodiment with a single temporally separated computing environment for control and separation user processing FIG. 12 only provides a single physical computing environment, but intermittent access and temporal or temporal separation An embodiment is shown that can support multiple logical or virtual computing environments using the configured access. This single physical computing environment can support the control of the CCE described in the above embodiments and a separate processing computing environment for one or more user processing sessions. This type of intermittent access with temporal separation can also be used in other embodiments of the invention that have or can support multiple physical computing environments.

ここに示す実施形態では、単一の処理ロジック要素2404(例えば、プロセッサ、マイクロプロセッサ、ASIC、コントローラ、マイクロコントローラ、或いは他のロジック又は処理回路手段)は、スイッチ又はスイッチング手段2412を経て記憶装置2406に通信結合することができる。   In the illustrated embodiment, a single processing logic element 2404 (eg, a processor, a microprocessor, an ASIC, a controller, a microcontroller, or other logic or processing circuit means) is passed through a switch or switching means 2412 to a storage device 2406. Can be communicatively coupled.

一実施形態では、記憶装置2406は、分離計算環境記憶装置2410と制御計算環境2408との間に分離を与えるように物理的又は論理的に分割又は仕切ることができ、ここには、例えば、マスターテンプレート及び保護ユーザデータ並びにオペレーティングシステム及びアプリケーションプログラム要素を、汚染のおそれなく、記憶することができる。分離計算環境記憶装置は、ユーザデータのワーキングコピー、オペレーティングシステム及びアプリケーションプログラム要素、一時的記憶等をICEの実行中に記憶するために設けられる。共通の物理的記憶装置の共有は、ICEモードで動作する間にマリシャスコードが実行されても、保護データ記憶装置に到達し又はそれを汚染し又はそれに感染することがなく、例えば、マスターテンプレートやオリジナルの保護ユーザデータファイル等にダメージを及ぼすことがないよう保証する制御ルーチン又は手順により達成されるのが好都合である。   In one embodiment, the storage device 2406 can be physically or logically partitioned or partitioned to provide isolation between the isolated computing environment storage device 2410 and the control computing environment 2408, including, for example, a master Templates and protected user data and operating system and application program elements can be stored without fear of contamination. A separate computing environment storage device is provided for storing working copies of user data, operating system and application program elements, temporary storage, etc. during the execution of the ICE. Sharing common physical storage means that even if malicious code is executed while operating in ICE mode, it does not reach or contaminate or infect the protected data storage device, eg, a master template or Conveniently achieved by a control routine or procedure that ensures that the original protected user data file or the like is not damaged.

本発明の他の実施形態は、個別の物理的記憶装置又はメモリを使用し、そして割り当てられたメモリアドレス範囲をオーバーフローするハッカーの試みにより生じ得るアクセスのような偶発的なアクセスが生じることがないようにメモリアドレス又はアクセス制御を与える。計算環境のワーキング記憶装置を分離することに対して制御及び保護記憶装置のための個別の物理的記憶装置を設けることは、付加的な分離レベルが与えられる。というのは、通信ライン又はバスが2つを相互接続せず(即ち、物理的又は論理的にそれらのスイッチを切ってディスエイブルし)、汚染が生じることのないような完全な物理的分離の可能性を与えるからである。又、異なる物理的記憶装置を使用することは任意であるが、好都合なことに、制御環境記憶装置の部分に対してROM又はEEPROM、ICEに対してRAM、そして大きなデータ又はプログラム記憶装置に対してハードディスクドライブのような磁気記憶装置、といった異なる記憶装置を使用する効果を与える。又、記憶装置に対するICE又はCCEの各々の要求で、複数の異なる物理的メモリ及び/又はメモリ形式が使用されてもよい。   Other embodiments of the present invention use separate physical storage or memory and do not experience accidental accesses such as those that may occur due to hacker attempts to overflow the allocated memory address range. Memory address or access control. Providing separate physical storage for control and protection storage versus isolating the working storage of the computing environment provides an additional level of isolation. This is because the communication line or bus does not interconnect the two (ie, physically or logically switches them off and disables them) so that there is no complete physical separation so that no contamination occurs. It gives a possibility. It is also optional to use a different physical storage device, but conveniently it is ROM or EEPROM for the control environment storage portion, RAM for ICE, and for large data or program storage devices. The effect of using different storage devices such as a magnetic storage device such as a hard disk drive. Also, different physical memory and / or memory types may be used in each ICE or CCE request for storage devices.

スイッチ又はスイッチ手段2412は、入力/出力又は他の周辺装置(例えば、これに限定されないが、キーボード2416及びマウス2418)を計算環境の選択された1つに結合しそして分離するという役割も果たすことができる。同じ処理ハードウェアが異なる計算環境に一時的に割り当てられる実施形態では、入力、出力又は他の周辺装置の使用をイネーブル又はディスエイブルして希望の分離程度を維持するのに、依然、スイッチングが望ましい。例えば、キーボード及びマウスは、ワード処理アプリケーションを実行する両制御及び分離計算環境に結合できるが、ネットワークNICカードは、インターネットネットワークブラウジングセッションを実行する分離計算環境にしか結合もイネーブルもできず、制御環境には結合もイネーブルもできない。   The switch or switch means 2412 also serves to couple and disconnect input / output or other peripheral devices (eg, but not limited to a keyboard 2416 and mouse 2418) to a selected one of the computing environments. Can do. In embodiments where the same processing hardware is temporarily assigned to different computing environments, switching is still desirable to enable or disable the use of inputs, outputs or other peripherals to maintain the desired degree of isolation. . For example, a keyboard and mouse can be coupled to both control and separation computing environments that run word processing applications, while a network NIC card can only be coupled and enabled to a separation computing environment that runs Internet network browsing sessions. Cannot be combined or enabled.

一実施形態では、ブートを開始するか又は既知の初期状態へ再スタートするためにリセットモードが設けられる。この開始状態に対するオペレーティングシステム及びアプリケーションプログラムは、リセット及び再ロードを容易に行える形態で、制御環境記憶装置2408の不揮発性メモリに記憶される。一実施形態では、それが高速ROMに記憶される。このモードは、分離計算環境が、1つ以上の新たなファイル又はデータセットの発生、又はこのようなファイル又はデータセットの改訂された又は新規のバージョン(1つ又は複数)の発生を通常導く処理オペレーションを実行するのを許す。一実施形態では、リセットモード手順は、このような新たな又は改訂されたファイル又はデータセットに対して記憶装置の特定の領域を探索し、そして保護記憶装置へコピーを行って、規定のルール又はポリシーに従い保護記憶装置にファイルを追加するか又は交換する。リセットモード手順は、単にファイル又はデータセットをコピーするが、それをオープンしたり実行したりしないので、上述した他の実施形態と同様に保護が維持される。   In one embodiment, a reset mode is provided to initiate a boot or restart to a known initial state. The operating system and application program for the start state are stored in the nonvolatile memory of the control environment storage device 2408 in a form that can be easily reset and reloaded. In one embodiment, it is stored in a high speed ROM. This mode is the process by which the segregated computing environment typically leads to the generation of one or more new files or data sets, or the generation of revised or new version (s) of such files or data sets. Allow to perform the operation. In one embodiment, the reset mode procedure searches a specific area of the storage device for such a new or revised file or data set and makes a copy to the protected storage device to create a prescribed rule or Add or replace files in protected storage according to policy. The reset mode procedure simply copies the file or data set, but does not open or execute it, so protection is maintained as in the other embodiments described above.

別の実施形態では、共有ハードウェアリソースとの時間的な分離が、中間ロジック又はプロセッサ2402の状態を記憶及び再記憶することにより達成される。プロセッサ2404及び他の必要な状態情報又はデータを記憶することにより、制御プロセスのような1つのプロセスに割り込みことができ、割り込み及び再開時にプロセッサ状態を記憶及び再記憶するようにして新たな分離計算プロセスを行うことができ(完全に又は部分的に)、等々である。このように、最小の物理的なハードウェアセットを使用して多数の処理セッションを行うことができる。規定の時間周期中に多数のプロセスを取り扱いできるようにプロセッサ状態を記憶及び再記憶する構造及び方法を、時々、同時処理又はマルチタスクと称する。これらの既知の構造及び方法は、ここでは、詳細に説明しない。しかしながら、本発明に関連して、複数の計算環境に対してプロセッサ2404の状態を個別に記憶して分離を維持すると共にマリシャスコードが分離を回避できないようにするためにレジスタ又は他のメモリ記憶装置を設けてもよいことに注意されたい。従って、プロセッサの各個々の時間的に割り当てられるセグメント(例えば、チップ、RAM、記憶装置、又はそれらのある組合せ、或いは他の要素又はセグメント)は、個々に、又はあるグループとして、或いは集合的に、リセット又は修理することができる。   In another embodiment, temporal separation from shared hardware resources is achieved by storing and re-storing intermediate logic or processor 2402 state. By storing the processor 2404 and other necessary state information or data, one process, such as the control process, can be interrupted, and the processor state can be stored and re-stored upon interrupt and resume, a new separation calculation The process can be performed (completely or partially), and so on. In this way, a large number of processing sessions can be performed using a minimal physical hardware set. The structure and method of storing and restoring processor state so that multiple processes can be handled during a defined time period is sometimes referred to as concurrency or multitasking. These known structures and methods are not described in detail here. However, in connection with the present invention, a register or other memory storage device to store the state of the processor 2404 individually for multiple computing environments to maintain isolation and to prevent malicious code from avoiding isolation. Note that may be provided. Thus, each individual temporally allocated segment of a processor (eg, chip, RAM, storage, or some combination thereof, or other element or segment) may be individually, as a group, or collectively Can be reset or repaired.

一実施形態では、個別のリセットロジック2450がハードウェア又はソフトウェアリセットボタン又はスイッチ2451に結合され、これは、異なる計算環境間を遷移すると共に、1つのプロセスが割り込まれたときに状態を記憶し、そしてプロセスが再開したときにその状態を復帰させるための必要な分離制御を与える。リセットロジックは、ハードワイヤードロジックでもよいしプログラム可能でもよく、状態の記憶及び復帰、並びに他の装置2400のパラメータ及び条件の設定を行うための信号をプロセッサ2404へ発生する。装置要素への制御ラインは、状態記憶レジスタ2453と、記憶装置2406と、プロセッサ2404と、スイッチ2412との間に必要に応じて設けられる。ある実施形態では、分離計算環境におけるプロセスは、一般に、制御プロセスのみが保留され、次いで、再開されるように、完了に向かって実行することができる。他の実施形態では、いかなるプロセスも保留されそして再開される。   In one embodiment, a separate reset logic 2450 is coupled to a hardware or software reset button or switch 2451 that transitions between different computing environments and stores state when one process is interrupted, It then provides the necessary separation control to restore that state when the process resumes. The reset logic, which may be hardwired logic or programmable, generates signals to the processor 2404 for storing and restoring states and setting other device 2400 parameters and conditions. Control lines to the device elements are provided as needed between the state storage register 2453, the storage device 2406, the processor 2404, and the switch 2412. In certain embodiments, processes in a separate computing environment can generally run toward completion so that only the control process is suspended and then resumed. In other embodiments, any process is suspended and resumed.

この形式のある実施形態は、いわゆるシン(thin)計算装置、例えば、セルラー電話等に特に適用できることが明らかである。このような装置では、装置の一回の使用中に、電話の会話に関連した音声処理、電子的イメージ又はピクチャーの受信、カレンダーアイテム又は電話番号のロックアップを取り扱う必要がある。最小限のハードウェアを使用してこの形式の多数のプロセスを容易にすることにより、装置のコストを削減し、小さなサイズを維持し、そして消費電力及び発熱の減少を達成することができる。   It will be appreciated that certain embodiments of this type are particularly applicable to so-called thin computing devices such as cellular telephones. Such devices need to handle voice processing associated with telephone conversations, receipt of electronic images or pictures, calendar item or phone number lock-up during a single use of the device. By facilitating a large number of processes of this type using minimal hardware, the cost of the device can be reduced, a small size can be maintained, and a reduction in power consumption and heat generation can be achieved.

制御及び分離ユーザ処理に対する単一の時間的共有計算環境を有する別の実施形態
図13の実施形態を参照すれば、本発明の態様によるアーキテクチャー及びシステム2500の一般的コンフィギュレーションが示されている。この実施形態では、第1の計算環境2501は、デスクトップ環境及び制御環境の機能、これら機能及び/又は環境の消去/再フォーマット、スイッチ(1つ又は複数)、スイッチコンフィギュレーション(1つ又は複数)、保護記憶装置(1つ又は複数)、ネットワークインターフェイス及び接続又はカード、ある分離レベルを与え又は保存するための能力限定通信機能との所定の又は動的に決定された通信を有するASIC、ビデオ処理及び/又はビデオ制御、マウス及びキーボード入力、入力/出力接続、周辺装置接続及び制御、並びに必要に応じたそれらの組合せを含むか、又は含んでサポートするように構成することができる。この第1計算環境2501は、スイッチ2503(それ自体、第1の計算環境内で任意に構成又は実施されてもよい)を経て第2の即ちユーザ計算環境2502へ結合される。この第2のユーザ計算環境は、本発明の先の実施形態で説明されたものと同じ分離を有し、それ故、ウイルス、ハッカー、サイバーテロ、及びマリシャスコンピュータプログラムコードによる他の偶発的又は意図的な攻撃又は汚染に対して同じ免疫性を与える。
Alternative Embodiment with Single Time Shared Computing Environment for Controlled and Decoupled User Processing Referring to the embodiment of FIG. 13, an architecture and general configuration of system 2500 according to aspects of the present invention is shown. . In this embodiment, the first computing environment 2501 includes desktop environment and control environment functions, erasure / reformatting of these functions and / or environments, switch (s), switch configuration (s). ASIC with predetermined or dynamically determined communication with protected storage device (s), network interface and connection or card, limited communication capability to provide or store a certain isolation level, video processing And / or may be configured to include or include support for video control, mouse and keyboard input, input / output connections, peripheral device connections and controls, and combinations thereof as required. This first computing environment 2501 is coupled to a second or user computing environment 2502 via a switch 2503 (which may itself optionally be configured or implemented within the first computing environment). This second user computing environment has the same separation as described in previous embodiments of the present invention, and therefore other incidental or intent by virus, hacker, cyber terror, and malicious computer program code Give the same immunity to common attacks or contamination.

通常、ユーザ計算環境2502は、ビデオ出力信号を発生し、これは、ユーザ計算環境によるか又は第1の制御計算環境2501を経て処理されてディスプレイ装置に表示することができる。しかしながら、本発明のある実施形態では、全ての計算環境がビデオ出力信号を必要とするのではないし、又、個別の計算環境が生成されたことにユーザが気付くのを必要とするのでもないことが明らかであろう。例えば、あるセルラー電話では、音声信号を処理又はコード化及びデコードするために生成された計算環境は、ビデオ出力を必要とせず、必要な信号を単に発生するだけである。これは、出力がデータセットである状況の一例に過ぎず、この例でも、データセットが発生されて、リアルタイム又はほぼリアルタイムで使用され、記憶はされない。本書の説明から、計算環境の入力及び出力は処理タスクに基づいて異なることが明らかであろう。   Typically, the user computing environment 2502 generates a video output signal that can be processed by the user computing environment or processed through the first control computing environment 2501 and displayed on a display device. However, in some embodiments of the present invention, not all computing environments require a video output signal, nor does the user need to be aware that a separate computing environment has been generated. Will be clear. For example, in some cellular telephones, the computing environment created to process or encode and decode the audio signal does not require video output and simply generates the necessary signal. This is just one example of a situation where the output is a data set, in which case the data set is generated and used in real time or near real time and is not stored. From the description herein, it will be apparent that the input and output of the computing environment will vary based on the processing task.

スイッチ又はスイッチング手段2503は、ユーザ計算環境2502と第1の計算環境2501との間でデータ2506(例えば、ユーザファイル又はドキュメントのコピー)を結合又は分離することができ、第1の計算環境は、システム2500のオペレーションに対して制御、インターフェイス、保護記憶装置、スイッチング及び他の機能を取り扱う。通信ライン及び任意のASIC又は他のロジック回路又はロジック手段を含む付加的な任意の限定通信リンク2508を設けて、本明細書のどこかに述べるように、ファイルをセーブし、計算環境を消去し、メモリを消去し、記憶装置を消去し、ウインドウ及び/又はオブジェクト座標及び認識を通信し、マウス座標を通信し、等々のオペレーションをサポートすることができる。これらのスイッチングは任意であり、通信経路は直接的でよく、そして信号(コマンド、データ等)の組合せを合成してマルチプレクスするか、さもなければ、通信リンクの規定のセットを経て通信できることが明らかであろう。このような通信リンクは、この技術で知られたように、ワイヤ、バス、光学リンク、又は他の接続手段でよい。   A switch or switching means 2503 can combine or separate data 2506 (eg, a copy of a user file or document) between the user computing environment 2502 and the first computing environment 2501, wherein the first computing environment is: Handles control, interface, protection storage, switching and other functions for the operation of system 2500. An optional optional limited communication link 2508 including a communication line and optional ASIC or other logic circuit or logic means is provided to save files and erase the computing environment as described elsewhere herein. , Erase memory, erase storage, communicate window and / or object coordinates and recognition, communicate mouse coordinates, and so on. These switchings are optional, the communication path may be direct, and a combination of signals (commands, data, etc.) may be combined and multiplexed, or otherwise communicated via a defined set of communication links. It will be clear. Such a communication link may be a wire, bus, optical link, or other connection means, as is known in the art.

ここに述べる他の実施形態については、通信経路を経て送られるビット又はデータの形式、パターン、数又は量をフィルタし又は制限するために、フィルタ又はリミッタ2510を通信経路に設けることができる。他の任意の特殊な専用の通信経路又はリンク2526を、他の一般的な共有可能な通信経路又はリンクと同様に設けることができる。   For other embodiments described herein, a filter or limiter 2510 may be provided in the communication path to filter or limit the type, pattern, number or amount of bits or data sent over the communication path. Any other special dedicated communication path or link 2526 can be provided as well as other common sharable communication paths or links.

PCカードバス又はインターフェイスカード実施形態及び従来のコンピュータ
本発明のシステム、アーキテクチャー及び方法の多数の実施形態について説明したが、望ましい性能レベルに適した帯域巾を与えるISAバス、PCIバス、USBバス、SCSIバス、PCカードバス、又は他のバス又はインターフェイスを経てアタッチされるカード又は他の回路に適した本発明のシステム、アーキテクチャー、及び方法の実施について以下に説明する。同様に、本発明は、システム又は周辺バス、例えば、ISA、PCI、SCSI、ファイアウオール、USB又は他のバス又は接続に改造可能に差し込むことのできるカード、チップ、又はチップセットに関連して使用することができる。
PC card bus or interface card embodiments and conventional computers While numerous embodiments of the system, architecture and method of the present invention have been described, an ISA bus, PCI bus, USB bus, which provides bandwidth suitable for the desired performance level, The implementation of the system, architecture, and method of the present invention suitable for cards or other circuits attached via a SCSI bus, PC card bus, or other bus or interface is described below. Similarly, the present invention is used in connection with a card, chip, or chipset that can be retrofitted into a system or peripheral bus, eg, ISA, PCI, SCSI, firewall, USB or other bus or connection. be able to.

PCカード実施は、特に有用である。というのは、PCカードスロット又はケーブルを有するノートブックコンピュータ及び他の情報機器を改造して、ノートブックコンピュータを完全に交換せずにセキュリティのレベル、並びにウイルス防止及びハッカー防止性能を与えることができるからである。   PC card implementation is particularly useful. This is because notebook computers and other information devices with PC card slots or cables can be modified to provide a level of security and anti-virus and anti-hacker performance without completely replacing the notebook computer Because.

図14を参照し、ホストコンピュータプロセッサ及びメインプロセッサメモリに結合されるPCカードの要素について説明する。典型的なPCカードインターフェイスでは、PCカードは、この技術で良く知られたPCI対カードバスブリッジを経てコンピュータのPCIローカルバスに接続される。PCIローカルバスは、次いで、ホスト対PCIブリッジを経てホストコンピュータバスに結合される。このホストバスは、ホストコンピュータプロセッサ又はCPUに結合される同じバスである。ホストプロセッサ及びホストコンピュータの全ての周辺機器へのアクセスは、本発明のシステム、アーキテクチャー及び方法の効果を有するPCカードベースの補助処理システムを改造する機会を与える。   With reference to FIG. 14, the elements of the PC card coupled to the host computer processor and main processor memory will be described. In a typical PC card interface, the PC card is connected to the computer's PCI local bus via a PCI to card bus bridge as is well known in the art. The PCI local bus is then coupled to the host computer bus via a host-to-PCI bridge. This host bus is the same bus that is coupled to the host computer processor or CPU. Access to all peripherals of the host processor and host computer provides an opportunity to retrofit the PC card based auxiliary processing system having the benefits of the system, architecture and method of the present invention.

図14には、本発明のPCカードバージョンが概略図で示されている。PCカードは好都合に使用されるが、本発明は、他の異なる装置で実施されて、現存の又は開発される他のインターフェイスによりノートブックコンピュータ又は他の情報機器に接続又は結合されてもよいことが明らかであろう。   FIG. 14 schematically shows a PC card version of the present invention. Although PC cards are advantageously used, the present invention may be implemented on other different devices and connected or coupled to a notebook computer or other information device by other existing or developed interfaces. Will be clear.

PCカードバスは、本発明システムの回路をノートブックコンピュータに結合するのに必要な全ての信号を供給する。一実施形態において、ホストコンピュータの回路は、ユーザインターフェイス計算環境を与えるのに使用されるが、他の実施形態では、PCカードのプロセッサのみが処理に使用される。一実施形態では、ホストコンピュータのハードディスクドライブが使用されるが、他の実施形態では、PCカード上の、又はケーブルによりPCカードに結合されたソリッドステートメモリが使用される。好都合にも、コンピュータが多数のPCカードスロット又はコネクタを有する場合には、1つのスロットが、本発明のプロセッサシステムを支持するPCカードを取り付けて接続することができ、そして第2のカードが、ハードディスクドライブ、光学的、ソリッドステート又は他のメモリ記憶装置、或いはそれらの組合せを有するメモリ記憶装置を支持することができる。又、プロセッサPCカード及びPCカードベースの記憶装置の両方に記憶装置を設けることもできる。   The PC card bus provides all the signals necessary to couple the system of the present invention to the notebook computer. In one embodiment, the host computer circuitry is used to provide a user interface computing environment, while in other embodiments, only the PC card processor is used for processing. In one embodiment, the hard disk drive of the host computer is used, while in other embodiments, solid state memory on the PC card or coupled to the PC card by a cable is used. Conveniently, if the computer has multiple PC card slots or connectors, one slot can be installed and connected to a PC card that supports the processor system of the present invention, and the second card is Memory storage devices can be supported including hard disk drives, optical, solid state or other memory storage devices, or combinations thereof. It is also possible to provide a storage device for both the processor PC card and the PC card-based storage device.

図15は、PCカード2602をPCI対カードバスブリッジ2604に結合し、そして該ブリッジ回路によりPCIローカルバス2605に結合するための一般化されたアーキテクチャー2600を示す図である。このPCIローカルバスは、次いで、ホスト−PCIブリッジ2610に結合され、これは、ホストバス2612及びホストプロセッサ2614へのアクセスを与える。又、DRAMのようなメインメモリ2616が、ホスト−PCIブリッジ2610を経てホストバス2612及びPCIローカルバス2505に結合される。この実施形態におけるPCカードは、本発明のコンピュータシステムを含み、一方、ホストプロセッサ2614は、従来のノートブック又はデスクトップコンピュータにインストールされたプロセッサである。ISA又はPCIカードについては、この技術で良く知られたように、それらをISAローカルバス又はISAバスに直接結合できることが明らかであろう。PCカード2602は、記憶装置、ネットワーク相互接続カード(NIC)、モデム、グラフィックプロセッサ、ワイヤレス通信、及び他の装置、並びに全コンピュータシステムの周辺動作特徴を含むのが好都合である。   FIG. 15 is a diagram illustrating a generalized architecture 2600 for coupling a PC card 2602 to a PCI-to-card bus bridge 2604 and to the PCI local bus 2605 by the bridge circuit. This PCI local bus is then coupled to a host-PCI bridge 2610, which provides access to the host bus 2612 and the host processor 2614. A main memory 2616 such as a DRAM is coupled to the host bus 2612 and the PCI local bus 2505 via the host-PCI bridge 2610. The PC card in this embodiment includes the computer system of the present invention, while the host processor 2614 is a processor installed in a conventional notebook or desktop computer. For ISA or PCI cards, it will be apparent that they can be coupled directly to an ISA local bus or ISA bus, as is well known in the art. The PC card 2602 conveniently includes storage devices, network interconnect cards (NICs), modems, graphics processors, wireless communications, and other devices, as well as peripheral operating characteristics of the entire computer system.

それとは別に又はそれに加えて、PCカード2602は、このような装置をカードに結合するためのコネクタを含んでもよい。他の実施形態では、記憶、通信、ビデオ処理、又は他の特徴を増強し、そして本発明の処理及び計算環境を含むPCカード(又はデスクトップ型コンピュータにおける他のプラグインカード)2602と協働するために、第2のPCカードが設けられてもよい。改造可能又は差し込み可能なパッケージに本発明の計算及び処理環境を設けるための能力を、種々のハンドヘルド及びポータブル装置、例えば、セルラー電話、オーガナイザー、パーソナルデータアシスタント、衛星電話、機器、娯楽システム、或いはプラグインカード又は外部インターフェイス能力を有する他の装置又はシステムへと拡張することができる。   Alternatively or additionally, PC card 2602 may include a connector for coupling such a device to the card. Other embodiments enhance storage, communication, video processing, or other features and cooperate with a PC card (or other plug-in card in a desktop computer) 2602 that includes the processing and computing environment of the present invention. Therefore, a second PC card may be provided. Various handheld and portable devices such as cellular phones, organizers, personal data assistants, satellite phones, equipment, entertainment systems, or plugs can be used to provide the computing and processing environment of the present invention in a modifiable or pluggable package It can be extended to other devices or systems with in-card or external interface capabilities.

図16は、個別の動的に構成可能なシステム要素、例えば、これに限定されないが、メモリ要素(例えば、RAM又はROM)2702、任意の形態のデータ記憶装置(例えば、磁気ハードディスクドライブ又は他の記憶装置サブシステム又は装置2706、ソリッドステートメモリ2708、光学記憶装置2709、等)、ビデオ処理要素2704、信号処理要素2711、イーサネットインターフェイス2712、ネットワークインターフェイスカード2713又は能力、モデム2714、ワイヤレスインターフェイス2715、プロセッサ2705、スイッチ又はスイッチング要素2730、通信経路、ワイヤ及び/又はバス2720、ASICS2717、並びに本発明に関して述べる他の要素を備えた本発明の実施形態2700を示している。この図には相互接続能力しか示されておらず、これは、付加的なアーキテクチャー、トポロジー、システム及び方法の細部を与える本発明の上述した実施形態のいずれに適用することもできる。初期化の際、オペレーション中(他の処理オペレーションが進行中であるときにも)、又はシステムリセットの際に、動的な構成又は再構成を行うことができる。ある実施形態では、異なる要素及び素子の、異なる計算環境への割り当てを識別する割り当てテーブル又はデータ構造2725が記憶される。   FIG. 16 illustrates individual dynamically configurable system elements, such as, but not limited to, memory elements (eg, RAM or ROM) 2702, any form of data storage device (eg, magnetic hard disk drive or other Storage subsystem or device 2706, solid state memory 2708, optical storage 2709, etc.), video processing element 2704, signal processing element 2711, Ethernet interface 2712, network interface card 2713 or capability, modem 2714, wireless interface 2715, processor 2705, switch or switching element 2730, communication path, wire and / or bus 2720, ASICS 2717, and other elements described in connection with the present invention, embodiment 2700 of the present invention. It is. Only the interconnection capability is shown in this figure, which can be applied to any of the above-described embodiments of the invention that provide additional architectural, topology, system and method details. Dynamic configuration or reconfiguration can be performed at initialization, during operation (even when other processing operations are in progress), or at system reset. In one embodiment, an assignment table or data structure 2725 is stored that identifies assignments of different elements and elements to different computing environments.

これら要素の幾つか又は全部の動的な構成は、本発明のアーキテクチャー、システム及び方法の他の実施形態について既に説明した。例えば、先に述べたように、計算環境、及びこのような計算環境の要素は、モジュラーであり、計算環境を構成する欠陥要素又は要素のセットがワーキング部分に対してスワップされるか又は修理されるまで、CSCE又はCCE計算環境のような制御エンティティにより特定の結果要素及び/又は計算環境を使用停止にできるように動的に構成することができる。又、上述したように、本発明のある実施形態は、動的に割り当て可能で且つ構成可能な中央処理ユニット(CPU)、マイクロプロセッサ、マイクロコントローラ、ASIC、又はある組合せを使用して、上述した形式の計算環境又は処理環境を生成するための物理的構造を与えることができる。この動的な構成は、異なる特徴をもつ要素又は素子をシステム内で物理的に使用できるときに特定の処理タスクに適するように要素又は素子の特性を選択する上で融通性も与える。ある場合には、処理又は計算タスクの複雑さが、非常に高速なプロセッサ又は大きなメモリの必要性のような希望の計算環境をサポートする物理的素子を指令し、或いは他の場合には、ほんの僅かな処理パワー又は速度及び最小量のメモリしか必要としない控え目な監視タスクに対して電力消費を最小にする要望をサポートする物理的素子を指令する。このような選択及び構成は、ユーザ制御のもとで行われるか、より一般的には、コンピュータシステムの自動制御のもとで、ある所定の又は動的に決定されたルール又はポリシーに基づいて行われ、そして任意であるが望ましくは、ある測定されたコンピュータシステムの物理的又は論理的状態、環境条件、処理要求及び複雑さ、アプリケーションプログラムサイズ及びデータセットサイズに基づいて行われることを想起されたい。本発明の他の実施形態は、コンピュータの製造時に物理的に接続されない場合でも、又、コンピュータシステムハードウェア内に隣接配置されなくても、コンピュータ素子としてアッセンブルできる個別素子(例えば、CPU及び記憶装置)の動的な割り当てを与える。ある実施形態では、動的な割り当て及び構成は、先に述べたスイッチングシステムを経て外部ポートを通って構成できるような外部要素又は素子を含みそして使用することができる。ある実施形態では、制御計算環境(例えば、CSCE、CCE、又はここに述べる他の制御計算環境)は、周辺装置、入力/出力装置、及び/又は記憶装置に対して述べたスイッチ又はスイッチングシステムを組み込み及び/又は制御して、通信経路をイネーブルし、計算システム素子を一緒にスイッチし、そしてリンク及び接続を構築して、意図されたオペレーションを行うことができる。   The dynamic configuration of some or all of these elements has already been described for other embodiments of the architecture, system and method of the present invention. For example, as mentioned above, the computing environment and the elements of such a computing environment are modular, and the defective elements or sets of elements that make up the computing environment are swapped or repaired to the working part. Until then, certain result elements and / or computing environments can be dynamically configured by a control entity such as a CSCE or CCE computing environment. Also, as noted above, certain embodiments of the present invention are described above using a dynamically assignable and configurable central processing unit (CPU), microprocessor, microcontroller, ASIC, or some combination. A physical structure can be provided to create a form of computing or processing environment. This dynamic configuration also provides flexibility in selecting the characteristics of an element or element to suit a particular processing task when elements or elements having different characteristics can be physically used in the system. In some cases, the complexity of the processing or computing task dictates the physical elements that support the desired computing environment, such as the need for a very fast processor or large memory, or in other cases only Direct physical elements that support the desire to minimize power consumption for conservative monitoring tasks that require little processing power or speed and a minimum amount of memory. Such selection and configuration is made under user control or, more generally, based on certain predetermined or dynamically determined rules or policies under automatic control of the computer system. Recall that it is done optionally and preferably based on the measured physical or logical state of the computer system, environmental conditions, processing requirements and complexity, application program size and data set size. I want. Other embodiments of the present invention provide for discrete elements (eg, CPUs and storage devices) that can be assembled as computer elements, even if they are not physically connected at the time of manufacture of the computer, or even if not adjacent to the computer system hardware. ) Give dynamic allocation. In certain embodiments, dynamic assignment and configuration can include and use external elements or elements that can be configured through an external port via the switching system described above. In some embodiments, the control computing environment (eg, CSCE, CCE, or other control computing environment described herein) includes a switch or switching system described for peripheral devices, input / output devices, and / or storage devices. It can be incorporated and / or controlled to enable communication paths, switch computing system elements together, and establish links and connections to perform the intended operations.

図16は、単一の概略的な「ライン」に接続されたものとして異なる形式の要素を示しているが、各要素は、適切な電気的(又は光学的)特性を有するワイヤ、ワイヤのセット、バス、又は他の通信リンクと、意図された通信をサポートするためのシグナリングプロトコルとにより、他の要素へ結合されることが明らかである。このような適切な特性は、従来のもので、この技術で良く知られており、従って、ここでは詳細に説明しない。本発明のある実施形態は、全ての上述した要素及び素子(並びに特に取り上げなかった他のもの)の動的な構成を与えるが、他の実施形態は、更に限定された動的な構成、例えば、動的に又は固定的に構成された計算環境に対して異なるデータ記憶装置を動的に構成する能力を与えることも明らかであろう。   FIG. 16 shows the different types of elements as connected to a single schematic “line”, but each element is a wire, set of wires with appropriate electrical (or optical) properties. Obviously, it is coupled to other elements by a bus or other communication link and a signaling protocol to support the intended communication. Such suitable characteristics are conventional and well known in the art and are therefore not described in detail here. While certain embodiments of the present invention provide a dynamic configuration of all the above-described elements and elements (and others not specifically addressed), other embodiments provide a more limited dynamic configuration, such as It will also be apparent that it provides the ability to dynamically configure different data storage devices for a dynamically or fixedly configured computing environment.

図17は、スイッチ「X」を経て異なる信号ライン又はバスへ計算環境要素を接続する要素及びワイヤ、バス又は他のインターフェイスのセットを各々有する複数の計算環境の実施形態を示している。複数のデータ記憶サブシステムも示されており(おそらく、異なる論理的パーティションと共に、又はそれ自体、複数の物理的装置で構成されて)、これは、異なる計算環境により使用するために全コンピュータシステムに動的に割り当てることができる。ある実施形態では、各々の計算環境は、幾つかのデータ記憶要素を含むことができ、そして動的に割り当て可能又はスイッチ可能なデータ記憶装置は、記憶又は処理タスク(例えば、一時的記憶を含む)に対する必要な記憶容量が、定義された計算環境内で利用可能な記憶量を越えるときに付加的な記憶容量を表わす。   FIG. 17 illustrates an embodiment of multiple computing environments, each having a set of wires, buses or other interfaces and elements that connect the computing environment elements to different signal lines or buses via a switch “X”. Multiple data storage subsystems are also shown (possibly with different logical partitions, or themselves composed of multiple physical devices), which can be used on all computer systems for use by different computing environments. Can be assigned dynamically. In certain embodiments, each computing environment can include a number of data storage elements, and the dynamically assignable or switchable data storage device includes storage or processing tasks (eg, temporary storage). ) Represents additional storage capacity when the required storage capacity for) exceeds the storage available in the defined computing environment.

図18は、本発明の計算環境2801が、多数のキーボード2803及びマウス2804(或いは他の入力又はポインティング装置)を、キーボード通信ライン又はリンク2807(例えば、電気的ケーブル又はワイヤレスリンク)及びマウス通信ライン又はリンク2808を経て、本発明のコンピュータシステム又は全計算環境2801内の分離計算環境(ice)の分離「セット」にどのように結合し、そしてビデオ通信信号リンク2806を経て積層ビデオの多数の個別「セット」に結合できるかを示している。出力が単一モニタ又は個別モニタ2805に送信されて、独立した「ノード」2802−1、・・・2802−Nを生成し、これらは、互いに独立し且つ分離して、しかも全てが単一のコントローラ又は制御環境の制御のもとで動作を遂行することができる。   FIG. 18 illustrates that the computing environment 2801 of the present invention allows multiple keyboards 2803 and mice 2804 (or other input or pointing devices), keyboard communication lines or links 2807 (eg, electrical cables or wireless links) and mouse communication lines. Or via a link 2808 how to combine into a separate “set” of the computer system of the present invention or a separate computing environment (ice) within the entire computing environment 2801, and via a video communication signal link 2806 a number of discrete video Indicates whether it can be combined into a “set”. The output is sent to a single monitor or individual monitor 2805 to generate independent “nodes” 2802-1,... 2802-N, which are independent and separate from each other, yet all single. Operations can be performed under the control of a controller or control environment.

複数の動的に構成された仮想計算環境又は処理環境を有する実施形態
本発明の種々の実施形態について述べたが、これらは、(i)ユーザインターフェイス、制御及びスイッチングの機能と、保護記憶装置計算環境とを結合する実施形態(例えば、図9及び図10並びにそれに伴う説明を参照されたい);(ii)システム要素が動的に構成可能である実施形態(例えば、図10及びそれに伴う説明を参照されたい);(iii)制御及び分離ユーザ処理のために単一の時間的に分離された計算環境が存在する実施形態(例えば、図12及びそれに伴う説明を参照されたい);(iv)制御及び分離ユーザ処理のために単一の時間的に共有された計算環境が存在する実施形態(例えば、図13及びそれに伴う説明を参照されたい);(v)PCカードバス又は他のインターフェイスカード及び従来のコンピュータが存在する実施形態(例えば、図14及び図15並びにそれに伴う説明を参照されたい);(vi)計算タスク又はその他に基づいて計算環境を定義するための個別の動的に構成可能なシステム要素をシステムが有する実施形態(例えば、図16及びそれに伴う説明を参照されたい);及び(vii)複数の計算環境が定義又は構成され、その各々は、要素のあるセットと、計算環境要素を、スイッチ又はマルチプレクサ(即ち、スイッチの整合されたセット)を経て、異なる信号ライン又はバスへ接続するワイヤ、バス又は他のインターフェイスとを有するような実施形態(例えば、図17及びそれに伴う説明を参照されたい)を含むものである。又、本発明の他の実施形態についても説明され、このリストは、全ての実施形態を識別することを試みるものではなく、ここで、仮想処理空間及び仮想処理環境と称される別の実施形態を表示するための基礎を確立するものである。
Embodiments Having Multiple Dynamically Configured Virtual Computing Environments or Processing Environments Various embodiments of the present invention have been described which include (i) user interface, control and switching functions, and protected storage computing. Embodiments that combine with the environment (see, eg, FIGS. 9 and 10 and accompanying descriptions); (ii) Embodiments in which system elements are dynamically configurable (see, eg, FIG. 10 and accompanying descriptions) (Iii) embodiments in which there is a single temporally separated computing environment for control and separation user processing (see, eg, FIG. 12 and accompanying description); (iv) Embodiments in which there is a single temporally shared computing environment for control and segregated user processing (see, eg, FIG. 13 and accompanying description); (v) PC card bar An embodiment in which a computer or other interface card and a conventional computer are present (see, eg, FIGS. 14 and 15 and accompanying descriptions); (vi) for defining a computing environment based on computing tasks or otherwise Embodiments in which the system has individual dynamically configurable system elements (see, eg, FIG. 16 and accompanying description); and (vii) multiple computing environments are defined or configured, each of which is an element Embodiments having a set of computing environment elements and wires, buses or other interfaces that connect computing environment elements through switches or multiplexers (ie, matched sets of switches) to different signal lines or buses (eg, , See FIG. 17 and accompanying description). Other embodiments of the invention are also described, and this list does not attempt to identify all embodiments, but another embodiment referred to herein as a virtual processing space and a virtual processing environment. It establishes the basis for displaying.

以下に述べるように、この実施形態は、物理的システム要素(選択、割り当て及びスイッチングの態様を含む)の動的なコンフィギュレーションを、時間的マルチプレクシング(時間又は時間的次元)の拡張と共に、多次元仮想処理空間における次元の任意のセットに合体させる。又、これら実施形態は、動的構成の観念、及びPCカードバス又は他のインターフェイスカード延長の概念を、他のプラグインカード又はモジュール、例えば、PCIカードスロットドーターボード、マザーボードチップセット交換又は追加、並びに従来の要素間に介在できるインターフェイス、例えば、従来のマイクロプロセッサ(例えば、インテル、アドバンスト・マイクロデバイシス、モトローラ及びその他により製造された形式)及び従来のコンピュータのマザーボード及びプロセッサに差し込むことのできる(さもなければ、嵌合できる)本発明のインターフェイスを備えた実施形態へと拡張することができる。更に、プラグインカード及びインターフェイスの概念を結合することもできる。仮想処理又は計算空間、及び仮想処理又は計算環境の実施形態を以下に詳細に説明する。   As described below, this embodiment allows for the dynamic configuration of physical system elements (including aspects of selection, assignment and switching), along with the expansion of temporal multiplexing (time or temporal dimension). Merge into any set of dimensions in a dimensional virtual processing space. These embodiments also introduce the concept of dynamic configuration and the concept of PC card bus or other interface card extension to other plug-in cards or modules such as PCI card slot daughter board, motherboard chipset replacement or addition, As well as interfaces that can be interposed between conventional elements, such as conventional microprocessors (eg, the types manufactured by Intel, Advanced Microdevices, Motorola and others) and conventional computer motherboards and processors ( Otherwise, it can be extended to embodiments with the interface of the present invention (which can be mated). In addition, the concept of plug-in cards and interfaces can be combined. Embodiments of the virtual processing or computing space and the virtual processing or computing environment are described in detail below.

複数のマルチプレクス可能な仮想処理環境(VPE)を有する多次元仮想処理空間(VPS)の実施形態
この実施形態及び上述した実施形態は、各プロセスが仮想処理空間に常駐するか又は常駐するかもしれない他の各プロセスと分離状態で維持されるようなウイルス、ハッカー及び他のマリシャスコード免疫環境を提供する。外部及び潜在的に汚染されたソースからのプロセス入力は、入力アイソレータを経て、仮想処理空間内の分離処理環境へと処理され、この環境は、新たなプロセスを受け容れる前に清掃され、クリアされ、さもなければ、既知の信頼性のある状態へとリセットされ、以前のプロセスにより導入されたかもしれない汚染が排除されるようにする。次いで、この処理環境は、受け取った外部プロセスを処理又は実行し、そして完了の際に、プロセス出力又は結果を、出力アイソレータを経て、外界、例えば、要求を発しているプロセス、又は結果を受け入れるように構成された別のプロセスに向ける。入力及び出力アイソレータは、同じ物理的アイソレータでもよいし、異なるものでもよく、異なるアイソレータを使用する利点は、到来するプロセスを、出て行くプロセスと、時間的に一部重畳して取り扱いできることである。処理環境が、処理中に、ウイルス或いは他のマリシャスコード又はダメージコード(データに見せかけたコードでも)を実行するか又は実行を試みるような問題を検出した場合には、プロセスは、外部プロセス結果をフラッシュし、それを外界へ通信することができない。しかしながら、ウイルス又は他のマリシャスコードが実行された場合にも、処理環境は、清掃され、クリアされ、リセットされ、さもなければ、既知の信頼性のある状態へ戻される。一実施形態では、既知の信頼性のある状態は、任意であるが、処理タスク中に処理環境から分離状態に維持された信頼性のあるテンプレート又は他の保護記憶装置から回復される。(埋設されたテンプレートを含む本発明の実施形態は、このクリア及び回復を必要としない。)信頼性のあるテンプレートは、オペレーティングシステム、アプリケーションプログラム、システムパラメータ等を再ロードするためのソースである。一実施形態では、信頼性のあるテンプレートを読み取り専用メモリに設けることにより分離が与えられる。一実施形態では、入力からプロセッサへの及びプロセッサから出力への分離は、ビット又はビットストリームのコピー或いは転送オペレーションを実行するだけのハードウェア回路であって、ウイルス又は他のマリシャスコードを実行することができず或いは他のオペレーションを実行するように変更されることのないハードウェア回路により与えられる。2つの処理環境及び2つの外部プロセスに対して処理環境をいかに分離するかの実施形態が図19に示されている。
Embodiment of Multidimensional Virtual Processing Space (VPS) with Multiple Multiplexable Virtual Processing Environments (VPE) This embodiment and the embodiments described above may or may not reside in a virtual processing space. It provides a virus, hacker and other maliciously coded immune environment that is kept separate from other processes. Process input from external and potentially contaminated sources is processed through an input isolator into a separate processing environment within the virtual processing space that is cleaned and cleared before accepting a new process. Otherwise, it is reset to a known reliable state so that contamination that may have been introduced by previous processes is eliminated. The processing environment then processes or executes the received external process and upon completion, accepts the process output or result via the output isolator to the outside world, eg, the requesting process or result. Direct to another process configured to. The input and output isolators can be the same physical isolator or different, and the advantage of using different isolators is that the incoming process can be handled in part overlapping the outgoing process. . If the processing environment detects a problem during processing, such as executing or attempting to execute a virus or other malicious code or damage code (even code that appears to be data), the process may report an external process result. Can't flash and communicate it to the outside world. However, if a virus or other malicious code is executed, the processing environment is cleaned, cleared, reset, or returned to a known reliable state. In one embodiment, the known reliable state is optional, but is recovered from a trusted template or other protected storage device that is kept separate from the processing environment during the processing task. (Embodiments of the present invention that include embedded templates do not require this clearing and recovery.) A reliable template is a source for reloading operating systems, application programs, system parameters, and the like. In one embodiment, isolation is provided by providing a reliable template in read-only memory. In one embodiment, the input-to-processor and processor-to-output separation is a hardware circuit that only performs a copy or transfer operation of a bit or bitstream and executes a virus or other malicious code. Provided by hardware circuitry that cannot be modified or changed to perform other operations. An embodiment of how to separate the processing environment for two processing environments and two external processes is shown in FIG.

多処理環境分離の態様について以上に説明したが、単一の処理又は計算環境、多数の計算環境、及び時間的にマルチプレクスされる計算環境のための他の実施形態は、既に詳細に説明されたことが明らかであろう。分離をいかに維持するかの詳細は、本実施形態にも適用でき、これら特徴の少なくとも幾つかを組み込んだ多次元処理空間に注意を向けることにする。   While aspects of multi-processing environment separation have been described above, other embodiments for a single processing or computing environment, multiple computing environments, and temporally multiplexed computing environments have already been described in detail. It will be obvious. The details of how to maintain separation are also applicable to this embodiment and attention will be directed to a multi-dimensional processing space that incorporates at least some of these features.

図20を参照すれば、少なくとも1つの、通常は、複数の、又は多数のプロセスを処理又は実行するための多次元仮想処理空間の実施形態が示されている。それ故、仮想処理空間は、一次元、二次元、三次元、四次元、又はN次元でよく、但し、Nは、正の整数である。原理的に、Nは、任意の正の整数で、何ら制限を伴わないが、実際には、1つ又は複数の物理的ハードウェア素子(例えば、論理回路、マイクロプロセッサ、マイクロコントローラ、メモリ素子、等の処理又は計算ハードウェア)において規定の時間周期(又は他の動作上の制限)内で非常に多数の仮想処理環境を構成し、割り当て、制御し、及び/又は動作するという実現性のために、仮想処理環境の数は、例えば、1000未満のある数、例えば、1と1000との間の特定の整数、或いは100未満、又は10未満、又は2、3、4、5、6、7、8、9、10未満又はそれに等しい数に制限されてもよい。   Referring to FIG. 20, an embodiment of a multi-dimensional virtual processing space for processing or executing at least one, typically multiple, or multiple processes is shown. Therefore, the virtual processing space may be one-dimensional, two-dimensional, three-dimensional, four-dimensional, or N-dimensional, where N is a positive integer. In principle, N is any positive integer, without any restrictions, but in practice one or more physical hardware elements (eg, logic circuits, microprocessors, microcontrollers, memory elements, For the feasibility of configuring, allocating, controlling and / or operating a large number of virtual processing environments within a defined time period (or other operational limitations). In addition, the number of virtual processing environments is, for example, a certain number less than 1000, for example, a specific integer between 1 and 1000, or less than 100, or less than 10, or 2, 3, 4, 5, 6, 7 , 8, 9, 10 or less.

三次元より大きな次元を有する仮想処理空間の構造及びオペレーションを図式化することに関連した困難さのために、ここでの説明は、三次元の処理空間の実施例に焦点を合わせる。「仮想」という語は、ここでは、少なくとも一部分は次の理由で使用する。即ち、個人の視点に基づいておそらく一次元又は三次元のいずれかである多次元処理空間を単一の物理的プロセッサ内に生成することができる。時間ベースの又は時間的シーケンスのプロセッサ事象を考えるときでも、次元は、二次元(プロセッサの空間的次元+時間)又は四次元(3つのプロセッサ空間的次元+時間)とみなすことができる。複数のプロセッサが構成される場合には、次元が更に拡張され又は増倍される。実際に、本発明の構造、装置及び方法は、より大きな次元を与え、Nより小さい数の物理的プロセッサ及び時間にわたってN次元の仮想処理空間が生成されるようにする。   Due to the difficulties associated with schematizing the structure and operation of a virtual processing space having dimensions greater than three dimensions, the description herein focuses on an example of a three-dimensional processing space. The term “virtual” is used herein at least in part for the following reasons. That is, a multi-dimensional processing space, possibly one-dimensional or three-dimensional, based on an individual's viewpoint can be created in a single physical processor. Even when considering processor events in a time-based or temporal sequence, the dimensions can be considered as two dimensions (processor spatial dimension + time) or four dimensions (three processor spatial dimensions + time). When multiple processors are configured, the dimensions are further expanded or multiplied. Indeed, the structure, apparatus and method of the present invention give a larger dimension, so that an N-dimensional virtual processing space is created over a smaller number of physical processors and time.

図20の実施形態は、「プロセッサ番号」(又はプロセッサの数)の次元、「処理時間セグメント」(プロセッサクロックサイクル又は他の時間インターバルの1つ又は集合と解釈されてもよい)、及び「プロセス形式」(一実施形態では、1つの物理的プロセッサ内のリソース又はリソースのセットに関係すると解釈されてもよい)を有している。図20に識別されたプロセッサ形式は、例えば、これに限定されないが、フローティングポイントオペレーションと、グラフィックレンダリングオペレーションと、通信オペレーションと、異なるオペレーション形式の他のマイヤード(mired)であって、計算、情報処理、信号処理、通信、ゲーム、アニメーション、スピーチ処理、デジタル信号処理、及び計算又は情報処理分野で知られた他の命令、コード、又はオペレーション形式に関連したものを含む。   The embodiment of FIG. 20 includes dimensions of “processor number” (or number of processors), “processing time segment” (which may be interpreted as one or a set of processor clock cycles or other time intervals), and “process Format "(in one embodiment, it may be interpreted as relating to a resource or set of resources within one physical processor). The processor types identified in FIG. 20 are, for example, but not limited to, floating point operations, graphic rendering operations, communication operations, and other mireds of different operation types, including computation, information processing, , Signal processing, communications, games, animation, speech processing, digital signal processing, and other instructions, codes, or types of operations known in the computational or information processing field.

本発明によれば、一体化される従来のプロセッサの素子を分離する特殊なプロセッサを設けるか、或いはプロセッサ素子を別々にアクセス可能又はアドレス可能にする特殊なプロセッサを設けて、ある形式の処理オペレーションに使用されない素子を共通の又は部分的に重畳する時間周期中に他のオペレーションに使用できるようにすることが明らかであろう。又、本発明では、プロセッサ内に全ての構造を複写せずにプロセッサ素子の多数のインスタンス生成又はコピーを単一のプロセッサ内に与えることができる。図20の実施形態では、仮想処理環境及びマルチプレクスされた隔離又は分離パラメータを例示する以下のテーブルIに示すように、仮想製品空間内に5つの仮想処理環境が定義される。   In accordance with the present invention, some form of processing operation is provided by providing a special processor that separates the elements of a conventional processor to be integrated, or by providing a special processor that makes the processor elements separately accessible or addressable. It will be apparent that elements that are not used in can be used for other operations during a common or partially overlapping time period. The present invention also allows multiple instantiations or copies of processor elements to be provided within a single processor without duplicating the entire structure within the processor. In the embodiment of FIG. 20, five virtual processing environments are defined in the virtual product space, as shown in Table I below, which illustrates the virtual processing environments and multiplexed isolation or separation parameters.

この仮想処理空間により与えられるパラダイムは、ロジック回路(例えば、1つ以上のスイッチ又はスイッチング素子)を使用して、例えば、入力信号を選択するときに、マルチプレクサの複数の入力の1つをマルチプレクサの単一の出力として選択し、電気的システムの後続回路に与えるマルチプレクシングオペレーションに類似させることができる。   The paradigm provided by this virtual processing space uses a logic circuit (eg, one or more switches or switching elements) to, for example, select one of the multiplexer inputs when selecting an input signal. It can be selected as a single output and similar to the multiplexing operation that is provided to subsequent circuitry of the electrical system.

テーブル1.仮想処理環境及びマルチプレクスされる隔離又は分離パラメータの例

Figure 2007524161
Table 1. Examples of virtual processing environments and multiplexed isolation or separation parameters
Figure 2007524161

本発明のシステム、装置及び方法において、外部プロセス(又はその定義コマンド、命令、及びデータ)は、仮想プロセッサ空間内のリソースの特定セット(仮想処理環境と称される)へ選択的にルーティングされ又はマルチプレクスされる。仮想処理環境は、同様に、物理的又は論理的スイッチのセット、スイッチング素子、或いはスイッチ又はスイッチング素子のセット(例えば、マルチプレクサ、又はマルチプレクサのセット)により定義されてもよい。   In the system, apparatus and method of the present invention, external processes (or their definition commands, instructions, and data) are selectively routed to a specific set of resources (referred to as a virtual processing environment) in the virtual processor space, or Multiplexed. A virtual processing environment may also be defined by a set of physical or logical switches, switching elements, or a set of switches or switching elements (eg, a multiplexer or a set of multiplexers).

図20は、N次元の仮想処理空間2950が、VPE1 2951、VPE2 2952、VPE3 2953、及びVPE4 2954を含む複数の仮想処理又は計算環境を定義する実施形態を示す。又、これら仮想処理又は計算環境の幾つかは、物理的処理又は計算環境にも対応し得る。仮想処理空間(VPS)及び仮想プロセッサ環境(VPE)のコンフィギュレーション、割り当て、及び制御ユニット(CACU)2960は、物理的処理リソース、例えば、プロセッサ(1つ又は複数)、メモリ、キャッシュ、I/O装置、キーボード、ディスプレイ、CD ROM、及び必要とされる他の処理要素又は周辺機器を構成する役割を果たす。この実施形態では、VPS2950は、物理的プロセッサ認識次元軸2955、処理時間セグメント次元軸2956、及び命令又は処理形式次元軸2957に沿って定義される。この実施形態では、定義される命令又はプロセス形式は、フローティングポイント形式、グラフィックレンダリング形式、及び通信形式である。他の形式が定義されてもよいことは明らかであろう。一実施形態では、命令又はプロセス形式が識別され、これは、処理システムリソースの異なる態様を使用することができる。更に、図16及び図17のシステムの動的に構成可能で且つスイッチ可能な要素に対して述べたように、処理システムには、要望される1組の構成可能なリソースを設けることができ、そしてこれらの物理的素子は、特定のプロセスに割り当てることができる。特定の仮想処理実施形態を定義するための能力は、物理的処理リソースに基づいて制限され、それ故、希望の仮想(又は物理的)処理又は計算環境をサポートするように仮想処理空間を定義する能力は、存在する物理的リソースに依存することが明らかであろう。物理的リソースを拡張するような変更は、VPSの次元の拡張を許す。特定のコンフィギュレーションのために冗長なリソースが設けられる場合には、VPS2950は、特定のVPEの多数のインスタンス生成又はコピーを与えることができる。   FIG. 20 illustrates an embodiment in which an N-dimensional virtual processing space 2950 defines multiple virtual processing or computing environments including VPE1 2951, VPE2 2952, VPE3 2953, and VPE4 2954. Some of these virtual processing or computing environments may also correspond to physical processing or computing environments. Virtual processing space (VPS) and virtual processor environment (VPE) configuration, allocation, and control unit (CACU) 2960 includes physical processing resources such as processor (s), memory, cache, I / O. It serves to configure the device, keyboard, display, CD ROM, and other processing elements or peripherals required. In this embodiment, the VPS 2950 is defined along a physical processor recognition dimension axis 2955, a processing time segment dimension axis 2956, and an instruction or processing type dimension axis 2957. In this embodiment, the defined instruction or process type is a floating point format, a graphic rendering format, and a communication format. It will be apparent that other formats may be defined. In one embodiment, an instruction or process type is identified, which can use different aspects of processing system resources. Further, as described for the dynamically configurable and switchable elements of the systems of FIGS. 16 and 17, the processing system can be provided with a desired set of configurable resources, These physical elements can then be assigned to specific processes. The ability to define a particular virtual processing embodiment is limited based on physical processing resources, and thus defines a virtual processing space to support the desired virtual (or physical) processing or computing environment. It will be clear that the capacity depends on the physical resources present. Changes that extend physical resources allow for an extension of the VPS dimension. If redundant resources are provided for a particular configuration, the VPS 2950 can provide multiple instantiations or copies of a particular VPE.

又、CACU2960は、信頼性のあるテンプレートソース2958とも通信してこれを制御し、このテンプレートは、既知のきれいなそして機能的なバージョンと、オペレーティングシステム、プログラムアプリケーション、ドライバソフトウェア、システム又はプログラムパラメータ及びデータ、或いは他のソフトウェアエレメントであって、特定の処理オペレーションを取り扱うために要求され又は要求されるかもしれないソフトウェアエレメントとを記憶し又はそれらを発生する。テンプレートが変更又は汚染から保護され、そして信頼性のある処理コード及び命令のソースとして使用される仕方は、本明細書のどこかに説明すると共に、ここに援用した関連特許出願の明細書にも説明されており、それ故、ここでは、説明を繰り返さない。   The CACU 2960 also communicates with and controls the trusted template source 2958, which includes known clean and functional versions, operating systems, program applications, driver software, system or program parameters and data. Or store or generate other software elements that are or may be required to handle specific processing operations. The manner in which the template is protected from modification or contamination and is used as a reliable source of processing code and instructions is described elsewhere in this specification and also in the specification of related patent applications incorporated herein. Therefore, the description will not be repeated here.

分離記憶割り当てコントローラロジック2962は、プロセス入力2941(例えば、プロセッサ入力P12942−1、P22942−2、・・・PK2942−K)を特定の分離記憶装置ロック(ISL)2943(例えば、ISL12944−1、ISL22944−2、・・・ISLM2944−M)に接続するという役割を果たす。分離記憶割り当てコントローラ2962は、考えられる接続のウェブ又はファブリックの接続をスイッチするように動作して、特定のプロセスが、使用可能なISL2943に排他的にルーティングされそして接続されるようにする。これらのISLは、次いで、適切な仮想処理環境へ接続され、そこで、接続が実際に物理的リソースとでなされる。プロセス入力を、入力分離(又は入力ISL)を経てプロセッサ(例えば、VPEの物理的表示)に接続すると共に、プロセッサ出力を、出力分離(又は出力ISL)を経て接続することに関連したオペレーションを、図21の方法について説明する。要素を動的にスイッチして構成するためのオペレーションは、既に説明したので、ここでは、説明を繰り返さない。入力プロセスの中のISLの動的な割り当ては、必要とされず、固定でよいが、このような動的な構成及び割り当ては、このような動的な構成及び割り当てにより付加的な融通性が与えられるので、効果的である。 The isolated storage allocation controller logic 2962 can process process 2941 (eg, processor inputs P 1 2942-1, P 2 2942-2,... P K 2942-K) to a specific isolated storage lock (ISL) 2943 (eg, , ISL 1 2944-1, ISL 2 2944-2, ... ISL M 2944-M). The separate storage allocation controller 2962 operates to switch the web or fabric connections of possible connections so that a particular process is exclusively routed and connected to an available ISL 2943. These ISLs are then connected to the appropriate virtual processing environment, where the connection is actually made with physical resources. Connect the process input to the processor (e.g., a physical representation of the VPE) via input isolation (or input ISL) and the operations associated with connecting the processor output via output isolation (or output ISL), The method of FIG. 21 will be described. Since the operation for dynamically switching and configuring the elements has already been described, the description will not be repeated here. Although dynamic allocation of ISLs in the input process is not required and may be fixed, such dynamic configuration and allocation provides additional flexibility due to such dynamic configuration and allocation. It is effective because it is given.

三次元仮想処理空間は、図20の実施形態においてプロセッサ番号、時間セグメント及びプロセス形式に対して説明したが、次元は、これらの次元のみに限定されるものではない。例えば、物理的構造、命令セット及びフォーマット、データセット及びフォーマットが適切に構成された状態では、次元を、他の処理パラメータ、変数、条件、等へ拡張することができる。更に、以上の説明は、パーソナルコンピュータ、ノートブックコンピュータ、サーバー、ルーター、パーソナル情報装置、パーソナルデータアシスタント、情報機器、セルラー電話、テレビジョン、家庭用機器、自動車電子装置、工業用制御及びオートメーション、ロボット、航空機制御及び他の計算及び情報処理システム及び装置に現在一般的に使用されるデジタル計算を示唆したが、本発明は、これらに限定されない。例えば、本発明は、アナログ計算及び信号処理や、デジタル計算及びデータ処理や、ハイブリッドのデジタル−アナログ装置及びシステムも適用できる。又、本発明は、周波数、波長、伝播モード、及び他の光学装置及びシステムパラメータのような付加的な次元を選択してマルチプレクスできるような光学的計算にも適用できる。光学、デジタル、及び/又はアナログ素子を任意の組合せで設けて、ここに定義された仮想処理空間及び複数の仮想処理環境の構成、割り当て及び制御を行うことができる。構成、割り当て及び制御は、製造時に固定されてもよいし、プログラミングオペレーションにより確立されてもよいし、或いはオペレーションポリシーに基づいてオペレーション中に制御素子により動的にセットされてもよい。   Although the three-dimensional virtual processing space has been described for the processor number, time segment, and process type in the embodiment of FIG. 20, the dimensions are not limited to these dimensions. For example, the dimensions can be extended to other processing parameters, variables, conditions, etc., with the physical structure, instruction set and format, data set and format properly configured. In addition, the above description includes personal computers, notebook computers, servers, routers, personal information devices, personal data assistants, information devices, cellular phones, televisions, household devices, automotive electronics, industrial control and automation, robots. Although suggested digital calculations currently commonly used in aircraft control and other calculation and information processing systems and devices, the present invention is not so limited. For example, the present invention is also applicable to analog computation and signal processing, digital computation and data processing, and hybrid digital-analog devices and systems. The present invention is also applicable to optical calculations where additional dimensions such as frequency, wavelength, propagation mode, and other optical devices and system parameters can be selected and multiplexed. Optical, digital and / or analog elements can be provided in any combination to configure, assign and control the virtual processing space and multiple virtual processing environments defined herein. Configuration, assignment, and control may be fixed at the time of manufacture, may be established by programming operations, or may be dynamically set by control elements during operation based on operation policies.

本発明のシステム、装置及び方法の実施形態は、種々の形式のスイッチング、相互接続、マルチプレクシング、選択、構成、及び/又はマルチプレクシングのいずれかを使用して、処理されるべきタスクに対して希望の構造を達成することができると共に、それら構造及び手順にとって適当であるように単一の処理システム内で異なる形態を同時に使用することができる。種々のスイッチ及びスイッチング並びに制御機構及び方法を他の実施形態について説明したが、これらの機構及び方法は、これらの実施形態にも使用できる。   Embodiments of the system, apparatus, and method of the present invention can be used for tasks to be processed using any of various types of switching, interconnection, multiplexing, selection, configuration, and / or multiplexing. While it is possible to achieve the desired structures, different configurations can be used simultaneously within a single processing system as appropriate for those structures and procedures. Although various switches and switching and control mechanisms and methods have been described for other embodiments, these mechanisms and methods can also be used in these embodiments.

この技術では多数の形態又は形式のマルチプレクシングが知られており、他の形態及び形式が将来開発され、そしてそれらのいずれか又は全部を本発明のシステム、装置及び方法に関連して使用できることが明らかであろう。以下のリストは、一例として与えられるもので、これに限定されない。アドレスマルチプレクシング、バースト時分割マルチプレクシング、コード分割マルチプレクシング、デマルチプレクシング、差動マルチプレクシング、分離マルチプレクシング、マルチユーザマルチプレクシング、マルチユーザ空間的マルチプレクシング、直交周波数分割マルチプレクシング、偏光分割マルチプレクシング、空間分割マルチプレクシング、空間マルチプレクシング、サブキャリアマルチプレクシング、統計学的マルチプレクシング、時分割マルチプレクシング、波長分割マルチプレクシング、セキュアな仮想化、個別又はセキュアな処理又は計算環境を生成する方法、及び/又は情報、データのマルチプレクシング又は分割或いはコンピュータ処理のための他の技術、手順又は方法。又、これらのマルチプレクシング機構、仮想化機構、又は分割機構の1つ又は組合せを使用できることが明らかである。   Numerous forms or forms of multiplexing are known in the art, other forms and forms may be developed in the future, and any or all of them can be used in connection with the system, apparatus and method of the present invention. It will be clear. The following list is given as an example and is not limiting. Address multiplexing, burst time division multiplexing, code division multiplexing, demultiplexing, differential multiplexing, separate multiplexing, multiuser multiplexing, multiuser spatial multiplexing, orthogonal frequency division multiplexing, polarization division multiplexing , Spatial division multiplexing, spatial multiplexing, subcarrier multiplexing, statistical multiplexing, time division multiplexing, wavelength division multiplexing, secure virtualization, method of generating individual or secure processing or computing environment, and And / or other techniques, procedures or methods for multiplexing or partitioning information, data or computer processing. It is also clear that one or a combination of these multiplexing mechanisms, virtualization mechanisms, or splitting mechanisms can be used.

仮想処理空間(VPS)及び複数の仮想処理又は計算環境の実施形態について述べたが、仮想処理空間内で各々の仮想処理環境を動作するプロセス及び方法について以下に説明する。ステップの順序は、一例に過ぎず、異なる順序を使用して同等又は同様の結果を得ることもできるし、リソースに対して競合が生じないところでは幾つかのステップを並列に実行できることを理解されたい。プロセス2970における各々のメインステップには番号が付けられ、そして各メインステップ内のサブステップが文字で示されている。又、図21のフローチャートには、方法の実施形態が図式化されている。   Having described embodiments of a virtual processing space (VPS) and a plurality of virtual processing or computing environments, processes and methods for operating each virtual processing environment within the virtual processing space are described below. It is understood that the order of the steps is only an example, and that different orders can be used to achieve the same or similar results, and that some steps can be performed in parallel where no contention for resources occurs. I want. Each main step in process 2970 is numbered and the substeps within each main step are indicated by letters. In addition, the flowchart of FIG. 21 illustrates a method embodiment.

1.外部プロセスを識別し、そして信頼性のある仮想処理又は計算環境(及び任意の分離された記憶装置ロック)を生成し、構成し又は割り当てて、識別された外部プロセスを実行する(ステップ2971)
(a)正の数値の範囲内の整数をKとすれば、考えられる複数の外部プロセス入力(EP1in、EP2in、・・・EPKin)の中から実行されるべき第1の外部プロセス入力(EP1in)を識別する(ステップ2971a)。説明及び用語の簡単化のために、外部プロセス入力(EP1in)及び外部プロセス出力(EP1out)という語は、入力及び出力プロセスを各々指すと共に、このようなプロセスの実行の結果として発生するプロセスを実行するのに必要なコンテンツ(例えば、オペレーティングシステム要件及び/又はパラメータ、アプリケーションプログラム及び/又はパラメータ、コマンド、命令、データ、或いはプロセスを定義又は実行するのに必要な他のエレメント)を指す。
1. Identifies the external process and creates, configures or assigns a reliable virtual processing or computing environment (and any isolated storage lock) to execute the identified external process (step 2971)
(A) A first external process input (EP1in) to be executed from among a plurality of possible external process inputs (EP1in, EP2in,... EPKin), where K is an integer in the range of positive numerical values. Is identified (step 2971a). For simplicity of explanation and terminology, the terms external process input (EP1in) and external process output (EP1out) refer to the input and output processes, respectively, and perform processes that occur as a result of the execution of such processes. Refers to the content necessary to do (eg, operating system requirements and / or parameters, application programs and / or parameters, commands, instructions, data, or other elements necessary to define or execute a process).

(b)正の数値の範囲内の整数をNとすれば、N次元仮想処理空間(VSP)内の考えられる複数の仮想処理環境(VPE1、VPE2、VPE3、・・・VPEM)の中から第1の既知の信頼性のある仮想処理環境(VPE1)を確立する(ステップ2971b)。実行されるべきプロセスが計算プロセスであるか、又は更に簡単なことに、計算環境であるときには、仮想処理環境は、仮想計算環境とみなされてもよい。これらの処理又は計算環境は互いに且つ外部プロセスから分離されると共に、仮想又は物理的サブシステム又はユニットのいずれかであるから、それらは、ユーザアプリケーション処理であるか、システム制御であるか、或いは他のオペレーション又は処理タスクであるかに関わらず、いかなる目的についても使用できる分離処理ユニット計算環境とも称される。例えば、これらの仮想処理環境は、制御及びスイッチング計算環境、保護記憶装置計算環境、読み取り/書き込み制御計算環境、ユーザインターフェイス計算環境、ユーザ計算環境、制御計算環境、分離処理ユニット計算環境、ユーザインターフェイス計算環境、或いは他の計算又は処理環境として動作するように構成できる。これらの仮想計算又は処理環境は、静的に決定されてもよいが、動的に定義されて既存のシステム要素から構成できるのが効果的である。このようなシステム要素は、ローカルでもよいし、又は地理的に分布されてもよい。   (B) If an integer in the range of positive numerical value is N, it is the first among a plurality of possible virtual processing environments (VPE1, VPE2, VPE3,... VPEM) in the N-dimensional virtual processing space (VSP). One known reliable virtual processing environment (VPE1) is established (step 2971b). A virtual processing environment may be considered a virtual computing environment when the process to be executed is a computing process or, more simply, a computing environment. Since these processing or computing environments are isolated from each other and from external processes and are either virtual or physical subsystems or units, they are user application processes, system controlled, or others It is also referred to as a separate processing unit computing environment that can be used for any purpose regardless of the operation or processing task. For example, these virtual processing environments include control and switching computing environments, protected storage computing environments, read / write control computing environments, user interface computing environments, user computing environments, control computing environments, separate processing unit computing environments, user interface computing. It can be configured to operate as an environment, or other computing or processing environment. These virtual computing or processing environments may be determined statically but are advantageously dynamically defined and can be constructed from existing system elements. Such system elements may be local or geographically distributed.

(c)任意であるが、分離記憶装置ロック(ISL1in及びISL1outについては以下を参照)は、以下に述べるように、必要に応じて利用できるように、この段階で識別され、構成され、及び/又は割り当てられる(ステップ2971c)。分離記憶装置ロックは、コマンド、データ、或いは他の情報又はコンテンツを記憶できるが、ウイルス又は他のマリシャスコードかもしれないビットの集合は実行できないことに注意されたい。分離記憶装置ロックという句の中の「ロック」という語は、宇宙船や他の圧力又は汚染防止チャンバー又は環境内の「エアロック」に使用されるロックという語と同様に使用され、エアロックの片側の環境からエアロックの他側の環境への直接的な接続又は影響を防止するものである。   (C) Optionally, separate storage locks (see below for ISL1in and ISL1out) are identified and configured at this stage and made available as needed, as described below, and / or Or assigned (step 2971c). Note that an isolated storage lock can store commands, data, or other information or content, but cannot execute a set of bits that may be a virus or other malicious code. The term “lock” in the phrase isolated storage lock is used in the same way as the term lock used in spacecraft and other pressure or pollution control chambers or “air locks” in the environment. This prevents direct connection or influence from the environment on one side to the environment on the other side of the airlock.

2.外部プロセス入力を信頼性のある仮想処理環境へとセキュアにロードする(ステップ2972)
(a)EP1inを実行するのに必要な入力要素を記憶するための第1の既知の信頼性のある(クリアされた)分離記憶装置ロック(ISL1in)を確立する(ステップ2972a)。
(b)EP1inをISL1inに分離解除(結合)する(ステップ2972b)。(結合及び分離は、固定されても又は動的に決定されてもよく、又、物理的でも、論理的でも、仮想でもよい。)
2. External process input is securely loaded into a reliable virtual processing environment (step 2972)
(A) Establishing a first known reliable (cleared) isolated storage lock (ISL1in) for storing the input elements needed to execute EP1in (step 2972a).
(B) EP1in is released (coupled) from ISL1in (step 2972b). (Combination and separation may be fixed or dynamically determined, and may be physical, logical, or virtual.)

(c)EP1inをISL1inにロードする。(ソースと行先との間のロード又は転送は、コピーされたときに(例えば、EP1in又はEP1outの)コピーされたコンテンツの複数のビットを実行できないコピーオペレーション及びコピー装置又はハードウェアを使用して実行されるのが好都合である)(ステップ2972c)。更に、分離記憶装置ロック(ISL1in及びISL1out)は、それらの中に記憶されたコンテンツの複数のビットを実行できないのが好都合である。又、外部プロセスと仮想処理環境との間には決して結合がないのが好都合であり、そして(i)外部プロセス入力のコピーは、入力分離記憶装置ロックを経て仮想処理環境へ通信され、更に、(ii)外部プロセス出力のコピーは、仮想処理環境から出力分離記憶装置ロックを経て外部プロセス(又は別の指定のプロセス)へ通信されることが明らかである。   (C) Load EP1in into ISL1in. (Load or transfer between source and destination is performed using a copy operation and a copy device or hardware that cannot perform multiple bits of copied content (eg, EP1in or EP1out) when copied) (Step 2972c). Furthermore, separate storage locks (ISL1in and ISL1out) advantageously do not perform multiple bits of content stored in them. It is also advantageous that there is never a connection between the external process and the virtual processing environment, and (i) a copy of the external process input is communicated to the virtual processing environment via an input isolation storage lock; (Ii) It is clear that a copy of the external process output is communicated from the virtual processing environment to the external process (or another designated process) via an output isolation storage lock.

(d)ISL1inをEP1inから分離する(論理的又は物理的に切断する)(ステップ2972d)。
(e)ISL1inをVPE1に分離解除する(結合する)(ステップ2972e)。
(f)EP1inをISL1inからVPE1へ転送/ロード/コピーする(ステップ2972f)。
(g)ISL1inをVPE1から分離する(切断する)(ステップ2972g)。
(D) ISL1in is separated from EP1in (logically or physically disconnected) (step 2972d).
(E) Release (join) ISL1in to VPE1 (step 2972e).
(F) Transfer / load / copy EP1in from ISL1in to VPE1 (step 2972f).
(G) Separate (cut) ISL1in from VPE1 (step 2972g).

3.分離仮想計算環境内で外部プロセスを実行する(ステップ2973)
(a)VPE1を使用してEP1inを処理して、EP1out出力結果を発生する(ステップ2973a)。
3. An external process is executed in the separated virtual computing environment (step 2773).
(A) Process EP1in using VPE1 to generate an EP1out output result (step 2973a).

4.外部プロセス結果を出発外部プロセスへセキュアにアンロードする(ステップ2974)
(a)VPE1によるEP1inの実行から生じた出力要素を記憶するために第1の既知の信頼性のある(クリアされた)分離記憶装置ロック(ISL1out)を確立する(ある実施形態では、ISL1inは、ISL1outと同じであるが、他の実施形態では、それが異なる)(ステップ2974a)。
(b)VPE1をISL1outに分離解除する(結合する)(ステップ2974b)。
(c)EP1outをISL1outへ転送/ロード/コピーする(ステップ2974c)。
(d)VPE1をISL1outから分離する(切断する)(ステップ2974d)。
(e)ISL1outをEP1outへ分離解除する(結合する)(ここで、出力結果EP1outは、入力プロセスEP1inと同じプロセスとみなされてもよいし異なるプロセスとみなされてもよい)(ステップ2974e)。
(f)EP1outをEP1へ転送/ロード/コピーする(ステップ2974f)。
(g)VPE1をISL1outから分離する(切断する)(ステップ2974g)。
4). The external process result is securely unloaded to the starting external process (step 2974).
(A) Establishing a first known reliable (cleared) isolated storage lock (ISL1out) to store output elements resulting from execution of EP1in by VPE1 (in some embodiments, ISL1in is , ISL1out, but in other embodiments it is different) (step 2974a).
(B) Release (join) VPE1 to ISL1out (step 2974b).
(C) Transfer / load / copy EP1out to ISL1out (step 2974c).
(D) Separate (cut) VPE1 from ISL1out (step 2974d).
(E) ISL1out is de-separated (coupled) to EP1out (where the output result EP1out may be considered as the same process as the input process EP1in or a different process) (step 2974e).
(F) Transfer / load / copy EP1out to EP1 (step 2974f).
(G) Separate (cut) VPE1 from ISL1out (step 2974g).

5.信頼性のある仮想処理環境を割り当て解除し、そして割り当てられた仮想処理空間リソースを解放する(ステップ2975)
(a)VPE1in又はVPE1outに割り当てられていた仮想処理環境又は仮想処理空間リソースを解除及び割り当て解除する(ステップ2975)。或いは又、リソースは、プロセスに対してそれらの利用がもはや要求されなくなった後にいつでも解除され及び割り当て解除されてもよいことに注意されたい(ステップ2975a)。例えば、リソースは、それらがプロセスに対して識別された後にプロセスにより使用するためのスケジュールが立てられてもよいが、必要になるまで他の外部又は内部プロセスのための利用可能なリソースのプールから除外される必要はない。
5). Deallocate the trusted virtual processing environment and release the allocated virtual processing space resources (step 2975)
(A) The virtual processing environment or virtual processing space resource allocated to VPE1in or VPE1out is released and deallocated (step 2975). Alternatively, it should be noted that resources may be deallocated and deallocated at any time after their usage is no longer required for the process (step 2975a). For example, resources may be scheduled for use by a process after they are identified to the process, but from a pool of available resources for other external or internal processes until needed There is no need to be excluded.

ここに述べるプロセスは、希望の又は必要な分離程度を達成するための一実施形態に過ぎないことが明らかであろう。分離を達成するための他の方法及び手順が使用されてもよく、又、ここに述べる実施形態におけるステップの順序は、同じ結果を達成しながら変更されてもよい。   It will be apparent that the process described herein is only one embodiment for achieving the desired or required degree of separation. Other methods and procedures for achieving separation may be used, and the order of steps in the embodiments described herein may be changed while achieving the same result.

単一のコンピュータ内で分離を伴い多数のプロセスストリームを時間的にマルチプレクシングする実施形態
本発明の一実施形態では、個別のプロセス又は処理ストリームが他の制御ロジックの制御回路により個別に保たれそして分離される。処理ストリームは、複雑な又は多部分プロセスを完了するのに2つ以上のプロセス実行が必要とされる場合に使用することができる。この点について、分離とは、コンピュータオペレーティングシステム及び/又はアプリケーションプログラム命令の実行のようなプロセスの実行を処理ロジック内の他のプロセスとは分離して実行する(それが望まれる場合に)ことを意味する。処理ロジックは、マイクロプロセッサ、プロセッサ、コントローラ、マイクロコントローラ、特殊目的のコプロセッサ、デジタル信号プロセッサ、光学的コンピュータ、アナログコンピュータ、又は処理オペレーションを遂行する他の装置又はシステムでよい。この説明は、単一のプロセッサコアを有する単一のプロセッサに注意を集中するが、そのアーキテクチャー及び方法は、マルチプロセッサシステムの各々又は選択された1つに或いは単一プロセッサの多数のコアに適用することもできる。又、本発明は、単一ボードに多数のプロセッサを有するコンピュータに、及び/又は異なるボード又は異なるマシン間に分布されるが互いに又は他のマスター制御ロジックとの通信のために結合された多数のプロセッサにも適用することができる。
Embodiment of Multiplexing Multiple Process Streams with Separation in a Single Computer in Time In one embodiment of the present invention, individual processes or processing streams are kept separate by the control circuitry of other control logic and To be separated. A processing stream can be used when more than one process execution is required to complete a complex or multi-part process. In this regard, isolation means that execution of a process, such as execution of a computer operating system and / or application program instructions, is performed separately from other processes in the processing logic (if it is desired). means. The processing logic may be a microprocessor, processor, controller, microcontroller, special purpose coprocessor, digital signal processor, optical computer, analog computer, or other device or system that performs processing operations. Although this description focuses on a single processor having a single processor core, its architecture and method can be applied to each or a selected one of a multiprocessor system or to multiple cores of a single processor. It can also be applied. The present invention may also be applied to computers having multiple processors on a single board and / or multiple computers distributed between different boards or different machines but coupled to each other or to other master control logic. It can also be applied to processors.

多数のプロセスは、物理的処理空間変数のいずれか1つ又は組合せに基づくか、或いは本書のどこかに述べる多次元仮想処理空間に基づいて、区別し又は分離することができる。幾つかの特に有用な変形は、処理リソースの少なくとも部分的共有セット内で処理タスクを時間的又は時間ベーススイッチング又はマルチプレクシング或いは時分割することを含む。このような処理状況は、例えば、多数のプロセスが、単一プロセッサを有するコンピュータ内で1つ以上のキャッシュ又は他の非常に高速な中間メモリをプロセッサロジックとメモリサブシステムとの間にもつ状態で時間的にマルチプレクスされる仕方のプロセスのときである。幾つかの現代のコンピュータでは、高速の中間メモリは、1つ以上のいわゆるレベル1(L1)及び/又はレベル2(L2)キャッシュメモリであり、そしてメモリサブシステムは、ランダムアクセスメモリ(RAM)であるが、本発明は、これらのコンフィギュレーションのみに限定されず、又、キャッシュメモリのような中間メモリを必要としない。又、このようなコンピュータは、通常、オペレーティングシステム、アプリケーションプログラム、並びにオペレーティングシステム、アプリケーションプログラム及びユーザデータを記憶するためのハードディスクドライブのような1つ(又は2つ以上)の大量記憶装置を含んでもよい。将来、他の大量記憶不揮発性記憶システムが増加し、又はこれらハードディスクドライブの幾つかに置き換わることが予想される。   Multiple processes can be distinguished or separated based on any one or combination of physical processing space variables or based on a multi-dimensional virtual processing space described elsewhere in this document. Some particularly useful variations include temporal or time-based switching or multiplexing or time division of processing tasks within at least a partially shared set of processing resources. Such a processing situation is, for example, when a large number of processes have one or more caches or other very fast intermediate memory between the processor logic and the memory subsystem in a computer with a single processor. This is the process of how time is multiplexed. In some modern computers, the fast intermediate memory is one or more so-called Level 1 (L1) and / or Level 2 (L2) cache memories, and the memory subsystem is random access memory (RAM). However, the present invention is not limited to these configurations and does not require an intermediate memory such as a cache memory. Such computers also typically include an operating system, application programs, and one (or more) mass storage devices such as hard disk drives for storing operating systems, application programs and user data. Good. In the future, other mass storage non-volatile storage systems are expected to increase or replace some of these hard disk drives.

あるプロセスを別のプロセスから分離することは、通常、例えば、あるプロセス又はプロセスストリームに生じた問題が、別のプロセス又は処理ストリームに衝撃を与え、或いはオペレーティングシステム、アプリケーションプログラム、システム又はプログラムデータを崩壊するのを防止し、或いはユーザデータが別のプロセスにより崩壊されるのを防止するために望まれる。これらの問題は、従来、コンピュータウイルス、コンピュータハッカーコード、コンピュータスパイウェア又はロボット(いわゆる「スパイボット」)、又は他のマリシャスコードにより引き起こされた。又、それらは、コンピュータオペレーティングシステム又はアプリケーションプログラムのバグ又はコードエラーや、何らかの一貫性のないコンピュータマシン設定、装置エラー、又は装置ドライバ問題から生じることもある。メモリ又はメモリサブシステム、例えば、キャッシュ又は他の中間メモリ(例えば、レベル1及び/又はレベル2キャッシュメモリ)、或いはメモリサブシステム(例えば、プロセッサ関連のRAMメモリ等)において1つのプログラムプロセスと別のプログラムプロセスとの間に生じるメモリオーバーフローは、プログラムの欠陥又は汚染を頻繁に生じさせることがある。   Separating one process from another usually means that, for example, a problem that occurred in one process or process stream has impacted another process or processing stream, or the operating system, application program, system or program data It is desirable to prevent corruption or to prevent user data from being corrupted by another process. These problems have traditionally been caused by computer viruses, computer hacker code, computer spyware or robots (so-called “spybots”), or other malicious code. They may also arise from computer operating system or application program bugs or code errors, or inconsistent computer machine settings, device errors, or device driver problems. Separate from one program process in a memory or memory subsystem, eg, a cache or other intermediate memory (eg, level 1 and / or level 2 cache memory), or a memory subsystem (eg, processor-related RAM memory, etc.) Memory overflow that occurs during the program process can frequently cause program defects or contamination.

ユーザデータ及び/又はプログラム又はオペレーティングシステム要素の分離は、種々の仕方で達成することができ、例えば、これに限定されないが、論理的分離、メモリアドレスマネージメントに基づく分離、物理的分離、例えば、装置又はサブシステムのオペレーションをイネーブルする通信又は電源経路の全部又は一部分をスイッチ可能に切断してそれをディスエイブルすること、或いは特定の装置、システム又はサブシステムを1つ以上のプロセスに見えなくするオペレーションにより達成することができる。分離のためのこれらの方法及び手段は、短い時間周期中又は長い時間周期中の過渡的なものでよい。あるプロセスは、装置又はサブシステムを決して見ることがなく、又、アクセスすることもない。   Separation of user data and / or program or operating system elements can be accomplished in various ways, including but not limited to logical separation, separation based on memory address management, physical separation, eg, device Or switchably disconnecting all or part of a communication or power path that enables the operation of the subsystem and disabling it, or making a particular device, system or subsystem invisible to one or more processes Can be achieved. These methods and means for separation may be transient during short time periods or long time periods. A process never sees or accesses a device or subsystem.

メモリマネージメントは、共有処理リソース、例えば、1つの物理的プロセッサ及び共有の物理的メモリしかもたない単一のコンピュータにおいて多数のプロセス又はプロセスストリームを処理するときに特に重要である。又、プロセッサの実行及び大量記憶装置のマネージメントは、計算又は処理システムにおいてマリシャスアクティビティを防止するための貴重なツールでもある。例えば、他のプログラムアイテム、データアイテム、ファイル、ユーザデータ等が存在しても、それを他のプロセスから隠し得る場合には、1つのプロセスが、コンピュータ或いは計算又は処理環境内を出る他のプロセス又はデータに関する情報をスパイしたり又はそれを取得したりする見込みが低くなり、ある実施形態では、そのような能力が排除される。   Memory management is particularly important when processing multiple processes or process streams in a single computer that has only a shared processing resource, such as one physical processor and shared physical memory. Processor execution and mass storage management are also valuable tools for preventing malicious activity in computing or processing systems. For example, if other program items, data items, files, user data, etc. exist but can be hidden from other processes, one process may exit the computer or other process within the computing or processing environment. Or, it is less likely to spy on or obtain information about the data, and in certain embodiments, such ability is eliminated.

他方、ある状況においては、信頼のあるユーザ(例えば、充分な許可及び防衛手段を有する管理者)が、信頼性のあるプログラムを実行して、処理システムの運営上の健全さを決定し、システムのアクティビティを監視し、及び/又は修正アクションをとるか、さもなければ、システムオペレーションを維持管理することができるようにするのが望ましい。それ故、本発明の実施形態は、プロセスごとに分離又は非分離の選択を与える。   On the other hand, in some situations, a trusted user (eg, an administrator with sufficient permissions and defenses) can execute a reliable program to determine the operational health of the processing system and It is desirable to be able to monitor the activity and / or take corrective action or otherwise maintain system operation. Therefore, embodiments of the present invention provide a separation or non-separation choice for each process.

幾つかの問題に対処するためにソフトウェアベースの分離の程度を与える幾つかの試みがなされているが、希望するときに分離を保証することができず、それ故、知識があって洗練されたハッカーやウイルスが利用するための入力ポイント、急所(Achilles-Heal)、又は他の機会を許すことになる。マイクロソフトウインドウズの種々のバージョン(Windows98、98SE、NT、2000、XP、等)のオペレーティングシステムは、このオペレーティングシステムに対するアプリケーションプログラムをもつものとして特にターゲットとなっている。又、例えば、アップルコンピュータ製品、種々のパーソナルデータアシスタント、セルラー電話、及び他の情報機器のための他のオペレーティングシステムもターゲットとなっており、攻撃を受け易い。   Several attempts have been made to provide a degree of software-based isolation to address some problems, but isolation cannot be guaranteed when desired, and therefore knowledgeable and sophisticated It will allow entry points, chillies-heal, or other opportunities for hackers and viruses to use. Operating systems of various versions of Microsoft Windows (Windows 98, 98SE, NT, 2000, XP, etc.) are particularly targeted as having application programs for this operating system. Other operating systems for Apple computer products, various personal data assistants, cellular telephones, and other information devices are also targeted and susceptible to attack.

ここに述べる本発明の時間的マルチプレクシングは、単一の物理的計算マシン、多プロセッサ計算マシン、いわゆる二重コア又は多コアのプロセッサを有する単一プロセッサ、或いは仮想計算マシン(例えば、これに限定されないが、ここに述べる仮想計算マシン及び仮想計算空間)に使用することができ、これらコンフィギュレーションのいずれにおいても、時間に加えて、付加的なマルチプレクシング又は処理次元があり、及び/又はプロセスに関連した実際の時間又は時間的シーケンスがあってもよいし、なくてもよい。又、本発明のシステム、装置、アーキテクチャー及び方法は、それらの基礎的なテクノロジーとは独立して計算マシンに適用することもでき、これら計算マシンは、例えば、光学的計算マシン、デジタル計算マシン、アナログ計算マシン、生物学又は神経学に基づく計算マシン又はシステム、及び/又はハイブリッド型の計算マシンを含み、又、上述した計算テクノロジーの組合せを含むが、それらに限定されない。又、本発明は、計算要素を含む種々の非計算マシン、例えば、テレビジョン、娯楽システム及び装置、ビデオプロセッサ、自動車及び航空機シミュレーション及び/又は制御システム、及び/又はプロセッサ又は処理ロジックを有する他の装置又はシステムにも適用することができる。   The temporal multiplexing of the present invention described herein can be a single physical computing machine, a multi-processor computing machine, a single processor with a so-called dual-core or multi-core processor, or a virtual computing machine (eg, limited to this). In any of these configurations, there are additional multiplexing or processing dimensions in addition to time and / or to the process. There may or may not be an associated actual time or time sequence. The system, apparatus, architecture, and method of the present invention can also be applied to computing machines independent of their underlying technology, such as optical computing machines, digital computing machines. , Analog computing machines, biological or neurological based computing machines or systems, and / or hybrid computing machines, including but not limited to combinations of the computing technologies described above. The present invention also includes various non-computing machines including computing elements, such as televisions, entertainment systems and devices, video processors, automobile and aircraft simulation and / or control systems, and / or other processors or processing logic having processing logic. It can also be applied to an apparatus or a system.

個別のプロセスが個別に保持される仕方を不明瞭にしないために、以下の説明は、単一のプロセッサを有する計算マシンに限定する。この場合、A、B及びCと称される3つの入力処理ストリームは、各々、メンバーA1、・・・Ai、B1、・・・Bj、及びC1、・・・CKを有し、但し、I、J及びKは、正の整数である。本発明は、この実施形態について述べるように、形式又はアプリケーションとは独立して、他の物理的及び仮想計算及び処理システムへと容易に拡張することができる。 In order not to obscure the manner in which individual processes are kept individually, the following description is limited to computing machines with a single processor. In this case, A, B and C referred to three input process stream, respectively, members A 1, ··· A i, B 1, ··· B j, and C 1, the · · · C K Provided that I, J and K are positive integers. The present invention can be easily extended to other physical and virtual computing and processing systems, independent of format or application, as described for this embodiment.

物理的又は論理的又は仮想の計算マシン、例えば、仮想処理又は計算環境の1つにおいて、処理リソース又は装置又は回路の時間的共有を許すのに加えて、本発明のシステム及び方法は、計算環境に存在する異なるプロセスが汚染から保護されるように分離を維持する。これは、各プロセスによりメモリを見及び/又はメモリにアクセスするのを個別に制御して、見たりアクセスしたりする権利を有する処理環境のメモリ及び他の要素の部分しか見えず且つそこにしかアクセスできないようにすることで、少なくとも一部分達成することができる。更に、許されたときだけ見ることができ及び/又はアクセスできることは、読み取り専用のアクセスでもよいし、或いは部分的又は完全な読み取り及び/又は部分的又は完全な書き込みオペレーションの両方を許すこともできる。最後に、装置又は回路が見えるようにされるときでも、装置、装置特徴、又は装置の他の能力の一部分しか観察できないように、見えるものを制限することができる。一実施例では、メモリ装置の異なる排他的部分が見えるようにされ、そして2つの異なるプロセスへの読み取り/書き込みアクセスを行える一方、監視プロセスは、メモリ全体の読み取りしか行うことができない。   In addition to allowing temporal sharing of processing resources or devices or circuits in one of a physical or logical or virtual computing machine, eg, a virtual processing or computing environment, the system and method of the present invention provides a computing environment. Keep the separation so that the different processes present in are protected from contamination. This means that each process sees and / or accesses the memory individually, so that only the portions of the memory and other elements of the processing environment that have the right to see and access are visible and there. This can be achieved at least in part by making it inaccessible. Further, being able to see and / or access only when allowed may be read-only access, or may allow both partial or complete read and / or partial or complete write operations. . Finally, even when a device or circuit is made visible, what can be viewed can be limited so that only a portion of the device, device features, or other capabilities of the device can be observed. In one embodiment, different exclusive portions of the memory device are made visible and can provide read / write access to two different processes, while the monitoring process can only read the entire memory.

従来技術では、コンピュータハッカー又はウイルスがコンピュータのオペレーションを破壊してメモリやバッファをオーバーフローさせることが知られている。これらマシンにおけるメモリの制御は、主としてソフトウェア制御のもとにあり、このソフトウェアは、BIOS、オペレーティングシステム、アプリケーションプログラム、又はそれらのある組み合せに存在する。これらは、全て、通常は、ハッカーやウイルスや又は他のマリシャスコードにアクセスし得るので、ユーザの知らないうちに又はユーザの許可なしに、それらにアクセスして変更することができる。   In the prior art, computer hackers or viruses are known to destroy computer operations and overflow memory and buffers. The control of memory in these machines is primarily under software control, which resides in the BIOS, operating system, application program, or some combination thereof. All of these can usually access hackers, viruses and other malicious code, so they can be accessed and modified without the user's knowledge or without the user's permission.

本発明は、メモリの構成及び制御を含む処理環境の構成及び制御を真新しい環境(ひいては、信頼性のある環境)に維持し、従って、意図されないエラーやマリシャスハッカー又はウイルスコードがこの構成又は制御にアクセスしてそれを変更し、コンピュータシステムやコンピュータシステム内のデータ又は他の情報に障害を及ぼすことがないようにする。それ故、他のプロセス、又はそれらプロセスに属するデータの汚染も、防護される。一般に、コンピュータシステムにマリシャスコードが存在する場合でも、それが汚染を生じさせるには、実行エージェント(例えば、中央処理ユニット又はCPUのようなプロセッサ内の回路の全部又は一部分、或いは他のロジック処理装置又は回路)及び別のプログラム及び/又はデータの両方にアクセスしなければならないことに注意されたい。実行エージェントしか存在しない場合には、マリシャスコードを実行できるが、別のデータ又はプログラムエレメントを汚染することはできない。マリシャスコードが分離を伴わずに別のプログラム又はデータと共に(例えば、共通のハードディスクドライブに)記憶されるだけであって、同時にプログラム実行エージェントへアクセスできない場合には、マリシャスコードが他のプログラム又はデータアイテムを汚染することはない。又、データが実行可能なコードのようなプログラム情報であったり又はそれを随伴したりすることもあり、このため、ファイル形式の拡張から単に実行不能なコードに見えるファイルも疑わねばならないことに注意されたい。分離は、物理的でもよいし、論理的でもよいし、仮想でもよいし、或いは他の手段又は手段の組合せでもよいことを想起されたい。   The present invention maintains the configuration and control of the processing environment, including memory configuration and control, in a brand new environment (and thus a reliable environment), so that unintended errors, malicious hackers or virus code may be in this configuration or control. Access and change it so that it does not interfere with the computer system or data or other information within the computer system. Therefore, contamination of other processes or data belonging to those processes is also protected. In general, even if malicious code is present in a computer system, it can cause contamination by an execution agent (eg, a central processing unit or all or part of circuitry in a processor such as a CPU, or other logic processing device). (Or circuit) and another program and / or data. If there is only an execution agent, then malicious code can be executed, but no other data or program elements can be tainted. If the malicious code is only stored with another program or data without separation (eg, on a common hard disk drive) and cannot simultaneously access the program execution agent, the malicious code may be stored in another program or data. Does not contaminate items. Also note that the data may be program information, such as executable code, or accompanied by it, so you must be suspicious of files that simply appear to be non-executable code due to file format extensions. I want to be. Recall that separation may be physical, logical, virtual, or other means or combination of means.

本発明の実施形態は、これら特徴の両方を与える。1つの特定の実施形態では、実行プログラムにより書き込むことも、さもなければ、変更することもできない信頼性のあるリードオンリメモリ(ROM)に、メモリ構成及び制御が維持される。信頼できるセキュアな仕方で必要な変更を行うことができるように、信頼性のある特殊な手順が設けられている。別の実施形態では、ハードウェアASICを使用してメモリ構成及び制御が維持される。又、別の実施形態では、変更可能であるが、コンピュータのプロセッサで実行されるプロセスのような信頼性のないソースから発生するプロセスでは変更できないファームウェアを有するハードウェアASICを使用してメモリ構成及び制御が維持される。メモリ構成及び制御は、特定のプロセスに割り当てられる固定サイズの単一の物理的メモリで設定されてもよいし、或いは統計学的な監視を使用するか、又は同時処理環境の数と、実行が予想されるプロセスのメモリ又は他のリソース要求とを示唆するユーザプロフィールを経て動的に決定されてもよい。   Embodiments of the present invention provide both of these features. In one particular embodiment, the memory configuration and control is maintained in a reliable read-only memory (ROM) that cannot be written or otherwise modified by the executing program. Reliable special procedures are provided so that necessary changes can be made in a reliable and secure manner. In another embodiment, a hardware ASIC is used to maintain memory configuration and control. In another embodiment, the memory configuration and hardware configuration can be changed using a hardware ASIC that has firmware that can be changed, but cannot be changed by a process originating from an unreliable source, such as a process running on a computer processor. Control is maintained. Memory configuration and control may be configured with a single physical memory of a fixed size allocated to a particular process, or using statistical monitoring, or the number of concurrent processing environments and execution It may be determined dynamically via a user profile that suggests expected process memory or other resource requirements.

本発明の実施形態は、例えば、真新しい、信頼性のある、そして安定した埋設マスターテンプレートを使用することにより処理又は計算タスクを(成功で又は不成功で)完了した後に計算環境の修理プロセスを排除又は簡単化する。このような場合には、処理環境をフラッシュ又はクリアし、次いで、回復させる必要がない。例えば、本発明の実施形態は、Microsoft Windows XPオペレーティングシステム(又は他のオペレーティングシステムソフトウェア)と、その処理環境に必要とされる他のアプリケーションプログラムとを記憶するリードオンリメモリを備えてもよい。異なる処理環境が、埋設又は記憶された異なるオペレーティングシステム及び/又はアプリケーションプログラムを備えてもよい。更に、ある解決策では、ある要素を埋設し、そして必要に応じて他の要素をロードして、融通性を許すと共に、速度及びスループットを高めることができる。例えば、一実施形態では、オペレーティングシステムを埋設し、そしてアプリケーションプログラムを書き込みアクセス可能なメモリにロードすることができる。このような実施形態では、埋設されたオペレーティングシステムは、フラッシュさせそして復帰させる必要はないが、汚染のおそれがあるアプリケーションプログラムを記憶しているメモリは、その処理タスクが完了した後に、フラッシュさせ、次いで、既知の真新しい状態に復帰させる。   Embodiments of the present invention eliminate the computing environment repair process after completing a processing or computing task (successfully or unsuccessfully) by using, for example, a brand new, reliable and stable embedded master template Or simplify. In such cases, the processing environment need not be flushed or cleared and then restored. For example, embodiments of the present invention may include a read-only memory that stores the Microsoft Windows XP operating system (or other operating system software) and other application programs required for the processing environment. Different processing environments may comprise different operating systems and / or application programs embedded or stored. Further, some solutions can embed certain elements and load other elements as needed to allow flexibility and increase speed and throughput. For example, in one embodiment, an operating system can be embedded and an application program can be loaded into a write-accessible memory. In such an embodiment, the embedded operating system does not need to be flushed and restored, but the memory storing the potentially harmful application program is flushed after its processing task is completed, It is then restored to a known brand new state.

図22を参照し、3つのプロセスA、B及びCの時間的にマルチプレクスされるオペレーションに対する1つのアーキテクチャー及びオペレーションシナリオを、単一のプロセッサ及びメモリについて以下に説明する。説明の便宜上、3つのプロセス(「A」、「B」及び「C」)は、プロセッサが利用できるのを待機しており、且つ同時にスタートするものと説明上仮定する。当業者が知っているコンピュータシステム、プロセッサ、メモリ等の従来の要素は、本発明を不明瞭にしないために示されていない。   With reference to FIG. 22, one architecture and operation scenario for a time multiplexed operation of three processes A, B, and C is described below for a single processor and memory. For convenience of explanation, it is assumed in the description that the three processes (“A”, “B” and “C”) are waiting for the processor to be available and start simultaneously. Conventional elements such as computer systems, processors, memories, etc., known to those skilled in the art are not shown in order not to obscure the present invention.

コンピュータシステム3002は、レベル1(L1)キャッシュ3006を有するプロセッサ3004と、入力ソース3010から1つ以上の入力ストリームを受け取るための1つ以上の入力バスポート3008と、受信器3014へ1つ以上の出力ストリームを通信するための1つ以上の出力バスポート3012と、状態3016及び制御3018を通信するためのポート又はピンを備えている。又、プロセッサは、オンチップ、オンボード、又は他のメモリ、例えば、レベル2(L2)キャッシュ3020及びランダムアクセスメモリ(RAM)3022と通信するためのバス又は他の手段も備えている。このプロセッサは、従来のプロセッサ又はマイクロプロセッサでもよいし、或いは特殊設計のものでもよい。又、本発明のアーキテクチャーは、タイミング、アドレス制御、及びスイッチング(TACS)ロジック3030も備え、これは、入力又は入力のセット3036を受け取るための入力バスポート3032と、出力又は出力のセット3038を通信するための出力バスポート3034とを備えている。この実施形態では、TACSロジック3030は、入力3040としてプロセッサ3004に意図された入力3036を受け取ると共に、プロセッサ出力3042を受け取ってそれを更に処理して出力3038を発生するように接続される。   The computer system 3002 includes a processor 3004 having a level 1 (L1) cache 3006, one or more input bus ports 3008 for receiving one or more input streams from the input source 3010, and one or more to the receiver 3014. One or more output bus ports 3012 for communicating output streams and ports or pins for communicating status 3016 and control 3018 are provided. The processor also includes a bus or other means for communicating with on-chip, on-board, or other memory, eg, level 2 (L2) cache 3020 and random access memory (RAM) 3022. This processor may be a conventional processor or a microprocessor, or it may be of a special design. The architecture of the present invention also includes timing, address control, and switching (TACS) logic 3030 that includes an input bus port 3032 for receiving an input or set of inputs 3036 and an output or set of outputs 3038. And an output bus port 3034 for communication. In this embodiment, TACS logic 3030 receives input 3036 intended for processor 3004 as input 3040 and is connected to receive processor output 3042 and further process it to generate output 3038.

TACSロジックは、入力ストリーム3036のシリアライザロジック、又は他の入力プロセスストリームシリアル化手段3044を備え、これは、入力プロセスストリーム3036(この例では、3つの入力プロセスA、B及びC)を受け取り、そして任意であるが、それらをパーズするか、さもなければ、それらの中の処理される要素を識別する。シリアライザという語は、考えられる最も広い意味をもつように意図され、入力ストリームをビットごとに、バイトごとに、ワードごとに、又は他の特定の仕方で処理することに限定されず、むしろ、入力ストリーム特性を1つ又はある組合せで有する入力ストリームを1つ又はある組合せで受け容れて、その各々のストリームを規定の1組のポリシー又はロジックに基づいて処理して、その出力を発生できるものである。(デシリアライザも、同様に、入力を1つ又はある組合せで受け取ってデシリアライズし、その出力を発生することができる。)又、これは任意であるが、特定の処理サイクル中に各プロセスにより使用されるべきプロセッサの要素も識別できるが、これは、主として、プロセッサの他の要素を1つのプロセス又は別のプロセスに別々に割り当てるべきときに効果がある。これらの要素は、例えば、単一の命令でもよいし、単一の命令にそのデータを伴うものでもよいし、多数の命令でもよいし、或いは典型的な計算マシン及び方法に存在するようにコマンド、命令、データ等の他のセットでもよい。この例では、シリアライザ3044は、Aの1つの要素(例えば、A1)と、その後にBの1つの要素(例えば、B1)と、その後にCの1つの要素(例えば、C1)とを取り上げ、次いで、各々終りとなるまでA(例えば、A2)、B(例えば、B2)及びC(例えば、C2)について繰り返し、そして付加的なプロセスストリームを取り扱う。他の例では、所定の又は動的に決定されたポリシーに基づいて入力3032において待機中の処理ストリームから選択を行うことができる。入力ストリームの数に制限はなく、そして一実施形態では、TACSロジック3030及びプロセッサ3004が処理のためにそれらを受け容れる準備ができるまで待ち行列に入れられる。通常、A、B又はCの1つは、長さが異なり、最初に終了するが、次のプロセスストリームDをパーズしてシリアル化するまで他のものが終了するのを待機する理由はない。実際に、プロセスは、互いに完全に独立して実行される。他の構成を実施することもでき、例えば、プロセッサストリームBの方がプライオリティが高い場合には、Bの多数の要素がAとCの単一要素間に散在され、例えば、シリアル化されたストリーム「・・・A11231・・・」となる。 The TACS logic comprises serializer logic of input stream 3036, or other input process stream serialization means 3044, which receives input process stream 3036 (in this example, three input processes A, B and C) and Optionally, parse them or otherwise identify the elements to be processed within them. The term serializer is intended to have the broadest possible meaning and is not limited to processing the input stream bit-by-bit, byte-by-byte, word-by-word, or in any other particular way, but rather input An input stream that has one or a combination of stream characteristics is accepted in one or a combination, and each stream can be processed according to a specified set of policies or logic to produce its output. is there. (Deserializers can similarly receive and deserialize inputs and generate their outputs in one or some combination.) This is also optional, but used by each process during a particular processing cycle. The elements of the processor to be performed can also be identified, but this is mainly effective when other elements of the processor are to be assigned separately to one process or another process. These elements may be, for example, a single instruction, a single instruction with its data, multiple instructions, or a command as present in typical computing machines and methods. Other sets of instructions, data, etc. may be used. In this example, serializer 3044 includes one element of A (eg, A 1 ) followed by one element of B (eg, B 1 ), followed by one element of C (eg, C 1 ) And then repeat for A (eg, A 2 ), B (eg, B 2 ) and C (eg, C 2 ) until each end, and handle additional process streams. In another example, a selection can be made from the waiting process stream at input 3032 based on a predetermined or dynamically determined policy. There is no limit to the number of input streams, and in one embodiment, TACS logic 3030 and processor 3004 are queued until they are ready to accept them for processing. Usually one of A, B or C is different in length and ends first, but there is no reason to wait for the other to finish until the next process stream D is parsed and serialized. In practice, the processes are performed completely independently of each other. Other configurations can be implemented, for example, if processor stream B has higher priority, multiple elements of B are interspersed between single elements of A and C, e.g. serialized stream “... A 1 B 1 B 2 B 3 C 1 .

プロセッサチップ3004上のL1 3006又はL2 3020キャッシュメモリ又は他のバッファメモリのようなプロセッサメモリや、RAM3022のような外部メモリがプロセスの絶対的分離を維持するように制御されるプロセスの実施形態について以下に説明する。メモリ内分離を与える別のやり方は、個別の物理的メモリチップ、キャッシュ又は他の高速中間メモリ、又は他のメモリサブシステム、例えば、RAMメモリを設けることであるが、これは、コスト、相互接続、及び他の事柄から好ましくない。多数のプロセッサ又は多数のプロセッサコアが実施される場合には、個別の物理的メモリデバイス又はチップをもたせることが、より実現可能である。更に、ある実施形態では、多数のプロセッサコア、及び各コアに関連した高速メモリを設け、個別のメモリサブシステム(例えば、外部RAM)が必要とされないようにする。   The following is an embodiment of a process where processor memory, such as L1 3006 or L2 3020 cache memory or other buffer memory on processor chip 3004, or external memory such as RAM 3022 is controlled to maintain absolute separation of processes. Explained. Another way to provide in-memory isolation is to provide a separate physical memory chip, cache or other high-speed intermediate memory, or other memory subsystem, eg, RAM memory, which is costly, interconnected , And other things are undesirable. It is more feasible to have separate physical memory devices or chips when multiple processors or multiple processor cores are implemented. Furthermore, in some embodiments, multiple processor cores and high speed memory associated with each core are provided so that a separate memory subsystem (eg, external RAM) is not required.

しかしながら、全ての実施形態が、プロセスの絶対的分離又は隔離を必要とし又はそれから利益を得るのではなく、ある実施形態では、許可された信頼のある管理者がコンピュータのオペレーションをモニタすることを許す信頼性のある監視プロセスが設けられてもよい。プロセス間に規定の信頼性レベルがある場合には絶対的な分離を伴わずに動作する他のプロセスも許される。更に、複数の入力及び出力が一緒にグループ編成されて、ここに述べる分離レベルで処理される限り、信頼性がなくても複数のプロセスを一緒に処理することができる。例えば、2つの異なるアプリケーションプログラムを使用してワード処理オペレーション及び写真編集プロセスを遂行するように処理環境を生成してもよい。この処理環境の入力及び出力がテキストドキュメント及びピクチャーファイルであっても、本発明は動作する。というのは、本発明は、処理又は計算環境からの入力又は出力の特性又はコンテンツが何であるか心配しなくてよいからである。   However, not all embodiments require or benefit from absolute segregation or isolation of processes, and in some embodiments allow authorized trusted administrators to monitor computer operations. A reliable monitoring process may be provided. Other processes that operate without absolute separation are allowed if there is a defined level of confidence between the processes. Furthermore, as long as multiple inputs and outputs are grouped together and processed at the isolation levels described herein, multiple processes can be processed together without reliability. For example, a processing environment may be created to perform word processing operations and photo editing processes using two different application programs. The present invention operates even if the input and output of this processing environment are text documents and picture files. This is because the present invention does not have to worry about what the input or output characteristics or content from the processing or computing environment is.

この実施形態では、シリアル化ストリーム3050は、信頼性のあるTACSロジック3030により発生され、又、TACSロジックは、見掛け上のプロセス環境コンフィギュレーション(簡単に言えば、コンピュータの物理的又は論理的コンフィギュレーション)を、取り扱われているプロセス要素に基づいて変更する。ストリームA、B及びCの要素が上述したようにシリアル化される一実施形態では、タイミング制御回路が、各要素に対する異なるコンフィギュレーションをそれが受信されるときに読み取って適用するように動作する。TACSロジックは、異なるコンフィギュレーションレコード(例えば、信頼性のあるROMからのBIOSコンフィギュレーション)を各々の瞬間に効果的に読み取り、プロセスAに専用の各時間スライスごとに、プロセスAに対して識別されるメモリ又は他のコンピュータ環境素子しか見ないようにし、これは、Aに割り当てられたメモリしか見ないことを含み、プロセス「A」に指定されたメモリ(アドレス)範囲以外の他のメモリに偶発的にアクセスすることがないようにする。   In this embodiment, the serialized stream 3050 is generated by the reliable TACS logic 3030 and the TACS logic is responsible for the apparent process environment configuration (in short, the physical or logical configuration of the computer). ) Based on the process element being handled. In one embodiment where the elements of streams A, B and C are serialized as described above, the timing control circuit operates to read and apply a different configuration for each element as it is received. The TACS logic effectively reads different configuration records (eg, BIOS configuration from a reliable ROM) at each instant and is identified to process A for each time slice dedicated to process A. Only memory that is assigned to A, which includes only seeing the memory assigned to A, and is a random occurrence in other memory outside the memory (address) range specified for process “A” To prevent access.

一実施形態では、このメモリ管理及び制御は、プロセッサ3004がL1及びL2キャッシュのあるアドレス範囲(又は他の識別された部分)及びRAMに対して書き込み及び読み取りを行うようにさせることで達成される。これは、例えば、各メモリの1つの領域しかプロセッサに見えないようなアドレス再マッピング機構を使用して達成することができ、これらの領域は、各メモリ(例えば、L1、L2、RAM、及び大量記憶装置ディスクドライブ)の異なるアドレス範囲へマップされ、さもなければ、それで識別される。換言すれば、プロセッサは、第1のL1キャッシュアドレス範囲ADDR1 3061を見るが、それは、処理プロセス「A」が、実際に、プロセス「A」に関連したアドレス範囲ADDR2 3062に対して読み取り又は書き込みを行うとき、又、処理プロセス「B」が、実際に、プロセス「B」に関連したアドレス範囲ADDR3 3063に対して読み取り又は書き込みを行うとき、そして処理プロセス「C」が、実際に、プロセス「C」に関連したアドレス範囲ADDR4 3064に対して読み取り又は書き込みを行うときである。他の記憶装置、例えば、ハードディスクドライブ記憶装置、レベル2キャッシュ、及びRAMにも、同様のマッピング又は識別が行われる。同様に、他の装置は、分離を維持するために特定のプロセスへとマップされ、又はそれで排他的に識別されてもよい。この場合も、本発明の実施形態では、マッピング又は排他的識別或いは指定は、単にオペレーティングシステムやソフトウェアの再指定ではなく、あるプロセスが他のプロセスを見ず、それに気付かないように、コンピュータシステムのコンフィギュレーション又は要素を再定義する信頼性のある制御を含む。   In one embodiment, this memory management and control is accomplished by having the processor 3004 write to and read from certain address ranges (or other identified portions) and RAM of the L1 and L2 caches. . This can be accomplished, for example, using an address remapping mechanism where only one region of each memory is visible to the processor, and these regions are stored in each memory (eg, L1, L2, RAM, and mass Mapped to a different address range of the storage device disk drive), otherwise identified by it. In other words, the processor sees the first L1 cache address range ADDR1 3061, which means that the processing process “A” actually reads or writes to the address range ADDR2 3062 associated with process “A”. And when processing process “B” actually reads or writes to address range ADDR3 3063 associated with process “B”, and processing process “C” actually does process “C”. When reading or writing to the address range ADDR4 3064 associated with "." Similar mapping or identification is performed for other storage devices, such as hard disk drive storage devices, level 2 caches, and RAM. Similarly, other devices may be mapped to specific processes or otherwise identified exclusively to maintain isolation. Again, in embodiments of the present invention, the mapping or exclusive identification or designation is not simply a re-designation of the operating system or software, so that one process does not see or notice another process. Includes reliable control to redefine configurations or elements.

ここに示す実施形態では、TACS3030は、L1キャッシュ3065への制御(及び任意の状態)信号、L2キャッシュ3066への信号、RAM3066への信号、及び大量記憶装置又は他の装置3068への任意の信号を介して、メモリアドレスを制御するという役割を果たす。   In the illustrated embodiment, the TACS 3030 is a control (and optional state) signal to the L1 cache 3065, a signal to the L2 cache 3066, a signal to the RAM 3066, and an optional signal to the mass storage device or other device 3068. It plays a role of controlling the memory address via the.

プロセスA、B又はCの1つがウイルス又は他のマリシャスコードを含みそしてそれを実行することは、問題ではない。汚染されることのあるいかなる共通のプロセス環境素子も、別のプロセスで使用される前にクリアされ、リセットされ、又は修理され、そして保持される必要のあるプロセス環境のいかなる素子も共有されない。それ故、プロセスBがウイルスを実行する場合には、このような実行の影響が、プロセスBに割り当てられたメモリにしか現われない。Bプロセスが完了又はエラーにより終了すると、B割り当てメモリがリセットされ、汚染が他のプロセスに伝播することはない。しかしながら、通常、プロセッサの内部要素(例えば、キャッシュメモリに記憶されたコンテンツを除く)は、別のプロセスの残留素子を保有しない。というのは、次のプロセス(例えば、命令、又は関連データを伴う命令)や、そのような残留素子それ自体が、障害を引き起こしたり汚染を招いたりするようにそれ自体が動作しないからである。コードがプロセッサ素子(例えばレジスタ等)をトランシットさせる場合には、そのようなコードは、そこに保有されないので無関係であり、そして次のコードは、その残留素子を有効にパージするが、記憶装置がある場合には、その素子をフラッシュするか、さもなければ、リセットするか、又は既知の信頼性のある状態へと真新しくしなければならない。本発明の特徴に関連して使用でき且つ有害な残留特徴を含むことのある従来のプロセッサアーキテクチャー及び装置の場合には、このような素子をクリアし又はリセットすることができる。これは、タイミングアドレス制御及びスイッチングロジックにより考慮に入れることができる。例えば、命令又はコードをクリアすることは、潜在的に有害な命令又はプロセスの後に導入されてもよく、或いはこのような有害なものが事前に予想できない場合には、プロセスをクリアしたりリセットしたりすることは、別のプロセスにより所有される各プロセス間に導入してもよい。将来開発されるプロセッサアーキテクチャーについては、クリア又はリセットプロセスを入力ストリームに挿入する必要なくプロセッサのスループットを改善するためにクリア又はリセット特徴をプロセッサアーキテクチャーに組み込んでもよい。   It is not a problem that one of processes A, B or C contains and executes a virus or other malicious code. Any common process environment element that may be contaminated is not shared with any element of the process environment that needs to be cleared, reset, or repaired and retained before being used in another process. Therefore, if process B executes a virus, the effect of such execution appears only in the memory allocated to process B. When the B process completes or terminates due to an error, the B allocated memory is reset and no contamination is propagated to other processes. However, typically, internal elements of the processor (eg, excluding content stored in the cache memory) do not have a residual element of another process. This is because the next process (e.g., an instruction with instructions or associated data) or such a residual element itself does not operate itself to cause failure or contamination. If the code causes a processor element (such as a register) to transit, such code is irrelevant because it is not held there, and the next code effectively purges its remaining elements, but the storage device In some cases, the device must be flushed, otherwise reset, or branded to a known reliable state. In the case of conventional processor architectures and devices that can be used in connection with features of the present invention and that may contain harmful residual features, such elements can be cleared or reset. This can be taken into account by timing address control and switching logic. For example, clearing instructions or code may be introduced after a potentially harmful instruction or process, or if such harmful things cannot be anticipated in advance, clear or reset the process. Or may be introduced between each process owned by another process. For future processor architectures, clear or reset features may be incorporated into the processor architecture to improve processor throughput without having to insert a clear or reset process into the input stream.

プロセッサ3004がその出力3052を発生すると、それらは、プロセッサ側の入力ポート3070により受信されそしてTACSロジックにより処理されて、結合出力ストリーム3052をデシリアライズすると共に、適切な出力順序を与える。出力ストリーム3038は、入力ストリーム3036の順序に一致する順序で示されているが、この一致する順序付けは、タグ又は他のプロセス識別子を使用して特定の出力がどのプロセスに関与するか識別するときには、必要とされない。   When the processor 3004 generates its output 3052, they are received by the processor-side input port 3070 and processed by the TACS logic to deserialize the combined output stream 3052 and provide the proper output order. The output stream 3038 is shown in an order that matches the order of the input stream 3036, but this matching ordering is used to identify which process a particular output is responsible for using a tag or other process identifier. Not needed.

特定のタイミング、アドレス制御及びスイッチングロジック(TACSロジック)3030をいかに使用するかの特定の実施形態について説明したが、当業者であれば、別の構造及び方法を使用して本発明の別の実施形態を達成できることが明らかであろう。このような実施形態が図23に示されており、この図は、アドレス範囲の制御を使用するコンピュータにおいて複数の処理間に制御された分離程度を維持するためのシステムの別の実施形態を示す。コンピュータプログラム命令又は他の命令を処理するためのロジック、例えば、プロセッサ、コントローラ、又は中央処理ユニットであるプロセッサロジック3080は、ある内部アドレス制御ロジック3081を備えている。種々の形態のプロセッサアドレス制御ロジックがこの技術で知られており、ここでは、詳細に説明しない。個別のアドレス制御及び分離ロジック3082が設けられるか、或いは本発明のアドレス分離及び制御ロジックの特徴がプロセッサのアドレス制御ロジックに組み込まれるか、さもなければ、プロセッサ3080内に設けられる。アドレス分離及び制御ロジック(AICL)3082は、制御及び状態信号をプロセッサ内のアドレス制御ロジック3081に通すと共に、必要に応じて、アドレス可能なメモリ/キャッシュ/記憶装置サブシステム(1つ又は複数)に通す。アドレス可能なメモリ/キャッシュ/記憶装置3085は、例えば、RAM、ROM、キャッシュメモリ、ハードディスクドライブ、或いは他の記憶装置又はメモリマップ入力/出力装置でよいが、これらに限定されない。入力は、AICL3082により受け取られて、ある制御信号3083を発生するように処理され、この信号は、アドレス制御ロジック3081及びアドレス可能なメモリ3085へ通信することができる。或いは又、AICL3082が、ある制御信号3083を発生し、これがアドレス制御ロジック3081に通信され、次いで、アドレス制御ロジックが、付加的な制御信号3089(及び任意であるが、受信状態信号)をアドレス可能なメモリ3085に通信することができる。AICL3082の構造は、一般に、処理されるべき入力3086の性質に依存し、これは、静的に定義されてもよいし、又は入力に基づいて動的に決定されてもよい。出力3087は、通常、従来のプロセッサの対応入力に対して発生された同じ出力であるが、ウイルス又は他のマリシャスコードの実行のような異常な処理状態を任意に抑制することができると共に、発生することのあったエラーや例外的状態(又はシステム欠陥)が発生することはない。   While specific embodiments of how to use specific timing, address control and switching logic (TACS logic) 3030 have been described, those skilled in the art will appreciate that other structures and methods may be used to implement other implementations of the invention. It will be apparent that the form can be achieved. Such an embodiment is shown in FIG. 23, which illustrates another embodiment of a system for maintaining a controlled degree of separation between multiple processes in a computer using address range control. . Logic for processing computer program instructions or other instructions, eg, processor logic 3080, which is a processor, controller, or central processing unit, includes some internal address control logic 3081. Various forms of processor address control logic are known in the art and will not be described in detail here. Separate address control and isolation logic 3082 may be provided, or the address isolation and control logic features of the present invention may be incorporated into the processor address control logic, or otherwise provided within processor 3080. Address isolation and control logic (AICL) 3082 passes control and status signals to address control logic 3081 in the processor and optionally to addressable memory / cache / storage subsystem (s). Pass through. Addressable memory / cache / storage device 3085 may be, but is not limited to, for example, RAM, ROM, cache memory, hard disk drive, or other storage device or memory map input / output device. Input is received by the AICL 3082 and processed to generate a control signal 3083 that can be communicated to the address control logic 3081 and the addressable memory 3085. Alternatively, the AICL 3082 generates a control signal 3083, which is communicated to the address control logic 3081, which can then address additional control signals 3089 (and optional receive status signals). Can communicate with the memory 3085. The structure of the AICL 3082 generally depends on the nature of the input 3086 to be processed, which may be defined statically or determined dynamically based on the input. The output 3087 is typically the same output generated for the corresponding input of a conventional processor, but can optionally suppress abnormal processing conditions such as the execution of viruses or other malicious code and No errors or exceptional conditions (or system faults) that may have occurred.

図22の実施形態では、時間的マルチプレクシングに適用できることが強調され、個別のプロセス又は処理ストリームは、他の制御ロジックの制御回路により個別に保たれ且つ分離されることを想起されたい。又、多数のプロセスは、物理的処理空間変数の1つ又は組合せに基づくか、又は本書のどこかに説明された多次元仮想処理空間に基づいて、多数のプロセスを区別又は分離できることを想起されたい。完全な分離又は制御された分離程度の理由及び利益は、本書のどこかに説明されており、1組の分離変数又はパラメータに対して定義できる多次元処理空間であるので、ここでは説明を繰り返さない。   In the embodiment of FIG. 22, it is emphasized that it can be applied to temporal multiplexing, recalling that individual processes or processing streams are kept and separated separately by the control circuitry of other control logic. It is also recalled that multiple processes can be distinguished or separated based on one or a combination of physical processing space variables or based on the multidimensional virtual processing space described elsewhere in this document. I want. The reason and benefit of the degree of complete or controlled separation is described elsewhere in this document and is a multidimensional processing space that can be defined for a set of separation variables or parameters, so the description is repeated here. Absent.

一実施形態において、1つのタイムスライス又は周期中に実行される制御環境は、それ以前のタイムスライス又は周期中に非制御プロセスによりファイルされるか又は去られたオペレーションに対する要求を受け取る。この要求は、別のプロセスと共有されるが、そのプロセスを汚染することがないように行われるか又はファイルされる。例えば、実行可能なコードを搬送できない単一ビット又は少数のビットがプロセッサ又は他のロジック内の1つ又は多数のレジスタに記憶される。制御環境は、これらのレジスタを見るか又は問合せをし、そして別のプロセスにより要求がなされたことを確認すると、フラグ又は他の指示子(この場合も、例えば、レジスタにおけるビット又は少数のビット)によりアクセス又は許可を承諾するか或いはオペレーション又は能力に対してアクセス又は許可を拒絶することができ、従って、要求を発しているプロセスが次に計算環境を使用できるときに、オペレーション又は能力を利用できる。オペレーション又は能力は、一般に、他のプロセス又はデータを汚染に露出することのあるオペレーションや状態を制御環境が許さないような構成を計算環境が与えることのできるオペレーション又は能力でよい。許されるオペレーション又は能力は、例えば、1組のルール、ポリシー、テーブル、ロジック、又は他のやり方で定義することができる。ある実施形態では、許可又はアクセスの承諾は、見かけ上の計算環境のコンフィギュレーションを変更し、記憶装置、例えば、ハードディスクドライブ又は他の大量記憶装置、プロセッサ関連メモリサブシステム、例えば、ランダムアクセスメモリの全部又は一部分、1つ以上のプロセッサ関連高速中間メモリ、例えば、キャッシュメモリの全部又は一部分を見えるようにすると共にアクセス可能にし、入力又は出力ポートを使用可能にするか又は隠し、ネットワークインターフェイスカードを使用可能にするか又は隠し、及び/又はより一般的には、1組のデバイス、回路、ロジック、オペレーション、ハードウェア又はソフトウェアのエレメントを隠し、制限し、オープンし、クローズし、さもなければ、要求を発しているプロセスに対して使用可能又は使用不能にする。1つのエレメント又は能力に対して許可又はアクセスを承諾することは、当然、制御プロセスが他のものへの許可又はアクセスを制限又は拒絶し、従って、適切な分離程度が維持されるようにする。許可又はアクセスの承諾又は拒絶は、例えば、スイッチ又は1組のスイッチが閉じて物理的経路を生成したり或いは装置又は回路を始動したりする物理的な変化や、計算環境内の物理的ハードウェアロジック又はソフトウェア又はファームウェアを変更する論理的な変化や、異なる仮想、論理的又は物理的処理又は計算環境を変更又は生成する他のやり方で生じ得る。これらの組合せは、ルール、ポリシー、テーブル、ロジック、又は他の仕方で確立されるが、この確立は、非制御プロセスにより変更されないよう保護され、そして実際に、ある実施形態では、特殊な管理者特権を必要とする。本明細書のどこかに述べたように、計算環境に対するこれら変更の幾つかは、本明細書のどこかに述べる動的スイッチング及びコンフィギュレーション構造及び方法の態様を使用するか、又は他の構造及び方法を使用して確立することができる。   In one embodiment, the control environment executed during one time slice or period receives a request for an operation filed or left by an uncontrolled process during the previous time slice or period. This request is shared with another process, but is made or filed so as not to contaminate that process. For example, a single bit or a small number of bits that cannot carry executable code is stored in one or more registers in the processor or other logic. When the control environment sees or queries these registers and confirms that the request has been made by another process, a flag or other indicator (again, eg a bit in the register or a few bits) Can accept or deny access or permission to an operation or capability, so that the operation or capability can be utilized the next time the requesting process can use the computing environment . An operation or capability may generally be an operation or capability that allows the computing environment to be configured such that the control environment does not allow operations or conditions that may expose other processes or data to contamination. The allowed operations or capabilities can be defined, for example, in a set of rules, policies, tables, logic, or other manners. In some embodiments, the permission or access grant changes the configuration of the apparent computing environment, and the storage device, e.g., hard disk drive or other mass storage device, processor-related memory subsystem, e.g., random access memory Make all or part of one or more processor-related high-speed intermediate memories, eg, all or part of cache memory visible and accessible, enable or hide input or output ports, use network interface card Enable or hide, and / or more generally hide, limit, open, close, otherwise request a set of devices, circuits, logic, operations, hardware or software elements Against the process Enabling or disabled Te. Granting permission or access to one element or capability naturally allows the control process to restrict or deny permission or access to others, and thus maintain a proper degree of isolation. Granting or denying access or access can be, for example, a physical change in which a switch or set of switches closes to create a physical path or start a device or circuit, or physical hardware in a computing environment. It can occur in logical changes that change logic or software or firmware, or in other ways that change or generate different virtual, logical or physical processing or computing environments. These combinations are established in rules, policies, tables, logic, or other ways, but this establishment is protected from being altered by uncontrolled processes, and indeed, in some embodiments, a special administrator Requires privilege. As noted elsewhere herein, some of these changes to the computing environment may use aspects of the dynamic switching and configuration structures and methods described elsewhere herein, or other structures. And can be established using methods.

必然的に共有される装置の中には、メモリサブシステム(通常、RAM)と、このメモリサブシステムとプロセッサとの間の中間の高速メモリ(通常、プロセッサチップ又はチップセット上の1つ以上のキャッシュメモリ)がある。これらメモリの異なる部分は、上述したアドレス制御ロジック及び手順と、アドレス割り当て、マスター、データ、及び命令バスの利用性、記述テーブル等を構成しそして制御するために他の良く知られた技術を使用して、異なるプロセスに見えるようにされる。本発明の一実施形態では、メモリ又はレジスタにデータ構造で記憶できるような記述子テーブルを、通常、他のプロセスから隠して、あったとしても制御プロセスだけに見えるようにする。別の実施形態では、記述子テーブルの選択された部分が隠れた状態に維持され、一方、他の部分は、1つ以上のプロセスに選択的に見えるようにされ、そして他の実施形態では、個別の記述子テーブルが維持され、それらの1つ以上をプロセスに選択的に使用可能にするように制御が実行され、それらが見えるようにされたときでも、その見えることは、過渡的であるに過ぎず、又はプロセスの特定の命令又は一部分に対するものに過ぎない。従来、このような記述子テーブルは、全てのプロセスに見えるもので且つ全てのプロセスにアクセスでき、このように見えること及びアクセスできることは、マリシャスコードがこのような記述子テーブルのコンテンツを変更する機会を与え、従って、計算環境を変更しダメージを及ぼす能力を与え得る。制御プロセスへのものを除き、計算環境のメモリアドレス又は他の要素に関連したこのような記述子テーブルへのアクセスを分離し、隠し又は拒絶することは、計算又は処理環境を保護できる別の仕方である。少なくとも1つの環境において、コンフィギュレーション情報がリードオンリメモリに維持され、そして非制御プロセス(及びある実施形態では制御プロセス)に与えられるオペレーティングシステムもアプリケーションプログラムも、このように記憶されたコンフィギュレーション情報を操作することができない。   Some of the inevitable shared devices include a memory subsystem (usually RAM) and a high-speed memory intermediate between the memory subsystem and the processor (usually one or more on a processor chip or chipset). Cache memory). These different parts of memory use other well-known techniques to configure and control the address control logic and procedures described above, address assignment, master, data, and instruction bus availability, description tables, etc. To make it look different. In one embodiment of the present invention, a descriptor table that can be stored in memory or in a data structure in a register is typically hidden from other processes and made visible only to the controlling process, if any. In another embodiment, selected portions of the descriptor table are kept hidden while other portions are made selectively visible to one or more processes, and in other embodiments, Even when individual descriptor tables are maintained and control is performed to make one or more of them selectively available to the process, making them visible, it is transient Only for a specific instruction or part of the process. Traditionally, such descriptor tables are visible to and accessible to all processes, and this visibility and access is an opportunity for malicious code to change the contents of such descriptor tables. And thus can give the ability to change the computing environment and cause damage. Isolating, hiding or denying access to such descriptor tables related to the memory address or other elements of the computing environment, except for the control process, is another way that the computing or processing environment can be protected. It is. In at least one environment, the configuration information is maintained in read-only memory, and the operating system and application program provided to the uncontrolled process (and in some embodiments the controlled process) can also store the stored configuration information in this manner. It cannot be operated.

それに加えて又はそれとは別に、本発明のこれら及び/又は他の実施形態は、処理環境内の種々のバス、入力/出力ポート又は装置、環境にロードされるアプリケーションプログラムソフトウェア、処理環境内のオペレーティングシステム又はオペレーティングシステムエレメント、或いはこれら又は他のものの組合せに対して見えること及び/又はそれらへのアクセスを制御することができる。少なくとも幾つかの実施形態では、選択されたハードウェア又はソフトウェア要素の存在(ひいては、そこへのアクセスの拒絶)が、オペレーティングシステムに対して検出不能であることが保証される。ある実施形態では、これは、好都合にも、オペレーティングシステムを変更し(オペレーティングシステムの信頼性のあるリードオンリバージョンを埋設することも含む)、及び/又はハードウェア及び/又はファームウェアレベルでコンフィギュレーションを制御することにより保証される。ある実施形態では、各々の処理環境を動的なベースで構成又は再構成する物理的又は論理的に個別のBIOSが設けられる。他の実施形態では、基線BIOSコンフィギュレーションが確立され、そして特定の能力を追加するためのコンフィギュレーションの変更が動的に確立される。   In addition or alternatively, these and / or other embodiments of the present invention may include various buses, input / output ports or devices within the processing environment, application program software loaded into the environment, operating within the processing environment. Visibility to and / or access to the system or operating system elements, or a combination of these or others, can be controlled. In at least some embodiments, the presence of a selected hardware or software element (and thus a denial of access thereto) is guaranteed to be undetectable to the operating system. In certain embodiments, this advantageously modifies the operating system (including embedding a reliable read-only reversion of the operating system) and / or configures at the hardware and / or firmware level. Guaranteed by controlling. In some embodiments, a physically or logically separate BIOS is provided that configures or reconfigures each processing environment on a dynamic basis. In other embodiments, a baseline BIOS configuration is established and configuration changes to add specific capabilities are dynamically established.

一例として、1つの特定の実施形態では、アドレス位置又は範囲が、オペレーティングシステムレイヤより1レベル又は1レイヤ下に、静的又は動的に定義されて、オペレーティングシステム(Microsoft Windows、Linux、Apple Computer、又は他のオペレーティングシステム)がそれら定義を変更し、さもなければ、それに影響を及ぼすことができないようにすると共に、見ることが許された定義しかオペレーティングシステムが見ないようにする。低レベルプログラム又はプロセスは、例えば、オペレーティングシステム、アプリケーションプログラムのような他のものによりアクセスされることがなく、且つ当然、潜在的にマリシャスコードを含むことのあるデータにアクセスすることもないプログラム又はプロセスでよい。ある実施形態では、この低レベル定義は、保護されたBIOSを使用して、アドレス制御ロジック(隠されるべきエレメントがメモリアドレス位置であるとき)により、TACS制御により、メインプロセッサそれ自体により、或いはプロセッサに組み込まれるか又は個別のロジック素子として動作されそしてプロセッサと通信する他のロジックにより、達成することができる。TACS制御が含まれるときには、それが、例えば、時間分離されるマルチプレクス事象に対して排他的に利用できるようにされる特定のアドレス範囲を定義するグローバルな記述を生成することができる。別のコントローラは、N次元の仮想処理空間に利用できる他方の非時間的定義分離に基づいてアドレス分離を定義してもよい。   As an example, in one particular embodiment, the address location or range is defined statically or dynamically one level or one layer below the operating system layer and the operating system (Microsoft Windows, Linux, Apple Computer, (Or other operating system) changes those definitions, otherwise it cannot be affected and the operating system only sees definitions that are allowed to be seen. A low-level program or process is a program or process that is not accessed by others such as, for example, the operating system, application programs, and of course, does not access data that may potentially contain malicious code. Process is fine. In some embodiments, this low-level definition uses protected BIOS, by address control logic (when the element to be hidden is a memory address location), by TACS control, by the main processor itself, or by the processor Or can be accomplished by other logic that operates as a separate logic element and communicates with the processor. When TACS control is included, it can generate a global description that defines a specific address range that is made available exclusively to, for example, time-multiplexed multiplex events. Another controller may define address separation based on the other non-temporal definition separation available to the N-dimensional virtual processing space.

一実施形態では、テーブルが各プロセスに対するメモリアドレス範囲の利用性を差別的に定義し、このような定義は、論理的でも物理的でもよい。一実施形態では、BIOSがマッピングをテーブルの形態で保有する。例えば、計算又は処理システムのハードウェアに使用可能な全RAMメモリが1ギガバイトである場合には、低レベル制御プロセスは、オペレーティングシステムが、所定の又は動的に決定された量のメモリ、例えば、256メガバイトのみを見るのを許す。低レベルプログラム又は制御は、第1プロセスに関連した第1のMicrosoft Windowsオペレーティングシステム及び第2プロセスに関連した第2のMicrosoft Windowsオペレーティングシステムのようなオペレーティングシステムの異なるインスタンス生成に対して異なる量及び異なるメモリアドレス範囲を利用できるようにする。   In one embodiment, the table differentially defines the availability of memory address ranges for each process, and such a definition may be logical or physical. In one embodiment, the BIOS maintains the mapping in the form of a table. For example, if the total RAM memory available to the computing or processing system hardware is 1 gigabyte, the low-level control process may cause the operating system to determine a predetermined or dynamically determined amount of memory, for example, Allow only 256 megabytes to be seen. The low level program or control is different and different for different instantiations of the operating system such as the first Microsoft Windows operating system associated with the first process and the second Microsoft Windows operating system associated with the second process. Make the memory address range available.

従来のシステム及び方法は、通常、全てのプロセスが相互作用し得るが、プログラムコードが適切に設計されたときにはそのようにならず、しかも、マリシャス、ハッカー又はウイルスコードが導入されたときに異なるプロセス及びデータを崩壊へと露出させるような単一の「砂箱(sand box)」又は「スープ鉢(bowl of soup)」を使用する。本発明のシステム及び方法の効果の1つは、各プロセスがそれ自身の砂箱又はきれいな空の鉢を使用し、それ故、処理又は計算環境において実行し又は実行を試みるようなマリシャス、ハッカー又はウイルスコードがある場合でも、汚染が生じることはない。   Conventional systems and methods typically allow all processes to interact, but do not do so when program code is properly designed, and differ when malicious, hacker or virus code is introduced. And a single “sand box” or “bowl of soup” that exposes the data to collapse. One of the advantages of the system and method of the present invention is that each process uses its own sandbox or clean empty bowl, and therefore can be implemented or attempted to run in a processing or computing environment. Even if there is a virus code, no contamination will occur.

制御プロセスと別のプロセスとの間の制限されたメッセージ通過に関する上述した技術を使用して、制御プロセスは、他のプロセスの実行中にそれがプロセッサから欠けていても(条件、状態、フラグ、又はそれがプロセッサに残した他の指示子を除いて)、他のプロセスを有効に制御できることが明らかである。又、制御プロセスは、アクセスが許された処理リソースを他のプロセスが使用した後に、クリアし、フラッシュし、リセットし、さもなければ、真新しい処理環境を再確立することができる。   Using the techniques described above for restricted message passing between a control process and another process, the control process can be configured (condition, state, flag, Obviously, other processes can be effectively controlled (except for other directives that it leaves the processor). The control process can also clear, flush, reset, and re-establish a brand new processing environment after other processes have used the processing resources to which it has been granted access.

ここに述べるようにメモリアドレス範囲を制御することによりメモリの部分を選択的に隠す能力は、計算又は処理環境内の、又はその外部のメモリマップ装置又はサブシステムに適用することができる。本発明のシステム及び方法は、他の利益においても、他の装置、回路、ソフトウェア等の結果を同様に選択的に隠すことができる。例えば、本発明の実施形態では、ユーザデータを処理素子へ露出し、これがデータ(又はプログラム)に隠された何らかのマリシャスコードを実行させ、且つ計算又は処理環境の汚染を引き起こす前に、ユーザデータを第1の記憶位置(例えば、ハードディスクドライブの不揮発性記憶装置)から別の分離された記憶位置(時々、爆発室とも称される)へ移動させる必要性又は要望について説明した。しかしながら、メモリ、記憶装置又はロジックの部分の保証された制御分離を与える本発明の実施形態では、分離された記憶装置へのデータのコピー又は移動が必要とされず、従って、時間のかかるステップが排除される。本質的に、本発明のこのような実施形態は、データアイテム自体の位置が分離されるように処理環境を構成し、そして任意であるが、ある付加的なメモリ又は他の記憶装置を、一時的に機能する記憶装置、或いは特定のプロセスに対して必要な又は望ましい他の目的で定義することができる。それ故、処理の前にセキュアな記憶装置へコピーしそしてセキュアな記憶装置からコピーして戻すステップは、排除することができる。データのコピーは、依然として、実行の前に行われ、従って、プロセスに問題がある場合でも、オリジナルデータアイテムが保有され、更に汚染されなかったことが保証される。このようなコピーを維持することは、例えば、アイテムを検査することができ、及び/又は清掃が可能である場合には汚染又はウイルスを清掃することができる。   The ability to selectively hide portions of memory by controlling memory address ranges as described herein can be applied to memory mapped devices or subsystems within or external to the computing or processing environment. The system and method of the present invention can selectively conceal the results of other devices, circuits, software, etc., in other benefits as well. For example, in an embodiment of the present invention, user data is exposed to a processing element, causing it to execute some malicious code hidden in the data (or program) and causing contamination of the computing or processing environment. The need or desire to move from a first storage location (eg, a non-volatile storage device in a hard disk drive) to another separate storage location (sometimes referred to as an explosion chamber) has been described. However, embodiments of the present invention that provide guaranteed control isolation of memory, storage or logic portions do not require copying or moving data to the isolated storage, and thus time consuming steps. Eliminated. In essence, such an embodiment of the present invention configures the processing environment such that the location of the data item itself is isolated, and optionally, some additional memory or other storage device is temporarily stored. Functioning storage devices, or other purposes necessary or desirable for a particular process. Therefore, the steps of copying to a secure storage device and copying back from the secure storage device before processing can be eliminated. Copying of the data is still done prior to execution, thus ensuring that the original data item is retained and not further contaminated, even if there is a problem with the process. Maintaining such a copy can, for example, inspect items and / or clean up contamination or viruses if cleaning is possible.

本発明の他の実施形態は、計算環境へ/から又は計算環境の特定のインスタンス生成へ/から動的にスイッチングできるメモリ又は記憶装置を提供することができる。これは、コピーの必要性を排除し、及び/又は多数の清掃されたメモリの1つをスワップインする一方、以前のプロセスへの露出から汚染されたかもしれない他のメモリをスワップアウトして個別のプロセスにより清掃又はフラッシュするような別のメカニズムを提供する。本発明の別の実施形態は、メモリを異なる部分に論理的に切断又はセグメント化し、各部分はおそらく異なるマスターテンプレートを有し、従って、異なるメモリアドレス範囲は、処理又は計算環境において処理タスクに対して準備のできた完全に新規な且つ真新しいマスターテンプレートを記憶することができる。   Other embodiments of the present invention may provide a memory or storage device that can be dynamically switched to / from a computing environment or to a specific instantiation of a computing environment. This eliminates the need for copying and / or swaps in one of a number of cleaned memories while swapping out other memory that may have been contaminated from exposure to previous processes. Provide another mechanism for cleaning or flushing by a separate process. Another embodiment of the present invention logically cuts or segments memory into different parts, each part likely having a different master template, and thus different memory address ranges can be used for processing tasks in a processing or computing environment. A completely new and brand new master template ready to be stored.

別の実施形態では、同じ又は異なる物理的装置においてあるアドレス範囲にテンプレート又はオペレーティングシステムを、そして別のアドレス範囲にユーザデータを発生又は生成することにより、計算環境を生成することができる。実際に、マスター又は他のテンプレート及びデータを有する多数の計算環境をこのようにして生成することができる。その各々は、完全で且つ論理的に分離された環境である。というのは、低レベルコンフィギュレーション又は他の制御は、定義されたメモリアドレス範囲の外部には相互作用がないことを保証するからである。ハードウェア、ファームウェア、ソフトウェア、又はこれらの組合せで定義されるスーパーバイザー制御は、各処理環境を制御し、出力要素をスイッチし、そして汚染が生じないように複数の処理環境をマネージするためのハイパーバイザーを与えることができる。一実施形態では、このスーパーバイザー制御又はハイパーバイザーでも、汚染を防止する低レベルコンフィギュレーションをオーバーライドも変更もできない。ソフトウェア又はファームウェア要素を必要に応じてロード、更新又はパージできるように外部管理プロセスを設けることができる。   In another embodiment, a computing environment can be created by generating or generating a template or operating system in one address range and user data in another address range on the same or different physical devices. In fact, a number of computing environments having a master or other template and data can be created in this way. Each is a complete and logically isolated environment. This is because low-level configuration or other controls ensure that there is no interaction outside the defined memory address range. Supervisor control, defined in hardware, firmware, software, or a combination thereof, is a hypervisor for controlling each processing environment, switching output elements, and managing multiple processing environments so that no contamination occurs. A visor can be given. In one embodiment, this supervisor control or hypervisor cannot override or change the low-level configuration that prevents contamination. An external management process can be provided so that software or firmware elements can be loaded, updated or purged as needed.

ここでの説明に鑑み、種々の方法を使用して、ソフトウェア又はコードの信頼性のある部分をメモリ、記憶装置又はプロセッサへ発生又はコピーできることが明らかである。本発明のある実施形態では、これらは、テンプレート及びマスターテンプレートと称される。本書のどこかに述べるように、種々の保護コピー機構を使用することができる。システム状態をプロセッサ及び/又は揮発性RAMメモリから不揮発性メモリ(例えば、ハードディスクドライブ)へ記憶するエネルギー節約の保留、ハイバーネーション、回復及ウェイクアップ特徴の幾つかをサポートするオペレーティングシステム及びプロセッサについては、これらの特徴を使用して、テンプレートを発生するか、又はテンプレートが予め記憶されている場合には、信頼性のあるテンプレートを記憶装置からメモリ又はプロセッサへ書き込むことができる。このように、テンプレートは、これらの特徴をサポートする既存のオペレーティングシステム及びハードウェアに適合し得る形態である。   In view of the description herein, it is apparent that various methods can be used to generate or copy a reliable portion of software or code to a memory, storage device or processor. In certain embodiments of the invention, these are referred to as templates and master templates. As described elsewhere in this document, various protected copy mechanisms can be used. For operating systems and processors that support some of the energy saving hold, hibernation, recovery and wakeup features that store system state from the processor and / or volatile RAM memory to non-volatile memory (eg, hard disk drive) These features can be used to generate a template or, if the template is pre-stored, a reliable template can be written from storage to memory or processor. Thus, the template is a form that can be adapted to existing operating systems and hardware that support these features.

システムコンフィギュレーション及び操作シナリオの種々の実施形態が本明細書に説明されている。例えば、指定の計算又は処理環境を各々有する多数の物理的プロセッサが存在する実施形態について説明した。図9を参照して述べた実施形態は、ユーザインターフェイス計算環境、制御及びスイッチング計算環境、保護記憶装置計算環境、及び少なくとも1つの計算環境を示すものであった。図10の実施形態では、システムは、デスクトップ及びユーザインターフェイス計算環境処理ユニット、制御及びスイッチング計算環境処理ユニット、分離処理ユニット計算環境、保護記憶装置計算環境処理ユニット、及び分離処理ユニット計算環境を備えている。これら実施形態では、単一の(又は小さな1組の)プロセッサがマルチプレクス式に使用され、小さな1組の物理的ハードウェア及び/又はソフトウェア要素を使用して大きな1組のプロセスを実行することができる。この説明では、プロセスに対する本発明のシステム及び方法の融通性及び適用性を強調し、そしてプロセスは、一例として説明したが、幾つかの特に命名され又は識別されたプロセスの機能及びオペレーションをグループ編成して、それらが、必要に応じて分離を維持しながら同じプロセス内で実行されることは、強調するに値する。プロセスの組合せ又はグループ編成は、例えば、デスクトップ及びユーザインターフェイス処理環境、ビデオ処理環境、並びに制御及びスイッチング環境をスーパー制御環境へと定義するが、このスーパー又はグループ編成された処理環境を1つ以上のユーザデータ処理環境とは個別に維持するといった幾つかの信頼性のある制御又はスーパーバイザーオペレーションに対して特に有用である。   Various embodiments of system configurations and operational scenarios are described herein. For example, embodiments have been described in which there are multiple physical processors each having a specified computing or processing environment. The embodiment described with reference to FIG. 9 showed a user interface computing environment, a control and switching computing environment, a protected storage computing environment, and at least one computing environment. In the embodiment of FIG. 10, the system comprises a desktop and user interface computing environment processing unit, a control and switching computing environment processing unit, a separate processing unit computing environment, a protection storage device computing environment processing unit, and a separation processing unit computing environment. Yes. In these embodiments, a single (or small set) of processors is used in a multiplexed fashion to perform a large set of processes using a small set of physical hardware and / or software elements. Can do. This description emphasizes the flexibility and applicability of the system and method of the present invention to processes, and the process has been described by way of example, but grouped together some particularly named or identified process functions and operations. Thus, it is worth emphasizing that they are performed within the same process while maintaining isolation as needed. A combination or grouping of processes defines, for example, a desktop and user interface processing environment, a video processing environment, and a control and switching environment into a super control environment, where the super or grouped processing environment is It is particularly useful for some reliable control or supervisor operations such as maintaining separate from the user data processing environment.

このプロセス又はグループ編成の利益は、本発明のマルチプレクス型の実施形態、特に、時間的マルチプレクシングの実施形態においてある程度の効率を与えるが、これに限定されない。個別プロセスの数が減少するにつれて、異なるプロセス間をスイッチングする複雑さが減少され、状態を記憶及び再ロードし及び/又はテンプレートをロードし及び/又は処理環境をクリアすることで費やされる時間も短縮できる。一実施形態では、全ての非ユーザデータプロセスが単一制御処理環境内に定義されて実施され、そしてユーザデータ関連処理環境が制御環境とは別々に実行され維持される。   This process or grouping benefit provides, but is not limited to, some degree of efficiency in the multiplexed embodiment of the present invention, in particular the temporal multiplexing embodiment. As the number of individual processes decreases, the complexity of switching between different processes is reduced, and the time spent by storing and reloading states and / or loading templates and / or clearing the processing environment is also reduced. it can. In one embodiment, all non-user data processes are defined and implemented within a single control processing environment, and the user data related processing environment is executed and maintained separately from the control environment.

この実施形態、並びに他の全てのマルチプレクス型の処理シナリオについては、実行のためのプライオリティを異なるプロセスに指定して、特定の処理リソース(例えば、特定のポート、デジタル信号プロセッサ(DSP)、又は他のリソース)、或いはプロセスに割り当てられる時間量(プロセッサクロックサイクル又は命令サイクル)へのアクセスのためのプライオリティを調整できることが明らかでなければならない。この調整は、静的にセットすることも、動的にセットすることもできる。デフォールトをセットし、次いで、高いプライオリティのプロセスを実行すべきときに変更してもよい。高いプライオリティのプロセスは、例えば、リアルタイム、又は擬似リアルタイム処理アプリケーション、例えば、ビデオイメージの捕獲、コンピュータゲーム、及び検出可能な遅延がユーザにとって不快であるような他のプロセスを含む。通常の又は低いプライオリティの処理アプリケーションは、ユーザがテキストをタイプ入力するのについていくのに非常に僅かな処理能力しか必要としないワード処理アプリケーションを含む。明らかに、ユーザの目標と、コンピュータシステムが配備される環境とに基づいて、異なるシステムを異なる処理プライオリティでセットすることができる。   For this embodiment, as well as all other multiplexed processing scenarios, the priority for execution is assigned to a different process and a specific processing resource (eg, a specific port, digital signal processor (DSP), or It should be clear that the priority for access to other resources) or the amount of time allocated to the process (processor clock cycle or instruction cycle) can be adjusted. This adjustment can be set statically or dynamically. The default may be set and then changed when a high priority process is to be performed. High priority processes include, for example, real-time or pseudo real-time processing applications such as video image capture, computer games, and other processes where detectable delay is uncomfortable for the user. Normal or low priority processing applications include word processing applications that require very little processing power to keep the user typing in the text. Obviously, different systems can be set with different processing priorities based on the user's goals and the environment in which the computer system is deployed.

今述べた解決策は、多数のプロセスをグループ分けし、結合し、或いは大きな又はより複雑なプロセスへと一体化する仕方を強調している。他の解決策は、単一プロセスとみなされるものを取り上げ、その実行のために多数のシステムリソースを使用してもよい。例えば、多数の物理的プロセッサ、これらプロセッサに結合できる多数のメモリ、及び/又は使用可能なリソースの他の多数のコピーを備えたシステムコンフィギュレーションでは、単一プロセスの処理要求がそれらの間に分布され、プロセスをより迅速に又は希望のスループットで実行できるようにされる。通常、多数のプロセッサが使用されるプロセスは、異なるプロセッサ間に分布させることができ、それらの結果をある仕方で結合して最終的な結果を発生できる容易に定義可能なサブタスクを有する比較的複雑な処理タスク、或いは多量のデータ又は大きな並列性を有し、多数のプロセッサの使用で全タスクの迅速な完了を許すような簡単な処理タスクである。基礎的な従来の処理は、ここに述べる処理とは異なるが、SETI処理タスクは、多数のプロセッサ間で分割される単一の大きな処理タスクの1つの顕著な例である。   The solution just described emphasizes how many processes can be grouped, combined, or integrated into a larger or more complex process. Other solutions may take what is considered a single process and use multiple system resources for its execution. For example, in a system configuration with a large number of physical processors, a large number of memories that can be coupled to these processors, and / or a large number of other copies of available resources, the processing requirements of a single process are distributed among them. The process can be performed more quickly or with the desired throughput. Typically, a process with a large number of processors can be distributed between different processors and is relatively complex with easily definable subtasks that can combine their results in some way to produce the final result Simple processing tasks that have a large amount of data or large parallelism and allow the rapid completion of all tasks with the use of multiple processors. Although the basic conventional processing is different from the processing described here, the SETI processing task is one prominent example of a single large processing task that is divided among multiple processors.

いかなる処理タスクも、このように分割され、再定義され、及び/又は分布される。図16の実施形態について及び本明細書のどこかに説明した柔軟性のあるスイッチング及びシステムコンフィギュレーション特徴、及び/又は上述した仮想処理空間及び時間的又は他の非時間的マルチプレクシング実施形態に鑑み、本発明は、複数のシステムリソースを静的又は動的に構成及び構成解除して、単一プロセッサコンフィギュレーションを越えて拡張するようなシステム及び方法を提供することが明白である。例えば、時間的にマルチプレクスされる実施形態では、異なるプロセスは、プロセッサの一部分のみをもつように(プロセッサをある仕方で共有する)、1つのプロセッサを専用に使用するように、多数のプロセッサを専用に使用するように、或いは多数のプロセッサへ部分的にアクセスするように、構成されてもよい。共有プロセッサアクセスが実施される場合には、このような共有は、本発明について既に述べたセキュリティ及び保護特徴と一貫する状態でのみ許される。プロセスに対するプロセッサ、CPU、或いは他の処理又は計算ロジックのこのスイッチ可能な割り当ては、他のシステムリソースに適用することもできる。   Any processing task is thus divided, redefined and / or distributed. In view of the flexible switching and system configuration features described with respect to the embodiment of FIG. 16 and elsewhere herein, and / or the virtual processing space and temporal or other non-temporal multiplexing embodiments described above. It is apparent that the present invention provides a system and method that allows multiple system resources to be configured and unconfigured statically or dynamically to extend beyond a single processor configuration. For example, in an embodiment that is multiplexed in time, different processes may have multiple processors so that only one part of the processor is shared (sharing the processor in some way) and one processor is dedicated. It may be configured for dedicated use or for partial access to multiple processors. Where shared processor access is implemented, such sharing is only allowed in a manner consistent with the security and protection features already described for the present invention. This switchable assignment of processors, CPUs, or other processing or computing logic to processes can also be applied to other system resources.

本発明のこの態様は、グリッド計算、クラスタリング、パラレル処理、大量のパラレル処理、対称的な処理、及び/又はある程度のパラレル、分散又は協働処理が有益である他の処理シナリオに適用したときに特に有益で且つ有効である。   This aspect of the invention applies to grid computing, clustering, parallel processing, massive parallel processing, symmetric processing, and / or other processing scenarios where some degree of parallel, distributed or collaborative processing is beneficial. It is particularly useful and effective.

少なくとも一部分は、マルチプレクス型の又はパラレルな計算コンフィギュレーションにおいて多数のシステムリソースが論理的又は物理的に結合され又は使用されるために、複数の又は多数の処理リソース、例えば、多数のプロセッサ又はCPU、多数のメモリ、或いは多数のチップ上システム(system-on-a-chip)(SOC)を有する物理的計算システムであって、定義ルール、ポリシー又はロジックに基づきある最適な仕方で1つ又は1組の処理タスクを遂行するために現在の1組のニーズに基づき自動的に(又は手動で)且つ動的に構成することのできるシステムを構築することができる。最適化パラメータは、例えば、最大のスループット、最高速の実行、最低の電力消費、最大のエラー減少、最小の発熱、或いは他のデータ又はオペレーションの好み又は要求を含んでもよい。この特徴を組み込む本発明の実施形態は、任意であるが、これらリソースを動的に結合する能力により、性能に影響せずに、ハードウェアコストを最小にするために、比較的性能の低いプロセッサ又はCPU或いは他のシステム要素を使用することができる。   At least in part, multiple or multiple processing resources, eg, multiple processors or CPUs, because multiple system resources are logically or physically combined or used in a multiplexed or parallel computing configuration. A physical computing system with multiple memories or multiple system-on-a-chip (SOC), one or one in an optimal way based on definition rules, policies or logic A system can be constructed that can be configured automatically (or manually) and dynamically based on a current set of needs to accomplish a set of processing tasks. Optimization parameters may include, for example, maximum throughput, fastest execution, minimum power consumption, maximum error reduction, minimum heat generation, or other data or operation preferences or requirements. Embodiments of the present invention that incorporate this feature are optional, but the ability to dynamically combine these resources enables a relatively low performance processor to minimize hardware costs without affecting performance. Alternatively, a CPU or other system element can be used.

ここでの説明に鑑み、本発明の実施形態は、利用可能ないかなるリソースも含む(又は除去する)ように物理的又は仮想計算システム又は環境を静的又は動的に(例えば、既に述べたマルチプレクシング機構の1つを使用することにより)スイッチ可能に構成できることが明らかであろう。例えば、プロセッサ、メモリ素子、ハードディスクドライブ、又は他の記憶サブシステムに加えて、本発明の実施形態は、モデム、ネットワークインターフェイスカード(NIC)又は他のネットワークインターフェイス、スニファー又はリードオンリNIC、ビデオディスプレイ又は処理カード又はロジック回路、グラフィックカード又はロジック回路、ユニバーサルシリアルバス(USB)ポート及びインターフェイス、ファイアウオール又はIEEE1394インターフェイス及びポート、シリアルポート、パラレルポート、PCカードポート及びインターフェイス、PCIインターフェイス、メモリインターフェイス、マイクロホン及びスピーカ入力及び出力ポート、デジタル信号プロセッサ及びロジック、プリンタポート、CD及びDVDインターフェイス、オーディオ及びビデオ処理ロジック、ワイヤレスインターフェイス、並びに他のハードウェア単独、ハードウェア実行ソフトウェア又はファームウェアをスイッチ又はマルチプレクスすることができると共に、外部装置にインターフェイスするポートをイネーブル又はディスエイブルできる程度までは、外部装置及びシステムをスイッチ又はマルチプレクスすることができる。   In light of the description herein, embodiments of the present invention statically or dynamically (e.g., the previously described multiple systems) include a physical or virtual computing system or environment to include (or remove) any available resources. It will be apparent that it can be configured to be switchable (by using one of the cushing mechanisms). For example, in addition to a processor, memory device, hard disk drive, or other storage subsystem, embodiments of the present invention can be used with a modem, network interface card (NIC) or other network interface, sniffer or read-only NIC, video display or processing. Card or logic circuit, graphics card or logic circuit, universal serial bus (USB) port and interface, firewall or IEEE 1394 interface and port, serial port, parallel port, PC card port and interface, PCI interface, memory interface, microphone and speaker input And output port, digital signal processor and logic, printer port, CD and To the extent that DVD interfaces, audio and video processing logic, wireless interfaces, and other hardware alone, hardware running software or firmware can be switched or multiplexed, and ports that interface to external devices can be enabled or disabled Can switch or multiplex external devices and systems.

一実施形態では、実行されるプロセスの1つは、ネットワークインターフェイスカード(NIC)型プロセスのようなネットワークインターフェイスである。NICは、外部ソース又はプロセスから受信したデータを記憶するためのバッファ又は他の記憶手段を有する。受信されて記憶されると、マルチプレクス型処理シナリオは、バッファを読み取り、そして受信したデータを、他の保護処理機構と同様に取り扱うことができる。換言すれば、外部ソースは、汚染(例えば、eメール、スパム、ウイルス、スパイボット、又はスパイウェアを載せたウェブサイト、等)に関して内部データセットよりも大きな問題を引き起こすと思われるが、本発明のシステム及び方法により提供される保護手段は、他のユーザデータセットと同じ高レベル保護を与える。外部接続が、モデム、フロッピーディスク、USBメモリデバイス、入力/出力ポート、ワイヤレス接続、又は他のインターフェイスを経たものであるかどうかに関わりなく、これらの同じ利益が与えられる。この入力データを分離して、それが他のユーザデータや、アプリケーションプログラム及びオペレーティングシステムの記憶された信頼性のあるバージョンを汚染することがないようにする手段が設けられる。   In one embodiment, one of the processes performed is a network interface, such as a network interface card (NIC) type process. The NIC has a buffer or other storage means for storing data received from an external source or process. Once received and stored, the multiplex processing scenario can read the buffer and treat the received data like any other protection processing mechanism. In other words, external sources are likely to cause greater problems than internal data sets with respect to pollution (eg, email, spam, viruses, spybots, or spyware-loaded websites, etc.). The protection provided by the system and method provides the same high level of protection as other user data sets. These same benefits are provided regardless of whether the external connection is via a modem, floppy disk, USB memory device, input / output port, wireless connection, or other interface. Means are provided to isolate this input data so that it does not contaminate other user data or stored reliable versions of application programs and operating systems.

本発明のスイッチング及び制御特徴の使用は、埋設されたオペレーティングシステム、アプリケーションプログラムソフトウェアコード、又は埋設されたデータを含む(これに限定されないが)処理又は計算システム内に存在し得るバッファ、キャッシュ、データ記憶装置、及び/又はメモリシステム及びサブシステムのいずれに適用することもできる。ハードディスクドライブ記憶装置について説明したように、スイッチ又はスイッチングロジックを使用して、識別されたバッファ、キャッシュ、データ記憶装置、及び/又はメモリシステム又はサブシステムを、コンピュータシステムから、静的、動的又は時間的にマルチプレクスされる仕方で、物理的又は論理的に追加し及び/又は除去することができる。更に、本発明のスイッチング及び制御特徴は、データ記憶機能に通常関連しないシステムリソース、例えば、ビデオ又はグラフィックコントローラ又はプロセッサ、プリンタ、サウンドカード、或いは他のシステム又はコンピュータリソースにも適用することができる。メモリアドレス範囲マッピング、電源オン/オフ、BIOSベースのコンフィギュレーション及びデコンフィギュレーション、並びにこのようなシステムリソースを隠したり見えるようにしたりする他の手段は、本明細書全体を通して説明され、ここでは詳細を繰り返さない。   The use of the switching and control features of the present invention may include buffers, caches, data that may exist within a processing or computing system, including (but not limited to) embedded operating system, application program software code, or embedded data. The present invention can be applied to any of the storage device and / or the memory system and the subsystem. As described for hard disk drive storage devices, switches or switching logic may be used to transfer identified buffers, caches, data storage devices, and / or memory systems or subsystems from computer systems, statically, dynamically, or It can be physically and logically added and / or removed in a time multiplexed manner. Furthermore, the switching and control features of the present invention can also be applied to system resources not normally associated with data storage functions, such as video or graphics controllers or processors, printers, sound cards, or other system or computer resources. Memory address range mapping, power on / off, BIOS-based configuration and deconfiguration, and other means of hiding or making visible such system resources are described throughout this specification and are described in detail herein. Do not repeat.

埋め込み型のオペレーティングシステム(1つ又は複数)、アプリケーションプログラム(1つ又は複数)、及び/又は他の実行可能な又は実行不能なコード又はデータが記憶された記憶装置又はメモリを有するシステムを特に参照すれば、これらの埋め込み型のエレメントは、処理環境へとスイッチが入れられ(例えば、追加され)、又は処理環境からスイッチが切られ(例えば、除去され)、処理タスクを遂行するのに必要な希望の又は必要なオペレーティングシステム(1つ又は複数)、アプリケーションプログラム(1つ又は複数)、或いは他のコード又はデータを与えることができる。例えば、Microsoft Windows XP(又は他のオペレーティングシステム)、Microsoft Outlook、Adobe Photoshop、及び/又は埋め込み式スクリーンイメージグラフィックのようなデータの埋め込み記憶バージョンを、物理的又は論理的に個別の異なるメモリ又は記憶手段に埋め込むことができる。これらは、例えば、異なるメモリチップでもよいし、上述したアドレスマッピング及び制御によるか又は他の手段を介して分離された共通の物理的装置の論理的に分離された部分でもよい。これらは、次いで、必要性が示されたときには処理環境に追加され、そして必要性がもはや存在しないときには処理環境から除去され、別のプロセスのためにリソースを解放する。システム内の制御環境又は他の制御素子は、特定の埋め込み型(及び非埋め込み型)コード又はデータの必要性を予想又は検出し、そして本発明の上述したスイッチング及びコンフィギュレーション特徴を使用してその埋め込み型エレメントを処理環境へと構成する。検出は、要求又は他の検出手段、例えば、プログラムコールでもよい。又、制御環境又は他の制御素子は、その埋め込み型エレメントの必要性が時間切れとなるときを予想又は検出し、そしてそのエレメントを処理環境のコンフィギュレーションから除去して、他の処理要求に使用できるようにするという役割を果たす。   See particularly systems having embedded operating system (s), application program (s), and / or other storage or memory storing executable or non-executable code or data These embedded elements can then be switched (eg, added) to the processing environment or switched off (eg, removed) from the processing environment and necessary to perform the processing task. The desired or required operating system (s), application program (s), or other code or data can be provided. For example, an embedded storage version of data, such as Microsoft Windows XP (or other operating system), Microsoft Outlook, Adobe Photoshop, and / or embedded screen image graphics, physically or logically separate different memory or storage means Can be embedded in. These may be, for example, different memory chips or logically separated portions of a common physical device separated by address mapping and control as described above or via other means. These are then added to the processing environment when the need is indicated, and removed from the processing environment when the need no longer exists, releasing resources for another process. The control environment or other control element in the system anticipates or detects the need for specific embedded (and non-embedded) code or data and uses the above-described switching and configuration features of the present invention. Configure the embedded element into a processing environment. The detection may be a request or other detection means, for example a program call. The control environment or other control element also anticipates or detects when the need for the embedded element times out, and removes the element from the processing environment configuration for use in other processing requests. It plays a role of making it possible.

制御環境及び/又はハードウェアスイッチング環境(あるソフトウェア及び/又はファームウェアを任意に含む)は、アドレス可能なメモリ、埋め込み型記憶装置等のいずれかをリードオンリ、ライトオンリ、又はリード−ライトメモリとしてアクセスできるようにし、従って、アクセスの性質を制御又は限定することができる。このアクセス形式の制御(リードオンリ、ライトオンリ、リード−ライト)は、一般に、手近な処理タスクに基づいて有用となる。又、これは、テンプレートを保持する特定のメモリ又は記憶装置を通常のアクセスに対してリードオンリモードに維持し、テンプレートを書き込みオペレーションにより汚染したり妥協させたりせず、しかも、充分なアクセス特権を有するユーザ又はプロセスによりそのテンプレートを更新する(例えば、新たなバージョンへ)のを許すための手順も提供する。   A control environment and / or hardware switching environment (optionally including some software and / or firmware) can access any of addressable memory, embedded storage, etc. as read-only, write-only, or read-write memory Thus, the nature of access can be controlled or limited. This access type control (read only, write only, read-write) is generally useful based on the processing task at hand. This also keeps the particular memory or storage device holding the template in read-only mode for normal access, does not contaminate or compromise the template with write operations, and provides sufficient access privileges. A procedure is also provided to allow the user or process to update the template (eg, to a new version).

記憶装置の物理的又は論理的分離を維持することに関して、多数のプラッター又は表面を有するハードディスクドライブ又は他の回転記憶媒体は、読み取り/書き込みヘッドを各プラッター表面に対して別々に動作することにより分離されてもよい。従来、2つのプラッター及び4つの表面を有するハードディスクドライブは、単一のディスクドライブコントローラと、多数の読み取り/書き込みヘッドを協調して移動するアクチュエータとによって動作される。本発明の実施形態は、1つのコントローラがその単一(又は1組)の表面及び読み取り/書き込みヘッドしか気付かず、同じハードディスクドライブ内の他の表面又はヘッドには気付かないように、少なくとも読み取り/書き込みヘッドへのアクセスを独立した仕方で制御する個別のコントローラを提供する。別の実施形態では、個別のアクチュエータも設けられ、アクチュエータアーム及び読み取り/書き込みヘッドが各表面又は1組の表面に対して独立して動作するようにしてもよい。又、本発明の動的なコンフィギュレーション特徴をハードディスクドライブに適用して、より多数又は少数の表面を使用できるようにすると共に、それらをリードオンリ、ライトオンリ、又はリード−ライドイネーブルにすることもできる。   With respect to maintaining physical or logical separation of storage devices, hard disk drives or other rotating storage media having multiple platters or surfaces are separated by operating the read / write heads separately for each platter surface. May be. Conventionally, a hard disk drive having two platters and four surfaces is operated by a single disk drive controller and an actuator that moves multiple read / write heads in concert. Embodiments of the present invention at least read / write so that one controller is aware of only that single (or set of) surfaces and read / write heads and not other surfaces or heads within the same hard disk drive. A separate controller is provided that controls access to the write head in an independent manner. In another embodiment, separate actuators may also be provided so that the actuator arm and read / write head operate independently for each surface or set of surfaces. The dynamic configuration features of the present invention can also be applied to hard disk drives to allow more or fewer surfaces to be used and to make them read-only, write-only, or read-ride enabled. .

本発明の一実施形態では、ハードディスクドライブ内又はそれに取り付けられた或いはディスクドライブコントローラ内のロジックボードに本発明の特徴が与えられる。次いで、論理的又は物理的に分離されたハードディスクドライブプラッター表面を分離記憶装置に使用することができる。一実施形態では、これらのエレメント及び特徴を結合して、制御特徴を伴うハードディスクドライブが、個別のコンピュータ又は外部プロセッサを必要とせずに、本発明の保護及びセキュリティ特徴を有するネットワーク機器をなすようにする。それ故、本発明は、本発明の保護及びセキュリティ特徴を有するネットワーク又はネットワーク構成の機器も提供する。   In one embodiment of the present invention, features of the present invention are provided in a logic board in or attached to a hard disk drive or in a disk drive controller. The logically or physically separated hard disk drive platter surface can then be used in a separate storage device. In one embodiment, these elements and features are combined so that a hard disk drive with control features forms a network device having the protection and security features of the present invention without the need for a separate computer or external processor. To do. Therefore, the present invention also provides a network or network-configured device having the protection and security features of the present invention.

本発明の実施形態で使用できる他の任意の特徴
コンピュータ及び情報機器アーキテクチャー、システムコンフィギュレーション、並びにコンピュータ、情報機器及び他の装置を形成して操作するための方法及び手順の多数の異なる実施形態を説明したが、以下、本筋を離れて、幾つかの実施形態と共に与えることのできる幾つかの特徴(幾つかの任意の特徴を含む)について説明する。又、これらの説明は、種々のコンピュータ環境で取り扱われるアプリケーションの形式の幾つかの指示も示すと共に、ウイルス、ハッカーコード、トロイの木馬、及び他のマリシャスコードに特に感染し易いことがセキュリティ又は免疫性の問題をいかに引き起こすか、そして本発明のアーキテクチャー、システム、方法、及び手順を使用してこのような問題をいかに解決するかも示す。この説明において、CEの計算環境という語の使用は、本明細書に述べた種々の計算環境、分離計算環境、或いは計算又は分離サブシステムのいずれか、並びにここに取り上げた関連出願に述べられた計算環境及びサブシステムを包含することが意図される。
Any other features that can be used in embodiments of the present invention. Many different embodiments of computer and information equipment architecture, system configuration, and methods and procedures for forming and operating computers, information equipment and other devices. In the following, some features (including some optional features) that can be provided with some embodiments will be described below. These descriptions also provide some indications of the types of applications that are handled in various computer environments, and make them particularly susceptible to viruses, hacker codes, Trojan horses, and other malicious code for security or immunity. It also shows how to cause sex problems and how to solve such problems using the architecture, systems, methods, and procedures of the present invention. In this description, the use of the term CE's computing environment has been described in any of the various computing environments, separate computing environments, or computing or separating subsystems described herein, as well as the related applications discussed herein. It is intended to encompass computing environments and subsystems.

ASIC又は論理制御装置のような個別の論理制御装置を使用する特殊目的サブシステム又は計算環境間で直接メモリアクセスを使用してデータを移動することができる。データを移動するプロセスは、おそらくハッカーやウイルスや他のマリシャスコード等をイネーブルし又は解き放すことのあるデータの実行を許さないのが効果的である。更に、データは、その実行を防止するために、暗号化、圧縮又はエンコードされてもよい。   Data can be moved using direct memory access between special purpose subsystems or computing environments that use separate logical controllers such as ASICs or logical controllers. The process of moving the data will probably not allow execution of data that may enable or release hackers, viruses, other malicious code, and the like. Furthermore, the data may be encrypted, compressed or encoded to prevent its execution.

計算環境の修理又は回復は、必要に応じて実施することができる。計算環境(CE)は、自動修理プロセスを使用して修理され又は理想的な状態へ戻すことができる。このような修理は、「オンザフライ」で行われてもよいし、或いは各トランザクションの後、又は再ブートせずに行われてもよい。マスターテンプレートは、通常、特殊目的サブシステムの理想的な状態を表わすもので、記憶システムに記憶されてもよい。トランザクションは、eメールを読むことを含んでもよく、各個々のeメールメッセージを開くことは、個別のトランザクションを表わす。任意であるが、修理プロセス中に1つ以上のアイテムを無視することができる。例えば、eメールがオープンされた場合には、修理プロセスは、オープンeメールを無視して動作し、問題を検出して修理し、次いで、ユーザは、eメールを断念せずにそれに応答してもよい。別の実施形態では、全てのダウンロード及びeメールを直ちに記憶システムへセーブし、その後、ダウンロード又はeメールをワークサブシステムにおいてオープンすることができる。   Repair or recovery of the computing environment can be performed as needed. The computing environment (CE) can be repaired or returned to an ideal state using an automated repair process. Such repairs may be done “on the fly” or after each transaction or without rebooting. The master template typically represents the ideal state of the special purpose subsystem and may be stored in a storage system. A transaction may include reading an email, and opening each individual email message represents an individual transaction. Optionally, one or more items can be ignored during the repair process. For example, if an email is opened, the repair process operates ignoring the open email, detects and repairs the problem, and then the user responds to the email without giving up Also good. In another embodiment, all downloads and emails can be saved immediately to the storage system, after which the downloads or emails can be opened in the work subsystem.

一実施形態では、CEのロジックが修理プロセスに関連した事象をトリガーすることができる。修理プロセスは、ワーキングシステムのマスターテンプレートと、現在ワーキングシステムの状態との間の比較を行うことができる。それらの間の相違で、その後の修理プロセスをトリガーすることができ、相違する幾つかの又は全部のデータがワーキングシステムから削除される。更に、マスターテンプレートから修理プロセスにより必要に応じてデータをコピーすることができる。一実施形態では、修理プロセスは、ワーキングシステムをマスターテンプレートと同一にしてもよい。   In one embodiment, CE logic can trigger an event related to the repair process. The repair process can make a comparison between the working system master template and the current working system state. Differences between them can trigger a subsequent repair process, and some or all of the different data is deleted from the working system. Furthermore, data can be copied from the master template as needed by the repair process. In one embodiment, the repair process may make the working system identical to the master template.

一実施形態では、修理プロセスは、1つ以上のeコマーストランザクションの後、又は1つ以上のウェブページをサーフィンした後、等に行うことができる。従って、全ての既知の及び未知のウイルス及びトロイの木馬を、次のトランザクションの前に、無力化することができる。このプロセスは、ウイルス、ワーム及びトロイの木馬をコンピュータから排除するものではないが(それらは記憶システムに記憶されることがある)、それらを不作動状態に保持する。修理プロセスは、揮発性及び不揮発性メモリを修理することができ、或いは揮発性メモリをクリアし、又は揮発性メモリを理想的な状態にセットすることができる。   In one embodiment, the repair process can be performed after one or more e-commerce transactions, after surfing one or more web pages, and so on. Thus, all known and unknown viruses and Trojan horses can be disabled before the next transaction. This process does not exclude viruses, worms and Trojan horses from the computer (which may be stored in the storage system) but keeps them inactive. The repair process can repair volatile and non-volatile memory, or can clear volatile memory or set volatile memory to an ideal state.

一実施形態では、ユーザがオープンすべき2つ以上のeメールを選択する場合に、2つ以上のeメールをワーキングシステムにコピーし、そして同時にオープンすることができる。任意であるが、各eメールは、別々に、それ自身の個別の分離されたワーキングシステムへコピーし、オープンし、見て、操作することができる。ユーザが、1つの分離されたeメールから別の分離されたeメールへデータをコピーする必要がある場合には、コードの実行を許さないコピープロセスを使用することができる。   In one embodiment, if a user selects more than one email to open, more than one email can be copied to the working system and opened simultaneously. Optionally, each email can be copied, opened, viewed, and manipulated separately into its own separate working system. If the user needs to copy data from one separate email to another, a copy process that does not allow code execution can be used.

一実施形態において、ウェブコマースソフトウェア、又はeメールソフトウェア、又は任意のソフトウェアを変更して、トランザクションに特に必要とされる個々のレコード又はレコードのコピーのみを記憶システムへコピーし、使用し、次いで、記憶システムのデータベースへコピーして戻し、このような各トランザクションの後に修理を行うようにすることができる。任意であるが、データが、例えば、1つ以上のデータベース又はCGIと対話するトランザクションでは、トランザクションを個別のセグメントに分断し、データを必要に応じて分離記憶システム(1つ又は複数)又はワーキングシステムへ及びそこからコピーし、そしてトランザクションの各セグメント間、又はトランザクションの幾つかのセグメント間で修理を実行することができる。任意であるが、ソフトウェアは、どんな形式のデータがトランザクションを構成するか定義し、コピープロセスを、ある基準を満足するデータしかコピーしないよう制限する命令を含むことができる。   In one embodiment, web commerce software, or email software, or any software is modified to copy and use only individual records or copies of records that are specifically required for the transaction to the storage system, then It can be copied back to the storage system database so that repairs are made after each such transaction. Optionally, in transactions where the data interacts with, for example, one or more databases or CGIs, the transaction is split into separate segments and the data is separated as required by separate storage system (s) or working system Copy to and from and repair can be performed between each segment of the transaction or between several segments of the transaction. Optionally, the software can include instructions that define what type of data constitutes the transaction and restrict the copy process to only copy data that meets certain criteria.

一実施形態では、修理プロセスを更にスピードアップするために、ワーキングシステムのマスターテンプレート及びワーキングシステムのソフトウェアは、それら自身の個別の分離された揮発性メモリエリア又はシェルに各々ロードされ、修理プロセスの速度を上げることができる。従って、ワーキングシステムのデータが揮発性メモリにあり、そしてマスターテンプレートが揮発性メモリにある場合には、より高い速度で修理を行うことができる。或いは又、新たなワーキングシステムシェルを使用して、修理の必要性を排除することもできる。例えば、ユーザは、eメールをオープンし、そして1つのシェルを使用してeメールを読み取ることができ、そしてeメールに応答することを希望する場合には、応答のために第2のシェルを使用しなければならない。任意であるが、第1のシェル又は計算環境をウイルスに対してチェックできる一方、ユーザは、第2のシェルを使用してeメールへの応答を書き込み、そして付加的なシェル又は計算環境を、使用準備ができた状態にすることができる。   In one embodiment, in order to further speed up the repair process, the working system master template and the working system software are each loaded into their own separate, separate volatile memory areas or shells to speed up the repair process. Can be raised. Thus, if the working system data is in volatile memory and the master template is in volatile memory, repairs can be made at a higher rate. Alternatively, a new working system shell can be used to eliminate the need for repair. For example, if a user can open an email and read the email using one shell and wish to respond to the email, the user can open a second shell for the response. Must be used. Optionally, the first shell or computing environment can be checked against viruses, while the user writes a response to the email using the second shell, and an additional shell or computing environment It can be ready for use.

別の実施形態では、データの実行を防止する暗号化又は圧縮又は他のコピー方法を使用して記憶システムにデータを直接ダウンロードすることができる。任意であるが、分離された隠れたバックアップ又はアーカイブシステムを本発明に使用することができ、これは、必要に応じて記憶システム又はワーキングシステムの揮発性又は不揮発性メモリ(1つ又は複数)又はデータの隠れたバックアップ又はアーカイブのアレーを形成することができ、又、タイムスタンプを付すことができる。又、このようなバックアップ又はアーカイブシステムにデータをコピーするときには、ここに述べる技術を使用して、ファイルの実行及びバックアップシステムのデータへのダメージを防止することができる。   In another embodiment, data can be downloaded directly to the storage system using encryption or compression or other copying methods that prevent the data from executing. Optionally, a separate hidden backup or archive system can be used in the present invention, depending on the storage system or working system volatile or non-volatile memory (s) or A hidden backup or archive array of data can be formed and time stamped. Also, when copying data to such a backup or archive system, the techniques described herein can be used to prevent file execution and damage to the backup system data.

ファイルセーブオペレーションについては、一実施形態において、ワーキングシステムにセーブがなされるたびに、記憶システムへコピーを行うことができる。任意であるが、ウイルス又はトロイの木馬が、記憶システムへセーブされる数百万のセーブを遂行することにより大混乱を生じるのを防止するために、任意であるが、ファイルをセーブできる頻度に限界を課すこともできるし、又はワーキングシステムにデータをセーブするプロセスに他の限界を与えることもできる。任意であるが、これは、ROM、或いはコピー、記憶、セーブ又は他のプログラムの一部分でもよい。   For file save operations, in one embodiment, every time a save is made to the working system, a copy can be made to the storage system. Optionally, to prevent the virus or Trojan horse from causing havoc by performing millions of saves saved to the storage system, but optionally, at a frequency that allows the file to be saved. Limits can be imposed, or other limits can be imposed on the process of saving data to the working system. Optionally, this may be a ROM or part of a copy, store, save or other program.

限定された機能を有する個別のプロセッサを使用して、分離されたワーキングシステムでデータを処理することもできるし、或いは限定された機能をメインプロセッサに与えることもできる。これは、多数のデータ記憶装置、或いは分離された仕切りを有する1つのデータ記憶装置で行うことができる。   Individual processors with limited functions can be used to process data in a separate working system, or limited functions can be provided to the main processor. This can be done with a large number of data storage devices or a single data storage device with separate partitions.

本発明のシステム及び方法の一実施形態では、データが、マリシャスコードの転送のおそれを排除する仕方で、1つ以上の計算環境へ/から、1つ以上の第2の計算環境へ/から、直接転送される。一実施形態では、この方法手順は、例えば、第1の計算環境に、ASCII又は拡張ASCIIを送信及び/又は受信する能力を有するASIC或いは他のロジック回路又はロジック手段を使用して、第2の計算環境に通じるデータラインに接続することを含んでもよい。ある実施形態では、ASIC又はロジック手段の能力は、付加的な処理が生じることがないように特に制限される。任意であるが、第2の計算環境がASCIIデータを直接受信してもよいし、或いはそのデータが、ASCII又は拡張ASCIIデータを受信及び/又は送信する能力をもつ第2のASICにより受け取られてもよい。これらのASICは、例えば、バッファのオーバーランを防止するために、データ、ASCIIキャラクタ、及び/又は行われる要求(例えば、ある時間周期内に)の量を制限してもよい。   In one embodiment of the system and method of the present invention, data is transferred to / from one or more computing environments in / from one or more second computing environments in a manner that eliminates the risk of malicious code transfer. Directly transferred. In one embodiment, the method procedure includes, for example, using an ASIC or other logic circuit or logic means capable of transmitting and / or receiving ASCII or extended ASCII in a first computing environment. It may include connecting to a data line leading to a computing environment. In certain embodiments, the capabilities of the ASIC or logic means are particularly limited so that no additional processing occurs. Optionally, the second computing environment may receive ASCII data directly, or the data may be received by a second ASIC that has the ability to receive and / or transmit ASCII or extended ASCII data. Also good. These ASICs may limit the amount of data, ASCII characters, and / or requests made (eg, within a time period), for example, to prevent buffer overruns.

一実施形態では、ASCIIフィルタ又は剥離されたファイル又はコンテンツに対する任意の取り扱いを与えることができる。例えば、ファイル、データセット、又はインターネット、或いはワールドワイドウェブコンテンツがASCII剥離又はフィルタされない場合には、外界からのファイル及びそこから導出された(或いはその子孫又は子から導出された)ファイルが「非セキュア」及び潜在的に感染しているとマークされるか又は識別される一方、幾つかの許されたASCIIキャラクタしか含まないように剥離され又はフィルタされたファイル又はコンテンツは、「セキュア(安全)」と識別できる。この形式のマーキングは、ASCII以外の他の所定のファイル又はコンテンツにも使用できる。それ故、一般に、ファイルは、任意であるが、問題となり得る感染、マリシャス又は単なる未知のコードに露出されなかったことが分かる場合にはセキュアとして処理されてもよく、そしてこのように露出されていないことが分かる場合にはセキュアとマークされてもよい。   In one embodiment, any handling for ASCII filters or stripped files or content can be provided. For example, if a file, dataset, or Internet or World Wide Web content is not ASCII stripped or filtered, the file from the outside world and the file derived from it (or derived from its descendants or children) are “non- A file or content that has been marked or identified as “secure” and potentially infected, but stripped or filtered to contain only some allowed ASCII characters, is “secure” Can be identified. This type of marking can also be used for certain other files or content other than ASCII. Therefore, in general, a file may be treated as secure if it turns out that it was optional but could not be exposed to potentially problematic infections, malicious or just unknown code, and is thus exposed If it is known that it is not, it may be marked as secure.

一実施形態では、例えば、次の1つ以上で構成されるか又はそれを含む修理プロセスを行うことができる。(a)CEのソフトウェアをマスターテンプレートの全部又は一部分と同一にし及び/又は部分的に同一にし、(b)計算環境又はその一部分、例えば、計算環境の記憶装置(「爆発室」)を削除及び/又は修理し、及び/又は二次CEへスイッチングし、(c)1つ以上のデータ記憶装置、マスターブートレコード、パーティションテーブル等を再フォーマット及び/又は修理し、(d)1つ及び/又はそれ以上の修理プロセスを実行し、或いは(e)これらの組合せ。修理プロセスは、例えば、ユーザがドキュメントを断念するたびに(及び/又は他の基準を使用してそれを実行するときに)実行することができる。従って、各々の新たなドキュメントは、ウイルス及び/又はハッカーソフトウェア又は他のマリシャスコードを含まないクリーンな環境においてオープンすることができる。   In one embodiment, for example, a repair process may be performed that includes or includes one or more of the following. (A) make the CE's software identical and / or partially identical to all or part of the master template; (b) delete and / or delete the computing environment or part thereof, eg the computing environment storage (“explosion chamber”); And / or repair and / or switch to a secondary CE, (c) reformat and / or repair one or more data storage devices, master boot records, partition tables, etc., (d) one and / or Perform further repair processes, or (e) a combination of these. The repair process can be performed, for example, whenever the user abandons the document (and / or when it is performed using other criteria). Thus, each new document can be opened in a clean environment that does not include viruses and / or hacker software or other malicious code.

一実施形態では、マスターテンプレートは、任意に隠すことができ及び/又は通常ユーザには見えないデータ記憶装置に記憶され、そして保護マスターテンプレート及び/又はマスターテンプレートと称される。任意であるが、これは、「リードオンリ」でよく、及び/又はロックされ、及び/又はターンオフされ、及び/又は必要になるまでディスエイブルされ、及び/又は切断され、及び/又はインアクチベートされてもよく、及び/又はそれとの通信を終了及び/又はインアクチベートすることができる。これらの(及び他の)技術を使用して、保護マスターテンプレートをマリシャスコードから保護することができる。   In one embodiment, the master template is optionally stored and / or stored in a data store that is normally invisible to the user and is referred to as a protected master template and / or master template. Optionally, this may be “read only” and / or locked and / or turned off and / or disabled and / or disconnected and / or deactivated until needed. And / or communication with it can be terminated and / or deactivated. These (and other) techniques can be used to protect the protection master template from malicious code.

一実施形態では、データ記憶装置(1つ又は複数)及び/又はパーティション(1つ又は複数)を使用して、ユーザのパーソナルデータ(ユーザにより作成されたドキュメント、eメール、アドレス帳、ブックマーク、お気に入り、データベース要素、等)を一時的に記憶することができる。このデータ記憶エリアは、一時的データ記憶装置と称することができる。例えば、ユーザがドキュメントをセーブするときには、それが一時的記憶装置にセーブされる。ユーザが例えばデータベースをセーブするときには、それ(及びおそらくその関連要素)が一時的記憶装置にセーブされる。ユーザがeメールをダウンロードするときには、それが一時的記憶装置にセーブされる。ブックマーク及びお気に入りのようなアイテムが生成されるときには、それらが生成されたとき、及び/又はアプリケーションが断念(quit)するときに、それらが一時的記憶装置にセーブされる。ドキュメントが保護記憶装置(本書のどこかに述べた)から要求されるときには、それが最初に一時的記憶装置にコピーされる。例えば、ユーザがインターネットブラウザをオープンすることを希望する場合には、お気に入り/ブックマーク及び他のユーザ情報が保護記憶装置から一時的記憶装置へコピーされる。これは、このプロセスにとって本質的でない任意のステップであるが、ある実施形態では、望ましいものであることに注意されたい。   In one embodiment, the user's personal data (documents created by the user, email, address book, bookmarks, favorites, etc.) using data storage device (s) and / or partition (s). , Database elements, etc.) can be temporarily stored. This data storage area can be referred to as a temporary data storage device. For example, when a user saves a document, it is saved to temporary storage. When a user saves a database, for example, it (and possibly its associated elements) is saved to temporary storage. When a user downloads an email, it is saved to temporary storage. When items such as bookmarks and favorites are created, they are saved to temporary storage when they are created and / or when the application quits. When a document is requested from a protected storage device (described elsewhere in this document), it is first copied to a temporary storage device. For example, if the user wishes to open an Internet browser, favorites / bookmarks and other user information are copied from the protected storage device to the temporary storage device. Note that this is an optional step that is not essential to the process, but is desirable in certain embodiments.

修理プロセスは、一時的記憶装置を修理することもできるし、或いはそれを、前もって準備された新たなコピーに置き換えることもできる。例えば、一実施形態では、多数の一時的記憶エリアが分離状態で準備されてもよい。従って、必要に応じて、古い一時的記憶装置(1つ又は複数)を削除し、そして例えば、RAM、RAMディスク、シェル等を使用して生成された1つ以上の新たなものに置き換えることができる。   The repair process can either repair the temporary storage device or replace it with a new copy prepared in advance. For example, in one embodiment, multiple temporary storage areas may be prepared in a separate state. Thus, if necessary, the old temporary storage (s) can be deleted and replaced with one or more new ones created using, for example, RAM, RAM disk, shell, etc. it can.

一実施形態では、例えば、保護記憶装置は、修理の後、又は爆発プロセスが保留された場合を除いて、ユーザのパーソナルデータが爆発室から分離されるような記憶エリアでよい。一時的記憶装置は、データが保護記憶装置から一時的記憶装置へと「シャトル」され、そしてドキュメントに処理がなされた後に、再び、一時的記憶装置から保護記憶装置へ戻されるときに(任意に)使用できるデータ記憶エリアでよい。又、一時的記憶装置は、一実施形態では、常に、計算環境(本明細書及び先に述べた関連出願では爆発室とも称される)にアクセスできるものでよい。この例では、ユーザは、作業しながら一時的記憶装置にデータをセーブしてもよく、そして断念する際には、ドキュメント(或いは他のファイル又はデータセット)が一時的記憶装置から保護記憶装置へコピーされる。   In one embodiment, for example, the protective storage device may be a storage area where the user's personal data is separated from the explosion chamber except after repair or when the explosion process is suspended. A temporary storage device (optionally) when data is “shuttled” from a protected storage device to a temporary storage device and then returned to the protected storage device from the temporary storage device after processing the document. It can be a data storage area that can be used. Also, the temporary storage device may in one embodiment always have access to a computing environment (also referred to herein as an explosion chamber in this specification and related applications mentioned above). In this example, the user may save data to a temporary storage device while working, and when giving up, the document (or other file or data set) is transferred from the temporary storage device to the protected storage device. Copied.

ファイル及びバックアップを参照すれば、任意であるが、一実施形態において、バックアップシステム(1つ又は複数)又はアーカイブは、全てのユーザパーソナルデータ、例えば、ドキュメント、eメール、お気に入り、等の次々のバックアップを保持するのに使用できる。任意であるが、ファイルがウイルス又は崩壊によりダメージを受けた場合には、ユーザが過去のバージョンをバックアップシステムからコピーすることができる。次々のバックアップ及び/又はアーカイブは、タイム/日付スタンプが押され、ユーザは、バックアップがいつ作られたか容易に決定することができる。バックアップの頻度は、製造者からデフォールトとして予め決定されてもよいが、ユーザにより変更することもできる。任意であるが、バックアップシステム(1つ又は複数)は、通常、ユーザから隠すことができる。一実施形態では、バックアップシステムがユーザに利用できるようにされたときには、それが「リードオンリ」モードに保持され、ユーザにより偶発的に変更されないようにする。任意であるが、バックアップは、個別のデータ記憶装置(及びある実施形態では、パーティション)上にあってもよいし、及び/又は例えば、ネットワーク上のどこに位置されてもよい。これは、このプロセスにとって本質的でない任意のステップであるが、ある実施形態では、望ましいものであることに注意されたい。   With reference to files and backups, but optional, in one embodiment, the backup system (s) or archive is a continuous backup of all user personal data, eg, documents, emails, favorites, etc. Can be used to hold Optionally, if the file is damaged by a virus or collapse, the user can copy past versions from the backup system. Successive backups and / or archives are time / date stamped and the user can easily determine when the backup was made. The frequency of backup may be predetermined by the manufacturer as a default, but can be changed by the user. Optionally, the backup system (s) can usually be hidden from the user. In one embodiment, when the backup system is made available to the user, it is kept in a “read-only” mode to prevent accidental changes by the user. Optionally, the backup may be on a separate data storage device (and in some embodiments a partition) and / or may be located anywhere on the network, for example. Note that this is an optional step that is not essential to the process, but is desirable in certain embodiments.

計算環境において問題又はエラーが発生したという指示に対して、回復又は修理のための種々のステップをとることができる。一実施形態では、プロセッサが処理を完了することが許され及び/又はそれを「クリア」又はリセットすることができ、RAMをクリア又はリセットすることができ(任意に利用不可及び/又はデアクチベートできる第2の分離されたRAMを利用できるようにして、例えば、第1のRAMがクリアされたが、第2のRAMの使用が要求されない間に、第2のRAMとの通信を確立し、及び/又はアクチベートして利用できるようにするのも任意である)、そしてプロセッサ及び/又はRAMをここで修理プロセスに利用することができる。爆発室又は分離された処理環境に対する修理プロセスの一実施形態について以下に説明するが、多数の別のプロセス及び/又は異なるプロセッサ及び/又はRAM或いは他のメモリ又は記憶装置を使用してもよい。一実施形態では、CEの修理は、CEを別のCEに置き換えることとして定義されてもよい。これを達成する1つの方法は、第1のCEを削除し、そして第2のCEとの通信をアクチベートすることである。或いは又、第2のCEが使用されている間に、第1の爆発室を修理することもできる。   In response to an indication that a problem or error has occurred in the computing environment, various steps for recovery or repair can be taken. In one embodiment, the processor is allowed to complete processing and / or it can be “cleared” or reset, and the RAM can be cleared or reset (optionally unavailable and / or deactivated). Making the second isolated RAM available, for example, establishing communication with the second RAM while the first RAM is cleared, but the use of the second RAM is not required, and It is also optional to make it available for activation), and the processor and / or RAM can now be used for the repair process. Although one embodiment of a repair process for an explosion chamber or isolated processing environment is described below, many other processes and / or different processors and / or RAMs or other memories or storage devices may be used. In one embodiment, repair of a CE may be defined as replacing a CE with another CE. One way to accomplish this is to delete the first CE and activate communication with the second CE. Alternatively, the first explosion chamber can be repaired while the second CE is in use.

電子メール即ちeメールのインボックス及びアウトボックスは、通常、多数の個々のメッセージを含む大きなファイルとして記憶される。例えば、1つの「インボックス」は、ユーザに送信された全てのメッセージを含んでもよい。従って、1つのeメールが読み取られ又は送信されると、eメールファイル全体がウイルス又はハッカーからの危険に曝される。本発明の一実施形態によれば、使用のためにオープンすべきeメールを一度に1つしか一時的記憶装置又は分離計算環境にコピーできないようにeメールソフトウェアを変更することができる。これは、他のeメールが汚染されるのを保護する。次のeメールをオープンする前に修理を行うことができる。一実施形態では、アドレス帳及び/又は他のeメール要素を保護記憶装置に記憶することができ、そしてユーザが選択する特定のアドレス(1つ又は複数)だけが保護記憶装置から使用すべきワークエリアへコピーされる。従って、ウイルスは、ユーザの全アドレス帳へアクセスしない。任意であるが、修理プロセスを最初に行わねばならないようにアドレス帳の更新を制限し、アドレス帳を汚染から保護することもできる。   Email or e-mail inboxes and outboxes are typically stored as large files containing a large number of individual messages. For example, one “inbox” may include all messages sent to the user. Thus, when an email is read or sent, the entire email file is at risk from viruses or hackers. According to one embodiment of the present invention, the email software can be modified so that only one email to be opened for use can be copied to a temporary storage device or separate computing environment at a time. This protects other emails from being polluted. Repairs can be made before opening the next email. In one embodiment, an address book and / or other email elements can be stored in the protected storage device, and only the specific address (s) selected by the user are to be used from the protected storage device. Copied to the area. Thus, the virus does not access the user's entire address book. Optionally, address book updates can be limited to protect the address book from contamination so that the repair process must be performed first.

任意であるが、ほとんどのeメールプログラムが個々のeメールを1つのファイルとして処理するのと同様に、データベース及び他のソフトウェアは、多数のファイルを1つの大きなファイル又はデータベースとして記憶してもよい。このようなソフトウェアは、個々のファイル及び/又は個々のレコードを一時的記憶装置へコピーしてユーザにより一度に1つづつ作用させ、データベース全体を危険に曝すことがないように変更される。次いで、次のファイル又はレコードをオープンする前に修理を実行することができる。例えば、eメールのインボックスの各eメールを個別のファイルとして記憶することができる。或いは又、データの位置をディレクトリー及び/又はデータベースに入力することができ、そしてそのデータのみを、保護記憶装置のファイルをオープンせずに、一時的記憶装置及び/又はCEへコピーすることができる。一実施形態では、コンピュータプログラムコードは、ユーザデータが保護記憶装置においてオープンされるのを防止できる。一実施形態において、eメール及び/又はデータベースを保護記憶エリアからCE及び/又は他のデータ記憶装置へコピーすることができ、そして1つ(又はある場合には1つ以上)のeメール又はファイルをオープンして操作することができる。そのeメール(又はデータベースファイル)しかオープンして操作することができず、eメール及び/又はデータベースの残りは削除することができる(保護記憶装置に依然存在するので)。一実施形態では、ユーザ及びウェブサイトが、所有権のある本発明の技術及び方法を利用する。例えば、一実施形態では、システム又は装置ユーザは、ウェブサイトにおいてeコマーストランザクションを行うように判断する。従来の仕方でウェブサイトにデータを入力するのではなく、ユーザは、eコマーストランザクションの実行を希望することを指示し、これにより、ウェブサイトソフトウェアがユーザのパブリック暗号キーをピックアップする(又はユーザのソフトウェアがそれを自動的に与える)。ウェブサイトは、ユーザキーを分離計算環境へ移動し、そしてトランザクション又はデータベース情報を入力するためにユーザが使用できるスタンドアローンアプリケーションプログラム又は手順を使用して暗号化を行う。次いで、暗号化されたファイルは、接続される分離計算環境へ移動されてもよいし、インターネットのようなネットワークに接続又は結合することもできるし、或いはスタンドアローンアプリケーションが暗号化された分離計算環境にネットワークを接続することもできる。暗号化されたアプリケーションは、次いで、ユーザへ送信される。ユーザのコンピュータは、アプリケーションを受信し、それを分離計算環境へ移動し、そして分離計算環境においてアプリケーションを暗号解読する。次いで、ユーザは、それらのユーザデータをアプリケーションへ入力する。アプリケーションは、ユーザが何を入力したかのデータベースを生成することができ、次いで、そのデータベースを暗号化し、分離計算環境とのネットワーク接続を確立し、或いは暗号化されたデータベースを新たな分離計算環境へ移動し、そして暗号化されたデータをeコマースサイトへ返送し、新たな分離計算環境へ移動し、そして暗号解読することができる。このようにして、暗号解読されたデータベース及びeコマースは、ネットワークに決して露出されない。   Optionally, just as most email programs process individual emails as one file, databases and other software may store multiple files as one large file or database. . Such software is modified so that individual files and / or individual records are copied to temporary storage and acted on one at a time by the user without compromising the entire database. The repair can then be performed before opening the next file or record. For example, each email in the email inbox can be stored as a separate file. Alternatively, the location of the data can be entered into a directory and / or database, and only that data can be copied to temporary storage and / or CE without opening the file on the protected storage . In one embodiment, the computer program code can prevent user data from being opened in the protected storage device. In one embodiment, an email and / or database can be copied from a protected storage area to a CE and / or other data storage device, and one (or more than one) email or file Can be opened and operated. Only that email (or database file) can be opened and manipulated, and the email and / or the rest of the database can be deleted (since it still exists in the protected storage). In one embodiment, users and websites utilize proprietary technology and methods of the present invention. For example, in one embodiment, a system or device user decides to conduct an e-commerce transaction at a website. Rather than entering data into the website in a conventional manner, the user indicates that he wishes to perform an e-commerce transaction, which causes the website software to pick up the user's public encryption key (or the user's public encryption key). Software gives it automatically). The website moves the user key to the separate computing environment and performs encryption using a stand-alone application program or procedure that the user can use to enter transaction or database information. The encrypted file may then be moved to a connected separate computing environment, connected to or coupled to a network such as the Internet, or a standalone computing environment in which a stand-alone application is encrypted. You can also connect to the network. The encrypted application is then sent to the user. The user's computer receives the application, moves it to the separate computing environment, and decrypts the application in the separate computing environment. The user then enters those user data into the application. The application can generate a database of what the user has entered and then encrypts the database and establishes a network connection with the isolated computing environment or the encrypted database into a new separated computing environment And the encrypted data can be sent back to the e-commerce site, moved to a new separation computing environment, and decrypted. In this way, decrypted databases and e-commerce are never exposed to the network.

一実施形態では、イーサネットケーブル(又は他のネットワーク接続通信リンク)は、両方向ではなく一方向にのみ通信し、そして受信及び送信ケーブルは、計算環境と別々に通信するように各々スイッチされる。これらの実施形態では、イーサネット(又は他のネットワーク接続通信リンク)の各ライン又は方向は、各通信リンクが個別の分離計算環境に結合されるように別々にスイッチされる。1つの計算環境は送信を行い、別の計算環境は受信を行い、そしてそれらのアクティビティは、CSCE又はCCEのような制御計算環境により整合される。別の実施形態では、一対のネットワークインターフェイスカード又は能力(NIC)あるいはモデムが、送信/受信能力を与える対で送信のみ又は受信のみを行うように構成される。1つの計算環境には受信のみの能力を、そして別の分離計算環境には送信のみの能力を与えることにより、たとえハッカーやウイルスが受信計算環境にアクセスしても、ハッカーやウイルスは、脱出することができず、即ち送信のみの計算環境からどこかへ通信されることがない。   In one embodiment, the Ethernet cable (or other network connection communication link) communicates only in one direction rather than in both directions, and the receive and transmit cables are each switched to communicate separately with the computing environment. In these embodiments, each line or direction of Ethernet (or other network connection communication link) is switched separately such that each communication link is coupled to a separate, separate computing environment. One computing environment transmits, another compute environment receives, and their activities are coordinated by a control computing environment such as CSCE or CCE. In another embodiment, a pair of network interface cards or capabilities (NICs) or modems are configured to transmit only or receive only in pairs that provide transmit / receive capabilities. By providing one computing environment with receive-only capabilities and another separate computing environment with transmit-only capabilities, hackers and viruses escape even if hackers or viruses access the receiving computing environment. Is not possible, i.e. it is not communicated anywhere from a transmission-only computing environment.

一実施形態では、内部DHCPルーター又は他のルーターが任意に設けられ、計算環境は、多数のネットワークトランザクション、多数のNICカード、又は多数のI/O装置をもつことができる。一実施形態では、多数の周辺機器が、分離された仕方で、多数の計算環境に排他的に結合される。これらの装置は、例えば、USB装置、ファイアウオール装置、SCSI装置、シリアル装置、或いはこの技術で良く知られた他の装置形式である。   In one embodiment, an internal DHCP router or other router is optionally provided, and the computing environment can have multiple network transactions, multiple NIC cards, or multiple I / O devices. In one embodiment, multiple peripheral devices are exclusively coupled to multiple computing environments in an isolated manner. These devices are, for example, USB devices, firewall devices, SCSI devices, serial devices, or other device types well known in the art.

一実施形態では、以前にセーブされたファイルのバージョンに置き換えるのではなく、古いファイルを保有することができる。例えば、更新されたネットスケープ(Netscape)ブックマーク及びユーザデータが保護記憶装置へコピーして戻されるときに、それらは、ネットスケープブックマーク及び経歴の以前のバージョンに置き換わらない。従って、データが次に使用されるときに、それが崩壊して適切に動作しない場合には、制御方法及び/又はユーザが修理を実行し、データの以前のバージョンを使用するようにスイッチバックさせる。   In one embodiment, the old file can be retained rather than replaced with a previously saved version of the file. For example, when updated Netscape bookmarks and user data are copied back to protected storage, they do not replace previous versions of Netscape bookmarks and backgrounds. Thus, the next time the data is used, if it collapses and does not work properly, the control method and / or the user can perform a repair and switch back to use the previous version of the data. .

一実施形態では、任意であるが、2つ以上のCEを生成することができ、一方は、例えば、完全なマスターテンプレートを有し、そして他方は、例えば、頻繁に使用されるアプリケーション及びオペレーティングシステムの短縮セットのみを含む。任意であるが、ソフトウェアが必要とされるときに、CEがソフトウェアを含まない場合には、必要なソフトウェアは、例えば、ユーザソフトウェアの全セットを含むと共に、オペレーティングシステムを任意に含むマスターテンプレートからコピーすることで、CEに追加することができる。   In one embodiment, optionally two or more CEs can be generated, one having, for example, a complete master template and the other, for example, a frequently used application and operating system Contains only the shortened set. Optionally, but when the software is required, if the CE does not include the software, the required software includes, for example, a complete set of user software and is copied from a master template that optionally includes the operating system By doing so, it can be added to the CE.

一実施形態において、任意であるが、ネットワーク通信をアクチベートする前に、送信されるべき幾つかの又は全てのeメールは、送信前に分離計算環境において暗号化を行うことによりeメールを防護する方法を使用して暗号化し、次いで、eメールを第2の分離計算環境へコピーし、そこで送信する(及び潜在的なハッカーへ露出する)ことができる。暗号化されたeメールは、受信の後、分離計算環境へ移動され、その後に、暗号解読される。従って、eメールは、非暗号化形態でインターネットに決して露出されない。本発明のソフトウェアは、ユーザの介在なく、暗号化及び/又は暗号解読プロセスを自動的にトリガーする。任意であるが、ユーザのパブリックキーを各eメールと共に自動的に与えることができる。   In one embodiment, optionally, prior to activating network communications, some or all email to be sent protects the email by performing encryption in a separate computing environment before sending. The method can be used to encrypt and then the email can be copied to a second separate computing environment where it can be sent (and exposed to potential hackers). Encrypted emails are moved to a separate computing environment after being received and then decrypted. Thus, email is never exposed to the Internet in unencrypted form. The software of the present invention automatically triggers the encryption and / or decryption process without user intervention. Optionally, the user's public key can be automatically provided with each email.

任意であるが、一実施形態において、保護記憶装置は、CSCE又はCCE又は他の制御環境がデータをCEへ移動するコマンドを受け取るまで、リードオンリであって及び/又はロックすることができる。従って、この例では、ユーザがオープンすべきドキュメントを保護記憶装置において選択する場合に、コード(例えば、ROMの命令及び/又はオペレーティングシステム)が、修理を行うようにCSCEに命令することができる。次いで、修理に続いて、CSCEは、保護記憶装置をリード−ライト及び/又はアンロックへスイッチする。保護記憶装置から一時的記憶装置及び/又は爆発室へデータをコピーすることができる。これらの事象は、他の順序で生じてもよいし、付加的な及び/又は他のステップを含んでもよいし、及び/又はこれらステップの幾つかを含まなくてもよい。   Optionally, in one embodiment, the protected storage device can be read-only and / or locked until the CSCE or CCE or other control environment receives a command to move data to the CE. Thus, in this example, code (eg, ROM instructions and / or operating system) can instruct the CSCE to perform repairs when the user selects a document to open in the protected storage device. Then, following repair, the CSCE switches the protected storage device to read-write and / or unlock. Data can be copied from the protected storage device to the temporary storage device and / or the explosion chamber. These events may occur in other orders, may include additional and / or other steps, and / or may not include some of these steps.

任意であるが、多数のCEが同時に動作して、1つが「クラッシュ」し及び/又は断念し及び/又はクローズされ及び/又はもはや必要とされない場合に、別のCEが、使用中のCEに取って代わる準備ができる。例えば、二次CEへスイッチすることができ、及び/又は二次CEとの通信をアクチベートすることができる。   Optionally, if multiple CEs operate simultaneously and one “crashes” and / or abandons and / or is closed and / or no longer needed, another CE may be in use. Ready to replace. For example, a switch can be made to a secondary CE and / or communication with a secondary CE can be activated.

一実施形態では、保護記憶装置に関連したコードは、データの実行を許さないことがあり、及び/又は保護記憶装置におけるデータの実行をサポートしないことがある。従って、この実施形態では、保護記憶装置において実行できるユーザデータはない。任意であるが、保護記憶装置との通信は、修理の前にCEでは決して確立されず、そしてそのCEとの新たなネットワーク接続の前、及び/又はユーザドキュメントをオープンする前にも決して確立されない。従って、保護記憶装置は、ハッカー及びウイルスの実行には影響されない。   In one embodiment, code associated with a protected storage device may not allow execution of data and / or may not support execution of data on the protected storage device. Therefore, in this embodiment, there is no user data that can be executed in the protected storage device. Optionally, communication with the protected storage device is never established at the CE prior to repair, and is never established before a new network connection with the CE and / or before opening the user document. . Thus, the protected storage device is not affected by hacker and virus execution.

一実施形態では、計算環境(x室又は爆発室とも称される)は、互いに同一でもよく、及び/又は互いに相違点を有してもよく、及び/又は「時間遅延」ミラーとして働いてもよい。一実施形態では、二次CEが同一でよいが、キーストローク及び/又は入力が遅延状態で多数のCEへ送信される。従って、あるCEは、時間遅延され、CEがクラッシュした場合に、制御システムは、時間遅延したCEへスイッチすることができる。一実施形態では、制御方法は、プロセスウオッチャー及び/又はクラッシュ検出システムを使用して、二次システムCEへスイッチすべきかどうか決定することができ、そして任意であるが、問題を診断し、次々に古いCEへスイッチするときに問題を回避することができる。   In one embodiment, the computing environments (also referred to as x chambers or explosion chambers) may be identical to each other and / or have differences from each other and / or may act as a “time delay” mirror. Good. In one embodiment, the secondary CE may be the same, but keystrokes and / or inputs are sent to multiple CEs in a delayed state. Thus, some CEs are time delayed and if the CE crashes, the control system can switch to the time delayed CE. In one embodiment, the control method can use a process watcher and / or crash detection system to determine whether to switch to the secondary system CE, and optionally diagnoses the problem, one after the other. The problem can be avoided when switching to an old CE.

一実施形態では、揮発性メモリのデータは、コマンドを実行する前に、別のメモリエリア及び/又はロジック装置へコピーし、及び/又はセーブし、及び/又はバックアップすることができる。コマンドを実行する前のデータの次々のバックアップを記憶することができる。次いで、コマンドが実行されたとき、及びフリーズのような問題が発生した場合に、新たな二次システム及び/又は二次自己修理ユーザワークエリアを使用することができ、及び/又は揮発性メモリの任意のバックアップを揮発性メモリにロードすることができる。これは、使用のための揮発性メモリの良好なコピーを与える。問題又はフリーズが再び生じた場合は、セーブされた揮発性メモリの古いバージョンを使用することができる。任意であるが、ユーザ(1人又は複数)には問題が通知され、そして何を入力するか、及び/又はどのようにデータを入力するか、及び/又は他の振舞いを変更するよう求められる。任意であるが、プロセスウオッチャー及び/又はエラー検出システムを使用して、問題を識別することができる。任意であるが、二次CEが使用されるときには、制御方法は、揮発性メモリの初期のバックアップを使用するように選択し、及び/又はクラッシュを回避するためにデータを差別的に処理するよう二次システムに指令することができる。   In one embodiment, data in volatile memory can be copied and / or saved and / or backed up to another memory area and / or logic device prior to executing the command. It is possible to store successive backups of data before executing the command. A new secondary system and / or secondary self-repair user work area can then be used when the command is executed and when problems such as freezes occur and / or volatile memory Any backup can be loaded into volatile memory. This gives a good copy of volatile memory for use. If the problem or freeze occurs again, an older version of the saved volatile memory can be used. Optionally, the user (s) are notified of the problem and asked to enter what and / or how to enter data and / or change other behavior . Optionally, process watchers and / or error detection systems can be used to identify problems. Optionally, when secondary CE is used, the control method may choose to use an initial backup of volatile memory and / or process the data differentially to avoid crashes. You can command the secondary system.

修理を遂行する別の方法は、例えば、多数のCEを分離状態で準備することである。これらのCEは、RAMディスク、RAM、シェル、揮発性メモリ、又は他のデータ記憶装置の形態でよく、関連するRAM、及び/又は処理、及び/又は計算環境を有してもよく、そして1つ以上のマスターテンプレートの全部又は一部分のコピーを含んでもよい。分離は、例えば、CEを分離バックアップから現在CEへスイッチするように通信をアクチベート及び/又はデアクチベートすることにより生成することができる。   Another way of performing the repair is, for example, preparing a large number of CEs in isolation. These CEs may be in the form of a RAM disk, RAM, shell, volatile memory, or other data storage device, may have an associated RAM, and / or processing and / or computing environment, and 1 A copy of all or a portion of one or more master templates may be included. Separation can be generated, for example, by activating and / or deactivating communications to switch the CE from a separate backup to the current CE.

任意であるが、一実施形態において、1つ以上の予想されない及び/又は識別されないファイルが一時的記憶エリアに現われた場合には(例えば、一時的記憶エリアにどんなデータがあるべきかに関する情報の保護データベースには現われない1つ以上のファイル)、例えば、制御方法及び/又はオペレーティングシステム、及び/又はROMにおけるコードが、このようなファイルにユーザの注を引き付けさせる。ユーザには、ファイル(1つ又は複数)を破壊及び/又はセーブし、及び/又はファイル(1つ又は複数)に何らかの疑義があることを示すようにファイルをマークするオプションが与えられ、及び/又は更に別の検査及び/又は有効性確認を必要とすることがある。更に別の実施形態では、識別されないファイルが削除され及び/又はデータ記憶装置へセーブされ、及び/又は更なる検査のためにマークされ、及び/又は更なる試験のために自動的に及び/又は手動でどこかに送信され、例えば、ネットワークアドミニストレータ及び/又はウイルス検査エンティティへ送信される。   Optionally, in one embodiment, if one or more unexpected and / or unidentified files appear in the temporary storage area (eg, information about what data should be in the temporary storage area) One or more files that do not appear in the protection database), for example, control methods and / or operating systems, and / or code in ROM cause such files to attract user attention. The user is given the option of destroying and / or saving the file (s) and / or marking the file to indicate that there is some suspicion in the file (s) and / or Or it may require further testing and / or validation. In yet another embodiment, unidentified files are deleted and / or saved to data storage and / or marked for further examination and / or automatically and / or for further testing. Sent manually somewhere, for example to a network administrator and / or a virus inspection entity.

一実施形態では、1つ以上のデータ記憶装置は、リードオンリ及びリード−ライトモード間、及び/又はロック及び/又はアンロックモード間、及び/又はアクセス可能及び/又はアクセス不能モード間でスイッチされるハードウェア及び/又はソフトウェアでよい。一例において、ユーザは、リードオンリデータ記憶装置からファイルをオープンし、ファイルを操作し、そしてファイルをセーブするときに、一時的記憶エリアにセーブする。任意であるが、幾つかの又は全部のファイルをクローズするときに、ロジック及び制御方法は、次のステップの1つ以上を実行することができる。即ち、RAMをクリア及び/又はリセットし、プロセッサをクリア/リセットし、及び/又は1つ以上のデータ記憶装置をアンロック及び/又はロックし、及び/又は読み取り/書き込み及び/又はリードオンリを行い、一時的記憶装置からデータ記憶装置へデータを移動し、1つ以上のデータ記憶装置をクローズ/ロック/リードオンリし、一時的記憶エリアを任意にクリア/リセットし、(修理プロセスを任意に実行し)、そして次のユーザコマンドを待機する。一実施形態において、一時的記憶装置は、揮発性及び/又は不揮発性メモリで構成される。一例において、ランダムアクセスメモリ及び/又はフラッシュROM、及び/又は他のデータ記憶装置が使用されてもよい。一実施形態では、ドキュメント間でデータをコピーするために、コピーすべきデータをRAM及び/又は揮発性メモリの1つ以上の特有のアドレス(1つ又は複数)にロードすることができる。ペーストコマンドを受信すると、データの実行を許さないコピープロセスの使用によりデータを通信することができる。例えば、実行できないASCIIテキストしか送信しないようにデータを簡単化することができる。   In one embodiment, one or more data storage devices are switched between read-only and read-write modes, and / or between locked and / or unlocked modes, and / or accessible and / or inaccessible modes. It may be hardware and / or software. In one example, a user opens a file from a read-only data storage device, manipulates the file, and saves it to a temporary storage area when saving the file. Optionally, when closing some or all of the files, the logic and control method can perform one or more of the following steps. That is, clear and / or reset RAM, clear / reset processor, and / or unlock and / or lock one or more data storage devices, and / or read / write and / or read only, Move data from temporary storage to data storage, close / lock / read only one or more data storages, optionally clear / reset temporary storage areas (optionally perform repair process) And wait for the next user command. In one embodiment, the temporary storage device is comprised of volatile and / or nonvolatile memory. In one example, random access memory and / or flash ROM, and / or other data storage devices may be used. In one embodiment, to copy data between documents, the data to be copied can be loaded into one or more unique address (es) of RAM and / or volatile memory. When a paste command is received, data can be communicated by using a copy process that does not allow execution of the data. For example, data can be simplified so that only ASCII text that cannot be executed is transmitted.

一実施形態では、保護記憶装置においてファイルをオープンできないが、それらは、例えば、コピーされ、移動され、削除され、フラグが立てられ、バックアップされ、アーカイブされ、そしてその他の機能を受ける(これらに限定されないが)。但し、これらの機能が制御環境のような「セキュア」なインターフェイスから実行される場合に限る。   In one embodiment, files cannot be opened in protected storage, but they can be copied, moved, deleted, flagged, backed up, archived, and subjected to other functions (such as, but not limited to) But not). However, only when these functions are executed from a “secure” interface such as a control environment.

一実施形態では、好みを変え、マスターテンプレートを変更し、バックアップを削除し、或いは他の管理事象を制御環境等へ与えるコマンドを実行するために、セキュアな環境、例えば、それ自身のユーザインターフェイスソフトウェアを有する制御環境から管理を行わねばならない。ここで、分離という語は、あるときにはそこに述べたものが分離されるが、そこに述べた他の特定の時間にはそれが分離されなくてよいという概念を伝えるために使用される。例えば、CEは、ユーザデータが実行されているときには、修理プロセスが実行するまで、分離され得る。次いで、修理プロセスを実行するために、例えば、リードオンリマスターテンプレートとの通信が確立され、修理が行われ、次いで、CEとの他の通信、例えば、ネットワークとの通信を確立することができる。分離は、必要に応じて、及びハッキングやウイルスの広がりを防止する必要があるときに、使用される。   In one embodiment, a secure environment, eg, its own user interface software, is used to execute commands that change preferences, change master templates, delete backups, or provide other management events to the control environment, etc. Management must be performed from a control environment with Here, the word separation is used to convey the notion that something mentioned there is separated at some point, but it may not be separated at other specific times mentioned there. For example, when the user data is being executed, the CE can be separated until the repair process is executed. Then, in order to perform a repair process, for example, communication with a read-only master template can be established, repairs can be performed, and then other communication with the CE, for example, communication with a network can be established. Separation is used as needed and when it is necessary to prevent hacking and virus spread.

マスターテンプレートを参照すれば、CEに使用されるマスターテンプレートの「使い捨てコピー」は、種々の基準を使用して多数のやり方で生成することができる。一実施形態では、CEの種々のマスターテンプレートを生成することができる。マスターテンプレートを生成するための基準を確立することができる。例えば、1つの基準は、コンピュータ/計算装置に通常使用されるプログラムを選択することをベースとする。例えば、コンピュータユーザは、最も一般的に、次のものを使用すると仮定する。(1)ワード処理プログラム、(2)eメールプログラム、(3)2つのインターネットブラウザ、及びポップアップを防止するユーティリティ、並びにオンラインオークションを追跡し、そして種々の他のアプリケーション、ゲーム、ユーティリティ及び/又は他のプログラムを僅かな程度に使用するプログラム。この例を使用すると、マスターテンプレート(1つ又は複数)は、これらニーズの各々を基準として使用して生成することができる。従って、1つのマスターテンプレートは、オペレーティングシステム及びワード処理プログラムを含むことができ、別のマスターテンプレートは、オペレーティングシステム及びeメールプログラムを含むことができる。別のマスターテンプレートは、オペレーティングシステム、2つのインターネットブラウザ、及びポップアップを防止するユーティリティ、並びにオンラインオークションを追跡するプログラムを含むことができ、更に別のマスターテンプレートは、全てのユーザソフトウェアを含むことができる。   Referring to the master template, a “disposable copy” of the master template used for CE can be generated in a number of ways using various criteria. In one embodiment, various master templates for CE can be generated. Criteria for generating a master template can be established. For example, one criterion is based on selecting a program that is typically used for a computer / computing device. For example, assume that computer users most commonly use: (1) word processing program, (2) e-mail program, (3) two internet browsers, and utilities to prevent pop-ups, and online auctions, and various other applications, games, utilities and / or others A program that uses a small amount of the program. Using this example, the master template (s) can be generated using each of these needs as a reference. Thus, one master template can include an operating system and a word processing program, and another master template can include an operating system and an email program. Another master template can include an operating system, two internet browsers, a pop-up prevention utility, and a program that tracks online auctions, yet another master template can include all user software .

別の実施形態では、1つ(以上)のマスターテンプレートを生成することができ、基準を満足するに必要なマスターテンプレートの一部分のみをコピーして、1つ以上のCEを生成することができる。例えば、1つのマスターテンプレートがあってもよいが、これを使用して、1つ以上のCEにおけるマスターテンプレートの部分を生成することができる。例えば、上述した基準を使用し、1つのマスターテンプレートを使用して、ユーザによりおそらく使用するための準備のできたCEを生成することができる。   In another embodiment, one (or more) master templates can be generated, and only a portion of the master template needed to meet the criteria can be copied to generate one or more CEs. For example, there may be one master template, which can be used to generate a portion of the master template in one or more CEs. For example, using the criteria described above, a single master template can be used to generate a CE that is probably ready for use by a user.

一実施形態では、ユーザは、どのCE(1つ又は複数)を使用し/オープンすべきを選択することができると共に、データをCE(1つ又は複数)にコピーすることができる。任意であるが、使用すべきCE及び/又はマスターテンプレートのコピーの選択は、自動的に行われてもよいし、コードにより編成されてもよい。例えば、ユーザがオープンすべきワード処理ドキュメントを選択する場合には、ドキュメントが選択されたときに、コードが、適当なワード処理ソフトウェアを含むCEのサーチを実行することができ、及び/又はデータベース及び/又はディレクトリーをチェックして、適当なソフトウェアの位置を識別し、及び/又は他の手段を使用して、正しいソフトウェア及び/又は使用すべきCEを識別することができる。   In one embodiment, the user can select which CE (s) should be used / opened and can copy the data to the CE (s). Optionally, the selection of the CE and / or master template copy to be used may be made automatically or organized by code. For example, if the user selects a word processing document to open, when the document is selected, the code can perform a search for CEs containing the appropriate word processing software and / or a database and The directory may be checked to identify the appropriate software location and / or other means may be used to identify the correct software and / or CE to be used.

本発明のある実施形態では、1つ、多数、又は全ての計算環境からのデータを単一のディスプレイ装置(或いは動作計算環境より少数の1組のディスプレイ装置)に表示することができ、従って、このようなディスプレイ装置及びサブシステムを汚染せずに共有することが要望されることになる。   In some embodiments of the present invention, data from one, many, or all computing environments can be displayed on a single display device (or a set of display devices fewer than the operating computing environment), and thus It would be desirable to share such display devices and subsystems without contamination.

一実施形態では、制御環境は、多数の動作モードを使用することができる。例えば、第1の動作モードでは、制御環境は、ASCII及び拡張ASCIIを除いてユーザ計算環境間でのコピーを許さず、及び/又はネットワーク上のファイル共有を許さない。第2の動作モードでは、制御環境は、未知の実行可能なコードのコピーを許し、及び/又はネットワーク上のファイル共有を許す。第1モードは、「ハッカー及びウイルスに対して免疫性がある」と分類されてもよく、一方、第2動作モードは、「ハッカー及びウイルスに耐える」又は「非セキュア」として分類されてもよい。第2動作モードで生成されるドキュメントは、例えば、「非セキュア」なドキュメントと表示されてもよい。付加的な動作モードを使用することができる。スイッチングモードは、例えば、制御環境により、及び/又はユーザにより、及び/又はアドミニストレータにより行うことができる。スイッチングは、自動的でもよいし、及び/又は手動のスイッチングプロセスによりトリガーされてもよいし、又は検出されるある条件によりトリガーされてもよい。   In one embodiment, the control environment can use multiple modes of operation. For example, in the first mode of operation, the control environment does not allow copying between user computing environments except ASCII and extended ASCII, and / or does not allow file sharing on the network. In the second mode of operation, the control environment allows copying of unknown executable code and / or allowing file sharing over the network. The first mode may be classified as “immunity to hackers and viruses”, while the second mode of operation may be classified as “resistant to hackers and viruses” or “non-secure”. . The document generated in the second operation mode may be displayed as, for example, a “non-secure” document. Additional modes of operation can be used. The switching mode can be performed, for example, by the control environment and / or by the user and / or by the administrator. Switching may be automatic and / or triggered by a manual switching process, or may be triggered by certain conditions being detected.

本発明の実施形態で実施できる多数の他の考えられるモードが存在する。例えば、種々の管理モードが存在し得る。管理モードの一例では、ユーザは、保護記憶装置又は制御環境のような1つ以上の計算環境に対して修理及び/又は保守を実行するために、キー、パスワード、或いは身元又は許可を確認する手段を使用しなければならない。管理モード及び/又は修理モードの第2の例では、保護記憶装置(1つ又は複数)、制御環境(1つ又は複数)を1つ以上のデータ記憶装置へ自動的にセーブし、再フォーマット/リセット/消去し、そして必要に応じて再ロードして、それらの状態を真新しい状態で再生成することができる。制御環境のような種々の環境のマスターテンプレートを使用することができ、そして適切な許可及びスイッチングで別の環境が保守プロセス中に制御環境に対して修理を行うことができる。一実施形態では、このスイッチングは、あるスケジュールで行い、及び/又はユーザによりトリガーすることができる。   There are many other possible modes that can be implemented with embodiments of the present invention. For example, various management modes can exist. In one example of a management mode, a user can verify a key, password, or identity or permission to perform repairs and / or maintenance on one or more computing environments such as a protected storage device or a controlled environment. Must be used. In a second example of management mode and / or repair mode, the protected storage device (s), control environment (s) are automatically saved to one or more data storage devices, They can be reset / erased and reloaded as needed to regenerate their state with a brand new state. Various environment master templates, such as the control environment, can be used, and with proper authorization and switching, another environment can repair the control environment during the maintenance process. In one embodiment, this switching can occur on a schedule and / or be triggered by the user.

別の実施形態では、制御環境は、保護記憶装置へセーブされた各ファイルを表示することができる。ファイルが未知のものか又は信頼性のないものである場合には、例えば、「信頼性がない」と表示され、一方、真新しい環境内からファイルが生成された場合には、制御環境がファイルを「信頼性がある」と表示できる。一例において、「ハッカー及びウイルスに対して免疫性がある」モードでは、制御環境は、信頼性のあるデータを第1のユーザ計算環境から第2のユーザ計算環境へコピーするのを許すが、「信頼性のない」データを第2のユーザ計算環境へコピーすることは許さない。「あまりセキュアでない」モードへのスイッチングは、制御環境が、信頼性のないコードを、第1のユーザ計算環境から第2のユーザ計算環境へコピーするのを許すことができ、それにより生じるファイルは、ここで、「信頼性がない」と表示される。   In another embodiment, the control environment can display each file saved to the protected storage device. If the file is unknown or unreliable, for example, “untrusted” is displayed, while if the file is generated from within a brand new environment, the control environment Can be displayed as “reliable”. In one example, in a “immunity to hackers and viruses” mode, the control environment allows reliable data to be copied from a first user computing environment to a second user computing environment, It is not permitted to copy “unreliable” data to the second user computing environment. Switching to a “less secure” mode can allow the control environment to copy unreliable code from the first user computing environment to the second user computing environment, and the resulting file is Here, “Unreliable” is displayed.

別の実施形態では、1つのモードにおいて、2つ以上の計算環境におけるリンクされたデータは、これらの環境間で直接コピーすることができる。別の実施形態では、信頼性のあるリンクされたデータのグループは、ユーザ環境へコピー又は移動することができ、そして全てのデータに信頼性がある場合には、データがそれらの間でコピーされ及び/又はクロスリンクされる。従って、全データベース及びリンクされたデータのセットは、ユーザ計算環境へ移動又はコピーされ、そして種々のドキュメント及び/又はデータベース間でデータがクロスコピー及びリンクされながら操作される。全てのデータに信頼性がある場合には、1つのユーザ計算環境において全てのデータを一緒に操作することができる。(或いは、1つより多く、例えば、第2、第3、等。)全てのコードに信頼性があるので、ユーザ計算環境は、第1計算環境と直接通信することができる。信頼性のない異なる動作モードでは、信頼性のないデータを、信頼性のあるデータ又は信頼性のないデータと合体して、信頼性のないデータを形成し、そのように表示することができる。このように、リンクされたデータ及びデータベースの全データベースを維持し、そして信頼性のある環境において共有することができる。   In another embodiment, in one mode, linked data in two or more computing environments can be copied directly between these environments. In another embodiment, a group of reliable linked data can be copied or moved to the user environment, and if all data is reliable, the data is copied between them. And / or cross-linked. Thus, the entire database and linked data set is moved or copied to the user computing environment and manipulated while the data is cross-copied and linked between the various documents and / or databases. If all data is reliable, all data can be manipulated together in one user computing environment. (Alternatively, more than one, eg, second, third, etc.) Because all codes are reliable, the user computing environment can communicate directly with the first computing environment. In different unreliable operating modes, unreliable data can be merged with reliable or unreliable data to form unreliable data and displayed as such. In this way, the entire database of linked data and databases can be maintained and shared in a trusted environment.

別の実施形態では、この新たな技術を使用してコンピュータで構成されたネットワークは、信頼性のある/セキュアな通信ラインを経て通信される信頼性のあるデータ、データベース、及びリンクされたデータドキュメントを共有し、そして混合することができる。   In another embodiment, a computer-configured network using this new technology provides reliable data, databases, and linked data documents communicated over a reliable / secure communication line. Can be shared and mixed.

一実施形態では、制御計算環境は、例えば、信頼性がないと示されたファイルと、信頼性があると示されたファイルとの混合を決して許さない。この方法は、好都合にも、信頼性のある/セキュアなネットワーク接続によりアタッチされたコンピュータの全ネットワークが、信頼性のあるファイル、データベース及びリンクされたデータを共有しそして一緒に混合できるようにすると同時に、信頼性のないファイルをそれらのコンピュータにもたせそして信頼性のあるファイルを危険に曝すことなくそれらの信頼性のないファイルを使用する能力を有することができる。   In one embodiment, the control computing environment, for example, will never allow a mixture of files that are shown to be unreliable and files that are shown to be reliable. This method advantageously allows an entire network of computers attached by a reliable / secure network connection to share and mix together reliable files, databases and linked data. At the same time, you can have untrusted files on their computers and have the ability to use those untrusted files without jeopardizing the trusted files.

一実施形態において、サーバーは、ここに述べる技術のものでよく、クライアントノードは、セキュアな/信頼性のあるネットワーク接続を経て接続することができ、そしてクライアントノードは、従来のコンピュータで構成されてもよい。この例では、サーバーは、次のステップを実行することができる。(1)クライアントコンピュータのハードドライブを再フォーマットしそしてメモリをクリアし、(2)デスクトップ環境においてユーザがファイルを選択した後にデスクトップ環境へのアクセスをユーザコンピュータに与え、(3)要求されたファイルをユーザ環境に与えると共に、デスクトップ環境との通信を、例えば、「セーブ」ファイルを意味する1ビットに制限し、又、2ビット以上、即ちセーブファイル及び消去計算環境、に制限する。又、ステップ(4)では、制御環境を危険な状態に入れることのないようにファイルをセーブするために、ユーザファイルをクライアントコンピュータからサーバー上のユーザ計算環境によりコピーし、次いで、ユーザ計算環境に位置するデータをセーブする通常の仕方でセーブすることができる。次いで、ステップ(5)では、クライアントが終了したときに、クライアントコンピュータをサーバーにより再フォーマットしそしてリセットすることができる。任意であるが、クライアントは、「シン(thin)クライアント」として動作し、従って、クライアントコンピュータにコピーして戻す必要のあるデータは、ほとんど又は全くない。   In one embodiment, the server may be of the technology described herein, the client node can be connected via a secure / reliable network connection, and the client node is configured with a conventional computer. Also good. In this example, the server can perform the following steps: (1) reformat the hard drive of the client computer and clear the memory; (2) give the user computer access to the desktop environment after the user selects a file in the desktop environment; and (3) remove the requested file. In addition to giving to the user environment, communication with the desktop environment is limited to, for example, one bit meaning a “save” file, and more than two bits, ie, a save file and an erase calculation environment. In step (4), the user file is copied from the client computer to the user computing environment on the server in order to save the file so as not to put the control environment in a dangerous state. You can save the data in the usual way to save the location data. Then, in step (5), the client computer can be reformatted and reset by the server when the client is terminated. Optionally, the client acts as a “thin client” and therefore there is little or no data that needs to be copied back to the client computer.

一実施形態では、信頼性がないとマークされたファイルは、例えば、ワード処理ドキュメントから潜在的に実行可能なコードを除去する「剥離(stripping)」プロセスにより信頼性があるものにされる。例えば、信頼性のないファイルデータは、ASCIIキャラクタとしてセキュアな環境にコピーされて、信頼性あるものとして分類される。一実施形態では、保護記憶装置は、外部及び/又はポータブル、及び/又はホットスワップ可能、及び/又はポータブル媒体でよい。一実施形態では、ソフトウェア及び/又は物理的ボタン及び/又はスイッチ及び/又は組合せを使用して、計算環境をリセット/修理するような事象をトリガーすることができる。   In one embodiment, files that are marked untrusted are made reliable by, for example, a “stripping” process that removes potentially executable code from the word processing document. For example, unreliable file data is copied to a secure environment as an ASCII character and classified as reliable. In one embodiment, the protected storage device may be external and / or portable and / or hot swappable and / or portable media. In one embodiment, software and / or physical buttons and / or switches and / or combinations may be used to trigger events such as reset / repair the computing environment.

隠されても隠されなくてもよい内部又は外部のバックアップシステムは、保護記憶装置、マスターテンプレート、制御環境のコピー、等をバックアップするために、例えば、制御環境によりスイッチすることができる。   An internal or external backup system, which may or may not be hidden, can be switched by, for example, the control environment to back up protected storage devices, master templates, control environment copies, etc.

次いで、選択された1つ又は1組の計算環境からのデータをいかに表示しそして使用するかについて説明する。このようなデータは、これに限定されないが、計算環境において及び実際の入力、出力に対して生じるビデオ出力、或いはデータ又はアクティビティの表示と、処理事象の間に計算環境により又はその中で使用され又は発生される中間データセット又はファイルを含む。   A description will now be given of how to display and use data from the selected computing environment or set. Such data is used, but is not limited to, in the computing environment and in the computing environment between the processing event and the display of the data or activity in the computing environment and the actual video output, video output or output. Or an intermediate data set or file to be generated.

ウインドウベースのユーザインターフェイスを含む一実施形態では、全ての(又は選択された)ウインドウ、アイコン(及びこのようなアイコンが表わすアプリケーションプログラム又はデータの名前)、並びに他の当該データ及び/又は識別手段に対する全ての(又は選択された)サイズ、形状及び位置座標が、計算環境(ある実施形態では、コードの爆発を含むが外部には有害でないので「爆発室」又は「x室」とも称される)から、システム内の制御エンティティ、通常、制御計算環境(ある実施形態では「ブレーン」とも称される)、例えば、既に述べたCSCE又はCCE計算環境へと送信される。この情報は、例えば、1つ以上の種々の計算環境で実行されるか、又は単一の同時計算環境オペレーションがサポートされるときには時間的に分離された仕方で実行されるコンピュータプログラムソフトウェア命令を使用して、本発明の手順を使用する制御計算環境へと与えることができる。或いは又、その全部又は一部分を、制御計算環境により又はその中で生成することもできる。   In one embodiment that includes a window-based user interface, for all (or selected) windows, icons (and names of application programs or data that such icons represent), and other such data and / or identification means All (or selected) size, shape and position coordinates are calculated (also referred to as “explosion chamber” or “x chamber” in some embodiments, including code explosion but not harmful to the outside) To a control entity in the system, typically a control computing environment (also referred to as “brain” in some embodiments), eg, a CSCE or CCE computing environment as described above. This information may be used, for example, in one or more different computing environments or using computer program software instructions that are executed in a time separated manner when a single concurrent computing environment operation is supported. Thus, a control computing environment using the procedure of the present invention can be provided. Alternatively, all or a portion thereof can be generated by or in the control computing environment.

制御計算環境により記憶されそして追跡されるこのデータは、ここでは、「計算環境データ」又は「x室データ」と称される。   This data stored and tracked by the control computing environment is referred to herein as “computing environment data” or “x room data”.

更に、それに加えて又はそれとは別に、制御計算環境は、制御データ又は「ブレーンデータ」と称される他のデータ、例えば、各「レイヤ」又は「プロセス」が生成された順序、及び各ウインドウが生成された順序を表わすデータを追跡することができる。又、これは、選択的又はアクティブなウインドウ又はプロセスに関する情報も維持できる。   In addition or in addition, the control computing environment may include control data or other data referred to as “brain data”, such as the order in which each “layer” or “process” was generated, and each window. Data representing the order generated can be tracked. It can also maintain information about selective or active windows or processes.

ある実施形態で説明され、そして他の実施形態に対してシステム「ブレーン」とも称されるCSCE又はCCEのような制御計算環境は、マウスカーソル又は他のポインティング装置の位置及び/又はキーボード又は他のユーザ入力アクティビティを追跡することもできる。従って、制御計算環境は、各計算環境により発生されたオープンウインドウ、アイコン、等の位置に対するマウスカーソルの位置(マウス又はポインティング装置のクリックが生じたときの)を決定することができる。本明細書では、主として、キーボード及びマウスコマンドを使用した人間ユーザの相互作用について説明するが、実際に、本発明のシステム及び方法は、種々のユーザ相互作用、例えば、これに限定されないが、タッチスクリーン相互作用及びコマンド、音声相互作用及びコマンド、ドロップダウンメニュー、ホットスポット選択相互作用及びコマンド、ファンクションボタン押圧、ペンスタイラス相互作用及びコマンド、並びにこの技術で知られた又は開発が予想される種々の他のユーザ入力及び相互作用方法及び装置にも適用できることが明らかであろう。   A control computing environment, such as a CSCE or CCE, described in one embodiment and also referred to as a system “brain” for other embodiments, may include a mouse cursor or other pointing device location and / or a keyboard or other User input activity can also be tracked. Accordingly, the control computing environment can determine the position of the mouse cursor (when a mouse or pointing device click occurs) relative to the position of the open window, icon, etc. generated by each computing environment. Although the description herein primarily describes human user interaction using keyboard and mouse commands, in practice, the system and method of the present invention may include various user interactions such as, but not limited to, touch Screen interactions and commands, voice interactions and commands, drop-down menus, hot spot selection interactions and commands, function button presses, pen stylus interactions and commands, and various known or anticipated developments in this technology It should be apparent that other user input and interaction methods and devices are applicable.

従って、マウス位置「クリック」(又は他の「選択」)を計算し、そしてそれを割り当てられた計算環境のウインドウ位置と比較する(及びどちらのウインドウが「前方」又は「アクティブ」であるか)ことにより、CSCEが、どのウインドウ(又はアイコン又はアイテム又は計算環境プロセス)が選択されるよう意図されたか特に決定しそしてその「クリック」位置を受信できるようにする。   Thus, the mouse position “click” (or other “selection”) is calculated and compared to the window position of the assigned computing environment (and which window is “forward” or “active”). This allows the CSCE to specifically determine which window (or icon or item or computing environment process) is intended to be selected and receive its “click” position.

従って、マウスボタンがクロックされると、制御計算環境は、例えば、どのレイヤを従来のウインドウ用語で「アクティブで且つ前方」とするか、又はどのアプリケーションを起動するか、又はマウス及びキーボード信号をどこに向け直すかを、制御計算環境により収集された情報に基づいて決定することができる。   Thus, when the mouse button is clocked, the control computing environment, for example, which layer is “active and forward” in conventional window terminology, which application is launched, or where the mouse and keyboard signals are sent. The redirection can be determined based on information collected by the control computing environment.

計算環境(CE)からCSCEへの直接接続は、例えば、これに限定されないが、計算環境からの第1の(おそらく専用の)ASICをCSCE(又はフィルタ)における第2の(おそらく専用の)ASICに対して使用して、意図されないアクティビティ又は結果を防止することができる。このような意図されない結果は、例えば、マリシャスコードを持ち出すか又は広げるように意図されたバッファ又はメモリオーバーランを引き起こすあるコード実行である。ASICは、所定の許された処理しか生じないようにフィルタリング又は制限動作を与えるロジック回路の単なる一例である。例えば、このようなロジックは、ASICの形態であるか、それ以外で実施されるかに関わらず、「受信器」として動作して、受け取った通信を「x、y」又は「ライン、サンプル」座標として理解し又は解釈することしかできず、その他の理解も解釈もできない。ある実施形態では、計算環境とCSCEとの間の通信経路に位置された単一のASIC又は他のロジックが、意図された通信において希望の制限又はフィルタリング動作を与えるのに充分なものであることに注意されたい。このようなASIC又はロジック回路(ソフトウェア又はファームウェアを任意に使用する)は、使用可能な1組の考えられる許可された機能又は動作から1つの機能をセキュアに且つ安全に選択するように制御可能であるか、或いはこのような選択を遂行するように動的にプログラム可能である(例えば、保護記憶装置又は他のセキュアな記憶装置からコードをダウンロードするか、又は制御信号(1つ又は複数)を送信することにより)。   A direct connection from the computing environment (CE) to the CSCE is, for example, but not limited to, a first (possibly dedicated) ASIC from the computing environment to a second (possibly dedicated) ASIC in the CSCE (or filter). Can be used to prevent unintended activities or results. Such unintended consequences are, for example, some code execution that causes a buffer or memory overrun that is intended to bring up or spread malicious code. An ASIC is just one example of a logic circuit that provides a filtering or limiting operation so that only certain allowed processing occurs. For example, such logic may operate as a “receiver”, whether in the form of an ASIC or otherwise implemented, and receive communications as “x, y” or “line, sample”. It can only be understood or interpreted as coordinates, and cannot be understood or interpreted elsewhere. In some embodiments, a single ASIC or other logic located in the communication path between the computing environment and the CSCE is sufficient to provide the desired restriction or filtering action in the intended communication. Please be careful. Such an ASIC or logic circuit (optionally using software or firmware) can be controlled to securely and safely select a function from a set of possible allowed functions or operations that can be used. Or is dynamically programmable to perform such a selection (eg, download code from a protected storage device or other secure storage device, or control signal (s)) By sending).

制御計算環境に与えられるデータに含むことのできる「x室データ」又はユーザ計算環境データは、例えば、これに限定されないが、次のものを含まなくてもよいし、1つ以上含んでもよい。即ち、ウインドウの位置及びサイズ(ワイヤフレームのような);アイコンの名前及びそれらが何を表わすか;ファイルのサイズ、ファイルの位置、及び同様のファイル又はデータセットの参照又は識別子。更に別の例として、これらは、Bツリー、マスターディレクトリー、デスクトップデータベース、等を含んでもよい。それに加えて又はそれとは別に、これは、どのアプリケーションプログラム、ドライバ又はオペレーティングシステム要素が、どのファイル又はファイル形式或いは装置又は装置形式と「関連」され、又は協働するように意図され、オープンし、或いは処理能力を有するかのリスト又は他のデータ構造又はインデックスを含んでもよい。   The “x room data” or the user calculation environment data that can be included in the data given to the control calculation environment is not limited to this, for example, but may include one or more of the following. The location and size of the window (such as a wireframe); the names of the icons and what they represent; the size of the file, the location of the file, and a similar file or dataset reference or identifier. As yet another example, these may include B-trees, master directories, desktop databases, etc. In addition or alternatively, this is intended to open, which application program, driver or operating system element is "associated" with or cooperates with any file or file type or device or device type, Alternatively, it may include a list of processing capabilities or other data structures or indexes.

制御データ又は「ブレーンデータ」は、例えば、次のものを含まなくてもよいし、1つ以上含んでもよい。即ち、レイヤ、ウインドウ及び/又はプロセッサが生成された順序を識別するデータ、このようなレイヤ、ウインドウ及び/又はプロセッサの現在の順序又はプライオリティ、マウス又はポインティング装置の絶対的、スクリーン相対的、ウインドウ相対的なカーソル位置、及び/又はこれら又は他のデータの組合せ。ある実施形態では、複数の計算環境が同様の又は同一の属性を有し、このデータ又は情報のあるものは、一度生成されるだけでよく、従って、その計算環境に対して相対的な変化が生じた場合及びそのときに、その後の更新のために各計算環境に対して変更又は適応されるだけでよいことが明らかであろう。   The control data or “brain data” may not include the following, or may include one or more. Data identifying the order in which layers, windows and / or processors were generated, the current order or priority of such layers, windows and / or processors, absolute mouse or pointing device, screen relative, window relative Cursor position and / or a combination of these or other data. In some embodiments, multiple computing environments have similar or identical attributes, and some of this data or information need only be generated once, and therefore there is a relative change to that computing environment. It will be clear that it only needs to be changed or adapted for each computing environment for subsequent updates when and when it occurs.

多数の任意の特徴を含む本発明の多数の実施形態を説明したが、本発明の異なる態様及び特徴を結合して一緒に使用したり別々に使用したりできることが明らかであろう。ここでは、これら特徴をある組合せで有する特定の実施形態について説明する。この説明は、単なる例示に過ぎず、本発明の範囲又は精神を何ら限定するものではない。本明細書のどこかで述べた本発明の多数の態様及び特徴は、以下に記載しない。   While a number of embodiments of the invention including a number of optional features have been described, it will be apparent that different aspects and features of the invention can be combined and used together or separately. Here, a specific embodiment having these features in a certain combination will be described. This description is merely illustrative and is not intended to limit the scope or spirit of the invention in any way. Many aspects and features of the invention described anywhere in this specification are not described below.

1つの態様において、本発明は、情報機器を提供する。この情報機器の一実施形態において、情報機器は、プログラム及びデータのための第1記憶装置と、プロセッサロジックとを有し、そしてユーザデータを含むタスクを遂行するためのコンピュータプログラム命令を実行する形式のものであり、この情報機器は、個別の制御処理環境及びユーザ処理環境が生成され及び維持されて、(1)未知の又は信頼性のないコンテンツを有するユーザデータは、制御処理ロジック環境において、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに対して露出されず、そして(2)未知の又は信頼性のないコンテンツを有するユーザデータは、ユーザ処理ロジック環境において、第1記憶装置から分離されたときに、第1記憶装置とは異なる一時的記憶装置のみに露出されるようにしたことを特徴とする。情報機器の別の実施形態では、情報機器は、パーソナルデータアシスタントであるか又はそれを含む。情報機器の別の実施形態では、情報機器は、コンピュータであるか又はそれを含む。   In one aspect, the present invention provides an information device. In one embodiment of this information equipment, the information equipment comprises a first storage device for programs and data, processor logic, and a format for executing computer program instructions for performing tasks including user data. In this information device, a separate control processing environment and a user processing environment are created and maintained. (1) User data having unknown or unreliable content is stored in the control processing logic environment. User data that is not exposed to computer program code capable of executing computer program code instructions embedded in the user data and (2) has unknown or unreliable content is stored in a first storage in a user processing logic environment. Temporary different from the first storage device when separated from the device Characterized in that so as to be exposed only to the storage device. In another embodiment of the information device, the information device is or includes a personal data assistant. In another embodiment of the information device, the information device is or includes a computer.

別の態様において、本発明は、少なくとも1つの命令を実行するための少なくとも1つの処理ロジック装置と、第1データ、及び少なくとも1つの命令を含むと共にユーザデータを含む第1プログラムコードを記憶するための第1記憶装置と、第2データを記憶するための第2記憶装置と、自動制御のもとで処理ロジック装置を第1記憶装置及び/又は第2記憶装置に選択的に独立して結合及び分離するためのスイッチングシステムであって、処理ロジック装置から少なくとも1つの制御信号を受信してスイッチングシステムの状態を選択するためのスイッチングシステムとを備え、処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、(i)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムは実行できないプログラム命令が処理ロジックにロードされたときには、第1記憶装置と結合されてもよく、(ii)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第1記憶装置と結合されないか又は既知の情報を通信するように限定的に結合されるだけでよく、(iii)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第2記憶装置と結合されてもよく、そして(iv)処理ロジック装置は、第1記憶装置から第2記憶装置へ又は第2記憶装置から第1記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、第1記憶装置及び第2記憶装置に結合されてもよい、というように動作する情報機器を提供する。   In another aspect, the invention stores at least one processing logic device for executing at least one instruction and first program code including first data and at least one instruction and including user data. A first storage device, a second storage device for storing second data, and a processing logic device selectively and independently coupled to the first storage device and / or the second storage device under automatic control And a switching system for isolating, wherein the processing logic device receives at least one control signal from the processing logic device and selects a state of the switching system, the processing logic device comprising a control configuration and user data In configuration, it operates based on the following conditions: (i) Processing logic The device may be coupled to the first storage device when program instructions are loaded into the processing logic that cannot execute data items that have unreliable content or did not occur in a known control environment, ii) If the processing logic device has unreliable content or is loaded with processing logic loaded with processing instructions that can execute a data item that did not occur in a known control environment, is it not coupled to the first storage device? Or only limitedly coupled to communicate known information, and (iii) processing logic devices execute data items that have unreliable content or did not occur within a known control environment When a possible program instruction is loaded into the processing logic, it may be coupled to a second storage device and (iv) When a program instruction that can only copy a data item from the first storage device to the second storage device or from the second storage device to the first storage device is loaded into the processing logic, the logic device loads the first storage device and the second storage device. An information device is provided that operates such that it may be coupled to two storage devices.

上述した情報機器の一実施形態では、スイッチングシステムは、処理ロジック装置を第1記憶装置及び第2記憶装置に少なくとも次の仕方で結合し又は分離することができ、即ち(i)処理ロジック装置を第1記憶装置のみに結合し、(ii)処理ロジック装置を第2記憶装置のみに結合し、(iii)処理ロジック装置を第1及び第2記憶装置に同時に結合し、(iv)処理ロジック装置を第1記憶装置にも第2記憶装置にも結合しない。前記情報機器の別の実施形態では、処理ロジック装置は、マイクロプロセッサを含む。前記情報機器の別の実施形態では、処理ロジック装置は、マイクロプロセッサ、中央処理ユニット(CPU)、コントローラ、マイクロコントローラ、ASIC、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せよりなる処理ロジック回路のセットから選択される。前記情報機器の別の実施形態では、情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、GPS受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御装置、電子計器、医療監視装置、セキュリティ装置、環境制御装置、電子装置、及びそれらの組合せより成る情報機器のセットから選択される。前記情報機器の別の実施形態では、第1データ記憶装置及び第2データ記憶装置は、独立して選択可能であり、そして回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、CD、DVD、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュ(登録商標)カードメモリ、RAMメモリ、ROMメモリ、及びそれらの組合せより成る記憶装置のセットから選択される。   In one embodiment of the information equipment described above, the switching system can couple or separate the processing logic device to the first storage device and the second storage device at least in the following manner: (i) the processing logic device. Coupled to only the first storage device; (ii) coupling the processing logic device only to the second storage device; (iii) coupling the processing logic device to the first and second storage devices simultaneously; and (iv) the processing logic device. Are not coupled to the first storage device or the second storage device. In another embodiment of the information appliance, the processing logic device includes a microprocessor. In another embodiment of the information device, the processing logic device comprises a processing logic circuit comprising a microprocessor, a central processing unit (CPU), a controller, a microcontroller, an ASIC, a logic circuit, a programmable logic circuit, and combinations thereof. Selected from the set. In another embodiment of the information device, the information device is a computer, a notebook computer, a personal data assistant, a personal data organizer, a cellular phone, a mobile phone, a wireless receiver, a wireless transmitter, a GPS receiver, a satellite phone, an automobile. On-board computer, aircraft-mounted computer, navigation device, household device, printing device, scanning device, camera, electronic camera, television receiver, broadcast control device, electronic instrument, medical monitoring device, security device, environmental control device, electronic device, And a set of information devices consisting of combinations thereof. In another embodiment of the information device, the first data storage device and the second data storage device are independently selectable, and a rotating magnetic hard disk drive, a rotating magnetic floppy disk drive, a CD, a DVD, a semiconductor memory, It is selected from a set of storage devices consisting of solid state memory, chemical memory, magnetic memory, molecular memory, microdrive, flash memory, compact flash card memory, RAM memory, ROM memory, and combinations thereof.

前記情報機器の別の実施形態では、少なくとも1つの処理ロジック装置は、複数の処理ロジック装置を含む。前記情報機器の別の実施形態では、前記複数の処理ロジック装置の少なくとも1つは、少なくとも1つのマイクロプロセッサを含み、そして前記少なくとも1つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、マイクロプロセッサを第1及び第2の記憶装置に選択的に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るためにマイクロプロセッサに結合可能である。前記情報機器の別の実施形態では、複数の処理ロジック装置は、処理ロジック装置の1つを実行する自動制御システムにより、間欠的順次に分離されそして通信的に制約される。前記情報機器の別の実施形態では、第2記憶装置は、それが処理ロジック装置に結合されたときには処理オペレーション中に一時的記憶装置として働き、そして各処理が行われた後に、処理がエラー状態で完了する場合又はエラー状態を伴わずに完了する場合で独立して自動的に消去されるように構成され、更に、エラー状態は、ウイルス又は他のマリシャスコード実行の検出を含む。情報機器の別の実施形態では、複数の処理ロジック装置及び少なくとも第1及び第2記憶装置は、決定された特性を有する計算環境を生成するように動的に構成可能である。情報機器の別の実施形態では、第1記憶装置は、オペレーティングシステム及びアプリケーションプログラム要素と、ユーザデータの保護されたコピーとを有するマスターテンプレートファイルを記憶する。   In another embodiment of the information appliance, the at least one processing logic device includes a plurality of processing logic devices. In another embodiment of the information appliance, at least one of the plurality of processing logic devices includes at least one microprocessor, and the at least one instruction includes a plurality of computer program code segments and applications from an operating system. A plurality of computer program code segments from the program, the switching system further comprising switch control commands for changing the switch configuration to selectively couple and disconnect the microprocessor from the first and second storage devices. It can be coupled to a microprocessor for receiving. In another embodiment of the information appliance, the plurality of processing logic devices are intermittently separated and communicatively constrained by an automatic control system that executes one of the processing logic devices. In another embodiment of the information appliance, the second storage device acts as a temporary storage device during processing operations when it is coupled to the processing logic device, and the processing is in an error state after each processing is performed. Configured to be automatically cleared independently when completed with or without an error condition, and further, the error condition includes detection of a virus or other malicious code execution. In another embodiment of the information equipment, the plurality of processing logic devices and at least the first and second storage devices can be dynamically configured to generate a computing environment having the determined characteristics. In another embodiment of the information equipment, the first storage device stores a master template file having an operating system and application program elements and a protected copy of user data.

別の態様において、本発明は、少なくとも1つの命令を実行するための少なくとも1つの処理ロジック装置と、第1データ、及び少なくとも1つの命令を含むと共にユーザデータを含む第1プログラムコードを記憶するための第1記憶装置と、第2データを記憶するための第2記憶装置とを有する形式の情報機器を操作する方法であって、スイッチングシステムの条件を選択するために処理ロジック装置から少なくとも1つの制御信号を受信した際に、処理ロジック装置を自動制御のもとで第1記憶装置及び/又は第2記憶装置と結合し及び分離するように選択的に及び独立してスイッチングするステップと、次の条件に基づいて制御コンフィギュレーション及びユーザデータコンフィギュレーションで処理ロジック装置を操作するステップであって、(i)信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムは実行できないプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第1記憶装置との結合を許し、(ii)信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第1記憶装置との結合を許さないか又は処理ロジック装置と第1記憶装置との結合を限定的に許して既知の情報を通信するのみとし、(iii)信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第2記憶装置との結合を許し、そして(iv)第1記憶装置から第2記憶装置へ又は第2記憶装置から第1記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、処理ロジック装置と第1記憶装置及び第2記憶装置との結合を許す、というようにしたステップと、を備えた方法を提供する。   In another aspect, the invention stores at least one processing logic device for executing at least one instruction and first program code including first data and at least one instruction and including user data. A method of operating an information device of the type having a first storage device and a second storage device for storing second data, wherein at least one from a processing logic device to select a condition of the switching system Selectively and independently switching the processing logic device to and from the first storage device and / or the second storage device under automatic control upon receipt of the control signal; and Operating the processing logic device in a control configuration and a user data configuration based on the conditions of And (i) when a program instruction is loaded into the processing logic that cannot execute data items that have unreliable content or did not occur in a known control environment, the processing logic device and the first storage device (Ii) when program instructions are loaded into the processing logic that can execute data items that have unreliable content or that did not occur in a known control environment, the processing logic device and the first memory Do not allow coupling with the device or only allow limited coupling between the processing logic device and the first storage device to communicate known information, and (iii) have unreliable content or known control Processing logic device when program instructions that can execute data items that did not occur in the environment are loaded into processing logic And (iv) program instructions in the processing logic that can only copy data items from the first storage device to the second storage device or from the second storage device to the first storage device. And a step of allowing a combination of the processing logic device and the first storage device and the second storage device when loaded.

情報機器を操作する方法の別の実施形態では、前記方法は、処理ロジック装置が第2記憶装置を使用してユーザデータを処理した後に第2記憶装置を消去するステップを更に備えている。   In another embodiment of the method of operating an information device, the method further comprises erasing the second storage device after the processing logic device has processed the user data using the second storage device.

情報機器を操作する方法の別の実施形態では、情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、GPS受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御システム、電子計器、医療監視装置、セキュリティ装置、環境制御装置、電子装置、及びそれらの組合せより成る情報機器のセットから選択される。   In another embodiment of the method of operating an information device, the information device is a computer, notebook computer, personal data assistant, personal data organizer, cellular phone, mobile phone, wireless receiver, wireless transmitter, GPS receiver, satellite Telephone, automobile-mounted computer, aircraft-mounted computer, navigation device, household device, printing device, scanning device, camera, electronic camera, television receiver, broadcast control system, electronic instrument, medical monitoring device, security device, environmental control device, It is selected from a set of information equipment consisting of electronic devices and combinations thereof.

情報機器を操作する方法の別の実施形態では、少なくとも1つの処理ロジック装置は、複数の処理ロジック装置を含む。情報機器を操作する方法の別の実施形態では、複数の処理ロジック装置の少なくとも1つは、少なくとも1つのマイクロプロセッサを含み、そして少なくとも1つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、マイクロプロセッサを第1及び第2の記憶装置に選択的に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るためにマイクロプロセッサに結合可能である。   In another embodiment of the method of operating an information device, the at least one processing logic device includes a plurality of processing logic devices. In another embodiment of a method of operating an information device, at least one of the plurality of processing logic devices includes at least one microprocessor, and the at least one instruction includes a plurality of computer program code segments from the operating system and A switch control command including a plurality of computer program code segments from an application program, wherein the switching system changes a switch configuration to selectively couple and disconnect the microprocessor from the first and second storage devices; Can be coupled to a microprocessor to receive

別の態様において、本発明は、あるフォームファクタのコンピュータPCカード及び複数のPCCardBusインターフェイス接続を有するハウジングと;このハウジング内に配置された複数のプロセッサと;このハウジング内に配置されるか又はそれに結合された複数のデータ記憶装置と;少なくともユーザデータを記憶するために複数のデータ記憶装置から選択された保護データ記憶装置部分と;複数のデータ記憶装置に結合されたデータ記憶装置スイッチシステムであって、ハウジング内に配置された1つ以上のデータ記憶装置との通信を構成するためにデータ記憶装置スイッチコンフィギュレーションで結合されたスイッチシステムと;少なくとも1つの周辺機器に結合されたI/Oスイッチシステムであって、ハウジング内に配置された周辺機器との通信を構成するために複数の特色を含むI/Oシステムコンフィギュレーションで結合されたI/Oシステムと;複数の計算環境であって、その各々の計算環境は、少なくとも1つのプロセッサを備えそして複数の特色から選択された少なくとも1つの特色で識別され、更に、データ記憶装置スイッチに結合されたデータ記憶装置スイッチ通信経路であって、少なくとも1つのデータ記憶装置を、データ記憶装置スイッチコンフィギュレーションに基づいて計算環境に結合するようなデータ記憶装置スイッチ通信経路と、I/Oスイッチシステムに結合されたI/Oスイッチ計算経路であって、周辺機器を、I/Oスイッチシステムコンフィギュレーションに基づいて計算環境に結合するためのI/Oスイッチ通信経路とを含み、更に、計算環境は、I/Oスイッチシステムから入力を受信しそしてI/Oスイッチシステムへ出力を送信することを含む処理アクティビティを実行することができ、この処理アクティビティは、別の計算環境の処理アクティビティとは独立して実行されるような計算環境と;データ記憶装置スイッチコンフィギュレーションを構成し、I/Oスイッチシステムコンフィギュレーションを構成するために複数の計算環境から選択された制御計算環境であって、データ記憶装置スイッチコンフィギュレーションがこの制御計算環境と保護データ記憶装置との間の通信をサポートするような制御計算環境と;複数の計算環境から選択された少なくとも1つのユーザ分離計算環境と;を備え、I/Oスイッチシステムコンフィギュレーションは、受信した入力を計算環境の少なくとも1つへ向けるように構成され、更に、I/Oスイッチシステムコンフィギュレーションは、複数の計算環境の1つ以上により発生された出力を周辺機器へ向けるように構成された情報処理装置を提供する。   In another aspect, the present invention provides a housing having a form factor computer PC card and a plurality of PCCardBus interface connections; a plurality of processors disposed within the housing; and disposed within or coupled to the housing. A protected data storage device portion selected from a plurality of data storage devices for storing at least user data; and a data storage device switch system coupled to the plurality of data storage devices. A switch system coupled in a data storage device switch configuration to configure communication with one or more data storage devices disposed within the housing; and an I / O switch system coupled to at least one peripheral device In the housing An I / O system coupled with an I / O system configuration that includes a plurality of features to configure communication with a configured peripheral device; a plurality of computing environments, each computing environment having at least one A data storage device switch communication path comprising a processor and identified by at least one special feature selected from a plurality of special features and coupled to the data storage device switch, wherein the at least one data storage device is connected to the data storage device. A data storage device switch communication path coupled to a computing environment based on a device switch configuration and an I / O switch computation path coupled to an I / O switch system, wherein peripheral devices are connected to the I / O switch system I / O switch communication path for coupling to computing environment based on configuration In addition, the computing environment can perform a processing activity that includes receiving input from the I / O switch system and sending output to the I / O switch system, the processing activity comprising another computation A computing environment that is executed independently of the processing activities of the environment; a control computation selected from a plurality of computing environments to configure the data storage device switch configuration and to configure the I / O switch system configuration A control computing environment in which the data storage device switch configuration supports communication between the control computing environment and the protected data storage device; at least one user separation computation selected from the plurality of computing environments; An I / O switch system configuration Is configured to direct received input to at least one of the computing environments, and further, the I / O switch system configuration directs output generated by one or more of the plurality of computing environments to the peripheral device. An information processing apparatus configured as described above is provided.

情報処理装置の別の実施形態では、複数のプロセッサは、マイクロプロセッサ、中央処理ユニット(CPU)、コントローラ、マイクロコントローラ、ASIC、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せよりなる処理ロジック回路のセットから独立して選択され、そして複数のデータ記憶装置は、独立して選択可能であって、回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、CD、DVD、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュカードメモリ、RAMメモリ、ROMメモリ、及びそれらの組合せより成る記憶装置のセットから選択される。   In another embodiment of the information processing apparatus, the plurality of processors are a processing logic circuit comprising a microprocessor, a central processing unit (CPU), a controller, a microcontroller, an ASIC, a logic circuit, a programmable logic circuit, and combinations thereof. And a plurality of data storage devices are independently selectable, rotating magnetic hard disk drive, rotating magnetic floppy disk drive, CD, DVD, semiconductor memory, solid state memory, chemical Selected from a set of storage devices consisting of memory, magnetic memory, molecular memory, microdrive, flash memory, compact flash card memory, RAM memory, ROM memory, and combinations thereof.

別の態様において、本発明は、プログラム及びデータのための第1記憶装置と、プロセッサロジックとを有し、そしてユーザデータを含むタスクを遂行するためのコンピュータプログラム命令を実行する形式のコンピュータにおいて、個別の制御処理環境及びユーザ処理環境が生成され及び維持されて、(1)未知の又は信頼性のないコンテンツを有するユーザデータは、制御プロセッサロジック環境において、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに対して露出されず、そして(2)未知の又は信頼性のないコンテンツを有するユーザデータは、ユーザプロセッサロジック環境において、第1記憶装置から分離されたときに、第1記憶装置とは異なる一時的記憶装置のみに露出されることを特徴とするコンピュータを提供する。   In another aspect, the present invention relates to a computer having a first storage device for program and data, processor logic, and executing computer program instructions for performing a task including user data. A separate control processing environment and user processing environment is created and maintained, (1) user data having unknown or unreliable content is computer program code instructions embedded in the user data in the control processor logic environment And (2) when user data having unknown or unreliable content is separated from the first storage device in the user processor logic environment, the first A temporary storage device different from the storage device Providing a computer, characterized in that it is exposed to.

別の態様において、本発明は、少なくとも1つの命令を実行するための少なくとも1つの処理ロジック装置と、第1データ、及び少なくとも1つの命令を含むと共にユーザデータを含む第1プログラムコードを記憶するための第1記憶装置と、第2データを記憶するための第2記憶装置と、自動制御のもとで処理ロジック装置を第1記憶装置及び/又は第2記憶装置に選択可能に独立して結合及び分離するためのスイッチングシステムであって、処理ロジック装置から少なくとも1つの制御信号を受信してスイッチングシステムの状態を選択するためのスイッチングシステムとを備え、処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、(i)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が処理ロジックにロードされたときには、第1記憶装置と結合されてもよく、(ii)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第1記憶装置と結合されないか又は既知の情報を通信するように制限的に結合されるだけであり、(iii)処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が処理ロジックにロードされたときには、第2記憶装置と結合されてもよく、そして(iv)処理ロジック装置は、第1記憶装置から第2記憶装置へ又は第2記憶装置から第1記憶装置へデータアイテムをコピーすることしかできないプログラム命令が処理ロジックにロードされたときには、第1記憶装置及び第2記憶装置に結合されてもよい、というように動作するコンピュータシステムを提供する。   In another aspect, the invention stores at least one processing logic device for executing at least one instruction and first program code including first data and at least one instruction and including user data. A first storage device, a second storage device for storing second data, and a processing logic device that is selectably and independently coupled to the first storage device and / or the second storage device under automatic control. And a switching system for isolating, wherein the processing logic device receives at least one control signal from the processing logic device and selects a state of the switching system, the processing logic device comprising a control configuration and user data In configuration, it operates based on the following conditions: (i) Processing logic The storage device may be coupled to the first storage device when program instructions are loaded into the processing logic that have unreliable content or cannot execute data items that did not occur in a known control environment, (Ii) The processing logic device is not coupled to the first storage device when a program instruction is loaded into the processing logic that can execute a data item that has unreliable content or did not occur in a known control environment. Or only limitedly coupled to communicate known information, and (iii) the processing logic device can store data items that have unreliable content or did not occur in a known control environment. When executable program instructions are loaded into the processing logic, they may be coupled to a second storage device, and (iv) The logic device is configured such that when a program instruction that can only copy data items from the first storage device to the second storage device or from the second storage device to the first storage device is loaded into the processing logic, the first storage device and A computer system is provided that operates such that it may be coupled to a second storage device.

別の態様において、本発明は、第1記憶装置及び少なくとも1つのプロセッサを有する形式のコンピュータシステムであって、個別の制御処理環境及びユーザ処理環境が記憶装置及びプロセッサの少なくとも1つの中に生成され及び維持されて、(1)識別されたデータが、データに埋め込まれたプロセッサ実行可能な命令に露出されないようにし、更に(2)識別されたデータが、第1記憶装置から分離されたときに第1記憶装置とは異なる第2記憶装置においてプロセッサに露出されるだけであるようにしたことを特徴とする。   In another aspect, the invention is a computer system of the type having a first storage device and at least one processor, wherein a separate control processing environment and a user processing environment are generated in at least one of the storage device and the processor. And (1) prevent the identified data from being exposed to processor-executable instructions embedded in the data, and (2) when the identified data is separated from the first storage device. The second storage device different from the first storage device is only exposed to the processor.

本発明の特定の実施形態及び最良のモードの前記説明は、本発明を例示するものに過ぎない。本発明は、ここに述べた厳密な形態に限定されるものではなく、前記教示に鑑み多数の変更や修正がなされ得ることが明らかである。これら実施形態は、本発明の原理及びその実際の応用を最良に説明するために選択されたものであり、当業者であれば、意図された特定の用途に適するように種々の変更を加えて本発明及び種々の実施形態を最良に利用することができよう。本発明の範囲は、特許請求の範囲及びその等効物により定義されるものとする。   The foregoing description of specific embodiments and best modes of the invention is merely illustrative of the invention. It is apparent that the present invention is not limited to the precise forms described herein, and that many changes and modifications can be made in light of the above teachings. These embodiments are selected to best illustrate the principles of the invention and its practical application, and those skilled in the art will make various modifications to suit the particular intended use. The invention and various embodiments may be best utilized. The scope of the invention is to be defined by the claims and their equivalents.

従来技術によるラップトップコンピュータ又は他の計算システムを示す図である。FIG. 1 illustrates a laptop computer or other computing system according to the prior art. 本発明の一実施形態によるラップトップコンピュータシステム又は他の情報機器を示す図である。1 illustrates a laptop computer system or other information device according to an embodiment of the present invention. FIG. 本発明の一実施形態により多数の独立した計算環境をサポートするためのアーキテクチャー及びシステムの概略図である。1 is a schematic diagram of an architecture and system for supporting multiple independent computing environments according to one embodiment of the invention. FIG. 本発明の実施形態を使用するための方法の実施形態を示すフローチャートである。6 is a flowchart illustrating an embodiment of a method for using an embodiment of the present invention. 計算環境を開始するための方法の実施形態を示すフローチャートである。6 is a flowchart illustrating an embodiment of a method for initiating a computing environment. 計算環境の1つ以上のスイッチシステムを構成するための方法の実施形態を示すフローチャートである。FIG. 6 is a flowchart illustrating an embodiment of a method for configuring one or more switch systems in a computing environment. 特殊目的のサブシステム又は計算環境、及び共通のコントローラを備えた本発明の別の実施形態を示す図である。FIG. 6 illustrates another embodiment of the present invention with a special purpose subsystem or computing environment and a common controller. 本発明の更に別の実施形態を示す図である。It is a figure which shows another embodiment of this invention. 本発明のアーキテクチャー及びシステムの更に別の実施形態を示す図である。FIG. 6 illustrates yet another embodiment of the architecture and system of the present invention. 本発明のアーキテクチャー及びシステムの更に別の実施形態を示す図である。FIG. 6 illustrates yet another embodiment of the architecture and system of the present invention. ユーザ処理のために制御計算環境及び少なくとも1つの分離された計算環境を結合して有する本発明の付加的な実施形態を示す図である。FIG. 6 illustrates an additional embodiment of the present invention having a control computing environment and at least one separate computing environment combined for user processing. 単一の物理的な計算環境を与えるが、コンポーネントの間欠的アクセス及び時間的分離割り当て及びアクセスを使用して複数の論理的又は仮想計算環境をサポートできる本発明のアーキテクチャー及びシステムの実施形態を示す図である。An embodiment of the architecture and system of the present invention that provides a single physical computing environment, but that can support multiple logical or virtual computing environments using intermittent and temporally segregated assignment and access of components. FIG. 本発明の態様によるアーキテクチャー及びシステム構成の別の実施形態を示す図である。FIG. 6 illustrates another embodiment of an architecture and system configuration in accordance with aspects of the present invention. PCカード実施形態のような本発明のインターフェイスカード実施形態を示す図である。FIG. 5 shows an interface card embodiment of the present invention such as a PC card embodiment. PCカードと、周辺バス、ホストバス、及びホストプロセッサとの間の接続を示す図14のPCカード実施形態を示す図である。FIG. 15 illustrates the PC card embodiment of FIG. 14 showing connections between the PC card and the peripheral bus, host bus, and host processor. 本発明の実施形態内の動的な構成及びコンポーネントスイッチング及び接続の態様を示す図である。FIG. 3 illustrates dynamic configuration and component switching and connection aspects within an embodiment of the invention. 本発明の実施形態内の動的な構成及びコンポーネントスイッチング及び接続の別の態様を示す図である。FIG. 6 illustrates another aspect of dynamic configuration and component switching and connection within an embodiment of the present invention. 本発明の計算環境が多数のキーボード及びマウスをいかに結合するか及び積層ビデオの多数の個別セットをいかに与えるかを含む本発明の実施形態の更に別の特徴を示す図である。FIG. 6 illustrates yet another feature of an embodiment of the present invention including how the computing environment of the present invention combines multiple keyboards and mice and provides multiple individual sets of stacked videos. 処理又は計算環境をプロセッサ入力及びプロセッサ出力から分離状態に維持する処理システム環境の実施形態を示す図である。FIG. 6 illustrates an embodiment of a processing system environment that maintains a processing or computing environment separate from processor inputs and processor outputs. 複数の仮想及び物理的処理又は計算環境を有するN次元仮想処理空間の実施形態を示す図である。FIG. 2 illustrates an embodiment of an N-dimensional virtual processing space having multiple virtual and physical processing or computing environments. 入力とプロセッサとの間の分離を維持するための方法の実施形態を示す図である。FIG. 4 illustrates an embodiment of a method for maintaining separation between an input and a processor. 1つのプロセッサしかもたない物理的又は仮想処理環境において複数のプロセスの時間的マルチプレクスを遂行するためのシステム、装置及びアーキテクチャーの特定の実施形態を示す図である。FIG. 2 illustrates a particular embodiment of a system, apparatus and architecture for performing temporal multiplexing of multiple processes in a physical or virtual processing environment with only one processor. コンピュータにおける複数の処理と処理との間に制御された分離の程度を維持するための別のシステムの実施形態を示す図である。FIG. 6 illustrates another system embodiment for maintaining a controlled degree of separation between processes in a computer.

Claims (30)

第2データの実行による第1データの汚染を防止する方法において、
ソースと処理ロジックとの間に第1分離装置(デバイス)を、そして処理ロジックと受信器との間に第2分離装置(デバイス)を介在させるステップであって、前記第1及び第2の分離装置の各々は、前記ソースから、前記受信器から、又は前記処理ロジックから前記分離装置へ入り込む命令を実行できないものであり、そして前記処理ロジックへのアクセス、及び前記処理ロジックによる前記ソース又は受信器側での命令の実行を防止するようなステップと、
前記ソースから前記第1分離装置を経て前記処理ロジックへ前記第2データを通信するステップと、
前記処理ロジックで前記第2データを処理して第1の結果を発生するステップと、
前記処理ロジックから前記第2分離装置を経て前記受信器へ前記第1結果を通信するステップと、を備えた方法。
In a method for preventing contamination of first data due to execution of second data,
Interposing a first separator (device) between the source and processing logic and a second separator (device) between the processing logic and the receiver, the first and second separations. Each of the devices is not capable of executing instructions to enter the separation device from the source, from the receiver, or from the processing logic, and to access the processing logic and to the source or receiver by the processing logic Steps that prevent execution of instructions on the side,
Communicating the second data from the source via the first separator to the processing logic;
Processing the second data with the processing logic to generate a first result;
Communicating the first result from the processing logic via the second separator to the receiver.
前記第1及び第2の分離装置は、2進ビット又は複数の2進ビットでコピー動作を行うことしかできないので、命令を実行することはできない、請求項1に記載の方法。   The method of claim 1, wherein the first and second separators cannot execute instructions because they can only perform a copy operation with a binary bit or a plurality of binary bits. 前記コピー動作は前記処理ロジックの外部で実行される、請求項1に記載の方法。   The method of claim 1, wherein the copy operation is performed outside of the processing logic. 前記第1及び第2の分離装置は同じ装置である、請求項2に記載の方法。   The method of claim 2, wherein the first and second separation devices are the same device. 前記第1及び第2の分離装置は異なる装置である、請求項2に記載の方法。   The method of claim 2, wherein the first and second separation devices are different devices. 第2データの実行による第1データの汚染を防止する方法において、
処理ロジック及び受信器からソースを分離するステップであって、分離されたソース及び分離された受信器は、前記受信器から又は前記処理ロジックから前記分離されたソースへ入り込む命令を実行できないものであり、そして前記処理ロジックへのアクセス、及び前記処理ロジックによる前記ソース又は受信器側での命令の実行を防止するようなステップと、
前記ソースから前記処理ロジックへ第2データを分離モードで通信するステップと、
前記処理ロジックで前記第2データを処理して第1の結果を発生するステップと、
前記処理ロジックから前記受信器へ分離モードで前記第1結果を通信するステップと、を備えた方法。
In a method for preventing contamination of first data due to execution of second data,
Separating a source from processing logic and a receiver, wherein the separated source and the separated receiver are not capable of executing instructions to enter the isolated source from or from the processing logic. And preventing access to the processing logic and execution of instructions on the source or receiver side by the processing logic;
Communicating second data from the source to the processing logic in a separate mode;
Processing the second data with the processing logic to generate a first result;
Communicating the first result in a separate mode from the processing logic to the receiver.
前記分離は論理的な分離である、請求項6に記載の方法。   The method of claim 6, wherein the separation is a logical separation. 前記分離は物理的分離である、請求項6に記載の方法。   The method of claim 6, wherein the separation is physical separation. 前記ソース及び受信器は記憶装置の位置であり、そして前記分離はアドレス制御手順を使用して達成される、請求項6に記載の方法。   The method of claim 6, wherein the source and receiver are storage locations, and the separation is achieved using an address control procedure. 前記アドレス制御手順は、コンピュータ内の制御レベルをオペレーティングシステムより低く抑制して、あるメモリ位置を隠すと共に、他のメモリ位置をプロセスに利用できるようにすることを含む、請求項9に記載の方法。   The method of claim 9, wherein the address control procedure includes suppressing a control level in a computer below an operating system to hide one memory location and make another memory location available to a process. . プログラム及びデータのための第1記憶装置と、プロセッサロジックとを有し、そしてユーザデータを含むタスクを遂行するためのコンピュータプログラム命令を実行する形式の情報機器において、個別の制御処理環境及びユーザ処理環境が生成され及び維持されて、(1)未知の又は信頼性のないコンテンツを有するユーザデータは、制御処理ロジック環境において、ユーザデータに埋め込まれたコンピュータプログラムコード命令を実行できるコンピュータプログラムコードに対して露出(expose)されず、そして(2)未知の又は信頼性のないコンテンツを有するユーザデータは、ユーザ処理ロジック環境において、第1記憶装置から分離されたときに、第1記憶装置とは異なる一時的記憶装置のみに露出されるようにしたことを特徴とする情報機器。   In an information device having a first storage device for program and data and processor logic and executing computer program instructions for performing a task including user data, an individual control processing environment and user processing When the environment is created and maintained, (1) user data with unknown or unreliable content can be executed against computer program code capable of executing computer program code instructions embedded in the user data in a control processing logic environment. And (2) user data with unknown or unreliable content is different from the first storage device when separated from the first storage device in the user processing logic environment. It is characterized by being exposed only to temporary storage devices. Information devices. 少なくとも1つの命令を実行するための少なくとも1つの処理ロジック装置と、
第1データ、及び前記少なくとも1つの命令を含むと共にユーザデータを含む第1プログラムコードを記憶するための第1記憶装置と、
第2データを記憶するための第2記憶装置と、
自動制御のもとで前記処理ロジック装置を前記第1記憶装置及び/又は前記第2記憶装置に選択可能に独立して結合及び分離するためのスイッチングシステムであって、前記処理ロジック装置から少なくとも1つの制御信号を受信して前記スイッチングシステムの状態を選択するためのスイッチングシステムと、を備え、
前記処理ロジック装置は、制御コンフィギュレーション及びユーザデータコンフィギュレーションにおいて、次の条件に基づいて動作し、即ち、
(i)前記処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が前記処理ロジックにロードされたときには、前記第1記憶装置と結合されてもよく、
(ii)前記処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記第1記憶装置と結合されないか、又は既知の情報を通信するように限定的に結合されるだけでよく、
(iii)前記処理ロジック装置は、信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記第2記憶装置と結合されてもよく、そして、
(iv)前記処理ロジック装置は、前記第1記憶装置から前記第2記憶装置へ又は前記第2記憶装置から前記第1記憶装置へデータアイテムをコピーすることしかできないプログラム命令が前記処理ロジックにロードされたときには、前記第1記憶装置及び前記第2記憶装置に結合されてもよい、というように動作する情報機器。
At least one processing logic device for executing at least one instruction;
A first storage device for storing first data and a first program code including user data and including at least one instruction;
A second storage device for storing second data;
A switching system for selectably and independently coupling and separating the processing logic device to the first storage device and / or the second storage device under automatic control, wherein the switching logic device is at least one from the processing logic device. A switching system for receiving one control signal and selecting a state of the switching system,
The processing logic device operates in the control configuration and the user data configuration based on the following conditions:
(I) when the processing logic device is loaded with program instructions that cannot execute data items that have unreliable content or that have not occurred in a known control environment, the first storage device May be combined with
(Ii) when the processing logic device is loaded with program instructions capable of executing data items that have unreliable content or did not occur in a known control environment, the first storage device Or only limited to communicate known information,
(Iii) when the processing logic device is loaded with program instructions capable of executing data items that have unreliable content or did not occur in a known control environment, the second storage device And may be combined with
(Iv) The processing logic device is loaded with program instructions that can only copy data items from the first storage device to the second storage device or from the second storage device to the first storage device. An information device that operates such that it may be coupled to the first storage device and the second storage device when done.
前記スイッチングシステムは、前記処理ロジック装置を前記第1記憶装置及び前記第2記憶装置に少なくとも次の仕方で、即ち(i)前記処理ロジック装置を前記第1記憶装置のみに結合し、(ii)前記処理ロジック装置を前記第2記憶装置のみに結合し、(iii)前記処理ロジック装置を前記第1及び第2記憶装置に同時に結合し、(iv)前記処理ロジック装置を前記第1記憶装置にも第2記憶装置にも結合しない、というように結合し又は分離することができる請求項12に記載の情報機器。   The switching system connects the processing logic device to the first storage device and the second storage device in at least the following manner: (i) coupling the processing logic device only to the first storage device; (ii) Coupling the processing logic device only to the second storage device; (iii) simultaneously coupling the processing logic device to the first and second storage devices; and (iv) coupling the processing logic device to the first storage device. 13. The information device according to claim 12, wherein the information device can be coupled or separated so as not to be coupled to the second storage device. 前記処理ロジック装置はマイクロプロセッサを含む、請求項12に記載の情報機器。   The information device according to claim 12, wherein the processing logic device includes a microprocessor. 前記処理ロジック装置は、マイクロプロセッサ、中央処理ユニット(CPU)、コントローラ、マイクロコントローラ、ASIC、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せより成る処理ロジック回路のセットから選択される、請求項12に記載の情報機器。   The processing logic device is selected from a set of processing logic circuits comprising a microprocessor, a central processing unit (CPU), a controller, a microcontroller, an ASIC, a logic circuit, a programmable logic circuit, and combinations thereof. 12. The information device according to 12. 前記情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、GPS受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御システム、電子計器、医療監視装置、セキュリティ装置、環境制御システム、電子装置、ネットワーク機器、及びそれらの組合せを含む情報機器のセットから選択される、請求項12に記載の情報機器。   The information equipment includes a computer, a notebook computer, a personal data assistant, a personal data organizer, a cellular phone, a mobile phone, a wireless receiver, a wireless transmitter, a GPS receiver, a satellite phone, an onboard computer, an onboard computer, and a navigation device. , Home appliances, printing devices, scanning devices, cameras, electronic cameras, television receivers, broadcast control systems, electronic instruments, medical monitoring devices, security devices, environmental control systems, electronic devices, network devices, and combinations thereof 13. Information device according to claim 12, selected from a set of information devices. 前記第1データ記憶装置及び第2データ記憶装置は、独立して選択可能であり、そして回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、CD、DVD、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュカードメモリ、RAMメモリ、ROMメモリ、及びそれらの組合せを含む記憶装置のセットから選択される、請求項12に記載の情報機器。   The first data storage device and the second data storage device can be selected independently, and a rotating magnetic hard disk drive, a rotating magnetic floppy disk drive, a CD, a DVD, a semiconductor memory, a solid state memory, a chemical memory, a magnetic memory 13. The information equipment of claim 12, selected from a set of storage devices including memory, molecular memory, microdrive, flash memory, compact flash card memory, RAM memory, ROM memory, and combinations thereof. 前記少なくとも1つの処理ロジック装置は、複数の処理ロジック装置を含む、請求項12に記載の情報機器。   The information device according to claim 12, wherein the at least one processing logic device includes a plurality of processing logic devices. 前記複数の処理ロジック装置の少なくとも1つは、少なくとも1つのマイクロプロセッサを含み、そして前記少なくとも1つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、マイクロプロセッサを前記第1及び第2の記憶装置に選択的に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るために前記マイクロプロセッサに結合可能である、請求項18に記載の情報機器。   At least one of the plurality of processing logic devices includes at least one microprocessor, and the at least one instruction includes a plurality of computer program code segments from an operating system and a plurality of computer program code segments from an application program. In addition, the switching system can be coupled to the microprocessor to receive a switch control command that changes a switch configuration to selectively couple and decouple the microprocessor to the first and second storage devices. The information device according to claim 18, wherein 前記複数の処理ロジック装置は、前記処理ロジック装置の1つを実行する自動制御システムにより、間欠的順次に分離されそして通信的に制約される、請求項19に記載の情報機器。   20. The information device of claim 19, wherein the plurality of processing logic devices are intermittently separated and communicated constrained by an automatic control system that executes one of the processing logic devices. 前記第2記憶装置は、それが前記処理ロジック装置に結合されたときには処理オペレーション中に一時的記憶装置として働き、そして各処理が行われた後に、処理がエラー状態で完了する場合又はエラー状態を伴わずに完了する場合で独立して自動的に消去されるように構成され、更に、エラー状態は、ウイルス又は他のマリシャスコード(malicious code)実行の検出を含む、請求項19に記載の情報機器。   The second storage device acts as a temporary storage device during processing operations when it is coupled to the processing logic device, and if each processing is performed, the processing is completed in an error state or an error state. 20. The information of claim 19, wherein the information is configured to be automatically cleared independently upon completion without further error, and wherein the error condition includes detection of a virus or other malicious code execution. machine. 前記複数の処理ロジック装置及び少なくとも前記第1及び第2の記憶装置は、決定された特性を有する計算環境を生成するように動的に構成可能である、請求項20に記載の情報機器。   21. The information equipment of claim 20, wherein the plurality of processing logic devices and at least the first and second storage devices are dynamically configurable to generate a computing environment having determined characteristics. 前記第1記憶装置は、オペレーティングシステム及びアプリケーションプログラム要素と、ユーザデータの保護されたコピーとを有するマスターテンプレートファイルを記憶する、請求項11に記載の情報機器。   The information device of claim 11, wherein the first storage device stores a master template file having an operating system and application program elements and a protected copy of user data. 少なくとも1つの命令を実行するための少なくとも1つの処理ロジック装置と、第1データ、及び前記少なくとも1つの命令を含むと共にユーザデータを含む第1プログラムコードを記憶するための第1記憶装置と、第2データを記憶するための第2記憶装置とを有する形式の情報機器を操作する方法において、
スイッチングシステムの条件を選択するために前記処理ロジック装置から少なくとも1つの制御信号を受信した際に、前記処理ロジック装置を自動制御のもとで前記第1記憶装置及び/又は前記第2記憶装置と結合し及び分離するように選択的に及び独立してスイッチングするステップと、
次の条件に基づいて制御コンフィギュレーション及びユーザデータコンフィギュレーションで前記処理ロジック装置を操作するステップであって、
(i)信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できないプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第1記憶装置との結合を許し、
(ii)信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第1記憶装置との結合を許さないか又は前記処理ロジック装置と前記第1記憶装置との結合を限定的に許して既知の情報を通信するのみとし、
(iii)信頼性のないコンテンツを有するか又は既知の制御環境内に発生しなかったデータアイテムを実行できるプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第2記憶装置との結合を許し、そして、
(iv)前記第1記憶装置から前記第2記憶装置へ又は前記第2記憶装置から前記第1記憶装置へデータアイテムをコピーすることしかできないプログラム命令が前記処理ロジックにロードされたときには、前記処理ロジック装置と前記第1記憶装置及び第2記憶装置との結合を許す、
というように操作するステップと、を備えた方法。
At least one processing logic device for executing at least one instruction; first data; and a first storage device for storing a first program code including at least one instruction and including user data; A method of operating an information device of a type having a second storage device for storing two data;
When the processing logic device receives at least one control signal from the processing logic device to select a switching system condition, the processing logic device is automatically controlled with the first storage device and / or the second storage device. Selectively and independently switching to combine and separate;
Operating the processing logic device in a control configuration and a user data configuration based on the following conditions:
(I) when a program instruction is loaded into the processing logic that has unreliable content or cannot execute a data item that has not occurred in a known control environment, the processing logic device and the first storage device; Allow the combination of
(Ii) when a program instruction capable of executing a data item having unreliable content or not occurring in a known control environment is loaded into the processing logic, the processing logic device and the first storage device; Or only communicating known information with limited permission to combine the processing logic device and the first storage device,
(Iii) when a program instruction capable of executing a data item having unreliable content or not occurring in a known control environment is loaded into the processing logic, the processing logic device and the second storage device; Allowed to combine, and
(Iv) when a program instruction that can only copy a data item from the first storage device to the second storage device or from the second storage device to the first storage device is loaded into the processing logic, the processing Allowing coupling of a logic device with the first storage device and the second storage device;
And a step of operating as described above.
前記処理ロジック装置が前記第2記憶装置を使用してユーザデータを処理した後に前記第2記憶装置を消去するステップを更に備えた、請求項24に記載の情報機器を操作する方法。   25. The method of operating an information appliance according to claim 24, further comprising the step of erasing the second storage device after the processing logic device has processed user data using the second storage device. 前記情報機器は、コンピュータ、ノートブックコンピュータ、パーソナルデータアシスタント、パーソナルデータオーガナイザー、セルラー電話、移動電話、無線受信器、無線送信器、GPS受信器、衛星電話、自動車搭載コンピュータ、航空機搭載コンピュータ、ナビゲーション装置、家庭用機器、印刷装置、走査装置、カメラ、電子カメラ、テレビ受像機、放送制御システム、電子計器、医療監視装置、セキュリティ装置、環境制御システム、電子装置、ネットワーク機器、及びそれらの組合せを含む情報機器のセットから選択される、請求項24に記載の情報機器を操作する方法。   The information equipment includes a computer, a notebook computer, a personal data assistant, a personal data organizer, a cellular phone, a mobile phone, a wireless receiver, a wireless transmitter, a GPS receiver, a satellite phone, an onboard computer, an onboard computer, and a navigation device. , Home appliances, printing devices, scanning devices, cameras, electronic cameras, television receivers, broadcast control systems, electronic instruments, medical monitoring devices, security devices, environmental control systems, electronic devices, network devices, and combinations thereof 25. A method of operating an information device according to claim 24, selected from a set of information devices. 前記少なくとも1つの処理ロジック装置は、複数の処理ロジック装置を含む、請求項24に記載の情報機器を操作する方法。   25. A method of operating an information appliance according to claim 24, wherein the at least one processing logic device comprises a plurality of processing logic devices. 前記複数の処理ロジック装置の少なくとも1つは、少なくとも1つのマイクロプロセッサを含み、そして前記少なくとも1つの命令は、オペレーティングシステムからの複数のコンピュータプログラムコードセグメント及びアプリケーションプログラムからの複数のコンピュータプログラムコードセグメントを含み、更に、前記スイッチングシステムは、前記マイクロプロセッサを前記第1及び第2の記憶装置に選択可能に結合及び分離するようにスイッチコンフィギュレーションを変更するスイッチ制御コマンドを受け取るために前記マイクロプロセッサに結合可能である、請求項27に記載の情報機器を操作する方法。   At least one of the plurality of processing logic devices includes at least one microprocessor, and the at least one instruction includes a plurality of computer program code segments from an operating system and a plurality of computer program code segments from an application program. And wherein the switching system is coupled to the microprocessor for receiving a switch control command to change a switch configuration to selectively couple and disconnect the microprocessor from the first and second storage devices. 28. A method of operating an information device according to claim 27, wherein the method is possible. あるフォームファクタのコンピュータPCカード及び複数のPCCardBusインターフェイス接続を有するハウジングと;
前記ハウジング内に配置された複数のプロセッサと;
前記ハウジング内に配置されるか又はそれに結合された複数のデータ記憶装置と;
少なくともユーザデータを記憶するために前記複数のデータ記憶装置から選択された保護データ記憶装置部分と;
前記複数のデータ記憶装置に結合されたデータ記憶装置スイッチシステムであって、前記ハウジング内に配置された1つ以上のデータ記憶装置との通信を構成するためにデータ記憶装置スイッチコンフィギュレーションで結合されたスイッチシステムと;
少なくとも1つの周辺機器に結合されたI/Oスイッチシステムであって、前記ハウジング内に配置された前記周辺機器との通信を構成するために複数の特色を含むI/Oシステムコンフィギュレーションで結合されたI/Oシステムと;
複数の計算環境であって、その各々の計算環境は、少なくとも1つのプロセッサを備えそして前記複数の特色から選択された少なくとも1つの特色で識別され、更に、
前記データ記憶装置スイッチに結合されたデータ記憶装置スイッチ通信経路であって、少なくとも1つのデータ記憶装置を、前記データ記憶装置スイッチコンフィギュレーションに基づいて前記計算環境に結合するようなデータ記憶装置スイッチ通信経路、及び、
前記I/Oスイッチシステムに結合されたI/Oスイッチ計算経路であって、前記周辺機器を、前記I/Oスイッチシステムコンフィギュレーションに基づいて前記計算環境に結合するためのI/Oスイッチ通信経路、を含み、
更に、前記計算環境は、前記I/Oスイッチシステムから入力を受信しそして前記I/Oスイッチシステムへ出力を送信することを含む処理アクティビティを実行することができ、前記処理アクティビティは、別の計算環境の前記処理アクティビティとは独立して実行されるような計算環境と;
前記データ記憶装置スイッチコンフィギュレーションを構成し、前記I/Oスイッチシステムコンフィギュレーションを構成するために前記複数の計算環境から選択された制御計算環境であって、前記データ記憶装置スイッチコンフィギュレーションがこの制御計算環境と前記保護データ記憶装置との間の通信をサポートするような制御計算環境と;
前記複数の計算環境から選択された少なくとも1つのユーザ分離計算環境と;を備え、 前記I/Oスイッチシステムコンフィギュレーションは、受信した入力を前記計算環境の少なくとも1つへ向けるように構成され、更に、前記I/Oスイッチシステムコンフィギュレーションは、前記複数の計算環境の1つ以上により発生された出力を前記周辺機器へ向けるように構成された情報処理装置。
A housing having a form factor computer PC card and a plurality of PCCardBus interface connections;
A plurality of processors disposed within the housing;
A plurality of data storage devices disposed within or coupled to the housing;
A protected data storage portion selected from the plurality of data storage devices for storing at least user data;
A data storage device switch system coupled to the plurality of data storage devices and coupled in a data storage device switch configuration to configure communication with one or more data storage devices disposed within the housing. Switch system;
An I / O switch system coupled to at least one peripheral device, wherein the I / O switch system is coupled in an I / O system configuration including a plurality of features to configure communication with the peripheral device disposed within the housing. I / O system;
A plurality of computing environments, each computing environment comprising at least one processor and identified with at least one feature selected from the plurality of features;
A data storage device switch communication path coupled to the data storage device switch, wherein the data storage device switch communication couples at least one data storage device to the computing environment based on the data storage device switch configuration. Route and
An I / O switch calculation path coupled to the I / O switch system, the I / O switch communication path for coupling the peripheral device to the computing environment based on the I / O switch system configuration Including,
In addition, the computing environment can perform processing activities that include receiving input from the I / O switch system and sending output to the I / O switch system, wherein the processing activity is a separate computation. A computing environment that is executed independently of the processing activity of the environment;
A control computing environment configured from the plurality of computing environments to configure the data storage device switch configuration and configure the I / O switch system configuration, wherein the data storage device switch configuration controls the control A control computing environment that supports communication between the computing environment and the protected data storage device;
At least one user-separated computing environment selected from the plurality of computing environments, wherein the I / O switch system configuration is configured to direct received input to at least one of the computing environments; The I / O switch system configuration is an information processing apparatus configured to direct an output generated by one or more of the plurality of computing environments to the peripheral device.
前記複数のプロセッサは、マイクロプロセッサ、中央処理ユニット(CPU)、コントローラ、マイクロコントローラ、ASIC、ロジック回路、プログラム可能なロジック回路、及びそれらの組合せより成る処理ロジック回路のセットから独立して選択され、そして、
前記複数のデータ記憶装置は、独立して選択可能であって、回転磁気ハードディスクドライブ、回転磁気フロッピーディスクドライブ、CD、DVD、半導体メモリ、ソリッドステートメモリ、化学的メモリ、磁気メモリ、分子メモリ、マイクロドライブ、フラッシュメモリ、コンパクトフラッシュカードメモリ、RAMメモリ、ROMメモリ、及びそれらの組合せを含む記憶装置のセットから選択される請求項29に記載の情報処理装置。
The plurality of processors are independently selected from a set of processing logic circuits comprising a microprocessor, a central processing unit (CPU), a controller, a microcontroller, an ASIC, a logic circuit, a programmable logic circuit, and combinations thereof; And
The plurality of data storage devices can be independently selected, and include a rotating magnetic hard disk drive, a rotating magnetic floppy disk drive, a CD, a DVD, a semiconductor memory, a solid state memory, a chemical memory, a magnetic memory, a molecular memory, a micro memory 30. The information processing apparatus of claim 29, selected from a set of storage devices including a drive, flash memory, compact flash card memory, RAM memory, ROM memory, and combinations thereof.
JP2006549677A 2004-01-15 2005-01-14 Separation multiplexed multidimensional processing in virtual processing space with virus, spyware and hacker protection features Pending JP2007524161A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/760,131 US7392541B2 (en) 2001-05-17 2004-01-15 Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
PCT/US2004/033955 WO2005074434A2 (en) 2004-01-15 2004-10-13 Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
US11/022,290 US20100005531A1 (en) 2004-12-23 2004-12-23 Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
PCT/US2005/001484 WO2005116804A2 (en) 2004-01-15 2005-01-14 Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features

Publications (1)

Publication Number Publication Date
JP2007524161A true JP2007524161A (en) 2007-08-23

Family

ID=35451524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006549677A Pending JP2007524161A (en) 2004-01-15 2005-01-14 Separation multiplexed multidimensional processing in virtual processing space with virus, spyware and hacker protection features

Country Status (5)

Country Link
EP (1) EP1709536A2 (en)
JP (1) JP2007524161A (en)
AU (1) AU2005248713A1 (en)
CA (1) CA2553780A1 (en)
WO (1) WO2005116804A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013537347A (en) * 2010-09-24 2013-09-30 インテル・コーポレーション Method for performing resource access control in a computer system

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343624B1 (en) 2004-07-13 2008-03-11 Sonicwall, Inc. Managing infectious messages as identified by an attachment
US9154511B1 (en) 2004-07-13 2015-10-06 Dell Software Inc. Time zero detection of infectious messages
US8024815B2 (en) 2006-09-15 2011-09-20 Microsoft Corporation Isolation environment-based information access
US8856782B2 (en) 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
US9098698B2 (en) 2008-09-12 2015-08-04 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US9594900B2 (en) 2008-12-09 2017-03-14 Microsoft Technology Licensing, Llc Isolating applications hosted by plug-in code
US8839422B2 (en) 2009-06-30 2014-09-16 George Mason Research Foundation, Inc. Virtual browsing environment
WO2013082437A1 (en) 2011-12-02 2013-06-06 Invincia, Inc. Methods and apparatus for control and detection of malicious content using a sandbox environment
CN111327593B (en) * 2020-01-20 2022-05-10 耀灵人工智能(浙江)有限公司 Method for realizing cross-network cooperation between physically isolated internal networks and cross-network cooperation system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194938A (en) * 1997-11-13 1999-07-21 Yuitoku Go Memory managing method for computer having hard disk drive
JP2002268828A (en) * 2001-03-05 2002-09-20 Zuimin Ryo Device for protecting and restoring hard disk data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US20030105973A1 (en) * 2001-12-04 2003-06-05 Trend Micro Incorporated Virus epidemic outbreak command system and method using early warning monitors in a network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194938A (en) * 1997-11-13 1999-07-21 Yuitoku Go Memory managing method for computer having hard disk drive
JP2002268828A (en) * 2001-03-05 2002-09-20 Zuimin Ryo Device for protecting and restoring hard disk data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013537347A (en) * 2010-09-24 2013-09-30 インテル・コーポレーション Method for performing resource access control in a computer system
US8789170B2 (en) 2010-09-24 2014-07-22 Intel Corporation Method for enforcing resource access control in computer systems
US9112867B2 (en) 2010-09-24 2015-08-18 Intel Corporation Method for enforcing resource access control in computer systems

Also Published As

Publication number Publication date
EP1709536A2 (en) 2006-10-11
AU2005248713A1 (en) 2005-12-08
AU2005248713A2 (en) 2005-12-08
WO2005116804A3 (en) 2006-04-20
WO2005116804A2 (en) 2005-12-08
CA2553780A1 (en) 2005-12-08

Similar Documents

Publication Publication Date Title
US20100005531A1 (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
US7392541B2 (en) Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
US11244047B2 (en) Intelligent backup and versioning
US20200301764A1 (en) Operating system on a computing system
JP2007524161A (en) Separation multiplexed multidimensional processing in virtual processing space with virus, spyware and hacker protection features
US7506170B2 (en) Method for secure access to multiple secure networks
JP4627547B2 (en) Secure storage tracking for antivirus acceleration
EP2909783B1 (en) Secure disk access control
KR101487865B1 (en) Computer storage device having separate read-only space and read-write space, removable media component, system management interface, and network interface
EP2316092B1 (en) Systems and methods for controlling access to data through application virtualization layers
US8166314B1 (en) Selective I/O to logical unit when encrypted, but key is not available or when encryption status is unknown
US7519809B2 (en) Operating system-wide sandboxing via switchable user skins
US20060230454A1 (en) Fast protection of a computer's base system from malicious software using system-wide skins with OS-level sandboxing
US20070174681A1 (en) Stored memory recovery system
US8495750B2 (en) Filesystem management and security system
US20160350530A1 (en) Data blackhole processing method based on mobile storage device, and mobile storage device
KR101516093B1 (en) Out-of-band access to storage devices through port-sharing hardware
US9182982B1 (en) Techniques for creating an encrypted virtual hard disk
JP3630087B2 (en) Automatic data processor
KR20060135757A (en) Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features
WO2019209893A1 (en) Operating system on a computing system
JP2005535003A (en) A computer system capable of supporting multiple independent computing environments
Kim et al. A study on intrusion protection techniques against Linux kernel backdoor
Kuo et al. SUSE LINUX Enterprise Server 9 Administrator's Handbook
JP2006251989A (en) Data protection device compatible with network by operation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101115

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110215

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110627