Patents by Inventor Eric H. Feiveson

Eric H. Feiveson 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: 9208060
    Abstract: Systems, methods and computer program products are described that enable a diagnostic tool, such as a debugger, to evaluate an expression based on the state of a target program process where the expression to be evaluated includes a call to a first function that exists in the target program process but where evaluation of such first function requires evaluation of a second function that does not exist in the target program process. For an expression such as this, the diagnostic tool emulates execution of the first function within a process other than the target program process, such as within the diagnostic tool process. In other embodiments, the emulation capability of the diagnostic tool is leveraged to enable a user thereof to simulate a modification of the target program process without making actual changes to the target program process.
    Type: Grant
    Filed: May 30, 2014
    Date of Patent: December 8, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Patrick L. Nelson, Gregory B. Miskelly, Jackson M. Davis, Eric H. Feiveson, Azeemullah Khan
  • Publication number: 20150347269
    Abstract: Systems, methods and computer program products are described that enable a diagnostic tool, such as a debugger, to evaluate an expression based on the state of a target program process where the expression to be evaluated includes a call to a first function that exists in the target program process but where evaluation of such first function requires evaluation of a second function that does not exist in the target program process. For an expression such as this, the diagnostic tool emulates execution of the first function within a process other than the target program process, such as within the diagnostic tool process. In other embodiments, the emulation capability of the diagnostic tool is leveraged to enable a user thereof to simulate a modification of the target program process without making actual changes to the target program process.
    Type: Application
    Filed: May 30, 2014
    Publication date: December 3, 2015
    Applicant: Microsoft Corporation
    Inventors: Patrick L. Nelson, Gregory B. Miskelly, Jackson M. Davis, Eric H. Feiveson, Azeemullah Khan
  • Patent number: 8972955
    Abstract: An expression can be evaluated in a remote debugging environment with one single round trip across the network. An expression evaluator on a local machine can compile the expression into a language-independent intermediate language (IL) that encodes all the information needed to evaluate the expression in the absence of a symbol table. The IL can include instructions that manipulate state inside the debuggee process, as well as logical operations needed to process the information. The IL language can be turing complete so that any computation needed to determine the state to read and write and how the information gathered is to be combined can be performed. The IL can be sent to the remote computer and can be interpreted on the remote computer. The IL can be interpreted on the remote computer using a stack based mechanism, without the need to access symbolic information on the local computer.
    Type: Grant
    Filed: May 27, 2011
    Date of Patent: March 3, 2015
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Eric H. Feiveson, Jackson M. Davis, Gregg Bernard Miskelly
  • Publication number: 20120304156
    Abstract: An expression can be evaluated in a remote debugging environment with one single round trip across the network. An expression evaluator on a local machine can compile the expression into a language-independent intermediate language (IL) that encodes all the information needed to evaluate the expression in the absence of a symbol table. The IL can include instructions that manipulate state inside the debuggee process, as well as logical operations needed to process the information. The IL language can be turing complete so that any computation needed to determine the state to read and write and how the information gathered is to be combined can be performed. The IL can be sent to the remote computer and can be interpreted on the remote computer. The IL can be interpreted on the remote computer using a stack based mechanism, without the need to access symbolic information on the local computer.
    Type: Application
    Filed: May 27, 2011
    Publication date: November 29, 2012
    Applicant: Microsoft Corporation
    Inventors: Eric H. Feiveson, Jackson M. Davis, Gregg Bernard Miskelly
  • Patent number: 8171232
    Abstract: Instruction sets in computing environments may execute within one of several domains, such as a natively executing domain, an interpretively executing domain, and a debugging executing domain. These domains may store values in a shared region of memory in different ways. It may be difficult to perform operations on such values, particularly if a domain that generated a particular value cannot be identified or no longer exist, which may obstruct shared accessing of values and evaluative tasks such as stack walks. Instead, accessors may be associated with a stored value that perform various operations (such as low-level assembly instructions like Load, Store, and Compare) according to the standards of the value-generating domain, and domains may be configured to operate on the value through the accessors. This configuration may promote consistent accessing of values without having to identify or consult the value-generating domain or reconfiguring the instruction sets.
    Type: Grant
    Filed: December 18, 2008
    Date of Patent: May 1, 2012
    Assignee: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Gregg Bernard Miskelly, Richard Michael Byers, Eric H. Feiveson
  • Patent number: 8032900
    Abstract: A computer system that is configured to conduct communications between a client process and a server process is disclosed. To conduct such communications, an inter-process communication thread is initiated that is separate from a main client inter-process communication thread and operates to establish a connection with a server. A client communication port is created during the establishment of the connection with the server. One or more non-blocking asynchronous communications are transmitted to a server communication port. Responses to the one or more non-blocking asynchronous communications are awaited for receipt by the client communication port.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: October 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Mikhail V. Leonov, Eric H. Feiveson
  • Publication number: 20100161910
    Abstract: Instruction sets in computing environments may execute within one of several domains, such as a natively executing domain, an interpretively executing domain, and a debugging executing domain. These domains may store values in a shared region of memory in different ways. It may be difficult to perform operations on such values, particularly if a domain that generated a particular value cannot be identified or no longer exist, which may obstruct shared accessing of values and evaluative tasks such as stack walks. Instead, accessors may be associated with a stored value that perform various operations (such as low-level assembly instructions like Load, Store, and Compare) according to the standards of the value-generating domain, and domains may be configured to operate on the value through the accessors. This configuration may promote consistent accessing of values without having to identify or consult the value-generating domain or reconfiguring the instruction sets.
    Type: Application
    Filed: December 18, 2008
    Publication date: June 24, 2010
    Applicant: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Gregg Bernard Miskelly, Richard Michael Byers, Eric H. Feiveson
  • Publication number: 20080127206
    Abstract: Conducting client-server inter-process communications is disclosed. Such communications include initiating an inter-process communication thread that is separate from a main client inter-process communication thread, where the inter-process communication thread that is separate from the main client inter-process communication thread establishes a connection with a server. A client communication port is created during the establishment of the connection with the server. One or more non-blocking asynchronous communications are transmitted to a server communication port. Responses to the one or more non-blocking asynchronous communications are awaited for receipt by the client communication port.
    Type: Application
    Filed: August 2, 2006
    Publication date: May 29, 2008
    Applicant: Microsoft Corporation Microsoft Patent Group
    Inventors: Mikhail V. Leonov, Eric H. Feiveson