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: 10338962
    Abstract: 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: Grant
    Filed: October 10, 2016
    Date of Patent: July 2, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee B. Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
  • Patent number: 10169199
    Abstract: 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: Grant
    Filed: June 10, 2008
    Date of Patent: January 1, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul Maybee, Johan Marien, Brian Crawford, John Cunningham
  • Publication number: 20170024252
    Abstract: 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: Application
    Filed: October 10, 2016
    Publication date: January 26, 2017
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee B. Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
  • Patent number: 9471392
    Abstract: 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: Grant
    Filed: July 14, 2008
    Date of Patent: October 18, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith
  • Patent number: 8745596
    Abstract: 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: Grant
    Filed: February 5, 2009
    Date of Patent: June 3, 2014
    Assignee: Microsoft Corporation
    Inventor: Paul Maybee
  • Patent number: 8606843
    Abstract: 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: Grant
    Filed: March 25, 2008
    Date of Patent: December 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Bimal Mehta, Johannes Klein, Lee Graber, Paul Maybee, Sriram Balasubramanian, Sanjib Saha, Satish R. Thatte, Paul F. Ringseth
  • Patent number: 8595702
    Abstract: 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: Grant
    Filed: March 13, 2009
    Date of Patent: November 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth, Johan Marien
  • Patent number: 8516498
    Abstract: 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: Grant
    Filed: October 31, 2003
    Date of Patent: August 20, 2013
    Assignee: Microsoft Corporation
    Inventors: Bimal Mehta, Paul Maybee, Lee Graber, Alexander Dadjomov, Jean-Emile Elien, Eldar Azerovich Musayev, Johannes Klein, Sanjib Saha, Kevin Bowen Smith
  • Patent number: 8429553
    Abstract: 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: Grant
    Filed: November 12, 2010
    Date of Patent: April 23, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth
  • Patent number: 8412984
    Abstract: 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: Grant
    Filed: November 12, 2010
    Date of Patent: April 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth, Anitha Panapakkam
  • Publication number: 20120159444
    Abstract: 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: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Amit Kumar Agarwal, Travis Paul Dorschel, Paul Maybee
  • Publication number: 20120124504
    Abstract: 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: Application
    Filed: November 12, 2010
    Publication date: May 17, 2012
    Applicant: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth
  • Publication number: 20120124426
    Abstract: 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: Application
    Filed: November 12, 2010
    Publication date: May 17, 2012
    Applicant: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth, Anitha Panapakkam
  • Patent number: 8156476
    Abstract: 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: Grant
    Filed: June 10, 2008
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Paul Maybee, Johan Marien, Roger Wolff, Feng Yuan, Brian Crawford, John Cunningham, Gregg Miskelly
  • Patent number: 8028007
    Abstract: 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: Grant
    Filed: February 6, 2006
    Date of Patent: September 27, 2011
    Assignee: Microsoft Corporation
    Inventors: 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: 20100235815
    Abstract: 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: Application
    Filed: March 13, 2009
    Publication date: September 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth, Johan Marien
  • Publication number: 20100199265
    Abstract: 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: Application
    Filed: February 5, 2009
    Publication date: August 5, 2010
    Applicant: MICROSOFT CORPORATION
    Inventor: Paul Maybee
  • Publication number: 20090307663
    Abstract: 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: Application
    Filed: June 10, 2008
    Publication date: December 10, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul Maybee, Johan Marien, Roger Wolff, Feng Yuan, Brian Crawford, John Cunningham, Gregg Miskelly
  • Publication number: 20090307652
    Abstract: 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: Application
    Filed: June 10, 2008
    Publication date: December 10, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul Maybee, Johan Marien, Brian Crawford, John Cunningham
  • Publication number: 20080276238
    Abstract: 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: Application
    Filed: July 14, 2008
    Publication date: November 6, 2008
    Inventors: Yossi Levanoni, Sanjib Saha, Bimal Kumar Mehta, Paul Maybee, Lee Graber, Balasubramanian Sriram, Eldar Azerovich Musayev, Kevin Bowen Smith