Patent application number | Description | Published |
20080291909 | MESSAGE DELIVERY DOWNGRADING ANNOTATIONS - Selectively modifying a message delivery requirement of a datagram message at an intermediary network node between an origin and a destination. A message delivery requirement is defined for a particular message. The message delivery guarantee defines how to transmit the particular message. A downgrading intent of the particular message is provided for the message at the origin. The downgrading intent of the particular message indicates that the message delivery requirement can be bypassed. The defined message delivery guarantee, the network delivery requirement, and the provided downgrading intent of the particular message are processed at the intermediate network node. The message delivery requirement of the particular message is ignored based on the provided downgrading intent. The message is delivered via a network protocol according to the provided downgrading intent. | 11-27-2008 |
20080294971 | TRANSPARENT ENVELOPE FOR XML MESSAGES - Transforming portions of a message to a destination via a communication protocol. A message is received. It is detected whether the received message includes an encoded envelope. The encoded envelope includes a stack defining parameters including information for handling the received message in an original format. If the received message includes the encoded envelope, the defined parameters are transformed to coded parameters in a common format. The coded parameters express the same information for handling the received message in the communication protocol. The encoded envelope is encapsulated in the received message, and the received message in the common format is delivered to the destination. If the received message does not include an encoded envelope, coded parameters are generated in the common format for the received message by encoding addressing information from the received message. The received message having the coded parameters in the common format is delivered to the destination. | 11-27-2008 |
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 |
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 |
20090271495 | TRANSPORT INDEPENDENT REDIRECTION - Transport independent redirection. If a client computing system were to request a service from a service computing system, the service may determine whether or not the client should request the service from yet another service. If the client should request the service from the other computing system, the original service (or its intermediary) generates and transmits a transport-independent redirect message to the client. The client may then issue the request to the new service specified in the redirect response. The redirect message is not limited to a particular type of transport protocol. In addition, the redirect may be made possible in any number of message exchange patterns, not just request-response. | 10-29-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 |
20090300652 | QUEUE DISPATCH USING DEFERRED ACKNOWLEDGEMENT - Dispatching an incoming message from a queue into message transfer session(s) from which message consumers may draw messages. The message is reversibly received from the queue, whereupon a context of a message is identified. If the context correlates to an existing message transfer session, the message is ultimately assigned to a message transfer session. If the context does not correlate to an existing message transfer session, a new message transfer session is created, and the message is assigned to that new message transfer session. Upon receiving an acknowledgement of successful processing of the message, the removal of the message from the queue-like communication medium is assured. Upon receiving an acknowledgement of unsuccessful processing of the message, the message is restored to the queue-like communication medium. | 12-03-2009 |
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 |
20110145684 | TRANSPARENT ENVELOPE FOR XML MESSAGES - Transforming portions of a message to a destination via a communication protocol. A message is received. It is detected whether the received message includes an encoded envelope. The encoded envelope includes a stack defining parameters including information for handling the received message in an original format. If the received message includes the encoded envelope, the defined parameters are transformed to coded parameters in a common format. The coded parameters express the same information for handling the received message in the communication protocol. The encoded envelope is encapsulated in the received message, and the received message in the common format is delivered to the destination. If the received message does not include an encoded envelope, coded parameters are generated in the common format for the received message by encoding addressing information from the received message. The received message having the coded parameters in the common format is delivered to the destination. | 06-16-2011 |
20110145685 | TRANSPARENT ENVELOPE FOR XML MESSAGES - Transforming portions of a message to a destination via a communication protocol. A message is received. It is detected whether the received message includes an encoded envelope. The encoded envelope includes a stack defining parameters including information for handling the received message in an original format. If the received message includes the encoded envelope, the defined parameters are transformed to coded parameters in a common format. The coded parameters express the same information for handling the received message in the communication protocol. The encoded envelope is encapsulated in the received message, and the received message in the common format is delivered to the destination. If the received message does not include an encoded envelope, coded parameters are generated in the common format for the received message by encoding addressing information from the received message. The received message having the coded parameters in the common format is delivered to the destination. | 06-16-2011 |
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 |
20130125136 | HOST AGNOSTIC MESSAGING IN A CONTINUATION BASED RUNTIME - Sending or receiving messages in a host agnostic way in a continuation based runtime. A method includes defining a contract between a continuation based runtime and host for sending or receiving a message. The contract defines one or more of: details about what should be included in the messages, operations for sending the message; operations for receiving the message, parameters for cancellation of inflight operations, or notifications about correlation information lifetime. The method further includes identifying a correlation handle. The correlation handle uniquely identifies an executing instance of an activity. The method further comprises identifying a bookmark. The bookmark defines where the continuation based runtime should resume after sending or receiving the message. The method further comprises calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the host and for the continuation based runtime to be correctly resumed. | 05-16-2013 |
20130159970 | CUSTOM COMPOUND TYPES IN DECLARATIVE PROGRAMS - The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input. | 06-20-2013 |
20140181305 | SCHEDULE BASED EXECUTION WITH EXTENSIBLE CONTINUATION BASED ACTIONS - Scheduling a scheduled and optionally periodic action in a remote based system. The method includes deploying an environment independent action to a remote based system. The action is limited to using a predetermined amount of resources and is limited to simple, non-cpu intensive orchestrations of network calls. The method further includes defining a schedule for the action to be executed. Calling the action at the remote based system based on the schedule in a processor independent fashion such that state of the action is maintained independent of the processor that the action is being executed on. | 06-26-2014 |
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 |
20140372974 | PROVIDING DESIGN TIME PROJECTIONS FOR A VISUAL PROGRAM - Embodiments are directed to presenting multiple projections of a declarative program and to presenting partial projections of a declarative program. In one scenario, a computer system establishes a declarative program that includes various artifacts. The computer system displays a first projection of the declarative program, which includes one or more elements of a workflow. The computer system then determines that an additional projection is to be displayed in addition to the first projection, and presents a second projection based on the artifacts of the declarative program. The second projection illustrates the artifacts in a form different than that shown in the first projection, and is presented in addition to the first projection. In some cases, the computer system further receives an input and edits the declarative program according to the received input. The edits to the declarative program are substantially lossless, and can be performed using partial or full projections. | 12-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 |