Patent application number | Description | Published |
20090158283 | DECOUPLING STATIC PROGRAM DATA AND EXECUTION DATA - Persisting execution state of a continuation based runtime program. The continuation based runtime program includes static program data defining activities executed by the program. One or more of the activities are parent activities including sequences of child activities. The continuation based runtime program is loaded. A child activity to be executed is identified based on scheduling defined in a parent of the child activity in the continuation based runtime program. The child activity is sent to a continuation based runtime separate from one or more other activities in the continuation based runtime program. The child activity is executed at the continuation based runtime, creating an activity instance. Continuation state information is stored separate from the static program data by storing information about the activity instance separate from one or more other activities defined in the continuation based runtime program. | 06-18-2009 |
20090199208 | QUEUED MESSAGE DISPATCH - Embodiments described herein allow a service component author to write service components without having to handle incoming messages being received at any time. This may be facilitated by a message dispatch engine that dispatches messages from the incoming message queue only when the destination service component has indicated that it is ready to receive the message having that context. If the service component is not yet ready for the message, the message dispatch component may lock the message at least until the destination service component indicates that it is now ready to receive the message. Until that time, the message dispatch engine may ignore the locked message when finding messages to dispatch. | 08-06-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 |
20090222827 | CONTINUATION BASED DECLARATIVE DEFINITION AND COMPOSITION - Declarative definition and composition of activities of a continuation based runtime. When formulating such a declarative activity of a continuation-based runtime, the activity may be formulated in accordance with a declarative activity schema and include a properties portion that declaratively defines one or more interface parameters of the declarative activity, and a body portion that declaratively defines an execution behavior of the declarative activity. The declarative activities may be hierarchically structured such that a parent declarative activity may use one or more child activities to define its behavior, where one or more of the child activities may also be defined declaratively. | 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 |
20090300648 | Continuation-Based Runtime Callback Invocation - Activity callbacks in a continuation-based runtime. At framework-definition time, a framework activity is authored. The framework activity may have an environmental logic portion the processes input or output parameters whose values will be supplied to and/or received from an activity callback. The framework activity also includes a callback invocation portion that, during execution time, will actually provide parameter value(s) to and/or receive parameter value(s) from the activity callback. The framework activity serves as a framework that operates with any activity callback that has one or more characteristics. Such activity callbacks may not even be defined at framework-definition time. Instead, the framework activity may be used multiple times in the same applications, or in different applications to thereby provide core framework functionality, while allowing application developers to plug in activity callbacks that meet the custom needs of the application. | 12-03-2009 |
20100036859 | Message Exchange Pattern Rendezvous Abstraction - A rendezvous abstraction that is used to correlate messages within message exchange. The rendezvous abstraction may be instantiated to correlate messages regardless of the type of message exchange pattern, and regardless of the underlying protocols used to communication message. Messages exchanges of primitive protocols are modeled as unilateral message exchanges. The rendezvous abstraction is used to correlate messages of the unilateral message exchange, and serves as an abstraction that is used to represented the rendezvous point where the message of the message exchange pattern are handled. Accordingly, instead of focusing on the protocol-specific mechanisms for correlation, if even available, the application author may simply work with a standard rendezvous abstraction. | 02-11-2010 |
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 |
20100082753 | ROLE-INDEPENDENT CONTEXT EXCHANGE - Technologies for conversations between various parties, the conversations including context information that can be persisted to maintain the conversation when the parties or the communications media they communicate over operate intermittently. In such a conversation, any party can embed its view of the context into a message and any party can send the next message regardless of role and regardless of the underlying network, transport, or application message exchange pattern. Such technologies provide for durable services. | 04-01-2010 |
20100107177 | DISPATCH MECHANISM FOR COORDINATING APPLICATION AND COMMUNICATION MEDIUM STATE - The present invention extends to methods, systems, and computer program products for coordinating application state and communication medium state. Embodiments of the invention provide mechanisms by which a dispatcher can enable application code to coordinate changes in application state with the consumption of messages from a communication medium. The coordination can be automatic where the dispatcher performs the coordination, or manual, where the coordination is performed more expressly by application code. Embodiments also include mechanisms by which applications targeting an execution (e.g., continuation based) runtime may compose alternative state transitions in the application with a peek lock protocol. | 04-29-2010 |
20100153570 | ENVELOPE ATTACHMENT FOR MESSAGE CONTEXT - A system for aggregating context information for messages. The system includes a context container. The context container associates names with context values and metadata for context entries. The system further includes a network protocol component configured to read messages from a network transport, an encoder component configured translate messages from a raw format into a canonical message format. The canonical message format is an enveloped message containing an application payload and message metadata. The context container is associated with a message in the canonical format. The system further includes an extraction component configured to retrieve context from a native network transport protocol and insert the context values and metadata into the context container, a plurality of additional protocol components configured to add, remove, or modify entries in the context container, and one or more higher level application components configured to operate on the canonical message using the context entries. | 06-17-2010 |
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 |
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 |
20110078509 | INFERENCE OF CONTRACT USING DECLARATIVE PROGRAM DEFINITION - A declarative program definition. The definition is analyzed to produce an application contract that describes semantics for sending and receiving application messages during the successful execution of operations by the program. In addition, this analysis may also generate local behaviors associated with the local execution of the program. Alternatively or in addition, the analysis may infer secondary contracts regarding the sending and receiving of application messages, even though the full details of the secondary contracts are not present in the declarative program definition. For instance, the secondary contracts might include error contracts or consistency contracts. | 03-31-2011 |
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 |
20110153713 | OUT OF ORDER DURABLE MESSAGE PROCESSING - The dispatching of messages from an incoming message pool to service instance(s). Message are received non-destructively and exclusively from the incoming message pool. If a particular service instance receives a message out of order, the processing of the message is deferred without releasing the exclusivity in the incoming message queue. Thus, the target service instance may continue to process one or more other messages until the target service instance is ready to process one or more deferred messages. In this way, messages may be pulled from the incoming message queue for dispatch to service instance(s), while maintaining correct order of processing, even if messages do not arrive into the incoming message queue in the correct order. | 06-23-2011 |
20110231812 | WORKFLOW EXECUTION MODEL - Embodiments are directed to implementing a generalized workflow execution model configured to provide access to workflow elements. A computer system instantiates a generalized workflow execution model that provides access to workflow elements stored in a database that is connected to the workflow execution model. The workflow execution model includes the following: activity models that include both agents which are configured to express the control flow of the activity models and symbols which represent values usable by the activity models and metadata configured to identify the workflow execution model. The computer system also receives user input requesting workflow elements and accesses the database to provide the requested workflow elements using the generalized workflow execution model. | 09-22-2011 |
20120110204 | ENVELOPE ATTACHMENT FOR MESSAGE CONTEXT - A system for aggregating context information for messages includes a context container that associates names with context values and metadata for context entries. The system further includes a network protocol component configured to read messages from a network transport, an encoder component configured translate messages from a raw format into a canonical message format. The canonical message format is an enveloped message containing an application payload and message metadata. The context container is associated with a message in the canonical format. The system further includes an extraction component configured to retrieve context from a native network transport protocol and insert the context values and metadata into the context container, a plurality of additional protocol components configured to add, remove, or modify entries in the context container, and one or more higher level application components configured to operate on the canonical message using the context entries. | 05-03-2012 |
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 |
20130138751 | ROLE-INDEPENDENT CONTEXT EXCHANGE - Technologies for conversations between various parties, the conversations including context information that can be persisted to maintain the conversation when the parties or the communications media they communicate over operate intermittently. In such a conversation, any party can embed its view of the context into a message and any party can send the next message regardless of role and regardless of the underlying network, transport, or application message exchange pattern. Such technologies provide for durable services. | 05-30-2013 |
20130282681 | WORKFLOW EXECUTION MODEL - A generalized workflow execution model is configured to provide access to workflow elements. A computer system instantiates a generalized workflow execution model that provides access to workflow elements stored in a database that is connected to the workflow execution model. The workflow execution model includes the following: activity models that include both agents which are configured to express the control flow of the activity models and symbols which represent values usable by the activity models and metadata configured to identify the workflow execution model. The computer system also receives user input requesting workflow elements and accesses the database to provide the requested workflow elements using the generalized workflow execution model. | 10-24-2013 |
20140274402 | MATCHMAKING IN MULTIPLAYER GAMING - Embodiments that relate to systems and methods for grouping players into a multiplayer game session are provided. In one embodiment, a first match request for a multiplayer game session is received and includes one or more requested player attributes. A plurality of other match requests are received, with one being a second match request including one or more requested player attributes. The first and second match requests are matched based on the requested player attributes. A notification of the match is sent to a client device of the first requesting player, with the notification configured to be received while the client device runs a user session different from the multiplayer game session. The notification includes a selectable element configured to instantiate the multiplayer game session on the client device in place of a user session when the selectable element is selected. | 09-18-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 |