John Anthony Taylor, Bellevue US

John Anthony Taylor, Bellevue, WA US

Patent application number

Description

Published

20090064175

EFFICIENT MARSHALLING BETWEEN SOAP AND BUSINESS-PROCESS MESSAGES - A business process adapter converts a SOAP (Simple Object Access Protocol) message into a business process message. A body path and a node encoding type are defined for the business process adapter. And, when the SOAP message is received, the business process adaptor extracts the node of the SOAP message at the location defined by the body path and encodes the node according to the defined node encoding type. Additionally, the business process adapter converts a business process message into a SOAP message using a defined content encoding type and a defined format of the SOAP message. When the business process message is received from the business process management server, the business process adapter encodes the body of the business process message according to the defined content encoding type and generates the SOAP message from the encoded body according to the defined format.

03-05-2009

20090187627

IDENTIFYING AN APPROPRIATE CONNECTION POINT FOR CONNECTING TO AN APPLICATION LAYER SESSION - A multi-party application layer session, such as, for example, an electronic conference, is configured to make efficient use of resources associated with lower layer connections that connect computer systems participating in the multi-party application layer session. In response to receiving an invitation to join a multi-party application layer session, a joining computer system calculates a closeness metric value at least to one or more zones of the multi-party application layer session. A closeness metric value is calculated from measured and/or pre-configured characteristics of lower layer connections. The joining computer system identifies an application layer connection point within a specified threshold of closeness to the joining computer system. The joining computer system establishes an application layer connection to the identified application layer connection point. Accordingly, a joining computer system considers the characteristics of lower layer connections when determining where to connect to a multi-party application layer session.

07-23-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

20090300647

Canonicalization of Badly-Formed Messages - The canonicalization of input messages having application specific data into a canonical message format, regardless of whether those native messages are well-formed. When a message is accessed, as long as the message is processable, the message is canonicalized. If the native message is well-formed, then a canonical message is generated that includes the application specific data in a schema understood by the application. On the other hand, if the native message is not well-formed, the canonical message is generated in a manner that the canonical message may be used to access the raw bits of the message, and that includes sufficient information for some downstream processing to determine that the message was not well-formed. That downstream processing may optionally then perform compensatory actions to regain access to the application specific data, and may potentially use information from the canonicalized message to do so.

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

20100162264

SERVICE VIRTUALIZATION CONTAINER - Service virtualization containers to aggregate service functionality from a plurality of services into an apparent service exhibiting the aggregated functionality. A plurality of service implementations is assigned to a service virtualization container. The container selects some of the service operations from the service implementations. One or more message characteristics are assigned to the service operations in one or more routing tables. A message is received at a service endpoint different from the service endpoints of any of the service implementations. A determination is made of one or more message characteristics. The one or more routing tables are consulted to select a determined service operation based on the message characteristics. The message is routed to the selected service implementation. Embodiments may also include functionality for aggregating metadata from service implementations and providing metadata based on the aggregated metadata to clients requesting metadata from a service virtualization container.

06-24-2010

20100299678

DYNAMIC EVENT COLLECTION AND STRUCTURED STORAGE - In one embodiment, a computer system accesses an event associated with an activity, where the activity has been executed by a runtime as part of a software application. The runtime includes a software hook configured to listen for event stream operation indications from the user. The computer system tags the accessed event with an additional portion of identification information that uniquely identifies the executed activity. The computer system receives an event stream operation indication from the user indicating that event transmission for an identified event stream is to be dynamically enabled or disabled and identifies the user-indicated event stream using the tagged identification information. The computer system also dynamically performs the indicated event stream operation on the identified event stream according to the user's indication.

11-25-2010

20100306777

WORKFLOW MESSAGE AND ACTIVITY CORRELATION - Embodiments are directed to generating trace events that are configured to report an association between a workflow activity and a message. A computer system receives a message over a communication medium, where the workflow activity includes a unique workflow activity identifier (ID) that uniquely identifies the workflow activity. The message also includes a unique message ID that uniquely identifies the message. The computer system generates a trace event that includes a combination of the unique workflow activity ID and the unique message ID. The trace event is configured to report the association between the workflow activity and the message. The computer system also stores the generated trace event in a data store.

12-02-2010

20100318654

ROUTING OF POOLED MESSAGES VIA AN INTERMEDIARY - Message intermediation for multiple service instances, while allowing the service instance to control whether messages are processed under a transaction. The message intermediator chooses to dispatch messages among different backend service instances based on any routing rules. The message intermediator performs a peek-lock of message from a forward-end queue, and assigns the message to a service instance. The message is provided into a backward-end queue specific to the assigned service instance. The service instance may then process the message, perhaps under a transaction created at the service instance. Upon completion of processing, the message is deleted in the back-end queue, which causes the forward-end queue to delete the message under the same transaction created by the service instance. Whether or not this deletion at the forward-end is committed or rolled back depends on whether the transaction created at the service instance is committed or rolled back.

12-16-2010

20110093738

ERROR RECOVERY FOR APPLICATION-LEVEL INTERMEDIARIES - Error handling in the intermediation of one-way transacted messages. Rather than receiving an inbound message under a transaction, the intermediary performs a non-destructive exclusive read of the message from the source outside of a transaction. Routing logic is applied against the content of the message to determine a collection of message consumers to which a copy of the inbound message is to be sent. Then, under a transaction, the copy of the message is attempted to be sent to each destination. If a send of the copy fails, the transaction is rolled back, but the failure is recorded such that the same transmission mechanism is not, or is less likely to be, tried again in subsequent attempts. The principles may apply to a single message to be sent under the transaction, or to multiple messages to be sent under a single transaction.

04-21-2011

20130046877

ROUTING OF POOLED MESSAGES VIA AN INTERMEDIARY - Message intermediation for multiple service instances, while allowing the service instance to control whether messages are processed under a transaction. The message intermediator chooses to dispatch messages among different backend service instances based on any routing rules. The message intermediator performs a peek-lock of message from a forward-end queue, and assigns the message to a service instance. The message is provided into a backward-end queue specific to the assigned service instance. The service instance may then process the message, perhaps under a transaction created at the service instance. Upon completion of processing, the message is deleted in the back-end queue, which causes the forward-end queue to delete the message under the same transaction created by the service instance. Whether or not this deletion at the forward-end is committed or rolled back depends on whether the transaction created at the service instance is committed or rolled back.

02-21-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.