IP Library Granted Patent US 8,079,039
Granted Patent B2
US 8,079,039 · App. 11/716,328 · Granted Dec 13, 2011

Isolating, managing and communicating with user interface elements

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,079,039
App. No.
11/716,328
Granted
Dec 13, 2011
Kind
B2
Abstract

Various technologies and techniques are disclosed that allow a user interface in a managed runtime environment to display content from two or more different partitioned process spaces. A software application having a user interface operates a managed runtime environment. A window handle allows a user interface of the application to display content from different partitioned process spaces at a same time. Information from the partitioned process spaces can be integrated within the user interface while preserving a level of isolation between the partitioned process spaces. This is accomplished by providing a first portion of a content container for the user interface with a host control that contains the window handle and resides in a first partitioned process space of a main window. A second portion of the content container is provided with a source control that provides the window handle and resides in a second partitioned process space.

Claims (29)

1. A computer storage medium having computer-executable instructions for causing a computer to perform steps comprising:

provide a particular software application that operates in a managed runtime environment, the particular software application having a user interface;

use a window handle to allow a user interface of the particular software application to display content from two or more different partitioned process spaces at a same time; and

allow information from the two or more partitioned process spaces to be integrated within the user interface of the software application operating in the managed runtime environment while preserving isolation between the two or more different partitioned process spaces;

the first one of the partitioned process spaces having a first portion of a content container for the user interface with a host control that contains a provided window as a child window; and

the second one of the partitioned process spaces having a second portion of the content container for the user interface with a source control that provides the window handle.

2. The computer storage medium of claim 1 , wherein the managed runtime environment is a managed software framework environment.

3. The computer storage medium of claim 1 , wherein the two or more partitioned process spaces are AppDomains in the managed runtime environment.

4. The computer storage medium of claim 1 , wherein a first one of the partitioned process spaces is operable to communicate with a second one of the partitioned process spaces by performing a marshal by reference process.

5. The computer storage medium of claim 4 , wherein the marshal by reference process uses a MarshalByRefObjects process in a Windows operating system.

6. The computer storage medium of claim 1 , wherein a first security level that the first portion of the content container follows is different than a second security level that the second portion of the content container follows.

7. The computer storage medium of claim 6 , wherein the second portion of the content container displays content from an untrusted source.

8. A method for integrating user interface content from different partitioned process spaces in a single user interface comprising the steps of:

providing a particular software application that operates in a managed runtime environment, the particular software application having a user interface;

providing a first portion of a content container for the user interface with a host control that contains a provided window as a child window and resides in a first partitioned process space of a main window;

providing a second portion of the content container for the user interface with a source control that provides a window handle and resides in a second partitioned process space of the main window, the second portion of the content container having content for display; and

allowing information from the first partitioned process space and the second partitioned process space to be integrated within the user interface of the software application operating in the managed runtime environment while preserving isolation between the first portion and the second portion of the content container.

9. The method of claim 8 , wherein the managed runtime environment is a managed software framework environment.

10. The method of claim 8 , wherein the first partitioned process space and the second partitioned process space are AppDomains in the managed runtime environment.

11. The method of claim 8 , wherein a first security level that the first portion of the content container follows is different than a second security level that the second portion of the content container follows.

12. A computer storage medium having computer-executable instructions for causing a computer to perform the steps recited in claim 8 .

13. A method for integrating user interface content from different partitioned process spaces in a single user interface comprising the steps of:

providing a particular software application that operates in a managed software framework environment, the particular software application having a user interface;

providing a first portion of a content container for the user interface with a host control that contains a provided window as a child window and resides in a first partitioned process space of a main window;

providing a second portion of the content container for the user interface with a source control that provides a window handle and resides in a second partitioned process space of the main window, the second portion of the content container having content for display; and

allowing information from more than one partitioned process space to be integrated within the user interface of the software application operating in the managed software framework environment while preserving isolation between the first portion and the second portion by using the provided window from the first portion of the content container and the window handle from the second portion of the content container.

14. The method of claim 13 , wherein the first partitioned process space and the second partitioned process space are AppDomains in the managed software framework environment.

15. The method of claim 13 , wherein the first partitioned process space is operable to communicate with a second partitioned process space by performing a MarshalByRefObjects process.

16. A computer storage medium having computer-executable instructions for causing a computer to perform the steps recited in claim 13 .

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2007
From: LAVOIE, LAUREN; RELYEA, DAVID P.; SHETTY, ASHISH S.; ZHAN, WEIBING
To: MICROSOFT CORPORATION
Reel/Frame 019285/0003 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2007
From: NAM, KI-WON; AHN, HYUN
To: HYNIX SEMICONDUCTOR INC.
Reel/Frame 019045/0040 →