Interface Infrastructure for a Continuation Based Runtime

US2016274869A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016274869-A1
Application numberUS-201615167623-A
CountryUS
Kind codeA1
Filing dateMay 27, 2016
Priority dateDec 29, 2008
Publication dateSep 22, 2016
Grant date

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.

Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of various scale and complexity.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer readable storage medium, the computer readable storage medium having stored thereon computer executable instructions for implementing a framework for enabling the creation or execution of continuation-based declarative applications, the computer readable medium comprising computer readable instructions that when executed by one or more processors cause the following to be implemented: a first plurality of interfaces configured for writing continuation based runtimes, the first plurality of interfaces comprising: a first interface that represents continuation-based functional behavior, wherein instances of the first interface include imperative code in their bodies that is executed by a processor to perform functions, and wherein the first interface is polymorphic; and a second interface used to store data in the continuation-based runtime, the interface including a type and a name, and a plurality of argument interfaces, wherein each of the argument interfaces is a binding terminal that represents the flow of data for instances of the first interface, the plurality of argument interfaces comprising: an inargument interface that has a direction of In; an outargument interface that has a direction of Out; and an inoutargument interface that has a direction of InOut. 2 . The computer readable medium of claim 1 , wherein the first plurality of interfaces is represented as source code. 3 . The computer readable medium of claim 1 , wherein the first plurality of interfaces is represented as compiled code 4 . The computer readable medium of claim 1 , wherein the first plurality of interfaces comprises: an interface used for declaratively composing behavior dynamically using an Activity document object model; an interface used for writing imperative behavior through an Execute method that has access to data resolution and extensions; an interface used for writing imperative behavior through an Execute method that has unfettered access to the full breath of the runtime; an interface used for implementing a continuation-based functional behavior that has a well-known, elevated return value; an interface used for allowing for environment access; an interface that adds async operation support to the interface used for allowing environment access; an interface that adds support for child management, setting up no-persist zones, isolation blocks, and bookmarks; an interface used for the storage of data in a continuation-based program; an interface used for implementing a binding terminal that represents the flow of data for an activity; and an interface used for implementing a snippet of workflow with a specific signature. 5 . The computer readable medium of claim 1 , further comprising a second plurality of interfaces, wherein the second plurality of interfaces are used to host, execute, and manage instances of continuation-based, declarative programs. 6 . The computer readable medium of claim 5 , wherein the second plurality of interfaces comprises: an interface used to create a new workflow instance or to load an existing instance; an interface used to provide the interface used to create a new workflow instance or to load an existing instance to host functionality including synchronization, persistence, tracking, and extensions; an interface used for implementing a locus of control for workflow instance management; an interface used for directly running an activity as if it were a method call; and an interface used for implementing a primary entry point for accessing a plurality of hosting services. 7 . The computer readable medium of claim 1 , further comprising a third plurality of interfaces, wherein the third plurality of interfaces are used to implement a base layer of activities that add functionality to the continuation-based runtime and that are used to add concrete behaviors that build on top of a core activity model. 8 . The computer readable medium of claim 7 , wherein the third plurality of interfaces comprises: an interface used for scheduling instances of the first interface class for execution in sequential order an interface used for a control-flow activity that schedules one of two instances of the first interface class; an interface used for incrementally going through an enumeration and invoking a configurated action class with the current value of the enumeration; an interface used for enumerating parallel execution of action classes. an interface used for a control-flow Activity that is configured with a set of instances of the first interface class that it schedules for execution all at once; an interface used for a control-flow Activity that is configured with a set of Nodes that store instances of the first interface class for behavior and additional metadata about the next Node that should be scheduled; an interface that is configured with a set of States and Transitions and that interprets this metadata about nodes into orchestration logic that follows the formal models of state machines in executing a reactive system; and an interface used for facilitating method calls. 9 . The computer readable medium of claim 1 , further comprising a fourth plurality of interfaces, wherein the fourth plurality of interfaces are used for providing and executing build constraints and policy constraints, wherein build constraints validate that a given workflow does not violate any runtime or activity assumptions which would most likely cause runtime exceptions and wherein policy constraints warn of potential issues including one or more of best practice violations, design guideline violations, or company policy violations. 10 . The computer readable medium of claim 9 , wherein the fourth plurality of interfaces comprises: an interface used for implementing a mechanism by which workflows can be validated against a set of constraints; an interface used for providing an interface between the interface used for implementing a mechanism by which workflows can be validated against a set of constraints and the validation constraint that a user wants to implement; an interface used for providing strongly typed, action class based sugar on the base class to enable a simpler experience for the constraint author; and an interface used for containing the message and error level information of a constraint failure. 11 . The computer readable medium of claim 1 , further comprising a fifth plurality of interfaces, wherein the fifth plurality of interfaces are used for defining and consuming tracking events. 12 . The computer readable medium of claim 11 , wherein the fifth plurality of interfaces comprises: an interface used for containing information about the runtime execution process of a continuation-based program; an interface used for that contains the state of an activity when a record is emitted, the Id of the activity, and values extracted from the running instance at the time the tracking record was emitted; an interface used for enlisting in a workflow transaction; and an interface used for implementing declarative definitions of filters against event type and the data that should to be queried from the workflow instance for a given event. 13 . The computer readable medium of claim 1 , further comprising a sixth plurality of interfaces, wherein the sixth plurality of interfaces are used for modeling communication with other systems by sending and receiving messages in and out of a workflow. 14 . The computer readable medium of claim 13 , wherein the sixth plurality of interfaces further include interfaces with functionality for

Assignees

Inventors

Classifications

  • G06F8/313Primary

    Logic programming, e.g. PROLOG programming language · CPC title

  • G06F8/30Primary

    Creation or generation of source code · 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 US2016274869A1 cover?
Interfaces for a continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime interface that pertain to an infrastructure for enabling the creation of a wide variety of continuation-based programs that perform a wide-array of tasks. The infrastructure provides a foundation for building continuation-based, declarative applications of …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/313. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).