Patents by Inventor Paul Maybee
Paul Maybee has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10338962Abstract: 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.Type: GrantFiled: October 10, 2016Date of Patent: July 2, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee B. Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
-
Patent number: 10169199Abstract: Extensions to a debugger are identified in a debugger database which is read automatically when the debugger loads. The debugger watches for trigger events in its execution environment and optionally for load conditions in a debuggee program's internal state. If a trigger event occurs and a load condition is met, then the debugger automatically loads an extension for use. Some extensions provide debugging routines that are specifically designed to support debugging of applications which use a specific programming model.Type: GrantFiled: June 10, 2008Date of Patent: January 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Paul Maybee, Johan Marien, Brian Crawford, John Cunningham
-
Publication number: 20170024252Abstract: 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.Type: ApplicationFiled: October 10, 2016Publication date: January 26, 2017Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee B. Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
-
Patent number: 9471392Abstract: 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.Type: GrantFiled: July 14, 2008Date of Patent: October 18, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
-
Patent number: 8745596Abstract: The present disclosure simplifies programming debugging by dynamically injecting debugger compiled instrumentation into the debuggee process such that the debuggee process executes the instrumentation without executing the debugger. In one example method, the debugger controls compiling a description of the instrumentation as an instrumentation method. The debugger can then write the instrumentation method into the debuggee. The debuggee can save the state of a target method of the debuggee process at a predetermined location. The debuggee process calls the instrumentation method from the debuggee. In addition, the state of the target method can be restored and the resumed from the predetermined location after the instrumentation method executes.Type: GrantFiled: February 5, 2009Date of Patent: June 3, 2014Assignee: Microsoft CorporationInventor: Paul Maybee
-
Patent number: 8606843Abstract: 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.Type: GrantFiled: March 25, 2008Date of Patent: December 10, 2013Assignee: Microsoft CorporationInventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
-
Patent number: 8595702Abstract: Visual representations of multiple call stacks in a parallel programming system include a stack segments graph constructed by coalescing data from multiple stacks. The graph has nodes that represent stack segments and has arcs between adjacent segments. Similar stack frames are represented by the same node. In a stack prefix view of the graph, arcs are directed from a node representing stack frames to a node representing subsequently executed stack frames. In a method-centered view, an arc is shown between a node representing stack frames of a selected method and a node representing adjacent stack frames. The graph can be based on call stacks of all tasks or all threads, or based on call stacks of tasks or threads flagged by a user. Stack frame, thread, and/or task details are also displayed.Type: GrantFiled: March 13, 2009Date of Patent: November 26, 2013Assignee: Microsoft CorporationInventors: Paul Maybee, Daniel Moth, Johan Marien
-
Patent number: 8516498Abstract: 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.Type: GrantFiled: October 31, 2003Date of Patent: August 20, 2013Assignee: Microsoft CorporationInventors: Bimal Mehta, Paul Maybee, Lee Graber, Alexander Dadjomov, Jean-Emile Elien, Eldar Azerovich Musayev, Johannes Klein, Sanjib Saha, Kevin Bowen Smith
-
Patent number: 8429553Abstract: Technology is described for debugging in a multi-processor environment. An example system can include a plurality of process icons representing processes executing on compute nodes. A plurality of relationship arc icons between the process icons can represent messages being sent between source processes and destination processes on the compute nodes. A tabular display control can have rows to display attributes for relationship arc icons representing the messages being sent. In addition, a grouping module can be used to identify groups of messages that are related and to highlight relationship arc icons which are part of a group.Type: GrantFiled: November 12, 2010Date of Patent: April 23, 2013Assignee: Microsoft CorporationInventors: Paul Maybee, Daniel Moth
-
Patent number: 8412984Abstract: A technology is described for debugging in a cluster processing network. A scheduler can dispatch a process that is part of the cluster job for execution. Further, a compute node can be used to execute the process dispatched by the scheduler to the compute node. A debugger can be activated in response to an unhandled suspension event in the process on the compute node. In addition, the debugger can send notification messages regarding the unhandled suspension event. A job monitor can receive a notification from the debugger that an unhandled suspension event has occurred. The notification can be displayed to a user via the job monitor.Type: GrantFiled: November 12, 2010Date of Patent: April 2, 2013Assignee: Microsoft CorporationInventors: Paul Maybee, Daniel Moth, Anitha Panapakkam
-
Publication number: 20120159444Abstract: The present invention extends to methods, systems, and computer program products for fusing debug information from different compiler stages. Embodiments of the invention fuse debug information from a plurality of different compile stages in a code generation process into a single set of debug information. The single set of debug information maps directly between instructions and symbols (e.g., source code) input to a first compile stage and instructions and symbols (e.g., machine code) output from a last compile stage.Type: ApplicationFiled: December 17, 2010Publication date: June 21, 2012Applicant: Microsoft CorporationInventors: Amit Kumar Agarwal, Travis Paul Dorschel, Paul Maybee
-
Publication number: 20120124504Abstract: Technology is described for debugging in a multi-processor environment. An example system can include a plurality of process icons representing processes executing on compute nodes. A plurality of relationship arc icons between the process icons can represent messages being sent between source processes and destination processes on the compute nodes. A tabular display control can have rows to display attributes for relationship arc icons representing the messages being sent. In addition, a grouping module can be used to identify groups of messages that are related and to highlight relationship arc icons which are part of a group.Type: ApplicationFiled: November 12, 2010Publication date: May 17, 2012Applicant: Microsoft CorporationInventors: Paul Maybee, Daniel Moth
-
Publication number: 20120124426Abstract: A technology is described for debugging in a cluster processing network. A scheduler can dispatch a process that is part of the cluster job for execution. Further, a compute node can be used to execute the process dispatched by the scheduler to the compute node. A debugger can be activated in response to an unhandled suspension event in the process on the compute node. In addition, the debugger can send notification messages regarding the unhandled suspension event. A job monitor can receive a notification from the debugger that an unhandled suspension event has occurred. The notification can be displayed to a user via the job monitor.Type: ApplicationFiled: November 12, 2010Publication date: May 17, 2012Applicant: Microsoft CorporationInventors: Paul Maybee, Daniel Moth, Anitha Panapakkam
-
Patent number: 8156476Abstract: A debugger enhancement provides a debug-task-provider interface whose implementation includes routines designed to support debugging of programs that contain tasks written for a specific programming model. Task creation hierarchies, individual task properties, resource dependencies, synchronization dependencies, and other information can be made accessible during debugging, through a model-independent interface. In a multithreaded environment, a mapping between tasks and threads is also available.Type: GrantFiled: June 10, 2008Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventors: Paul Maybee, Johan Marien, Roger Wolff, Feng Yuan, Brian Crawford, John Cunningham, Gregg Miskelly
-
Patent number: 8028007Abstract: 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.Type: GrantFiled: February 6, 2006Date of Patent: September 27, 2011Assignee: Microsoft CorporationInventors: Yossi Levanoni, Wei-Lun Lo, Sanjib Saha, Paul Maybee, Bimal Mehta, Lee Graber, Anandhi Somasekaran, Akash Sagar, Balinder Malhi, Allen Zhang, Siunie Sutjahjo
-
Publication number: 20100235815Abstract: Visual representations of multiple call stacks in a parallel programming system include a stack segments graph constructed by coalescing data from multiple stacks. The graph has nodes that represent stack segments and has arcs between adjacent segments. Similar stack frames are represented by the same node. In a stack prefix view of the graph, arcs are directed from a node representing stack frames to a node representing subsequently executed stack frames. In a method-centered view, an arc is shown between a node representing stack frames of a selected method and a node representing adjacent stack frames. The graph can be based on call stacks of all tasks or all threads, or based on call stacks of tasks or threads flagged by a user. Stack frame, thread, and/or task details are also displayed.Type: ApplicationFiled: March 13, 2009Publication date: September 16, 2010Applicant: Microsoft CorporationInventors: Paul Maybee, Daniel Moth, Johan Marien
-
Publication number: 20100199265Abstract: The present disclosure simplifies programming debugging by dynamically injecting debugger compiled instrumentation into the debuggee process such that the debuggee process executes the instrumentation without executing the debugger. In one example method, the debugger controls compiling a description of the instrumentation as an instrumentation method. The debugger can then write the instrumentation method into the debuggee. The debuggee can save the state of a target method of the debuggee process at a predetermined location. The debuggee process calls the instrumentation method from the debuggee. In addition, the state of the target method can be restored and the resumed from the predetermined location after the instrumentation method executes.Type: ApplicationFiled: February 5, 2009Publication date: August 5, 2010Applicant: MICROSOFT CORPORATIONInventor: Paul Maybee
-
Publication number: 20090307663Abstract: A debugger enhancement provides a debug-task-provider interface whose implementation includes routines designed to support debugging of programs that contain tasks written for a specific programming model. Task creation hierarchies, individual task properties, resource dependencies, synchronization dependencies, and other information can be made accessible during debugging, through a model-independent interface. In a multithreaded environment, a mapping between tasks and threads is also available.Type: ApplicationFiled: June 10, 2008Publication date: December 10, 2009Applicant: MICROSOFT CORPORATIONInventors: Paul Maybee, Johan Marien, Roger Wolff, Feng Yuan, Brian Crawford, John Cunningham, Gregg Miskelly
-
Publication number: 20090307652Abstract: Extensions to a debugger are identified in a debugger database which is read automatically when the debugger loads. The debugger watches for trigger events in its execution environment and optionally for load conditions in a debuggee program's internal state. If a trigger event occurs and a load condition is met, then the debugger automatically loads an extension for use. Some extensions provide debugging routines that are specifically designed to support debugging of applications which use a specific programming model.Type: ApplicationFiled: June 10, 2008Publication date: December 10, 2009Applicant: MICROSOFT CORPORATIONInventors: Paul Maybee, Johan Marien, Brian Crawford, John Cunningham
-
Publication number: 20080276238Abstract: 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.Type: ApplicationFiled: July 14, 2008Publication date: November 6, 2008Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith