Compilation of transformation in recalculation user interface

US9417890B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9417890-B2
Application numberUS-201313862277-A
CountryUS
Kind codeB2
Filing dateApr 12, 2013
Priority dateApr 12, 2013
Publication dateAug 16, 2016
Grant dateAug 16, 2016

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.

The compilation of a transformation chain of a recalculation user interface that displays an electronic canvas that contains one or more displayed result of a transformation chain. The transformation chain includes transforms between a respective data source and data sink. User editing of the recalculation user interface could cause one or more of the transforms to be re-executed, thereby causing recalculation. The compilation involves analyzing the transformation chain of the recalculation user interface for dependencies to create a dependency graph of dependencies between entities. For instance, some dependencies might be between entities so as to indicate that if one entity is evaluated, then the other should be also. The dependency graph is then used to create a lower level of execution steps. The dependency graph is further provided to a runtime for the program, so that the dependency graph may be available during operation of the recalculation user interface.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for compiling a transformation chain of a recalculation user interface, the method being implemented at a computer system that includes one or more processors, the method comprising the computer system, implementing the following: an act of assigning each of a plurality of entities to a data canonicalization component based on at least one of a file type or a format type of each of the plurality of entities, wherein the data canonicalization component converts each of the plurality of entities that has one or more particular characteristic into a canonical format; an act of determining dependencies between each of the plurality of canonicalized entities based on the transformation chain of the recalculation user interface; an act of generating a dependency graph based on the determined dependencies; an act of generating a lower level of execution steps based on a data received from the dependency graph, wherein the lower level of execution steps includes a compilation of each transformation in the transformation chain, and wherein the lower level of execution steps also includes at least one dedicated function for each of the dependencies in the dependency graph; an act of providing the dependency graph to a runtime for a program; and upon a condition in which the runtime detects an event that is listed in the dependency graph, an act of executing the corresponding at least one dedicated function. 2. The method in accordance with claim 1 , wherein the dependency graph includes an inter-entity dependency identification from which it can be determined that if a first entity included in the plurality of entities is evaluated, then a second entity also included in the plurality of entities is also to be evaluated. 3. The method in accordance with claim 1 , wherein the dependency graph includes a user event dependency from which it can be determined that if a user event occurs, then an entity included in the plurality of entities is evaluated. 4. The method in accordance with claim 1 , wherein the recalculation user interface is a spreadsheet document. 5. The method in accordance with claim 1 , wherein the recalculation user interface has a complex control that has input parameters to and output parameters from the transformation chain. 6. The method in accordance with claim 1 , wherein the transformation chain includes transformations from a data source to a control. 7. The method in accordance with claim 1 , wherein the transformation chain includes transformations from a control to another control. 8. The method in accordance with claim 1 , wherein the transformation chain is expressed declaratively. 9. The method in accordance with claim 8 , wherein the lower level of execution steps are expressed in imperative language code. 10. A computer program product comprising one or more computer-readable hardware storage devices having thereon computer-executable instructions that are executable by one or more processors of a computing system to cause the computing system to compile a transformation chain of a recalculation user interface by at least causing the computing system to implement: an act of assigning each of a plurality of entities to a data canonicalization component based on at least one of a file type or a format type of each of the plurality of entities, wherein the data canonicalization component converts each of the plurality of entities that has one or more particular characteristic into a canonical format; an act of determining dependencies between each of the plurality of canonicalized entities based on the transformation chain of the recalculation user interface; an act of generating a dependency graph based on the determined dependencies; an act of generating a lower level of execution steps based on a data received from the dependency graph, wherein the lower level of execution steps includes a compilation of each transformation in the transformation chain, and wherein the lower level of execution steps also includes at least one dedicated function for each of the dependencies in the dependency graph; an act of providing the dependency graph to a runtime for a program; and upon a condition In which the runtime detects an event that is listed in the dependency graph, an act of executing the corresponding at least one dedicated function. 11. The computer program product in accordance with claim 10 , wherein the dependency graph includes an inter-entity dependency identification from which it can be determined that if a first entity included in the plurality of entities is evaluated, then a second entity also included in the plurality of entities is also to be evaluated. 12. The computer program product in accordance with claim 10 , wherein the dependency graph represents a dependency between an event and an entity included in the plurality of entities. 13. The computer program product in accordance with claim 12 , wherein the event is an evaluation of another entity included in the plurality of entities. 14. The computer program product in accordance with claim 10 , wherein the recalculation user interface is a spreadsheet document. 15. The computer program product in accordance with claim 10 , wherein the recalculation user interface has a complex control that has input parameters to and output parameters from the transformation. 16. The computer program product in accordance with claim 10 , wherein the plurality of entities includes a data sink that is a control. 17. The computer program product in accordance with claim 10 , wherein the plurality of entities includes a data source that is a control. 18. The computer program product in accordance with claim 10 , wherein the transformation is expressed declaratively. 19. The computer program product in accordance with claim 18 , wherein the lower level of execution steps are expressed in imperative language code. 20. A computer system, comprising: one or more processors; system memory; a display device; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to compile a transformation chain of a recalculation user interface that includes one or more controls, and further to cause the computer system to perform at least the following: assign each of a plurality of entities to a data canonicalization component based on at least one of a file type or a format type of each of the plurality of entities, wherein the data canonicalization component converts each of the plurality of entities that has one or more particular characteristic into a canonical format; determine dependencies between each of the plurality of canonicalized entities based on the transformation chain of the recalculation user interface; generate a dependency graph based on the determined dependencies; generate a lower level of execution steps based on a data received from the dependency graph, wherein the lower level of execution steps includes a compilation of each transformation in the transformation chain, and wherein the lower level of execution steps also includes at least one dedicated function for each of the dependencies in the dependency graph; provide the dependency graph to a runtime for a program; and upon a condition in which the runtime detects an event that is listed in the dependency graph, execute the corresponding at least one dedicated function. 21. The computer syst

Assignees

Inventors

Classifications

  • Execution arrangements for user interfaces · CPC title

  • G06F40/18Primary

    of spreadsheets (form-filling G06F40/174) · CPC title

  • Dependency analysis; Data or control flow analysis · CPC title

  • G06F8/443Primary

    Optimisation · CPC title

  • Physics · mapped topic

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 US9417890B2 cover?
The compilation of a transformation chain of a recalculation user interface that displays an electronic canvas that contains one or more displayed result of a transformation chain. The transformation chain includes transforms between a respective data source and data sink. User editing of the recalculation user interface could cause one or more of the transforms to be re-executed, thereby causi…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/18. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 16 2016 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).