摘要:
A system and method of using metrics to control throttling and swapping in a message processing system is provided. A workload status of a message processing system is determined, and the system polls for a new message according to the workload status. The message processing system identifies a blocked instance and calculates an expected idle time for the blocked instance. The system dehydrates the blocked instance if the expected idle time exceeds a predetermined threshold.
摘要:
Techniques and tools for reducing power consumption of computing devices (e.g., mobile devices such as mobile phones and tablet computers) that perform position tracking operations are described. In described examples, a low-power processor calculates (e.g., in real time) position information (e.g., GPS position fixes) based on information received from a positioning system (e.g., GPS) and stores the position information for later use in a buffer associated with the low-power processor (e.g., in storage on the low-power processor). Described examples allow position information to be calculated in real time and stored while the device is in a low-power state, and can be used with location-based applications that do not require position information to be delivered to the application in real time.
摘要:
Systems and methods for controlling the work load on a distributed system comprising a plurality of stages are provided. The capacity of a present stage is monitored, using either various resources of the present stage or rates of work completion and work receipt of the present stage. Information indicating the capacity of a succeeding stage are obtained and communicated to the present stage. The monitored capacity information of the present stage and the communicated information of the succeeding stage, either alone or in combination, are used to determine if a throttling action is necessary to control the load of work at the present stage. A provided throttling technique inserts an appropriate delay before the present stage to allow the present stage to process an amount of work without saturating the capacity of the present stage. This technique is applied at each stage of the distributed system to control the work load of the overall system by controlling the work load at each stage.
摘要:
An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure. The runtime infrastructure is tightly integrated with the underlying correlation and subscription evaluation framework.
摘要:
Systems and methods for reducing the latency incurred during the publication of a message in a message publication system are provided. In a message publication system wherein the publishing component and the receiving component are located within the same processing space, several of the latency components that are usually unavoidably incurred may be eliminated. In such a system, the messaging queue is not used as a medium between the two components but is instead used as a secondary back-up storage. This results in the elimination of one latency component as the message is directly published from the publishing component to the receiving component. Further time reductions or optimizations occur when the durability, or reliability, of the message publication is not a concern and the messaging queue can be completely disregarded. Yet another optimization occurs when the identity of the subscriber is known in advance by the publisher.
摘要:
Large messages in the form of hierarchically structured documents are processed in a streaming fashion using the ultimate consumer read requests as the driving force for the processing. The messages are partitioned into fixed length segments. The segments are processed in pipeline fashion. This processing chain includes simulating random access of hierarchical documents using stream transformations, mapping streams to a transport's native capabilities, composing streams into chains and using pipeline processing on the chains, staging fragments into a database and routing messages when complete messages have been formed, and providing tools to allow the end user to inspect partial messages.
摘要:
An XLANG/s compiler detects convoy scenarios during compilation and generates runtime directives to correctly correlate incoming messages with business process instances. A convoy scenario, present in event driven processes, is defined by a correlation set initialized during a receive operation which is provided to a subsequent receive operation. The compiler detects those convoy scenarios by analyzing the control and dataflow of a XLANG/s program. Three convoy patterns are distinguished: (1) activation convoys, (2) uniform sequential convoys, and (3) non-uniform sequential convoys. XLANG/s allows declarative descriptions of convoy scenarios without requiring an understanding of the low-level details supporting their correct execution. Convoy scenarios are processed by statically analyzing a written workflow application to deduce the nature and type of convoy scenarios used by the application. Information is extracted at compile time to support the runtime infrastructure. The runtime infrastructure is tightly integrated with the underlying correlation and subscription evaluation framework.
摘要:
A system and method of processing a message in an asynchronous architecture is provided. In the method, a determination is made that a response to a message sent by an instance of software code is to be received, where the response indicates whether the message succeeded or failed. Another determination is made as to whether the response has been received. If the response has not been received, the instance of the software code is stored in memory, thereby suspending the instance. The response is received, the instance resumed and the response is processed.
摘要:
A queue management system may store a queue of messages in a main queue. When a message is processed by an application, the message may be moved to a subqueue. In the subqueue, the message may be locked from other applications. After processing the message, the application may delete the message from the subqueue and complete the action required. If the application fails to respond in a timely manner, the message may be moved from the subqueue to the main queue and released for another application to service the message. If the application responds after the time out period, a fault may occur when the application attempts to delete the message from the subqueue. Such an arrangement allows a “peek and lock” functionality to be implemented using a subqueue.
摘要:
Embodiments are directed to promptly reestablishing communication between nodes in a dynamic computer network and dynamically maintaining an address list in an unstable network. A computer system sends a message to other message queuing nodes in a network, where each node in the message queuing network includes a corresponding persistent unique global identifier. The computer system maintains a list of unique global identifiers and the current network addresses of those network nodes from which the message queuing node has received a message or to which the message queuing node has sent a message. The computer system goes offline for a period of time and upon coming back online, sends an announcement message to each node maintained in the list indicating that the message queuing node is ready for communication in the message queuing network, where each message includes the destination node's globally unique identifier and the node's current network address.