Rendering interpreter for visualizing data provided from restricted environment container

US9754018B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9754018-B2
Application numberUS-201414231869-A
CountryUS
Kind codeB2
Filing dateApr 1, 2014
Priority dateSep 30, 2013
Publication dateSep 5, 2017
Grant dateSep 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

At least some embodiments described herein refer to the user of a rendering interpreter that receives data object(s) from code executing within a restricted environment container (such as an IFrame). The restricted environment container prevents the code from adversely impacting the performance and consistency of the user interface system as a whole, and also prevents the code from adversely impacting the performance of code running in other restricted environment containers.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system comprising: one or more computer readable storage media storing computer executable instructions; one or more processors which, when executing the computer executable instructions, cause the computer system to be configured with an architecture for a computing environment for apportioning restricted environment containers (such as IFrames) on the basis of one restricted environment container per extension application, as opposed to one restricted environment container per dynamic interface element, so that any given application extension may populate many more than just a single dynamic interface element with content; and wherein the architecture for the computing environment comprises: a user interface system comprising a plurality of dynamic interface elements; a plurality of restricted environment containers each running untrusted code for a corresponding extension application so as to provide a restricted environment for each extension application in which the untrusted code runs, each restricted environment container using application data for the extension application to generate a plurality of data objects, and the restricted environment containers being apportioned on the basis of one restricted environment container per extension application, as opposed to one restricted environment container per dynamic interface element; and a separate rendering interpreter for each given data object processed by a restricted environment container, and each rendering interpreter processing and projecting the corresponding data object to a single dynamic interface element of the user interface system. 2. The computer system in accordance with claim 1 , wherein the restricted environment container is suitable for displaying content when the content is reconfigured. 3. The computer system in accordance with claim 1 , wherein the restricted environment container is an IFrame, and wherein data objects received by the dynamic interface elements are view models. 4. The computer system in accordance with claim 3 , wherein a copy of the one or more data objects is maintained within a corresponding restricted environment container, and a synchronized second copy of the one or more data objects is maintained within the user interface system. 5. The computer system in accordance with claim 1 , wherein the code that runs for a given extension application extends features of the user interface system, and wherein at least one of the dynamic interface elements of the user interface system is populated by the code that runs for the given extension application. 6. The computer system in accordance with claim 1 , wherein the architecture for the computing environment further comprises: a mapping component that manages mapping between data objects provided by the restricted environment container of a given extension application and a plurality of dynamic interface elements; and a shell component that adds and removes dynamic interface elements to the user interface system. 7. The computer system in accordance with claim 6 , wherein the architecture for the computing environment further comprises: a container management component that instantiates a new restricted environment container when a user interface element is to be displayed that is to be populated by code from a particular extension application for which there is not yet a restricted environment container; and wherein the shell component notifies the container management component when a dynamic interface element is added or removed from the user interface system. 8. The computer system in accordance with claim 7 , wherein the architecture for the computing environment further comprises: a virtualization component that releases user interface state of a dynamic interface element when the dynamic interface element is no longer displayed on the user interface system, but is still available at the user interface system. 9. The computer system in accordance with claim 8 , wherein the container management component releases a restricted environment container corresponding to a particular extension application when the user interface system no longer has any user interface state corresponding to any dynamic interface element that is populated by the particular extension application. 10. The computer system in accordance with claim 1 , wherein at least one of the dynamic interface elements of the user interface system receiving a projected data object is a smaller window contained within a larger window, and wherein at least one other dynamic interface element of the user interface system receiving a projected data object is not contained within any other window of the user interface system. 11. A computer-implemented method performed by one or more processors when executing computer-executable code, the computer-implemented method comprising: running within a restricted environment container untrusted code for an extension application so as to provide a restricted environment in which the untrusted code runs; generating a plurality of data objects using application data for the extension application, processing the plurality of data objects with a separate rendering interpreter provided for each given data object; and projecting the processed data objects from each said separate rendering interpreter to a corresponding single dynamic interface element of the user interface system, with each restricted environment container being apportioned to a single extension application, and each separate rendering interpreter is apportioned to a single dynamic interface element of the user interface system, as opposed to individually apportioning restricted environment containers to a single dynamic interface element. 12. The computer-implemented method in accordance with claim 11 , wherein the restricted environment container is an IFrame, and wherein data objects received by the dynamic interface elements are view models. 13. The computer-implemented method in accordance with claim 12 , wherein a copy of the one or more data objects is maintained within a corresponding restricted environment container, and a synchronized second copy of the one or more data objects is maintained within the user interface system. 14. The computer-implemented method in accordance with claim 11 , further comprising: adding and removing dynamic interface elements to the user interface system. 15. The computer-implemented method in accordance with claim 14 , further comprising: instantiating a new restricted environment container when a user interface element is to be displayed that is to be populated by code from a particular extension application for which there is not yet a restricted environment container. 16. The computer-implemented method in accordance with claim 15 , further comprising: releasing user interface state of a dynamic interface element when the dynamic interface element is no longer displayed on the user interface system, but is still available at the user interface system. 17. The computer-implemented method in accordance with claim 16 , further comprising: releasing a restricted environment container corresponding to a particular extension application when the user interface system no longer has any user interface state corresponding to any dynamic interface element that is populated by the particular extension application. 18. A computer program product comprising one or more computer storage media storing computer executable instructions which, when executed by one or more proces

Assignees

Inventors

Classifications

  • Execution arrangements for user interfaces · CPC title

  • G06F40/117Primary

    Tagging; Marking up (details of markup languages G06F40/143); Designating a block; Setting of attributes (style sheets, e.g. eXtensible Stylesheet Language Transformation [XSLT], G06F40/154) · CPC title

  • Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance · CPC title

  • Natural language query formulation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9754018B2 cover?
At least some embodiments described herein refer to the user of a rendering interpreter that receives data object(s) from code executing within a restricted environment container (such as an IFrame). The restricted environment container prevents the code from adversely impacting the performance and consistency of the user interface system as a whole, and also prevents the code from adversely im…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/117. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).