摘要:
A system and method for handling exceptions in a multi-threaded computing environment. Information, such as that relating to an error state or pertaining to the propagation history of an exception, is stored in a separate object from the exception object itself. The separate propagation information object is accessible to the plurality of threads that are used to execute a user task. The separate object allows rich diagnostic information pertaining to the exception and its propagation through multiple threads to be presented to the developer of the software.
摘要:
A system and method for handling exceptions in a multi-threaded computing environment. Information, such as that relating to an error state or pertaining to the propagation history of an exception, is stored in a separate object from the exception object itself. The separate propagation information object is accessible to the plurality of threads that are used to execute a user task. The separate object allows rich diagnostic information pertaining to the exception and its propagation through multiple threads to be presented to the developer of the software.
摘要:
A method of providing asynchronous programming support at run time for scope-based ambient state at a method call is disclosed. In response to the method call, an asynchronous method stack frame is created along with ambient state for the asynchronous method call. In one example of the method, a current frame of a method stack is captured. A new frame is instantiated by setting a previous reference of the new frame to the current frame and moving data from the previous frame into the current frame. One example of instantiating the new frame includes pushing the current frame onto the stack. In another example, the new frame is lazily created when changes have been made. A state machine used to transform the synchronously-created method into an asynchronous method is moved from a current state to a next state. The captured frame is restored.
摘要:
A method of providing asynchronous programming support at run time for scope-based ambient state at a method call is disclosed. In response to the method call, an asynchronous method stack frame is created along with ambient state for the asynchronous method call. In one example of the method, a current frame of a method stack is captured. A new frame is instantiated by setting a previous reference of the new frame to the current frame and moving data from the previous frame into the current frame. One example of instantiating the new frame includes pushing the current frame onto the stack. In another example, the new frame is lazily created when changes have been made. A state machine used to transform the synchronously-created method into an asynchronous method is moved from a current state to a next state. The captured frame is restored.
摘要:
The present invention extends to methods, systems, and computer program products for memory pinning through buffer encapsulation. Within a managed execution environment, a wrapper object encapsulates a memory buffer that is to be shared with a native routine executing in a native execution environment. The wrapper object manages operation of a memory manager on a memory heap corresponding to the memory buffer. The wrapper object includes a first function which sets a pin on the memory buffer and returns a pointer identifying the memory buffer. Setting the pin causes the memory manager to cease moving the memory buffer within the memory heap. The wrapper object also includes a second function which releases the pin on the memory buffer.
摘要:
A first in, first out queue uses a sequence of arrays to store elements in the queue. The arrays are constructed using a lock free queue, and within each array, a lock free mechanism may be used to enqueue and dequeue elements. Many embodiments may use atomic operations to ensure successful placement of elements in the queue, as well as remove elements from the queue. The atomic operations may be used within a loop until successful.
摘要:
The present invention extends to methods, systems, and computer program products for handling synchronous operations by means of asynchronous operations. Upon completion of an asynchronous operation, a state flag is accessed. The state flag indicates whether or not a sync-over-async wrapper/adapter requested execution of the asynchronous operation. The sync-over-async wrapper/adapter is currently blocked awaiting notice of completion of the asynchronous operation. Based on the state flag, results of the asynchronous operation are stored at a location accessible by the sync-over-async wrapper. A completion signal is sent to the sync-over-async wrapper.
摘要:
A first in, first out queue uses a sequence of arrays to store elements in the queue. The arrays are constructed using a lock free queue, and within each array, a lock free mechanism may be used to enqueue and dequeue elements. Many embodiments may use atomic operations to ensure successful placement of elements in the queue, as well as remove elements from the queue. The atomic operations may be used within a loop until successful.
摘要:
Methods and computer program products are disclosed for providing QoS for Web applications via an internet service application programming interface “ISAPI”) filter running on an internet information server, wherein the ISAPI filter uses a traffic control application programming interface to manage bandwidth for individual HTTP requests. Responses to HTTP requests can be prioritized based on policies defined by the Web application developer, wherein policy decisions may be made based on many different parameters, such as, for example, the IP address of the Web browser making the request, the type of browser being used, HTTP “cookies,” the uniform resource locator being requested, an authenticated user ID, or any other information that is exposed from the internet information server through server variables. The present invention accomplishes this with no modifications to the internet information server, and •with very minimal changes to the Web application.
摘要:
A software optimization system isolates an effect of a change in a control variable from effects of ongoing, unknown changes in other variables. The system discards effects due to noise so that effects of interest to a programmer are more easily visible. The software optimization system treats variations in one or more control variables and in the output of the system as signals. The system varies the control variable at a specific frequency unlikely to correlate with uncontrolled variations in external variables. The system uses digital signal processing (DSP) techniques to filter the output, isolating the frequency of the control variable variation. The system then compares the resulting filtered output to the input to determine the approximate effect of the variation in the control variable.