Patents by Inventor Jackson M. Davis

Jackson M. Davis 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: 11734091
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Grant
    Filed: December 1, 2020
    Date of Patent: August 22, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jackson M. Davis, John A. Shepard
  • Publication number: 20210081264
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Application
    Filed: December 1, 2020
    Publication date: March 18, 2021
    Applicant: Microsoft Technology Licensing LLC
    Inventors: Jackson M. DAVIS, John A. SHEPARD
  • Patent number: 10872006
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Grant
    Filed: September 7, 2018
    Date of Patent: December 22, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jackson M. Davis, John A. Shepard
  • Patent number: 10325099
    Abstract: Production data is managed to avoid leakage of sensitive data. One or more of a number of techniques can be employed to discover sensitive data amongst production data. In one instance, data specified about production data in a production application, for example by way of an attribute, can be used to identify sensitive data. Sensitive production data can subsequently be masked to conceal sensitive data from view. Furthermore, metadata regarding sensitive data can be maintained.
    Type: Grant
    Filed: December 8, 2013
    Date of Patent: June 18, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Stephen J. Cook, Jackson M. Davis
  • Publication number: 20190073250
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Application
    Filed: September 7, 2018
    Publication date: March 7, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jackson M. Davis, John A. Shepard
  • Patent number: 10102048
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Grant
    Filed: April 22, 2016
    Date of Patent: October 16, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jackson M. Davis, John A. Shepard
  • Publication number: 20160239357
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Application
    Filed: April 22, 2016
    Publication date: August 18, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jackson M. Davis, John A. Shepard
  • Patent number: 9323592
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Grant
    Filed: March 8, 2010
    Date of Patent: April 26, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jackson M. Davis, John A. Shepard
  • 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
  • Publication number: 20150161397
    Abstract: Production data is managed to avoid leakage of sensitive data. One or more of a number of techniques can be employed to discover sensitive data amongst production data. In one instance, data specified about production data in a production application, for example by way of an attribute, can be used to identify sensitive data. Sensitive production data can subsequently be masked to conceal sensitive data from view. Furthermore, metadata regarding sensitive data can be maintained.
    Type: Application
    Filed: December 8, 2013
    Publication date: June 11, 2015
    Inventors: Stephen J. Cook, Jackson M. Davis
  • 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
  • Patent number: 8572438
    Abstract: Simultaneous debugging of code running in multiple types of runtime environment can be performed by an n-way interoperative debugging environment. Code running within a particular runtime can be debugged simultaneously with a code running within other runtimes within a single process. Out-of-process debugging support is provided for inspection and execution control. A compatible debugger or runtime communication protocol is used. Transitions from one runtime to another runtime can be detected. Exceptions thrown in one runtime can be caught by another runtime. Stepping operations can occur in multiple runtimes. A callstack including frames from multiple runtimes can be walked.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: October 29, 2013
    Assignee: Microsoft Corporation
    Inventors: Jackson M. Davis, Gregg Bernard Miskelly
  • Publication number: 20120331351
    Abstract: Simultaneous debugging of code running in multiple types of runtime environment can be performed by an n-way interoperative debugging environment. Code running within a particular runtime can be debugged simultaneously with a code running within other runtimes within a single process. Out-of-process debugging support is provided for inspection and execution control. A compatible debugger or runtime communication protocol is used. Transitions from one runtime to another runtime can be detected. Exceptions thrown in one runtime can be caught by another runtime. Stepping operations can occur in multiple runtimes. A callstack including frames from multiple runtimes can be walked.
    Type: Application
    Filed: June 24, 2011
    Publication date: December 27, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 7908580
    Abstract: A facility is provided for connecting with an application instance. In various embodiments, the facility starts an integrated development environment component, provides an identifier to the integrated development environment component so that the integrated development environment component can indicate the identifier when registering, locates the provided identifier in a registry, and connects to the identified process. The facility can include a running object table component that stores identifications of running application instances and their corresponding monikers, and an application having a provider component that can communicate with an integrated development environment component that, when started by the application, receives an identifier and registers the started integrated development environment with the running object table, the registration including the associated identifier so that the application can identify the started integrated development environment.
    Type: Grant
    Filed: September 7, 2006
    Date of Patent: March 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Paul Stubbs, Philo N. Nordlund, Jackson M. Davis, John A. Shepard
  • Publication number: 20100162266
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Application
    Filed: March 8, 2010
    Publication date: June 24, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Jackson M. Davis, John A. Shepard
  • Patent number: 7676811
    Abstract: A remote procedure call channel for interprocess communication in a managed code environment ensures thread-affinity on both sides of an interprocess communication. Using the channel, calls from a first process to a second process are guaranteed to run on a same thread in a target process. Furthermore, calls from the second process back to the first process will also always execute on the same thread. An interprocess communication manager that allows thread affinity and reentrancy is able to correctly keep track of the logical thread of execution so calls are not blocked in unmanaged hosts. Furthermore, both unmanaged and managed hosts are able to make use of transparent remote call functionality provided by an interprocess communication manager for the managed code environment.
    Type: Grant
    Filed: March 23, 2006
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Jackson M. Davis, John A. Shepard
  • Publication number: 20080127054
    Abstract: A facility is provided for connecting with an application instance. In various embodiments, the facility starts an integrated development environment component, provides an identifier to the integrated development environment component so that the integrated development environment component can indicate the identifier when registering, locates the provided identifier in a registry, and connects to the identified process. The facility can include a running object table component that stores identifications of running application instances and their corresponding monikers, and an application having a provider component that can communicate with an integrated development environment component that, when started by the application, receives an identifier and registers the started integrated development environment with the running object table, the registration including the associated identifier so that the application can identify the started integrated development environment.
    Type: Application
    Filed: September 7, 2006
    Publication date: May 29, 2008
    Applicant: Microsoft Corporation
    Inventors: Paul Stubbs, Philo N. Nordlund, Jackson M. Davis, John A. Shepard
  • Publication number: 20080127055
    Abstract: A facility is provided for enabling an application proxy that is capable of customizing an integrated development environment to execute in-process with the integrated development environment. In various embodiments, the facility loads a project file, determines whether the project file indicates an application proxy, and when the project file indicates an application proxy, loads the application proxy so that the application proxy can customize the integrated development environment based on configuration settings. In various embodiments, the facility includes a project file associated with an application, an application proxy component, and an integrated development environment that loads the application proxy component when loading the project file so that the application proxy component can handle communications between the integrated development environment and the application to customize the integrated development environment for use with the application.
    Type: Application
    Filed: September 7, 2006
    Publication date: May 29, 2008
    Applicant: Microsoft Corporation
    Inventors: Jackson M. Davis, Paul Stubbs, John A. Shepard