Cooperative expression visitors

US10853366B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10853366-B2
Application numberUS-201514955860-A
CountryUS
Kind codeB2
Filing dateDec 1, 2015
Priority dateDec 1, 2015
Publication dateDec 1, 2020
Grant dateDec 1, 2020

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.

In non-limiting examples of the present disclosure, systems and methods for rewriting expressions utilizing cooperative visitors are provided. A data request may be received by a computing device, which may then be represented in a data structure, e.g., an expression tree, representative of the data request. A node within the data structure representative of the data request may be visited. Metadata associated with at least one cooperative visitor may be extracted from the node, and the node may then be transformed by applying the at least one cooperative visitor to the node.

First claim

Opening claim text (preview).

We claim: 1. A computer-implemented method comprising: receiving a data request; accessing a node of a data structure, the data structure representative of the data request; extracting metadata from the node; determining, from a repository of cooperative visitors, a cooperative visitor based on the metadata, the cooperative visitor comprising logic; processing, using the logic of the determined cooperative visitor, the node to generate a rewritten node based on the cooperative visitor; generating a chain of visitation comprising a log of control transfers associated with one or more cooperative visitors; determining a failure in the processing of the rewritten node; and identifying, from the chain of visitation, an error in the log of control transfers, wherein the error is associated with the failure in the processing of the rewritten node. 2. The computer-implemented method according to claim 1 , wherein processing the node comprises transforming an expression associated with the node. 3. The computer-implemented method according to claim 1 , further comprising: querying the repository to identify at least one cooperative visitor associated with reflection metadata corresponding to the extracted metadata associated with the node. 4. The computer-implemented method according to claim 1 , further comprising: processing the extracted metadata and identifying a plurality of cooperative visitors within the repository based on the extracted metadata. 5. The computer-implemented method according to claim 4 , further comprising: rewriting an expression associated with the node by applying the plurality of cooperative visitors associated with the extracted metadata. 6. The computer-implemented method according to claim 1 , further comprising: applying the cooperative visitor to at least one child node of the node. 7. The computer-implemented method according to claim 2 , further comprising: prior to transforming the expression associated with the node, determining whether transforming the expression associated with the node will result in a loss of precision. 8. The computer-implemented method according to claim 1 , further comprising: determining whether at least one node of the data structure representative of the data request is suitable for processing by the cooperative visitor. 9. The computer-implemented method according to claim 8 , wherein determining whether the at least one node of the data structure representative of the data request is suitable for processing by the cooperative visitor further comprises calculating a computation cost associated with processing the at least one node. 10. A system comprising: at least one processor; and a memory operatively connected with the at least one processor, the memory comprising computer executable instructions that, when executed by the at least one processor, perform a method comprising: receiving a data request; generating an expression tree representative of the data request; extracting metadata from a node of the expression tree; determining, from a repository of cooperative visitors, a cooperative visitor based on the metadata, the cooperative visitor comprising logic; and transforming, using the logic of the determined cooperative visitor, an expression associated with the node to generate a transformed node according to the cooperative visitor; generating a chain of visitation comprising a log of control transfers associated with one or more cooperative visitors; determining a failure in the transformation of the transformed node; and identifying, from the chain of visitation, an error in the log of control transfers wherein the error is associated with the failure in the transformation of the transformed node. 11. The system according to claim 10 , wherein a hash code associated with the cooperative visitor is stored in the repository. 12. The system according to claim 10 , further comprising: querying the repository to identify at least one cooperative visitor stored in the repository associated with reflection metadata corresponding to the extracted metadata associated with the node. 13. The system according to claim 10 , further comprising: processing the extracted metadata and associating a plurality of cooperative visitors within the repository with the extracted metadata. 14. The system according to claim 13 , further comprising: transforming the expression associated with the node by applying the plurality of cooperative visitors associated with the extracted metadata. 15. The system according to claim 10 , further comprising: applying the cooperative visitor to at least one child node of the node. 16. The system according to claim 10 , further comprising: prior to transforming the expression associated with the node, determining whether transforming the expression associated with the node will result in a loss of precision. 17. The system according to claim 10 , further comprising: determining whether at least one node within the data structure representative of the data request is suitable for being transformed by the cooperative visitor. 18. A computer-readable storage device storing instructions for performing a method, the method comprising: receiving a data request; generating a data structure representative of the data request, wherein the data structure comprises at least one node; extracting metadata from a node of the data structure; querying a repository to determine a cooperative visitor associated with reflection metadata based on the extracted metadata, the cooperative visitor comprising logic; processing the node by applying the logic of the determined cooperative visitor; generating a chain of visitation comprising a log of control transfers associated with one or more cooperative visitors; determining a failure in the processing of the rewritten node; and identifying, from the chain of visitation, an error in the log of control transfers, wherein the error is associated with the failure in the processing of the rewritten node.

Assignees

Inventors

Classifications

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 US10853366B2 cover?
In non-limiting examples of the present disclosure, systems and methods for rewriting expressions utilizing cooperative visitors are provided. A data request may be received by a computing device, which may then be represented in a data structure, e.g., an expression tree, representative of the data request. A node within the data structure representative of the data request may be visited. Met…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/24545. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 01 2020 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).