(57)【特許請求の範囲】
【請求項１】
各ストリームが固有の独立したドメインのためのグラフィックユーザインターフェイスに対応する、デジタルデータディスプレイ上の異なるクラスのディスプレイデータのストリームを同時表示するためのセキュアデジタルディスプレイデータ合成装置であって、
それぞれのインターフェイスが、単一の異なる独立したコンピューティングドメインに結合されている、デジタルディスプレイデータを受信するための、複数のデジタルディスプレイデータ入力インターフェイスと、
デジタルディスプレイデータ合成器であって、
それぞれの独立したコンピューティングドメインから受信したデジタルディスプレイデータのピクセル値内のインバンド信号を識別することによって、それぞれのドメイングラフィックユーザインターフェイスのグラフィック要素に対応するそれぞれの独立したコンピューティングドメインに対するデジタルディスプレイデータの所定の更新可能な領域を連続的に識別し、それぞれの所定の更新可能な領域はウィンドウを含み、ウィンドウはユーザ変更可能な階層化の順序を有し、それぞれのウィンドウはユーザ変更可能なサイズおよび場所を有し、この場合に、それぞれのインバンド信号は、それぞれの独立したコンピューティングドメインからのグラフィックユーザインターフェイスのグラフィック要素に対応するデジタルディスプレイデータの領域を定義し、それぞれのインバンド信号は、それぞれの独立したコンピューティングドメインのそれぞれのためのグラフィックユーザインターフェイスのグラフィック要素の階層化の順序を識別する、
すべての独立したコンピューティングドメインからの識別された領域および関連するグラフィック要素および表示特性上の全体的なユーザ変更可能な階層化の順序を定義し、全体的なユーザ変更可能な階層化の順序はアクティブウィンドウを特定し、
所定の表示特性をそれぞれの識別された領域と関連づけ、および
前記定義された階層化の順序付けに従って、前記識別された領域と、独立したコンピューティングドメインのそれぞれからの関連付けられたグラフィック要素および表示特性とを、単一のデジタルディスプレイデータストリームに合成し、それぞれの独立したコンピューティングドメインからの識別された領域および関連するグラフィック要素および表示特性は、重複する方法で視覚的に組み合わされ、すべての独立したコンピューティングドメインにわたる単一の統一されたグラフィックユーザインターフェイスを表し、アクティブウィンドウに対応する所定の表示特性は、単一の統一されたグラフィックユーザインターフェイスの所定の領域に表示される
ように構成された、デジタルディスプレイデータ合成器と、
デジタルデータディスプレイ上に前記合成されたデジタルディスプレイデータストリームを出力するための、デジタルディスプレイデータ出力インターフェイスと
を含む、セキュアデジタルディスプレイデータ合成装置。
【請求項２】
出力表示特性を、合成されたデジタルディスプレイデータストリームと関連づける、ビデオ処理機能をさらに含む、請求項１に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項３】
ユーザによる周辺デバイスの使用を指示する、周辺デバイスデータ入力を受信するための、少なくとも１つの周辺インターフェイスと、
周辺デバイス入力データを、それぞれが、多くても１つの固有の独立したコンピューティングドメインに接続するように構成された、独立したコンピューティングドメインへ送信するための、複数の周辺インターフェイスと、
周辺デバイスデータを受信する前記少なくとも１つの周辺インターフェイスによって受信される周辺入力を、所定のセキュリティポリシーに従って、周辺デバイス入力データを送信するための周辺インターフェイスへと導くための切替え構成要素と
をさらに含む、請求項２に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項４】
任意の時点において、少なくとも１つの周辺インターフェイスのそれぞれが、アクティブドメインとして指定された、独立したコンピューティングドメインの１つと関連付けられている、請求項３に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項５】
ビデオ処理機能の出力ディスプレイ特性が、前記独立したコンピューティングドメインのいずれによっても修正され得ないドメインバナーであって、前記独立したコンピューティングドメインのどれがアクティブドメインであるかを少なくとも指示する、ドメインバナーを生成するようにさらに構成されている、請求項２に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項６】
ビデオ処理機能の出力ディスプレイ特性が、合成物の上に位置決めするための、デスクトップアイコン、ドロップダウンリスト、ボタン、バナー、色またはパターンの領域、線、形状、カーソル、表示の領域の背景色またはパターンの群の１種以上である、仮想視覚要素を生成するようにさらに構成されている、請求項２に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項７】
任意の時点において、少なくとも１つの周辺インターフェイスのそれぞれが、アクティブドメインとして指定された、独立したコンピューティングドメインの１つと関連付けられており、アクティブドメインは、他の独立したコンピューティングドメインの１つと関連付けられた閲覧可能領域上をクリックすることによって、合成されたデスクトップ環境出力における別のものから、変えることができる、請求項３に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項８】
少なくとも１つの周辺インターフェイスが、ＵＳＢインターフェイスを含む、請求項３に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項９】
それぞれの独立したコンピューティングドメインと関連付けられたすべての領域が、同じ所定の表示特性を共有する、請求項１〜５のいずれか一項に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１０】
所定の表示特性が、領域のまわりの着色枠縁を含む、請求項９に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１１】
デジタルディスプレイデータ合成器が、インバンド信号を、観察不能な形態で表示するように符号化するように構成されている、請求項１に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１２】
それぞれの独立したコンピューティングドメインからのそれぞれのデジタルデータストリームは、インバンド信号を含む予約部分であって、すべての所定の領域が除外されている予約部分を含み、それぞれの独立したコンピューティングドメインのための前記予約部分は、合成されたデジタルディスプレイデータにおいて同一の領域を占有する、請求項１に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１３】
デジタルディスプレイデータ合成器が、独立したコンピューティングドメインのいずれによっても修正され得ないドメインバナーであって、前記独立したコンピューティングドメインのどれが現在アクティブはドメインであるかを、少なくとも指示する、ドメインバナーを表示するのに、合成されたデジタルディスプレイデータ内の識別された領域を使用するように構成されている、請求項１０に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１４】
インバンド部分が、それぞれの独立したコンピューティングドメインに対する、少なくとも形状を含むカーソル情報をさらに含み、それぞれのドメインと関連付けられた領域と対話するときに、セキュアデジタルディスプレイデータ合成器は、前記それぞれのドメインに対するカーソル情報に基づいて、オンスクリーン表示カーソルを描画するように構成されている、請求項１０または１１に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１５】
同じ独立したコンピューティングドメインと関連付けられた、すべての領域が、同じ順序を共有する、請求項１〜１２のいずれか一項に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１６】
デジタルディスプレイデータ合成器は、プログラミング後に変更不能である、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）である、請求項１〜１３のいずれか一項に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１７】
ＦＰＧＡと通信する、ランダムアクセスメモリをさらに含む、請求項１４に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１８】
記号の形態で、その出力が、合成されたデジタルディスプレイデータの上に描画されて位置しているとともに、それぞれの独立したコンピューティングドメインのからのデジタルデータにおけるそれぞれのインバンド信号を識別することによって、独立したコンピューティングドメインの１つの合成されたデジタルディスプレイデータの識別された領域と関連付けられた、ポインティングデバイスをさらに含む、請求項１に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項１９】
デジタルディスプレイデータ合成器が、所定の幾何学的ポリシーに従って、複数のドメインからの複数の合成物を統合する、請求項１に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項２０】
周辺デバイスデータを受信する、少なくとも１つの周辺インターフェイスによって受信される、周辺入力を導くための切替え構成要素が、２つ以上の独立したコンピューティングドメインに、選択された、受信された所定の行為の周辺入力を同時通報する、請求項３に記載のセキュアデジタルディスプレイデータ合成装置。
【請求項２１】
各ストリームが固有の独立したコンピューティングドメインのためのグラフィックユーザインターフェイスに対応する、デジタルデータディスプレイ上の異なるクラスのディスプレイデータのストリームの同時表示を可能にする、デジタルディスプレイデータ合成器による、セキュアデジタルディスプレイデータ合成の方法であって、
デジタルディスプレイデータ合成器により、複数のデジタルデータ入力インターフェイスを介して複数のデジタルディスプレイデータを受信すること、この場合に、それぞれのインターフェイスは単一の独立したコンピューティングドメインに結合されている；
それぞれの独立したコンピューティングドメインから受信したデジタルデータのピクセル値内のインバンド信号を識別することによって、それぞれのドメイングラフィックユーザインターフェイスのグラフィック要素に対応するそれぞれの独立したコンピューティングドメインに対するデジタルディスプレイデータの所定の更新可能な領域を連続的に識別すること、ここで、それぞれの所定の更新可能な領域はウィンドウを含み、ウィンドウはユーザ変更可能な階層化の順序を有し、それぞれのウィンドウはユーザ変更可能なサイズおよび場所を有し、この場合に、それぞれのインバンド信号が、それぞれの独立したコンピューティングドメインからのグラフィックユーザインターフェイスのグラフィック要素に対応するデジタルディスプレイデータの領域を定義する；
すべての独立したコンピューティングドメインからの識別された領域および関連するグラフィック要素および表示特性上の全体的なユーザ変更可能な階層化の順序を定義し、全体的なユーザ変更可能な階層化の順序はアクティブウィンドウを特定すること；
所定の表示特性を、それぞれの識別された領域と関連づけること；
前記定義された全体的なユーザ変更可能な階層化の順序付けに従って、前記識別された領域と、独立したコンピューティングドメインのそれぞれからの関連付けられたグラフィック要素および表示特性とを、単一のデジタルディスプレイデータストリームに合成すること、ここで、それぞれの独立したコンピューティングドメインからの識別された領域および関連するグラフィック要素および表示特性は、重複する方法で視覚的に組み合わされ、すべての独立したコンピューティングドメインにわたる単一の統一されたグラフィックユーザインターフェイスを表す；
単一の統一されたグラフィックユーザインターフェイスの所定の領域に、アクティブウィンドウに対応する所定の表示特性を表示すること；および
デジタルディスプレイ出力インターフェイスによって、前記合成されたデジタルディスプレイデータストリームをデジタルディスプレイ上に出力すること
を含む、方法。
【請求項２２】
出力表示特性を、合成されたデジタルディスプレイデータストリームと関連づけることをさらに含む、請求項２１に記載の方法。
【請求項２３】
周辺インターフェイスを介して、ユーザによる周辺デバイスの使用を指示する、周辺デバイスデータ入力を受信すること；および
所定のセキュリティポリシーに従って、周辺入力を、複数のドメイン周辺インターフェイスの１つに切り替えることをさらに含み、前記複数のドメイン周辺インターフェイスのそれぞれは、周辺デバイス入力データを独立したコンピューティングドメインへ送信するためであり、前記複数のドメイン周辺インターフェイスのそれぞれは、多くても１つの固有の独立したコンピューティングドメインに接続するように構成されている、請求項２２に記載の方法。
【請求項２４】
少なくとも１つの周辺インターフェイスのいずれが、独立したコンピューティングドメインの１つと関連付けられているかを識別し、このドメインをアクティブドメインとして指定すること；および
前記独立したコンピューティングドメインのいずれによっても修正され得ないドメインバナーであって、前記独立したコンピューティングドメインのどれがアクティブドメインであるかを少なくとも指示する、ドメインバナーを生成すること
をさらに含む、請求項２３に記載の方法。
【請求項２５】
それぞれが独立したコンピューティングドメインの１つと関連付けられた、複数の閲覧可能ユーザ入力領域を設けること；および
それぞれのユーザ入力領域の作動に応答して、アクティンドメインを、作動されたユーザ入力領域に関連付けられたドメインに切り替えること
を含む、請求項２１に記載の方法。
【請求項２６】
それぞれの独立したコンピューティングドメインと関連付けられたすべての領域が、同じ所定の表示特性を共有する、請求項２１〜２５のいずれか一項に記載の方法。
【請求項２７】
所定の表示特性が、領域のまわりの着色枠縁を含む、請求項２６に記載の方法。
【請求項２８】
それぞれの独立したコンピューティングドメインに対する、デジタルディスプレイデータの所定の領域を識別することが、
それぞれの独立したコンピューティングドメインからのデジタルデータストリーム内のインバンド信号を識別することをさらに含み、それぞれのインバンド信号が、それぞれの独立したコンピューティングドメインのそれぞれの領域を定義する、請求項２１〜２７のいずれか一項に記載の方法。
【請求項２９】
それぞれの独立したコンピューティングドメインからのそれぞれのデジタルデータストリームは、インバンド信号を含む予約部分であって、すべての所定の領域が除外されている予約部分を含み、それぞれの独立したコンピューティングドメインのための前記予約部分は、合成されたデジタルディスプレイデータにおいて同一の領域を占有する、請求項２８に記載の方法。
【請求項３０】
ドメインバナー内に、独立したコンピューティングドメインのどれが、現在アクティブであるドメインであるか、を指示することをさらに含み、この場合に、ドメインバナーは前記独立したコンピューティングドメインのいずれによっても修正され得ない領域である、請求項２９に記載の方法。
【請求項３１】
それぞれの独立したコンピューティングドメインに対する、少なくとも形状を含むカーソル情報を特定するために、インバンド部分を処理すること、および
それぞれのドメインに対する前記カーソル情報に基づいて、オンスクリーン表示カーソルを描画すること
をさらに含む、請求項２９または３０に記載の方法。
【請求項３２】
同じ独立したコンピューティングドメインに関連付けられた、すべての領域が、同じ順序を共有する、請求項２１〜３１のいずれか一項に記載の方法。
【請求項３３】
第１のドメインからの情報をカットまたはコピーするというユーザの要求を表わす情報を、前記第１のドメインにおいて取り込むステップ；
前記取り込まれた情報を、前記第１のドメインからのディスプレイデータのストリーム内をインバンド方式で送るステップ；
前記取り込まれた情報を特定するために、デジタルディスプレイデータ合成器によってインバンド部分を処理し、前記取り込まれた情報を記憶し、前記取り込まれた情報にセキュリティポリシーを適用するステップ；
第２のドメイン中に情報をペーストするというユーザの要求を取り込むステップ；
前記取り込まれた情報を、前記第２のドメインからのディスプレイデータのストリーム内をインバンド方式で送るステップ；
前記取り込まれた情報を特定するためにデジタルディスプレイデータ合成器によってインバンド部分を処理するステップ；
前記第２のドメインから情報を認識するステップ；
前記第１のドメインから受信された、記憶され処理された情報を、前記第２のドメインへの周辺デバイスデータ入力を使用して前記第２のドメインに転送するステップ；および
前記第１のドメインから受信された、記憶され処理された情報を、表示のために、前記第２のドメイン、および前記第２のドメインからのディスプレイデータのストリームへ転送するステップ
をさらに含む、請求項２１に記載の方法。
【請求項３４】
各ストリームが固有の独立したドメインのためのグラフィックユーザインターフェイスに対応する、デジタルデータディスプレイ上の異なるクラスのディスプレイデータのストリームを同時表示するためのセキュアデジタルディスプレイデータ合成装置であって、
それぞれのインターフェイスが、単一の異なる独立したコンピューティングドメインからのデジタルディスプレイデータ出力インターフェイスに結合されている、デジタルディスプレイデータを受信するための、複数のデジタルディスプレイデータ入力インターフェイスと、
デジタルディスプレイデータ合成器であって、
それぞれの独立したコンピューティングドメインから受信したデジタルディスプレイデータのピクセル値内のインバンド信号を識別することによって、それぞれのドメイングラフィックユーザインターフェイスのグラフィック要素に対応するそれぞれの独立したコンピューティングドメインに対するデジタルディスプレイデータの所定の更新可能な領域を連続的に識別し、それぞれの所定の更新可能な領域はウィンドウを含み、ウィンドウは階層化の順序を有し、それぞれのウィンドウはユーザ変更可能なサイズおよび場所を有し、この場合に、それぞれのインバンド信号は、それぞれの独立したコンピューティングドメインからのグラフィックユーザインターフェイスのグラフィック要素に対応するデジタルディスプレイデータの領域を定義し、それぞれのインバンド信号は、それぞれの独立したコンピューティングドメインのそれぞれのためのグラフィックユーザインターフェイスのグラフィック要素の階層化の順序を識別する、
所定の表示特性をそれぞれの識別された領域と関連づけ、
すべての独立したコンピューティングドメインからの識別された領域および関連するグラフィック要素および表示特性上の全体的なユーザ変更可能な階層化の順序を定義し、全体的なユーザ変更可能な階層化の順序はアクティブウィンドウを特定し、
全体的なユーザ変更可能な階層化の順序付けに従って、前記識別された領域と、独立したドメインのそれぞれからの関連付けられたグラフィック要素および表示特性とを、単一のデジタルディスプレイデータストリームに合成し、それぞれの独立したコンピューティングドメインからの識別された領域および関連するグラフィック要素および表示特性は、重複する方法で視覚的に組み合わされ、すべての独立したコンピューティングドメインにわたる単一の統一されたグラフィックユーザインターフェイスを表し、アクティブウィンドウに対応する所定の特性は、単一の統一されたグラフィックインターフェイスの所定の領域に表示される
ように構成された、デジタルディスプレイデータ合成器と、
デジタルデータディスプレイ上に前記合成されたデジタルディスプレイデータストリームを出力するための、デジタルディスプレイ出力インターフェイスと
ユーザによる周辺デバイスの使用を指示する、周辺デバイスデータ入力を受信するための、少なくとも１つの周辺入力インターフェイスと、
受信した周辺デバイス入力データを、それぞれが、多くても１つの固有の独立したコンピューティングドメインに接続するように構成された、独立したコンピューティングドメインへ送信するための、複数の周辺出力インターフェイスと、および
周辺デバイスデータを受信する少なくとも１つの周辺入力インターフェイスによって受信される周辺入力データを、それぞれの独立したコンピューティングドメインからのそれぞれの合成された領域および関連するグラフィック要素とのユーザ対話を統一されたグラフィックユーザインターフェイスの一部として可能にする所定のセキュリティポリシーに従って、周辺デバイス入力データを送信するための周辺出力インターフェイスへと導くための切替え構成要素と
を含む、セキュアデジタルディスプレイデータ合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１５年５月１１日付け出願の、「ＣＲＯＳＳ  ＤＯＭＡＩＮ  ＤＥＳＫＴＯＰ  ＣＯＭＰＯＳＩＴＯＲ」という名称のオーストラリア仮特許出願第２０１５９０１７０８号の優先権を主張するものであり、その内容が、その全文の参照により本明細書に組み入れられている。
【０００２】
本開示の分野は、基礎をなすドメインの隔離性を保ちながら、統合的に、複数のコンピューティングドメインを閲覧し、それと対話するために、１つの画面、キーボードおよびポインティングデバイスが使用されるときの、マルチレベルセキュア（ＭＬＳ：multi-level secure）コンピューティング環境、特に、環境内のユーザインターフェイスのセキュリティである。
【背景技術】
【０００３】
独立したドメインの一部である２つのコンピュータを使用することを所望するユーザは、過去においては、ほとんどの場合に、それぞれのコンピュータ２用に１組のモニタ４、キーボード６、およびポインティングデバイス５（マウスなど）を用いて、それらを別々に使用していた（図１および２、ならびに本明細書において後述されるそれぞれの考察を参照）。
【０００４】
マルチレベルセキュアユーザインターフェイスは、単一のユーザインターフェイスから複数の独立したコンピュータドメイン（例えば、独立した物理的コンピュータ、または独立したコンピュータネットワーク）へのアクセスを容易にするシステム、方法、またはデバイスである。
【０００５】
マルチレベルセキュアユーザインターフェイスのセキュリティは、ユーザが同時にすべてのドメインを閲覧することができるという利便性および効率性の方を優先して、時には過小評価されたり、忘れ去られたりする問題であり、この利便性を達成するために、ユーザは、ユーザがすべての利用可能なドメインを閲覧して、それらと対話することを可能にするために、単一のモニタを使用しながら、キーボードおよびポインティングデバイスなどの同じ周辺入力を使用することを可能にするためのスイッチ配設を使用することができる。しかし、この配設は、ドメインを互いに隔離されたままに保つことを意図していないことが多い。このことは、ドメインがある理由により独立して、隔離されている場合には、重大な問題となり得る。
【０００６】
この機能を提供するための１つの従来の配設は、それぞれの別個のドメインの一部であってもよい、複数のコンピュータ２ａ、２ｂの内の選択されたコンピュータに、単一のキーボード６、モニタ４、およびマウスのようなポインティングデバイス５を接続するように構成された、キーボードビデオマウス（ＫＶＭ）スイッチ３３を提供することである（図３および本明細書において後述されるそれぞれの考察を参照）。ＫＶＭスイッチ３３は、キーボード信号を１つのコンピュータに送信して、同コンピュータからのビデオを表示し、それと同時に、マウス生成信号を選択されたコンピュータに送信することも可能にし、次いで、これらの信号は、単一モニタ４上に表示されるカーソル移動に変換される。ＫＶＭスイッチによっては、選択されたコンピュータを閲覧し、それにアクセスすることも可能ではあるが、単一のモニタによって、もう１つ別のコンピュータからの出力を閲覧することも可能である。
【０００７】
スイッチ内のハードウェア要素およびソフトウェア要素によって、１つのドメインからのデータが、他のドメインに秘密裏に送られる可能性があり、かつ／または、適切な電磁絶縁なしに、１つのスイッチ回路を通過するデータが、ホストコンピュータに接続されたスイッチ回路の未使用部分によって検出され、次いで別のドメインに漏洩される可能性もある。ユーザが知ることなしに、データが収集されて、別のドメインに送られ得る、複数のさらなる方法がある。
【０００８】
図４および５と、米国特許第８７６９１７２号とに示されるような、セキュアＫＶＭ（Secured KVM）は、キーボード６およびマウス５と、複数の付属ホストコンピュータ２ａ、２ｂのいずれか１つとの間の一方向の流れを物理的に強制し、それによって、ドメイン間のデータ漏洩を防止する。キーボード／マウス入力を、正しいホストコンピュータへ切り替える制御を行う構成要素、および一方向のデータの流れを強制する構成要素は、信頼されるか、またはある程度信頼されるように、設計される。図１に示される従来技術はまた、従来技術のセキュアＫＶＭを表示する。このセキュアＫＶＭは、グラフィックユーザインターフェイス（ＧＵＩ）か、またはホストコンピュータのそれぞれからのビデオ表示出力を、複数の方法で提示する。第１の方法は、キーボードおよびマウスに現在、接続されているホストコンピュータが、そのビデオ出力で、すべての表示を使い果たし（支配方式）、第２および第３の方法は、別個のドメインからのビデオ出力を画面上にタイル表示、またはカスケード表示することを可能にする。これらの方法においては、それぞれのドメインとの対話は、画面上に提示された別個のＧＵＩを介して行われる（支配方式、またはタイル表示式もしくはカスケード表示式で）。ユーザは、ポインティングデバイスを使用してどのＧＵＩと対話するかを選択することができるが、対話は、厳密に一度に１つのドメインとである。図６は、個々のウィンドウが別個に表示される、従来技術配設によって提供される表示のさらに別の表現を示す。
【０００９】
既存の配設は、効率的で便利なマルチレベルセキュアユーザインターフェイスの問題に対処する。これらの実現形態は、デスクトップへのアクセスを仮想化するシステムを使用する。そのようなシステムの例としては、論理的に隔離された仮想マシン（ＶＭ）における複数の環境を実行して、異なるレベルのウィンドウのセキュアソフトウェアベースの合成物を提供する、ＡＦＲＬのＳｅｃｕｒｅＶｉｅｗ；同じコンピュータ上で複数のＶＭを実行し、同じデスクトップを介してすべてのＶＭへのアクセスを可能にする、ＳｅｃｕｒｅＶｉｅｗよりもわずかに粗い粒度を有する、Ｃ４  ＳｙｓｔｅｍｓのＴＶＥ；およびディストリビューションコンソールに戻って接続する単一の配線を介して、複数のドメインからのリモートデスクトップの受け渡しをサポートするために、カスタマイズされたＣｅｎｔｏｓ動作環境を利用する、ＲａｙｔｈｅｏｎのＴｒｕｓｔｅｄ  Ｔｈｉｎ  Ｃｌｉｅｎｔが挙げられる。
【００１０】
記載されたソリューションは、ソフトウェアベースのインターフェイスを提供する。これらのソリューションにおける信頼される要素は、ますます、ハイパーバイザ（hypervisor）、例えば、Ｘｅｎ、すなわちオペレーティングシステムの下で実行され、仮想化されたドメインをサポートするために使用され得る、中サイズのコードのカーネルである。多くの場合、小さなセキュアドメインは、マルチレベルセキュアソリューション機能をさらにサポートするための、追加のコードを含むことになる。いくつかの例として、Ｑｕｂｅｓ  ＯＳ、ＴｒｕｓｔＧｒａｐｈ、および前述のＳｅｃｕｒｅＶｉｅｗが挙げられる。モバイル環境では、ハイパーバイザは、機能のサブセットを保護するため、より単純な方法で使用され、この例では、表示の特定の部分が、特定のドメインによる使用のために検疫される（quarantined）ことだけを確実にする。
【００１１】
記載されたソリューションはすべて、ソフトウェアの信頼されるコンピューティングベースを有するとともに、基礎をなすハードウェアメカニズムが利用可能であり、また無条件に信頼できることも、おおむね仮定している。ソフトウェアの信頼されるコンピューティンベースについて３つの問題が発生する。１つには、多くの場合、形式的に推論するため、したがってその信頼性を保証するためには、コードの大きさが大きすぎて、扱い難い。２つには、ソフトウェアが、多くの異なる周知の攻撃に対して脆弱である。これにより、さもなければ隔離されたドメイン間のデータ漏洩を可能にするために、ソフトウェアが利用されることになる。また３つ目には、ソフトウェアベースのソリューションは、ソフトウェアによって強制される、論理的な分離のみに依存して、独立したドメイン間の物理的な隔離性を維持しない。ソフトウェアコンポーネントが完璧に機能している場合であっても、基礎をなすハードウェアにおける故障が、隔離されたドメイン間で感知可能なデータが偶発的に放出される機会をもたらす。
【００１２】
異なるドメインからの複数のデスクトップ要素を、単一のキーボードおよび単一のポインティングデバイスを使用して、単一のユーザインターフェイスに統合して統一する配設において、単一のモニタから、２つ以上のドメインを操作することは、利便性および効率性の理由から非常に望ましいが、高いレベルの隔離性とセキュリティの両方を維持しながらでは、これまでは、容易には可能ではなかった。
【発明の概要】
【００１３】
１つの観点では、ホストコンピュータのそれぞれからの個々のグラフィック構成要素を安全に組み合わせて、それを介してユーザがすべてのホストコンピュータ／ドメインと対話することができる、単一の統一されたＧＵＩを形成する、配設が記載されており、それぞれの別個のホストコンピュータ／ドメインに対して提示される別個のＧＵＩとする考えはない。このようにしてホストコンピュータグラフィック情報を組み合わせるソリューションは、対話するためのより便利で、生産性が高く、認知的に洗練されたインターフェイスを提供する。本配設はまた、いかなるデータ漏洩をも防止するために、ドメイン間でのハードウェア強制による隔離性も維持する。
【００１４】
本開示は、複数の隔離されたドメインへのアクセスの便利な統一を提供し、同時に高いレベルのセキュリティを維持する。好ましい一実施態様においては、このようなセキュリティは、複数のホストコンピュータ用のインターフェイスの安全な組み合わせを実現する、純粋なハードウェアベースのソリューションによって提供される。
【００１５】
この開示の観点の要約は、実施態様の詳細な説明においてさらに後述される、概念の選択を、簡略化された形態で紹介するために提供される。この要約は、特許請求された主題の重要な特徴または本質的な特徴を識別することを意図するものではなく、特許請求された主題の範囲を決定する際の補助として使用されることを意図するものでもない。
【００１６】
いくつかの実施態様は、コンピュータ間またはドメイン間のデータ漏洩を防止しながら、キーボード、モニタおよび周辺機器からなる単一のコンソールから、複数のコンピュータまたはコンピュータドメインへのアクセスを制御する、装置および方法に関する。
【００１７】
実施態様の広い観点において、各クラスの表示データが固有の独立したコンピューティングドメインに対応する、異なるクラスの表示データのストリームを同時表示するためのセキュアデジタルディスプレイデータ合成装置であって、
それぞれのインターフェイスが、単一の独立したコンピューティングドメインからのデジタルディスプレイデータ出力インターフェイスに結合されている、デジタルディスプレイデータを受信するための、複数のデジタルディスプレイデータ入力インターフェイスと、
デジタルディスプレイデータ合成器であって、
それぞれの独立したコンピューティングドメインからのデジタルデータ内のインバンド信号を識別することによって、それぞれの独立したコンピューティングドメインに対するデジタルディスプレイデータの所定の領域を識別し、この場合に、それぞれのインバンド信号がそれぞれの独立したコンピューティングドメインのそれぞれの領域を定義する、
前記所定の領域の順序付けを定義し、
所定の表示特性をそれぞれの識別された領域と関連づけて、
前記定義された順序付けに従って、前記識別された領域と、独立したコンピューティングドメインのそれぞれからの関連付けられた表示特性とを、単一のデジタルディスプレイデータセットに合成する
ように構成された、デジタルディスプレイデータ合成器と、
前記合成されたデジタルディスプレイデータを出力するための、デジタルディスプレイデータ出力インターフェイスと
を含む、セキュアデジタルディスプレイデータ合成装置がある。
【００１８】
さらに別の観点において、セキュアデジタルディスプレイデータ合成装置は、出力表示特性を、合成されたデジタルディスプレイデータセットと関連づける、ビデオ処理機能をさらに含む。
【００１９】
さらに別の観点において、セキュアデジタルディスプレイデータ合成装置は、
ユーザによる周辺機器の使用を指示する、周辺デバイスデータ入力を受信するための、少なくとも１つの周辺インターフェイスと、
周辺デバイス入力データを、それぞれが、多くても１つの固有の独立したコンピューティングドメインに接続するように構成された、独立したコンピューティングドメインへ送信するための、複数の周辺インターフェイスと、
周辺デバイスデータを受信する前記少なくとも１つの周辺インターフェイスによって受信される周辺入力を、所定のセキュリティポリシーに従って、周辺デバイス入力データを送信するための周辺インターフェイスへと導くための切替え構成要素と
をさらに含む。
【００２０】
さらに別の観点において、任意の時点において、少なくとも１つの周辺インターフェイスのそれぞれが、アクティブドメインとして指定された、独立したコンピューティングドメインの１つと関連付けられている、セキュアデジタルディスプレイデータ合成装置が提供される。
【００２１】
例示的なプロセスにおいて開示された任意のステップの順序は、本開示の範囲内で変更され得ることに留意されたい。
【００２２】
実施態様の一観点では、各クラスの表示データが固有の独立したコンピューティングドメインに対応する、異なるクラスの表示データのストリームの同時表示を可能にする、デジタルディスプレイデータ合成器による、セキュアデジタルディスプレイデータ合成の方法であって、
デジタルディスプレイデータ合成器により、複数のデジタルデータ入力インターフェイスを介して複数のデジタルディスプレイデータを受信すること、この場合に、それぞれのインターフェイスは単一の独立したコンピューティングドメインからのデジタルディスプレイデータ出力インターフェイスに結合されている；
それぞれの独立したコンピューティングドメインからのデジタルデータ内のインバンド信号を識別することによって、それぞれの独立したコンピューティングドメインに対する、デジタルディスプレイデータの所定の領域を識別すること、この場合に、それぞれのインバンド信号は、それぞれの独立したコンピューティングドメインのそれぞれの領域を定義する；
所定の領域についての順序付けを定義すること；
所定の表示特性を、それぞれの識別された領域と関連づけること；
定義された順序付けに従って、識別された領域と、独立したコンピューティングドメインのそれぞれからの関連付けられた表示特性とを、単一のデジタルディスプレイデータセットに合成すること；および
デジタルディスプレイデータ合成器によって、合成されたデジタルディスプレイデータセットをデジタルディスプレイデータ出力インターフェイス上に出力すること
を含む、方法が提供される。
【００２３】
コンピュータ、コンピュータネットワーキング、ソフトウェアプログラミング、電気通信などに関する詳細は、完全な理解を得るためにも、または当業者が実施態様を実行するのを制限するのにも必要がないと考えられるので、具体的に説明されないときもあるが、当業者の技量の範囲内にあると考えられるので、入手できるものと考えられる。
【００２４】
１以上の好ましい実施態様の詳細な説明を、例として幅広い原理を例示する付随する図とともに、以下に提示する。幅広い観点が、そのような実施態様に関係して記載されているが、これらの幅広い観点は、いかなる実施態様にも限定されないことを理解すべきである。反対に、本開示の範囲は、添付の特許請求の範囲によってのみ限定されるものあり、これらの幅広い観点は、多数の代替形態、修正形態、および均等物を包含する。例示の目的で、本開示の完全な理解を与えるために、多数の特定の詳細が以下の説明に記述されている。本開示は、これらの特定の詳細の一部または全部を伴わずに、特許請求の範囲に従って実施することができる。分かりやすくするために、本分野に関連する技術分野で知られている技術資料は、本発明の幅広い観点が不必要に不明瞭にならないように、詳細には記述されていない。
【００２５】
上記は、理解を明確にするためにある程度詳細に説明されてきたが、本発明はこれに限定されるものではなく、特定の変更および修正を実施することができることは明らかであろう。開示されたプロセスおよび装置の両方を実現するための多くの代替的な方法が存在することに留意されたい。したがって、本発明の実施態様は、例示的であって限定的ではないと見なされるべきであり、これらの幅広い観点は、本明細書で与えられる詳細に限定されるものではなく、時に応じて補正されるように、添付の特許請求の範囲と均等物の範囲内で修正することができる。
【００２６】
この明細書およびその後に続く特許請求の範囲を通して、文脈からそうでないことが必要とされない限り、「comprise」および「include」という用語、ならびに「comprising」および「including」のようなその変形形態は、表現された整数または整数の群を包含することを意図するが、その他任意の整数または整数の群を除外することを意図するものではないことを理解すべきである。
【００２７】
この明細書における、何らかの背景または従来技術への言及は、そのような背景または先行技術が共通の一般的知識の一部を形成していることの、是認、または何らかの形態の示唆ではなく、そのように解釈すべきではない。
【００２８】
この説明は、「一実施態様では」、または「１以上の実施態様では」という語句を使用することがあるが、これは、同一または異なる実施態様の内の１以上を指すことができる。
【００２９】
本明細書において使用されるときには、「ロジック」は、それらに限定はされないが、機能（複数を含む）または動作（複数を含む）を実行するため、および／または別のコンポーネントからの機能または動作を生じさせるための、ハードウェア、ファームウェア、ソフトウェア、および／またはそれぞれの組合せを含む。例えば、所望の応用またはニーズに基づいて、ロジックは、ソフトウェア制御されたマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）などの個別ロジックを含んでもよく、または他のプログラムがロジックデバイスである。ロジックは、完全にソフトウェアとして具現化されてもよい。
【００３０】
ここで使用されるときには、「ソフトウェア」は、それに限定はされないが、コンピュータまたは他の電子デバイスに、機能、動作を実行させ、かつ／またはそれを所望の方法で挙動させる、１以上のコンピュータ可読命令および／またはコンピュータ実行可能命令を含む。命令は、ルーチン、アルゴリズム、モジュール、または動的にリンクされたライブラリからの別個のアプリケーションまたはコードを含むプログラムなどの、様々な形態で具現化することができる。ソフトウェアは、スタンドアロンプログラム、関数呼び出し、サーブレット（servlet）、アプレット、メモリに記憶された命令、オペレーティングシステムの一部、またはその他のタイプの実行可能命令などの、様々な形態で実現することもできる。当業者であれば、ソフトウェアの形態は、例えば、所望のアプリケーションの要件、それが実行される環境、および／または設計者／プログラマ等の要望に依存することを理解するであろう。
【００３１】
コンピュータソフトウェアは、コンピュータ可読記憶媒体のコンピュータ可読媒体内に非一時的な状態で存在することができる。コンピュータがその中に含まれる命令に従って動作することを可能にするのは、この非一時的な状態でのソフトウェアの存在である。
【００３２】
当業者は、情報および信号が、多種多様な技術および技法の内の任意のものを用いて表現され得ることを理解するであろう。例えば、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、上記の説明全体にわたって参照されることがあり、電圧、電流、電磁波、磁場もしくは磁性粒子、光電場または光粒子、またはそれらの任意の組み合わせによって表現され得る。
【００３３】
当業者は、様々な例示的なロジックブロック、モジュール、回路、および本明細書に開示された実施態様に関連して説明された、アルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせとして実現され得ることを、さらに認識するであろう。このようなハードウェアとソフトウェアの互換性を明確に説明するために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップについて、全般的にそれらの機能性について上述した。そのような機能が、ハードウェアとして、またはソフトウェアとして実現されるかは、システム全体に課せられた、特定のアプリケーションおよび設計の制約に依存する。当業者は、特定のアプリケーションごとに、様々な方法で上記の機能を実現することができるが、このような実現の決定は、本発明の幅広い観点の範囲からの逸脱を引き起こすものと、解釈されるべきではない。
【００３４】
本明細書に開示された実施態様に関係して記述された方法またはアルゴリズムのステップは、直接的にハードウェアとして、プロセッサによって実行されるソフトウェアモジュールとして、または２つの組合せとして具現化することができる。ハードウェア実現では、処理は、１以上の特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本明細書に記載された機能を実行するように設計されたその他の電子ユニット、またはそれらの組合せにおいて実現することができる。コンピュータプログラム、コンピュータコード、または命令としても知られるソフトウェアモジュールは、いくつかのソースコードまたはオブジェクトコードのセグメントまたは命令を含むとともに、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭまたはコンピュータ可読媒体のその他任意の形態内に常駐することができる。代替例では、コンピュータ可読媒体は、プロセッサに一体化されてもよい。プロセッサおよびコンピュータ可読媒体は、ＡＳＩＣまたは関係するデバイスに常駐してもよい。ソフトウェアコードは、メモリユニットに記憶され、コンピュータによって実行されてもよい。メモリユニットは、プロセッサ内に実現するか、またはプロセッサの外部に実現してもよく、この場合には、当該技術分野で知られているように、様々な手段を介してプロセッサに通信可能に結合することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は、物理的なスイッチネットワークの従来技術を示す図である。
【図２】図２は、物理的に独立したドメインを示す図である。
【図３】図３は、ＫＶＭスイッチを示す図である。
【図４】図４は、セキュアＫＶＭコンバイナの従来技術配設を示す図である。
【図５】図５は、図４の従来技術のセキュアＫＶＭコンバイナによって提供される表示の、さらに別の表現を示す図である。
【図６】図６は、別の従来技術配設によって提供される、表示のさらに別の表現を示す図である。
【図７】図７は、３つの隔離されたドメインコンピュータ、単一の画面、単一のキーボードおよび周辺デバイス（マウスポインタ）およびＣＤＤＣを含む実施態様の簡略化された表現を示す図である。
【図８】図８は、一実施態様の簡略化されたブロック図である。
【図９Ａ】図９Ａは、さらに別の実施態様の簡略化されたブロック図である。
【図９Ｂ】図９Ｂは、ＣＤＤＣの一実施態様の第１の図である。
【図９Ｃ】図９Ｃは、ＣＤＤＣの一実施態様の第２の図である。
【図９Ｄ】図９Ｄは、ＣＤＤＣの一実施態様の第３の図である。
【図１０Ａ】図１０Ａは、一実施態様による、第１のアクティブドメインを有する３つのドメインから生成された合成出力を示す図である。
【図１０Ｂ】図１０Ｂは、アクティブドメインが一実施態様による３つの異なるドメインの内の第２のドメインに切り替えられたときの、図１０Ａの合成出力を示す図である。
【図１０Ｃ】図１０Ｃは、アクティブドメインが一実施態様による３つの異なるドメインの内の第３のドメインに切り替えられたときの、図１０Ａの合成出力を示す図である。
【００３６】
【図１１】図１１は、複数の隔離されたドメインを源とする統一されたデスクトップとして構成された様々なビデオデータ入力を示し、コンテンツが異なるドメインに由来することを明確に示すとともに、統一されたデスクトップ文脈内での、合成された結果（図示では最上位）との重複を示す図である。
【図１２Ａ】図１２Ａは、ＣＤＤＣの一実施態様によって受信されている３つの隔離されたドメインからの３つのビデオデータ出力と、３つすべてのビデオデータ出力の少なくとも一部分を示す、結果として得られる合成画面とを示す図である。
【図１２Ｂ】図１２Ｂは、別のドメインに切り替えられたときの図１２Ａの合成画面を示す図である。
【図１２Ｃ】図１２Ｃは、３つの個別のビデオデータ出力と、ユーザに表示された状態の単一の統一された合成ビデオデータ出力とを示す図である。
【図１２Ｄ】装飾されていない表示部分と、装飾されている同じ部分との間の差を示す図である。
【図１３】図１３は、それ自体のグラフィック要素を有するそれ自体のデスクトップを論理的に有する、個々の隔離されたドメインと、グラフィック要素（所定の領域）を識別し、それらを単一の出力に構成する、クロスドメインデスクトップ合成器（ＣＤＤＣ）の一実施態様とを図解的に示す図である。
【図１４】図１４は、ユーザが、選択の前に、どのドメインをアクティブにすべきかを選ぶことを可能にする、ＣＤＤＣによってオンスクリーン（on-screen）で描画されたドロップダウンメニューを示す図である。
【図１５】図１５は、ユーザが、どのドメインをアクティブにすべきかを選択することを可能にする、ＣＤＤＣによってオンスクリーンで描画されたドロップダウンメニューを示す図である。
【図１６Ａ】図１６Ａは、ＣＤＤＣに情報を伝達するために使用される予約部分をインバンド（in-band）で含む、ドメインのための、表示されたデスクトップ環境の図である。
【図１６Ｂ】図１６Ｂは、図１６Ｂの予約部分における、バンド内情報の拡大を表示する図である。
【図１７】図１７は、一実施態様の機能ブロック図を示す図である。
【図１８】図１８は、一実施態様による、所望の機能のいくつかを実現するための、信頼できるセパレーションカーネル（separation kernel）を使用する構成を示す図である。
【図１９Ａ】図１９Ａは、すべての隔離されたドメインからの電子メールを１つの画面上に提供する、電子メールアプリケーションを有する画面を示す図であり、これらの電子メールは、関連するドメインＡ、ＢおよびＣからのものであるが、ユーザは、それらを同一画面内で見て、同一のアプリケーションにあるかのように使用する。
【図１９Ｂ】図１９Ｂは、一実施態様による様々なドメインから合成された単純な表示ブロックから構築されるクロスドメイン電子メールアプリケーションの第２のものを示す図である。
【図２０】図２０は、１レベルから上位レベルへの電子メールの転送／返信を可能にする、クロスドメイン電子メールアプリケーションのアーキテクチャを示す図である。
【図２１Ａ】図２１Ａは、同一の電子メールアプリケーションにあるかのように、同じ画面上に隔離されたドメインのそれぞれからの電子メールを示す、複合電子メール画面の一例を示す第１の図である。
【図２１Ｂ】図２１Ｂは、同一の電子メールアプリケーションにあるかのように、同じ画面上に隔離されたドメインのそれぞれからの電子メールを示す、複合電子メール画面の一例を示す第２の図である。
【図２２】図２２は、一実施態様による方法のフローチャートである。
【００３７】
実施態様の詳細な説明
定義
信頼される（trusted）、および信頼できる（trustworthy）という用語は、当該分野において特定の意味を有する。信頼できるシステムとは、正しく動作することを検証できるシステムである；故障することのない、安全で入手可能で信頼性のあるシステムまたはコンポーネントを表わし、ここで故障とは、特定の既知のセキュリティ特性を強制することができないことである。信頼されるシステムは、セキュリティに依拠する重要な構成要素であり、具体的には、信頼される構成要素が故障した場合、システムのセキュリティ特性も破壊される。
【００３８】
説明として、ドメインとは、一般に、互いに通信し、共有された所定の規則および手順に従って対話しているコンピュータおよびデジタルデバイスの群を表わすものと理解される。これらの所定の規則および手順を共有しないコンピュータおよびデジタルデバイスは、別のドメインのコンピュータおよびデジタルデバイスと対話することができない。しかしながら、それらは、選択されたドメインの共有された所定の規則および手順を一時的に採用することによって、対話することを許容され得る。
【００３９】
１以上のアプリケーション／プログラムを１以上のコンピュータ上で同時に操作することが可能であり、これらのコンピュータの１つがサーバである場合には、そのサーバは、それらの１以上のアプリケーション／プログラムを、１以上のコンピュータに対して利用可能にするが、それらの他のコンピュータが同じドメイン内にある場合にのみである。１つのコンピュータは、アプリケーション／プログラムの１以上のインスタンスを動作させてもよく、２つ以上のコンピュータも同じことを行うことが可能であり、したがって、同一ドメイン内の１以上のコンピュータ上で実行されているアプリケーション／プログラムの複数のインスタンスが存在し得る。
【００４０】
１つのドメイン上のコンピュータまたはデジタルデバイスのユーザは、同じドメイン上の他のコンピュータまたはデジタルデバイスのいずれにもアクセスすることがあるか、または、典型的にはそうであるように、同じドメイン上の１つまたは複数のサーバは、同じドメイン内のコンピュータおよびデバイスと安全に対話することができ、次いで、ドメインサーバ（複数を含む）に関連する任意のデータが、それらのコンピュータおよびデバイスに対して利用可能である。コンピュータにサーバ上で利用可能なアプリケーションの１以上にアクセスさせるために必要とされる、さらなるレベルの許可が存在する場合がある。したがって、定義によると、独立した／隔離されたドメインとは、スタンドアロンの、または別のドメインの一部である他のコンピュータまたはデバイスが、その所定の規則および手順を実行することを許可せず、したがって、そのドメイン上のサーバまたはコンピュータへのアクセス、またはそれらのサーバまたはコンピュータ上でのアプリケーションの動作を許可しない、ドメインである。
【００４１】
隔離されたドメインの例としては、
コンピュータ、サポートサーバ（複数を含む）および、それぞれのモニタおよびポインティングデバイスなどのデジタルデバイスに加えて、その用途が中小の事業者であり得る、共通の直接接続されたプリンタ、およびそのような事業者が使用するプログラムのドメイン；
預金者、ローンポートフォリオ等によって保持される資金を追跡する、１以上のサーバにアクセスに使用するための銀行出納係り用ドメイン、ＡＴＭ（Automatic Teller Machine）ドメイン、特別の状況において、銀行ドメイン間の制御されたアクセスを除き、銀行間で資金交換するか、またはドメインのそれぞれが他のドメインのいずれにも接続されていない他の銀行ドメインにアクセスするためのドメインを含む、多数のドメインを有する銀行；
ポンプ、ゲート、工場内のプロセスコントローラ、および電力供給網、水道管網状化（water reticualtion）システムなどの多くの他のシステムなどの、遠隔配置された機器の遠隔制御を提供するために使用される、監視制御データ収集（ＳＣＡＤＡ：Supervisory Control and Data Acquisition）ドメイン；および
それぞれのドメインが異なるセキュリティレベルを有し、動作およびセキュリティの目的のために相互に、および関係のないドメインまたは無認証のコンピュータデバイスから、切り離されて保たれている、軍事コマンド／制御システムドメインが挙げられる。
【００４２】
本明細書において、ポインティングデバイスの用語が使用される場合には、それは、マウスとして知られているカーソル制御デバイスを指していることもあるが、一般的な配設は、ポインティングデバイスは、ライトペン、デジタイザ、静電容量センサペン、その他も含むことができるようなものであり、これらのデバイス（ソフトウェアの動作も含むことができる）は、一般的には、プログラムの関連するインスタンスの視覚的観点と相互作用するために主として使用される、特定のタイプの周辺デバイスであると理解される。周辺デバイス（または装置）としてはまた、音声制御のようなマンマシンインターフェイス、ユーザの動作（例えば、手、目、指、その他等）を検出するように適合された運動検出器を挙げることができ、また、プリンタ（２Ｄおよび３Ｄ）、触覚力生成装置および音力生成装置を挙げることができる。
【００４３】
コンピュータは、典型的には、そのコンピュータとの対話およびその操作を支援するグラフィックユーザインターフェイス（ＧＵＩ）をユーザに提示する。オペレーティングシステムと対話するために、ユーザに提供される一般的な方法は、デスクトップ環境である。このデスクトップ環境は、複数のプログラムが、単一のグラフィックユーザインターフェイス上でアクセスされ、実行されることを可能とするとともに、基礎をなすファイルシステムおよびオペレーティングシステム内部要素（internals）の一部にアクセスするための、多くのグラフィック要素を提示する。これらのグラフィック要素としては、プログラムウィンドウ、タスクバー、およびアイコンが挙げられる。その意図は、これらの要素は、基礎をなすオペレーティングシステムプリミティブの使用に対して、便利な抽象化を提供することにある。
【００４４】
ＣＤＤＣ序論
本明細書は、単一のユーザインターフェイスを介して、複数の独立したコンピューティングドメインへのアクセスおよび制御を行う配設である、クロスドメインデスクトップ合成器（ＣＤＤＣ）１１０と便宜的に称されるものの、いくつかの実施態様について記述する。ＣＤＤＣは、個々のドメインのいずれかに常駐するいずれのソフトウェアも信頼する必要なしに、複数の、潜在的に異なる分類のコンピューティングドメインからのアプリケーションのための、シームレスで統一されたクロスドメインデスクトップ環境を提供する。ＣＤＤＣ１１０は、ユーザが、効率性と便宜性のために、それを行う許可と必要性を有する人が、通常は隔離されたドメインを使用することができるように、２つ以上のドメインにまたがって作業する必要のある環境において、使用可能である。図７は、ドメイン１、２および３それぞれにおける、３つの隔離されたドメインコンピュータ１０１、１０２、１０３と、単一の画面４と、単一のキーボード６および周辺デバイス５（マウスポインタ）と、ＣＤＤＣ１１０とを含む、システム１１０の実施態様の簡略化された表現を示す。実線１０４、１０６、１０７および１１２は、デジタルディスプレイ（例えば、ＤｉｓｐｌａｙＰｏｒｔ）データを表わし、破線は、ヒューマンインターフェイス（例えば、ＵＳＢマウス）データを表わす。
【００４５】
ＣＤＤＣ１１０は、異なるコンピューティングドメイン、典型的には、それぞれのコンピューティングドメインに関連するデスクトップ環境のグラフィックユーザインターフェイス（ＧＵＩ）から、グラフィック領域を合成する。合成物は、複数の独立したドメインの、別個の異なるグラフィック領域からの、単一の（統一された）デスクトップ環境の作成であり、これが、次いで単一のディスプレイへ出力される。ＣＤＤＣは、ユーザ対話をサポートするために、ハードウェアベースのウィンドウ装飾およびデスクトップ装飾を使用し、これらの装飾は、合成物を増強する。任意の時点で、１つのドメインがアクティブドメインとして指定され、そのグラフィック領域が最前に合成され、いずれのユーザ入力もこのドメインに導かれる。
【００４６】
シームレスなデスクトップ体験を促進するために、合成されたグラフィック領域は、アプリケーションウィンドウ、デスクトップアイコン、タスクバー、メニュー、ダイアログボックス、デスクトップ通知、およびツールヒント（tool tips）のようなアイテムを含む。
【００４７】
従来技術と比較したＣＤＤＣ
従来技術は、単一のインターフェイスから独立したドメインにアクセスするのを容易にする方法を記載している。従来技術はまた、この配設をデータ漏洩から保護する方法も記載している（図１および２）。さらに、従来技術は、複数のコンピューティングドメインを同時に表示する方法を記載している（図４および５、ならびに米国特許第８７６９１７２）。
【００４８】
従来技術と、少なくとも１つの実施態様の機能との間の区別は、従来技術においては、独立したドメインからの複数のデスクトップ環境は、タイル方式、カスケード方式、または支配方式のいずれかで、同一のモニタ４を共有する（図４、５および６）、これに対して、ＣＤＤＣの実施態様では、独立したドメインから個々の複数のグラフィック要素（所定の領域）の合成物は、同じモニタ４上に出力されて表示される、単一の統一されたデスクトップ環境を形成する（図７、１０〜１５）。
【００４９】
従来技術のセキュアＫＶＭは、ドメインのそれぞれのために提示された異なるＧＵＩの間をナビゲートするために、オンスクリーンで生成されるメニューを必要とする。ＣＤＤＣによるドメイン間のナビゲーションは、統一されたデスクトップの動作において、暗示的である。
【００５０】
ＣＤＤＣの一実施態様は、複数の隔離された（例えば、異なる分類レベル、または異なるドメインに接続されている）デスクトップコンピュータにアクセスする必要があるユーザが、単一のキーボード６と、単一のマウス５と、単一のデジタルデータディスプレイ４とを、マルチレベルセキュア（ＭＬＳ）デスクトップ体験において使用することを可能にする。この環境では、そのドメイン内のデータ交換の異なるレベルのセキュリティにそれぞれ専用であり、異なるドメインが存在するが、原理は、コンピュータドメイン管理者が、同じ組織によって操作された２つの異なるドメインにアクセスする必要があるときなど、同じ組織内の２つのドメイン内で行われる必要がある作業にも等しく適用可能である。ドメインは、異なるセキュリティレベルである必要はないが、単に互いに隔離されている必要がある。
【００５１】
ＣＤＤＣ動作
一実施態様では、複数の独立した、物理的に隔離されたデスクトップコンピュータ（またはコンピューティングドメイン）が、そのデジタルディスプレイ出力（例えば、ＤＶＩ、ＨＤＭＩ（登録商標）、またはＤｉｓｐｌａｙＰｏｒｔ）およびそれらのヒューマンインターフェイスデバイス（ＨＩＤ）入力（例えば、キーボードおよびマウス）を介して、ＣＤＤＣ１１０に接続されている。次いで、ＣＤＤＣは、ユーザ対話のための、別個の信頼される、キーボード６、マウス６および表示インターフェイス４を提供する。図７は、３つのデスクトップコンピュータ１０１、１０２、１０３（それぞれ）からの入力および出力がＣＤＤＣ１１０に接続されている、典型的なシステム１００を示す。図８は、一実施態様による簡略化されたブロック図２００を示す。ＣＤＤＣは、合成デジタルディスプレイデータ出力２０４がそれを経由して送られる、ディスプレイポート２１４を介してディスプレイ４に接続された、フィールドプログラマブルゲートアレイ（ＦＧＰＡ）２１０を含む。ＦＰＧＡは、一方向ダイオード２２２を介して、第１のドメイン内の第１のコンピュータ２２０に接続された、第１のディスプレイポート２１１から表示データを受信するとともに、一方向ダイオード２３２を介して、第２のドメイン内の第２のコンピュータ２３０に接続された、第２のディスプレイポート２１２から表示データを受信する。ＦＰＧＡ２１０は、ＤＤＲ３メモリ２０８に接続するための、ＤＤＲ３インターフェイス２１８も含み、ハウジング上のＬＥＤなどの外部ドメインインジケータ２０３に信号２１３を供給する。ＵＳＢマウス５が、入力２１７を介してＦＰＧＡ２１０に接続されているＵＳＢホストＨＩＤ２シリアルインターフェイス２０５に接続されている。マウスデータは、出力インターフェイス２１５からスイッチ２０５を介してドメインへ、第１ドメインＵＳＢマウスプロキシ２２５または第２ドメインＵＳＢマウスプロキシ２３５のいずれかに送られる。同様に、ＵＳＢキーボード６からの入力は、ＦＰＧＡの制御下で、スイッチ２０６を介して、第１ドメインＵＳＢキーボードプロキシ２２６または第２ドメインＵＳＢキーボードプロキシ２３６のいずれかに送られる。
【００５２】
ＣＤＤＣ１１０は、それぞれのドメイン、特にそれらそれぞれのドメイン上で実行されている１以上のアプリケーション、すなわちこの例では、１以上のＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）アプリケーションの異なるルールおよび手順のそれぞれと対話するように配設されている。ＣＤＤＣは、同一画面上の隔離されたドメインから、一般にアプリケーションウィンドウまたはアプリケーションと呼ばれる、オンスクリーンでの合成されたアプリケーション領域を提供することができ、それぞれのドメインを互いに隔離して維持しながら、それぞれのドメインからの表示されたアプリケーションウィンドウのそれぞれの１つとのキーボード対話およびマウス対話をもたらす。ＣＤＤＣは、ドメイン間で、キーボード／マウス入力を自動的に切り替えて、両方の使用性を維持するとともに、所定の機密保証を提供する。
【００５３】
ＣＤＤＣは、キーボード、マウスおよびホストコンピュータからのコマンド／アクティビティに基づき、ウィンドウの階層化、どのドメインが（キーボード／マウスがこのドメインに向けられているという意味で）アクティブであるか、カーソルの位置、グラフィック領域の装飾のようなものを組み合わせて、独立したドメインからのデジタルディスプレイデータの合成物を形成する、デジタルディスプレイデータ処理機能を有する。
【００５４】
デジタルディスプレイデータ合成器は、所定の表示特性を、それぞれの識別された領域と関連づける。
【００５５】
ＣＤＤＣは、それぞれのドメインからのデジタルディスプレイデータ内の、独立したドメインのそれぞれから、グラフィック領域（典型的にはアプリケーションウィンドウ）の場所を識別する。ＣＤＤＣは、これらのグラフィック領域を一緒に組み合わせて、ユーザにインターフェイスするための、合成された出力デジタルディスプレイデータを形成する。
【００５６】
ＣＤＤＣは、その発生ドメイン（generator domain）を一意に識別するために、表示されたすべての合成されたグラフィック領域を装飾する。第１の事例では、装飾は、グラフィック領域の広がりのまわりに付加された着色された枠縁（border）である。装飾されていないコンテンツは、所定のセキュリティポリシーに従って処理され、例えば、合成物の一部を全く形成しない場合がある。
【００５７】
ＣＤＤＣは、ユーザに情報を伝えるためのオンスクリーン表示コンテンツを生成することができる。オンスクリーン表示コンテンツおよび個々のウィンドウ装飾は、ＣＤＤＣの唯一の制御下にあり、個々のドメインによって修正することはできない。
【００５８】
一実施態様では、単一の信頼されるキーボードおよび信頼されるマウスを使用して、キーボードおよびポインタ（マウス）対話により、ＣＤＤＣが駆動される。いかなる時点でも、ＣＤＤＣは、信頼されるキーボード／マウス入力を、アクティブドメインに指定された、単一のドメインに導く。ＣＤＤＣは、オンスクリーン表示コンテンツを使用して、統一されたデスクトップ環境を、「現在アクティブなドメイン」バナー（banner）でラベル付けして、どのデスクトップコンピュータ、またはコンピュータドメインに、キーボードおよびマウスが現在、向けられているかを強調表示する。
【００５９】
好ましい実施態様では、キーボードおよびマウスは、最前の合成ウィンドウのドメイン所有者に向けられる。一例が図８に示されており、ここでは１つのドメイン２２０がアクティブであり、ソフトウェアアプリケーションにテキストが入力されている状態で、キーボード５およびマウス６がそのドメインに向けられている。他のドメイン２３０は、この時点でユーザ入力を受信していないか、または、それについては、ユーザ入力がすべてアクティブドメインによって受信されていることを認識している。
【００６０】
アクティブな第１のドメインは、閲覧可能領域上をクリックすることによって、合成されたデスクトップ環境出力における別の第２のドメインから変更することができる。一実施態様では、ドメインの切替えによって、他方の第２のドメインからアプリケーションウィンドウのセットを、合成された表示の前方に移動させ、アクティブドメインバナーを更新し、信頼されるキーボード／マウス入力を、新たにアクティブになった第２のドメインに導く。図１０Ａは、一実施態様による、第１のアクティブドメインを有する３つのドメインから生成された合成出力を示す。図１０Ｂおよび１０Ｃは、３つの異なるドメイン間でアクティブドメインが切り替えられたときの、変化する合成された出力を示しており、この場合に、各スイッチは、新たにアクティブにされたドメインからのウィンドウを、合成物の前方に移動させる。図１０Ａを参照すると、合成出力はバナー４２０を含み、このバナーは、ドメインに応じて着色され、縁取りされるとともに、ドメインラベルを含む。バナー４２０の右側縁端は３つの領域４３０、４４０、４５０を含む、これらの領域は、それぞれドメインの１つに対応し、ユーザがアクティブにするドメインを選択することを可能にする仮想ボタンとして機能する。各領域４３０、４４０および４５０は、着色された枠縁と、類似のフィル（fill）を有しており、ドメインに関連付けられた各ウィンドウまたは領域は、同じ着色された枠縁を使用する。図１０Ａにおいて、青の実線枠縁を使用する第１の領域がアクティブであり、ウィンドウ４３２が、他のウィンドウの前方に移動される。第１の領域はまた、青の実線枠縁で縁取りされた、アイコン４３４も含む。バナーラベル４４１は、「ＤＯＭＡＩＮ１」としてリストされ、バナー４２０および下側タスクバー４３６も青の実線の枠縁で縁取りされ、タスクバーが第１のドメインに対応することを示す。カーソル４６０も示されている。図１０Ｂは、第２のドメインがアクティブであるときの、合成出力を示す。図１０Ｂにおいて見ることができるように、バナー４２０およびタスクバー４４６のまわりの枠縁は、紫色の破線に変えられ、枠縁ラベル４４１は、「ＤＯＭＡＩＮ２」に変わり、ドメイン２ウィンドウ４４２は前方に移動されて、第１の領域ウィンドウ４３２を覆い隠している。図１０Ｃは、第３のドメインがアクティブであるときの合成出力を示す。図１０Ｃにおいて見ることができるように、バナー４２０およびタスクバー４４６のまわりの枠縁が、黒と赤の鎖線に変わり、枠縁ラベル４５１は、「ＤＯＭＡＩＮ３」に変わり、ドメイン３ウィンドウ４５２は、前方に移動されて、第１領域ウィンドウ４３２および第２領域ウィンドウ４４２を覆い隠している。
【００６１】
ＣＤＤＣは、デジタルディスプレイデータについての情報が、独立したドメイン間で共有または推測され得ないことを保証する。同様に、ＣＤＤＣは、現在、キーボードおよびマウスの情報を受信していると期待されるドメイン以外の、どのドメインによっても、キーボードまたはマウスデータについての情報が、取得または推測され得ないことを保証する。
【００６２】
ＣＤＤＣハイレベル例
ＣＤＤＣは、一実施態様では、それらのデジタルデータ表示出力（例えば、それぞれのドメインの一部であるそれぞれのコンピュータのディスプレイカード（ビデオカードと呼ばれることがある）からのデジタルデータディスプレイポート出力）を介して、ＣＤＤＣに入力される複数のドメインと対話する能力を提供する。
【００６３】
一実施態様では、キーボード／ポインタデータは、ＣＤＤＣに接続されたＵＳＢキーボード／マウスから取得される。
【００６４】
一実施態様では、ドメインは、ＣＤＤＣからそれぞれのドメインへの別個のＵＳＢ接続を介して、キーボード／ポインタ入力を受信する。
【００６５】
ユーザは、モニタ、キーボードおよびポインタの各デバイスの統一されたデスクトップ配列と対話し、これに応答して、ＣＤＤＣは、そのウィンドウのソースドメインを一意に識別するために、（通常は、ウィンドウと呼ばれる画像形式で）表示されたすべてのグラフィック領域を装飾する。
【００６６】
ウィンドウという用語の使用は、データの全画面またはマイクロソフト社のオペレーティングシステムに言及するものではなく、基礎をなすオペレーティングシステム、またはコンピューティングドメインによって出力されるグラフィック要素のインスタンスの視覚的配設に言及するに過ぎない。
【００６７】
ウィンドウ内には、そのそれぞれのアプリケーションウィンドウに表示されたデジタルデータを提供するために実行されるプログラムのインスタンスがあり、これには、提供されたアプリケーションウィンドウ、デスクトップアイコン、タスクバー、メニュー、ダイアログボックス、デスクトップ通知、ツールヒントなどが含まれる。
【００６８】
実行されているアプリケーションウィンドウと、プログラムの実行中のそのインスタンスを表示する方法は、枠縁によって拘束され、この枠縁は、典型的には２次元形状において長方形であるが、ウィンドウが通常使用においてサイズ変更可能なタイプであれば、ユーザが長さや高さをサイズ変更することが可能である。しかし、タスクバー、メニュー、アイコン、ツールヒント、ダイアログボックス、通知、ウィジェット（widget）等は、通常は、サイズ変更できない場合がある。このような対話は、実施態様の動作によって排除されない。
【００６９】
一実施態様では、各ウィンドウに関連する装飾は、表示されたウィンドウの１つまたは１つだけの周辺のまわり、またはその一部の、ディスプレイ上の場所に加えられた、所定の寸法の着色された枠縁である。図１３は、ウィンドウ毎の装飾の一例を示す。
【００７０】
実施態様によっては、装飾は不要である、異なるドメインから表示されているいずれのコンテンツも物理的に隔離されていること、およびデータ漏洩が防止されていることを知ることにより、デバイスの有用性は簡単に得られる。
【００７１】
合成物の詳細
典型的な合成物では、アクティブドメイン用のデスクトップ環境は、そのグラフィック領域（例えば、アプリケーションウィンドウおよび制御ウィンドウ、デスクトップアイコン、タスクバー、メニューなど）を、他のドメインのグラフィック領域の上（またはその前方）に合成する。ウィンドウは、通常、それらの本来のデスクトップ環境において存在するのと、同じ位置に合成される
【００７２】
好ましい実施態様では、すべてのドメインデスクトップ環境は、類似の基本グラフィック要素を共有する。この結果として、制御インターフェイス（例えば、タスクバー、共通のデスクトップアイコンなど）は、アクティブドメインに対してのみ見えるようになる。これにより、統一された環境内でユーザが操作するのを直感的に支援する。
【００７３】
ＣＤＤＣは、統一されたデスクトップ出力の現在の表示解像度上にマッピングされる、カーソルのグローバル位置を維持する。ＣＤＤＣは、合成された出力の上にカーソルを描画し、個々のドメインからのなりすまし（spoofing）攻撃を防止する。次いで、マウス位置およびキーボード入力が、アクティブドメインに導かれる。アクティブドメイン切替えが行われると、キーボードは、最初に、先にアクティブなドメインから切断され、次いで、新たにアクティブにされたドメインへと切り替えられる。潜在的な隠れたチャネルを軽減するために、さらに実際的なステップを採用することもでき、これらの対策のいくつかは、本明細書において以下に詳述される。
【００７４】
様々なドメインからの様々なグラフィック要素を合成するために、ＣＤＤＣは、ドメインから提供されたデジタルディスプレイデータストリームにおける、ウィンドウの場所、または関心のあるグラフィック領域の知識を必要とする。この情報は、多くの方法、たとえばＣＤＤＣによるアルゴリズム検出、クロマキー（chroma-key）情報、または別個のＵＳＢ入力、もしくはデジタルディスプレイデータストリームのインバンド式のようなサイドバンドチャネルによって提供することができる。好ましい実施態様では、独立したドメイン上に常駐する信頼されないソフトウェアによって領域が識別されて、デジタルデータビデオストリーム内をインバンド方式でＣＤＤＣに送られて、様々な領域を識別するために使用されるメカニズムおよびプロトコルは、本明細書において後に詳述される。
【００７５】
アルゴリズム検出は、ＣＤＤＣが、それぞれのドメインからの重要なグラフィック領域を見分けて、最終合成物に組み込むことができることに依拠している。これは、デジタルビデオストリーム内でＣＤＤＣによって受信された状態の、様々な形状、色およびテクスチャを含む、ドメインのデスクトップ環境内の様々な視覚的インジケータに基づいて行うことができる。
【００７６】
デジタルディスプレイデータ合成器は、所定の領域上での順序付けを定義する。
【００７７】
様々な、典型的には長方形である、関心領域の位置が分かると、ＣＤＤＣは、これらの領域において適切に動作することができる。ＣＤＤＣは、出力合成されたディスプレイ上の全ピクセルにおいて描画されたものに対する完全な制御を有する。この合成物は、優先コンテンツの階層化と考えることができる。基本合成物は、ＣＤＤＣが、全ドメインのデジタルディスプレイデータを定義された順序で階層化することを必然とする。この順序は、ＣＤＤＣだけによって決定されるが、ドメインが最後にアクティブであった順序によって影響されることがある。
【００７８】
ＣＤＤＣは、未処理のデジタルディスプレイデータストリームにだけアクセスが可能で、したがって、既に描かれたグラフィック領域のみを操作することができるので、特定のドメイン内のウィンドウ領域は、同じ順序に保たれる。典型的な合成物階層化が、図１１に示されている。
【００７９】
図１１は、合成された出力４００コンテンツが階層化されていることを示している。すなわちそれぞれのドメインに対して、最古のアクティブウィンドウセット４０２、ウィンドウ装飾４０４、次のアクティブウィンドウセット４０６、ウィンドウ装飾４０８、以下同様に、現在のアクティブウィンドウセット４１０、および現在のアクティブウィンドウ装飾４１２までである。最終的に、その他のオンスクリーン表示コンテンツがＣＤＤＣ４１４によって生成され、次いでカーソル情報が、その他すべての上に階層化されている。
【００８０】
図１１をさらに図解し、この実施態様の理解を助けるために、図２２は、異なるクラスの表示データの同時表示を可能にするための、デジタルディスプレイデータ合成器（ＣＤＤＣ）による、セキュアデジタルディスプレイデータ合成の方法８００のフローチャートを示し、ここで、各クラスの表示データは、一実施態様による、固有の独立したコンピューティングドメインに対応する。この方法は、以下を含む。
ステップ８１０：デジタルディスプレイデータ合成器によって、複数のデジタルデータ入力インターフェイスを介して、複数のデジタルディスプレイデータを受信する、ただしそれぞれのインターフェイスは、単一の独立したコンピューティングドメインからのデジタルディスプレイデータ出力インターフェイスに結合されている；
ステップ８２０：それぞれの独立したコンピューティングドメインに対する、デジタルディスプレイデータの所定の領域を識別する；
ステップ８３０：所定の領域についての順序付けを定義する；
ステップ８４０：所定の表示特性を、それぞれの識別された領域と関連づける；
ステップ８５０：定義された順序付けに従って、識別された領域と、独立したコンピューティングドメインのそれぞれからの関連付けられた表示特性とを、単一のデジタルディスプレイデータセットに合成する；および
ステップ８６０：デジタルディスプレイデータ合成器によって、合成されたデジタルディスプレイデータセットを、デジタルディスプレイデータ出力インターフェイス上に出力する。
【００８１】
デジタルディスプレイデータ合成器は、所定の表示特性を、それぞれの識別された領域と関連づける。これは、何らかの寸法、色および／もしくは線種、またはアニメーションの枠縁であってもよい。
【００８２】
ピクセル情報の階層化は排他的であり、高位層のピクセルコンテンツが存在する場合には、下位合成層についての情報が明らかにされないことを意味する。出力は、任意特定のピクセル場所における、最上合成層についての情報のみを含む。下層コンテンツは、より高位の層によって遮蔽されていない場合、すなわち、特定の画素位置に高位層コンテンツが存在しない場合には、見える状態のままである。
【００８３】
図１２は、ＣＤＤＣ１１０の実施態様によって受信されている３つの隔離されたドメインからの３つのビデオデータ出力４３０、４４０、４５０と、ビデオデータ出力の３つすべての、少なくとも一部を示す、結果としての合成された画面４００とを示す。図１２Ａでは、ＳＥＣＲＥＴドメイン４５０がアクティブであり、ＳＥＣＲＥＴドメインからのウィンドウ、この場合、タスクバーおよびＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄウィンドウ４５２が装飾４８０されて、最前のウィンドウとして合成されている。ＦＯＵＯ（公式使用専用：For Official Use Only）ドメインウィンドウ、例えばブラウザウィンドウ４３２が、次の最前のウィンドウとして描かれており、したがって、ＳＥＣＲＥＴウィンドウ、例えばＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄウィンドウ４５２と重複している。この表示配設とは対照的に、図１２Ｂは、モニタ表示においてＦＯＵＯドメインを最前面に示している。カーソル４６０は、すべてのウィンドウの上に描画される。アクティブドメインラベル４２０に加えて、仮想ボタン４７０も示され、ユーザがドメインを切り替えることを可能にする。
【００８４】
いずれかのドメインによって識別されるグラフィック領域のいずれにも対応しない、合成された表示の領域も、ＣＤＤＣによって描画される。これは、静的な背景であることを含むか、またはセキュリティポリシーに依存して、コンテンツの残部、すなわち現在アクティブなドメインからの未識別のコンテンツであり得る。このコンテンツが表示された場合でも、それをグレーアウト（gray-out）して、コンテンツがドメインによって識別されていないことをユーザに指示して、特定のなりすまし攻撃を防止する、オプションもある。
【００８５】
図１３は、それら自体のグラフィック要素を備えるそれら自体のデスクトップ４３０、４５０を論理的に有する、２つの個別の、隔離された（独立した）ドメインを図示するとともに、例示的に、それぞれのドメインからＣＤＤＣの表示インターフェイス入力ポートに供給されたデジタルディスプレイデータから、グラフィック要素（所定の領域）を識別し、次いで、これらの所定の領域が、ＣＤＤＣモニタ４上への表示のための単一のデジタルディスプレイデータ出力４００として合成される、ＣＤＤＣの実施態様を図示する。
【００８６】
デジタルディスプレイデータ合成器１１０は、デジタルディスプレイデータの識別された所定の部分と、すべての独立したドメインについての関連付けされた所定の表示特性とを、１つの合成されたデジタルディスプレイデータ出力に合成する。
【００８７】
図１０Ａから１３、およびその他は、独立したドメインの例を示しており、それらのドメインの１つに関連付けられた最前の視認可能なアプリケーションは、後方に位置するウィンドウ（複数を含む）は、異なる枠縁を有し、視界から部分的に隠されているのに対して、そのアプリケーションのウィンドウの枠縁の装飾のすべてが視認可能である点において、完全に視認可能である。好ましい実施態様では、最前の視認可能なアプリケーションおよび関連付けられたデスクトップアイコン、タスクバー、メニュー、デスクトップ通知、ツールヒント、その他に関連するドメインのみが、マウスやキーボード等の周辺デバイスからのデジタルデータを提供される。
【００８８】
合成された表示のスクリーンショットが、図１２Ａに示されており、ここでは、ＳＥＣＲＥＴアプリケーションウィンドウが最前であり、画面の上部が、アクティブアプリケーションウィンドウを装飾するために使用されるものと同じ色のドメインバナーで装飾されている。図１２Ｂは、ＦＯＵＯドメインがモニタ表示において最前にあることを図示している。図１２Ｃは、左側に３つの別個のアプリケーションウィンドウをより明確に示し、右側は、ＣＤＤＣ（図１２Ａ）によって供給される、合成されたモニタ表示を示す。図１２Ｄは、装飾されていない表示部分と、装飾された同じ部分との間の差を示す。この実施態様では、表示４４０内のウィンドウ４４２は装飾されておらず、合成出力４００に表示されるときには、ウィンドウ４４４およびタスクバー４４６には、枠縁が付加されている。
【００８９】
実施態様によっては、ＣＤＤＣは、セキュリティポリシーに応じて、関心領域が特定のドメインから識別されているかどうかにかかわらず、その特定のドメインからのコンテンツを選択的に表示するか、または表示しなくてもよい。
【００９０】
実施態様によっては、第１のドメインが、ディスプレイの部分を識別するための情報を提供しない場合、第１のドメインがアクティブであるとき、ＣＤＤＣは、そのドメインのデジタルディスプレイデータのみからの出力のみを示し、その他のドメインからの情報は示さない。ＣＤＤＣは、ドメインバナー、仮想ボタン、およびカーソルを含む、オンスクリーン表示コンテンツを、なお描画してもよい。第１のドメインがアクティブドメインでない場合、そのドメインからの情報はディスプレイに出力されない
【００９１】
デジタルディスプレイデータ合成器は、定義された順序付けに従って、独立したコンピューティングドメインのそれぞれからの、識別された領域と、関連付けられた表示特性とを、単一のデジタルディスプレイデータセットとして合成する。
【００９２】
オンスクリーン表示コンテンツ
ＣＤＤＣ生成オンスクリーン表示コンテンツは、システムの動作にとって非常に重要である。画面の上端のドメインバナーは、現在アクティブなドメインを指示するのに、ユーザによって暗黙的に信頼されている。このバナーと、デジタルディスプレイデータ出力の対応する領域は、ＣＤＤＣによってのみ描くことができる。同様に、各ウィンドウのまわりの装飾は、正しい色であるとともに、どのドメインにコンテンツが属するかを一意に識別する必要がある。ウィンドウ装飾に使用されるアルゴリズムは、明細書において後述される。
【００９３】
ＣＤＤＣは、信頼されるマウス入力を使用して、ユーザ対話のためにドメイン独立カーソルを駆動する。カーソルの完全な制御と、デジタルディスプレイデータ出力上に描く能力とを有して、ＣＤＤＣは、ユーザと通信すること、およびユーザにＣＤＤＣを制御させることの両方のために、任意に複雑なインターフェイスを作成することができる。簡単な例としては、図１０Ａから１０Ｃおよび図１２Ａに示されるように生成された、オンスクリーン仮想ボタン４７０が挙げられる。ＣＤＤＣの別の実施態様では、バナー４２０内の仮想ボタン４７０は、図１４および図１５に示されるように、カーソルがメニュー上でホバリングするときにドロップする、ドロップダウンメニュー４９０、および特定のドメインに割り当てられた色、または合成物に関連付けられた特定のセキュリティポリシーを制御して、合成物の特定の特徴を制御され得るようにする、その他のユーザインターフェイスアイテムと置き換えることもできる。
【００９４】
一実施態様では、ＣＤＤＣは、デジタルディスプレイデータを用いてモニタ上の容易に視認可能な場所に位置する、例えば、モニタのユーザに対して常時、視認可能な視覚的表示モニタの底部または頂部に沿って位置する、オンスクリーン表示バナーを生成する。このバナーは、例えば、色、テキストもしくはシンボル、またはこれらの組合せを用いて、ユーザに対して、どのドメインが現在アクティブであるか（本明細書ではドメインバナーと呼ばれる）、したがって、どのドメイン／エンクレーブ（enclave）に、したがってアプリケーションに、信頼されるキーボードおよび信頼されるマウスによって出力されるデジタルデータが現在、向けられているかを、指示することを意図している。一例として、モニタ上の最前の視認可能なアプリケーションウィンドウのドメインも、上述したように、どのウィンドウがアクティブであり、どのドメインからそれが提供されるかを明らかにするように、適切に装飾されている。
【００９５】
ヒューマンインターフェイス装置
一実施態様では、ＣＤＤＣは、それぞれのドメインのための別個のマウス／キーボードプロキシを提供し、これらのプロキシは、常時、論理的なヒューマンインターフェイスデバイス（ＨＩＤ）接続を維持する。信頼されるマウス／キーボード入力から導かれた、マウス位置およびキーボード入力は、ドメインがアクティブである場合には、特定のプロキシおよび対応するドメインにのみ転送される。このとき、他のドメインは、キーボード／マウス情報にアクセスができず、ユーザは、オンスクリーンドメインバナーによって、現在のドメインへと注意喚起される。
【００９６】
信頼されるキーボードおよびマウスからの入力は、アクティブドメインへ通過させる前にＣＤＤＣによって修正することができる。また入力は、ＣＤＤＣによって消費されてもよく、アクティブドメインへ、まったく通過させなくてもよい。
【００９７】
信頼されるマウスおよびキーボードからの入力は、ＣＤＤＣおよびその作用を制御するために使用することができる。例えば、信頼されるマウス移動およびマウスクリックを使用して、アクティブドメインを切り替えることができる
【００９８】
マウス／キーボード切替えによる制御の粒度は、ＣＤＤＣが、必要な場合には、ドメインとのより創造的なキーボード／マウス対話を行うことを可能にする。例としては、以下のことが挙げられる：画面上で、真の（ＣＤＤＣ生成された）マルチレベルセキュア（ＭＬＳ）仮想ボタンがクリックされると、すべてのドメインに対して同時クリックを送ること；ＣＤＤＣ生成されたオンスクリーン表示テキストフィールドがタイプ入力されたときに、すべてのドメインへのキーボード入力を複製すること；およびマウスの位置を、現在アクティブなドメインに反して、カーソルが現在その上をホバリングしているウィンドウ領域を所有するドメインに報知することができるようにすること。
【００９９】
データダイオード
データ漏洩を防止するために、一方向強制構成要素１１１が、各独立したコンピューティングドメインから受信された表示入力上に使用され、ＣＤＤＣからデジタルディスプレイデータインターフェイスを介してドメインへ戻る情報の流れを防止する（図８および１３を参照）。さらに、一方向強制構成要素１１３は、独立したドメインに送られたＨＩＤ出力上にも使用されて、独立したドメインからＨＩＤデータ経路を介してＣＤＤＣへの情報の流れを防止する。
【０１００】
切替えの詳細
好ましい実施態様では、ドメインを切り替えることは、選択されたドメインからのアプリケーションのセットまたはグラフィックィンドウ（複数を含む）を、合成された表示の最前の視認可能なウィンドウ（複数を含む）にならせ、したがってアクティブドメインにならせる。
【０１０１】
好ましい実施態様では、信頼されるキーボード入力とマウス情報が、同時に切り替えられる。それらの入力を、現在のアクティブドメインへと単に導く。
【０１０２】
ドメインを切り替える行為は、ドメイン間の物理的な隔離を常時、維持し、信頼されるキーボードまたはマウスの入力は、アクティブドメインではないドメインには送信されず、それぞれのドメインから表示されているものについての情報は、別のドメインによって推測され得ない。
【０１０３】
好ましい実施態様では、ユーザは、信頼されるポインティングデバイス入力（マウス）と、関連するＣＤＤＣインターフェイス要素とを単に使用することによって、ドメイン間の変更／切替えを行い、ＣＤＤＣ生成されたカーソルを、別のドメインのアプリケーションウィンドウの上のモニタ画面／ディスプレイ上に配置するとともに、同時に、マウス上のボタンをクリックすることができる。代わりに、ＣＤＤＣボックスの前面の物理的ボタン、またはポインティングデバイスによって操作される仮想オンスクリーン表示ボタンおよびクリックを使用して、ドメインを切り替えることが可能であり、または、さらにキーボード上の指定されたキーは、アプリケーション、したがってドメインの切り替えを開始することができる。
【０１０４】
ドメインソフトウェアの詳細
実施態様によっては、ＣＤＤＣによるグラフィック領域の識別および合成を支援するために、それぞれの独立したドメイン上で実行される信頼されないソフトウェアが、最初に独立したデスクトップ環境上でこれらの領域を識別するために使用される。次いで、この情報はＣＤＤＣに送られる。ＣＤＤＣは、この情報を使用して、それぞれのドメインからのどのグラフィック要素または領域が、ユーザに提示される最終的な合成されたデスクトップ環境の一部を形成すべきかを決定する。
【０１０５】
デジタルディスプレイデータ合成器は、それぞれの独立したドメインについて入力されたデジタルディスプレイデータの一部分を識別する。
【０１０６】
ホストコンピュータ／ドメインコンピュータは、個々のデスクトップ（所定の領域）内のグラフィック要素の位置を符号化する。一実施態様では、これは、タスクバー、アプリケーションウィンドウ、ダイアログボックス、アイコン、ツールヒント、メニュー等のようなデスクトップウィンドウ要素を含む。
【０１０７】
独立したドメイン上に常駐する任意のソフトウェアは、信頼できないと仮定される。したがって、ドメインソフトウェアは、重要なグラフィック領域を識別する際に、非協調的であり得るとともに、アプリケーションウィンドウ、デスクトップアイコン、タスクバーなどを有用に識別するのではなく、ソフトウェアは、その代わりに、ＣＤＤＣに不正確なまたは無用な情報を提供することがある。この事例では、デスクトップ環境内で領域について提供される情報が、ＣＤＤＣによってまだ装飾されているデスクトップ環境内で、正確であっても、あるいはなくても、ＣＤＤＣは依然として正確に動作する。装飾された領域は、有用なアプリケーションウィンドウでない場合があるが、ユーザは、どのドメインからそれらが由来しているかを見分けることができるとともに、オンスクリーン表示ドメインバナーが、ユーザに対して、信頼されるキーボードおよびマウスからの入力が現在、どのドメインに導かれているかを、確実に知らせる。
【０１０８】
一実施態様では、それぞれのドメインは、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（ＭＳＷｉｎｄｏｗｓ）７動作環境を実行する。ドメイン上に常駐する信頼されないソフトウェアは、グラフィック領域（アプリケーションウィンドウ、タスクバー、ダイアログボックス、メニュー、ツールヒントなど）を識別し、Ｗｉｎｄｏｗｓ  ＡＰＩ（登録商標）によってウィンドウのリストを列挙することによって、これを行う。このリストは、アプリケーションからタスクバー、ポップアップウィンドウ、ダイアログボックス、メニュー、およびツールヒントまでのすべてのもののためのウィンドウを含む。リストは、ウィンドウの適切なセットを決定するために検討され、処理される。Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）は一例にすぎず、他の動作環境、リアルタイムオペレーティングシステム、およびドメインベースのソフトウェアを同等に使用して、グラフィック要素の位置を識別して、ＣＤＤＣへ報告することができる。
【０１０９】
好ましい実施態様では、ドメインソフトウェアは、重複したウィンドウ領域、および、他のウィンドウ内に完全に包囲された、いくつかのアイテム、例えば、いくつかのツールヒント、ダイアログボックスおよびメニューを除去する。他のウィンドウによって完全にカプセル化されたウィンドウを無視することにより、よりクリーンなユーザインターフェイスが提供される。
【０１１０】
好ましい実施態様では、ウィンドウのｚオーダー（z-order）（デスクトップ環境上に表示されるアプリケーションウィンドウのスタッキングまたは階層化の順序）、場所、およびサイズが、次いで、ＣＤＤＣに転送される。典型的には、報告されたグラフィック領域の場所およびサイズは長方形である。
【０１１１】
一実施態様では、この情報は、ＣＤＤＣへのデジタルディスプレイデータストリーム内をインバンド方式で通過させられて、ＣＣＤによって信頼はされないが、使用される。他の実施態様では、ＵＳＢ、他の周辺チャネル、またはネットワークを介して、この情報を送ることができる。
【０１１２】
一実施態様では、ソフトウェアは、それぞれのドメイン５１０のための表示されたデスクトップ環境のうちの、上端部のような予約部分５２０、例えば、画面の上端４０ラインの単独の制御を行う。この場所または予約部分５２０において、ソフトウェアは、製図キャンバス（drawing canvas）を用いて、デジタルディスプレイデータ内をインバンド方式でＣＤＤＣへ情報を送る。送られる情報は、基本的に画面上に描かれる、画素値に符号化される。他のデスクトップ環境グラフィック要素が、この予約された部分（または区域）に位置することが防止され、インバンド情報が、他のウィンドウによって覆い隠されるのを防止する。このことが、図１６Ａおよび１６Ｂに示されている。図１６Ａは、インバンド方式でＣＤＤＣに情報を通信するために使用される予約部分を含む、ドメイン用の表示されたデスクトップ環境であり、図１６Ｂは、図１６Ｂの予約部分５２０におけるインバンド情報５２２の拡大図を表示する。キャンバスの一部分（予約部分５２０を占める）は、情報を通信するために使用され、インバンド情報５２２の拡大図が示されており、これは、特定のドメインからＣＤＤＣによって受信された実際のデジタルディスプレイデータである。絵で表わされているように、全データ利用可能な予約部分５２０内のデータ（情報）の小部分は、インバンドウィンドウ識別プロトコル５２２を収納する。
【０１１３】
好ましい実施態様では、ＣＤＤＣは、合成されたデスクトップ環境の同じ最上部分を使用して、ドメインバナー４２０を表示して、現在アクティブなドメインをユーザに指示する。これによって、ＣＤＤＣによって生成された出力合成物に、インバンドウィンドウ位置決め情報５２２が示されていない、クリーンなユーザインターフェイスが提供される。好ましくは、各表示は、同サイズの予約部分５２０を使用するか、または異なるドメイン間の異なる解像度を考慮に入れるために、ドメインバナー４２０内に、またはそれと同一サイズで全体的に包含されている、ＣＤＤＣによって生成された出力合成物（すなわち、合成されたデジタルディスプレイデータ）において、同一サイズにされた領域を占める。
【０１１４】
好ましい実施態様では、ドメイン側ソフトウェアはまた、カスタマイズされたノーカーソルテーマ（no cursor theme）を使用して、ローカルに生成されたカーソルを隠す。このカーソルを隠すことにより、複数のカーソルが複数のドメインから表示されるのが防止され、ユーザが、ＣＤＤＣオンスクリーン表示描画カーソルのみを用いて、ＣＤＤＣを操作して、それを介して対話することを可能にする。
【０１１５】
実施態様によっては、ドメイン側ソフトウェアは、同じインバンド通信機構を用いて、現在のカーソル形状のビットマップを介してＣＤＤＣへ届けることができる。このカーソル情報は、特定のドメインからのウィンドウと対話するときに、オンスクリーン表示カーソルを特定の形状に描画させるために使用することができる。
【０１１６】
一実施態様では、インバンド情報をＣＤＤＣに配信するためのパケットベースのプロトコルが、ヘッダ（識別子、長さ、カウント、ＣＲＣチェック、タイプ）とデータ（グラフィック領域情報）セクションで構成される。未処理のピクセルデータとして符号化された、これらのパケットは、ＣＤＤＣとインバンド方式で通信するために、それぞれの独立したドメインに対して、デスクトップ環境上、典型的には、ドメインバナー領域内に表示される。ソフトウェアは、デスクトップ環境におけるグラフィック要素のサイズおよび位置を連続的に監視しており、表示されたプロトコルデータを直ちに更新している。複数のパケットを、ドメイン側ソフトウェアによって同時に、組み合わせて、描いて、表示することができる。
【０１１７】
デジタルディスプレイインターフェイスを使用する実施態様によっては、表示フレームは、６０Ｈｚの周波数でＣＤＤＣに対して更新される。ＣＤＤＣは、リアルタイムでインバンド情報を抽出し、同一の表示フレーム中に識別されたグラフィック領域を合成し、装飾することができる。
【０１１８】
高レベルハードウェア記述
好ましい実施態様では、ＣＤＤＣは、完全にハードウェアベースのデバイスである。合成物、オンスクリーン表示コンテンツ、信頼されるキーボード／マウス操作、およびドメイン切替えは、すべて専用のハードウェアコンポーネントによって扱われる。専用ハードウェアの使用は、合成された出力およびデバイスの操作を、ソフトウェアベースのソリューションよりも本質的により信頼できるようにする。ハードウェアベースのソリューションは、ソフトウェアベースの隔離に依拠するデバイスにおけるよりも、コンポーネント間で、より厳密な物理的隔離を維持することを可能にする。このことは、マルチレベルセキュアユーザインターフェイスにおける非干渉性と機密性保証の両方に対して非常に重要である。
【０１１９】
ハードウェアベースのソリューションは、悪意のあるソフトウェア攻撃に対して脆弱ではなく、高保証環境に対する認承を受けやすい。
【０１２０】
図１２は、ＣＤＤＣの一実施態様、すなわち、３つの独立したドメインから３つのデジタルディスプレイ入力を受け入れて、ウィンドウ装飾、オンスクリーン表示コンテンツを付加して、カーソルを描画することを含めて、これら３つのドメインからのデータを合成し、信頼されるデジタルディスプレイにデータを出力する、デバイスを示す。デジタルディスプレイ入力上の一方向強制構成要素は、個々のドメインへのデータ漏洩を防止する。信頼されるキーボードデバイスは、合成器によって３つのドメインのうちの１つの間で、その入力が（相互に排他的に）切り替えられる。信頼されるマウス入力が合成器によって使用され、カーソルのオンスクリーン表示を駆動する。このカーソルの位置もまた、合成器によって３つのドメイン間で排他的に切り替えられる。
【０１２１】
図９Ｂから９Ｄは、ＣＤＤＣ１１０の物理的な実施態様の３つのビューを示す。この実施態様では、ＣＤＤＣ１１０は、パワーソケット３６２、パワーボタン３６４およびパワーインジケータ３６６を有する、ハウジング３６０を含む。ＣＤＤＣはまた、３つのディスプレイポート入力３０１、３０２、３０３を含み、３つのドメインから合成物を、ディスプレイポート出力３０７上に出力する。ハウジングの前面の３つの物理的ボタン３６１、３６２、３６３は、アクティブドメインの切替えを制御することができる。３つの物理的ボタン３６１、３６２、３６３にはまた、それぞれ発光ダイオード３６４、３６５、３６６が組み込まれており、現在アクティブなドメインのさらに信頼される表示（すなわち、ドメインインジケータ２０３）を提供する。別個のＵＳＢタイプＢ周辺インターフェイスポート３０４、３０５、３０６が、それぞれのドメインに接続するために存在する。２つの別個のＵＳＢタイプＡインターフェイスポートが、信頼されるキーボード３０９と信頼されるポインティングデバイス３０８とをＣＤＤＣに接続するために存在する。図９Ｃは、ハウジングの上半分を除いた内部図を示し、ポート接続、ＦＰＧＡ２１０およびＤＤＲインターフェイス３７０を提供するＤＤＲ３ソケット３６９を備える、回路基板３６８を示す。
【０１２２】
ハードウェア記述、ブロック図レベル
一実施態様では、ＣＤＤＣ１１０は、図１７に示されたブロック形態をとり、この図は、さらに別の実施態様の簡略化されたブロック図を示す。３つの物理的に隔離されたディスプレイポート入力＃１、＃２、＃３、３０４、３０５、３０６は、３つの独立したドメインから表示データを受信する。この記載の実施態様では、３つのドメインが示されているが、２つのドメインのみを有することが可能であり、また、４つ以上のドメインを含むことも可能であり、ＣＤＤＣは、本明細書に記載されるように、それぞれの場合において類似の配列である。この配設は、シームレスに拡大縮小可能である。
【０１２３】
１つの物理的に隔離されたディスプレイポート出力３０７は、デジタルディスプレイデータを、ディスプレイデバイス、例えば、信頼されるモニタに送る。
【０１２４】
好ましい実施態様では、それぞれのドメインからのディスプレイポート入力上のデジタルディスプレイデータの解像度は同一である。また、ディスプレイポート出力上のデジタルディスプレイデータの解像度も入力と同じである。同じ解像度は、ピクセル処理によるピクセルを、それぞれのドメインについて同じ物理的解像度にわたってピクセル毎処理を行うことを可能にすることによって、合成を簡略化する。それはまた、同様のソフトウェアを動作させる、同様のドメインが、同一サイズのデスクトップ領域、例えばタスクバーおよびデスクトップアイコンを生成する、便利なインターフェイスを提供する。結果として得られる合成物は、使用するのに、認識的により直感的である。
【０１２５】
２つのユニバーサルシリアルバス（ＵＳＢ）ホストプロキシデバイス３０８、３０９は、ＣＤＤＣを制御して、独立したドメインと統一された方法で対話するために、ポインティングデバイス（典型的には、マウス）およびキーボードのような信頼される入力装置を接続するために使用される。ホストプロキシデバイスは、ＵＳＢ標準通信プロトコルを介して、キーボードおよびマウス入力デバイスに通信する。キーボードおよびマウス入力は、次いで、簡略化されたフォーマットでシリアル周辺インターフェイス（ＳＰＩ）リンク３１８、３１９を介してさらに通信される。簡略化されたフォーマットは、ドメイン間の入力デバイスデータの高速かつ安全な切替えを容易にする。
【０１２６】
３つのＵＳＢクライアントプロキシデバイスが、同じ３つの独立したドメインのそれぞれに対して、キーボード／マウス入力＃１、＃２、＃３、３０４、３０５、３０６を提供するのに使用される。ＵＳＢクライアントプロキシは、簡略化されたフォーマットで、ＳＰ１リンク３１８、３１９を介して、キーボード／マウス情報を受信する。クライアントプロキシは、この情報を、ＵＳＢプロトコルを介して独立したドメインに転送する。クライアントプロキシは、常にアクティブであるが、典型的には、それらがアクティブドメインに接続されているときに、ＳＰＩリンク３１４、３１５、３１６を介して、データを受信するだけである。
【０１２７】
簡略化されたキーボード／マウスデータ用の、ディスプレイポート入力３０１、３０２、３０３と、ディスプレイポート出力３０７と、ＳＰＩ接続３０４、３０５、３０６、３１４、３１５、３１６、３０８、３０９、３１８、３１９は、Ｘｉｌｉｎｘ  Ｉｎｃ．から入手可能である、Ｘｉｌｉｎｘ  Ｋｉｎｔｅｘ  ７タイプのフィールドプログラマブルゲートアレイ（ＦＰＧＡ）２１０に直接接続されているが、任意好適なＦＰＧＡで十分である。
【０１２８】
実施態様によっては、ＦＰＧＡは、ＣＤＤＣ製品メーカによって一度限りプロセス（once only process）でプログラム可能であり、プログラムされた後に変更不可能である。ＦＰＧＡは、「ロジックブロック」と呼ばれるプログラマブルロジックコンポーネントと、ブロックを「ワイヤード（wired）」にすることを可能にする、再構成可能な相互接続の階層とを含む。ロジックブロックは、複雑な組合せ機能、またはＡＮＤおよびＸＯＲのような単に単純なロジックゲートを実行するように構成することができる。ほとんどのＦＰＧＡでは、ロジックブロックは、簡単なフリップフロップまたはより完全なメモリのブロックとしてもよい、メモリ要素も含む。
【０１２９】
ＦＰＧＡは、この実施態様においては、メモリチップとＦＰＧＡとの間の６４ビット幅データ交換ルートを利用する、１ＧＢ容量のダブルデータレート型スリー（ＤＤＲ３）ＳＤＲＡＭ（Synchronous Dynamic Random-Access Memory）メモリチップの形態の、ランダムアクセスメモリにアクセスする。
【０１３０】
この実施態様では、ＦＰＧＡは、ユーザがモニタ上で閲覧するための、デジタルディスプレイデータ出力を提供すること、および、ＦＰＧＡがデータの転送を許可する場合、およびその場合にのみ、前述したキーボード／マウスデータを、それぞれのＵＳＢクライアントプロキシを介して導くことを含み、ＣＤＤＣの機能の大部分を実行する。すなわち、データ（マウスまたはキーボード）は、適切な表示特性がデジタルディスプレイデータの関連領域と関連付けられるまで、いずれのドメインによっても受信されない。この実施態様におけるこの特性は、信頼されるＦＰＧＡプロセスによって強制されている。
【０１３１】
ハードウェア―ＦＰＧＡ記述、模範的実装ＣＤＤＣ
一実施態様では、ＦＰＧＡ２１０内のＣＤＤＣ機能は、さらに別の実施態様の簡略化されたブロック図を示す、図９Ａに示された形態をとる。図９Ｂから９Ｄは、ＣＤＤＣの物理的な実施態様の様々な図を示す。
【０１３２】
３つのディスプレイポート入力３０１、３０２、３０３は、（表示されていない）一方向データ配設、例えば、（ソフトウェアに加えてハードウェアにおける）隔離デバイスまたは配設、またはＣＤＤＣシステム内で情報／データの一方向の流れを物理的および論理的に強制する、データダイオードを介して、３つの独立したドメインからデジタルディスプレイデータを受信する。本実施態様では、各ディスプレイポート受信器３１１、３１２、３１３は、ＦＰＧＡファブリックの構成を通過するデータフローの一方向性を、物理的に強制する。
【０１３３】
一実施態様では、ディスプレイポート入力３０１、３０２、３０３およびディスプレイポート出力３０７は、ディスプレイポートプロトコルを実現するためのＸｉｌｉｎｘ  ＩＰコアを使用する。３つのディスプレイポート受信器３１１、３１２、３１３と１つのディスプレイポート送信器３１７とが必要である。
【０１３４】
合成を容易にし、独立したドメインのデジタルディスプレイ出力間のタイミング差を補償するために、ドメインのそれぞれからのデジタルディスプレイデータストリーム（ビデオストリーム）を同期させてもよい。
【０１３５】
独立したドメインからのビデオストリームを同期させるために、ディスプレイポート入力からのデジタルディスプレイデータは、ＦＰＧＡに取り付けられた外部ＤＤＲ３メモリ内の独立したフレームバッファにそれぞれ導かれる。この実施態様では、これは単一のメモリコンポーネントである。
【０１３６】
好ましい実施態様では、物理的に別個のメモリコンポーネントが、それぞれの独立したドメインフレームバッファ３２ｌ、３２２、３２３用に設けられる。
【０１３７】
一実施態様では、３フレームバッファが、それぞれの独立したデジタルディスプレイデータストリーム用に使用されて、フレームの円形アレイを実現するとともに、フレームをスキップするか、またはフレームを反復するかのいずれかの周知のビデオバッファリングプリミティブを利用して、フレーム競合を防止する。一旦バッファリングされると、各デジタルディスプレイデータストリームからの最前のフレームは、ＦＰＧＡロジックの残部によって同時に読み出されて処理されて、ウィンドウ識別、合成、および装飾を含む、所望のＣＤＤＣ機能を実現することもできる。
【０１３８】
図９Ａにおいて、ＦＰＧＡは、ドメインサーバまたはドメイン上のコンピュータデバイスによって生成された、デスクトップディスプレイ内のアプリケーションデータおよびその他のデータを含む、表示データの所定部分の識別のために、それぞれのドメインから受信されたデータ（例えば、デスクトップのグラフィック表現）を処理することができるように、ＤＤＲインターフェイス３３０を介してＤＤＲ３メモリ２０８にアクセスする。ドメインに応じて、この明細書中のどこかに記載されているように、様々な形態の装飾が、特定のドメインのウィンドウに付加されるとともに、どのドメインがユーザに使用可能であるとして提示されるかに応じて、ＦＰＧＡは、すべての関係するドメインの様々なウィンドウを合成して、ユーザが閲覧するために、ＦＰＧＡから直接モニタへのディスプレイポート出力として送信される、ディスプレイポートのモニタ用の表示を準備するようにプログラムされている。
【０１３９】
ユーザは、この実施態様では、コンピュータデバイスと、マウスやキーボードなどの周辺デバイスとの間での接続、通信および電力供給に使用可能な、ＵＳＢ標準通信プロトコルを受信するための、専用ＳＰＩポート３０８、３０９を介して、ＦＰＧＡ中にデジタルデータを供給する、ポインティングデバイス（典型的にはマウス）やキーボード（図９Ａには図示せず）などの、信頼される入力デバイスが提供される。これらのデバイスは両方とも、データ、すなわちマウスの場合には、マウスの動きを表わすマウスデータ、およびマウス上の１以上のコントロール（例えば、マウスホイールなど）の変動性、ならびにキーボードの場合には、キーストロークを表わすデータ、を通信する。データは、ＦＰＧＡ内にある、ＵＳＢホストへのＳＰＩインターフェイス／バッファ（SPI interface and buffer）３１８、３１９において、ＦＰＧＡによって受信される。これらのバッファのデータ出力は、その設定がＦＰＧＡによって制御される、ヒューマンインターフェイスデバイス（ＨＩＤ）スイッチ３１０を介して導かれる。好ましい実施態様では、スイッチは、１つのドメインだけが、一時に、マウスおよびキーボードからデータを受信することを可能にするように構成されている。さらに、図示されていないが、周辺デバイスによって生成されたデータがＦＰＧＡから流出することを可能にする一方向データデバイスがあるが、データは、ドメインから、ＨＩＤスイッチ出力３３０とドメイン（ポート３０４、３０５、３０６）の間に位置する、ＳＰＩインターフェイス／バッファ３１４、３１５、３１６を介してＦＰＧＡ中には流れ込むことはできない。
【０１４０】
それぞれのドメインからのデジタルディスプレイデータのフレームにアクセスすることにより、ＦＰＧＡは、合成器ブロック３４０を介して合成されたデジタルディスプレイ出力を作成することができる。一実施態様では、ＦＰＧＡは、入力フレームバッファを、ピクセル毎に、左上から右下にラスタ状に構文解析してそれに作用し、フレームは、処理されて、新たな合成デジタルディスプレイデータ出力フレームが、デジタルディスプレイ用に、元のフレームレート、典型的には６０Ｈｚで作成される。
【０１４１】
一実施態様では、ＦＰＧＡは、それぞれのドメインについてのピクセルデータを解析して、デジタルディスプレイデータ内のインバンド情報を識別する。現在のフレームにおけるそれぞれの識別された領域の場所、サイズ、およびｚオーダーが、次に、それぞれのドメインについて抽出され、ＦＰＧＡ内に別個に記憶される。一実施態様では、ＦＰＧＡが関心領域を復号するとき、ＦＧＰＡはまた、装飾枠縁を表わすために、わずかに大きな領域を記憶する。
【０１４２】
合成された出力を生成するときに、ＦＰＧＡは、ドメイン画素データまたは装飾データを表示するかどうか、およびどちらのドメインからそれを示すべきかを判定する。ＦＰＧＡは、これを各ピクセルに対して、リアルタイム、すなわち単一のＦＰＧＡロジッククロックサイクルで、行うことができる必要がある。実施態様によっては、パイプライン処理を用いて処理を分断してもよい。
【０１４３】
一実施態様では、ＦＰＧＡは、固定された数の専用比較器を実現して、処理されている現在のピクセルの場所と、識別された領域の場所および識別された装飾領域とを比較する。
【０１４４】
一実施態様では、ＦＰＧＡにおけるパイプライン化プロセスを使用して、中間画素値（ドメインのそれぞれに対して１つ）を作成し、ドメインコンテンツの装飾を表わす。ＦＰＧＡは、記憶された領域および装飾領域の情報に基づいて画素値を演算する。これにより、それぞれのドメインから関心領域のみを選択的に操作し、それぞれの関心領域に装飾を施す。ドメイン内の識別された領域のｚオーダーに注意が払われて、階層化において、最前領域の装飾が優先されることを確実にする。各ピクセル場所に対して、識別された領域に対する元のドメインコンテンツ、識別された領域のまわりの装飾コンテンツ、またはそうでなければ透明ピクセル値によって表わされる無コンテンツ、を表示するかどうかを選択的に選ぶことによって、装飾は付加される。一実施態様では、装飾は、３画素幅の着色された枠縁であった。この中間ステップの表現が図１２Ｄに示されており、ここでは、タスクバー４４１およびウィンドウ４４２を含む非装飾表示部分４４０が、それぞれの枠縁４４３、４４４を付加されて、合成表示４００を生成する。
【０１４５】
次いで、中間値が互いに組み合わされ、合成されたコンテンツを表わすように単一のピクセル値が選択される。選択されたピクセル値は、ドメインの順序付け依存する。好ましい実施態様では、最初に最前のドメインからの中間値に優先権が与えられる。
【０１４６】
ＦＰＧＡはドメインの順序付けを維持し、最前のドメインはアクティブドメインであり、第２最前ドメインは最後のアクティブドメインであり、以下同様であった。
【０１４７】
透明な画素値に遭遇する、合成および階層化を容易にするために、異なるドメインからの合成出力が作成されることを可能にするピクセル値に対して、次の最前のドメインコンテンツが選ばれ、この中間ステップの表現が、図１１に示されている。
【０１４８】
一旦、合成されたピクセル値がドメインおよび装飾コンテンツから作成されると、ＦＰＧＡは、さらなるパイプライン処理ステップにおいて、オンスクリーン表示コンテンツを追加する。
【０１４９】
一実施態様では、バナー４２０は、合成された出力の上端に描画され、出力の最初の４０ラインにおけるすべてのピクセルを覆う。このバナー４２０は、２つの目的を達成する：インバンド情報を送信するためにドメインによって使用される区域を覆う；および、色およびいくつかの描画されたテキストによって、現在アクティブなドメインを一意に識別する。重要なことは、ドメイン生成されたコンテンツはこの区域には存在し得ず、ＣＤＤＣの完全な制御下にあることが信頼される。
【０１５０】
最終ステップでは、ＦＰＧＡはカーソル４６０を描画する。ＣＤＤＣは、信頼されるマウス入力からの入力に基づいて、カーソル４６０の位置を制御する。カーソル場所の近傍のピクセルを処理するとき、ＦＰＧＡは、カーソルコンテンツを描くように選択的に選ぶ。一実施態様では、カーソルコンテンツは、馴染みのあるデスクトップ矢印の、ＦＰＧＡに記憶されたビットマップである。一実施態様では、カーソルの形状は、信頼されない独立したドメインから受信されたカーソル情報によって影響されることがある。この実施態様では、カーソル形状は、特定のドメインがアクティブである間にのみ表示され、カーソルは、現在、アクティブドメインに関連付けられたコンテンツ上に位置付けられる。
【０１５１】
すべてのドメインから透明なコンテンツを有する、すなわち、関心領域の無い、表示の部分に対して、ＦＰＧＡは、いくつかの事を行うことができる：それ自体の背景色、例えば、アクティブドメイン装飾の色を描画する；または、アクティブドメインの実際の背景を描画する。一実施態様では、アクティブドメインの背景が描画されるが、それはグレーアウトされる。好ましい実施態様では、中間ステップからのコンテンツのいずれも、２、３のＦＰＧＡロジッククロックサイクルよりも長くは存在しない；最終的に合成されたデジタルディスプレイデータ出力でも、ディスプレイポートインターフェイスから送進される前に、わずかにバッファリングされるだけである。
【０１５２】
様々な方法が、アクティブドメインを切り替えるために使用される。一実施態様では、記憶された領域情報および装飾情報を使用して、左のマウスボタンがクリックされる毎に、ＦＰＧＡハードウェアが、クリックの場所をチェックする。カーソルが、現在アクティブなドメイン以外のドメインから表示されたコンテンツまたは装飾上に、現在、存在している場合、ＦＰＧＡは、クリックされたドメインがアクティブドメインとなり、その他のドメインが順序を落とされるように、ドメインの順序付けを更新する。
【０１５３】
一実施態様において、オンスクリーンディスプレイ合成ステップでは、ＦＰＧＡは、図１０Ａ〜１０Ｃおよび１１に示されるように、画面の右上にいくつかの基本ボタン４７０を描画する。これらのボタンは、ドメインのそれぞれを表わす。カーソルがこれらのボタンのいずれか１つの上に位置している間に、左のマウスボタンがクリックされると、アクティブドメインは、ボタンによって表わされるドメインと一致するように更新される。
【０１５４】
実施態様によっては、ＣＤＤＣはまた、ユーザがアクティブドメインを切り替えることができるようにする、ハウジング（例えば、前面）上の物理的なボタンも有する。ハウジング上に位置するＬＥＤのようなインジケータが、どのドメインがアクティブであるかを示すことができる。これは、物理的なボタンと一体化されるか、またはボタンに隣接して位置してもよい。
【０１５５】
マウスは、複数のドメイン間の信頼境界を横切ることができる唯一の要素である。マウス移動は、ＦＰＧＡ内で、ＣＤＤＣによって解釈され、記憶される。ＦＰＧＡは、再構成可能なロジックにおいて、マウスのための絶対位置決めドライバを実現し、マウスカーソルの現在位置を記憶し、それをデジタルディスプレイデータ出力の解像度上にマッピングするように制限する。ＦＰＧＡはまた、取り付けられたマウスからの、すべてのボタン押下情報およびスクロールホイール情報を受信する―図８および９を参照。
【０１５６】
計算された絶対マウス位置およびその他の未処理のマウスイベントは、適切なドメインへの配信のためにＦＰＧＡによってバッファリングされる。
【０１５７】
キーボードキーストロークは、適切なドメインへの配信するためにＦＰＧＡによってバッファリングされる―図８および９を参照。
【０１５８】
一実施態様では、ＵＳＢ  ＨＩＤクライアントプロキシは、合成キーボード／マウスＨＩＤデバイスを実現する。一実施態様では、それは、ＦＰＧＡからのＳＰＩ入力と、単一ドメインへのＵＳＢ出力とを有する、Ｃｙｐｒｅｓｓ  ＰＳｏＣ  ＩＣである。ドメインに差し込まれると、それは連続的な接続を維持する
【０１５９】
ＦＰＧＡは、独立したドメインに接続されたＵＳＢクライアントプロキシ間で、バッファリングされたキーボード／マウスデータを切り替える。この切替えは、アクティブドメインが更新されるときに行われる。
【０１６０】
ＦＰＧＡは、切替えが発生する前に、受信されて記憶されたすべてのキーボード／マウス情報が、切替えが発生した時点において、アクティブドメインに配信されることを保証する。さらに、ＦＰＧＡは、切替えが発生した後に、受信されて記憶されたすべてのキーボード／マウス情報が、任意の新たにアクティブになるドメインに配信されることを保証する。
【０１６１】
１つの実施態様では、キーボードへの電力は、キーボード周辺デバイス内に存在する可能性のある、いくつかの過渡記憶カバートチャネル（transient storage covert channel）を軽減する、ドメイン切替え中に、除去することができる。
【０１６２】
アクティブドメインに接続されたＵＳＢクライアントプロキシは、そのＳＰＩリンクを介してキーボード／マウスデータを受信し、これをドメインに報告する。その他のＵＳＢプロキシは、データを受信せず、また更新されたキーボード／マウス情報をドメインに送信しない。重要なことは、ドメインは、ＣＤＤＣキーボード／マウスデータストリームに接続または、それから切断されていることを認識していないことである、その代わりに、あたかもマウスが移動を停止されて、キーボードがタイプされていないかのように見える。
【０１６３】
絶対位置決めデバイス型のマウスを実現するプロキシによって、シームレスなマウスの切り替えが達成される。これにより、ドメイン間でマウスが切り替えられる際のいかなる同期問題も防止することができる、すなわち、カーソルは、最後に領域から出た場所からピックアップすることはなく、代わりに、カーソルは、ＣＤＤＣによって維持されるカーソル位置が位置する場所に導かれる。
【０１６４】
セキュリティポリシー管理
ＣＤＤＣのセキュリティポリシーは、受信されたデジタルディスプレイデータおよびヒューマンインターフェイスデバイスデータを用いて、ＣＤＤＣがどのように動作するかを決定する。これには、装飾（色、幅、オン／オフ等）を制御すること；どのドメインが示されるかを制御すること；どのドメインがアクティブであり得るかを制御すること；およびどのドメインがキーボード入力（例えば、読出し専用／閲覧専用ドメイン）を受信できなくするかを制御すること、が含まれる。
【０１６５】
ＣＤＤＣのセキュリティポリシーは、多くの方法で構成することができる。ポリシーはＣＤＤＣに格納され、それによって実現される。いくつかの例としては、ポリシーは、構築時に更新され、ＣＤＤＣ内の不揮発性メモリに記憶され、特定の環境に対して静的なＣＤＤＣ構成だけを提供する；ＣＤＤＣ上の別個の管理者インターフェイスを介して管理者によって更新される；またはリムーバブルメディアデバイス、例えばスマートカード上のＣＤＤＣに対して提供される、ことが挙げられる。
【０１６６】
アプリケーションおよび使用事例
ＣＤＤＣに対する典型的な使用事例は、安全な方法で、単一の統一されたユーザインターフェイスから、独立したコンピューティングドメインを組み合わせて、それにアクセスすることである。
【０１６７】
独立して隔離されたドメインは、多くの産業において存在し、安全で統一されたデスクトップインターフェイスを有することから利益を得ることができる。例としては、防衛環境において異なるセキュリティ分類ドメインを組み合わせること；商業的な世界において、独自のデータソース環境を、信頼性の低いインターネット向き環境と組み合わせること、例えば、金融機関において所有権のある会計データ処理を、インターネット閲覧と組み合わせること；および工業環境において、ＳＣＡＤＡインターフェイスをインターネット向きドメインと組み合わせること、が挙げられる。
【０１６８】
さらに、ＣＤＤＣを、例えば、ドメインがＣＤＤＣの能力を認識している、カスタマイズされたアプリケーションに使用することができる。例えば、ＣＤＤＣを使用して、複数のドメインからの重複する視覚情報を、新たな出力と組み合わせるか、または融合させてもよい。このようにして、例えば、隔離されたドメインからのコンテンツまたはグラフを、任意の１つのドメイン上のデータの完全性を妥協することなく、重ね合わせて、同時に閲覧することもできる。より詳細な例は、ＣＤＤＣを使用したクロスドメインアプリケーションの作成を実証するこの明細書において、後に提供される。
【０１６９】
拡張およびアプリケーション
ＣＤＤＣ概念を拡張し、特定の具現体（incarnation）を実現するための多くの可能性がある。複数ドメイン間でヒューマンインターフェイスデバイス（ＨＩＤ）、例えば、キーボードまたはマウス入力を切り替える能力と組み合わされた、ピクセルコンテンツを修正、増強、作成、移動する能力は、場所に応じてＣＤＤＣによって強制可能な変動するセキュリティポリシーで、固有のユーザインターフェイスおよびアクセスクロスドメインソリューションの多くの機会を提供する。
【０１７０】
合成物およびマウス／キーボード対する完全な制御が与えられると、以下のような、ＣＤＤＣによって多くの異なる動作およびセキュリティポリシーを実現することができる：
非アクティブドメインの要素をグレーアウトするが、なおそれらの要素と対話することができる；
カーソルがモニタ画面区域内で移動されるときに、カーソルがドメイン間で切り替わることを可能にする；
自然な順序でドメインウィンドウを散在させる；
カーソルが、そのドメインに関連付けられたウィンドウ上に位置するとき、ドメインによってカーソル情報が提供される；
ピクチャ・イン・ピクチャ型または分割スクリーン型の合成；
非装飾コンテンツ上のときに、カーソル操作は、例えば、右マウスクリックをアクティブドメインのデスクトップへ送る；
キーボード入力またはマウスの入力を受け付けない、閲覧専用／読出し専用のドメイン；および
合成された出力における、グラフィック要素の再配置。
【０１７１】
管理された情報フロー
ＣＤＤＣのアクセスクロスドメイン能力が、同様に、伝達クロスドメイン能力と組み合わされるか、またはそれを提供するために使用される場合に、さらなる拡張および改善が可能である。このことは、多くの異なるアプリケーションの機会をもたらす。
【０１７２】
一実施態様では、ＣＤＤＣは、独立したドメイン間の情報伝達を制御することができる。
【０１７３】
一実施態様では、１つのドメインからのデジタルディスプレイデータ出力と別のドメインへのヒューマンインターフェイスデバイス入力だけを使用して、ＣＤＤＣは上方を伝達することができる。この情報の伝達は、ＦＰＧＡロジック内に実装されたセキュリティポリシーによって管理される。このセキュリティポリシーは、それに限定されるものではないが、帯域幅、コンテンツ、方向性、発信ドメイン、宛先ドメイン、タイミング、およびフォーマットを含む、伝達される情報に制限を課してもよい。
【０１７４】
ＣＤＤＣが典型的なデスクトップ環境で使用される、一実施態様では、独立したドメイン間で、情報の安全な「カット＆ペースト」を達成することができる。一実施態様では、この「カット＆ペースト」に含まれるステップは、以下を含む：
第１のドメイン上の信頼されないドメインソフトウェアが、ユーザのデスクトップコンピューティング環境から、いくつかの情報をカットまたはコピーをするというユーザの要求を捕捉するステップ。
第１のドメイン上の信頼されないドメインソフトウェアが、この情報を、既存のインバンド識別情報と共に、デジタルディスプレイデータ内をインバンドでＣＤＤＣへ送るステップ。
ＣＤＤＣが、この情報を認識し、この情報を記憶し、この情報にセキュリティポリシーを適用するステップ。
第２のドメイン上の信頼されないドメインソフトウェアが、ユーザのデスクトップ環境に情報をペーストするという、ユーザの要求を捕捉するステップ。
第２のドメイン上の信頼できないドメインソフトウェアは、既存のインバンド識別情報と共に、この要求情報をデジタルディスプレイデータ内をインバンド方式でＣＤＤＣへ送るステップ。
ＣＤＤＣが、この第２のドメインからの要求情報を認識するステップ。
ＣＤＤＣが、第２ドメインへのヒューマンインターフェイス装置（ＨＩＤ）入力を使用して、第１のドメインから受信された、記憶され処理された情報を第２のドメインに転送するステップ。
第２のドメイン上の信頼されないドメインソフトウェアが、処理された情報を受信し、それをデスクトップ環境へペーストするステップ。
【０１７５】
ＣＤＤＣ上のセキュリティポリシーは、異なるドメイン間で情報フローが許容されるかどうかを決定することができる。
【０１７６】
一実施態様では、伝達された情報は、第１のドメイン上で実行されているＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄアプリケーションからカットされ、第２のドメイン上で実行されているＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄアプリケーションに送られた、いくらかのテキスト、または、画像であってもよい。
【０１７７】
管理された情報フローは、ＣＤＤＣ動作とは別個に発生することも可能である。これの例としては、商業的に入手可能なデータダイオードを利用して、１つのドメインから別のドメインへ一方向に情報を確実に伝達することがある。
【０１７８】
閲覧専用ドメイン
ＣＤＤＣが特定のドメインを閲覧専用または読出し専用にする実施態様は、そのドメインがモニタリングのためにだけ使用される場合に有用であり得る。一例としては、ＣＤＤＣを使用してＳＣＡＤＡシステムとインターネット向きデスクトップ環境を組み合わせることがある。この実施態様では、ＳＣＡＤＡシステムは、合成されたシステムのユーザによって、いずれの方法でも、制御され得ないか、または影響を受け得ないが、ユーザは、隔離されたＳＣＡＤＡネットワーク上で実行されているアプリケーションおよびプロセスを監視し、必要に応じて措置を講ずることができる。
【０１７９】
ゼロクライアントＣＤＤＣ
ＣＤＤＣへの入力は、デスクトップコンピュータ、シンクライアント（thin client）、ワークステーション、サーバ、ゼロクライアント（zero client）、またはデジタルディスプレイデータを出力することのできるその他任意のデバイスから来てもよい。
【０１８０】
独立したコンピューティングドメインへのアクセスをサポートする環境では、それぞれの独立したドメインに対する既存の別個のネットワーキング接続が存在することが多い。ＣＤＤＣを使用して、デスクトップコンピュータ、またはシンクライアントをネットワークポートのそれぞれに接続し、それぞれのドメインコンピュータのドメインソフトウェアを適切に構成するとともに、ＣＤＤＣのセキュリティポリシーを適切に構成することができる。
【０１８１】
より便利なアプローチは、ＣＤＤＣアーキテクチャ内で、ゼロ・クライアントコンピューティングインフラストラクチャ、またはウルトラ・シン・クライアントコンピューティングインフラストラクチャを組み合わせることである。そうすると、この組合せデバイスは：
ネットワーク接続性を介して独立したドメインに付属する；
ゼロ・クライアントコンピューティングインフラストラクチャまたはウルトラ・シン・クライアントコンピューティングインフラストラクチャは、デスクトップ環境を提供するためにリモートデスクトップ接続を実行する；
ドメインソフトウェアは、インバンド識別プロトコルをサポートしているデスクトップ環境を保証する；
ＣＤＤＣは、ユーザがそれによって独立したドメインと対話することができる、統一されたデスクトップを提供する。
【０１８２】
一実施態様では、ゼロ・クライアントコンピューティングインフラストラクチャは、ＣＤＤＣハードウェアの一部として構築された、単一の集積回路として実現することもできる。
【０１８３】
統合化された合成
さらに別の実施態様は、複数の隔離されたドメインからの情報を、一貫したグラフィックユーザインターフェイスに統合する方法を使用し、それにより、ユーザは、統合化インターフェイスがあたかも単一のクロスドメインアプリケーションであるかのように、それと対話することができる。このようにして、ユーザの行動が、表面上、異なる（独立して、隔離された）ドメインにまたがるようにする。
【０１８４】
この方法は、ユーザが複数の隔離されたドメインに対してアクセスを有し、すべてのドメインにわたってシームレスに動作させられる、統一されたコンピューティングアプリケーションを好むときにはいつでも、使用することができる。例えば、その方法は、単一の統合されたユーザインターフェイスにおいて、複数のドメインからコンテンツを統合して、描画することができる、電子メールクライアントの存在を容易にすることができる。
【０１８５】
異なる隔離されたドメインからのグラフィック要素を含む、合成された出力領域が生成される。この実施態様では、これらのグラフィック要素は、スタンドアロン要素ではなく、統合されたクロスドメインアプリケーションの一部を形成するように定められている。すなわち、それらは、他のドメインからの同様の要素と一緒に合成されて、真のクロスドメインアプリケーションを形成するように具体的に定められている。
【０１８６】
ヒューマンインターフェイスデバイス（ＨＩＤ）、例えば、キーボード／マウス入力は、カーソルのコンテクスト／フォーカスに応じて切り替えられる。
【０１８７】
本実施態様では、コンテンツの合成およびマージは、ＣＤＤＣによってハードウェアにおいて行われるが、これは、Ｓｅｃｕｒｅ  Ｖｉｅｗ、Ｑｕｂｅｓ  ＯＳ、Ｎｉｔｐｉｃｋｅｒ、またはＴｒｓｕｔｅｄ  Ｔｈｉｎ  Ｃｌｉｎｅｎｔのような、既存のアクセスクロスドメインソリューションを用いて、セキュリティは低いが、同等に達成することもできる。これらの場合、データは、デジタルディスプレイデータのレベルで操作するのではなく、Ｏｐｅｒａｔｉｎｇ  Ｅｎｖｉｒｏｎｍｅｎｔｓディスプレイマネージャレベルで、操作されることになる。
【０１８８】
例として、ユーザは電子メールクライアントを使用することが可能であり、このクライアントは、すべてのドメイン上で実行されているが、隔離されたドメイン上で動作している、それらの電子メールクライアントの選択されたクライアント向け機能の要素を有し、同じ画面に現われるとともに、互いに隔離された別個の電子メールクライアントからすべての電子メール要素を保ちながら、その同じ画面から操作可能である。図１９を参照のこと。
【０１８９】
商業的環境においては、１つのドメインは、研究者のセキュアドメインであり、一方で、別のドメインは、それに対してメールを送ること、または公共ドメイン上のメールを見ることのできない、セキュアドメイン内の会社およびユーザの、公共的に利用可能なドメインであり、彼らは、記載された合成器の実施態様を用いて、両方のドメインからの電子メールを表示する単一の画面を使用することができるとともに、ユーザが、セキュアドメイン内のユーザ自身の電子メールアプリケーションを見ることができるのと同時に、公共ドメイン上の公衆からの電子メールに応答することを可能にする。さらに、ユーザは、同じ画面からセキュア電子メールアプリケーションを操作し、それが公共ドメインから隔離されることを知ることができる。
【０１９０】
カーソルを操作するユーザは、表示された要素上にカーソルを置くことにより、アクティブにするべきドメインの要素をアクティブにすることができ、すべてのカーソルおよびキーボードアクティビティは、そのドメインにのみに導かれて、他のドメインは、使用されている電子メールアプリケーションのアクティビティまたは要素にアクセスすることができない―この機能は、ＣＤＤＣの前述の実施態様によって提供される。
【０１９１】
この明細書に記載されるように、ＣＤＤＣによって合成されたときに、グラフィック要素出力が実際に整合性のある、統一されたアプリケーションに形成されることを保証するために、この環境において実行されるアプリケーションの配設は、独立したドメイン上で実行される支援ソフトウェアに依拠する。
【０１９２】
簡単な一実施態様では、それぞれの独立したドメインは、所定の位置にグラフィック要素を出力するようにプログラムされた、信頼できないソフトウェアを有する。これらの所定の位置は、合成された出力が、統一されたアプリケーションを形成するように、例えば、図１９は、所定の位置において電子メール情報を出力する３つのドメインを示し、これらは、互いに組み合わされると、統一された電子メールアプリケーションを視覚的に形成する。
【０１９３】
ＣＤＤＣがこのアプリケーションレベルの合成を認識しており、統一されたクロスドメインアプリケーションの視覚的構築に積極的に参加することができる場合には、より複雑な配設が収容され得る。
【０１９４】
一実施態様では、ＣＤＤＣは、独立したドメインからのグラフィック要素を識別することができ、表示された出力における異なる位置に、これらのグラフィック要素を配置する。このようにして、ＣＤＤＣは、複数の独立したドメインから多くのグラフィック領域を受信し、幾何学的ポリシー（すなわち、様々なグラフィック領域の再配置）は、統一された視覚出力を形成して、クロスドメインアプリケーションを実現することができる。
【０１９５】
ヒューマンインターフェイスデバイス入力（例えば、キーボードおよびマウス）は、合成されたアプリケーションを構築するために使用される、グラフィック要素のそれぞれに対する、適切な発信ドメインに依然として導かれている。
【０１９６】
異なるドメインからのグラフィック領域の再配置を支援するために、一実施態様では、ＣＤＤＣは、表示しようとする出力データのためのフレームバッファを実現する。
【０１９７】
実施態様によっては、ドメイン出力は、標準的なデスクトップ環境に適合する必要がなくなり、その代わりに、合成されるコンテンツは、どこに配置してもよく、またさらには、デジタルディスプレイデータストリーム内をインバンド方式で通信されてもよい。例しては、ドメイン出力のすべてがインバンド位置決め情報であり、その後に、統一されたクロスドメインアプリケーションの一部を形成するように決められたある数の長方形領域が続く場合である。出力の残りは空白とすることができる。
【０１９８】
実施態様によっては、ＣＤＤＣは、特に、領域が位置で変換されている場合には、既知のドメイン視点へのハードウェアカーソル場所の変換を実行する。実施態様によっては、戻されたカーソル情報は、絶対位置の代わりに、ドメイン内の既知のグラフィック要素に対して相対的であってもよい。
【０１９９】
ここで、ソフトウェアソリューション（例えば、Ｑｕｂｅｓ  ＯＳまたはＮｉｔｐｉｃｋｅｒ）が、このアプリケーションレベルの合成に使用される場合には、グラフィック情報は、多くのフォーマットのいずれかにおいて、任意の利用可能な通信プロトコルを介して、通過させることができる。例えば、この情報は、ウェブソケットを介してバイナリ圧縮データとして送ることもできる。
【０２００】
実施態様によっては、これらの合成されたクロスドメインアプリケーションをさらにサポートするために、ＣＤＤＣまたは他のものは、マルチレベルマウスイベントの概念をサポートすることができる。一実施態様では、ＣＤＤＣは、オンスクリーン表示コンテンツを用いて、出力の一部分に描画することができる。このコンテンツを介してマウスクリックが検出されると、それを、すべてのドメインに送ることができる。このメカニズムは、クロスドメインアプリケーションの動作を制御し、同期化するために使用することができる。
【０２０１】
管理された情報フローを、（ＣＤＤＣ、または本明細書において前述したような外部データダイオードを使用して）クロスドメインアプリケーションレベルの合成と組み合わせることは、より有用なアプリケーションを構築するために、使用することができる。一例が、第１の独立したドメイン上で受信された電子メールを第２の独立したドメイン上の別のユーザに転送する能力を通して、以下に例証される。
【０２０２】
図１８は、ＣＰＵ６４０が合成方法を実行する、セパレーションカーネルアプローチ（separation kernel approach）を用いた方法を支援する、ハードウェア配設６００を図解している。その他の支援配設を使用することもできる。ドメイン１０１、１０２、１０３からのドメイン情報６２０は、ダイオード６３０を介して送られ、ここで、図中に示されるダイオード記号６３０は、ハードウェアまたはソフトウェアのデータダイオードであるが、合成方法の一部ではなく、本明細書において先述した仮定の隔離されたドメイン環境の一部である。
【０２０３】
（適用された階層においてより高位のもののような）別のドメインにおける、電子メールの転送／応答の方法が図１９および２０によって示されており、これらの図は、その機能を図解はするが、それが達成される方法を厳密には示さない。
【０２０４】
一実施態様では、ドメインは、より高いレベルのドメインに対する転送／応答を調整する役割を果たし、これは、ＣＤＤＣの外部に常駐する信頼されていないソフトウェア機能を使用して行われる。
【０２０５】
図１９Ａは、電子メールウィンドウ７１２、７２２、７３２を含む、電子メールクライアント７０１、７０２、７０３をそれぞれ実行する、３つのドメイン１０１、１０２、１０３を示す。図１９Ａは、１つの画面上のすべての隔離されたドメイン１０１、１０２、１０３からの電子メール７１２、７２２、７３２を提供する、電子メールアプリケーションを備える、画面７５０を（図の下部において）示し、したがって、これらの電子メールは、関連するドメインからのものであるが、ユーザは、それらすべてを同じ画面で見ることができ、それらが同じアプリケーション内にあるかのように、それらを使用する。再び、ＣＤＤＣ７４０内のダイオード記号は、ドメインが隔離されたままであることを確実にする、隔離メカニズムを説明している。キーボード６およびマウス５が、モニタ４がそうであるように、この明細書においてとして説明したように動作しているＣＤＤＣ構成７４０と通信しているのが示されている。図１９Ｂは、第１の保護された（ＰＲＯＴＥＣＴＥＤ）ドメイン７０１からの電子メール７１４を含む、一実施態様に係る、画面７５０の第２のビュー７５２を示す。
【０２０６】
図２０は、１つのレベルからＣＤＤＣの外部の上位のレベルへの電子メールの転送／応答を可能にする、クロスドメイン電子メールアプリケーションのアーキテクチャ７６０を示す。このフローは、データダイオード７６２、７６３、７６４またはそれらの等価物の使用によって、やはり強制されているので、常に階層内の下位レベルから上位レベルへと向かい、反対方向はない。
【０２０７】
図２１は、１つのアプリケーション画面上に、すべての隔離されたドメインからの電子メールを提供する、電子メールアプリケーションのスクリーンショットであり、したがって、これらの電子メールは、関係のあるドメイン７０１、７０２および７０３からのものであるが、ユーザは、実際には、それらがすべて異なる隔離されたドメイン上にあるときに、それらが同じアプリケーション上にあるかのように、それらすべてを同じ画面内に見て、それらを使用する。図２１Ｂは、一実施態様によるＦＯＵＯドメインからの電子メールを表示する、統合電子メールアプリケーションの第２のビューである。
【図１】
0006795519.tif 000002
【図２】
0006795519.tif 000003
【図３】
0006795519.tif 000004
【図４】
0006795519.tif 000005
【図５】
0006795519.tif 000006
【図６−７】
0006795519.tif 000007
【図８】
0006795519.tif 000008
【図９Ａ】
0006795519.tif 000009
【図９Ｂ−Ｄ】
0006795519.tif 000010
【図１０Ａ−Ｂ】
0006795519.tif 000011
【図１０Ｃ】
0006795519.tif 000012
【図１１】
0006795519.tif 000013
【図１２Ａ】
0006795519.tif 000014
【図１２Ｂ】
0006795519.tif 000015
【図１２Ｃ−Ｄ】
0006795519.tif 000016
【図１３−１５】
0006795519.tif 000017
【図１６】
0006795519.tif 000018
【図１７】
0006795519.tif 000019
【図１８】
0006795519.tif 000020
【図１９Ａ】
0006795519.tif 000021
【図１９Ｂ−２０】
0006795519.tif 000022
【図２１】
0006795519.tif 000023
【図２２】
0006795519.tif 000024