Shared compositional resources

US9542906B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9542906-B2
Application numberUS-201313891598-A
CountryUS
Kind codeB2
Filing dateMay 10, 2013
Priority dateMay 10, 2013
Publication dateJan 10, 2017
Grant dateJan 10, 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.

Shared compositional resources are described. In one or more implementations, a global composition system may be configured to perform rendering for a plurality of processes, e.g., applications. For example, the global composition system may be configured to expose one or more application programming interfaces (APIs) that are accessible to the processes. The APIs may then be used to cause a single composition engine to perform the rendering for the plurality of applications. Thus, the single composition engine may be leveraged to support a variety of functionality, such as to manage sharing of compositional resources by a plurality of processes. This sharing may be performed in a variety of ways, which may include use of a writer/reader paradigm.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more modules implemented at least partially in hardware, the one or more modules configured to implement a single composition engine that is configured for: accessibility by a plurality of processes via one or more application programming interfaces to render elements for display on a display device; and managing sharing of a shared compositional resource by the plurality of processes, the shared compositional resource involved in the rendering of the elements, wherein the shared compositional resource follows a reader/writer paradigm managed by the single composition engine for access by the plurality of processes such that a reader process is configured to specify what element is displayed and a writer process is configured to create the shared compositional resource and to specify how the specified element is displayed, the writer process lacks permission to specify the element, the reader process lacks permission to specify how the specified element is displayed, the reader and writer processes included in the plurality of processes. 2. A system as described in claim 1 , wherein the shared compositional resource include a float, color, animation trigger, transform visual, or other visual property. 3. A system as described in claim 1 , wherein the single composition engine is executed in kernel mode and the plurality of processes are executed in user mode. 4. A system as described in claim 3 , wherein the shared compositional resource is managed by the single composition engine such that the writer process is not aware of what element is displayed and the reader process is not aware as to how the specified element is displayed. 5. A system as described in claim 1 , wherein the shared compositional resource is included in a graph to follow a reader/writer paradigm managed by the single composition engine for access by the plurality of processes such that a reader process is configured to associate one or more child nodes that specify content to the shared compositional resource in the graph and a writer process is configured to modify one or more visual properties of the content but lacks permission to add child nodes to the shared compositional resource. 6. A system as described in claim 5 , wherein the graph is a global composition tree. 7. A system as described in claim 1 , wherein each of the plurality of processes corresponds to respective ones of a plurality of applications. 8. A system as described in claim 1 , wherein the one or more modules are implemented at least in part through execution of an operating system. 9. A system as described in claim 1 , wherein the single composition engine is accessible to the plurality of processes via a web service. 10. A system as described in claim 1 , wherein the single composition engine is further configured to determine that one of the elements is occluded by another of the elements and not render the one of the elements. 11. A method implemented by one or more computing devices, the method comprising: managing access of a reader process by a composition engine to a shared compositional resource such that the reader process is configured to specify an element to be rendered by the composition engine as part of the shared compositional resource; and managing access of a writer process by the composition engine to the shared compositional resource such that the writer process is configured create the shared compositional resource and to specify one or more modifications to properties of the shared compositional resource but lacks permission to specify the element to be rendered by the composition engine as part of the shared compositional resource, wherein the reader process lacks permission to specify the one or more modifications to the properties. 12. A method as described in claim 11 , wherein the one or more modifications by the writer process specify how the element is to be rendered by the composition engine. 13. A computer readable storage memory comprising instructions stored thereon that, responsive to execution by a computing device, causes the computing device to implement a single composition engine that is accessible by a plurality of processes via one or more application programming interfaces to render elements specified in a graph for display by a display device, the graph having a shared compositional resource that is accessible by each of the plurality of processes, wherein the shared compositional resource follows a reader/writer paradigm managed by the single composition engine for access by the plurality of processes such that a reader process is configured to specify what element is displayed and a writer process is configured to create the shared compositional resource and to specify how the specified element is displayed, the writer process lacks permission to specify the element, the reader process lacks permission to specify how the specified element is displayed. 14. A computer readable storage memory as described in claim 13 , wherein the single composition engine is executed in kernel mode and the plurality of processes are executed in user mode. 15. A computer readable storage memory as described in claim 14 , wherein the shared compositional resources are managed by the single composition engine such that the writer process is not aware of what element is displayed and the reader process is not aware as to how the specified element is displayed. 16. A computer readable storage memory as described in claim 13 , wherein the shared compositional resource follows the reader/writer paradigm managed by the single composition engine such that the reader process is configured to associate one or more child nodes that specify content to the shared compositional resource in the graph and the writer process is configured to modify one or more visual properties of the content but lacks permission to add child nodes to the shared compositional resource. 17. A computer readable storage memory as described in claim 13 , wherein the graph is a global composition tree.

Assignees

Inventors

Classifications

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Physics · mapped topic

  • G09G5/006Primary

    Details of the interface to the display terminal (specific for a display terminal using a CRT G09G1/167; using a flat panel G09G3/2096; circuits for interfacing with colour displays G09G5/04) · CPC title

  • General purpose rendering architectures · CPC title

  • Execution arrangements for user interfaces · 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 US9542906B2 cover?
Shared compositional resources are described. In one or more implementations, a global composition system may be configured to perform rendering for a plurality of processes, e.g., applications. For example, the global composition system may be configured to expose one or more application programming interfaces (APIs) that are accessible to the processes. The APIs may then be used to cause a si…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).