摘要:
The present invention extends to methods, systems, and computer program products for enabling the development and execution of applications that employ a composited application model. A composited application includes components that are to be executed in different runtimes. Accordingly, an application developer can leverage different runtimes within a single application. A managing runtime is used to manage the various runtimes used by a composited application. The managing runtime performs input redirection to route user input to the appropriate runtime and output compositing to composite each runtime's user interface components into a single seamless scene.
摘要:
A computer-implemented system is provided that facilitates implementation of a voice-over-IP (VOIP) application. The system includes a host system and a user interface (UI) host process residing on the host system. The system also includes an agent host process residing on the host system which is being configured to process a VOIP call received by one or more VOIP applications executable on the host system. A moniker protocol is utilized for redirection of input and output between a media element which is utilized to render media on a display on the system. The redirection enables media processing to be allocated between the UI host process in the foreground and the agent host process in the background to thereby reduce latency perceived by a user during a VOIP experience.
摘要:
Described is a technology including an evaluation methodology by which a set of privileged code such as a platform's API method may be marked as being security critical and/or safe for being called by untrusted code. The set of code is evaluated to determine whether the code is security critical code, and if so, it is identified as security critical. Such code is further evaluated to determine whether the code is safe with respect to being called by untrusted code, and if so, is marked as safe. To determine whether the code is safe, a determination is made as to whether the first set of code leaks criticality, including by evaluating one or more code paths corresponding to one or more callers of the first set of code, and by evaluating one or more code paths corresponding to one or more callees of the first set of code.
摘要:
Described is a technology in which one application running in a browser can host another application (e.g., an advertisement) in an isolated manner that prevents the hosted application from accessing browser data, or data of any other hosted application (including the host). The host and/or hosted application may be a browser plug-in (e.g., Microsoft® Silverlight™) application. The host application privately instantiates a hidden plug-in, with that hidden plug-in's access to browser data disabled, and loads the hosted application in the hidden plug-in. A XAML tag element may be used to identify the hosted application, along with a rendering area for the hosted application. Content from the hosted application is composited with content from the host application when rendering. The host application may provide keywords to the hosted application, such as for selecting relevant advertisements, and/or may allow the hosted application to open a browser window to display associated website content.
摘要:
A runtime management system is described herein that allows a hosting layer to dynamically control an underlying runtime to selectively turn on and off various subsystems of the runtime to save power and extend battery life of devices on which the system operates. The hosting layer has information about usage of the runtime that is not available within the runtime, and can do a more effective job of disabling parts of the runtime that will not be needed without negatively affecting application performance or device responsiveness. The runtime management system includes a protocol of communication between arbitrary hosts and underlying platforms to expose a set of options to allow the host to selectively turn parts of a runtime on and off depending on varying environmental pressures. Thus, the runtime management system provides more effective use of potentially scarce power resources available on mobile platforms.
摘要:
A computer-implemented system is provided that facilitates implementation of a voice-over-IP (VOIP) application. The system includes a host system and a user interface (UI) host process residing on the host system. The system also includes an agent host process residing on the host system which is being configured to process a VOIP call received by one or more VOIP applications executable on the host system. A moniker protocol is utilized for redirection of input and output between a media element which is utilized to render media on a display on the system. The redirection enables media processing to be allocated between the UI host process in the foreground and the agent host process in the background to thereby reduce latency perceived by a user during a VOIP experience.
摘要:
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.
摘要:
Extensions or additional software programs that are requested by a computer application running on an application platform are handled in an efficient manner by, among other things, regulating and tracking extensions that are downloaded. This allows the size of the application platform upon which the application is running to remain relatively small so as to mitigate strain on resources when the platform is initially deployed over a network (e.g., the Internet), thus making it easier and more likely for a user to install the application platform (and/or updates thereto). Requested extensions are subsequently added to and/or removed from the (already deployed) application platform based on, among other things, download metrics.
摘要:
Innovations for resource management are described herein. For example, resource management organizes resources as pools that are associated with different types of workloads. The resource management can be implemented as part of an application layer framework and/or operating system of a computing device. A budget is established at design time for the resources of the computing device. Each type of workload primarily draws from resources dedicated to that type of workload in the associated pool under the budget, as enforced by the operating system. This can help provide acceptable performance for those workloads that are permitted to run, while preventing resources of the mobile computing device from becoming spread too thin among workloads. It can also help maintain a good overall balance among different types of workloads.
摘要:
Innovations for quota-based resource management are described herein. For example, quota-based resource management is implemented as part of an application layer framework and/or operating system of a computing device. With the quota-based resource management, a budget is established at design time for the resources of the computing device. Each type of workload primarily draws from resources dedicated to that type of workload in the budget, as enforced by the operating system. This can help provide acceptable performance for those workloads that are permitted to run, while preventing resources of the mobile computing device from becoming spread too thin among workloads. It can also help maintain a good overall balance among different types of workloads.