Patentable/Patents/US-7712077
US-7712077

Method and system for instantiating components conforming to the “COM” specification in custom contexts

PublishedMay 4, 2010
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method and system for instantiating COM components in custom contexts are proposed. The solution of the invention is based on an auxiliary component, acting as a factory (215). Whenever a client (205) needs to instantiate a new target component in a desired custom context, it calls a dedicated method exposed by the factory, passing the identifier of the target component together with information about the custom context. The factory starts execution of an additional module, operating as an impersonator (225), in a new process (230) conforming to the custom context. The impersonator then instantiates the target component in its own process. The impersonator passes a pointer for the target component to the factory (calling a further method that is exposed by the factory); the factory in turn returns that pointer to the client.

Patent Claims
14 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of instantiating software components, each component conforming to a component-based specification requiring the instantiation in at least one predefined context, wherein the method includes the steps of: receiving, under control of an auxiliary component, the auxiliary component being a factory module, a request from a client to instantiate a target component, the request including an indication of the target component and a corresponding target context, the target context defining a domain in which the target component will execute, wherein the target context includes information about availability and configuration of (i) a security resource, (ii) a scheduling priority of the target process; causing, under the control of an auxiliary component, the instantiation of the target component in a target process being configured according to the target context, wherein the causing includes the auxiliary component starting execution of an intermediate module in the target process passing the indication of the target component and the intermediate module instantiating the target component in-process, the intermediate module being an impersonator module, wherein each component implements a predefined interface exposing at least one instantiation method for instantiating the component in a predefined context, and wherein the auxiliary component extends the interface with at least one further instantiation method for receiving the request from the client, the auxiliary component starting the execution of the intermediate module in response to the calling of the at least one further instantiation method, and the intermediate module instantiating the target component by calling the corresponding at least one instantiation method; and returning, under the control of an auxiliary component, an identifier for accessing the target component to the client.

2

2. The method according to claim 1 , wherein the step of returning the identifier for accessing the target component to the client includes: the intermediate module calling a service method exposed by the auxiliary component passing the identifier, and the auxiliary component returning the identifier to the client through the at least one further instantiation method.

3

3. The method according to claim 2 , wherein the identifier consists of a pointer to the target component being returned through the at least one instantiation method and wherein the further request is provided by calling a release method exposed by the target component, the method further including the step of storing an association between the target component and the intermediate module by the auxiliary component, the step of releasing the intermediate module including: the client calling a further release method exposed by the auxiliary component passing an indication of the target component, the auxiliary component associating the target component with the corresponding intermediate module, and the auxiliary component causing the release of the intermediate module.

4

4. The method according to claim 2 , wherein the intermediate module is an intermediate component wrapping the target component, the identifier consisting of a further pointer to the intermediate component, and wherein the further request is provided by calling a release method exposed by the auxiliary component, the steps of releasing the target component and the intermediate component including: the intermediate component releasing the target component, and terminating the execution of the intermediate component.

5

5. The method according to claim 1 , further including the steps of: releasing the target component in response to a further request of the client; and releasing the intermediate module in response to the release of the target component.

6

6. The method according to claim 1 , wherein the components conform to the COM (Component Object Model) specification.

7

7. The method of claim 1 , wherein the target context further includes information about availability and configuration of an appearance property of the target process, and wherein the target context specifies a user to be impersonated by the target process.

8

8. The method of claim 7 , wherein the target context further includes information about an environment block, the environment block including at least one pair of an environment variable name and a value corresponding to the environment variable.

9

9. A computer program product in a computer readable medium for performing a method of instantiating software components when the program is run on a data processing system, each component conforming to a component-based specification requiring the instantiation in at least one predefined context, wherein the method includes the steps under the control of an auxiliary component of: receiving, under control of an auxiliary component, the auxiliary component being a factory module, a request from a client to instantiate a target component, the request including an indication of the target component and a corresponding target context, the target context defining a domain in which the target component will execute, wherein the target context includes information about availability and configuration of (i) a security resource, (ii) a scheduling priority of the target process; causing the instantiation of the target component in a target process being configured according to the target context, wherein the causing includes the auxiliary component starting execution of an intermediate module in the target process passing the indication of the target component and the intermediate module instantiating the target component in-process, the intermediate module being an impersonator module, wherein each component implements a predefined interface exposing at least one instantiation method for instantiating the component in a predefined context, and wherein the auxiliary component extends the interface with at least one further instantiation method for receiving the request from the client, the auxiliary component starting the execution of the intermediate module in response to the calling of the at least one further instantiation method, and the intermediate module instantiating the target component by calling the corresponding at least one instantiation method; and returning an identifier for accessing the target component to the client.

10

10. The computer program product of claim 9 , wherein the target context further includes information about availability and configuration of an appearance property of the target process, and wherein the target context specifies a user to be impersonated by the target process.

11

11. The computer program product of claim 9 , wherein the target context further includes information about an environment block, the environment block including at least one pair of an environment variable name and a value corresponding to the environment variable.

12

12. A system for instantiating software components, each component conforming to a component-based specification requiring the instantiation in at least one predefined context, the system comprising: a storage device including a storage medium, wherein the storage device stores computer usable program code; and a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code includes computer usable code for an auxiliary component, the computer usable code for the auxiliary component comprising: computer usable code for receiving, under control of an auxiliary component, the auxiliary component being a factory module, a request from a client to instantiate a target component, the request including an indication of the target component and a corresponding target context, the target context defining a domain in which the target component will execute, wherein the target context includes information about availability and configuration of (i) a security resource, (ii) a scheduling priority of the target process; computer usable code for causing the instantiation of the target component in a target process being configured according to the target context, wherein the computer usable code for causing includes computer usable code for the auxiliary component starting execution of an intermediate module in the target process passing the indication of the target component and computer usable code for the intermediate module instantiating the target component in-process, the intermediate module being an impersonator module, wherein each component implements a predefined interface exposing at least one instantiation method for instantiating the component in a predefined context, and wherein the auxiliary component extends the interface with at least one further instantiation method for receiving the request from the client, the auxiliary component starting the execution of the intermediate module in response to the calling of the at least one further instantiation method, and the intermediate module instantiating the target component by calling the corresponding at least one instantiation method; and computer usable code for returning an identifier for accessing the target component to the client.

13

13. The system of claim 12 , wherein the target context further includes information about availability and configuration of an appearance property of the target process, and wherein the target context specifies a user to be impersonated by the target process.

14

14. The system of claim 12 , wherein the target context further includes information about an environment block, the environment block including at least one pair of an environment variable name and a value corresponding to the environment variable.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

January 13, 2005

Publication Date

May 4, 2010

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Method and system for instantiating components conforming to the “COM” specification in custom contexts” (US-7712077). https://patentable.app/patents/US-7712077

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.