Untrusted component hosting
AssigneeMicrosoft Corporation
InventorsAshraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
Life of this patent
Estimating the term…
Abstract
In a computing environment, one may wish to have interoperability between trusted and untrusted controls/plug-ins allowing for richer expression of content and control within a platform. This can be accomplished by allowing an untrusted plug-in to communicate with a trusted plug-in, while having the trusted plug-in exercise control over the platform. This allows for the creation of a layered secure approach of communication with a platform, thus allowing for increased application richness in untrusted third party applications.
Claims20
A method of hosting an untrusted component, comprising:
- establishing a communication channel between the untrusted component and a trusted component in operable communication with a plurality of platforms;
- receiving a request at the trusted component from the untrusted component, the request comprising information indicative of an intent to be processed via at least one platform of the plurality of platforms;
- determining, at the trusted component, to process the request via a first platform of the plurality of platforms based upon the information comprised in the request, the request not originating from the first platform and the first platform comprising at least one of a virtual machine or a scripting language interpreter, the determining comprising:
- determining that the first platform satisfies a first number of conditions of the untrusted component;
- determining that a second platform of the plurality of platforms satisfies a second number of the conditions of the untrusted component, the second number less than the first number;
- determining that none of the plurality of platforms satisfy all of the conditions of the untrusted component;
- and
- determining that the first platform is to process the request when the first platform satisfies more of the conditions of the untrusted component than the second platform and no platform satisfies all of the conditions of the untrusted component, wherein the conditions of the untrusted component comprise at least one of connection type, wireless signal strength, network activity volume, graphics processing unit type or network connection speed;
- and
- transmitting the request to the first platform based upon the determining to process the request via the first platform.
A system for hosting an untrusted component, comprising:
- a trusted component configured to receive a request from the untrusted component, and the trusted component configured to determine to process the request via a first platform of a plurality of platforms comprising at least one of a virtual machine or a scripting language interpreter, the trusted component configured to:
- determine that the first platform satisfies a first number of conditions of the untrusted component;
- determine that a second platform of the plurality of platforms satisfies a second number of the conditions of the untrusted component, the second number less than the first number;
- determine that none of the plurality of platforms satisfy all of the conditions of the untrusted component;
- and
- determine that the first platform is to process the request when the first platform satisfies more of the conditions of the untrusted component than the second platform and no platform satisfies all of the conditions of the untrusted component, wherein the conditions of the untrusted component comprise at least one of connection type, wireless signal strength, network activity volume, graphics processing unit type or network connection speed;
- and
- a processor configured to implement at least some of the system.
A computer readable storage memory comprising computer executable instructions that when executed via a processing unit perform a method, the method comprising:
- establishing a communication channel between an untrusted component and a trusted component in operable communication with a plurality of platforms;
- receiving a request at the trusted component from the untrusted component;
- determining, at the trusted component, to process the request via a first platform of the plurality of platforms, the request not originating from the first platform, the determining comprising:
- determining that the first platform satisfies a first number of conditions of the untrusted component;
- determining that a second platform of the plurality of platforms satisfies a second number of the conditions of the untrusted component, the second number less than the first number;
- determining that none of the plurality of platforms satisfy all of the conditions of the untrusted component;
- and
- determining that the first platform is to process the request when the first platform satisfies more of the conditions of the untrusted component than the second platform and no platform satisfies all of the conditions of the untrusted component, wherein the conditions of the untrusted component comprise at least one of connection type, wireless signal strength, network activity volume, graphics processing unit type or network connection speed;
- and
- transmitting the request to the first platform based upon the determining to process the request via the first platform.
Dependencies are inferred from the claim text.