JP2010521033A - ユーザーインターフェース要素を用いた分離、管理および通信 - Google Patents

ユーザーインターフェース要素を用いた分離、管理および通信 Download PDF

Info

Publication number
JP2010521033A
JP2010521033A JP2009553667A JP2009553667A JP2010521033A JP 2010521033 A JP2010521033 A JP 2010521033A JP 2009553667 A JP2009553667 A JP 2009553667A JP 2009553667 A JP2009553667 A JP 2009553667A JP 2010521033 A JP2010521033 A JP 2010521033A
Authority
JP
Japan
Prior art keywords
user interface
computer
content
process space
partitioned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009553667A
Other languages
English (en)
Other versions
JP5244826B2 (ja
Inventor
ラヴォア ローレン
ピー.レリア デイビッド
エス.シェッティー アシシュ
ウェイビン チャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010521033A publication Critical patent/JP2010521033A/ja
Application granted granted Critical
Publication of JP5244826B2 publication Critical patent/JP5244826B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

マネージド・ランタイム環境で、ユーザーインターフェースが2つ以上の異なる分割されたプロセス空間からコンテンツを表示することを可能とするさまざまな技術および技法が開示される。ユーザーインターフェースを有するソフトウェアアプリケーションが、マネージド・ランタイム環境において動作する。ウィンドウハンドルにより、アプリケーションのユーザーインターフェースが、同時に2つ以上の異なる分割されたプロセス空間からコンテンツを表示することを可能とする。分割されたプロセス空間の間で分離のレベルを保ちながら、分割されたプロセス空間からの情報を、ユーザーインターフェース内で統合することができる。これは、ホストコントロールを有する、ユーザーインターフェースのためのコンテンツコンテナの第1の部分を提供することにより達成される。ホストコントロールは、ウィンドウハンドルを含み、およびメインウィンドウの第1の分割されたプロセス空間に存在する。コンテンツコンテナの第2の部分は、ソースコントロールとともに提供される。ソースコントロールは、ウィンドウハンドルを提供し、およびメインウィンドウの第2の分割されたプロセス空間に存在する。

Description

本発明は、ユーザーインターフェース要素を用いた分離、管理および通信に関する。
現代のソフトウェア開発では、多くのアプリケーションが、Microsoft(登録商標) .NET Frameworkなどの、マネージド・ランタイム環境内で実行するように作成される。マネージド・ランタイム環境は、アプリケーションがシステムリソース、強制セキュリティポリシーなどにアクセスすることを可能とする方法として役立つ。マネージド・ランタイム環境は、アプリケーションが実行される「分割されたプロセス空間」を作成することにより、これを達成する。分割されたプロセス空間は、コンピューターがその時点で実行することができるプロセスの、他の任意の分割された空間から分離される方法で、アプリケーションを実行することを可能にする。Microsoft .NET Frameworkでは、これらの分割されたプロセス空間を「アプリケーションドメイン」と呼ばれる。
アプリケーションが1つの分割されたプロセス空間内で実行され、およびコンテンツを別の分割されたプロセス空間内で実行する必要があるとき、問題が生じる。前に論じたマネージド・ランタイム環境を支配する分離および他の規則を考慮すると、アプリケーションは、異なる分割されたプロセス空間のコンテンツと通信することも、アプリケーションの一部として示されているコンテンツと通信することもできないだろう。
マネージド・ランタイム環境で、ユーザーインターフェースが2つ以上の異なる分割されたプロセス空間からコンテンツを表示することを可能とするさまざまな技術および技法が開示される。マネージド・ランタイム環境において動作する、ユーザーインターフェースを有する特定のソフトウェアアプリケーションが提供される。ウィンドウハンドルを使用して、特定のソフトウェアアプリケーションのユーザーインターフェースが、同時に2つ以上の異なる分割されたプロセス空間からコンテンツを表示することを可能とする。2つ以上の異なる分割されたプロセス空間の間で分離のレベルを保ちながら、2つ以上の分割されたプロセス空間からの情報を、ソフトウェアアプリケーションのユーザーインターフェース内で統合することができる。これは、ホストコントロールを有する、ユーザーインターフェースのためのコンテンツコンテナの第1の部分を提供することにより達成される。ホストコントロールは、子ウィンドウとして提供されたウィンドウを含み、およびメインウィンドウの第1の分割されたプロセス空間に存在する。ユーザーインターフェースのためのコンテンツコンテナの第2の部分は、ソースコントロールとともに提供される。ソースコントロールは、ウィンドウハンドルを提供し、およびメインウィンドウの第2の分割されたプロセス空間に存在する。一実施例では、コンテンツコンテナの第2の部分は、分離したフレームコントロールなどの、表示のためのコンテンツを有することができる。
本概要は、以下の発明を実施するための形態でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲の決定に際して、補助として使用することを目的とするものでもない。
一実施例のコンピューターシステムの線図である。 図1のコンピューターシステム上で動作する一実施例のマネージド・ソフトウェアアプリケーションの線図である。 図1のシステムの一実施例にかかわる高レベルステージを例示するプロセスフロー図である。 コンテンツが異なる分割されたプロセス空間からともに表示され、および互いに通信することを可能とすることにかかわるステージを例示する図1のシステムの一実施例のためのプロセスフロー図である。 コンテンツが異なる分割されたプロセス空間から異なるセキュリティのレベルで一緒に表示されることを可能とすることにかかわるステージを例示する図1のシステムの高レベルステージの一実施例のためのプロセスフロー図である。 分離したフレームコントロール内に現れる外部コンテンツを示す一実施例の論理図を示す図である。 ウィンドウハンドルを使用して、異なる分割されたプロセス空間から同一のユーザーインターフェース内にコンテンツを表示させることを可能とすることを例示する一実施例のための論理図である。
本発明の原理の理解を促すために、ここで図面中に例示される実施形態を参照し、特定の言葉を用いて同一のものを説明する。しかし、それによる範囲の限定を意図しないことは理解されるであろう。当業者であれば、説明される実施形態の任意の変更およびさらなる修正、および本明細書で説明される原理のさらなる応用が、通常可能であると考えられる。
マネージド・ランタイム空間において、異なる分割されたプロセス空間から同一のユーザーインターフェース内にコンテンツを表示させることを可能とするアプリケーションとして、一般的な状況でシステムを説明することができるが、システムは、これらの目的に加えて他の目的にも役立つ。一実施例では、本明細書で説明されている1つまたは複数の技術を、Microsoft .NET Frameworkなどのフレームワーク環境内の、または任意の他の種類のプログラムもしくはソフトウェアの実行およびまたは開発を可能とするサービスからの機能として実装することができる。
図1に示すように、システムの1つまたは複数の部分を実装するために使用する例示的なコンピューターシステムは、コンピューターデバイス100などの、コンピューターデバイスを含む。最も基本的な構成では、コンピューターデバイス100は、一般的に、少なくとも1つの処理ユニット102およびメモリ104を含む。正確な構成およびコンピューターデバイスの種類に依存して、メモリ104は、(RAMなどの)揮発性、(ROM、フラッシュメモリなどの)不揮発性またはこれらの組み合わせとすることができる。この最も基本的な構成を、破線106によって図1に例示する。
さらに、デバイス100は、追加の特徴/機能性を有することもできる。例えば、デバイス100は、磁気ディスクもしくは光ディスクまたはテープを含むがこれらに限定されない、追加の(取り外し可能なおよび/または取り外し不可能な)記憶装置を含むこともできる。このような追加の記憶装置を、取り外し可能な記憶装置108および取り外し不可能な記憶装置110によって図1に例示する。コンピューター記憶媒体には、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装された、揮発性および不揮発性、取り外し可能なおよび取り外し不可能な媒体が含まれる。メモリ104、取り外し可能な記憶装置108および取り外し不可能な記憶装置110は、すべてコンピューター記憶媒体の例である。コンピューター記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(Digital Versatile Disk)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するために使用でき、およびデバイス100によってアクセスすることができる他の任意の媒体が含まれるが、これらに限定されない。任意のこのようなコンピューター記憶媒体をデバイス100の一部とすることができる。
コンピューターデバイス100は、1つまたは複数の通信接続114を含む。これにより、コンピューターデバイス100は、他のコンピューター/アプリケーション115と通信することが可能となる。また、デバイス100は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置112を有することができる。また、ディスプレイ、スピーカー、プリンタなどの出力装置111を含むこともできる。これらのデバイスは当技術分野において周知であり、ここで詳細に論じる必要はない。一実施例では、コンピューターデバイス100は、マネージド・ソフトウェアアプリケーション200を含む。マネージド・ソフトウェアアプリケーション200は、図2においてさらに詳細に説明する。
引き続き図1に関連して図2を参照すると、コンピューターデバイス100上で動作するマネージド・ソフトウェアアプリケーション200が図示されている。マネージド・ソフトウェアアプリケーション200は、コンピューターデバイス100に存在するアプリケーションプログラムの1つである。一方、マネージド・ソフトウェアアプリケーションを、1つまたは複数のコンピューター上のおよび/または図1に示されるものとは異なるバリエーション内のコンピューター実行可能な命令として代替的に、または付加的に具現化することができることを理解されたい。代替的にまたは付加的に、マネージド・ソフトウェアアプリケーション200の1つまたは複数の部分は、他のコンピューターおよび/またはアプリケーション115、または本コンピューターソフトウェア分野の当業者が思い付くようなこれらの他のバリエーション上のシステムメモリ104の一部とすることができる。
マネージド・ソフトウェアアプリケーション200は、本明細書で説明される技術の一部またはすべてを実行することに関与するプログラムロジック204を含む。プログラムロジック204は、マネージド・ランタイム環境(.NET Frameworkなど)において動作する、およびユーザーインターフェースを有する特定のソフトウェアアプリケーションを提供するためのロジック206、ウィンドウハンドル(例えば、MICROSOFT Windows(登録商標) HWND handle)を使用して特定のソフトウェアアプリケーションのユーザーインターフェースが2つ以上の異なる分割されたプロセス空間(例えば、アプリケーションドメイン)から同時にコンテンツを表示することを可能にするためのロジック208、2つ以上の異なる分割されたプロセス空間の間で分離のレベルを保ちながら、2つ以上の分割されたプロセス空間からの情報をマネージド・ランタイム環境において動作するソフトウェアアプリケーションのユーザーインターフェース内で統合するためのロジック210、参照プロセス(ウィンドウズオペレーティングシステム内のMarshalByRefObject)がマーシャルを実行することによって、第1の分割されたプロセス空間が第2の分割されたプロセス空間と通信することを可能とするためのロジック212、第1の分割されたプロセス空間が、提供されたウィンドウハンドルを含むホストコントロールを有するコンテンツコンテナの第1の部分を有することを可能とし、第2の分割されたプロセス空間が、ウィンドウハンドルを提供するソースコントロールを有するコンテンツコンテナの第2の部分を有することを可能とするためのロジック214、コンテンツコンテナの第1の部分が従う第1のセキュリティレベルが、コンテンツコンテナの第2の部分が従う第2のセキュリティレベルと異なっていることを可能とするためのロジック216、およびアプリケーション200を動作するための他のロジック220を含む。一実施例では、プログラムロジック204は、プログラムロジック204内のプロシージャへの単一の呼び出しを使用することなど、別のプログラムからプログラムで呼び出されるよう作動する。
引き続き図1〜2に関連して図3〜5を参照すると、マネージド・ソフトウェアアプリケーション200の1つまたは複数の実施例を実装するためのステージをさらに詳細に説明する。図3は、図1のシステムの一実施例にかかわる高レベルステージを例示するプロセスフロー図である。一形態では、図3の処理は、コンピューターデバイス100の動作ロジックにおいて少なくとも部分的に実装される。処理は開始点250で始まり、マネージド・ランタイム環境(.NET Frameworkなど)において動作する、ユーザーインターフェースを有する特定のソフトウェアアプリケーションを提供する(ステージ252)。ユーザーインターフェースのためのコンテンツコンテナの第1の部分は、提供されたウィンドウハンドル(例えば、MICROSOFT Windows HWND handle)を含み、およびメインウィンドウの第1の分割されたプロセス空間(例えば、アプリケーションドメインなど)に存在するホストコントロールを有する(ステージ254)。ユーザーインターフェースのためのコンテンツコンテナの第2の部分は、ウィンドウハンドルを提供し、およびメインウィンドウの第2の分割されたプロセス空間に存在するソースコントロールとともに提供される。第2の部分は、表示のためのコンテンツを有する(ステージ256)。コンテンツコンテナの第1の部分および第2の部分の間で分離のレベルを保ちながら、第1の分割されたプロセス空間および第2の分割されたプロセス空間からの情報を、ユーザーインターフェース内で統合する(ステージ258)。異なるセキュリティレベルを、第1の分割されたプロセス空間および第2の分割されたプロセス空間(例えば、信頼できないソースまたは未知のソースからであるときなど)のために任意で提供/強制することができる(ステージ260)。処理は、終点262で終わる。
図4は、コンテンツが異なる分割されたプロセス空間からともに表示され、および互いに通信することを可能とすることにかかわるステージを例示する図1のシステムの一実施例のためのプロセスフロー図である。一形態では、図4の処理は、コンピューターデバイス100の動作ロジックにおいて少なくとも部分的に実装される。処理は開始点270で始まり、マネージド.NET Framework環境において動作する、ユーザーインターフェースを有する特定のソフトウェアアプリケーションを提供する(ステージ272)。ユーザーインターフェースのためのコンテンツコンテナの第1の部分は、MICROSOFT Windows HWND handleを含み、およびメインウィンドウの第1の分割されたプロセス空間(例えば、アプリケーションドメインなど)に存在するホストコントロールとともに提供される(ステージ274)。ユーザーインターフェースのためのコンテンツコンテナの第2の部分は、MICROSOFT Windows HWND handleを提供し、およびメインウィンドウの第2の分割されたプロセス空間に存在するソースコントロールとともに提供される(ステージ276)。一実施例では、コンテンツコンテナの第2の部分は、分離したフレームコントロールなどの、表示のためのコンテンツを有する(ステージ276)。MarshalByRefObjectプロセスを実行することによって、第1の分割されたプロセス空間は、第2の分割されたプロセス空間と通信することができる(ステージ278)。処理は終点280で終わる。
図5は、コンテンツが異なる分割されたプロセス空間から異なるセキュリティのレベルで一緒に表示されることを可能とすることにかかわるステージを例示する図1のシステムの高レベルステージの一実施例のためのプロセスフロー図である。一形態では、図5の処理は、コンピューターデバイス100の動作ロジックにおいて少なくとも部分的に実装される。処理は開始点290で始まり、マネージド・フレームワーク環境において動作する特定のソフトウェアアプリケーションを提供する(ステージ292)。特定のソフトウェアアプリケーションのユーザーインターフェースは、MICROSOFT Windows HWND interopを使用することによって、複数のアプリケーションドメインによってもたらされるコンテンツ領域を有することができる(ステージ294)。アプリケーションドメインによって提供される分離機能および管理機能を維持しながら、参照によるマーシャリングを使用するアプリケーションドメインの間の双方向通信を可能としながら、視覚要素をまとめて同一のユーザーインターフェースとすることができる(ステージ296)。任意で、ソフトウェア開発者などのユーザーは、使用するセキュリティレベル、および/またはコンテンツ領域の1つまたは複数に関する他の詳細を宣言することができる(XAMLファイル、またはさまざまな他の形式で)(ステージ298)。これにより、コンテンツ領域が要求通りセキュリティ権限の変化するレベルとともに表示される(ステージ298)。例えば、コンテンツが信頼できないソースまたは未知のソースからであるか否か、などに依存してセキュリティレベルを変えることが望ましい場合がある。処理は終点299で終わる。
図6は、分離したフレームコントロール内に現れる外部コンテンツを示す一実施例の論理図を示す図である。アプリケーションのメインウィンドウ300は、ウィンドウコンテンツ305を含むいくつかのグラフィックアプリケーションである。ウィンドウコンテンツ305は、ユーザーに表示される任意の種類の視覚要素とすることができる。アプリケーションのメインウィンドウ300は、分離したフレームコントロール310も含む。分離したフレームコントロール310は、全体のアプリケーションの外部にあるコンテンツ320を含む。分離したフレームコントロール310は、ユーザーに見えないとすることができる。一実施例では、本明細書で論じられる技術の一部またはすべてを使用して、コンテンツ320(信頼できない個々のエンティティからなど)が、ウィンドウコンテンツ305ではなく異なる分割された空間内において動作する分離したフレームコントロール内に表示されることを可能とする。
図7は、ウィンドウハンドルを使用して、異なる分割されたプロセス空間から同一のユーザーインターフェース内にコンテンツを表示させることを可能とすることを例示する一実施例のための論理図である。プロセス350は、第1の分割されたプロセス空間をマネージド・ランタイム環境352内に生成する。この分割されたプロセス空間358内では、アプリケーション360が実行される。アプリケーション360は、ハンドルソース366が存在する分離したフレームコントロール362を含む。分離したフレームコントロールによりコンテンツ364がロードされ、ユーザーに見えるようになる。コンテンツ364は、アプリケーション360の外部に存在し、そのため、コンテンツ364が実行されるべき第2の分割されたプロセス空間356を生成するためにプロセス350を必要とする。コンテンツ264がロードされると、そのコンポーネントの1つである、ハンドルホスト368は、ハンドルプロバイダー354とともに自身を、ウィンドウハンドル370として登録する。ハンドルソース366は、ウィンドウハンドル370にアクセスし、コンテンツ364をアプリケーション360に含まれる分離したフレームコントロール内に表示することができる。
本発明の主題事項を構造的特徴および/または方法論的動作に固有の言語で説明したが、添付の特許請求の範囲で定義される本発明の主題事項は、必ずしも説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、本発明を実装する例示的な形態として開示されている。本明細書で、および/または以下の請求項によって説明される実装の範囲内に入るすべての同等物、変更および修正が保護されることを望む。
例えば、当業者であれば、本明細書で論じた実施例中で説明されるようなクライアントおよび/またはサーバー配置、ユーザーインターフェーススクリーンコンテンツおよび/またはデータレイアウトを異なって編成し、実施例で表現されるより少ないまたは追加のオプションまたは機能を含む可能性があることを認識するだろう。

Claims (20)

  1. コンピューターに
    マネージド・ランタイム環境において動作する特定のソフトウェアアプリケーションを提供するステップであって、前記特定のソフトウェアアプリケーションはユーザーインターフェースを有する、ステップと、
    ウィンドウハンドルを使用して、前記特定のソフトウェアアプリケーションのユーザーインターフェースが2つ以上の異なる分割されたプロセス空間から同時にコンテンツを表示することを可能とするステップと、
    前記2つ以上の異なる分割されたプロセス空間の間で分離のレベルを保ちながら、前記2つ以上の分割されたプロセス空間からの情報を前記マネージド・ランタイム環境において動作する前記ソフトウェアアプリケーションの前記ユーザーインターフェース内で統合することを可能とするステップと
    を実行させるためのコンピューター実行可能な命令を有するコンピューター読み取り可能な媒体。
  2. 前記ウィンドウハンドルは、Windows HWND handleであることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
  3. 前記マネージド・ランタイム環境は、マネージド.NET Framework環境であることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
  4. 1つまたは複数の分割されたプロセス空間は、前記マネージド・ランタイム環境におけるアプリケーションドメインであることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
  5. 参照プロセスがマーシャルを実行することによって、第1の前記分割されたプロセス空間が第2の前記分割されたプロセス空間と通信するよう作動することを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
  6. 前記参照プロセスによる前記マーシャルは、ウィンドウズオペレーティングシステム内のMarshalByRefObjectを使用することを特徴とする請求項5に記載のコンピューター読み取り可能な媒体。
  7. 第1の前記分割されたプロセス空間が、ウィンドウハンドルを含むホストコントロールを有する前記ユーザーインターフェースのためのコンテンツコンテナの第1の部分を有し、第2の前記分割されたプロセス空間が、前記ウィンドウハンドルを提供するソースコントロールを有する前記ユーザーインターフェースのための前記コンテンツコンテナの第2の部分を有することを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
  8. 前記コンテンツコンテナの前記第1の部分が従う第1のセキュリティレベルが、前記コンテンツコンテナの前記第2の部分が従う第2のセキュリティレベルと異なっていることを特徴とする請求項7に記載のコンピューター読み取り可能な媒体。
  9. 前記コンテンツコンテナの前記第2の部分が、信頼できないソースからのコンテンツを表示することを特徴とする請求項8に記載のコンピューター読み取り可能な媒体。
  10. 異なる分割されたプロセス空間からのユーザーインターフェースコンテンツを単一のユーザーインターフェース内で統合する方法であって、
    マネージド・ランタイム環境において動作する特定のソフトウェアアプリケーションを提供するステップであって、前記特定のソフトウェアアプリケーションはユーザーインターフェースを有する、ステップと、
    前記ユーザーインターフェースのためのコンテンツコンテナの第1の部分を、ウィンドウハンドルを含み、およびメインウィンドウの第1の分割されたプロセス空間に存在するホストコントロールとともに提供するステップと、
    前記ユーザーインターフェースのための前記コンテンツコンテナの第2の部分を、前記ウィンドウハンドルを提供し、および前記メインウィンドウの第2の分割されたプロセス空間に存在するソースコントロールとともに提供するステップであって、前記第2の部分は表示のためのコンテンツを有する、ステップと、
    前記コンテンツコンテナの前記第1の部分および前記第2の部分の間で分離のレベルを保ちながら、前記第1の分割されたプロセス空間および前記第2の分割されたプロセス空間からの情報を、前記マネージド・ランタイム環境において動作する前記ソフトウェアアプリケーションの前記ユーザーインターフェース内で統合することを可能とするステップと
    を含むことを特徴とする方法。
  11. 前記マネージド・ランタイム環境は、マネージド.NET Framework環境であることを特徴とする請求項10に記載の方法。
  12. 前記第1の分割されたプロセス空間および前記第2の分割されたプロセス空間は、前記マネージド・ランタイム環境におけるアプリケーションドメインであることを特徴とする請求項10に記載の方法。
  13. 前記ウィンドウハンドルは、Windows HWND handleであることを特徴とする請求項10に記載の方法。
  14. 前記コンテンツコンテナの前記第1の部分が従う第1のセキュリティレベルが、前記コンテンツコンテナの前記第2の部分が従う第2のセキュリティレベルと異なっていることを特徴とする請求項10に記載の方法。
  15. コンピューターに請求項10に記載の前記ステップを実行させるためのコンピューター実行可能な命令を有するコンピューター読み取り可能な媒体。
  16. 異なる分割されたプロセス空間からのユーザーインターフェースコンテンツを単一のユーザーインターフェース内で統合する方法であって、
    マネージド.NET Framework環境において動作する特定のソフトウェアアプリケーションを提供するステップであって、前記特定のソフトウェアアプリケーションはユーザーインターフェースを有する、ステップと、
    前記ユーザーインターフェースのためのコンテンツコンテナの第1の部分を、Windows HWND handleを含み、およびメインウィンドウの第1の分割されたプロセス空間に存在するホストコントロールとともに提供するステップと、
    前記ユーザーインターフェースのための前記コンテンツコンテナの第2の部分を、前記Windows HWND handleを提供し、および前記メインウィンドウの第2の分割されたプロセス空間に存在するソースコントロールとともに提供するステップであって、前記コンテンツコンテナの前記第2の部分は表示のためのコンテンツを有する、ステップと
    を含むことを特徴とする方法。
  17. 前記コンテンツコンテナの前記第1の部分および前記第2の部分の間で分離のレベルを保ちながら、前記コンテンツコンテナの前記第1の部分および前記第2の部分からの前記Windows HWND handleを使用することによって、2つ以上の分割されたプロセス空間からの情報を、前記マネージド.NET Framework環境において動作する前記ソフトウェアアプリケーションの前記ユーザーインターフェース内で統合することを可能とすることを特徴とする請求項16に記載の方法。
  18. 前記第1の分割されたプロセス空間および前記第2の分割されたプロセス空間は、前記マネージド.NET Framework環境におけるアプリケーションドメインであることを特徴とする請求項16に記載の方法。
  19. MarshalByRefObjectプロセスを実行することによって、前記第1の分割されたプロセス空間が前記第2の分割されたプロセス空間と通信するよう作動することを特徴とする請求項16に記載の方法。
  20. コンピューターに請求項16に記載の前記ステップを実行させるためのコンピューター実行可能な命令を有するコンピューター読み取り可能な媒体。
JP2009553667A 2007-03-09 2008-02-15 ユーザーインターフェース要素を用いた分離、管理および通信 Expired - Fee Related JP5244826B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/716,328 US8079039B2 (en) 2007-03-09 2007-03-09 Isolating, managing and communicating with user interface elements
US11/716,328 2007-03-09
PCT/US2008/054153 WO2008112385A1 (en) 2007-03-09 2008-02-15 Isolating, managing and communicating with user interface elements

Publications (2)

Publication Number Publication Date
JP2010521033A true JP2010521033A (ja) 2010-06-17
JP5244826B2 JP5244826B2 (ja) 2013-07-24

Family

ID=39742946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009553667A Expired - Fee Related JP5244826B2 (ja) 2007-03-09 2008-02-15 ユーザーインターフェース要素を用いた分離、管理および通信

Country Status (6)

Country Link
US (1) US8079039B2 (ja)
EP (1) EP2135173B1 (ja)
JP (1) JP5244826B2 (ja)
CN (1) CN101627380B (ja)
CL (1) CL2008000642A1 (ja)
WO (1) WO2008112385A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079039B2 (en) 2007-03-09 2011-12-13 Microsoft Corporation Isolating, managing and communicating with user interface elements
KR101318985B1 (ko) 2011-08-25 2013-11-21 주식회사 팬택 클라우드 컴퓨팅에서의 콘텐츠 보안 장치 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594900B2 (en) 2008-12-09 2017-03-14 Microsoft Technology Licensing, Llc Isolating applications hosted by plug-in code
US9055080B2 (en) * 2009-12-14 2015-06-09 Citrix Systems, Inc. Systems and methods for service isolation
US8386965B2 (en) * 2010-01-15 2013-02-26 Apple Inc. Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries
US9235452B2 (en) * 2010-02-05 2016-01-12 Microsoft Technology Licensing, Llc Graphics remoting using augmentation data
US20110314399A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Windowless runtime control of dynamic input device
US9513799B2 (en) 2011-06-05 2016-12-06 Apple Inc. Devices, methods, and graphical user interfaces for providing control of a touch-based user interface absent physical touch capabilities
US9116611B2 (en) 2011-12-29 2015-08-25 Apple Inc. Devices, methods, and graphical user interfaces for providing multitouch inputs and hardware-based features using a single touch input
US9961239B2 (en) 2015-06-07 2018-05-01 Apple Inc. Touch accommodation options
CN106844077B (zh) * 2016-12-26 2020-11-13 浙江中控技术股份有限公司 一种控件创建方法及控件创建系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133878A (ja) * 1996-09-27 1998-05-22 Kodak Ltd 対話形オブジェクトコントロールのためのコンピュータ装置
JP2000322261A (ja) * 1999-04-26 2000-11-24 Hewlett Packard Co <Hp> 複数のアプリケーションプログラムを実行する単一処理環境を有するコンピュータシステム
JP2003515219A (ja) * 1999-11-14 2003-04-22 クリックネット ソフトウエア,インク. アプリケーションプログラムインターフェースを阻害する方法及びシステム
JP2008500633A (ja) * 2004-06-03 2008-01-10 インテル・コーポレーション マネージドランタイム環境におけるスレッド同期方法および装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145898B1 (en) * 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US6469714B2 (en) * 1998-01-26 2002-10-22 International Business Machines Corporation Infocenter user interface for applets and components
US6545691B1 (en) * 1998-06-12 2003-04-08 Microsoft Corporation Client-side control of controls loaded by a browser
US6229537B1 (en) * 1998-07-15 2001-05-08 Microsoft Corporation Hosting windowed objects in a non-windowing environment
US6522343B2 (en) * 1998-07-15 2003-02-18 Microsoft Corporation Hosting objects in a windowed environment
US6675371B1 (en) * 1999-04-30 2004-01-06 Hewlett-Packard Development Company, L.P. Java and native application window integration
IL132916A (en) * 1999-11-14 2004-02-08 Mcafee Inc Method and system for intercepting an application program interface
US6675230B1 (en) * 2000-08-22 2004-01-06 International Business Machines Corporation Method, system, and program for embedding a user interface object in another user interface object
US7051288B2 (en) * 2001-02-15 2006-05-23 International Business Machines Corporation Method, system, and product for a java-based desktop to provide window manager services on UNIX
EP1259069A1 (en) * 2001-05-15 2002-11-20 Deutsche Thomson-Brandt Gmbh Method for modifying a user interface of a consumer electronic apparatus, corresponding consumer electronic apparatus
US20030110503A1 (en) * 2001-10-25 2003-06-12 Perkes Ronald M. System, method and computer program product for presenting media to a user in a media on demand framework
US7086006B2 (en) * 2001-11-09 2006-08-01 Corel Corporation Component user interface management
US8689125B2 (en) * 2003-10-23 2014-04-01 Google Inc. System and method for automatic information compatibility detection and pasting intervention
WO2005043360A1 (en) * 2003-10-21 2005-05-12 Green Border Technologies Systems and methods for secure client applications
US20050108104A1 (en) * 2003-11-14 2005-05-19 Katherine Woo Integrating third party shopping cart applications with an online payment service
US20050218739A1 (en) * 2004-04-01 2005-10-06 Microsoft Corporation System and method for sharing objects between computers over a network
US8280819B2 (en) * 2004-07-09 2012-10-02 Ebay Inc. Method and apparatus for securely displaying and communicating trusted and untrusted internet content
US7721219B2 (en) * 2004-08-02 2010-05-18 Microsoft Corporation Explicitly defining user interface through class definition
US20080217075A1 (en) 2007-03-05 2008-09-11 Microsoft Corporation Dual joystick directional text input
US8079039B2 (en) 2007-03-09 2011-12-13 Microsoft Corporation Isolating, managing and communicating with user interface elements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133878A (ja) * 1996-09-27 1998-05-22 Kodak Ltd 対話形オブジェクトコントロールのためのコンピュータ装置
JP2000322261A (ja) * 1999-04-26 2000-11-24 Hewlett Packard Co <Hp> 複数のアプリケーションプログラムを実行する単一処理環境を有するコンピュータシステム
JP2003515219A (ja) * 1999-11-14 2003-04-22 クリックネット ソフトウエア,インク. アプリケーションプログラムインターフェースを阻害する方法及びシステム
JP2008500633A (ja) * 2004-06-03 2008-01-10 インテル・コーポレーション マネージドランタイム環境におけるスレッド同期方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079039B2 (en) 2007-03-09 2011-12-13 Microsoft Corporation Isolating, managing and communicating with user interface elements
KR101318985B1 (ko) 2011-08-25 2013-11-21 주식회사 팬택 클라우드 컴퓨팅에서의 콘텐츠 보안 장치 및 방법

Also Published As

Publication number Publication date
JP5244826B2 (ja) 2013-07-24
US20080222622A1 (en) 2008-09-11
EP2135173A4 (en) 2010-08-04
CN101627380B (zh) 2013-01-23
WO2008112385A1 (en) 2008-09-18
EP2135173B1 (en) 2016-11-09
CN101627380A (zh) 2010-01-13
CL2008000642A1 (es) 2009-07-03
US8079039B2 (en) 2011-12-13
EP2135173A1 (en) 2009-12-23

Similar Documents

Publication Publication Date Title
JP5244826B2 (ja) ユーザーインターフェース要素を用いた分離、管理および通信
US9934005B2 (en) Dynamically building locale objects or subsections of locale objects based on historical data
JP5933002B2 (ja) ランタイムシステム
US20040095387A1 (en) Virtualized and realized user interface controls
JP2016520932A (ja) マルチディスプレイシステム
JP6338713B2 (ja) 柔軟性の高いメタデータの合成
US7730495B2 (en) Declaratively defined control actions
US20160062748A1 (en) Embedded domain specific languages as first class code artifacts
US8484629B2 (en) Programming model for modular development
US7917893B2 (en) Using a system of annotations to generate views and adapters
US9063758B2 (en) Population of dynamic objects representing static namespace hierarchies
US20080313647A1 (en) Thread virtualization techniques
US20170300299A1 (en) Smart tuple class generation for merged smart tuples
US9792093B2 (en) Dynamically building subsections of locale objects at run-time
Zhang et al. The Design and Implementation of Process Copy and Memory Sharing on SeL4

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110113

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees