Patent application number | Description | Published |
20090112779 | Data scoping and data flow in a continuation based runtime - Described is a data model used in a continuation based runtime that executes activities. The data model provides for declaring parameters to define data flow direction (in, out or both in and out) with respect to activities. The model further allows for the declaring of variables to provide for data storing and sharing between activities that are in scope, based on a tree relationship between activities. In one aspect, an activity tree includes a topmost parent composite activity and at least one child activity of that topmost parent composite activity. Variables are associated with one or more composite activities of the tree, and the ancestral relationships between composite activities and (non-composite) child activities determine the in-scope access to variables. Arguments such as binding expressions may bind variables to an activity's parameters. | 04-30-2009 |
20090222794 | UNIFIED EXPRESSION AND LOCATION FRAMEWORK - Allowing a continuation based runtime to resolve different types of location expressions, value expressions, and/or locations. This may be accomplished using a different class for each particular type. The location expression classes may each have a common method used for all of the location expression classes. The value expression classes may each have a common method, and the locations may also each have a common method. This allows the resolution of such location and value expressions to be treated in a unified fashion regardless of the type of location expression, or the type of value expression. Also, the location may be treated in a unified manner regardless of the type of location. | 09-03-2009 |
20090260009 | CONTINUATION BASED RUNTIMES IN TRANSACTIONS - A continuation based runtime that participates in transactions that are not generated by the continuation based runtime, but rather are generated externally to the continuation based runtime. The continuation based runtime marshals in transaction data related to the pre-existing externally generated transaction. In one embodiment, the continuation based runtime itself may not do this, but perhaps may use a transaction enabled activity. Once the activity marshals in the data, the activity may request that the continuation based runtime enlist in the transaction, whereupon the continuation based runtime may then register and the transaction may be performed in the context of the continuation based runtime. | 10-15-2009 |
20100169862 | INTERFACE INFRASTRUCTURE FOR A CONTINUATION BASED RUNTIME - Namespace for continuation-based runtime. Some embodiments described herein are directed to a framework using continuation based runtime namespaces 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. In some embodiments, the associated application programming interfaces (APIs) are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility, and versionability. | 07-01-2010 |
20100242030 | PROVIDING EXECUTION CONTEXT IN CONTINUATION BASED RUNTIMES - In an embodiment, a computer system instantiates a parent activity configured for execution in a continuation based runtime. The parent activity includes various child activities configured to perform pulses of work. The parent activity is also configured to add execution properties to an execution context. The computer system adds execution properties to the parent activity's execution context to generate a modified execution context which includes execution properties that extend the functionality of the parent and child activities. The added execution properties include corresponding identifiers that identify the added execution properties. The computer system also executes the parent activity including the various child activities within the modified execution context in the continuation based runtime. The modified execution context includes the added execution properties that are available to the parent and any child activities during execution, where at least one child activity implements functionality provided by the added execution properties. | 09-23-2010 |
20100293538 | DYNAMIC PROGRAM UPDATING IN A CONTINUATION BASED RUNTIME - A computer system assigns a workflow version number to a first version of a continuation-based program. The program includes a workflow indicating when each of the program's activities is to be executed in a continuation-based runtime. The computer system stores the workflow version number in corresponding workflow instance state. The state indicates which workflow version number the workflow should be associated with. The computer system receives updates that are to be applied to the continuation-based program. The updates include an indication of which portions of the program are to be updated and an updated workflow version number. The system determines that the stored workflow version number is different than the received updated workflow version number and, based on the determination, maps the received updates from the workflow associated with the stored workflow version number to the updated workflow associated with the updated workflow version number in a revision map. | 11-18-2010 |
20100306778 | LOCALITY-BASED SCHEDULING IN CONTINUATION-BASED RUNTIMES - A computer system establishes an execution environment for executing activities in a continuation based runtime including instantiating an activity scheduler configured to perform the following: scheduling activities for execution in the CBR. The activity scheduler resolves the scheduled activity's arguments and variables prior to invoking the scheduled activity using the activity's unique context. The activity scheduler also determines, based on the activity's unique context, whether the scheduled activity comprises a work item that is to be queued at the top of the execution stack and, based on the determination, queues the work item to the execution stack. The computer system executes the work items of the scheduled activity as queued in the execution stack of the established execution environment in the CBR. | 12-02-2010 |
20110145826 | MECHANISM FOR PARTITIONING PROGRAM TREES INTO ENVIRONMENTS - Partitioning continuation based runtime programs. Embodiments may include differentiating activities of a continuation based runtime program between public children activities and implementation children activities. The continuation based runtime program is partitioned into visibility spaces. The visibility spaces have boundaries based on implementation children activities. The continuation based runtime program is partially processes at a visibility space granularity. | 06-16-2011 |
20120159424 | DISTRIBUTED APPLICATION MANIFEST - A method of creating a manifest for a distributed application is disclosed. Components and composites of components of the distributed application are described in a technology agnostic manner. The description includes a definition of the scalability of the composites of components. | 06-21-2012 |
20120222003 | DISTRIBUTED APPLICATION DEFINITION - A method of creating an application definition for a distributed application is disclosed. Constructs corresponding with a schema of the distributed application are defined in a declarative and technology agnostic manner. The constructs include the application definition, a module definition, and a component definition. Each construct includes metadata. | 08-30-2012 |
20120246613 | DISTRIBUTED COMPONENT MODEL - A distributed component model for creating a scalable and available distributed application is disclosed. The distributed component model provides for an application schema to be declaratively defined to include a module having a component. The schema includes a corresponding definition construct in a technology agnostic manner. The corresponding definition construct is declaratively defined to include metadata to control scaling and availability. | 09-27-2012 |
20120254109 | DISTRIBUTED COMPONENT RUNTIME - A method of creating a distributed application in a distributed component runtime is disclosed. An application schema including distributed modules is declaratively defined. Each module hosts a component having a corresponding logical address. Mapping the corresponding logical addresses to physical addresses at runtime virtualizes interactions between the components. | 10-04-2012 |
20120260227 | STATEFUL COMPONENT AUTHORING AND EXECUTION - A method for of authoring and executing stateful components for a distributed application is disclosed. An application schema for the distributed application is declaratively defined and includes a plurality of distributed modules. Each module hosts a set of stateful components co-located in a physical tier of a distributed environment having logic to manipulate state. The runtime supports partitioning the stateful components. Control flow opaqueness of component logic is banished in each of the stateful components, which would otherwise occur if state was externalized. | 10-11-2012 |
Patent application number | Description | Published |
20100070806 | TECHNOLOGIES FOR DETECTING ERRONEOUS RESUMPTIONS IN A CONTINUATION BASED RUNTIME - Technologies for enabling a continuation based runtime to accept or reject external stimulus and, in addition, to determine if an external stimulus may be valid for processing at a later point in execution. | 03-18-2010 |
20120297077 | TECHNOLOGIES FOR DETECTING ERRONEOUS RESUMPTIONS IN A CONTINUATION BASED RUNTIME - Technologies for enabling a continuation based runtime to accept or reject external stimulus and, in addition, to determine if an external stimulus may be valid for processing at a later point in execution. | 11-22-2012 |
20140181826 | DYNAMIC EXECUTION LOG IN A DISTRIBUTED SYSTEM - Scheduling and dispatching jobs for a plurality of different entities. A method includes receiving at a work coordinator, one or more actions associated with a job. The method further includes storing in a log at the work coordinator, keyed on a job key, state for the one or more actions and a list of the one or more actions. The method further includes making calls to one or more worker processes to cause the worker process to perform actions associated with the job. As a result of making calls to one or more worker processes, the method further includes receiving at least one of a change to the list of remaining actions or the state. | 06-26-2014 |
20140380323 | CONSISTENT MODELING AND EXECUTION OF TIME CONSTRUCTS IN BUSINESS PROCESSES - Embodiments are directed to executing a workflow using a virtualized clock and to ensuring idempotency and correctness among workflow processes. In one scenario, a computer system a computer system determines that a workflow session has been initialized. The workflow session runs as a set of episodes, where each episode includes one or more pulses of work that are performed when triggered by an event. Each workflow session is processed according to a virtualized clock that keeps a virtual session time for the workflow session. The computer system receives an event that includes an indication of the time the event was generated, and then accesses the received event to determine which pulses of work are to be performed as part of a workflow session episode. The computer system then executes the determined pulses of work according to the virtual session time indicated by the virtualized clock. | 12-25-2014 |