← Back to Patent Explorer
US5911068A Expired / Lapsed US ⏱️ 0.0 years remaining

Container independent control architecture

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-11-17
•
Granted: 1999-06-08
•
Expires: 2017-11-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a control architecture that enables the sharing of controls between many containers. That is, the present invention provides for developing a control in such a manner that it may be used on dissimilar containers without modification. Thus, the control architecture of the present invention is a container independent control architecture that allows for the sharing of code. Since the container independent control architecture of the present invention provides for code sharing, the time required for developing controls and containers is reduced by the present invention. The present invention is utilized by splitting the functionality performed by a control into container dependent functionality and container independent functionality. After splitting the functionality, the present invention embodies the container independent functionality into a control and the container dependent functionality into an extended control. The present invention then combines the extended control and the control so as to appear as a single entity to the container.

Inventors

  • 👤 Christopher A. Zimmerman
  • 👤 Christopher L. Fraley

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488

Claims Analysis

Total Claims: 42
Claim 1
Independent Claim 250 words
In a computer system having a computer display and a plurality of containers for storing controls, a method for creating the controls comprising the steps of: providing a container-independent control component having the container-independent functionality that is not particular to any container, for being displayed on the computer display and for accepting user input; providing a plurality of extended controls having a container-dependent functionality that is particular to one of the plurality of containers; providing a receive component for receiving requests to invoke the functionality of the extended control and the functionality of the container-independent control component; for each of the plurality of containers, presenting both the container-independent control component in combination with the extended control having container-dependent functionality that is particular to that container such that that container is exposed to one set of functionality that includes the functionality of both the container-independent control component and that extended control and such that the container-independent control component can be combined with each of the extended controls to effect sharing of the container-independent functionality; receiving a request by the receive component; determining whether the request is to invoke the functionality of the extended control or the functionality of the container-independent control component; when it is determined that the request is to invoke the functionality of the extended control, invoking the functionality of the extended control; and when it is determined that the request is to invoke the functionality of the container-independent control component, invoking the functionality of the container-independent control component.
Claim 2
Dependent Claim 250 words
In a computer system having a computer display and a plurality of containers for storing controls, a method for creating the controls comprising the steps of: providing a container-independent control component having the container-independent functionality that is not particular to any container, for being displayed on the computer display and for accepting user input; providing a plurality of extended controls having a container-dependent functionality that is particular to one of the plurality of containers; providing a receive component for receiving requests to invoke the functionality of the extended control and the functionality of the container-independent control component; for each of the plurality of containers, presenting both the container-independent control component in combination with the extended control having container-dependent functionality that is particular to that container such that that container is exposed to one set of functionality that includes the functionality of both the container-independent control component and that extended control and such that the container-independent control component can be combined with each of the extended controls to effect sharing of the container-independent functionality; receiving a request by the receive component; determining whether the request is to invoke the functionality of the extended control or the functionality of the container-independent control component; when it is determined that the request is to invoke the functionality of the extended control, invoking the functionality of the extended control; and when it is determined that the request is to invoke the functionality of the container-independent control component, invoking the functionality of the container-independent control component.
Claim 3
Dependent Claim 126 words
The method of claim 1 wherein the extended control has methods and has a dispatch component for providing access to the methods of the extended control, and wherein the container-independent control component has methods, further comprising the steps of: under the control of the dispatch component, receiving a request to invoke a method from the container; determining whether the extended control or the container-independent control component has the method; when it is determined that the extended control has the method, invoking the method of the extended control; and returning results of the method to the container; and when it is determined that the container-independent control component has the method, invoking the method of the container-independent control component; and returning results of the method to the container.
Claim 4
Dependent Claim 78 words
The method of claim 2 wherein the step of invoking the method of the extended control includes the step of invoking the method of the extended control utilizing late bound access, wherein late bound access refers to the extended control having sufficient information for invoking the method at runtime, and wherein the step of invoking the method of the container-independent control component includes the step of invoking the method of the container-independent control component utilizing late bound access.
Claim 5
Dependent Claim 79 words
The method of claim 2 wherein the step of invoking the method of the extended control includes the step of invoking the method of the extended control utilizing early bound access, wherein early bound access refers to the extended control having sufficient information for invoking the method at compile time, and wherein the step of invoking the method of the container-independent control component includes the step of invoking the method of the container-independent control component utilizing early bound access.
Claim 6
Dependent Claim 83 words
The method of claim 1 wherein the extended control has a property and a dispatch component for accessing the property and wherein the container-independent control component has a property, further comprising the steps of: under the control of the dispatch component, receiving a request to access a property from the container; determining whether the extended control or the container-independent control component has the property; and when it is determined that the extended control has the property, accessing the property of the extended control.
Claim 7
Dependent Claim 28 words
The method of claim 5, further comprising the step of: when it is determined that the container-independent control component has the property, accessing the property of the control.
Claim 8
Dependent Claim 58 words
The method of claim 1 wherein the container-independent control component and the extended control generate events and have a connection point that provides access to register for a set of events, further comprising the steps of: receiving a request by the extended control for a connection point from the container; and returning the connection point to the container.
Claim 9
Dependent Claim 100 words
The method of claim 7 wherein the step of returning the connection point includes the steps of: determining whether the connection point is provided by the extended control or the container-independent control component; when it is determined that the connection point is provided by the extended control, returning the connection point of the extended control to the container; and when it is determined that the connection point is provided by the container-independent control component, accessing the connection point of the container-independent control component by the extended control; and returning the connection point of the container-independent control component to the container.
Claim 10
Dependent Claim 92 words
The method of claim 1 wherein the container-independent control component and the extended control generate events and have a connection point that provides access to register for a set of events, further comprising the steps of: receiving a request by the extended control for all connection points of the extended control and the container-independent control component from the container; accessing the connection points of the extended control; accessing the connection points of container-independent control component; and returning the connection points of the container-independent control component and the extended control to the container.
Claim 11
Dependent Claim 90 words
The method of claim 1 wherein the container-independent control component and the extended control have a type library containing binding information, loading information, and type information, further comprising the steps of: receiving a request by the extended control for a type library; accessing the type library of the extended control; accessing the type library of the container-independent control component; merging the type library of the extended control and the type library of the container-independent control component into an aggregate type library; and returning the aggregate type library to the container.
Claim 12
Dependent Claim 59 words
The method of claim 1 wherein the extended control and the container-independent control component have associated data, wherein the associated data comprises a plurality of items of binding information, loading information, and type information, further comprising the steps of: receiving a request by the extended control for an item of associated data; and returning the item of associated data.
Claim 13
Dependent Claim 84 words
The method of claim 11 wherein the step of returning the item includes the steps of: determining whether the item is associated with the extended control or the container-independent control component; when it is determined that the item is associated with the extended control, returning the item to the container; and when it is determined that the item is associated with the container-independent control component, accessing the item of the container-independent control component by the extended control; and returning the item to the container.
Claim 14
Dependent Claim 92 words
The method of claim 1 wherein the extended control and the container-independent control component have associated properties, and wherein the properties are grouped into pages, further comprising, the steps of: receiving a request by the extended control for property pages; accessing the property pages of the extended control; accessing the property pages of the container-independent control component; combining the property pages of the extended control and the property pages of the container-independent control component into a set of combined property pages; and returning the set of combined property pages to the container.
Claim 15
Dependent Claim 75 words
The method of claim 1 wherein the extended control and the container-independent control component generate events, comprising the steps of: registering for an event with the extended control by the container; when the extended control generates the event, sending the event to the container by the extended control; and when the container-independent control component generates the event, receiving the event by the extended control; and sending the event to the container by the extended control.
Claim 16
Dependent Claim 35 words
The method of claim 1 wherein the step of presenting the container-independent control component and the extended control includes the step of aggregating the container-independent control component and the extended control into an aggregate object.
Claim 17
Dependent Claim 157 words
A data processing system, comprising: a computer display for displaying information to a user; an input device for providing user input into the data processing system; a plurality of aggregate controls for displaying information on the computer display and for accepting user input, each aggregate control further comprising: a container-independent control for providing container independent functionality, wherein each aggregate control shares the control; an extended control for providing container dependent functionality, wherein each aggregate control has its own dependent control; and a component that receives requests to invoke functionality of the aggregate control, and that determines whether the request is to invoke functionality provided by the container-independent control or provided by the extended control and based on that determination invokes the functionality of the container-independent control or the extended control; and a plurality of containers for storing and presenting to a user an aggregate control having an extended control with functionality that is dependent on the container.
Claim 18
Dependent Claim 157 words
A data processing system, comprising: a computer display for displaying information to a user; an input device for providing user input into the data processing system; a plurality of aggregate controls for displaying information on the computer display and for accepting user input, each aggregate control further comprising: a container-independent control for providing container independent functionality, wherein each aggregate control shares the control; an extended control for providing container dependent functionality, wherein each aggregate control has its own dependent control; and a component that receives requests to invoke functionality of the aggregate control, and that determines whether the request is to invoke functionality provided by the container-independent control or provided by the extended control and based on that determination invokes the functionality of the container-independent control or the extended control; and a plurality of containers for storing and presenting to a user an aggregate control having an extended control with functionality that is dependent on the container.
Claim 19
Dependent Claim 49 words
The data processing system of claim 16, further comprising a site component for interfacing between the aggregate control and the container wherein the aggregate control invokes the functionality of the container through the site component and the container invokes the functionality of the aggregate control through the site component.
Claim 20
Dependent Claim 27 words
The data processing system of claim 16 wherein the control provides functionality through a plurality of interfaces with each interface having a plurality of methods and properties.
Claim 21
Dependent Claim 28 words
The data processing system of claim 16 wherein the extended control provides functionality through a plurality of interfaces with each interface having a plurality of methods and properties.
Claim 22
Dependent Claim 34 words
The data processing system of claim 16 wherein the extended control has a dispatching component for early bound access and late bound access to the functionality of the container-independent control and the extended control.
Claim 23
Dependent Claim 55 words
The data processing system of claim 16 wherein the extended control and the container-independent control have associated binding information, loading information and type information and wherein the extended control has a type library component for providing access to the binding information, the loading information and the type information of the extended control and the control.
Claim 24
Dependent Claim 47 words
The data processing system of claim 16 wherein the extended control and the container-independent control have groupings of properties comprising property pages, and wherein the extended control has a property page component for providing access to the property pages or the extended control and the container-independent control.
Claim 25
Dependent Claim 45 words
The data processing system of claim 16 wherein the extended control and the container-independent control generate events, and wherein the extended control has an event component for providing access to the container for registering for the events generated by the extended control and the control.
Claim 26
Dependent Claim 44 words
The data processing system of claim 23 wherein the event component includes a sending means for sending an event to the container when the extended control generates the event and for sending the event to the container when the container-independent control generates the event.
Claim 27
Dependent Claim 251 words
A computer-readable medium having instructions for controlling a computer system to perform a method, the computer system having a computer display and a plurality of containers for storing controls, the controls having functionality comprising container-independent functionality and container-dependent functionality, the method for creating the controls comprising the steps of: providing a container-independent control component having the container-independent functionality that is not particular to any container, for being displayed on the computer display and for accepting user input; providing an extended control for each of the plurality of containers, the extended control having the container-dependent functionality that is particular to the container; providing a receive component for receiving requests to invoke the functionality of the extended control and the functionality of the container-independent control component; presenting both the container-independent control component and an extended control as the control for a container such that the container in which the functionality of the extended control depends is exposed to one set of functionality that includes the functionality of both the container-independent control component and the extended control; receiving a request by the receive component; determining whether the request is to invoke the functionality of the extended control or the functionality of the container-independent control component; when it is determined that the request is to invoke the functionality of the extended control, invoking the functionality of the extended control; and when it is determined that the request is to invoke the functionality of the container-independent control component, invoking the functionality of the container-independent control component.
Claim 28
Dependent Claim 251 words
A computer-readable medium having instructions for controlling a computer system to perform a method, the computer system having a computer display and a plurality of containers for storing controls, the controls having functionality comprising container-independent functionality and container-dependent functionality, the method for creating the controls comprising the steps of: providing a container-independent control component having the container-independent functionality that is not particular to any container, for being displayed on the computer display and for accepting user input; providing an extended control for each of the plurality of containers, the extended control having the container-dependent functionality that is particular to the container; providing a receive component for receiving requests to invoke the functionality of the extended control and the functionality of the container-independent control component; presenting both the container-independent control component and an extended control as the control for a container such that the container in which the functionality of the extended control depends is exposed to one set of functionality that includes the functionality of both the container-independent control component and the extended control; receiving a request by the receive component; determining whether the request is to invoke the functionality of the extended control or the functionality of the container-independent control component; when it is determined that the request is to invoke the functionality of the extended control, invoking the functionality of the extended control; and when it is determined that the request is to invoke the functionality of the container-independent control component, invoking the functionality of the container-independent control component.
Claim 29
Dependent Claim 127 words
The computer-readable medium of claim 25 wherein the extended control has methods and has a dispatch component for providing access to the methods of the extended control, and wherein the container-independent control component has methods, further comprising the steps of: under the control of the dispatch component, receiving a request to invoke a method from the container; determining whether the extended control or the container-independent control component has the method; when it is determined that the extended control has the method, invoking the method of the extended control; and returning results of the method to the container; and when it is determined that the container-independent control component has the method, invoking the method of the container-independent control component; and returning results of the method to the container.
Claim 30
Dependent Claim 79 words
The computer-readable medium of claim 26 wherein the step of invoking the method of the extended control includes the step of invoking the method of the extended control utilizing late bound access wherein late bound access refers to the extended control having sufficient information for invoking the method at runtime, and wherein the step of invoking the method of the container-independent control component includes the step of invoking the method of the container-independent control component utilizing late bound access.
Claim 31
Dependent Claim 80 words
The computer-readable medium of claim 26 wherein the step of invoking the method of the extended control includes the step of invoking the method of the extended control utilizing early bound access, wherein early bound access refers to the extended control having sufficient information for invoking the method at compile time, and wherein the step of invoking the method of the container-independent control component includes the step of invoking the method of the container-independent control component utilizing early bound access.
Claim 32
Dependent Claim 84 words
The computer-readable medium of claim 25 wherein the extended control has a property and a dispatch component for accessing the property and wherein the container-independent control component has a property, further comprising the steps of: under the control of the dispatch component, receiving a request to access a property from the container; determining whether the extended control or the container-independent control component has the property; and when it is determined that the extended control has the property, accessing the property of the extended control.
Claim 33
Dependent Claim 29 words
The computer-readable medium of claim 29, further comprising the step of: when it is determined that the container-independent control component has the property, accessing the property of the control.
Claim 34
Dependent Claim 59 words
The computer-readable medium of claim 25 wherein the container-independent control component and the extended control generate events and have a connection point that provides access to register for a set of events, further comprising the steps of: receiving a request by the extended control for a connection point from the container; and returning the connection point to the container.
Claim 35
Dependent Claim 101 words
The computer-readable medium of claim 31 wherein the step of returning the connection point includes the steps of: determining whether the connection point is provided by the extended control or the container-independent control component; when it is determined that the connection point is provided by the extended control, returning the connection point of the extended control to the container; and when it is determined that the connection point is provided by the container-independent control component, accessing the connection point of the container-independent control component by the extended control; and returning the connection point of the container-independent control component to the container.
Claim 36
Dependent Claim 94 words
The computer-readable medium of claim 25 wherein the container-independent control component and the extended control generate events and have a connection point that provides access to register for a set of events, further comprising the steps of: receiving a request by the extended control for all connection points of the extended control and the container-independent control component from the container; accessing the connection points of the extended control; accessing the connection points of the container-independent control component; and returning the connection points of the container-independent control component and the extended control to the container.
Claim 37
Dependent Claim 91 words
The computer-readable medium of claim 25 wherein the container-independent control component and the extended control have a type library containing binding information, loading information and type information, further comprising the steps of: receiving a request by the extended control for a type library; accessing the type library of the extended control; accessing the type library of the container-independent control component; merging the type library of the extended control and the type library of the container-independent control component into an aggregate type library; and returning the aggregate type library to the container.
Claim 38
Dependent Claim 60 words
The computer-readable medium of claim 25 wherein the extended control and the container-independent control component have associated data, wherein the associated data comprises a plurality of items of binding information, loading information and type information, further comprising the steps of: receiving a request by the extended control for an item of associated data; and returning the item of associated data.
Claim 39
Dependent Claim 85 words
The computer-readable medium of claim 35 wherein the step of returning the item includes the steps of: determining whether the item is associated with the extended control or the container-independent control component; when it is determined that the item is associated with the extended control, returning the item to the container; and when it is determined that the item is associated with the container-independent control component, accessing the item of the container-independent control component by the extended control; and returning the item to the container.
Claim 40
Dependent Claim 93 words
The computer-readable medium of claim 25 wherein the extended control and the container-independent control component have associated properties, and wherein the properties are grouped into pages, further comprising the steps of: receiving a request by the extended control for property pages; accessing the property pages of the extended control; accessing the property pages of the container-independent control component; combining the property pages of the extended control and the property pages of the container-independent control component into a set of combined property pages; and returning the set of combined property pages to the container.
Claim 41
Dependent Claim 76 words
The computer-readable medium of claim 25 wherein the extended control and the container-independent control component generate events, comprising the steps of: registering for an event with the extended control by the container; when the extended control generates the event, sending the event to the container by the extended control; and when the container-independent control component generates the event, receiving the event by the extended control; and sending the event to the container by the extended control.
Claim 42
Dependent Claim 36 words
The computer-readable medium of claim 25 wherein the step of presenting the container-independent control component and the extended control includes the step of aggregating the container-independent control component and the extended control into an aggregate object.

References Cited (Backward Citations)

US5121478A Cited
US5237654A Cited
US5446902A Cited
US5515536A Cited
US5519845A Cited
US5485617A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-07 2002-12-07 2003-06-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-07 2006-12-07 2007-06-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-07 2010-12-07 2011-06-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag